@charset "UTF-8";
.u-type--light {
  font-weight: 300;
}

.u-type--regular {
  font-weight: 400;
}

.u-type--medium {
  font-weight: 500;
}

.u-type--bold {
  font-weight: 700;
}

/* breakpoints */
.c-navigation__toggle {
  font-size: 16px;
}

.c-navigation {
  background-color: #da251d;
}
.c-navigation .file-type-icon-media-link > .component-content {
  display: -webkit-box;
  display: flex;
  cursor: pointer;
  -webkit-box-align: center;
          align-items: center;
}
.c-navigation .transit-app-container {
  display: none;
}
.c-navigation .c-nav-hamburger {
  display: none;
}
.c-navigation li:not(.c-navigation__list-item):not(.c-navigation__more-list-item) {
  display: none;
}
.c-navigation .row.column-splitter.o-grid {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
          flex-flow: row;
}
.c-navigation .c-link--redsm a {
  color: white;
}
.c-navigation .row.column-splitter > .header-fixed-col1 {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
  width: 150px;
}
.c-navigation .row.column-splitter > .header-fixed-col2 {
  width: calc(100vw - 150px);
}
.c-navigation .header-fixed-col2 > .row > .header-fixed-col2 {
  width: calc(100vw - 300px);
}
.c-navigation .row.column-splitter > .u-1\/3\@md {
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
}
.c-navigation, .c-navigation a {
  color: #ffffff;
  text-decoration: none;
}
.c-navigation .navigation-title {
  font-size: 1.4rem;
  margin-top: 5px;
  font-weight: 500;
  line-height: normal;
}
.c-navigation .navigation-icon--close {
  height: 27px;
  width: 24px;
}
.c-navigation.c-navigation--white {
  background-color: #ffffff;
}
.c-navigation.c-navigation--white, .c-navigation.c-navigation--white a {
  color: #000000;
}
.c-navigation.c-navigation--white svg {
  fill: black;
}
.c-navigation.c-navigation--white a:hover, .c-navigation.c-navigation--white a:focus {
  background-color: #ededed;
}
.c-navigation.c-navigation--white .c-navigation__list-item.active > a {
  background-color: #ededed;
}
.c-navigation.c-navigation--white .c-navigation__list-item > a:hover, .c-navigation.c-navigation--white .c-navigation__list-item > a:focus {
  background-color: #ededed;
}

.c-navigation__list {
  position: relative;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
          justify-content: center;
}
.c-navigation__list.iOS9 .c-navigation__list-item:not(:last-child) {
  max-width: 33%;
  word-break: break-word;
  -ms-hyphens: auto;
  hyphens: auto;
}

.c-navigation__list-item {
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
          flex-direction: column;
  text-align: left;
}
.c-navigation__list-item.active > a {
  background-color: #740000;
  border: none;
  border-bottom: 4px solid #ffffff;
}
.c-navigation__list-item > a {
  display: block;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  padding: 14px 8px 14px;
  min-height: 100%;
}
.c-navigation__list-item > a:hover, .c-navigation__list-item > a:focus {
  background-color: #740000;
  border: none;
  border-bottom: 4px solid #ffffff;
}
.c-navigation__list-item:last-child > a {
  height: 100%;
}

.c-navigation__more-list {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  background-color: #da251d;
  z-index: 11;
}
.c-navigation--white .c-navigation__more-list {
  background-color: #ffffff;
}

.c-navigation__more-list--open {
  display: block;
}

.c-navigation__parent--open {
  background-color: #740000;
}
.c-navigation--white .c-navigation__parent--open {
  background-color: #ededed;
}

.c-navigation__more-list {
  width: 280px;
}

.c-navigation__more-list-item {
  text-align: left;
}
.c-navigation__more-list-item > a {
  display: -webkit-box;
  display: flex;
  padding: 10px 16px;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
.c-navigation__more-list-item > a:hover, .c-navigation__more-list-item > a:focus {
  background-color: #a3001c;
  border: none;
}
.c-navigation__more-list-item > a > div {
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
}
.c-navigation--white .c-navigation__more-list-item > a {
  border-top: 1px solid #ededed;
}
.c-navigation__more-list-item > a .navigation-title {
  margin-top: 0;
}
.c-navigation__more-list-item > a .navigation-icon {
  margin-right: 16px;
}

@media (max-width: 1000px) {
  .c-navigation li:not(.c-navigation__list-item):not(.c-navigation__more-list-item) {
    display: block !important;
  }
  .c-navigation .file-type-icon-media-link > .component-content span {
    display: none !important;
  }
  .c-navigation .row.column-splitter > .header-fixed-col1:has(.file-type-icon-media-link) {
    -webkit-box-pack: end !important;
            justify-content: flex-end !important;
  }
  .c-navigation .ttc-main-navigation {
    display: none !important;
  }
  .c-navigation .row.column-splitter.o-grid {
    display: -webkit-box !important;
    display: flex !important;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: justify;
            justify-content: space-between;
  }
  .c-nav-hamburger {
    display: -webkit-box !important;
    display: flex !important;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: center;
            justify-content: center;
    margin: 0 20px 0 8px !important;
    gap: 8px;
  }
  .c-nav-hamburger a {
    flex-shrink: 0;
    line-height: 0;
  }
  .c-navigation .navigation-title {
    margin-top: 0;
  }
  .c-nav-hamburger__btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
            flex-direction: column;
    -webkit-box-pack: justify;
            justify-content: space-between;
    width: 39px;
    height: 36px;
    flex-shrink: 0;
  }
  .c-nav-hamburger__btn span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #ffffff;
    border-radius: 2px;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
    -webkit-transform-origin: center;
            transform-origin: center;
  }
  .c-nav-hamburger__btn.is-open span:nth-child(1) {
    -webkit-transform: translateY(9px) rotate(45deg);
            transform: translateY(9px) rotate(45deg);
  }
  .c-nav-hamburger__btn.is-open span:nth-child(2) {
    opacity: 0;
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
  }
  .c-nav-hamburger__btn.is-open span:nth-child(3) {
    -webkit-transform: translateY(-9px) rotate(-45deg);
            transform: translateY(-9px) rotate(-45deg);
  }
  .c-navigation--white .c-nav-hamburger__btn span {
    background-color: #000000;
  }
  .c-navigation__list {
    height: 72px;
  }
  .c-navigation__list li:last-child {
    height: 100%;
  }
  .c-navigation__list-item {
    -webkit-box-flex: 1;
            flex: 1 1 auto;
  }
  .c-navigation__list-item > a {
    padding: 16px 12%;
  }
  .c-navigation__toggle {
    padding: 0 !important;
    position: relative;
  }
  .c-navigation__toggle .navigation-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .c-navigation__toggle .navigation-title {
    display: none;
  }
  .c-navigation__list-item:last-child {
    -webkit-box-flex: 0;
            flex: 0 1 56px;
  }
  .c-navigation__more-list-item:last-child {
    -webkit-box-shadow: 0px 19px 34px rgba(0, 0, 0, 0.7);
            box-shadow: 0px 19px 34px rgba(0, 0, 0, 0.7);
  }
  .navigation-icon--open {
    height: 40px;
    width: 40px;
    max-width: 100%;
  }
  .c-navigation__list > li > a .navigation-title {
    max-width: 76px;
  }
  .c-navigation__parent--open .navigation-icon--close {
    display: block;
  }
  .c-navigation__parent--open .navigation-icon--open {
    display: none;
  }
  .c-navigation__more-list {
    width: 100%;
  }
  .c-header__open {
    position: relative;
    z-index: 9999;
  }
  .c-navigation__more-backdrop {
    visibility: hidden;
    opacity: 0;
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
  }
  .c-navigation__more-backdrop.c-navigation__more-backdrop--open {
    z-index: 9998;
    opacity: 1;
    visibility: visible;
  }
}
@media (max-width: 1000px) {
  .c-nav-overlay {
    width: 100%;
    height: 0;
    position: absolute;
    background-color: #da251d;
    overflow-y: auto;
    -webkit-transition: height 0.3s ease;
    transition: height 0.3s ease;
  }
  .c-nav-overlay.is-open {
    height: calc(100dvh - var(--nav-height, 40px));
  }
  .c-navigation--white .c-nav-overlay {
    background-color: #ffffff;
  }
  .c-nav-overlay .transit-app-container {
    width: 100%;
    height: 69px;
    position: sticky;
    bottom: 0px;
    font-family: system-ui;
    background: #da251d;
    display: -webkit-box !important;
    display: flex !important;
    border-top: 1px solid white;
    -webkit-box-align: center;
            align-items: center;
    padding: 10px 16px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    z-index: 20;
    -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  }
  .c-nav-overlay .transit-app-text {
    -webkit-box-flex: 1;
            flex: 1;
    min-width: 0;
    line-height: 1.15;
    margin: 10px;
  }
  .c-nav-overlay .transit-download-text {
    font-size: 14px;
    font-weight: 640;
    color: white;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .c-nav-overlay .transit-app-recomm {
    font-size: 13px;
    font-weight: 400;
    color: white;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin-top: 2px;
  }
  .c-nav-overlay .js-open-transit {
    height: 40px;
    min-width: 63px;
    padding: 0 16px;
    border-radius: 999px;
    background: white;
    color: #111827;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    -webkit-box-pack: center;
            justify-content: center;
    margin-left: 10px;
  }
  .c-nav-search-overlay__hint span {
    display: none;
  }
  .c-nav-overlay__list {
    list-style: none;
    margin: 0;
    padding: 0;
    padding-bottom: calc(env(safe-area-insert-bottom, 0px));
  }
  .c-nav-overlay__item a {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
            align-items: center;
    padding: 16px 24px;
    color: #ffffff;
    text-decoration: none;
  }
  .c-nav-overlay__item a .navigation-icon {
    margin-right: 16px;
    flex-shrink: 0;
  }
  .c-nav-overlay__item a .navigation-title {
    font-weight: 500;
  }
  .c-navigation__list-item:not(:last-child) {
    -webkit-box-shadow: inset -1px 0 0 0 #740000;
            box-shadow: inset -1px 0 0 0 #740000;
  }
  .c-navigation--white .c-navigation__list-item:not(:last-child) {
    -webkit-box-shadow: inset -1px 0 0 0 #ededed;
            box-shadow: inset -1px 0 0 0 #ededed;
  }
  .navigation-icon--close {
    display: none;
  }
}
@media (max-width: 459px) {
  .c-navigation__list-item:last-child {
    -webkit-box-flex: 1;
            flex: 1 0 40px;
  }
  .c-navigation__list > li > a .navigation-title {
    max-width: 100%;
  }
  .c-navigation__list-item > a {
    padding: 16px 6px;
  }
}
@media (min-width: 640px) {
  .c-navigation__parent--open {
    position: relative;
  }
  .c-navigation__parent--open::before {
    content: "";
    position: absolute;
    width: 0;
    height: 0;
    bottom: 9px;
    left: 50%;
    z-index: 12;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid #740000;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
  }
  .c-navigation--white .c-navigation__parent--open::before {
    border-bottom: 10px solid #ffffff;
  }
  .c-navigation__more-list {
    -webkit-filter: drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.5));
            filter: drop-shadow(0px 1px 10px rgba(0, 0, 0, 0.5));
  }
  .c-navigation__list-item {
    text-align: center;
  }
}
.u-overflow-hidden {
  overflow: hidden !important;
}

@media (min-width: 1000px) {
  .c-navigation .navigation-icon--close {
    display: none;
  }
  .c-navigation .ttc-main-navigation {
    border-left: 1px solid rgba(255, 255, 255, 0.3137254902);
    border-right: 1px solid rgba(255, 255, 255, 0.3137254902);
  }
  .c-navigation__list-item {
    position: relative;
  }
  .c-navigation__list-item > a {
    display: block;
    padding: 10px 35px;
    border-bottom: 4px solid #da251d;
  }
}
/* ═══════════════════════════════════════════════════
   SEARCH OVERLAY
   ═══════════════════════════════════════════════════ */
.c-nav-search-overlay__submit {
  position: absolute;
  right: 56px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border: none;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.16);
  color: rgba(255, 255, 255, 0.9);
  display: -webkit-box;
  display: flex;
  -webkit-box-align: center;
          align-items: center;
  -webkit-box-pack: center;
          justify-content: center;
  cursor: pointer;
  line-height: 0;
  -webkit-transition: background 0.2s ease, color 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease;
}
.c-nav-search-overlay__submit svg {
  width: 16px;
  height: 16px;
}
.c-nav-search-overlay__submit:hover, .c-nav-search-overlay__submit:focus {
  background: rgba(255, 255, 255, 0.24);
  color: #fff;
  outline: none;
}

.c-nav-search-overlay {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 10000;
  background: #da251d;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: max-height 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.c-nav-search-overlay.is-open {
  max-height: 420px;
  border-top: 1px solid rgba(255, 255, 255, 0.3137254902);
}

.c-nav-search-overlay__inner {
  max-width: 720px;
  margin: 0 auto;
  padding: 40px 24px 48px;
}

.c-nav-search-overlay__input-wrap {
  position: relative;
  margin-bottom: 20px;
}

.c-nav-search-overlay__icon {
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 25px;
  height: 25px;
  pointer-events: none;
  opacity: 0.6;
}
.c-nav-search-overlay__icon svg {
  width: 100%;
  height: 100%;
  fill: #fff;
}

.c-nav-search-overlay__input {
  width: 100%;
  padding: 18px 56px 18px 56px;
  font-size: 2rem;
  font-weight: 400;
  color: #fff;
  background: rgba(255, 255, 255, 0.12);
  border: 2px solid rgba(255, 255, 255, 0.25);
  border-radius: 12px;
  outline: none;
  -webkit-transition: border-color 0.25s ease, background 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: border-color 0.25s ease, background 0.25s ease, -webkit-box-shadow 0.25s ease;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, -webkit-box-shadow 0.25s ease;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}
.c-nav-search-overlay__input::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 400;
}
.c-nav-search-overlay__input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 400;
}
.c-nav-search-overlay__input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 400;
}
.c-nav-search-overlay__input::-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 400;
}
.c-nav-search-overlay__input::placeholder {
  color: rgba(255, 255, 255, 0.55);
  font-weight: 400;
}
.c-nav-search-overlay__input:focus {
  border-color: rgba(255, 255, 255, 0.6);
  background: rgba(255, 255, 255, 0.18);
  -webkit-box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.1);
          box-shadow: 0 0 0 4px rgba(255, 255, 255, 0.1);
}

.c-nav-search-overlay__close {
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  line-height: 0;
  opacity: 0.5;
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, -webkit-transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease;
  transition: opacity 0.2s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}
.c-nav-search-overlay__close svg {
  width: 20px;
  height: 20px;
  fill: #fff;
}
.c-nav-search-overlay__close:hover, .c-nav-search-overlay__close:focus {
  opacity: 1;
  -webkit-transform: translateY(-50%) scale(1.15);
          transform: translateY(-50%) scale(1.15);
}

.c-nav-search-overlay__hint {
  text-align: center;
  color: rgba(255, 255, 255, 0.42);
  font-size: 1.5rem;
  margin-top: 4px;
  letter-spacing: 0.02em;
  font-family: inherit;
}
.c-nav-search-overlay__hint kbd {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  padding: 1px 6px;
  font-family: inherit;
}

.c-nav-search-results {
  margin-top: 16px;
  max-height: 200px;
  overflow-y: auto;
}

.c-nav-search-results__item {
  display: block;
  padding: 12px 16px;
  color: #fff;
  text-decoration: none;
  border-radius: 8px;
  -webkit-transition: background 0.2s ease;
  transition: background 0.2s ease;
}
.c-nav-search-results__item:hover, .c-nav-search-results__item:focus {
  background: rgba(255, 255, 255, 0.1);
}

/* ═══════════════════════════════════════════════════
   SHARED panel backdrop
   ═══════════════════════════════════════════════════ */
.c-nav-panel-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.35s ease, visibility 0.35s ease;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.c-nav-panel-backdrop.is-visible {
  opacity: 1;
  visibility: visible;
}

/* ═══════════════════════════════════════════════════
   RESPONSIVE — mobile adjustments
   ═══════════════════════════════════════════════════ */
@media (max-width: 1000px) {
  .c-nav-search-overlay__inner {
    padding: 28px 16px 36px;
  }
  .c-nav-search-overlay__icon {
    width: 25px;
    height: 25px;
  }
  .c-nav-search-overlay__input {
    font-size: 1.7rem;
    padding: 14px 48px 14px 48px;
  }
  .c-nav-translate__grid {
    grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
    gap: 8px;
  }
  .c-nav-translate__inner {
    padding: 24px 16px 32px;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudC1uYXZpZ2F0aW9uLmNzcyIsImFic3RyYWN0cy92YXJzL190eXBlLWNsYXNzZXMuc2NzcyIsImFic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJjb21wb25lbnQtbmF2aWdhdGlvbi5zY3NzIiwiYWJzdHJhY3RzL3ZhcnMvX3RyYW5zaXRpb25zLnNjc3MiLCJhYnN0cmFjdHMvbWl4aW5zL19zYXNzLW1xLW1vZC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQ0daO0VBQ0ksZ0JBQUE7QUREUjs7QUNBSTtFQUNJLGdCQUFBO0FER1I7O0FDSkk7RUFDSSxnQkFBQTtBRE9SOztBQ1JJO0VBQ0ksZ0JBQUE7QURXUjs7QUVTQSxnQkFBQTtBQ0pBO0VBQ0ksZUFBQTtBSERKOztBR0lBO0VBQ0kseUJBakJnQjtBSGdCcEI7QUdHSTtFQUNJLG9CQUFBO0VBQUEsYUFBQTtFQUNBLGVBQUE7RUFDQSx5QkFBQTtVQUFBLG1CQUFBO0FIRFI7QUdJSTtFQUNJLGFBQUE7QUhGUjtBR01JO0VBQ0ksYUFBQTtBSEpSO0FHT0k7RUFDSSxhQUFBO0FITFI7QUdRSTtFQUNJLDhCQUFBO0VBQUEsNkJBQUE7VUFBQSxjQUFBO0FITlI7QUdTSTtFQUNJLFlBQUE7QUhQUjtBR1VJO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0Esd0JBQUE7VUFBQSx1QkFBQTtFQUNBLFlBQUE7QUhSUjtBR1dJO0VBQ0ksMEJBQUE7QUhUUjtBR1lJO0VBQ0ksMEJBQUE7QUhWUjtBR2FJO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0Esd0JBQUE7VUFBQSx1QkFBQTtBSFhSO0FHY0k7RUFDSSxjQWpFVTtFQWtFVixxQkFBQTtBSFpSO0FHZUk7RUFFSSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0FIZFI7QUdtQkk7RUFDSSxZQUFBO0VBQ0EsV0FBQTtBSGpCUjtBR29CSTtFQUNJLHlCQXJGVTtBSG1FbEI7QUdvQlE7RUFDSSxjQXZGTTtBSHFFbEI7QUdxQlE7RUFDSSxXQUFBO0FIbkJaO0FHdUJZO0VBQ0kseUJBL0ZNO0FIMEV0QjtBRzBCWTtFQUNJLHlCQXJHTTtBSDZFdEI7QUc0QmdCO0VBQ0kseUJBMUdFO0FIZ0Z0Qjs7QUdpQ0E7RUFDSSxrQkFBQTtFQUNBLG9CQUFBO0VBQUEsYUFBQTtFQUNBLHdCQUFBO1VBQUEsdUJBQUE7QUg5Qko7QUdpQ1E7RUFDSSxjQUFBO0VBQ0Esc0JBQUE7RUFHQSxpQkFBQTtFQUNBLGFBQUE7QUgvQlo7O0FHb0NBO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0EsNEJBQUE7RUFBQSw2QkFBQTtVQUFBLHNCQUFBO0VBQ0EsZ0JBQUE7QUhqQ0o7QUdtQ0k7RUFFSSx5QkF4SWlCO0VBeUlqQixZQUFBO0VBQ0EsZ0NBQUE7QUhsQ1I7QUdxQ0k7RUFDSSxjQUFBO0VBQ0EseUNDekpZO0VEeUpaLGlDQ3pKWTtFRDBKWixzQkFBQTtFQUNBLGdCQUFBO0FIbkNSO0FHcUNRO0VBQ0kseUJBcEphO0VBcUpiLFlBQUE7RUFDQSxnQ0FBQTtBSG5DWjtBR3dDUTtFQUNJLFlBQUE7QUh0Q1o7O0FHMkNBO0VBQ0ksYUFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLFFBQUE7RUFDQSx5QkExS2dCO0VBMktoQixXQUFBO0FIeENKO0FHMENJO0VBQ0kseUJBN0tVO0FIcUlsQjs7QUc0Q0E7RUFDSSxjQUFBO0FIekNKOztBRzRDQTtFQUNJLHlCQW5McUI7QUgwSXpCO0FHMkNJO0VBQ0kseUJBdkxjO0FIOEl0Qjs7QUc2Q0E7RUFDSSxZQUFBO0FIMUNKOztBRzZDQTtFQUNJLGdCQUFBO0FIMUNKO0FHNENJO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSx5Q0M5TVk7RUQ4TVosaUNDOU1ZO0FKb0twQjtBRzRDUTtFQUNJLHlCQXRNZTtFQXVNZixZQUFBO0FIMUNaO0FHNkNRO0VBQ0ksb0JBQUE7RUFBQSxhQUFBO0VBQ0EseUJBQUE7VUFBQSxtQkFBQTtBSDNDWjtBRzhDUTtFQUNJLDZCQUFBO0FINUNaO0FHK0NRO0VBQ0ksYUFBQTtBSDdDWjtBR2dEUTtFQUNJLGtCQXBORTtBSHNLZDs7QUdtREE7RUFFSTtJQUNJLHlCQUFBO0VIakROO0VHc0RNO0lBQ0ksd0JBQUE7RUhwRFY7RUd1RE07SUFDSSxnQ0FBQTtZQUFBLG9DQUFBO0VIckRWO0VHeURNO0lBQ0ksd0JBQUE7RUh2RFY7RUcyRE07SUFDSSwrQkFBQTtJQUFBLHdCQUFBO0lBQ0EseUJBQUE7WUFBQSxtQkFBQTtJQUNBLHlCQUFBO1lBQUEsOEJBQUE7RUh6RFY7RUc4REU7SUFDSSwrQkFBQTtJQUFBLHdCQUFBO0lBQ0EseUJBQUE7WUFBQSxtQkFBQTtJQUNBLHdCQUFBO1lBQUEsdUJBQUE7SUFDQSwrQkFBQTtJQUNBLFFBOVBNO0VIa01aO0VHOERNO0lBQ0ksY0FBQTtJQUNBLGNBQUE7RUg1RFY7RUdnRUU7SUFDSSxhQUFBO0VIOUROO0VHaUVFO0lBQ0ksZ0JBQUE7SUFDQSxZQUFBO0lBQ0EsZUFBQTtJQUNBLFlBQUE7SUFDQSxvQkFBQTtJQUFBLGFBQUE7SUFDQSw0QkFBQTtJQUFBLDZCQUFBO1lBQUEsc0JBQUE7SUFDQSx5QkFBQTtZQUFBLDhCQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSxjQUFBO0VIL0ROO0VHaUVNO0lBQ0ksY0FBQTtJQUNBLFdBQUE7SUFDQSxXQUFBO0lBQ0EseUJBaFNNO0lBaVNOLGtCQUFBO0lBQ0EseUNDelNRO0lEeVNSLGlDQ3pTUTtJRDBTUixnQ0FBQTtZQUFBLHdCQUFBO0VIL0RWO0VHbUVVO0lBQ0ksZ0RBQUE7WUFBQSx3Q0FBQTtFSGpFZDtFR29FVTtJQUNJLFVBQUE7SUFDQSw0QkFBQTtZQUFBLG9CQUFBO0VIbEVkO0VHcUVVO0lBQ0ksa0RBQUE7WUFBQSwwQ0FBQTtFSG5FZDtFR3dFVTtJQUNJLHlCQXRURTtFSGdQaEI7RUcyRUU7SUFDSSxZQUFBO0VIekVOO0VHMkVNO0lBQ0ksWUFBQTtFSHpFVjtFRzZFRTtJQUNJLG1CQUFBO1lBQUEsY0FBQTtFSDNFTjtFRzZFTTtJQUNJLGlCQUFBO0VIM0VWO0VHK0VFO0lBQ0kscUJBQUE7SUFDQSxrQkFBQTtFSDdFTjtFRytFTTtJQUNJLGtCQUFBO0lBQ0EsUUFBQTtJQUNBLFNBQUE7SUFDQSx3Q0FBQTtZQUFBLGdDQUFBO0VIN0VWO0VHZ0ZNO0lBQ0ksYUFBQTtFSDlFVjtFR2tGRTtJQUNJLG1CQUFBO1lBQUEsY0FBQTtFSGhGTjtFR21GRTtJQUNJLG9EQUFBO1lBQUEsNENBQUE7RUhqRk47RUdvRkU7SUFDSSxZQUFBO0lBQ0EsV0FBQTtJQUNBLGVBQUE7RUhsRk47RUdzRk07SUFDSSxlQUFBO0VIcEZWO0VHeUZNO0lBQ0ksY0FBQTtFSHZGVjtFRzBGTTtJQUNJLGFBQUE7RUh4RlY7RUc0RkU7SUFDSSxXQUFBO0VIMUZOO0VHNkZFO0lBQ0ksa0JBQUE7SUFDQSxhQUFBO0VIM0ZOO0VHOEZFO0lBQ0ksa0JBQUE7SUFDQSxVQUFBO0lBQ0Esb0NBallhO0lBa1liLGVBQUE7SUFDQSxNQUFBO0lBQ0EsU0FBQTtJQUNBLFFBQUE7SUFDQSxPQUFBO0VINUZOO0VHOEZNO0lBQ0ksYUFBQTtJQUNBLFVBQUE7SUFDQSxtQkFBQTtFSDVGVjtBQUNGO0FHZ0dBO0VBQ0k7SUFDSSxXQUFBO0lBQ0EsU0FBQTtJQUNBLGtCQUFBO0lBQ0EseUJBM1pZO0lBNFpaLGdCQUFBO0lBQ0Esb0NBQUE7SUFBQSw0QkFBQTtFSDlGTjtFR2dHTTtJQUNJLDhDQUFBO0VIOUZWO0VHaUdNO0lBQ0kseUJBbmFNO0VIb1VoQjtFR2tHTTtJQUNJLFdBQUE7SUFDQSxZQUFBO0lBQ0EsZ0JBQUE7SUFDQSxXQUFBO0lBQ0Esc0JBQUE7SUFDQSxtQkFBQTtJQUNBLCtCQUFBO0lBQUEsd0JBQUE7SUFDQSwyQkFBQTtJQUNBLHlCQUFBO1lBQUEsbUJBQUE7SUFDQSxrQkFBQTtJQUNBLDhCQUFBO1lBQUEsc0JBQUE7SUFDQSxXQUFBO0lBQ0EsaURBQUE7WUFBQSx5Q0FBQTtFSGhHVjtFR21HTTtJQUNJLG1CQUFBO1lBQUEsT0FBQTtJQUNBLFlBQUE7SUFDQSxpQkFBQTtJQUNBLFlBQUE7RUhqR1Y7RUdvR007SUFDSSxlQUFBO0lBQ0EsZ0JBQUE7SUFDQSxZQUFBO0lBQ0EsbUJBQUE7SUFDQSxnQkFBQTtJQUNBLHVCQUFBO0VIbEdWO0VHcUdNO0lBQ0ksZUFBQTtJQUNBLGdCQUFBO0lBQ0EsWUFBQTtJQUNBLG1CQUFBO0lBQ0EsZ0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7RUhuR1Y7RUdzR007SUFDSSxZQUFBO0lBQ0EsZUFBQTtJQUNBLGVBQUE7SUFDQSxvQkFBQTtJQUNBLGlCQUFBO0lBQ0EsY0FBQTtJQUNBLGVBQUE7SUFDQSxnQkFBQTtJQUNBLHFCQUFBO0lBQ0Esb0JBQUE7SUFBQSxhQUFBO0lBQ0EseUJBQUE7WUFBQSxtQkFBQTtJQUNBLHdCQUFBO1lBQUEsdUJBQUE7SUFDQSxpQkFBQTtFSHBHVjtFR3dHRTtJQUNJLGFBQUE7RUh0R047RUd5R0U7SUFDSSxnQkFBQTtJQUNBLFNBQUE7SUFDQSxVQUFBO0lBQ0EsdURBQUE7RUh2R047RUc2R007SUFDSSxvQkFBQTtJQUFBLGFBQUE7SUFDQSx5QkFBQTtZQUFBLG1CQUFBO0lBQ0Esa0JBQUE7SUFDQSxjQW5mTTtJQW9mTixxQkFBQTtFSDNHVjtFRzZHVTtJQUNJLGtCQS9lRjtJQWdmRSxjQUFBO0VIM0dkO0VHOEdVO0lBQ0ksZ0JBQUE7RUg1R2Q7RUdpSEU7SUFDSSw0Q0FBQTtZQUFBLG9DQUFBO0VIL0dOO0VHaUhNO0lBQ0ksNENBQUE7WUFBQSxvQ0FBQTtFSC9HVjtFR21IRTtJQUNJLGFBQUE7RUhqSE47QUFDRjtBSzFLUTtFRitSSjtJQUNJLG1CQUFBO1lBQUEsY0FBQTtFSGxITjtFR3NITTtJQUNJLGVBQUE7RUhwSFY7RUd5SE07SUFDSSxpQkFBQTtFSHZIVjtBQUNGO0FLckxRO0VGaVRKO0lBQ0ksa0JBQUE7RUh6SE47RUcySE07SUFDSSxXQUFBO0lBQ0Esa0JBQUE7SUFDQSxRQUFBO0lBQ0EsU0FBQTtJQUNBLFdBQUE7SUFDQSxTQUFBO0lBQ0EsV0FBQTtJQUNBLG1DQUFBO1lBQUEsMkJBQUE7SUFDQSxtQ0FBQTtJQUNBLG9DQUFBO0lBQ0EsaUNBQUE7SUFDQSx5Q0N2akJRO0lEdWpCUixpQ0N2akJRO0VKOGJsQjtFRzJIVTtJQUNJLGlDQUFBO0VIekhkO0VHOEhFO0lBQ0ksNERBQUE7WUFBQSxvREFBQTtFSDVITjtFRytIRTtJQUVJLGtCQUFBO0VIOUhOO0FBQ0Y7QUdpSUE7RUFDSSwyQkFBQTtBSC9ISjs7QUdtSUE7RUFJUTtJQUNJLGFBQUE7RUhuSVY7RUdzSU07SUFDSSx3REFBQTtJQUNBLHlEQUFBO0VIcElWO0VHMElFO0lBQ0ksa0JBQUE7RUh4SU47RUcwSU07SUFDSSxjQUFBO0lBRUEsa0JBQUE7SUFDQSxnQ0FBQTtFSHpJVjtBQUNGO0FHNklBOzt3REFBQTtBQUlBO0VBQ0ksa0JBQUE7RUFDQSxXQUFBO0VBQ0EsUUFBQTtFQUNBLG1DQUFBO1VBQUEsMkJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLHFDQUFBO0VBQ0EsK0JBQUE7RUFDQSxvQkFBQTtFQUFBLGFBQUE7RUFDQSx5QkFBQTtVQUFBLG1CQUFBO0VBQ0Esd0JBQUE7VUFBQSx1QkFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0EseURBQUE7RUFBQSxpREFBQTtBSDVJSjtBRzhJSTtFQUNJLFdBQUE7RUFDQSxZQUFBO0FINUlSO0FHK0lJO0VBRUkscUNBQUE7RUFDQSxXQUFBO0VBQ0EsYUFBQTtBSDlJUjs7QUdrSkE7RUFDSSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxtQkFBQTtFQUNBLGFBQUE7RUFDQSxnQkFBQTtFQUNBLDZHQUFBO0VBQUEscUdBQUE7QUgvSUo7QUdpSkk7RUFDSSxpQkFBQTtFQUNBLHVEQUFBO0FIL0lSOztBR21KQTtFQUNJLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLHVCQUFBO0FIaEpKOztBR21KQTtFQUNJLGtCQUFBO0VBQ0EsbUJBQUE7QUhoSko7O0FHbUpBO0VBQ0ksa0JBQUE7RUFDQSxVQUFBO0VBQ0EsUUFBQTtFQUNBLG1DQUFBO1VBQUEsMkJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLG9CQUFBO0VBQ0EsWUFBQTtBSGhKSjtBR2tKSTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtBSGhKUjs7QUdvSkE7RUFDSSxXQUFBO0VBQ0EsNEJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EscUNBQUE7RUFDQSwyQ0FBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTtFQUNBLGlHQUFBO0VBQUEseUZBQUE7RUFBQSxpRkFBQTtFQUFBLGdIQUFBO0VBQ0Esd0JBQUE7RUFDQSxxQkFBQTtPQUFBLGdCQUFBO0FIakpKO0FHbUpJO0VBQ0ksZ0NBQUE7RUFDQSxnQkFBQTtBSGpKUjtBRytJSTtFQUNJLGdDQUFBO0VBQ0EsZ0JBQUE7QUhqSlI7QUcrSUk7RUFDSSxnQ0FBQTtFQUNBLGdCQUFBO0FIakpSO0FHK0lJO0VBQ0ksZ0NBQUE7RUFDQSxnQkFBQTtBSGpKUjtBRytJSTtFQUNJLGdDQUFBO0VBQ0EsZ0JBQUE7QUhqSlI7QUdvSkk7RUFDSSxzQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0RBQUE7VUFBQSw4Q0FBQTtBSGxKUjs7QUdzSkE7RUFDSSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsbUNBQUE7VUFBQSwyQkFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLFlBQUE7RUFDQSxrRUFBQTtFQUFBLDBEQUFBO0VBQUEsa0RBQUE7RUFBQSwrRUFBQTtBSG5KSjtBR3FKSTtFQUNJLFdBQUE7RUFDQSxZQUFBO0VBQ0EsVUFBQTtBSG5KUjtBR3NKSTtFQUVJLFVBQUE7RUFDQSwrQ0FBQTtVQUFBLHVDQUFBO0FIckpSOztBR3lKQTtFQUNJLGtCQUFBO0VBQ0EsZ0NBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxzQkFBQTtFQUNBLG9CQUFBO0FIdEpKO0FHd0pJO0VBQ0ksb0NBQUE7RUFDQSwwQ0FBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxvQkFBQTtBSHRKUjs7QUcwSkE7RUFDSSxnQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7QUh2Sko7O0FHMEpBO0VBQ0ksY0FBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSx3Q0FBQTtFQUFBLGdDQUFBO0FIdkpKO0FHeUpJO0VBRUksb0NBQUE7QUh4SlI7O0FHOEpBOzt3REFBQTtBQUlBO0VBQ0ksZUFBQTtFQUNBLFFBQUE7RUFDQSw4QkFBQTtFQUNBLGFBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSw2REFBQTtFQUFBLHFEQUFBO0FINUpKO0FHOEpJO0VBQ0ksVUFBQTtFQUNBLG1CQUFBO0FINUpSOztBR2lLQTs7d0RBQUE7QUFJQTtFQUNJO0lBQ0ksdUJBQUE7RUgvSk47RUdrS0U7SUFDSSxXQUFBO0lBQ0EsWUFBQTtFSGhLTjtFR21LRTtJQUNJLGlCQUFBO0lBQ0EsNEJBQUE7RUhqS047RUdvS0U7SUFDSSw0REFBQTtJQUNBLFFBQUE7RUhsS047RUdxS0U7SUFDSSx1QkFBQTtFSG5LTjtBQUNGIiwiZmlsZSI6ImNvbXBvbmVudC1uYXZpZ2F0aW9uLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi51LXR5cGUtLWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cblxuLnUtdHlwZS0tcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi51LXR5cGUtLW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi51LXR5cGUtLWJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4vKiBicmVha3BvaW50cyAqL1xuLmMtbmF2aWdhdGlvbl9fdG9nZ2xlIHtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uYy1uYXZpZ2F0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhMjUxZDtcbn1cbi5jLW5hdmlnYXRpb24gLmZpbGUtdHlwZS1pY29uLW1lZGlhLWxpbmsgPiAuY29tcG9uZW50LWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYy1uYXZpZ2F0aW9uIC50cmFuc2l0LWFwcC1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmMtbmF2aWdhdGlvbiAuYy1uYXYtaGFtYnVyZ2VyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jLW5hdmlnYXRpb24gbGk6bm90KC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSk6bm90KC5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uYy1uYXZpZ2F0aW9uIC5yb3cuY29sdW1uLXNwbGl0dGVyLm8tZ3JpZCB7XG4gIGZsZXgtZmxvdzogcm93O1xufVxuLmMtbmF2aWdhdGlvbiAuYy1saW5rLS1yZWRzbSBhIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuLmMtbmF2aWdhdGlvbiAucm93LmNvbHVtbi1zcGxpdHRlciA+IC5oZWFkZXItZml4ZWQtY29sMSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB3aWR0aDogMTUwcHg7XG59XG4uYy1uYXZpZ2F0aW9uIC5yb3cuY29sdW1uLXNwbGl0dGVyID4gLmhlYWRlci1maXhlZC1jb2wyIHtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSAxNTBweCk7XG59XG4uYy1uYXZpZ2F0aW9uIC5oZWFkZXItZml4ZWQtY29sMiA+IC5yb3cgPiAuaGVhZGVyLWZpeGVkLWNvbDIge1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDMwMHB4KTtcbn1cbi5jLW5hdmlnYXRpb24gLnJvdy5jb2x1bW4tc3BsaXR0ZXIgPiAudS0xXFwvM1xcQG1kIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uYy1uYXZpZ2F0aW9uLCAuYy1uYXZpZ2F0aW9uIGEge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmMtbmF2aWdhdGlvbiAubmF2aWdhdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS40cmVtO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG4uYy1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLWljb24tLWNsb3NlIHtcbiAgaGVpZ2h0OiAyN3B4O1xuICB3aWR0aDogMjRweDtcbn1cbi5jLW5hdmlnYXRpb24uYy1uYXZpZ2F0aW9uLS13aGl0ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG4uYy1uYXZpZ2F0aW9uLmMtbmF2aWdhdGlvbi0td2hpdGUsIC5jLW5hdmlnYXRpb24uYy1uYXZpZ2F0aW9uLS13aGl0ZSBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG59XG4uYy1uYXZpZ2F0aW9uLmMtbmF2aWdhdGlvbi0td2hpdGUgc3ZnIHtcbiAgZmlsbDogYmxhY2s7XG59XG4uYy1uYXZpZ2F0aW9uLmMtbmF2aWdhdGlvbi0td2hpdGUgYTpob3ZlciwgLmMtbmF2aWdhdGlvbi5jLW5hdmlnYXRpb24tLXdoaXRlIGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xufVxuLmMtbmF2aWdhdGlvbi5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbS5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbn1cbi5jLW5hdmlnYXRpb24uYy1uYXZpZ2F0aW9uLS13aGl0ZSAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0gPiBhOmhvdmVyLCAuYy1uYXZpZ2F0aW9uLmMtbmF2aWdhdGlvbi0td2hpdGUgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG59XG5cbi5jLW5hdmlnYXRpb25fX2xpc3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmMtbmF2aWdhdGlvbl9fbGlzdC5pT1M5IC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWF4LXdpZHRoOiAzMyU7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgaHlwaGVuczogYXV0bztcbn1cblxuLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbS5hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc0MDAwMDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2ZmZmZmZjtcbn1cbi5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSA+IGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xuICBwYWRkaW5nOiAxNHB4IDhweCAxNHB4O1xuICBtaW4taGVpZ2h0OiAxMDAlO1xufVxuLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtID4gYTpob3ZlciwgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3NDAwMDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmZmZmZmY7XG59XG4uYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bGFzdC1jaGlsZCA+IGEge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RhMjUxZDtcbiAgei1pbmRleDogMTE7XG59XG4uYy1uYXZpZ2F0aW9uLS13aGl0ZSAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xufVxuXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtLW9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc0MDAwMDtcbn1cbi5jLW5hdmlnYXRpb24tLXdoaXRlIC5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG59XG5cbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdCB7XG4gIHdpZHRoOiAyODBweDtcbn1cblxuLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0ge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0gPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG59XG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSA+IGE6aG92ZXIsIC5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtID4gYTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhMzAwMWM7XG4gIGJvcmRlcjogbm9uZTtcbn1cbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtID4gYSA+IGRpdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uYy1uYXZpZ2F0aW9uLS13aGl0ZSAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSA+IGEge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VkZWRlZDtcbn1cbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtID4gYSAubmF2aWdhdGlvbi10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSA+IGEgLm5hdmlnYXRpb24taWNvbiB7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAuYy1uYXZpZ2F0aW9uIGxpOm5vdCguYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0pOm5vdCguYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3QtaXRlbSkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbiAuZmlsZS10eXBlLWljb24tbWVkaWEtbGluayA+IC5jb21wb25lbnQtY29udGVudCBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbiAucm93LmNvbHVtbi1zcGxpdHRlciA+IC5oZWFkZXItZml4ZWQtY29sMTpoYXMoLmZpbGUtdHlwZS1pY29uLW1lZGlhLWxpbmspIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbiAudHRjLW1haW4tbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5jLW5hdmlnYXRpb24gLnJvdy5jb2x1bW4tc3BsaXR0ZXIuby1ncmlkIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLmMtbmF2LWhhbWJ1cmdlciB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDIwcHggMCA4cHggIWltcG9ydGFudDtcbiAgICBnYXA6IDhweDtcbiAgfVxuICAuYy1uYXYtaGFtYnVyZ2VyIGEge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICB9XG4gIC5jLW5hdmlnYXRpb24gLm5hdmlnYXRpb24tdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmMtbmF2LWhhbWJ1cmdlcl9fYnRuIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDM5cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG4gIC5jLW5hdi1oYW1idXJnZXJfX2J0biBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB9XG4gIC5jLW5hdi1oYW1idXJnZXJfX2J0bi5pcy1vcGVuIHNwYW46bnRoLWNoaWxkKDEpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOXB4KSByb3RhdGUoNDVkZWcpO1xuICB9XG4gIC5jLW5hdi1oYW1idXJnZXJfX2J0bi5pcy1vcGVuIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKDApO1xuICB9XG4gIC5jLW5hdi1oYW1idXJnZXJfX2J0bi5pcy1vcGVuIHNwYW46bnRoLWNoaWxkKDMpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTlweCkgcm90YXRlKC00NWRlZyk7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbi0td2hpdGUgLmMtbmF2LWhhbWJ1cmdlcl9fYnRuIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdCB7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtID4gYSB7XG4gICAgcGFkZGluZzogMTZweCAxMiU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fdG9nZ2xlIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX3RvZ2dsZSAubmF2aWdhdGlvbi1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX3RvZ2dsZSAubmF2aWdhdGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgZmxleDogMCAxIDU2cHg7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgYm94LXNoYWRvdzogMHB4IDE5cHggMzRweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIH1cbiAgLm5hdmlnYXRpb24taWNvbi0tb3BlbiB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19saXN0ID4gbGkgPiBhIC5uYXZpZ2F0aW9uLXRpdGxlIHtcbiAgICBtYXgtd2lkdGg6IDc2cHg7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuIC5uYXZpZ2F0aW9uLWljb24tLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19wYXJlbnQtLW9wZW4gLm5hdmlnYXRpb24taWNvbi0tb3BlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jLWhlYWRlcl9fb3BlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1iYWNrZHJvcCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbW9yZS1iYWNrZHJvcC5jLW5hdmlnYXRpb25fX21vcmUtYmFja2Ryb3AtLW9wZW4ge1xuICAgIHotaW5kZXg6IDk5OTg7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XG4gIC5jLW5hdi1vdmVybGF5IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYTI1MWQ7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xuICB9XG4gIC5jLW5hdi1vdmVybGF5LmlzLW9wZW4ge1xuICAgIGhlaWdodDogY2FsYygxMDBkdmggLSB2YXIoLS1uYXYtaGVpZ2h0LCA0MHB4KSk7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbi0td2hpdGUgLmMtbmF2LW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIH1cbiAgLmMtbmF2LW92ZXJsYXkgLnRyYW5zaXQtYXBwLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2OXB4O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgZm9udC1mYW1pbHk6IHN5c3RlbS11aTtcbiAgICBiYWNrZ3JvdW5kOiAjZGEyNTFkO1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgd2hpdGU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgfVxuICAuYy1uYXYtb3ZlcmxheSAudHJhbnNpdC1hcHAtdGV4dCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgbWFyZ2luOiAxMHB4O1xuICB9XG4gIC5jLW5hdi1vdmVybGF5IC50cmFuc2l0LWRvd25sb2FkLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjQwO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbiAgLmMtbmF2LW92ZXJsYXkgLnRyYW5zaXQtYXBwLXJlY29tbSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gIH1cbiAgLmMtbmF2LW92ZXJsYXkgLmpzLW9wZW4tdHJhbnNpdCB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1pbi13aWR0aDogNjNweDtcbiAgICBwYWRkaW5nOiAwIDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgY29sb3I6ICMxMTE4Mjc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgfVxuICAuYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2hpbnQgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuYy1uYXYtb3ZlcmxheV9fbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyhlbnYoc2FmZS1hcmVhLWluc2VydC1ib3R0b20sIDBweCkpO1xuICB9XG4gIC5jLW5hdi1vdmVybGF5X19pdGVtIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIC5jLW5hdi1vdmVybGF5X19pdGVtIGEgLm5hdmlnYXRpb24taWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG4gIC5jLW5hdi1vdmVybGF5X19pdGVtIGEgLm5hdmlnYXRpb24tdGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IC0xcHggMCAwIDAgIzc0MDAwMDtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uLS13aGl0ZSAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgMCAjZWRlZGVkO1xuICB9XG4gIC5uYXZpZ2F0aW9uLWljb24tLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDU5cHgpIHtcbiAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGZsZXg6IDEgMCA0MHB4O1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QgPiBsaSA+IGEgLm5hdmlnYXRpb24tdGl0bGUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0gPiBhIHtcbiAgICBwYWRkaW5nOiAxNnB4IDZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3BlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3Blbjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm90dG9tOiA5cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjNzQwMDAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uLS13aGl0ZSAuYy1uYXZpZ2F0aW9uX19wYXJlbnQtLW9wZW46OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAjZmZmZmZmO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX21vcmUtbGlzdCB7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpKTtcbiAgfVxuICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuLnUtb3ZlcmZsb3ctaGlkZGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XG4gIC5jLW5hdmlnYXRpb24gLm5hdmlnYXRpb24taWNvbi0tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmMtbmF2aWdhdGlvbiAudHRjLW1haW4tbmF2aWdhdGlvbiB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzEzNzI1NDkwMik7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMxMzcyNTQ5MDIpO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMzVweDtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2RhMjUxZDtcbiAgfVxufVxuLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICBTRUFSQ0ggT1ZFUkxBWVxuICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX3N1Ym1pdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDU2cHg7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbn1cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9fc3VibWl0IHN2ZyB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG59XG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX3N1Ym1pdDpob3ZlciwgLmMtbmF2LXNlYXJjaC1vdmVybGF5X19zdWJtaXQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpO1xuICBjb2xvcjogI2ZmZjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmMtbmF2LXNlYXJjaC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDAwMDtcbiAgYmFja2dyb3VuZDogI2RhMjUxZDtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjQ1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBvcGFjaXR5IDAuMzVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG4uYy1uYXYtc2VhcmNoLW92ZXJsYXkuaXMtb3BlbiB7XG4gIG1heC1oZWlnaHQ6IDQyMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMxMzcyNTQ5MDIpO1xufVxuXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2lubmVyIHtcbiAgbWF4LXdpZHRoOiA3MjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDQwcHggMjRweCA0OHB4O1xufVxuXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2lucHV0LXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMjBweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDI1cHg7XG4gIGhlaWdodDogMjVweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDAuNjtcbn1cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faWNvbiBzdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmaWxsOiAjZmZmO1xufVxuXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2lucHV0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE4cHggNTZweCAxOHB4IDU2cHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLCBiYWNrZ3JvdW5kIDAuMjVzIGVhc2UsIGJveC1zaGFkb3cgMC4yNXMgZWFzZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xufVxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19pbnB1dDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU1KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5wdXQ6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcbiAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE2cHg7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwYWRkaW5nOiA2cHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvcGFjaXR5OiAwLjU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19jbG9zZSBzdmcge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBmaWxsOiAjZmZmO1xufVxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19jbG9zZTpob3ZlciwgLmMtbmF2LXNlYXJjaC1vdmVybGF5X19jbG9zZTpmb2N1cyB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjE1KTtcbn1cblxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19oaW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQyKTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIG1hcmdpbi10b3A6IDRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2hpbnQga2JkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcGFkZGluZzogMXB4IDZweDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG59XG5cbi5jLW5hdi1zZWFyY2gtcmVzdWx0cyB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uYy1uYXYtc2VhcmNoLXJlc3VsdHNfX2l0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTJweCAxNnB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlO1xufVxuLmMtbmF2LXNlYXJjaC1yZXN1bHRzX19pdGVtOmhvdmVyLCAuYy1uYXYtc2VhcmNoLXJlc3VsdHNfX2l0ZW06Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG59XG5cbi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuICAgU0hBUkVEIHBhbmVsIGJhY2tkcm9wXG4gICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cbi5jLW5hdi1wYW5lbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgei1pbmRleDogOTk5OTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMzVzIGVhc2UsIHZpc2liaWxpdHkgMC4zNXMgZWFzZTtcbn1cbi5jLW5hdi1wYW5lbC1iYWNrZHJvcC5pcy12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbn1cblxuLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4gICBSRVNQT05TSVZFIOKAlCBtb2JpbGUgYWRqdXN0bWVudHNcbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDEwMDBweCkge1xuICAuYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2lubmVyIHtcbiAgICBwYWRkaW5nOiAyOHB4IDE2cHggMzZweDtcbiAgfVxuICAuYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2ljb24ge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgfVxuICAuYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2lucHV0IHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBwYWRkaW5nOiAxNHB4IDQ4cHggMTRweCA0OHB4O1xuICB9XG4gIC5jLW5hdi10cmFuc2xhdGVfX2dyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEzMHB4LCAxZnIpKTtcbiAgICBnYXA6IDhweDtcbiAgfVxuICAuYy1uYXYtdHJhbnNsYXRlX19pbm5lciB7XG4gICAgcGFkZGluZzogMjRweCAxNnB4IDMycHg7XG4gIH1cbn0iLCJAdXNlIFwidHlwZVwiO1xyXG5cclxuQGVhY2ggJG5hbWUsICRzdHlsZSBpbiB0eXBlLiR1aS10eXBvZ3JhcGh5LWZvbnQtd2VpZ2h0cyB7XHJcbiAgICAudS10eXBlLS0jeyRuYW1lfSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICN7JHN0eWxlfTtcclxuICAgIH1cclxufVxyXG4iLCIvLyBAaW1wb3J0ICd+c2Fzcy1tcS9tcSc7XHJcbkB1c2UgXCJzYXNzOmxpc3RcIjtcclxuQHVzZSAnbWl4aW5zL3Nhc3MtbXEtbW9kLnNjc3MnO1xyXG5AdXNlICcuLi9jb21tb24tdWkvdHlwb2dyYXBoeS9taXhpbnMnO1xyXG5AdXNlICdtaXhpbnMvYWNjZXNzaWJpbGl0eSc7XHJcbkB1c2UgJ21peGlucy9idXR0b24nO1xyXG5AdXNlICdtaXhpbnMvbGluayc7XHJcbkB1c2UgJ21peGlucy9vdmVybGF5JztcclxuQHVzZSAnbWl4aW5zL3RyYW5zaXRpb25zJztcclxuQHVzZSAnbWl4aW5zL3NoYWRvd3MnO1xyXG5AdXNlICdtaXhpbnMvdGFnJztcclxuQHVzZSAnLi4vYWJzdHJhY3RzL3ZhcnMvY29sb3JzJztcclxuXHJcbkBmb3J3YXJkICdtaXhpbnMvc2Fzcy1tcS1tb2Quc2Nzcyc7XHJcbkBmb3J3YXJkICcuLi9jb21tb24tdWkvdHlwb2dyYXBoeS9taXhpbnMnO1xyXG5AZm9yd2FyZCAnbWl4aW5zL2FjY2Vzc2liaWxpdHknO1xyXG5AZm9yd2FyZCAnbWl4aW5zL2J1dHRvbic7XHJcbkBmb3J3YXJkICdtaXhpbnMvbGluayc7XHJcbkBmb3J3YXJkICdtaXhpbnMvb3ZlcmxheSc7XHJcbkBmb3J3YXJkICdtaXhpbnMvdHJhbnNpdGlvbnMnO1xyXG5AZm9yd2FyZCAnbWl4aW5zL3NoYWRvd3MnO1xyXG5AZm9yd2FyZCAnbWl4aW5zL3RhZyc7XHJcblxyXG4vLyBCZWxvdyBhcmUgbWl4aW4ncyBmcm9tIEZYQVxyXG4vKiBicmVha3BvaW50cyAqL1xyXG5cclxuJGJyZWFrLWRlc2t0b3A6IDk2MHB4O1xyXG4kYnJlYWstbW9iaWxlOiAzODBweDtcclxuJGJyZWFrLW1vYmlsZS1ob3Jpem9udGFsOiA2NDBweDtcclxuJGJyZWFrLW1vYmlsZS1sYXJnZTogNzg2cHg7XHJcblxyXG5AbWl4aW4gd3JhcHBlcigpIHtcclxuICAgIG1heC13aWR0aDogOTYwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWl4aW4gY2xlYXJmaXgge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGZvbnQtc2l6ZSgkc2l6ZVZhbHVlOiAxLjYpIHtcclxuICAgIGZvbnQtc2l6ZTogKCRzaXplVmFsdWUgKiAxMCkgKyBweDtcclxuICAgIGZvbnQtc2l6ZTogJHNpemVWYWx1ZSArIHJlbTtcclxufVxyXG5cclxuQG1peGluIG9wZW5zYW5zLWZvbnQtc3RhY2soKSB7XHJcbiAgICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBWZXJkYW5hLCBUYWhvbWEsIHNhbnMtc2VyaWY7XHJcbn1cclxuXHJcbkBtaXhpbiBsb2FkaW5nLWdpZigpIHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtODtiYXNlNjQsUEhOMlp5QjRiV3h1Y3owaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1qQXdNQzl6ZG1jaUlIWnBaWGRDYjNnOUlqQWdNQ0F6TWlBek1pSWdkMmxrZEdnOUlqTXlJaUJvWldsbmFIUTlJak15SWlCbWFXeHNQU0ppYkdGamF5SStEUW9nSUR4d1lYUm9JQ0J2Y0dGamFYUjVQU0l1TWpVaUlHUTlJazB4TmlBd0lFRXhOaUF4TmlBd0lEQWdNQ0F4TmlBek1pQkJNVFlnTVRZZ01DQXdJREFnTVRZZ01DQk5NVFlnTkNCQk1USWdNVElnTUNBd0lERWdNVFlnTWpnZ1FURXlJREV5SURBZ01DQXhJREUySURRaUx6NE5DaUFnUEhCaGRHZ2dabWxzYkQwbkl6RmhPREJpTmljZ1pEMGlUVEUySURBZ1FURTJJREUySURBZ01DQXhJRE15SURFMklFd3lPQ0F4TmlCQk1USWdNVElnTUNBd0lEQWdNVFlnTkhvaVBnMEtJQ0FnSUR4aGJtbHRZWFJsVkhKaGJuTm1iM0p0SUdGMGRISnBZblYwWlU1aGJXVTlJblJ5WVc1elptOXliU0lnZEhsd1pUMGljbTkwWVhSbElpQm1jbTl0UFNJd0lERTJJREUySWlCMGJ6MGlNell3SURFMklERTJJaUJrZFhJOUlqQXVPSE1pSUhKbGNHVmhkRU52ZFc1MFBTSnBibVJsWm1sdWFYUmxJaUF2UGcwS0lDQThMM0JoZEdnK0RRbzhMM04yWno0TkNnPT0pO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xyXG4gICAgQGlmICRtZWRpYT09bW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1tb2JpbGUtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstbW9iaWxlLWhvcml6b250YWwgLSAxKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRtZWRpYT09bW9iaWxlLWxhcmdlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1tb2JpbGUtbGFyZ2UpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT10YWJsZXQge1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLW1vYmlsZSArIDEpIGFuZCAobWF4LXdpZHRoOiAkYnJlYWstZGVza3RvcCAtIDEpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJG1lZGlhPT1hbGwtbW9iaWxlIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRicmVhay1kZXNrdG9wIC0gMSkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAZWxzZSBpZiAkbWVkaWE9PWRlc2t0b3Age1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGJyZWFrLWRlc2t0b3ApIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLWJhc2ljKCRwb3NpdGlvbjogYWxsLCAkYm9yZGVyLWNvbG9yOiBjb2xvcnMuJGJvcmRlci1ncmF5LCAkYm9yZGVyLXdpZHRoOiAxcHgpIHtcclxuICAgIEBpZigkcG9zaXRpb249PXRvcCkge1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09Ym90dG9tKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYoJHBvc2l0aW9uPT1sZWZ0KSB7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmKCRwb3NpdGlvbj09cmlnaHQpIHtcclxuICAgICAgICBib3JkZXItcmlnaHQ6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvcjtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGZpeGVkLWJnKCRwb3MsICRtaW4taGVpZ2h0OiAyNDBweCkge1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBvcztcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcbiAgICBtaW4taGVpZ2h0OiAkbWluLWhlaWdodDtcclxufVxyXG5cclxuQG1peGluIGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMuLi4pIHtcclxuICAgIC8vIERpcmVjdGlvbiBoYXMgYmVlbiBvbWl0dGVkIGFuZCBoYXBwZW5zIHRvIGJlIGEgY29sb3Itc3RvcFxyXG4gICAgQGlmIGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKT09ZmFsc2Uge1xyXG4gICAgICAgICRjb2xvci1zdG9wczogJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzO1xyXG4gICAgICAgICRkaXJlY3Rpb246IDE4MGRlZztcclxuICAgIH1cclxuXHJcbiAgICAkZmlyc3QtY29sb3Itc3RvcC1ncm91cDogbGlzdC5udGgoJGNvbG9yLXN0b3BzLCAxKTtcclxuICAgICRmaXJzdC1jb2xvci1zdG9wOiBsaXN0Lm50aCgkZmlyc3QtY29sb3Itc3RvcC1ncm91cCwgMSk7XHJcbiAgICBiYWNrZ3JvdW5kOiAkZmlyc3QtY29sb3Itc3RvcDtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzKTtcclxufVxyXG4iLCJAdXNlIFwic2FzczptYXBcIjtcclxuQHVzZSBcImFic3RyYWN0c1wiO1xyXG5AdXNlIFwiYWJzdHJhY3RzL3ZhcnMvdHJhbnNpdGlvbnNcIjtcclxuXHJcbkB1c2UgXCJhYnN0cmFjdHMvbWl4aW5zXCI7XHJcbkB1c2UgXCJhYnN0cmFjdHMvZnVuY3Rpb25zL2NvbG9yXCIgYXMgZnVuY3Rpb25zLWNvbG9yO1xyXG5AdXNlIFwiYWJzdHJhY3RzL2Z1bmN0aW9ucy9zcGFjZVwiO1xyXG5cclxuJG5hdi1jb2xvci1wcmltYXJ5OiBmdW5jdGlvbnMtY29sb3IuY29sb3IocHJpbWFyeSk7XHJcbiRuYXYtY29sb3Itd2hpdGU6IGZ1bmN0aW9ucy1jb2xvci5jb2xvcihcIndoaXRlXCIpO1xyXG4kbmF2LWNvbG9yLWJsYWNrOiBmdW5jdGlvbnMtY29sb3IuY29sb3IoXCJibGFja1wiKTtcclxuJG5hdi1jb2xvci1ncmV5LW1lbnU6IGZ1bmN0aW9ucy1jb2xvci5jb2xvcihcImdyZXktbWVudVwiKTtcclxuJG5hdi1jb2xvci1wcmltYXJ5LWRhcms6IGZ1bmN0aW9ucy1jb2xvci5jb2xvcihcInByaW1hcnktZGFya1wiKTtcclxuJG5hdi1jb2xvci1wcmltYXJ5LWRhcmtlcjogZnVuY3Rpb25zLWNvbG9yLmNvbG9yKFwicHJpbWFyeS1kYXJrZXJcIik7XHJcbiRuYXYtY29sb3ItYmFja2Ryb3A6IGZ1bmN0aW9ucy1jb2xvci5jb2xvcihcImJhY2tkcm9wXCIpO1xyXG4kbmF2LXNwYWNlLTE6ICN7c3BhY2Uuc3BhY2UoMSl9O1xyXG4kbmF2LXNwYWNlLTEtNzU6ICN7c3BhY2Uuc3BhY2UoMS43NSl9O1xyXG4kbmF2LXNwYWNlLTI6ICN7c3BhY2Uuc3BhY2UoMil9O1xyXG4kbmF2LXNwYWNlLTM6ICN7c3BhY2Uuc3BhY2UoMyl9O1xyXG5cclxuLmMtbmF2aWdhdGlvbl9fdG9nZ2xlIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLmMtbmF2aWdhdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWNvbG9yLXByaW1hcnk7XHJcblxyXG4gICAgLmZpbGUtdHlwZS1pY29uLW1lZGlhLWxpbmsgPiAuY29tcG9uZW50LWNvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLnRyYW5zaXQtYXBwLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLmMtbmF2LWhhbWJ1cmdlciB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICBsaTpub3QoLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtKTpub3QoLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3cuY29sdW1uLXNwbGl0dGVyLm8tZ3JpZCB7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3c7XHJcbiAgICB9XHJcblxyXG4gICAgLmMtbGluay0tcmVkc20gYSB7XHJcbiAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgIC5yb3cuY29sdW1uLXNwbGl0dGVyID4gLmhlYWRlci1maXhlZC1jb2wxIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHdpZHRoOiAxNTBweDtcclxuICAgIH1cclxuXHJcbiAgICAucm93LmNvbHVtbi1zcGxpdHRlciA+IC5oZWFkZXItZml4ZWQtY29sMiB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxNTBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci1maXhlZC1jb2wyID4gLnJvdyA+IC5oZWFkZXItZml4ZWQtY29sMiB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAzMDBweCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnJvdy5jb2x1bW4tc3BsaXR0ZXIgPiAudS0xXFwvM1xcQG1kIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICYsIGEge1xyXG4gICAgICAgIGNvbG9yOiAkbmF2LWNvbG9yLXdoaXRlO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubmF2aWdhdGlvbi10aXRsZSB7XHJcbiAgICAgICAgLy9AaW5jbHVkZSBtaXhpbnMudWktdHlwb2dyYXBoeShoZWFkZXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAubmF2aWdhdGlvbi1pY29uLS1jbG9zZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgfVxyXG5cclxuICAgICYuYy1uYXZpZ2F0aW9uLS13aGl0ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1jb2xvci13aGl0ZTtcclxuXHJcbiAgICAgICAgJiwgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2LWNvbG9yLWJsYWNrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgZmlsbDogYmxhY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWNvbG9yLWdyZXktbWVudTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtIHtcclxuICAgICAgICAgICAgJi5hY3RpdmUgPiBhIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtY29sb3ItZ3JleS1tZW51O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1jb2xvci1ncmV5LW1lbnU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLW5hdmlnYXRpb25fX2xpc3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICYuaU9TOSB7XHJcbiAgICAgICAgLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgICAgICAgICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xyXG4gICAgICAgICAgICAtbW96LWh5cGhlbnM6IGF1dG87XHJcbiAgICAgICAgICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xyXG4gICAgICAgICAgICBoeXBoZW5zOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuXHJcbiAgICAmLmFjdGl2ZSA+IGEge1xyXG4gICAgICAgIC8vIEFjdGl2ZSBtZW51IGxpbmsgd2lsbCBiZSB0aGUgc2FtZSBhcyB0aGUgbm9ybWFsIG1lbnUgbGlua3MuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1jb2xvci1wcmltYXJ5LWRhcms7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkbmF2LWNvbG9yLXdoaXRlO1xyXG4gICAgfVxyXG5cclxuICAgID4gYSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNpdGlvbnMuJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4gICAgICAgIHBhZGRpbmc6ICRuYXYtc3BhY2UtMS03NSAkbmF2LXNwYWNlLTEgJG5hdi1zcGFjZS0xLTc1O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWNvbG9yLXByaW1hcnktZGFyaztcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJG5hdi1jb2xvci13aGl0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwJTtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1jb2xvci1wcmltYXJ5O1xyXG4gICAgei1pbmRleDogMTE7XHJcblxyXG4gICAgLmMtbmF2aWdhdGlvbi0td2hpdGUgJiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1jb2xvci13aGl0ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LS1vcGVuIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uYy1uYXZpZ2F0aW9uX19wYXJlbnQtLW9wZW4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1jb2xvci1wcmltYXJ5LWRhcms7XHJcblxyXG4gICAgLmMtbmF2aWdhdGlvbi0td2hpdGUgJiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1jb2xvci1ncmV5LW1lbnU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdCB7XHJcbiAgICB3aWR0aDogMjgwcHg7XHJcbn1cclxuXHJcbi5jLW5hdmlnYXRpb25fX21vcmUtbGlzdC1pdGVtIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgPiBhIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggJG5hdi1zcGFjZS0yO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zaXRpb25zLiRnbG9iYWwtdHJhbnNpdGlvbjtcclxuXHJcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtY29sb3ItcHJpbWFyeS1kYXJrZXI7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gZGl2IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jLW5hdmlnYXRpb24tLXdoaXRlICYge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG5hdi1jb2xvci1ncmV5LW1lbnU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2aWdhdGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2aWdhdGlvbi1pY29uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbmF2LXNwYWNlLTI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XHJcblxyXG4gICAgLmMtbmF2aWdhdGlvbiBsaTpub3QoLmMtbmF2aWdhdGlvbl9fbGlzdC1pdGVtKTpub3QoLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW0pIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdmlnYXRpb24ge1xyXG5cclxuICAgICAgICAuZmlsZS10eXBlLWljb24tbWVkaWEtbGluayA+IC5jb21wb25lbnQtY29udGVudCBzcGFuIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJvdy5jb2x1bW4tc3BsaXR0ZXIgPiAuaGVhZGVyLWZpeGVkLWNvbDE6aGFzKC5maWxlLXR5cGUtaWNvbi1tZWRpYS1saW5rKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAgICAgLy8gSGlkZSB0aGUgbmF2IGxpbmtzIGNvbHVtblxyXG4gICAgICAgIC5jLW5hdmlnYXRpb24gLnR0Yy1tYWluLW5hdmlnYXRpb24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEhpZGUgdGhlIHNlYXJjaC90cmFuc2xhdGUgY29sdW1uXHJcbiAgICAgICAgLy8gTWFrZSB0aGUgbmF2IHJvdyBhbGlnbiBsb2dvIGxlZnQsIGhhbWJ1cmdlciByaWdodFxyXG4gICAgICAgIC5jLW5hdmlnYXRpb24gLnJvdy5jb2x1bW4tc3BsaXR0ZXIuby1ncmlkIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgfVxyXG4gICAgLy8gTG9nbyBjb2x1bW4gc3RheXMgdmlzaWJsZVxyXG4gICAgLy8gSGFtYnVyZ2VyIGJ1dHRvbiAod2UnbGwgaW5qZWN0IHRoaXMgdmlhIEpTIGluIHRoZSBuZXh0IHN0ZXAsXHJcbiAgICAvLyBidXQgZGVmaW5lIHRoZSBzdHlsZXMgbm93IHNvIGl0J3MgcmVhZHkpXHJcbiAgICAuYy1uYXYtaGFtYnVyZ2VyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDAgMjBweCAwICRuYXYtc3BhY2UtMSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGdhcDogJG5hdi1zcGFjZS0xO1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYy1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXRpdGxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdi1oYW1idXJnZXJfX2J0biB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgIHdpZHRoOiAzOXB4O1xyXG4gICAgICAgIGhlaWdodDogMzZweDtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuXHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNpdGlvbnMuJGdsb2JhbC10cmFuc2l0aW9uO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFuaW1hdGUgYmFycyB0byBYIHdoZW4gb3BlblxyXG4gICAgICAgICYuaXMtb3BlbiB7XHJcbiAgICAgICAgICAgIHNwYW46bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg5cHgpIHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW46bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgc3BhbjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC05cHgpIHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFdoaXRlIG5hdiB2YXJpYW50XHJcbiAgICAgICAgLmMtbmF2aWdhdGlvbi0td2hpdGUgJiB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1jb2xvci1ibGFjaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vaXBob25lNWZpeFxyXG4gICAgLmMtbmF2aWdhdGlvbl9fbGlzdCB7XHJcbiAgICAgICAgaGVpZ2h0OiA3MnB4O1xyXG5cclxuICAgICAgICBsaTpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW0ge1xyXG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xyXG5cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkbmF2LXNwYWNlLTIgMTIlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYy1uYXZpZ2F0aW9uX190b2dnbGUge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC5uYXZpZ2F0aW9uLWljb24ge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm5hdmlnYXRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgZmxleDogMCAxIDU2cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDE5cHggMzRweCAkbmF2LWNvbG9yLWJhY2tkcm9wO1xyXG4gICAgfVxyXG5cclxuICAgIC5uYXZpZ2F0aW9uLWljb24tLW9wZW4ge1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICB3aWR0aDogNDBweDtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgLmMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpID4gYSB7XHJcbiAgICAgICAgLm5hdmlnYXRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdmlnYXRpb25fX3BhcmVudC0tb3BlbiB7XHJcbiAgICAgICAgLm5hdmlnYXRpb24taWNvbi0tY2xvc2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZpZ2F0aW9uLWljb24tLW9wZW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYy1uYXZpZ2F0aW9uX19tb3JlLWxpc3Qge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLWhlYWRlcl9fb3BlbiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICB9XHJcblxyXG4gICAgLmMtbmF2aWdhdGlvbl9fbW9yZS1iYWNrZHJvcCB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi1jb2xvci1iYWNrZHJvcDtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG5cclxuICAgICAgICAmLmMtbmF2aWdhdGlvbl9fbW9yZS1iYWNrZHJvcC0tb3BlbiB7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDk5OTg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAuYy1uYXYtb3ZlcmxheSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2LWNvbG9yLXByaW1hcnk7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBlYXNlO1xyXG5cclxuICAgICAgICAmLmlzLW9wZW4ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwZHZoIC0gdmFyKC0tbmF2LWhlaWdodCwgNDBweCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmMtbmF2aWdhdGlvbi0td2hpdGUgJiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtY29sb3Itd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudHJhbnNpdC1hcHAtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjlweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICAgICAgYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBzeXN0ZW0tdWk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkYTI1MWQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHdoaXRlO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XHJcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDIwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50cmFuc2l0LWFwcC10ZXh0IHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRyYW5zaXQtZG93bmxvYWQtdGV4dCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDY0MDtcclxuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50cmFuc2l0LWFwcC1yZWNvbW0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5qcy1vcGVuLXRyYW5zaXQge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogNjNweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxNnB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjMTExODI3O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2hpbnQgc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuYy1uYXYtb3ZlcmxheV9fbGlzdCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyhlbnYoc2FmZS1hcmVhLWluc2VydC1ib3R0b20sIDBweCkpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdi1vdmVybGF5X19pdGVtIHtcclxuICAgICAgICAvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmMTA7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkbmF2LXNwYWNlLTIgJG5hdi1zcGFjZS0zO1xyXG4gICAgICAgICAgICBjb2xvcjogJG5hdi1jb2xvci13aGl0ZTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICAgICAgLm5hdmlnYXRpb24taWNvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRuYXYtc3BhY2UtMjtcclxuICAgICAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAubmF2aWdhdGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAtMXB4IDAgMCAwICRuYXYtY29sb3ItcHJpbWFyeS1kYXJrO1xyXG5cclxuICAgICAgICAuYy1uYXZpZ2F0aW9uLS13aGl0ZSAmIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgLTFweCAwIDAgMCAkbmF2LWNvbG9yLWdyZXktbWVudTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5hdmlnYXRpb24taWNvbi0tY2xvc2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1peGlucy5tcSgkdW50aWw6IHhzKSB7XHJcbiAgICAuYy1uYXZpZ2F0aW9uX19saXN0LWl0ZW06bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgZmxleDogMSAwIDQwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmMtbmF2aWdhdGlvbl9fbGlzdCA+IGxpID4gYSB7XHJcbiAgICAgICAgLm5hdmlnYXRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJG5hdi1zcGFjZS0yIDZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpbmNsdWRlIG1peGlucy5tcShzbSkge1xyXG4gICAgLmMtbmF2aWdhdGlvbl9fcGFyZW50LS1vcGVuIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiA5cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgei1pbmRleDogMTI7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCAkbmF2LWNvbG9yLXByaW1hcnktZGFyaztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNpdGlvbnMuJGdsb2JhbC10cmFuc2l0aW9uO1xyXG5cclxuICAgICAgICAgICAgLmMtbmF2aWdhdGlvbi0td2hpdGUgJiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICRuYXYtY29sb3Itd2hpdGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmMtbmF2aWdhdGlvbl9fbW9yZS1saXN0IHtcclxuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDBweCAxcHggMTBweCByZ2JhKDAsMCwwLDAuNSkpO1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XHJcbiAgICAgICAgLy9mbGV4OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuLnUtb3ZlcmZsb3ctaGlkZGVuIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOiAxMDAwcHgpIHtcclxuICAgIC5jLW5hdmlnYXRpb24ge1xyXG5cclxuXHJcbiAgICAgICAgLm5hdmlnYXRpb24taWNvbi0tY2xvc2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnR0Yy1tYWluLW5hdmlnYXRpb24ge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmZmZmZmY1MDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZmZmZmZjUwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIC5jLW5hdmlnYXRpb25fX2xpc3QtaXRlbSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgLy9wYWRkaW5nOiBzcGFjZS5zcGFjZSgyKSAwIGNhbGMoI3tzcGFjZS5zcGFjZSgyKX0gLSAycHgpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDM1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZGEyNTFkO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXHJcbiAgIFNFQVJDSCBPVkVSTEFZXHJcbiAgIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAqL1xyXG5cclxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19zdWJtaXQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDU2cHg7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuICAgIHdpZHRoOiAzNHB4O1xyXG4gICAgaGVpZ2h0OiAzNHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcclxuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDE2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpO1xyXG4gICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLW5hdi1zZWFyY2gtb3ZlcmxheSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiAxMDAwMDtcclxuICAgIGJhY2tncm91bmQ6ICNkYTI1MWQ7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC40NXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgb3BhY2l0eSAwLjM1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xyXG5cclxuICAgICYuaXMtb3BlbiB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNDIwcHg7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zMTM3MjU0OTAyKTtcclxuICAgIH1cclxufVxyXG5cclxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19pbm5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDcyMHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBwYWRkaW5nOiA0MHB4IDI0cHggNDhweDtcclxufVxyXG5cclxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19pbnB1dC13cmFwIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faWNvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAyMHB4O1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGhlaWdodDogMjVweDtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgb3BhY2l0eTogMC42O1xyXG5cclxuICAgIHN2ZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGZpbGw6ICNmZmY7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5wdXQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxOHB4IDU2cHggMThweCA1NnB4O1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcclxuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLCBiYWNrZ3JvdW5kIDAuMjVzIGVhc2UsIGJveC1zaGFkb3cgMC4yNXMgZWFzZTtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XHJcblxyXG4gICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE4KTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYy1uYXYtc2VhcmNoLW92ZXJsYXlfX2Nsb3NlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAxNnB4O1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcGFkZGluZzogNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcclxuXHJcbiAgICBzdmcge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICBmaWxsOiAjZmZmO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjE1KTtcclxuICAgIH1cclxufVxyXG5cclxuLmMtbmF2LXNlYXJjaC1vdmVybGF5X19oaW50IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNDIpO1xyXG4gICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcblxyXG4gICAga2JkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgICBwYWRkaW5nOiAxcHggNnB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYy1uYXYtc2VhcmNoLXJlc3VsdHMge1xyXG4gICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmMtbmF2LXNlYXJjaC1yZXN1bHRzX19pdGVtIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogMTJweCAxNnB4O1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcclxuXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8qIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxyXG4gICBTSEFSRUQgcGFuZWwgYmFja2Ryb3BcclxuICAg4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQICovXHJcblxyXG4uYy1uYXYtcGFuZWwtYmFja2Ryb3Age1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgaW5zZXQ6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbiAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXMgZWFzZSwgdmlzaWJpbGl0eSAwLjM1cyBlYXNlO1xyXG5cclxuICAgICYuaXMtdmlzaWJsZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyog4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXHJcbiAgIFJFU1BPTlNJVkUg4oCUIG1vYmlsZSBhZGp1c3RtZW50c1xyXG4gICDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgKi9cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAxMDAwcHgpIHtcclxuICAgIC5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5uZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDI4cHggMTZweCAzNnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdi1zZWFyY2gtb3ZlcmxheV9faW5wdXQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xyXG4gICAgICAgIHBhZGRpbmc6IDE0cHggNDhweCAxNHB4IDQ4cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmMtbmF2LXRyYW5zbGF0ZV9fZ3JpZCB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTMwcHgsIDFmcikpO1xyXG4gICAgICAgIGdhcDogOHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jLW5hdi10cmFuc2xhdGVfX2lubmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyNHB4IDE2cHggMzJweDtcclxuICAgIH1cclxufVxyXG4iLCIkZ2xvYmFsLXRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xyXG4kZ2xvYmFsLXRyYW5zaXRpb24tZWFzaW5nOiBlYXNlLWluLW91dDtcclxuJGdsb2JhbC10cmFuc2l0aW9uOiBhbGwgJGdsb2JhbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0OyIsIi8vbW9kZGVkIHRvIHVzZSBweFxyXG5cclxuQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XHJcbkB1c2UgJy4uL3ZhcnMvYnJlYWtwb2ludHMnO1xyXG5AdXNlICdzYXNzOmxpc3QnO1xyXG5AdXNlICdzYXNzOm1hcCc7XHJcbkB1c2UgJ3Nhc3M6bWV0YSc7XHJcbkB1c2UgJ3Nhc3M6bWF0aCc7XHJcbkB1c2UgJ3Nhc3M6c3RyaW5nJztcclxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxyXG5cclxuLy8vIEJhc2UgZm9udCBzaXplIG9uIHRoZSBgPGJvZHk+YCBlbGVtZW50XHJcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXHJcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuXHJcbi8vLyBSZXNwb25zaXZlIG1vZGVcclxuLy8vXHJcbi8vLyBTZXQgdG8gYGZhbHNlYCB0byBlbmFibGUgc3VwcG9ydCBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBAbWVkaWEgcXVlcmllcyxcclxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXHJcbi8vL1xyXG4vLy8gWW91IGNvdWxkIGNyZWF0ZSBhIHN0eWxlc2hlZXQgc2VydmVkIGV4Y2x1c2l2ZWx5IHRvIG9sZGVyIGJyb3dzZXJzLFxyXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLy8gb2xkLWllLnNjc3NcclxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XHJcbi8vLyAgQGltcG9ydCAnbWFpbic7IC8vIEBtZWRpYSBxdWVyaWVzIGluIHRoaXMgZmlsZSB3aWxsIGJlIHJhc3Rlcml6ZWQgdXAgdG8gJG1xLXN0YXRpYy1icmVha3BvaW50XHJcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXHJcbi8vL1xyXG4vLy8gQHR5cGUgQm9vbGVhblxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXHJcbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8vIEJyZWFrcG9pbnQgbGlzdFxyXG4vLy9cclxuLy8vIE5hbWUgeW91ciBicmVha3BvaW50cyBpbiBhIHdheSB0aGF0IGNyZWF0ZXMgYSB1YmlxdWl0b3VzIGxhbmd1YWdlXHJcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXHJcbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXHJcbi8vL1xyXG4vLy8gQHR5cGUgTWFwXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuJG1xLWJyZWFrcG9pbnRzOiBicmVha3BvaW50cy4kbXEtYnJlYWtwb2ludHMgIWRlZmF1bHQ7XHJcblxyXG4vLy8gU3RhdGljIGJyZWFrcG9pbnQgKGZvciBmaXhlZC13aWR0aCBsYXlvdXRzKVxyXG4vLy9cclxuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxyXG4vLy8gYmUgdXNlZCBhcyB0aGUgdGFyZ2V0IHdpZHRoIGZvciB0aGUgZml4ZWQtd2lkdGggbGF5b3V0XHJcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3NcclxuLy8vICAvL1xyXG4vLy8gIC8vIElnbm9yZSBhbGwgc3R5bGVzIGFib3ZlIHRhYmxldCBicmVha3BvaW50LFxyXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxyXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcclxuLy8vICAkbXEtc3RhdGljLWJyZWFrcG9pbnQ6IHRhYmxldDtcclxuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcclxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcclxuLy8vXHJcbi8vLyBAdHlwZSBTdHJpbmdcclxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXHJcbiRtcS1zdGF0aWMtYnJlYWtwb2ludDogbWQyICFkZWZhdWx0O1xyXG5cclxuLy8vIFNob3cgYnJlYWtwb2ludHMgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcclxuLy8vXHJcbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxyXG4vLy8gcmlnaHQgY29ybmVyIG9mIHlvdXIgc2l0ZSBkdXJpbmcgZGV2ZWxvcG1lbnQsIGFkZCB0aGUgYnJlYWtwb2ludHNcclxuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxyXG4vLy9cclxuLy8vIEB0eXBlIG1hcFxyXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XHJcblxyXG4vLy8gQ3VzdG9taXplIHRoZSBtZWRpYSB0eXBlIChlLmcuIGBAbWVkaWEgc2NyZWVuYCBvciBgQG1lZGlhIHByaW50YClcclxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXHJcbi8vL1xyXG4vLy8gQHR5cGUgU3RyaW5nXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xyXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xyXG5cclxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xyXG4vLy9cclxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHggLSB2YWx1ZSB0byBjb252ZXJ0XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXHJcbi8vL1xyXG4vLy8gQGV4YW1wbGUgc2Nzc1xyXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcclxuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxyXG4vLy9cclxuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcclxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XHJcbkBmdW5jdGlvbiBtcS1weDJlbSgkcHgsICRiYXNlLWZvbnQtc2l6ZTogJG1xLWJhc2UtZm9udC1zaXplKSB7XHJcbiAgICBAaWYgbWF0aC5pcy11bml0bGVzcygkcHgpIHtcclxuICAgICAgICBAd2FybiBcIkFzc3VtaW5nICN7JHB4fSB0byBiZSBpbiBwaXhlbHMsIGF0dGVtcHRpbmcgdG8gY29udmVydCBpdCBpbnRvIHBpeGVscy5cIjtcclxuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIEBlbHNlIGlmIG1hdGgudW5pdCgkcHgpID09ICdlbScge1xyXG4gICAgICAgIEByZXR1cm4gJHB4O1xyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gbWF0aC5kaXYoJHB4LCAkYmFzZS1mb250LXNpemUpICogMWVtO1xyXG59XHJcblxyXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXHJcbi8vL1xyXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludC4gT25lIG9mICRtcS1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAkdGFibGV0LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCh0YWJsZXQpO1xyXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcclxuQGZ1bmN0aW9uIG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xyXG4gICAgQGlmIG1hcC5oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcclxuICAgICAgICBAcmV0dXJuIG1hcC5nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJCcmVha3BvaW50ICN7JG5hbWV9IHdhc24ndCBmb3VuZCBpbiAkYnJlYWtwb2ludHMuXCI7XHJcbiAgICAgICAgQHJldHVybiBudWxsO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy8gTWVkaWEgUXVlcnkgbWl4aW5cclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcclxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxyXG4vLy9cclxuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxyXG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXHJcbi8vLyBAaWdub3JlIEBwYXJhbSB7U3RyaW5nfSAkc3RhdGljLWJyZWFrcG9pbnQgKCRtcS1zdGF0aWMtYnJlYWtwb2ludClcclxuLy8vXHJcbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcclxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXN0YXRpYy1icmVha3BvaW50XHJcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxyXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcclxuLy8vXHJcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgLmVsZW1lbnQge1xyXG4vLy8gICAgQGluY2x1ZGUgbWl4aW5zLm1xKCRmcm9tOiBtb2JpbGUpIHtcclxuLy8vICAgICAgY29sb3I6IHJlZDtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1peGlucy5tcSgkdW50aWw6IHRhYmxldCkge1xyXG4vLy8gICAgICBjb2xvcjogYmx1ZTtcclxuLy8vICAgIH1cclxuLy8vICAgIEBpbmNsdWRlIG1peGlucy5tcShtb2JpbGUsIHRhYmxldCkge1xyXG4vLy8gICAgICBjb2xvcjogZ3JlZW47XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtaXhpbnMubXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcclxuLy8vICAgICAgY29sb3I6IHRlYWw7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtaXhpbnMubXEoOTUwcHgpIHtcclxuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XHJcbi8vLyAgICB9XHJcbi8vLyAgICBAaW5jbHVkZSBtaXhpbnMubXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XHJcbi8vLyAgICAgIGNvbG9yOiBob3RwaW5rO1xyXG4vLy8gICAgfVxyXG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxyXG4vLy8gICAgJG15LWJyZWFrcG9pbnRzOiAoTDogOTAwcHgsIFhMOiAxMjAwcHgpO1xyXG4vLy8gICAgQGluY2x1ZGUgbWl4aW5zLm1xKEwsICRicmVha3BvaW50czogJG15LWJyZWFrcG9pbnRzLCAkc3RhdGljLWJyZWFrcG9pbnQ6IEwpIHtcclxuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XHJcbi8vLyAgICB9XHJcbi8vLyAgfVxyXG5AbWl4aW4gbXEoICRmcm9tOiBmYWxzZSwgJHVudGlsOiBmYWxzZSwgJGFuZDogZmFsc2UsICRlbXMtb246IGZhbHNlLCAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLCAkcmVzcG9uc2l2ZTogJG1xLXJlc3BvbnNpdmUsICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50ICkge1xyXG4gICAgJG1pbi13aWR0aDogMDtcclxuICAgICRtYXgtd2lkdGg6IDA7XHJcbiAgICAkbWVkaWEtcXVlcnk6ICcnO1xyXG5cclxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxyXG4gICAgQGlmICRmcm9tIHtcclxuICAgICAgICBAaWYgbWV0YS50eXBlLW9mKCRmcm9tKSA9PSAnbnVtYmVyJyB7XHJcbiAgICAgICAgICAgIEBpZiAkZW1zLW9uIHtcclxuICAgICAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAkbWluLXdpZHRoOiAkZnJvbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgIEBpZiAkZW1zLW9uIHtcclxuICAgICAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcclxuICAgIEBpZiAkdW50aWwge1xyXG4gICAgICAgIEBpZiBtZXRhLnR5cGUtb2YoJHVudGlsKSA9PSAnbnVtYmVyJyB7XHJcbiAgICAgICAgICAgIEBpZiAkZW1zLW9uIHtcclxuICAgICAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgJG1heC13aWR0aDogJHVudGlsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgQGlmICRlbXMtb24ge1xyXG4gICAgICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCR1bnRpbCwgJGJyZWFrcG9pbnRzKSAtIDFweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBkaXNhYmxlZCwgcmFzdGVyaXplIHRoZSBvdXRwdXQgb3V0c2lkZSBAbWVkaWEgYmxvY2tzXHJcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxyXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcclxuICAgICAgICAkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzdGF0aWMtYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcclxuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBudWxsO1xyXG5cclxuICAgICAgICBAaWYgJGVtcy1vbiB7XHJcbiAgICAgICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgICAgJHRhcmdldC13aWR0aDogJHN0YXRpYy1icmVha3BvaW50LXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBPdXRwdXQgb25seSBydWxlcyB0aGF0IHN0YXJ0IGF0IG9yIHNwYW4gb3VyIHRhcmdldCB3aWR0aFxyXG4gICAgICAgIEBpZiAoICRhbmQgPT0gZmFsc2UgYW5kICRtaW4td2lkdGggPD0gJHRhcmdldC13aWR0aCBhbmQgKCAkdW50aWwgPT0gZmFsc2Ugb3IgJG1heC13aWR0aCA+PSAkdGFyZ2V0LXdpZHRoICkgKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7XHJcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7XHJcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGlmICRhbmQge1xyXG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcclxuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcclxuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xyXG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0cmluZy5zbGljZShzdHJpbmcudW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8vIFF1aWNrIHNvcnRcclxuLy8vXHJcbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xyXG4vLy8gQGFjY2VzcyBwcml2YXRlXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzb3J0XHJcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcclxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XHJcbiAgICAkbGVzczogKCk7XHJcbiAgICAkZXF1YWw6ICgpO1xyXG4gICAgJGxhcmdlOiAoKTtcclxuXHJcbiAgICBAaWYgbGlzdC5sZW5ndGgoJGxpc3QpID4gMSB7XHJcbiAgICAgICAgJHNlZWQ6IGxpc3QubnRoKCRsaXN0LCBtYXRoLmNlaWwobGlzdC5sZW5ndGgoJGxpc3QpIC8gMikpO1xyXG5cclxuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XHJcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcclxuICAgICAgICAgICAgICAgICRlcXVhbDogbGlzdC5hcHBlbmQoJGVxdWFsLCAkaXRlbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcclxuICAgICAgICAgICAgICAgICRsZXNzOiBsaXN0LmFwcGVuZCgkbGVzcywgJGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XHJcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGxpc3QuYXBwZW5kKCRsYXJnZSwgJGl0ZW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAcmV0dXJuIGxpc3Quam9pbihsaXN0LmpvaW4oX21xLXF1aWNrLXNvcnQoJGxlc3MpLCAkZXF1YWwpLCBfbXEtcXVpY2stc29ydCgkbGFyZ2UpKTtcclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuICRsaXN0O1xyXG59XHJcblxyXG4vLy8gU29ydCBhIG1hcCBieSB2YWx1ZXMgKHdvcmtzIHdpdGggbnVtYmVycyBvbmx5KVxyXG4vLy9cclxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxyXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc29ydFxyXG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxyXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcclxuICAgICRtYXAtc29ydGVkOiAoKTtcclxuICAgICRtYXAta2V5czogbWFwLmtleXMoJG1hcCk7XHJcbiAgICAkbWFwLXZhbHVlczogbWFwLnZhbHVlcygkbWFwKTtcclxuICAgICRtYXAtdmFsdWVzLXNvcnRlZDogX21xLXF1aWNrLXNvcnQoJG1hcC12YWx1ZXMpO1xyXG5cclxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcclxuICAgIEBlYWNoICR2YWx1ZSBpbiAkbWFwLXZhbHVlcy1zb3J0ZWQge1xyXG4gICAgICAgICRpbmRleDogbGlzdC5pbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcclxuICAgICAgICAka2V5OiBsaXN0Lm50aCgkbWFwLWtleXMsICRpbmRleCk7XHJcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC5tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xyXG5cclxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxyXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxyXG4gICAgICAgICRtYXAtdmFsdWVzOiBsaXN0LnNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcclxufVxyXG5cclxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50XHJcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcclxuLy8vXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcclxuLy8vXHJcbi8vLyBAZXhhbXBsZSBzY3NzXHJcbi8vLyAgQGluY2x1ZGUgbXEtYWRkLWJyZWFrcG9pbnQodHZzY3JlZW4sIDE5MjBweCk7XHJcbi8vLyAgQGluY2x1ZGUgbWl4aW5zLm1xKHR2c2NyZWVuKSB7fVxyXG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xyXG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XHJcbiAgICAkbXEtYnJlYWtwb2ludHM6IG1hcC5tZXJnZSgkbXEtYnJlYWtwb2ludHMsICRuZXctYnJlYWtwb2ludCkgIWdsb2JhbDtcclxuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcclxufVxyXG5cclxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxyXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxyXG4vLy9cclxuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgKCRtcS1zaG93LWJyZWFrcG9pbnRzKSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXHJcbi8vL1xyXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXHJcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xyXG4vLy9cclxuLy8vIEBleGFtcGxlIHNjc3NcclxuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xyXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XHJcbi8vL1xyXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXHJcbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XHJcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcclxuICAgIGJvZHk6YmVmb3JlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xyXG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZCRUVENTtcclxuICAgICAgICBjb2xvcjogI0MwOTg1MztcclxuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xyXG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICB6LWluZGV4OiAxMDA7XHJcbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxyXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xyXG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpZiBsaXN0Lmxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcclxuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XHJcbn1cclxuIl19 */
