* {
  box-sizing: border-box; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

ol, ul {
  list-style: none;
  margin: 0;
  padding: 0;
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  display: inline-block;
  color: currentColor;
  text-decoration: none; }
  a:hover {
    text-decoration: none; }

a:focus, button:focus, input:focus, textarea:focus {
  outline: none; }

button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #fff; }
  button:focus, button:active {
    outline: 0;
    box-shadow: 0 0 0; }
  button.reset {
    background-color: transparent;
    border: 0; }

a,
button {
  transition: all 0.3s ease; }

picture {
  display: block; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: top; }

.text-left {
  text-align: left; }

.text-right, .header__search {
  text-align: right; }

.text-center, .header__logo {
  text-align: center; }

.d-none {
  display: none; }

.d-block {
  display: block; }

.d-flex, .menu-toggle__state, .instagram-card__logo {
  display: flex; }

.d-inline-flex, .header__search {
  display: inline-flex; }

.d-inline-block {
  display: inline-block; }

.d-grid, .header__grid, .work__grid {
  display: grid; }

@media (min-width: 576px) {
  .d-sm-block {
    display: block; }
  .d-sm-flex {
    display: flex; } }

@media (min-width: 768px) {
  .d-md-block {
    display: block; }
  .d-md-flex {
    display: flex; } }

@media (min-width: 992px) {
  .d-lg-block {
    display: block; }
  .d-lg-flex, .card__caption, .footer__bottom {
    display: flex; } }

@media (min-width: 1200px) {
  .d-xl-block {
    display: block; }
  .d-xl-flex {
    display: flex; } }

@media (min-width: 1440px) {
  .d-xxl-block {
    display: block; }
  .d-xxl-flex {
    display: flex; } }

button,
input,
optgroup,
select,
textarea {
  font-family: "Lausanne", sans-serif; }

textarea,
input[type='text'],
input[type='tel'],
input[type='email'],
input[type='button'],
input[type='submit'],
input[type='search'],
input[type='password'] {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  box-shadow: 0 0 0; }

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none; }

input[type='search']::-ms-clear {
  display: none;
  width: 0;
  height: 0; }

input[type='search']::-ms-reveal {
  display: none;
  width: 0;
  height: 0; }

input[type='search']::-webkit-search-decoration,
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-results-button,
input[type='search']::-webkit-search-results-decoration {
  display: none; }

input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0; }

strong {
  font-weight: 700; }

.container, .container-lg {
  margin-left: auto;
  margin-right: auto;
  max-width: 79.375rem;
  padding: 0 0.9375rem; }
  .container-lg {
    max-width: 1768px; }

.wrapper {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: 1920px; }

.align-items-center, .header__grid, .header__search, .menu-toggle__state, .instagram-card__logo {
  align-items: center; }

.align-items-start {
  align-items: flex-start; }

.align-items-end {
  align-items: end; }

.justify-content-center, .instagram-card__logo {
  justify-content: center; }

.justify-content-between, .card__caption, .footer__bottom {
  justify-content: space-between; }

.place-items-center {
  place-items: center; }

.flex-wrap {
  flex-flow: wrap; }

.flex-column {
  flex-direction: column; }

.object-cover {
  width: 100%;
  height: 100%;
  object-fit: cover; }

.page {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto; }
  .page.hidden {
    opacity: 0; }

.flickity-slider {
  transition-property: transform;
  will-change: transform;
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear; }

.flickity-cell {
  transform: translateZ(0);
  transition-property: transform;
  will-change: transform; }

.loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  z-index: 9999;
  overflow: hidden;
  display: none; }
  .loader object {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 414px;
    height: 812px; }
    @media (min-width: 992px) {
      .loader object {
        width: 1920px;
        height: 1080px; } }

body {
  font-family: "Lausanne", sans-serif;
  font-size: 0.875rem;
  line-height: 1.1;
  color: #fff;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  background-color: #000; }
  @media (min-width: 992px) {
    body {
      font-size: 1rem; } }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: inherit;
  font-weight: 400;
  color: inherit;
  line-height: 1.1925; }

h1,
.h1 {
  font-size: 2.75rem; }
  @media (min-width: 992px) {
    h1,
    .h1 {
      font-size: 4rem; } }

h2,
.h2 {
  font-size: 2rem; }
  @media (min-width: 992px) {
    h2,
    .h2 {
      font-size: 3.5rem; } }

h3,
.h3 {
  font-size: 1.5rem; }
  @media (min-width: 992px) {
    h3,
    .h3 {
      font-size: 2rem; } }

h4,
.h4 {
  font-size: 1rem; }
  @media (min-width: 992px) {
    h4,
    .h4 {
      font-size: 1.5rem; } }

.small, .card__category {
  font-size: 0.625rem; }
  @media (min-width: 992px) {
    .small, .card__category {
      font-size: 0.75rem; } }

img.lazy {
  opacity: 0; }

img:not(.initial) {
  transition: opacity 1s; }

img.initial,
img.loaded,
img.swiper-lazy-loaded,
img.error {
  opacity: 1; }

img:not([src]) {
  visibility: hidden; }

.btn {
  font-family: "Lausanne", sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  color: #fff;
  font-weight: 400;
  padding: 0.8125rem 1.875rem;
  height: 3.375rem;
  transition: all 0.2s ease-in-out;
  text-transform: uppercase;
  border: 1px solid transparent;
  text-align: center; }

.link-primary {
  font-size: 0.875rem;
  letter-spacing: 0.0175rem; }
  @media (min-width: 992px) {
    .link-primary {
      font-size: 1rem;
      letter-spacing: 0.02rem; } }

.header__grid {
  grid-template-columns: repeat(3, 1fr);
  padding: 1.0625rem 0.625rem;
  min-height: 4.625rem; }
  @media (min-width: 992px) {
    .header__grid {
      padding: 0.625rem 1rem;
      min-height: initial; } }

.header__logo {
  padding-left: 0.75rem;
  padding-right: 0.75rem; }
  @media (max-width: 991.98px) {
    .header__logo img {
      width: 4.6875rem; } }

.header__search {
  justify-content: flex-end; }
  .header__search a {
    width: 1.5rem;
    height: 1.5rem; }

.menu-toggle {
  padding: 0;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.02rem; }
  @media (min-width: 992px) {
    .menu-toggle {
      font-size: 1.5rem;
      letter-spacing: 0; } }
  .menu-toggle--active .menu-toggle__state--static {
    display: none; }
  .menu-toggle--active .menu-toggle__state--active {
    display: block; }
  .menu-toggle__state svg {
    margin-right: 1rem; }
  @media (max-width: 991.98px) {
    .menu-toggle__state--static svg {
      display: none; } }
  .menu-toggle__state--active {
    display: none; }

.nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  height: 100vh;
  display: none;
  background-color: rgba(0, 0, 0, 0.5); }
  .nav-aside {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 475px;
    height: 100vh;
    background-color: #000; }
  .nav__header {
    padding: 1.75rem 0.625rem 1.625rem;
    border-bottom: 1px solid #fff;
    min-height: 74px; }
    @media (min-width: 992px) {
      .nav__header {
        padding: 1.25rem;
        min-height: initial; } }
  .nav__close {
    padding: 0; }
  .nav__body, .nav__footer {
    padding: 0.5rem 0.625rem; }
    @media (min-width: 992px) {
      .nav__body, .nav__footer {
        padding: 0.75rem 1rem 1.125rem; } }
  .nav__body {
    flex: 1; }
  .nav__footer {
    border-top: 1px solid #fff; }
    .nav__footer h6 {
      color: rgba(255, 255, 255, 0.6);
      margin-bottom: 0.625rem; }
  .nav__link {
    font-size: 2.75rem;
    line-height: 3.1625rem; }
    @media (min-width: 992px) {
      .nav__link {
        font-size: 3.5rem;
        line-height: 67px; } }
    .nav__link:hover, .nav__link--active {
      color: #e3fe8f; }
    .nav__link.inactive {
      opacity: .5; }
  .nav__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(20px);
    z-index: 0; }

.card > a {
  display: block; }

.card__img {
  width: 100%;
  height: 100px;
  object-fit: cover; }
  @media (min-width: 420px) {
    .card__img {
      height: 10rem; } }
  @media (min-width: 576px) {
    .card__img {
      height: 13.75rem; } }
  @media (min-width: 992px) {
    .card__img {
      height: 16.6875rem; } }
  @media (min-width: 1500px) {
    .card__img {
      height: 21.875rem; } }

.card__caption {
  margin-top: 0.25rem; }

.card:hover .card__caption {
  color: #e3fe8f; }

.card__category {
  text-transform: uppercase; }

.js-vimeo {
  cursor: pointer; }

.footer {
  background-color: #fff;
  color: #000;
  padding: 1.25rem 0.625rem 1.375rem;
  overflow: hidden; }
  @media (min-width: 992px) {
    .footer {
      padding: 0 0.9375rem 1.5625rem;
      margin-top: 1.5625rem; } }
  .footer__top {
    padding-bottom: 5.375rem; }
    @media (min-width: 992px) {
      .footer__top {
        padding-bottom: 14.25rem; } }
    .footer__top-title {
      font-size: 2.3125rem;
      text-transform: uppercase;
      white-space: nowrap; }
      @media (min-width: 768px) {
        .footer__top-title {
          font-size: 10vw; } }
      @media (min-width: 1440px) {
        .footer__top-title {
          font-size: 9.3125rem; } }
      .footer__top-title:hover a {
        color: #e3fe8f; }
  .footer__bottom {
    padding-top: 0.625rem;
    border-top: 1px solid #000; }
    @media (min-width: 992px) {
      .footer__bottom {
        padding-top: 1rem; } }
  .footer-nav {
    display: grid;
    grid-template-columns: repeat(2, 1fr); }
    @media (min-width: 992px) {
      .footer-nav {
        display: inline-flex;
        margin-left: -1rem; } }
    @media (min-width: 992px) {
      .footer-nav__item {
        padding-left: 1rem;
        padding-right: 1rem; } }
    @media (max-width: 991.98px) {
      .footer-nav__item:nth-child(2n+2) {
        text-align: right; } }
    .footer-nav__link {
      text-transform: uppercase; }
      @media (max-width: 991.98px) {
        .footer-nav__link {
          line-height: 1.625rem; } }
      .footer-nav__link:hover {
        text-decoration: underline; }
  .footer__copyright {
    text-transform: uppercase; }
    @media (max-width: 991.98px) {
      .footer__copyright {
        color: #262626;
        padding-top: 1.25rem;
        text-align: center; } }

.flickity-enabled {
  position: relative; }

.flickity-enabled:focus {
  outline: none; }

.flickity-viewport {
  overflow: hidden;
  position: relative;
  height: 100%;
  touch-action: pan-y; }

.flickity-slider {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0; }

.flickity-rtl .flickity-slider {
  left: unset;
  right: 0; }

/* draggable */
.flickity-enabled.is-draggable {
  -webkit-tap-highlight-color: transparent;
  user-select: none; }

.flickity-enabled.is-draggable .flickity-viewport {
  cursor: move;
  cursor: grab; }

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
  cursor: grabbing; }

/* ---- flickity-cell ---- */
.flickity-cell {
  position: absolute;
  left: 0; }

.flickity-rtl .flickity-cell {
  left: unset;
  right: 0; }

/* ---- flickity-button ---- */
.flickity-button {
  position: absolute;
  background: #fff;
  border: none;
  color: #333; }

.flickity-button:hover {
  background: white;
  cursor: pointer; }

.flickity-button:focus {
  outline: none; }

.flickity-button:active {
  opacity: 0.6; }

.flickity-button:disabled {
  opacity: 0.3;
  cursor: auto;
  /* prevent disabled button from capturing pointer up event. #716 */
  pointer-events: none; }

.flickity-button-icon {
  fill: currentColor; }

/* ---- previous/next buttons ---- */
.flickity-prev-next-button {
  top: 50%;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  /* vertically center */
  transform: translateY(-50%); }

.flickity-prev-next-button.previous {
  left: 10px; }

.flickity-prev-next-button.next {
  right: 10px; }

/* right to left */
.flickity-rtl .flickity-prev-next-button.previous {
  left: auto;
  right: 10px; }

.flickity-rtl .flickity-prev-next-button.next {
  right: auto;
  left: 10px; }

.flickity-prev-next-button .flickity-button-icon {
  position: absolute;
  left: 20%;
  top: 20%;
  width: 60%;
  height: 60%; }

/* ---- page dots ---- */
.flickity-page-dots {
  position: absolute;
  width: 100%;
  bottom: -25px;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap; }

.flickity-rtl .flickity-page-dots {
  direction: rtl; }

.flickity-page-dot {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  margin: 0 8px;
  background: #000;
  border-radius: 50%;
  cursor: pointer;
  appearance: none;
  border: none;
  text-indent: -9999px;
  overflow: hidden; }

.flickity-rtl .flickity-page-dot {
  text-indent: 9999px; }

.flickity-page-dot:focus {
  outline: none;
  box-shadow: 0 0 0 5px #19F; }

.flickity-page-dot.is-selected {
  background: #fff; }

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 99;
  overflow: auto; }
  .modal__dialog {
    display: table;
    padding: 0.625rem;
    width: 100%;
    height: 100%; }
    @media (min-width: 992px) {
      .modal__dialog {
        padding: 1rem; } }
    .modal__dialog-inner {
      display: table-cell;
      vertical-align: middle;
      width: 100%; }
  .modal__close {
    position: absolute;
    top: 1.8125rem;
    right: 0.625rem;
    background-color: transparent;
    border: 0;
    padding: 0;
    color: #000;
    text-transform: uppercase;
    line-height: 1; }
    @media (min-width: 992px) {
      .modal__close {
        top: 0;
        right: 0;
        font-size: 1.5rem;
        letter-spacing: 0.03rem; } }

@media (min-width: 480px) and (max-width: 1180px) {
  #video-frame {
    padding: 42.19% 0 0 0;
    position: relative; }
    #video-frame iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; } }

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 0;
  list-style: none; }
  .pagination-block {
    text-align: center;
    margin-top: 3.125rem;
    overflow: hidden; }
  .pagination .prev.disabled, .pagination .next.disabled {
    display: none; }

.page-link {
  position: relative;
  display: inline;
  color: #fff;
  text-decoration: none;
  transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  height: 100%;
  font-size: 16px; }

@media (prefers-reduced-motion: reduce) {
  .page-link {
    transition: none; } }

.page-link:hover {
  z-index: 2;
  color: #e3fe8f; }

.page-link:focus {
  z-index: 3;
  outline: 0; }

.page-item:not(:first- child) .page-link {
  margin-left: -1px; }

.page-link {
  padding: 0.3rem .3rem;
  background-color: transparent;
  border: 0; }

.page-item:first-child .page-link {
  border-top-left-radius: .25rem;
  border-bottom-left-radius: .25rem; }

.page-item:last-child .page-link {
  border-top-right-radius: .25rem;
  border-bottom-right-radius: .25rem; }

.page-item:not(.active) {
  display: none; }

.page-item.active {
  position: relative; }
  .page-item.active .page-link {
    color: #e3fe8f; }
  .page-item.active:not(:nth-last-child(2))::after {
    content: '/';
    top: 0;
    left: 2px;
    color: #fff; }

.bd-example .pagination {
  margin-top: .5rem;
  margin-bottom: .5rem; }

.pagination .prev {
  transform: scaleX(-1); }

@media (max-width: 991px) {
  .page-link {
    font-size: 14px; } }

.animate {
  opacity: 0;
  transform: translateY(15px);
  transition: all .6s ease; }
  .animate-fade {
    transform: initial;
    transition: all 1s ease; }
  .animate-inview {
    opacity: 1;
    transform: translateY(0); }
  .animate.delay-1, .animate.delay-2, .animate.delay-3 {
    transition-delay: .1s; }
  @media (min-width: 992px) {
    .animate.delay-2 {
      transition-delay: .2s; } }
  @media (min-width: 992px) {
    .animate.delay-3 {
      transition-delay: .3s; } }

.hero {
  padding-top: 3.25rem;
  padding-bottom: 3.125rem; }
  @media (min-width: 992px) {
    .hero {
      padding-top: 8.375rem;
      padding-bottom: 6.75rem; } }
  .hero__carousel {
    overflow: hidden; }
    .hero__carousel:not(.flickity-enabled) {
      display: flex; }
  .hero__slide {
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    flex-shrink: 0; }
    @media (min-width: 576px) {
      .hero__slide {
        padding-left: 8px;
        padding-right: 8px;
        width: 46.45%; } }
    .hero__slide h2,
    .hero__slide p {
      transition: all .3s ease; }
    .hero__slide p {
      display: none; }
    .hero__slide:hover h2,
    .hero__slide:hover p {
      color: #e3fe8f; }
  .hero__picture {
    height: 14.625rem; }
    @media (min-width: 576px) {
      .hero__picture {
        height: 17.5rem; } }
    @media (min-width: 992px) {
      .hero__picture {
        height: 19.375rem; } }
    @media (min-width: 1600px) {
      .hero__picture {
        height: 26.875rem; } }
    @media (min-width: 1800px) {
      .hero__picture {
        height: 29.6875rem; } }
  .hero__card {
    display: block; }
  .hero__subtitle {
    letter-spacing: 0.0125rem;
    margin-bottom: 0.125rem;
    text-transform: uppercase; }
    @media (min-width: 992px) {
      .hero__subtitle {
        margin-bottom: 0.25rem;
        letter-spacing: 0.015rem; } }
  .hero__title {
    font-size: 1.5rem;
    margin-top: 0.1875rem; }
    @media (min-width: 992px) {
      .hero__title {
        font-size: 2.5rem;
        line-height: 2.75rem;
        margin-top: 0; } }
  @media (min-width: 992px) {
    .hero__desc {
      margin-top: 0.125rem; } }

.hp-about {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media (min-width: 992px) {
    .hp-about {
      padding: 1.4375rem 1rem 1.125rem; } }
  .hp-about__grid {
    padding-top: 0.625rem;
    padding-bottom: 3.25rem;
    border-top: 1px solid #fff; }
    @media (min-width: 992px) {
      .hp-about__grid {
        display: grid;
        grid-template-columns: 1fr 2fr;
        padding-top: 0.8125rem;
        padding-bottom: 7.375rem;
        grid-gap: 0.625rem; } }
  @media (min-width: 992px) {
    .hp-about__column h4 {
      font-size: 32px; } }
  .hp-about__column h4:hover a {
    color: #e3fe8f; }
  .hp-about .h1 {
    line-height: 2.1875rem; }
    @media (max-width: 991.98px) {
      .hp-about .h1 {
        margin-top: 1.1875rem;
        font-size: 2rem; } }
    @media (min-width: 992px) {
      .hp-about .h1 {
        font-size: 56px;
        line-height: 3.625rem; } }
    .hp-about .h1 a {
      display: inline; }
      .hp-about .h1 a:hover {
        color: #e3fe8f; }

.hp-video {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media (min-width: 992px) {
    .hp-video {
      padding-left: 1rem;
      padding-right: 1rem; } }
  .hp-video__viewport {
    position: relative;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff; }
    @media (min-width: 992px) {
      .hp-video__viewport {
        padding-top: 1rem;
        padding-bottom: 1rem; } }
  .hp-video__frame {
    padding: 54.8% 0 0 0;
    position: relative;
    overflow: hidden; }
    @media (min-width: 1200px) {
      .hp-video__frame {
        height: 87vh; } }
    @media (max-width: 767.98px) {
      .hp-video__frame {
        height: 14.625rem;
        padding: 65.8% 0 0 0; } }
    .hp-video__frame-placholder,
    .hp-video__frame iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .hp-video__frame-placholder {
      display: flex;
      z-index: 2;
      transition: all .4s ease; }
      .hp-video__frame-placholder--hidden {
        opacity: 0;
        visibility: hidden; }
      .hp-video__frame-placholder picture {
        width: 100%; }
  .hp-video__play {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    padding: 0; }
    @media (max-width: 991.98px) {
      .hp-video__play svg {
        width: 2.5rem;
        height: 2.5rem; } }

.instagram {
  padding-top: 3.125rem;
  padding-bottom: 3.25rem; }
  @media (min-width: 992px) {
    .instagram {
      padding-top: 8.25rem;
      padding-bottom: 8.25rem; } }
  .instagram__slide {
    padding-left: 1.0625rem;
    padding-right: 1.0625rem;
    width: 76.27%; }
    @media (min-width: 992px) {
      .instagram__slide {
        width: 39.58%;
        padding-left: 2.125rem;
        padding-right: 2.125rem; } }
  .instagram-card {
    border-radius: 0.75rem;
    overflow: hidden;
    width: 100%; }
    .instagram-card__head {
      padding: 0.3125rem 0.5rem;
      background-color: #fff;
      color: #262626; }
      @media (min-width: 992px) {
        .instagram-card__head {
          padding: 0.59375rem 1rem; } }
    .instagram-card__logo {
      width: 1.375rem;
      height: 1.375rem;
      border-radius: 50%;
      background-color: #262626; }
      @media (min-width: 992px) {
        .instagram-card__logo {
          width: 2.6875rem;
          height: 2.6875rem; } }
      @media (max-width: 991.98px) {
        .instagram-card__logo img {
          width: 0.875rem; } }
    .instagram-card__title {
      margin-left: 1rem;
      font-size: 0.75rem; }
      @media (max-width: 991.98px) {
        .instagram-card__title {
          font-size: 0.625rem;
          margin-left: 0.5rem; } }
    .instagram-card__body {
      padding-bottom: 1.875rem;
      background-color: #fff; }
      @media (min-width: 992px) {
        .instagram-card__body {
          padding-bottom: 3.75rem; } }
    .instagram-card picture img {
      width: 100%;
      height: 100%;
      object-fit: cover; }

.search:not(.search-results):not(.search-no-results) {
  width: 100%;
  padding: 2.9375rem 0.625rem 19.75rem;
  background-color: #000; }
  @media (min-width: 992px) {
    .search:not(.search-results):not(.search-no-results) {
      padding: 3.9375rem 1rem 19.75rem; } }

.search--header {
  position: absolute;
  top: 4.375rem;
  left: 0;
  z-index: 999;
  display: none; }

.search--top:not(.search-results) {
  padding-bottom: 2.25rem !important; }
  @media (min-width: 992px) {
    .search--top:not(.search-results) {
      padding-bottom: 6.5rem !important; } }

.search-toggle {
  padding: 0;
  color: #f8f8f8; }
  @media (min-width: 992px) {
    .search-toggle {
      color: #fff; } }
  @media (max-width: 991.98px) {
    .search-toggle svg {
      width: 1rem;
      height: 1rem; } }

.search-form__input, .search-field {
  padding: 0;
  font-size: 2rem;
  background-color: transparent;
  border: 0;
  color: #fff;
  width: 100%; }
  .search-form__input::-webkit-input-placeholder, .search-field::-webkit-input-placeholder {
    /* WebKit browsers */
    color: #fff !important; }
  .search-form__input:-moz-placeholder, .search-field:-moz-placeholder {
    /* Mozilla Firefox 4 to 18 */
    color: #fff !important;
    opacity: 1 !important; }
  .search-form__input::-moz-placeholder, .search-field::-moz-placeholder {
    /* Mozilla Firefox 19+ */
    color: #fff !important;
    opacity: 1 !important; }
  .search-form__input:-ms-input-placeholder, .search-field:-ms-input-placeholder {
    /* Internet Explorer 10+ */
    color: #fff !important; }
  .search-form__input::placeholder, .search-field::placeholder {
    color: #fff !important; }
  @media (min-width: 992px) {
    .search-form__input, .search-field {
      font-size: 3.5rem; } }

.search-form__button {
  padding: 0;
  font-size: 0.875rem;
  text-transform: uppercase;
  margin-top: 1.25rem; }
  @media (min-width: 992px) {
    .search-form__button {
      font-size: 1rem;
      margin-top: 1.8125rem; } }

.search-result {
  padding: 0.875rem 0.625rem 3.25rem; }
  @media (min-width: 992px) {
    .search-result {
      padding: 0.875rem 1rem 10rem; } }
  .search-result__title {
    margin-bottom: 3.25rem; }
    @media (min-width: 992px) {
      .search-result__title {
        margin-bottom: 3.375rem; } }
  .search-result__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1.875rem 0.625rem; }
    @media (min-width: 992px) {
      .search-result__grid {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 3.375rem 1rem;
        margin-bottom: 30px; } }
    .search-result__grid .search-result__divider {
      margin-bottom: -2.75rem; }
  @media (max-width: 991.98px) {
    .search-result .card__category {
      display: none; } }
  .search-result .card__caption {
    margin-top: 0.125rem; }
  .search-result__divider {
    grid-column: 1/-1;
    margin-bottom: 0.75rem; }
  .search-result__pages {
    margin-top: 1.25rem; }
    @media (min-width: 992px) {
      .search-result__pages {
        margin-top: 3.125rem; } }

.search-no-results .page,
.page-template-page-search .page {
  min-height: 100vh;
  display: flex;
  flex-direction: column; }

.search-no-results .main,
.page-template-page-search .main {
  flex: 1 0 auto; }

.search-no-results #footer,
.page-template-page-search #footer {
  flex-shrink: 0; }

.work {
  padding: 2.9375rem 0.625rem 3.25rem; }
  @media (min-width: 992px) {
    .work {
      padding: 3.8125rem 1rem 10rem; } }
  .work__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 1.25rem 0.6875rem;
    margin-top: 2.9375rem; }
    @media (min-width: 992px) {
      .work__grid {
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 43px 17px;
        margin-top: 5.0625rem; } }
  .work-filter {
    overflow: hidden; }
    .work-filter__list {
      display: flex;
      overflow: auto;
      padding: 10px 0; }
    .work-filter__item {
      display: inline-block;
      margin-left: 20px; }
      @media (min-width: 992px) {
        .work-filter__item {
          margin-left: 60px; } }
      @media (min-width: 1440px) {
        .work-filter__item {
          margin-left: 102px; } }
      .work-filter__item:first-child {
        margin-left: 0; }
    .work-filter__link {
      white-space: nowrap; }
      @media (min-width: 992px) {
        .work-filter__link {
          font-size: 1.5rem; } }
      .work-filter__link:hover, .work-filter__link.current {
        color: #e3fe8f; }
  .work-pagination {
    text-align: center;
    margin-top: 52px;
    display: flex;
    align-items: center;
    justify-content: center; }
    .work-pagination .active, .work-pagination .count {
      margin: 0 2px; }
    .work-pagination .active a, .work-pagination .active span {
      color: #e3fe8f; }
    .work-pagination .count:before {
      content: '/';
      display: inline-block;
      position: relative;
      top: 0;
      left: -2px;
      color: #fff; }
    .work-pagination .prev svg {
      transform: rotate(-180deg); }
    .work-pagination .prev, .work-pagination .next {
      padding: 0 5px; }
    .work-pagination .page-numbers {
      display: none; }
    @media (min-width: 992px) {
      .work-pagination {
        margin-top: 130px; } }
    .work-pagination__group {
      display: inline-flex;
      align-items: center; }
    .work-pagination__position {
      margin: 0 10px; }
    .work-pagination__btn {
      display: inline-flex;
      border: 0;
      padding: 0;
      background-color: transparent; }
      .work-pagination__btn.disabled {
        opacity: 0;
        visibility: hidden;
        cursor: none; }

.vimeo-modal {
  background-color: #fff; }
  .vimeo-modal .modal__content {
    width: 100%;
    max-width: 1035px;
    margin-left: auto;
    margin-right: auto; }
    @media (min-width: 992px) {
      .vimeo-modal .modal__content {
        position: relative;
        padding-top: 2rem; } }
  @media (max-width: 374px) {
    .vimeo-modal #video-frame iframe {
      width: 100%;
      height: 100%; } }
  .vimeo-modal__details {
    padding-top: 0.25rem;
    color: #000; }
    @media (min-width: 992px) {
      .vimeo-modal__details {
        padding-top: 1.125rem; } }
    .vimeo-modal__details h3 {
      margin-bottom: 0.125rem;
      font-size: 1.5rem;
      line-height: 1; }
      @media (min-width: 992px) {
        .vimeo-modal__details h3 {
          font-size: 2.5rem;
          line-height: 2.75rem;
          margin-bottom: 1.125rem; } }
    @media (min-width: 992px) {
      .vimeo-modal__details .category {
        margin-left: 1.875rem; } }
    @media (max-width: 991.98px) {
      .vimeo-modal__details p {
        margin-top: 0.5rem; } }

.tab--active {
  color: #e3fe8f; }

.card__description {
  display: none; }

.card p {
  display: none; }

.about {
  padding: 54px 10px 52px; }
  @media (min-width: 992px) {
    .about {
      padding: 0 20px;
      height: 100vh;
      display: flex;
      flex-direction: column;
      justify-content: center; } }
  .about > h1 {
    font-size: 24px;
    margin-bottom: 30px; }
    @media (max-width: 991.98px) {
      .about > h1 {
        font-size: 16px;
        margin-bottom: 21px; } }
  .about__description {
    max-width: 650px; }
    @media (min-width: 992px) {
      .about__description {
        max-width: 937px; } }
    .about__description > h3 {
      line-height: 26px;
      margin-bottom: 22px; }
      @media (min-width: 992px) {
        .about__description > h3 {
          font-size: 40px;
          line-height: 45px;
          margin-bottom: 52px; } }
    .about__description--article {
      display: grid;
      grid-gap: 30px; }
      @media (min-width: 992px) {
        .about__description--article {
          grid-template-columns: repeat(2, 49%);
          grid-gap: 11px; } }
      .about__description--article > div, .about__description--article p {
        line-height: 18px; }
        @media (max-width: 991.98px) {
          .about__description--article > div, .about__description--article p {
            line-height: 15px; } }

.press {
  padding: 57px 10px 36px; }
  @media (min-width: 992px) {
    .press {
      padding: 69px 15px 103px; } }
  .press__container--item {
    display: grid;
    grid-gap: 54px;
    border-top: 1px solid #fff;
    padding: 8px 0 0; }
    @media (min-width: 992px) {
      .press__container--item {
        grid-template-columns: 32% 66%;
        grid-gap: 25px;
        padding: 16px 0 0; } }
    .press__container--item p {
      font-size: 16px; }
      @media (min-width: 992px) {
        .press__container--item p {
          font-size: 24px; } }
    .press__container--item a:hover {
      color: #e3fe8f; }
    .press__container--item article:first-child {
      padding: 0 0 16px; }
      @media (max-width: 991.98px) {
        .press__container--item article:first-child {
          padding: 0 0 12px; } }
    .press__container--item article:not(:first-child) {
      padding: 16px 0; }
      @media (max-width: 991.98px) {
        .press__container--item article:not(:first-child) {
          padding: 14px 0; } }
    .press__container--item article:not(:last-child) {
      border-bottom: 1px solid #fff; }
    .press__container--item article p, .press__container--item article img {
      margin-bottom: 10px; }
      @media (min-width: 992px) {
        .press__container--item article p, .press__container--item article img {
          margin-bottom: 23px; } }
    @media (max-width: 991.98px) {
      .press__container--item article img {
        width: 80px; } }

.contact {
  padding: 52px 10px 46px; }
  @media (min-width: 992px) {
    .contact {
      padding: 132px 16px 179px;
      min-height: 100vh; } }
  .contact__container {
    width: 100%;
    display: grid;
    grid-gap: 37px; }
    @media (min-width: 992px) {
      .contact__container {
        grid-template-columns: 30% 66%;
        grid-gap: 53px; } }
  .contact__address > h1 {
    font-size: 16px;
    margin-bottom: 22px; }
    @media (min-width: 992px) {
      .contact__address > h1 {
        font-size: 24px;
        margin-bottom: 28px; } }
  .contact__address address:not(:last-of-type) {
    margin-bottom: 12px; }
    @media (min-width: 992px) {
      .contact__address address:not(:last-of-type) {
        margin-bottom: 15px; } }
  .contact__address address h4, .contact__address address p {
    font-size: 16px; }
    @media (max-width: 991.98px) {
      .contact__address address h4, .contact__address address p {
        font-size: 14px; } }
  .contact__address address h4 {
    opacity: .5; }
    @media (max-width: 991.98px) {
      .contact__address address h4 {
        line-height: 15px; } }
  .contact__form {
    display: flex;
    flex-direction: column; }
    @media (min-width: 992px) {
      .contact__form {
        width: 100%;
        max-width: 458px;
        padding: 60px 0 0; } }
    .contact__form .input--wrapper {
      display: flex;
      flex-direction: column;
      margin-bottom: 26px; }
      @media (max-width: 991.98px) {
        .contact__form .input--wrapper {
          margin-bottom: 22px; } }
    .contact__form label {
      margin-bottom: 5px; }
      @media (max-width: 991.98px) {
        .contact__form label {
          margin-bottom: 3px; } }
    .contact__form input, .contact__form textarea {
      font-size: 16px;
      color: #fff;
      background-color: transparent;
      border: 1px solid #fff;
      padding: 12px 10px;
      width: 100%;
      resize: none; }
    .contact__form input[type="submit"] {
      border: none;
      width: fit-content;
      padding: 0;
      cursor: pointer; }
      .contact__form input[type="submit"]:hover {
        color: #e3fe8f; }
    .contact__form textarea {
      height: 141px;
      overflow: auto; }
    .contact__form p {
      margin-bottom: 15px; }
    .contact__form .wpcf7-spinner {
      display: none; }
    .contact__form .wpcf7-response-output {
      border: none !important;
      padding: 0 !important;
      margin: 0 !important; }

.wpcf7-form.sent .input--wrapper, .wpcf7-form.sent input[type="submit"] {
  display: none; }

.not_found {
  position: relative;
  overflow: hidden;
  height: 100vh; }
  @media (max-width: 767.98px) {
    .not_found {
      height: 60vh; } }
  @media (min-width: 768px) and (max-width: 992px) {
    .not_found {
      height: 88vh; } }
  .not_found-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 100%;
    transform: scale(1.2);
    z-index: -1; }
  .not_found-text {
    width: 100%;
    height: 100%;
    position: relative; }
    .not_found-text img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      -o-object-fit: cover; }
      @media (max-width: 767.98px) {
        .not_found-text img {
          object-fit: contain;
          -o-object-fit: contain; } }
    @media (max-width: 767.98px) {
      .not_found-text::before, .not_found-text::after {
        content: '';
        position: absolute;
        width: 100%;
        background-color: #000;
        left: 0;
        z-index: -1; } }
    @media (max-width: 767.98px) {
      .not_found-text::before {
        top: 0;
        height: 27%; } }
    @media (min-width: 630px) and (max-width: 767.8px) {
      .not_found-text::before {
        height: 24%; } }
    @media (max-width: 767.98px) {
      .not_found-text::after {
        bottom: 0;
        height: 30%; } }
  .not_found > h2 {
    width: 100%;
    max-width: 357px;
    font-size: 16px;
    line-height: 17px;
    color: #fff;
    text-align: center;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translate(-50%);
    z-index: 2;
    bottom: 20%; }
    @media (min-width: 768px) and (max-width: 992px) {
      .not_found > h2 {
        bottom: 107px; } }
    @media (max-width: 991.98px) {
      .not_found > h2 {
        font-size: 14px; } }
    .not_found > h2 a {
      text-decoration: underline; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY3NzIiwic291cmNlcyI6WyJpbmRleC5zY3NzIiwiZ2xvYmFsL2Z1bmN0aW9ucy9fcmVtLnNjc3MiLCJnbG9iYWwvX3ZhcmlhYmxlcy5zY3NzIiwiZ2xvYmFsL19taXhpbnMuc2NzcyIsImdsb2JhbC9taXhpbnMvX2JyZWFrcG9pbnQuc2NzcyIsImdsb2JhbC9taXhpbnMvX2NlbnRlci5zY3NzIiwiZ2xvYmFsL21peGlucy9fZmxleC5zY3NzIiwiZ2xvYmFsL21peGlucy9fZm9udHMuc2NzcyIsImdsb2JhbC9taXhpbnMvX2dyaWQuc2NzcyIsImdsb2JhbC9taXhpbnMvX3BsYWNlaG9sZGVyLnNjc3MiLCJnbG9iYWwvbWl4aW5zL19idXR0b25zLnNjc3MiLCJnbG9iYWwvbWl4aW5zL19jdXN0b20tZm9udHMuc2NzcyIsImdsb2JhbC9fcmVzZXQuc2NzcyIsImdsb2JhbC9mdW5jdGlvbnMvX3V0aWxpemVzLnNjc3MiLCJnbG9iYWwvX2Jhc2Uuc2NzcyIsImdsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiZ2xvYmFsL19sYXp5LnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXJTZWxlY3RyaWMuc2NzcyIsImNvbXBvbmVudHMvX3Byb21vdGlvbi5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19jYXJkLnNjc3MiLCJjb21wb25lbnRzL19mb290ZXIuc2NzcyIsImNvbXBvbmVudHMvX2Nhcm91c2VsLnNjc3MiLCJjb21wb25lbnRzL19tb2RhbC5zY3NzIiwiY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fYW5pbWF0aW9uLnNjc3MiLCJwYWdlcy9faG9tZS5zY3NzIiwicGFnZXMvX3NlYXJjaC5zY3NzIiwicGFnZXMvX3dvcmsuc2NzcyIsInBhZ2VzL19hYm91dC5zY3NzIiwicGFnZXMvX3ByZXNzLnNjc3MiLCJwYWdlcy9fY29udGFjdC5zY3NzIiwicGFnZXMvXzQwNC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vZnVuY3Rpb25zXHJcbkBpbXBvcnQgJy4vZ2xvYmFsL2Z1bmN0aW9ucy9yZW0nO1xyXG5cclxuLy9taXhpbnNcclxuQGltcG9ydCAnLi9nbG9iYWwvdmFyaWFibGVzJztcclxuQGltcG9ydCAnLi9nbG9iYWwvbWl4aW5zJztcclxuQGltcG9ydCAnLi9nbG9iYWwvcmVzZXQnO1xyXG5AaW1wb3J0ICcuL2dsb2JhbC9mdW5jdGlvbnMvdXRpbGl6ZXMnO1xyXG5AaW1wb3J0ICcuL2dsb2JhbC9iYXNlJztcclxuQGltcG9ydCAnLi9nbG9iYWwvdHlwb2dyYXBoeSc7XHJcblxyXG4vL2xhenkgXHJcbkBpbXBvcnQgJy4vZ2xvYmFsL2xhenknO1xyXG5cclxuLy8gQ29tcG9uZW50c1xyXG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvYnV0dG9ucyc7XHJcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9maWx0ZXJTZWxlY3RyaWMnO1xyXG5AaW1wb3J0ICcuL2NvbXBvbmVudHMvcHJvbW90aW9uJztcclxuQGltcG9ydCAnLi9jb21wb25lbnRzL2hlYWRlcic7XHJcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9jYXJkJztcclxuQGltcG9ydCAnLi9jb21wb25lbnRzL2Zvb3Rlcic7XHJcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9jYXJvdXNlbCc7XHJcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9tb2RhbCc7XHJcbkBpbXBvcnQgJy4vY29tcG9uZW50cy9wYWdpbmF0aW9uJztcclxuQGltcG9ydCAnLi9jb21wb25lbnRzL2FuaW1hdGlvbic7XHJcblxyXG5AaW1wb3J0ICcuL3BhZ2VzL2hvbWUnO1xyXG5AaW1wb3J0ICcuL3BhZ2VzL3NlYXJjaCc7XHJcbkBpbXBvcnQgJy4vcGFnZXMvd29yayc7XHJcbkBpbXBvcnQgJy4vcGFnZXMvYWJvdXQnO1xyXG5AaW1wb3J0ICcuL3BhZ2VzL3ByZXNzJztcclxuQGltcG9ydCAnLi9wYWdlcy9jb250YWN0JztcclxuQGltcG9ydCAnLi9wYWdlcy80MDQnOyIsIiRyZW0tYmFzZWxpbmU6IDE2cHggIWRlZmF1bHQ7XHJcbiRyZW0tZmFsbGJhY2s6IGZhbHNlICFkZWZhdWx0O1xyXG4kcmVtLXB4LW9ubHk6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuQGZ1bmN0aW9uIHJlbS1zZXBhcmF0b3IoJGxpc3QsICRzZXBhcmF0b3I6IGZhbHNlKSB7XHJcbiAgQGlmICRzZXBhcmF0b3IgPT0gXCJjb21tYVwiIG9yICRzZXBhcmF0b3IgPT0gXCJzcGFjZVwiIHtcclxuICAgIEByZXR1cm4gYXBwZW5kKCRsaXN0LCBudWxsLCAkc2VwYXJhdG9yKTtcclxuICB9IFxyXG4gIFxyXG4gIEBpZiBmdW5jdGlvbi1leGlzdHMoXCJsaXN0LXNlcGFyYXRvclwiKSA9PSB0cnVlIHtcclxuICAgIEByZXR1cm4gbGlzdC1zZXBhcmF0b3IoJGxpc3QpO1xyXG4gIH1cclxuXHJcbiAgLy8gbGlzdC1zZXBhcmF0b3IgcG9seWZpbGwgYnkgSHVnbyBHaXJhdWRlbCAoaHR0cHM6Ly9zYXNzLWNvbXBhdGliaWxpdHkuZ2l0aHViLmlvLyNsaXN0X3NlcGFyYXRvcl9mdW5jdGlvbilcclxuICAkdGVzdC1saXN0OiAoKTtcclxuICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XHJcbiAgICAkdGVzdC1saXN0OiBhcHBlbmQoJHRlc3QtbGlzdCwgJGl0ZW0sIHNwYWNlKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYoJHRlc3QtbGlzdCA9PSAkbGlzdCwgc3BhY2UsIGNvbW1hKTtcclxufVxyXG5cclxuQG1peGluIHJlbS1iYXNlbGluZSgkem9vbTogMTAwJSkge1xyXG4gIGZvbnQtc2l6ZTogJHpvb20gLyAxNnB4ICogJHJlbS1iYXNlbGluZTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIHJlbS1jb252ZXJ0KCR0bywgJHZhbHVlcy4uLikge1xyXG4gICRyZXN1bHQ6ICgpO1xyXG4gICRzZXBhcmF0b3I6IHJlbS1zZXBhcmF0b3IoJHZhbHVlcyk7XHJcbiAgXHJcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xyXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCB1bml0KCR2YWx1ZSkgPT0gXCJyZW1cIiBhbmQgJHRvID09IFwicHhcIiB7XHJcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUgLyAxcmVtICogJHJlbS1iYXNlbGluZSwgJHNlcGFyYXRvcik7XHJcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCB1bml0KCR2YWx1ZSkgPT0gXCJweFwiIGFuZCAkdG8gPT0gXCJyZW1cIiB7XHJcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUgLyAkcmVtLWJhc2VsaW5lICogMXJlbSwgJHNlcGFyYXRvcik7XHJcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBcImxpc3RcIiB7XHJcbiAgICAgICR2YWx1ZS1zZXBhcmF0b3I6IHJlbS1zZXBhcmF0b3IoJHZhbHVlKTtcclxuICAgICAgJHZhbHVlOiByZW0tY29udmVydCgkdG8sICR2YWx1ZS4uLik7XHJcbiAgICAgICR2YWx1ZTogcmVtLXNlcGFyYXRvcigkdmFsdWUsICR2YWx1ZS1zZXBhcmF0b3IpO1xyXG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlLCAkc2VwYXJhdG9yKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlLCAkc2VwYXJhdG9yKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEByZXR1cm4gaWYobGVuZ3RoKCRyZXN1bHQpID09IDEsIG50aCgkcmVzdWx0LCAxKSwgJHJlc3VsdCk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByZW0oJHZhbHVlcy4uLikge1xyXG4gIEBpZiAkcmVtLXB4LW9ubHkge1xyXG4gICAgQHJldHVybiByZW0tY29udmVydChweCwgJHZhbHVlcy4uLik7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuIHJlbS1jb252ZXJ0KHJlbSwgJHZhbHVlcy4uLik7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gcmVtKCRwcm9wZXJ0aWVzLCAkdmFsdWVzLi4uKSB7XHJcbiAgQGlmIHR5cGUtb2YoJHByb3BlcnRpZXMpID09IFwibWFwXCIge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5IGluIG1hcC1rZXlzKCRwcm9wZXJ0aWVzKSB7XHJcbiAgICAgIEBpbmNsdWRlIHJlbSgkcHJvcGVydHksIG1hcC1nZXQoJHByb3BlcnRpZXMsICRwcm9wZXJ0eSkpO1xyXG4gICAgfVxyXG4gIH0gQGVsc2Uge1xyXG4gICAgQGVhY2ggJHByb3BlcnR5IGluICRwcm9wZXJ0aWVzIHtcclxuICAgICAgQGlmICRyZW0tZmFsbGJhY2sgb3IgJHJlbS1weC1vbmx5IHtcclxuICAgICAgICAjeyRwcm9wZXJ0eX06IHJlbS1jb252ZXJ0KHB4LCAkdmFsdWVzLi4uKTtcclxuICAgICAgfVxyXG4gICAgICBAaWYgbm90ICRyZW0tcHgtb25seSB7XHJcbiAgICAgICAgI3skcHJvcGVydHl9OiByZW0tY29udmVydChyZW0sICR2YWx1ZXMuLi4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiR3aGl0ZTogI2ZmZiAhZGVmYXVsdDtcclxuJGJsYWNrLTcwMDogIzI2MjYyNiAhZGVmYXVsdDtcclxuJGJsYWNrOiAjMDAwICFkZWZhdWx0O1xyXG5cclxuLy9ncmF5XHJcbiRncmF5LTEwMDogI2Y4ZjhmOCAhZGVmYXVsdDtcclxuJGdyYXktMjAwOiAjZWNlY2VjICFkZWZhdWx0O1xyXG4kZ3JheS0zMDA6ICNlYmViZWIgIWRlZmF1bHQ7XHJcbiRncmF5LTQwMDogI2RjZGNkYyAhZGVmYXVsdDtcclxuJGdyYXktNTAwOiAjNjY2NjY2ICFkZWZhdWx0O1xyXG4kZ3JheS02MDA6ICMwZDBlMGYgIWRlZmF1bHQ7XHJcbiRncmF5LTcwMDogIzQ5NDk0OSAhZGVmYXVsdDtcclxuJGdyYXktODAwOiAjM2QzZDNkICFkZWZhdWx0O1xyXG4kZ3JheS05MDA6ICMyMzJkMzYgIWRlZmF1bHQ7XHJcblxyXG4vL2dyZWVuXHJcbiRncmVlbjogI2UzZmU4ZiAhZGVmYXVsdDtcclxuXHJcbi8vb3JnYW5lIFxyXG4kb3JhbmdlLTEwMCA6ICNmYWQzYjUgIWRlZmF1bHQ7XHJcbiRvcmFuZ2UtOTAwIDogI2ZmNTEwMCAhZGVmYXVsdDtcclxuXHJcblxyXG4kcHJpbWFyeTogJGdyZWVuO1xyXG4kYm9keVRleHQ6ICR3aGl0ZTtcclxuXHJcblxyXG4kZm9udC1mYW1pbHktcHJpbWFyeTogJ0xhdXNhbm5lJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuXHJcbiRib2R5LWZvbnQ6ICRmb250LWZhbWlseS1wcmltYXJ5O1xyXG5cclxuJGJhc2UtZm9udC1zaXplOiByZW0oMTZweCk7XHJcbiRiYXNlLWZvbnQtc2l6ZS1tOiByZW0oMTRweCk7XHJcbiRiYXNlLWxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiRiYXNlLWxldHRlci1zcGFjaW5nOiBub3JtYWw7XHJcblxyXG4kYmFzZS1yYWRpdXM6IHJlbSg0cHgpO1xyXG5cclxuJGV4dHJhLWxhcmdlLWZvbnQ6IDEwcmVtICFkZWZhdWx0O1xyXG4kZXh0cmEtbGFyZ2UtZm9udC1tOiA0LjVyZW0gIWRlZmF1bHQ7XHJcbiRoMS1mb250LXNpemU6IDRyZW0gIWRlZmF1bHQ7XHJcbiRoMS1mb250LXNpemUtbTogMi43NXJlbSAhZGVmYXVsdDtcclxuJGgyLWZvbnQtc2l6ZTogMy41cmVtICFkZWZhdWx0O1xyXG4kaDItZm9udC1zaXplLW06IDJyZW0gIWRlZmF1bHQ7XHJcbiRoMy1mb250LXNpemU6ICRoMi1mb250LXNpemUtbSAhZGVmYXVsdDtcclxuJGgzLWZvbnQtc2l6ZS1tOiAxLjVyZW0gIWRlZmF1bHQ7XHJcbiRoNC1mb250LXNpemU6ICRoMy1mb250LXNpemUtbSAhZGVmYXVsdDtcclxuJGg0LWZvbnQtc2l6ZS1tOiAxcmVtICFkZWZhdWx0O1xyXG5cclxuLy8gdGhlbWUgYnJlYWtwb2ludFxyXG4kbWVkaWEtYnJlYWstcG9pbnRzOiAoXHJcblx0eHM6IDAsXHJcblx0c206IDU3NnB4LFxyXG5cdG1kOiA3NjhweCxcclxuXHRsZzogOTkycHgsXHJcblx0eGw6IDEyMDBweCxcclxuXHR4eGw6IDE0NDBweCxcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vc3BhY2VcclxuJHNwYWNlOiAoXHJcblx0JzAnOiAwLFxyXG5cdCcxJzogcmVtKDRweCksXHJcblx0JzInOiByZW0oOHB4KSxcclxuXHQnMyc6IHJlbSgxMnB4KSxcclxuXHQnNCc6IHJlbSgxNnB4KSxcclxuXHQnNSc6IHJlbSgyMHB4KSxcclxuXHQnNic6IHJlbSgyNHB4KVxyXG4pICFkZWZhdWx0O1xyXG4iLCJAaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRcIixcclxuXCJtaXhpbnMvY2VudGVyXCIsXHJcblwibWl4aW5zL2ZsZXhcIixcclxuXCJtaXhpbnMvZm9udHNcIixcclxuXCJtaXhpbnMvZ3JpZFwiLFxyXG5cIm1peGlucy9wbGFjZWhvbGRlclwiLFxyXG5cIm1peGlucy9idXR0b25zXCIsXHJcblwibWl4aW5zL2N1c3RvbS1mb250c1wiO1xyXG5cclxuQGZ1bmN0aW9uIG1hdC1jb2xvcigkcGFsZXR0ZSwgJGh1ZTogZGVmYXVsdCwgJG9wYWNpdHk6IG51bGwpIHtcclxuXHJcbiAgICAvLyBJZiBodWVLZXkgaXMgYSBudW1iZXIgYmV0d2VlbiB6ZXJvIGFuZCBvbmUsIHRoZW4gaXQgYWN0dWFsbHkgY29udGFpbnMgYW5cclxuICAgIC8vIG9wYWNpdHkgdmFsdWUsIHNvIHJlY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggdGhlIGRlZmF1bHQgaHVlIGFuZCB0aGF0IGdpdmVuIG9wYWNpdHkuXHJcbiAgICBAaWYgdHlwZS1vZigkaHVlKT09bnVtYmVyIGFuZCAkaHVlPj0wIGFuZCAkaHVlIDw9MSB7XHJcbiAgICAgICAgQHJldHVybiBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQsICRodWUpO1xyXG4gICAgfVxyXG5cclxuICAgICRjb2xvcjogbWFwLWdldCgkcGFsZXR0ZSwgJGh1ZSk7XHJcbiAgICAkb3BhY2l0eTogaWYoJG9wYWNpdHk9PW51bGwsIG9wYWNpdHkoJGNvbG9yKSwgJG9wYWNpdHkpO1xyXG5cclxuICAgIEByZXR1cm4gcmdiYSgkY29sb3IsICRvcGFjaXR5KTtcclxufVxyXG5cclxuJGRlZmF1bHQtcGl4ZWw6IDE2O1xyXG5cclxuQGZ1bmN0aW9uIHJlbS1jYWwoJHRhcmdldC1waXhlbCkge1xyXG4gICAgQHJldHVybiAkdGFyZ2V0LXBpeGVsLyRkZWZhdWx0LXBpeGVsK3JlbTtcclxufVxyXG5cclxuQG1peGluIGFzcGVjdC1yYXRpby11cGRhdGUoJHdpZHRoLCAkaGVpZ2h0KSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBhc3BlY3QtcmF0aW8oJHdpZHRoLCAkaGVpZ2h0KSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAoJGhlaWdodCAvICR3aWR0aCkgKiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgID4qIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gb3BhY2l0eSgkdmFsdWUpIHtcclxuICAgICRJRVZhbHVlOiAkdmFsdWUgKiAxMDA7XHJcbiAgICBvcGFjaXR5OiAkdmFsdWU7XHJcbiAgICAtbXMtZmlsdGVyOiAncHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9JysgJElFVmFsdWUgKyAnKSc7XHJcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JElFVmFsdWUpO1xyXG59IiwiQGZ1bmN0aW9uIGdldC1icmVhay1wb2ludCgkc2l6ZTogc20pIHtcclxuICAgICRtZWRpYS1zaXplOiBtYXAtZ2V0KCRtZWRpYS1icmVhay1wb2ludHMsICRzaXplKTtcclxuICAgIEByZXR1cm4gJG1lZGlhLXNpemUrcHg7XHJcbn1cclxuXHJcbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cclxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSxcclxuICAgICRicmVha3BvaW50czogJG1lZGlhLWJyZWFrLXBvaW50cyxcclxuICAgICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XHJcbiAgICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcclxuICAgIEByZXR1cm4gaWYoJG4gIT1udWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksXHJcbiAgICAgICAgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLFxyXG4gICAgICAgIG51bGwpO1xyXG59XHJcblxyXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbWVkaWEtYnJlYWstcG9pbnRzKSB7XHJcbiAgICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xyXG4gICAgQHJldHVybiBpZigkbWluICE9MCwgJG1pbiwgbnVsbCk7XHJcbn1cclxuXHJcbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXHJcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbWVkaWEtYnJlYWstcG9pbnRzKSB7XHJcbiAgICAvLyRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XHJcbiAgICAvL0ByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcclxuICAgICRtYXg6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XHJcbiAgICBAcmV0dXJuIGlmKCRtYXggIT0wLCAkbWF4LCBudWxsKTtcclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxyXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbWVkaWEtYnJlYWstcG9pbnRzKSB7XHJcbiAgICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICBAaWYgJG1pbiB7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIHtcclxuICAgICAgICBAY29udGVudDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cclxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbWVkaWEtYnJlYWstcG9pbnRzKSB7XHJcbiAgICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcclxuXHJcbiAgICBAaWYgJG1heCB7XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICgkbWF4IC0gLjAycHgpKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXHJcbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlcixcclxuICAgICR1cHBlcixcclxuICAgICRicmVha3BvaW50czogJG1lZGlhLWJyZWFrLXBvaW50cykge1xyXG4gICAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xyXG5cclxuICAgIEBpZiAkbWluICE9bnVsbCBhbmQgJG1heCAhPW51bGwge1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2UgaWYgJG1heD09bnVsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xyXG4gICAgICAgICAgICBAY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGVsc2UgaWYgJG1pbj09bnVsbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxyXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cclxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxyXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRtZWRpYS1icmVhay1wb2ludHMpIHtcclxuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xyXG4gICAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XHJcblxyXG4gICAgQGlmICRtaW4gIT1udWxsIGFuZCAkbWF4ICE9bnVsbCB7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAZWxzZSBpZiAkbWF4PT1udWxsIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBlbHNlIGlmICRtaW49PW51bGwge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQ3VzdG9tIGRldmljZXNcclxuQG1peGluIG1lZGlhKCRtaW46IG51bGwsICRtYXg6IG51bGwpIHtcclxuICAgIEBpZiAoJG1pbiAhPW51bGwgYW5kICRtYXg9PW51bGwpIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xyXG4gICAgICAgICAgICBAY29udGVudCA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoJG1pbj09bnVsbCBhbmQgJG1heCAhPW51bGwpIHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xyXG4gICAgICAgICAgICBAY29udGVudCA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAoJG1pbiAhPW51bGwgYW5kICRtYXggIT1udWxsKSB7XHJcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50IDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvLyBEZWZpbmUgdmVydGljYWwsIGhvcml6b250YWwsIG9yIGJvdGggcG9zaXRpb25cclxuQG1peGluIGNlbnRlcigkcG9zaXRpb24pIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHJcbiAgICBAaWYgJHBvc2l0aW9uID09ICd2ZXJ0aWNhbCcge1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gICAgfSBAZWxzZSBpZiAkcG9zaXRpb24gPT0gJ2hvcml6b250YWwnIHtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlKTtcclxuICAgIH0gQGVsc2UgaWYgJHBvc2l0aW9uID09ICdib3RoJyB7XHJcbiAgICAgICAgdG9wOiA1MCU7XHJcbiAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgfVxyXG59XHJcbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vIEZsZXhib3ggU0FTUyBtaXhpbnNcclxuLy8gVGhlIHNwZWM6IGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gRmxleGJveCBkaXNwbGF5XHJcbkBtaXhpbiBmbGV4Ym94IHtcclxuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gSW5saW5lIGZsZXggZGlzcGxheVxyXG5AbWl4aW4gaW5saW5lLWZsZXgge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbn1cclxuXHJcbi8vIFRoZSAnZmxleCcgc2hvcnRoYW5kXHJcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtc1xyXG4vLyA8cG9zaXRpdmUtbnVtYmVyPiwgaW5pdGlhbCwgYXV0bywgb3Igbm9uZVxyXG5cclxuQG1peGluIGZsZXgoJGZnOiAxLCAkZnM6IDAsICRmYjogYXV0bykge1xyXG5cclxuICAgIC8vIFNldCBhIHZhcmlhYmxlIHRvIGJlIHVzZWQgYnkgYm94LWZsZXggcHJvcGVydGllc1xyXG4gICAgJGZnLWJveGZsZXg6ICRmZztcclxuXHJcbiAgICAvLyBCb3gtRmxleCBvbmx5IHN1cHBvcnRzIGEgZmxleC1ncm93IHZhbHVlIHNvIGxldHMgZ3JhYiB0aGVcclxuICAgIC8vIGZpcnN0IGl0ZW0gaW4gdGhlIGxpc3QgYW5kIGp1c3QgcmV0dXJuIHRoYXQuXHJcbiAgICBAaWYgdHlwZS1vZigkZmcpID09ICdsaXN0JyB7XHJcbiAgICAgICAgJGZnLWJveGZsZXg6IG50aCgkZmcsIDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC13ZWJraXQtYm94OiAkZmctYm94ZmxleDtcclxuICAgIC1tb3otYm94OiAkZmctYm94ZmxleDtcclxuICAgIC13ZWJraXQtZmxleDogJGZnICRmcyAkZmI7XHJcbiAgICAtbXMtZmxleDogJGZnICRmcyAkZmI7XHJcbiAgICBmbGV4OiAkZmcgJGZzICRmYjtcclxufVxyXG5cclxuLy8gRmxleCBGbG93IERpcmVjdGlvblxyXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggY29udGFpbmVyc1xyXG4vLyByb3cgKGRlZmF1bHQpIHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZVxyXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XHJcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSByb3ctcmV2ZXJzZSB7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xyXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcclxuICAgICAgICAtbW96LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XHJcbiAgICAgICAgLW1vei1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGNvbHVtbiB7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICAtbW96LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcclxuICAgICAgICAtbW96LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGNvbHVtbi1yZXZlcnNlIHtcclxuICAgICAgICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICAtbW96LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XHJcbiAgICAgICAgLW1vei1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xyXG4gICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcclxuICAgICAgICAtbW96LWJveC1kaXJlY3Rpb246IG5vcm1hbDtcclxuICAgICAgICAtbW96LWJveC1vcmllbnQ6IGhvcml6b250YWw7XHJcbiAgICB9XHJcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xyXG4gICAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XHJcbn1cclxuXHJcbi8vIEZsZXggTGluZSBXcmFwcGluZ1xyXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggY29udGFpbmVyc1xyXG4vLyBub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlXHJcbkBtaXhpbiBmbGV4LXdyYXAoJHZhbHVlOiBub3dyYXApIHtcclxuICAgIC8vIE5vIFdlYmtpdC9GRiBCb3ggZmFsbGJhY2suXHJcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogJHZhbHVlO1xyXG4gICAgQGlmICR2YWx1ZSA9PSBub3dyYXAge1xyXG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IG5vbmU7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAtbXMtZmxleC13cmFwOiAkdmFsdWU7XHJcbiAgICB9XHJcbiAgICBmbGV4LXdyYXA6ICR2YWx1ZTtcclxufVxyXG5cclxuLy8gRmxleCBEaXJlY3Rpb24gYW5kIFdyYXBcclxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGNvbnRhaW5lcnNcclxuLy8gPGZsZXgtZGlyZWN0aW9uPiB8fCA8ZmxleC13cmFwPlxyXG5AbWl4aW4gZmxleC1mbG93KCR2YWx1ZXM6IChyb3cgbm93cmFwKSkge1xyXG4gICAgZmxleC1mbG93OiAkdmFsdWVzO1xyXG59XHJcblxyXG4vLyBEaXNwbGF5IE9yZGVyXHJcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtc1xyXG4vLyA8aW50ZWdlcj5cclxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcclxuICAgIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6ICRpbnQgKyAxO1xyXG4gICAgLW1vei1ib3gtb3JkaW5hbC1ncm91cDogJGludCArIDE7XHJcbiAgICAtd2Via2l0LW9yZGVyOiAkaW50O1xyXG4gICAgLW1zLWZsZXgtb3JkZXI6ICRpbnQ7XHJcbiAgICBvcmRlcjogJGludDtcclxufVxyXG5cclxuLy8gRmxleCBncm93IGZhY3RvclxyXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggaXRlbXNcclxuLy8gPG51bWJlcj5cclxuQG1peGluIGZsZXgtZ3JvdygkaW50OiAxKSB7XHJcbiAgICAtd2Via2l0LWJveC1mbGV4OiAkaW50O1xyXG4gICAgLW1vei1ib3gtZmxleDogJGludDtcclxuICAgIC13ZWJraXQtZmxleC1ncm93OiAkaW50O1xyXG4gICAgLW1zLWZsZXg6ICRpbnQ7XHJcbiAgICBmbGV4LWdyb3c6ICRpbnQ7XHJcbn1cclxuXHJcbi8vIEZsZXggc2hyaW5rXHJcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtIHNocmluayBmYWN0b3JcclxuLy8gPG51bWJlcj5cclxuQG1peGluIGZsZXgtc2hyaW5rKCRpbnQ6IDApIHtcclxuICAgIC13ZWJraXQtZmxleC1zaHJpbms6ICRpbnQ7XHJcbiAgICAtbW96LWZsZXgtc2hyaW5rOiAkaW50O1xyXG4gICAgLW1zLWZsZXg6ICRpbnQ7XHJcbiAgICBmbGV4LXNocmluazogJGludDtcclxufVxyXG5cclxuLy8gRmxleCBiYXNpc1xyXG4vLyAtIHRoZSBpbml0aWFsIG1haW4gc2l6ZSBvZiB0aGUgZmxleCBpdGVtXHJcbi8vIC0gYXBwbGllcyB0bzogZmxleCBpdGVtc25pdGlhbCBtYWluIHNpemUgb2YgdGhlIGZsZXggaXRlbVxyXG4vLyA8d2lkdGg+XHJcbkBtaXhpbiBmbGV4LWJhc2lzKCR2YWx1ZTogYXV0bykge1xyXG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAkdmFsdWU7XHJcbiAgICBmbGV4LWJhc2lzOiAkdmFsdWU7XHJcbn1cclxuXHJcbi8vIEF4aXMgQWxpZ25tZW50XHJcbi8vIC0gYXBwbGllcyB0bzogZmxleCBjb250YWluZXJzXHJcbi8vIGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IHNwYWNlLWJldHdlZW4gfCBzcGFjZS1hcm91bmRcclxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcclxuICAgIEBpZiAkdmFsdWUgPT0gZmxleC1zdGFydCB7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XHJcbiAgICAgICAgLW1vei1ib3gtcGFjazogc3RhcnQ7XHJcbiAgICAgICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XHJcbiAgICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBmbGV4LWVuZCB7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogZW5kO1xyXG4gICAgICAgIC1tb3otYm94LXBhY2s6IGVuZDtcclxuICAgICAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XHJcbiAgICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBzcGFjZS1iZXR3ZWVuIHtcclxuICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xyXG4gICAgICAgIC1tb3otYm94LXBhY2s6IGp1c3RpZnk7XHJcbiAgICAgICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcclxuICAgIH0gQGVsc2UgaWYgJHZhbHVlID09IHNwYWNlLWFyb3VuZCB7XHJcbiAgICAgICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC13ZWJraXQtYm94LXBhY2s6ICR2YWx1ZTtcclxuICAgICAgICAtbW96LWJveC1wYWNrOiAkdmFsdWU7XHJcbiAgICAgICAgLW1zLWZsZXgtcGFjazogJHZhbHVlO1xyXG4gICAgfVxyXG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgIGp1c3RpZnktY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG4vLyBQYWNraW5nIEZsZXggTGluZXNcclxuLy8gLSBhcHBsaWVzIHRvOiBtdWx0aS1saW5lIGZsZXggY29udGFpbmVyc1xyXG4vLyBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaFxyXG5AbWl4aW4gYWxpZ24tY29udGVudCgkdmFsdWU6IHN0cmV0Y2gpIHtcclxuICAgIC8vIE5vIFdlYmtpdCBCb3ggRmFsbGJhY2suXHJcbiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICR2YWx1ZTtcclxuICAgIEBpZiAkdmFsdWUgPT0gZmxleC1zdGFydCB7XHJcbiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydDtcclxuICAgIH0gQGVsc2UgaWYgJHZhbHVlID09IGZsZXgtZW5kIHtcclxuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlO1xyXG4gICAgfVxyXG4gICAgYWxpZ24tY29udGVudDogJHZhbHVlO1xyXG59XHJcblxyXG4vLyBDcm9zcy1heGlzIEFsaWdubWVudFxyXG4vLyAtIGFwcGxpZXMgdG86IGZsZXggY29udGFpbmVyc1xyXG4vLyBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcclxuQG1peGluIGFsaWduLWl0ZW1zKCR2YWx1ZTogc3RyZXRjaCkge1xyXG4gICAgQGlmICR2YWx1ZSA9PSBmbGV4LXN0YXJ0IHtcclxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XHJcbiAgICAgICAgLW1vei1ib3gtYWxpZ246IHN0YXJ0O1xyXG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcclxuICAgIH0gQGVsc2UgaWYgJHZhbHVlID09IGZsZXgtZW5kIHtcclxuICAgICAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xyXG4gICAgICAgIC1tb3otYm94LWFsaWduOiBlbmQ7XHJcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC13ZWJraXQtYm94LWFsaWduOiAkdmFsdWU7XHJcbiAgICAgICAgLW1vei1ib3gtYWxpZ246ICR2YWx1ZTtcclxuICAgICAgICAtbXMtZmxleC1hbGlnbjogJHZhbHVlO1xyXG4gICAgfVxyXG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogJHZhbHVlO1xyXG4gICAgYWxpZ24taXRlbXM6ICR2YWx1ZTtcclxufVxyXG5cclxuLy8gQ3Jvc3MtYXhpcyBBbGlnbm1lbnRcclxuLy8gLSBhcHBsaWVzIHRvOiBmbGV4IGl0ZW1zXHJcbi8vIGF1dG8gfCBmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2hcclxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XHJcbiAgICAvLyBObyBXZWJraXQgQm94IEZhbGxiYWNrLlxyXG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkdmFsdWU7XHJcbiAgICBAaWYgJHZhbHVlID09IGZsZXgtc3RhcnQge1xyXG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0O1xyXG4gICAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gZmxleC1lbmQge1xyXG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICR2YWx1ZTtcclxuICAgIH1cclxuICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuIiwiLy8gQWRkaW5nIEZvbnQgU2l6ZXNcclxuQG1peGluIHRleHQoJHNpemU6IG51bGwsICRsaW5lSGVpZ2h0OiBudWxsLCAkY29sb3I6IG51bGwsICR3ZWlnaHQ6IG51bGwsICRsZXR0ZXItc3BhY2luZzogbnVsbCwgJGZvbnQ6IG51bGwpIHtcclxuICBAaWYgJGZvbnQgIT0gbnVsbCB7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnQ7XHJcbiAgfVxyXG5cclxuICBAaWYgJHNpemUgIT0gbnVsbCB7XHJcbiAgICBmb250LXNpemU6ICRzaXplO1xyXG4gIH1cclxuXHJcbiAgQGlmICRsaW5lSGVpZ2h0ICE9IG51bGwge1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0O1xyXG4gIH1cclxuICBcclxuICBAaWYgJGNvbG9yICE9IG51bGwge1xyXG4gICAgY29sb3I6ICRjb2xvcjtcclxuICB9XHJcblxyXG4gIEBpZiAkd2VpZ2h0ICE9IG51bGwge1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBAaWYgJGxldHRlci1zcGFjaW5nICE9IG51bGwge1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZztcclxuICB9XHJcbn1cclxuIiwiLy8gRW5zdXJlIENTUyBncmlkIHdvcmtzIHdpdGggSUUgMTEgc3BlYy5cclxuLy8gaHR0cHM6Ly9jc3MtdHJpY2tzLmNvbS9icm93c2VyLWNvbXBhdGliaWxpdHktY3NzLWdyaWQtbGF5b3V0cy1zaW1wbGUtc2Fzcy1taXhpbnMvXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlcywgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcclxuQG1peGluIGRpc3BsYXktZ3JpZCB7XHJcbiAgICBkaXNwbGF5OiAtbXMtZ3JpZCAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyAkY29sdW1ucyB2YWx1ZXMgc2hvdWxkIGJlIGRlbGltaXRlZCBieSBhIHNwYWNlXHJcbkBtaXhpbiBncmlkLXRlbXBsYXRlLWNvbHVtbnMoJGNvbHVtbnMuLi4pIHtcclxuICAgIC1tcy1ncmlkLWNvbHVtbnM6ICRjb2x1bW5zO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAkY29sdW1ucztcclxufVxyXG5cclxuLy8gJHJvd3MgdmFsdWVzIHNob3VsZCBiZSBkZWxpbWl0ZWQgYnkgYSBzcGFjZVxyXG5AbWl4aW4gZ3JpZC10ZW1wbGF0ZS1yb3dzKCRyb3dzLi4uKSB7XHJcbiAgICAtbXMtZ3JpZC1yb3dzOiAkcm93cztcclxuICAgIGdyaWQtdGVtcGxhdGUtcm93czogJHJvd3M7XHJcbn1cclxuXHJcbi8vIENhbiBiZSB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggYWJvdmUgZ3JpZC10ZW1wbGF0ZS1YIG1peGlucy5cclxuLy8gVGhlc2UgcmVzdWx0IGluIHRoZSBzYW1lIG91dHB1dDpcclxuLy8gQGluY2x1ZGUgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zKDEwcHggZ3JpZC1yZXBlYXQoNCwgMjBweCkgMzBweCk7XHJcbi8vIEBpbmNsdWRlIGdyaWQtdGVtcGxhdGUtY29sdW1ucygxMHB4IDIwcHggMjBweCAyMHB4IDIwcHggMzBweCk7XHJcbkBmdW5jdGlvbiBncmlkLXJlcGVhdCgkcmVwZWF0LCAkc3R1ZmY6IDFmcikge1xyXG4gICAgJGxpc3Q6ICgpO1xyXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkcmVwZWF0IHtcclxuICAgICAgICAkbGlzdDogYXBwZW5kKCRsaXN0LCAkc3R1ZmYsIHNwYWNlKTtcclxuICAgIH1cclxuICAgIEByZXR1cm4gJGxpc3Q7XHJcbn1cclxuXHJcbkBtaXhpbiBncmlkLWNvbHVtbigkY29sLXN0YXJ0LCAkY29sLWVuZCkge1xyXG4gICAgLW1zLWdyaWQtY29sdW1uOiAkY29sLXN0YXJ0O1xyXG4gICAgLW1zLWdyaWQtY29sdW1uLXNwYW46ICRjb2wtZW5kIC0gJGNvbC1zdGFydDtcclxuICAgIGdyaWQtY29sdW1uOiAjeyRjb2wtc3RhcnR9IC8gI3skY29sLWVuZH07XHJcbn1cclxuXHJcbkBtaXhpbiBncmlkLXJvdygkcm93LXN0YXJ0LCAkcm93LWVuZCkge1xyXG4gICAgLW1zLWdyaWQtcm93OiAkcm93LXN0YXJ0O1xyXG4gICAgLW1zLWdyaWQtcm93LXNwYW46ICRyb3ctZW5kIC0gJHJvdy1zdGFydDtcclxuICAgIGdyaWQtcm93OiAjeyRyb3ctc3RhcnR9IC8gI3skcm93LWVuZH07XHJcbn1cclxuXHJcbkBtaXhpbiBncmlkLWFsaWduLXNlbGYoJHZhbHVlKSB7XHJcbiAgICAtbXMtZ3JpZC1yb3ctYWxpZ246ICR2YWx1ZTtcclxuICAgIGFsaWduLXNlbGY6ICR2YWx1ZTtcclxufVxyXG5cclxuQG1peGluIGdyaWQtanVzdGlmeS1zZWxmKCR2YWx1ZSkge1xyXG4gICAgLW1zLWdyaWQtY29sdW1uLWFsaWduOiAkdmFsdWU7XHJcbiAgICBqdXN0aWZ5LXNlbGY6ICR2YWx1ZTtcclxufVxyXG4iLCJAbWl4aW4gcGxhY2Vob2xkZXItY29sb3IoJGNvbG9yKSB7XHJcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBXZWJLaXQgYnJvd3NlcnMgKi9cclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICY6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBNb3ppbGxhIEZpcmVmb3ggNCB0byAxOCAqL1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBNb3ppbGxhIEZpcmVmb3ggMTkrICovXHJcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICAvKiBJbnRlcm5ldCBFeHBsb3JlciAxMCsgKi9cclxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcclxuICB9XHJcbiAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIHBsYWNlaG9sZGVyIHtcclxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtAY29udGVudH1cclxuICAmOi1tb3otcGxhY2Vob2xkZXIgICAgICAgICAgIHtAY29udGVudH1cclxuICAmOjotbW96LXBsYWNlaG9sZGVyICAgICAgICAgIHtAY29udGVudH1cclxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciAgICAgIHtAY29udGVudH0gIFxyXG59XHJcbiIsIi8vYnV0dG9uc1xyXG5AbWl4aW4gYWRkQnV0dG9uKCRweDoxMCwgJHB5OjE1LCAkd2lkdGg6bnVsbCwgJGhlaWdodDpudWxsLCAgJGJvcmRlcjpmYWxzZSwgJGJvcmRlckNvbG9yOm51bGwsICRyOmZhbHNlKSB7XHJcbiAgICBwYWRkaW5nOiAkcHggJHB5O1xyXG5cclxuICAgIEBpZiAkaGVpZ2h0ICE9IG51bGwge1xyXG4gICAgICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIH1AZWxzZSB7XHJcbiAgICAgICAgaGVpZ2h0OiAkcHggKyAkcHk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICR3aWR0aCAhPSBudWxsIHtcclxuICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBAaWYgJGJvcmRlcntcclxuICAgICAgICBib3JkZXI6IHJlbSgxcHgpIHNvbGlkICRib3JkZXJDb2xvcjtcclxuICAgIH1AZWxzZSB7XHJcbiAgICAgICAgYm9yZGVyOiByZW0oMXB4KSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIH1cclxuXHJcbiAgICBAaWYgJHIgIT0gbnVsbCB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDUwcHgpO1xyXG4gICAgfVxyXG59XHJcbiIsIkBtaXhpbiBmb250LWZhY2UoJGZvbnQtbmFtZSwgJGZpbGUtbmFtZSwgJHdlaWdodDogbm9ybWFsLCAkc3R5bGU6IG5vcm1hbCkge1xyXG4gIEBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6IHF1b3RlKCRmb250LW5hbWUpO1xyXG4gICAgc3JjOiB1cmwoXCIuLi9mb250cy9cIisgJGZpbGUtbmFtZSArIFwiLmVvdFwiKTtcclxuICAgIHNyYzogdXJsKFwiLi4vZm9udHMvXCIrICRmaWxlLW5hbWUgKyBcIi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxyXG4gICAgdXJsKFwiLi4vZm9udHMvXCIrICRmaWxlLW5hbWUgKyBcIi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXHJcbiAgICB1cmwoXCIuLi9mb250cy9cIisgJGZpbGUtbmFtZSArIFwiLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcclxuICAgIHVybChcIi4uL2ZvbnRzL1wiKyAkZmlsZS1uYW1lICsgXCIuc3ZnIyN7JGZvbnQtbmFtZX1cIikgZm9ybWF0KFwic3ZnXCIpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkc3R5bGU7XHJcbiAgfVxyXG59XHJcbiIsIioge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbmh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSxcclxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLFxyXG5hLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsXHJcbmRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCxcclxuc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhcixcclxuYiwgdSwgaSwgY2VudGVyLFxyXG5kbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxyXG5maWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcclxudGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsXHJcbmFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLFxyXG5maWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsXHJcbm1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LFxyXG50aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICBmb250LXNpemU6IDEwMCU7XHJcbiAgZm9udDogaW5oZXJpdDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbn1cclxuLyogSFRNTDUgZGlzcGxheS1yb2xlIHJlc2V0IGZvciBvbGRlciBicm93c2VycyAqL1xyXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxyXG5mb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24ge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG5vbCwgdWwge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgbWFyZ2luOiAwO1xyXG5cdHBhZGRpbmc6IDA7XHJcblx0bGlzdC1zdHlsZTogbm9uZTtcclxufVxyXG5ibG9ja3F1b3RlLCBxIHtcclxuICBxdW90ZXM6IG5vbmU7XHJcbn1cclxuYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIsXHJcbnE6YmVmb3JlLCBxOmFmdGVyIHtcclxuICBjb250ZW50OiAnJztcclxuICBjb250ZW50OiBub25lO1xyXG59XHJcbnRhYmxlIHtcclxuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIGJvcmRlci1zcGFjaW5nOiAwO1xyXG59XHJcbmEge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRjb2xvcjogY3VycmVudENvbG9yO1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAmOmhvdmVyIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbmEsYnV0dG9uLGlucHV0LHRleHRhcmVhIHtcclxuICAmOmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b24ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcblxyXG5cdCY6Zm9jdXMsXHJcblx0JjphY3RpdmUge1xyXG5cdFx0b3V0bGluZTogMDtcclxuXHRcdGJveC1zaGFkb3c6IDAgMCAwO1xyXG5cdH1cclxuXHJcbiAgJi5yZXNldCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcbn1cclxuXHJcblxyXG5hLFxyXG5idXR0b24ge1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XHJcbn1cclxuXHJcblxyXG5waWN0dXJlIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuaW1nIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn0iLCIvL2dldCBzcGFjZVxyXG5AZnVuY3Rpb24gc3BhY2UoJGtleTogJzEnKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHNwYWNlLCAka2V5KTtcclxufVxyXG5cclxuXHJcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XHJcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcclxuICAgICAgICBAcmV0dXJuICR2YWx1ZTtcclxuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcclxuICAgICAgICAkXzogbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xyXG4gICAgfVxyXG5cclxuICAgICRyZXN1bHQ6IDA7XHJcbiAgICAkZGlnaXRzOiAwO1xyXG4gICAgJG1pbnVzOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKSA9PSAnLSc7XHJcbiAgICAkbnVtYmVyczogKFxyXG4gICAgICAgICcwJzogMCxcclxuICAgICAgICAnMSc6IDEsXHJcbiAgICAgICAgJzInOiAyLFxyXG4gICAgICAgICczJzogMyxcclxuICAgICAgICAnNCc6IDQsXHJcbiAgICAgICAgJzUnOiA1LFxyXG4gICAgICAgICc2JzogNixcclxuICAgICAgICAnNyc6IDcsXHJcbiAgICAgICAgJzgnOiA4LFxyXG4gICAgICAgICc5JzogOSxcclxuICAgICk7XHJcblxyXG4gICAgQGZvciAkaSBmcm9tIGlmKCRtaW51cywgMiwgMSkgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xyXG4gICAgICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkdmFsdWUsICRpLCAkaSk7XHJcblxyXG4gICAgICAgIEBpZiBub3QoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyPT0gJy4nKSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKFxyXG4gICAgICAgICAgICAgICAgaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksXHJcbiAgICAgICAgICAgICAgICBzdHItc2xpY2UoJHZhbHVlLCAkaSlcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpZiAkY2hhcmFjdGVyPT0gJy4nIHtcclxuICAgICAgICAgICAgJGRpZ2l0czogMTtcclxuICAgICAgICB9IEBlbHNlIGlmICRkaWdpdHM9PTAge1xyXG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgJGRpZ2l0czogJGRpZ2l0cyAqIDEwO1xyXG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAcmV0dXJuIGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcclxuICAgICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xyXG5cclxuICAgIEBpZiAkaW5kZXgge1xyXG4gICAgICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgK1xyXG4gICAgICAgICAgICBzdHItcmVwbGFjZShcclxuICAgICAgICAgICAgICAgIHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSxcclxuICAgICAgICAgICAgICAgICRzZWFyY2gsXHJcbiAgICAgICAgICAgICAgICAkcmVwbGFjZVxyXG4gICAgICAgICAgICApO1xyXG4gICAgfVxyXG5cclxuICAgIEByZXR1cm4gJHN0cmluZztcclxufVxyXG5cclxuXHJcbi8vdGV4dCBmb3JtYXQgY2VudGVyXHJcbkBlYWNoICRicmtwb2ludCwgJHZhbHVlIGluICRtZWRpYS1icmVhay1wb2ludHMge1xyXG4gICAgQGlmICRicmtwb2ludCA9PSAneHMnIHtcclxuICAgICAgICAudGV4dC1sZWZ0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRleHQtcmlnaHQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRleHQtY2VudGVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi8vZGlzcGxheSBibG9jaztcclxuQGVhY2ggJGJya3BvaW50LCAkdmFsdWUgaW4gJG1lZGlhLWJyZWFrLXBvaW50cyB7XHJcbiAgICBAaWYgJGJya3BvaW50ID09ICd4cycge1xyXG4gICAgICAgIC5kLW5vbmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZC1ibG9jayB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmQtZmxleCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuZC1pbmxpbmUtZmxleCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmQtaW5saW5lLWJsb2NrIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmQtZ3JpZCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnJrcG9pbnQpIHtcclxuICAgICAgICAgICAgLmQtI3skYnJrcG9pbnR9LWJsb2NrIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgLmQtI3skYnJrcG9pbnR9LWZsZXgge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuIiwiLy9pbmNsdWRlIG5vcm1hbGl6ZVxyXG5idXR0b24sXHJcbmlucHV0LFxyXG5vcHRncm91cCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcblx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1wcmltYXJ5O1xyXG59XHJcblxyXG50ZXh0YXJlYSxcclxuaW5wdXRbdHlwZT0ndGV4dCddLFxyXG5pbnB1dFt0eXBlPSd0ZWwnXSxcclxuaW5wdXRbdHlwZT0nZW1haWwnXSxcclxuaW5wdXRbdHlwZT0nYnV0dG9uJ10sXHJcbmlucHV0W3R5cGU9J3N1Ym1pdCddLFxyXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcclxuaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSB7XHJcblx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdGFwcGVhcmFuY2U6IG5vbmU7XHJcblx0Ym9yZGVyLXJhZGl1czogMDtcclxuXHRib3gtc2hhZG93OiAwIDAgMDtcclxufVxyXG5cclxuaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXHJcbmlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcclxuXHQtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3NlYXJjaCddOjotbXMtY2xlYXIge1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0d2lkdGg6IDA7XHJcblx0aGVpZ2h0OiAwO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LW1zLXJldmVhbCB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHR3aWR0aDogMDtcclxuXHRoZWlnaHQ6IDA7XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9J3NlYXJjaCddOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxyXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcclxuaW5wdXRbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxyXG5pbnB1dFt0eXBlPSdzZWFyY2gnXTo6LXdlYmtpdC1zZWFyY2gtcmVzdWx0cy1kZWNvcmF0aW9uIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuaW5wdXRbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG5cdC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuXHRtYXJnaW46IDA7XHJcbn1cclxuXHJcbnN0cm9uZyB7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuJWJnIHtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG5cdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG59XHJcblxyXG4uY29udGFpbmVyIHtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0bWF4LXdpZHRoOiByZW0oMTI3MHB4KTtcclxuXHRwYWRkaW5nOiByZW0oMCAxNXB4KTtcclxuXHJcblx0Ji1sZyB7XHJcblx0XHRAZXh0ZW5kIC5jb250YWluZXI7XHJcblx0XHRtYXgtd2lkdGg6IDE3NjhweDtcclxuXHR9XHJcbn1cclxuXHJcbi53cmFwcGVyIHtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiAxOTIwcHg7XHJcbn1cclxuXHJcbi5hbGlnbi1pdGVtcyB7XHJcblx0Ji1jZW50ZXIge1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdCYtc3RhcnQge1xyXG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0fVxyXG5cclxuXHQmLWVuZCB7XHJcblx0XHRhbGlnbi1pdGVtczogZW5kO1xyXG5cdH1cclxufVxyXG5cclxuLmp1c3RpZnktY29udGVudCB7XHJcblx0Ji1jZW50ZXIge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQmLWJldHdlZW4ge1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdH1cclxufVxyXG5cclxuLnBsYWNlLWl0ZW1zLWNlbnRlciB7XHJcblx0cGxhY2UtaXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLy9GbGV4XHJcbi5mbGV4IHtcclxuXHQmLXdyYXAge1xyXG5cdFx0ZmxleC1mbG93OiB3cmFwO1xyXG5cdH1cclxuXHJcblx0Ji1jb2x1bW4ge1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHR9XHJcbn1cclxuXHJcbi5vYmplY3QtY292ZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuLnBhZ2Uge1xyXG5cdG1heC13aWR0aDogMTkyMHB4O1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHJcblx0Ji5oaWRkZW4ge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5mbGlja2l0eSB7XHJcblx0Ji1zbGlkZXIge1xyXG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG5cdFx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcclxuXHRcdC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOyAgICBcclxuXHRcdHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjsgXHJcblx0fVxyXG5cclxuXHQmLWNlbGwge1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xyXG5cdFx0dHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xyXG5cdFx0d2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4ubG9hZGVyIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdGxlZnQ6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuXHR6LWluZGV4OiA5OTk5O1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHRcclxuXHJcblx0b2JqZWN0IHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDUwJTtcclxuXHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRcdHdpZHRoOiA0MTRweDtcclxuXHRcdGhlaWdodDogODEycHg7XHJcblxyXG5cdFx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0XHR3aWR0aDogMTkyMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEwODBweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59IiwiYm9keSB7XHJcblx0QGluY2x1ZGUgdGV4dCgkYmFzZS1mb250LXNpemUtbSwgMS4xLCAkYm9keVRleHQsIDQwMCwgbnVsbCwgJGJvZHktZm9udCk7XHJcblx0LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xyXG5cdC1tb3otdGV4dC1zaXplLWFkanVzdDogMTAwJTtcclxuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0Zm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XHJcblx0fVxyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuXHRmb250LWZhbWlseTogaW5oZXJpdDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGNvbG9yOiBpbmhlcml0O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjE5MjU7XHJcbn1cclxuXHJcbmgxLFxyXG4uaDEge1xyXG5cdGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZS1tO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRmb250LXNpemU6ICRoMS1mb250LXNpemU7XHJcblx0fVxyXG59XHJcblxyXG5oMixcclxuLmgyIHtcclxuXHRmb250LXNpemU6ICRoMi1mb250LXNpemUtbTtcclxuXHJcblx0QGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG5cdFx0Zm9udC1zaXplOiAkaDItZm9udC1zaXplO1xyXG5cdH1cclxufVxyXG5cclxuaDMsXHJcbi5oMyB7XHJcblx0Zm9udC1zaXplOiAkaDMtZm9udC1zaXplLW07XHJcblxyXG5cdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcclxuXHR9XHJcbn1cclxuXHJcbmg0LFxyXG4uaDQge1xyXG5cdGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZS1tO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRmb250LXNpemU6ICRoNC1mb250LXNpemU7XHJcblx0fVxyXG59XHJcblxyXG4uc21hbGwge1xyXG5cdGZvbnQtc2l6ZTogcmVtKDEwcHgpO1xyXG5cclxuXHRAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcblx0XHRmb250LXNpemU6IHJlbSgxMnB4KTtcclxuXHR9XHJcbn1cclxuIiwiaW1nLmxhenkge1xyXG4gICAgb3BhY2l0eTogMDtcclxufVxyXG5cclxuaW1nOm5vdCguaW5pdGlhbCkge1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcclxufVxyXG5cclxuaW1nLmluaXRpYWwsXHJcbmltZy5sb2FkZWQsXHJcbmltZy5zd2lwZXItbGF6eS1sb2FkZWQsXHJcbmltZy5lcnJvciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG59XHJcblxyXG5pbWc6bm90KFtzcmNdKSB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn0iLCIuYnRuIHtcclxuXHRAaW5jbHVkZSB0ZXh0KCRiYXNlLWZvbnQtc2l6ZSwgMS43LCAkd2hpdGUsIDQwMCwgbnVsbCwgJGZvbnQtZmFtaWx5LXByaW1hcnkpO1xyXG5cdHBhZGRpbmc6IHJlbSgxM3B4IDMwcHgpO1xyXG5cdGhlaWdodDogcmVtKDU0cHgpO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG5cclxuLmxpbmsge1xyXG5cdCYtcHJpbWFyeSB7XHJcblx0XHRAaW5jbHVkZSB0ZXh0KCRiYXNlLWZvbnQtc2l6ZS1tLCBudWxsLCBudWxsLCBudWxsLCAwLjAxNzVyZW0pO1xyXG5cclxuXHRcdEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuXHRcdFx0QGluY2x1ZGUgdGV4dCgkYmFzZS1mb250LXNpemUsIG51bGwsIG51bGwsIG51bGwsIDAuMDJyZW0pO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIiIsIiIsIi5oZWFkZXIge1xyXG4gICAgJl9fZ3JpZCB7XHJcbiAgICAgICAgQGV4dGVuZCAuZC1ncmlkO1xyXG4gICAgICAgIEBleHRlbmQgLmFsaWduLWl0ZW1zLWNlbnRlcjtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbSgxN3B4IDEwcHgpO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbSg3NHB4KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTBweCAxNnB4KTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbG9nbyB7XHJcbiAgICAgICAgQGV4dGVuZCAudGV4dC1jZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTJweCk7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDEycHgpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiByZW0oNzVweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc2VhcmNoIHtcclxuICAgICAgICBAZXh0ZW5kIC50ZXh0LXJpZ2h0O1xyXG4gICAgICAgIEBleHRlbmQgLmQtaW5saW5lLWZsZXg7XHJcbiAgICAgICAgQGV4dGVuZCAuYWxpZ24taXRlbXMtY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMjRweCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDI0cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1lbnUtdG9nZ2xlIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogcmVtKC4zMnB4KTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYtLWFjdGl2ZSB7XHJcbiAgICAgICAgLm1lbnUtdG9nZ2xlX19zdGF0ZSB7XHJcbiAgICAgICAgICAgICYtLXN0YXRpYyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYtLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9ja1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3N0YXRlIHtcclxuICAgICAgICBAZXh0ZW5kIC5kLWZsZXg7XHJcbiAgICAgICAgQGV4dGVuZCAuYWxpZ24taXRlbXMtY2VudGVyO1xyXG5cclxuICAgICAgICBzdmcge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbSgxNnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtLXN0YXRpYyB7XHJcbiAgICAgICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1hY3RpdmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5uYXYge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHotaW5kZXg6IDk5OTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XHJcblxyXG4gICAgJi1hc2lkZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA0NzVweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuICAgIH1cclxuXHJcbiAgICAmX19oZWFkZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbSgyOHB4IDEwcHggMjZweCk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICBtaW4taGVpZ2h0OiA3NHB4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgyMHB4KTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2xvc2Uge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYm9keSxcclxuICAgICZfX2Zvb3RlciB7XHJcbiAgICAgICAgcGFkZGluZzogcmVtKDhweCAxMHB4KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0oMTJweCAxNnB4IDE4cHgpOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYm9keSB7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgIH1cclxuXHJcbiAgICAmX19mb290ZXIge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGU7XHJcblxyXG4gICAgICAgIGg2IHtcclxuICAgICAgICAgICAgY29sb3I6IHJnYmEoJHdoaXRlLCAuNik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxMHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fbGluayB7XHJcbiAgICAgICAgZm9udC1zaXplOiAkaDEtZm9udC1zaXplLW07XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg1MC42cHgpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDY3cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgICYtLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYuaW5hY3RpdmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fb3ZlcmxheSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XHJcbiAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgICB6LWluZGV4OiAwO1xyXG4gICAgfVxyXG59IiwiLmNhcmQge1xyXG4gICAgLy8gcGFkZGluZy1ib3R0b206IHJlbSgxMHB4KTtcclxuXHJcbiAgICAmID4gYSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcblxyXG4gICAgJl9faW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSg0MjBweCkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgxNjBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDIyMHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMjY3cHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoMTUwMHB4KSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDM1MHB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2FwdGlvbiB7XHJcbiAgICAgICAgQGV4dGVuZCAuZC1sZy1mbGV4O1xyXG4gICAgICAgIEBleHRlbmQgLmp1c3RpZnktY29udGVudC1iZXR3ZWVuO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSg0cHgpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIgJl9fY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuXHJcbiAgICAmX19jYXRlZ29yeSB7XHJcbiAgICAgICAgQGV4dGVuZCAuc21hbGw7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIH1cclxufVxyXG5cclxuLmpzLXZpbWVvIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufSIsIi5mb290ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgY29sb3I6ICRibGFjaztcclxuICAgIHBhZGRpbmc6IHJlbSgyMHB4IDEwcHggMjJweCk7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBwYWRkaW5nOiByZW0oMCAxNXB4IDI1cHgpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgyNXB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmX190b3Age1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oODZweCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgyMjhweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXRpdGxlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzdweCk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwdnc7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNDlweCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIgYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZWVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2JvdHRvbSB7XHJcbiAgICAgICAgQGV4dGVuZCAuZC1sZy1mbGV4O1xyXG4gICAgICAgIEBleHRlbmQgLmp1c3RpZnktY29udGVudC1iZXR3ZWVuO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTBweCk7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRibGFjaztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDE2cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLW5hdiB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKC0xNnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxNnB4KTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxNnB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4rMikge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2xpbmsge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDI2cHgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NvcHlyaWdodCB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2stNzAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDIwcHgpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmZsaWNraXR5LWVuYWJsZWQge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZmxpY2tpdHktZW5hYmxlZDpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uZmxpY2tpdHktdmlld3BvcnQge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XHJcbn1cclxuXHJcbi5mbGlja2l0eS1zbGlkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG59XHJcblxyXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1zbGlkZXIge1xyXG4gICAgbGVmdDogdW5zZXQ7XHJcbiAgICByaWdodDogMDtcclxufVxyXG5cclxuLyogZHJhZ2dhYmxlICovXHJcblxyXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUge1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG59XHJcblxyXG4uZmxpY2tpdHktZW5hYmxlZC5pcy1kcmFnZ2FibGUgLmZsaWNraXR5LXZpZXdwb3J0IHtcclxuICAgIGN1cnNvcjogbW92ZTtcclxuICAgIGN1cnNvcjogZ3JhYjtcclxufVxyXG5cclxuLmZsaWNraXR5LWVuYWJsZWQuaXMtZHJhZ2dhYmxlIC5mbGlja2l0eS12aWV3cG9ydC5pcy1wb2ludGVyLWRvd24ge1xyXG4gICAgY3Vyc29yOiBncmFiYmluZztcclxufVxyXG5cclxuLyogLS0tLSBmbGlja2l0eS1jZWxsIC0tLS0gKi9cclxuXHJcbi5mbGlja2l0eS1jZWxsIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbn1cclxuXHJcbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LWNlbGwge1xyXG4gICAgbGVmdDogdW5zZXQ7XHJcbiAgICByaWdodDogMDtcclxufVxyXG5cclxuLyogLS0tLSBmbGlja2l0eS1idXR0b24gLS0tLSAqL1xyXG5cclxuLmZsaWNraXR5LWJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBjb2xvcjogIzMzMztcclxufVxyXG5cclxuLmZsaWNraXR5LWJ1dHRvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmZsaWNraXR5LWJ1dHRvbjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG4uZmxpY2tpdHktYnV0dG9uOmFjdGl2ZSB7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbn1cclxuXHJcbi5mbGlja2l0eS1idXR0b246ZGlzYWJsZWQge1xyXG4gICAgb3BhY2l0eTogMC4zO1xyXG4gICAgY3Vyc29yOiBhdXRvO1xyXG4gICAgLyogcHJldmVudCBkaXNhYmxlZCBidXR0b24gZnJvbSBjYXB0dXJpbmcgcG9pbnRlciB1cCBldmVudC4gIzcxNiAqL1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi5mbGlja2l0eS1idXR0b24taWNvbiB7XHJcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XHJcbn1cclxuXHJcbi8qIC0tLS0gcHJldmlvdXMvbmV4dCBidXR0b25zIC0tLS0gKi9cclxuXHJcbi5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uIHtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgd2lkdGg6IDQ0cHg7XHJcbiAgICBoZWlnaHQ6IDQ0cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAvKiB2ZXJ0aWNhbGx5IGNlbnRlciAqL1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG59XHJcblxyXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5wcmV2aW91cyB7XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbi5uZXh0IHtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4vKiByaWdodCB0byBsZWZ0ICovXHJcbi5mbGlja2l0eS1ydGwgLmZsaWNraXR5LXByZXYtbmV4dC1idXR0b24ucHJldmlvdXMge1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG59XHJcblxyXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wcmV2LW5leHQtYnV0dG9uLm5leHQge1xyXG4gICAgcmlnaHQ6IGF1dG87XHJcbiAgICBsZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uZmxpY2tpdHktcHJldi1uZXh0LWJ1dHRvbiAuZmxpY2tpdHktYnV0dG9uLWljb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMjAlO1xyXG4gICAgdG9wOiAyMCU7XHJcbiAgICB3aWR0aDogNjAlO1xyXG4gICAgaGVpZ2h0OiA2MCU7XHJcbn1cclxuXHJcbi8qIC0tLS0gcGFnZSBkb3RzIC0tLS0gKi9cclxuXHJcbi5mbGlja2l0eS1wYWdlLWRvdHMge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3R0b206IC0yNXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4uZmxpY2tpdHktcnRsIC5mbGlja2l0eS1wYWdlLWRvdHMge1xyXG4gICAgZGlyZWN0aW9uOiBydGw7XHJcbn1cclxuXHJcbi5mbGlja2l0eS1wYWdlLWRvdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMCA4cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLmZsaWNraXR5LXJ0bCAuZmxpY2tpdHktcGFnZS1kb3Qge1xyXG4gICAgdGV4dC1pbmRlbnQ6IDk5OTlweDtcclxufVxyXG5cclxuLmZsaWNraXR5LXBhZ2UtZG90OmZvY3VzIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCA1cHggIzE5RjtcclxufVxyXG5cclxuLmZsaWNraXR5LXBhZ2UtZG90LmlzLXNlbGVjdGVkIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbn0iLCIubW9kYWwge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yOiAjMDAwMDAwLCAkYWxwaGE6IC41KTtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcblxyXG4gICAgJl9fZGlhbG9nIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICBwYWRkaW5nOiByZW0oMTBweCk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSgxNnB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtaW5uZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY2xvc2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IHJlbSgyOXB4KTtcclxuICAgICAgICByaWdodDogcmVtKDEwcHgpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbSgwLjQ4cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3ZpZGVvLWZyYW1lIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhKDQ4MHB4LCAxMTgwcHgpIHtcclxuICAgICAgICBwYWRkaW5nOiA0Mi4xOSUgMCAwIDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuLnBhZ2luYXRpb24ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAmLWJsb2NrIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDUwcHgpO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAucHJldi5kaXNhYmxlZCwgLm5leHQuZGlzYWJsZWR7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGFnZS1saW5rIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpIHtcclxuICAgIC5wYWdlLWxpbmsge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wYWdlLWxpbms6aG92ZXIge1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGNvbG9yOiAkcHJpbWFyeTtcclxufVxyXG5cclxuLnBhZ2UtbGluazpmb2N1cyB7XHJcbiAgICB6LWluZGV4OiAzO1xyXG4gICAgb3V0bGluZTogMDtcclxufVxyXG5cclxuLnBhZ2UtaXRlbTpub3QoOmZpcnN0LSAgY2hpbGQpIC5wYWdlLWxpbmsge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XHJcbn1cclxuXHJcbi5wYWdlLWxpbmsge1xyXG4gICAgcGFkZGluZzogMC4zcmVtIC4zcmVtO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi5wYWdlLWl0ZW06Zmlyc3QtY2hpbGQgLnBhZ2UtbGluayB7XHJcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuMjVyZW07XHJcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAuMjVyZW07XHJcbn1cclxuXHJcbi5wYWdlLWl0ZW06bGFzdC1jaGlsZCAucGFnZS1saW5rIHtcclxuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuMjVyZW07XHJcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogLjI1cmVtO1xyXG59XHJcbi5wYWdlLWl0ZW06bm90KC5hY3RpdmUpe1xyXG4gICBkaXNwbGF5OiBub25lO1xyXG5cclxufVxyXG4ucGFnZS1pdGVtLmFjdGl2ZSB7XHJcbiAgICAucGFnZS1saW5re1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6bm90KDpudGgtbGFzdC1jaGlsZCgyKSk6OmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnLyc7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDJweDtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcbi5iZC1leGFtcGxlIC5wYWdpbmF0aW9uIHtcclxuICAgIG1hcmdpbi10b3A6IC41cmVtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XHJcbn1cclxuLnBhZ2luYXRpb24gLnByZXYge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xyXG59XHJcbkBtZWRpYShtYXgtd2lkdGg6IDk5MXB4KXtcclxuICAgIC5wYWdlLWxpbmt7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG59IiwiLmFuaW1hdGUge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNXB4KTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuNnMgZWFzZTtcclxuXHJcbiAgICAmLWZhZGUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICAgIH1cclxuXHJcbiAgICAmLWludmlldyB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XHJcbiAgICB9XHJcblxyXG4gICAgJi5kZWxheSB7XHJcbiAgICAgICAgJi0xLFxyXG4gICAgICAgICYtMixcclxuICAgICAgICAmLTMge1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuMXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLTJ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4ycztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi0zIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogLjNzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmhlcm8ge1xyXG4gICAgcGFkZGluZy10b3A6IHJlbSg1MnB4KTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTBweCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTM0cHgpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTA4cHgpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2Nhcm91c2VsIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAmOm5vdCguZmxpY2tpdHktZW5hYmxlZCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8uZmxpY2tpdHktYnV0dG9uIHtcclxuICAgICAgICAvLyAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcclxuICAgICAgICAvLyAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAvLyAgICB9XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLy8gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIC8vICAgICAgICB3aWR0aDogNDUlO1xyXG4gICAgICAgIC8vICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgLy9cclxuICAgICAgICAvLyAgICAgICAgJi5wcmV2aW91cyB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIC8vICAgICAgICAgICAgY3Vyc29yOiB1cmwoJ2h0dHBzOi8vZGVub2Z0aGlldmVzdGcud3BlbmdpbmUuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzA5L3NsaWRlLWFycm93LWxlZnQuc3ZnJyksIGF1dG87XHJcbiAgICAgICAgLy8gICAgICAgIH1cclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICAgICAmLm5leHQge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgLy8gICAgICAgICAgICBjdXJzb3I6IHVybCgnaHR0cHM6Ly9kZW5vZnRoaWV2ZXN0Zy53cGVuZ2luZS5jb20vd3AtY29udGVudC91cGxvYWRzLzIwMjIvMDkvc2xpZGUtYXJyb3ctcmlnaHQuc3ZnJyksIGF1dG87XHJcbiAgICAgICAgLy8gICAgICAgIH1cclxuICAgICAgICAvL1xyXG4gICAgICAgIC8vICAgICAgICBzdmcge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAvLyAgICAgICAgfVxyXG4gICAgICAgIC8vXHJcbiAgICAgICAgLy8gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgLy8gICAgICAgIH1cclxuICAgICAgICAvLyAgICB9XHJcbiAgICAgICAgLy99XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc2xpZGUge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0Ni40NSU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBoMixcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcblxyXG4gICAgICAgICAgICBoMixcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fcGljdHVyZSB7XHJcbiAgICAgICAgaGVpZ2h0OiByZW0oMjM0cHgpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDI4MHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMzEwcHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoMTYwMHB4KSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDQzMHB4KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKDE4MDBweCkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSg0NzVweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2NhcmQge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3N1YnRpdGxlIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKDAuMnB4KTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMnB4KTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0cHgpO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtKDAuMjRweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6ICRoMy1mb250LXNpemUtbTtcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0oM3B4KTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0MHB4KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg0NHB4KTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzYyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMnB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ocC1hYm91dCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxMHB4KTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxMHB4KTtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgcGFkZGluZzogcmVtKDIzcHggMTZweCAxOHB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDEwcHgpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTJweCk7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR3aGl0ZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTNweCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTE4cHgpO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogcmVtKDEwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19jb2x1bW4ge1xyXG4gICAgICAgIGg0IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmVlbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuaDEge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMzVweCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMTlweCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZS1tO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDU2cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNThweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaHAtdmlkZW8ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiByZW0oMTBweCk7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTBweCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDE2cHgpO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbSgxNnB4KTtcclxuICAgIH1cclxuXHJcbiAgICAmX192aWV3cG9ydCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTBweCk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxMHB4KTtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSgxNnB4KTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxNnB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZnJhbWUge1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IDU2LjI1JSAwIDAgMDtcclxuICAgICAgICBwYWRkaW5nOiA1NC44JSAwIDAgMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4bCkge1xyXG4gICAgICAgICAgICAvLyBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDg3dmg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMjM0cHgpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA2NS44JSAwIDAgMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtcGxhY2hvbGRlcixcclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYtcGxhY2hvbGRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNHMgZWFzZTtcclxuXHJcbiAgICAgICAgICAgICYtLWhpZGRlbiB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwaWN0dXJlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IHJlbSg3NzFweCk7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gaW1nIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fcGxheSB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyKCdib3RoJyk7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDQwcHgpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oNDBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbnN0YWdyYW0ge1xyXG4gICAgcGFkZGluZy10b3A6IHJlbSg1MHB4KTtcclxuICAgIHBhZGRpbmctYm90dG9tOiByZW0oNTJweCk7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0oMTMycHgpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTMycHgpO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3NsaWRlIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxN3B4KTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMTdweCk7XHJcbiAgICAgICAgd2lkdGg6IDc2LjI3JTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICB3aWR0aDogMzkuNTglO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgzNHB4KTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDM0cHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWNhcmQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSgxMnB4KTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAmX19oZWFkIHtcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtKDVweCA4cHgpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2stNzAwO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtKDkuNXB4IDE2cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19sb2dvIHtcclxuICAgICAgICAgICAgQGV4dGVuZCAuZC1mbGV4O1xyXG4gICAgICAgICAgICBAZXh0ZW5kIC5qdXN0aWZ5LWNvbnRlbnQtY2VudGVyO1xyXG4gICAgICAgICAgICBAZXh0ZW5kIC5hbGlnbi1pdGVtcy1jZW50ZXI7XHJcblxyXG4gICAgICAgICAgICB3aWR0aDogcmVtKDIycHgpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgyMnB4KTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stNzAwO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbSg0M3B4KTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogcmVtKDQzcHgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbSgxNHB4KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDE2cHgpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTBweCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDhweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2JvZHkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDMwcHgpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDYwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwaWN0dXJlIHtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIuc2VhcmNoIHtcclxuXHJcbiAgICAmOm5vdCguc2VhcmNoLXJlc3VsdHMpOm5vdCguc2VhcmNoLW5vLXJlc3VsdHMpIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiByZW0oNDdweCAxMHB4IDMxNnB4KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtKDYzcHggMTZweCAzMTZweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLWhlYWRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogcmVtKDcwcHgpO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgei1pbmRleDogOTk5O1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgJi0tdG9wOm5vdCguc2VhcmNoLXJlc3VsdHMpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDM2cHgpICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgxMDRweCkgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi10b2dnbGUge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRncmF5LTEwMDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgc3ZnIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDE2cHgpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTZweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1mb3JtIHtcclxuXHJcbiAgICAgICAgJl9faW5wdXQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBwbGFjZWhvbGRlci1jb2xvcigkd2hpdGUpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzMnB4KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbSg1NnB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fYnV0dG9uIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemUtbTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDIwcHgpO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMjlweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1yZXN1bHQge1xyXG4gICAgICAgIHBhZGRpbmc6IHJlbSgxNHB4IDEwcHggNTJweCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogcmVtKDE0cHggMTZweCAxNjBweCk7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgJl9fdGl0bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTJweCk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNTRweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2dyaWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgICAgICBncmlkLWdhcDogcmVtKDMwcHggMTBweCk7XHJcblxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiByZW0oNTRweCAxNnB4KTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5zZWFyY2gtcmVzdWx0X19kaXZpZGVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgtNDRweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jYXJkIHtcclxuICAgICAgICAgICAgJl9fY2F0ZWdvcnkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJl9fY2FwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMnB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fZGl2aWRlciB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxLy0xO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTJweCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19wYWdlcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgyMHB4KTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSg1MHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLWZpZWxkIHtcclxuICAgICAgICBAZXh0ZW5kIC5zZWFyY2gtZm9ybV9faW5wdXQ7XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG5cclxuLnNlYXJjaC1uby1yZXN1bHRzLFxyXG4ucGFnZS10ZW1wbGF0ZS1wYWdlLXNlYXJjaCB7XHJcbiAgICAucGFnZSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG5cclxuICAgIC5tYWluIHtcclxuICAgICAgICBmbGV4OiAxIDAgYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAjZm9vdGVyIHtcclxuICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgIH1cclxufVxyXG4iLCIud29yayB7XHJcbiAgICBwYWRkaW5nOiByZW0oNDdweCAxMHB4IDUycHgpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBwYWRkaW5nOiByZW0oNjFweCAxNnB4IDE2MHB4KVxyXG4gICAgfVxyXG5cclxuICAgICZfX2dyaWQge1xyXG4gICAgICAgIEBleHRlbmQgLmQtZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgIGdyaWQtZ2FwOiByZW0oMjBweCAxMXB4KTtcclxuICAgICAgICBtYXJnaW4tdG9wOiByZW0oNDdweCk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDQzcHggMTdweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDgxcHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBGaWx0ZXJcclxuICAgICYtZmlsdGVyIHtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuICAgICAgICAmX19saXN0IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2l0ZW0ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTAycHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2xpbmsge1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsICYuY3VycmVudCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1wYWdpbmF0aW9uIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTJweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLmFjdGl2ZSwgLmNvdW50e1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWN0aXZlIGEsIC5hY3RpdmUgc3BhbntcclxuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY291bnQ6YmVmb3Jle1xyXG4gICAgICAgICAgICBjb250ZW50OiAnLyc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0ycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmV2IHN2Z3t0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKX1cclxuICAgICAgICAucHJldiwgLm5leHR7cGFkZGluZzogMCA1cHh9XHJcbiAgICAgICAgLnBhZ2UtbnVtYmVycyB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fZ3JvdXAge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX3Bvc2l0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX19idG4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHJcbiAgICAgICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi8vdmltZW8tcGxheWVyIFxyXG4udmltZW8tbW9kYWwge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cclxuICAgIC5tb2RhbF9fY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDM1cHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbSgzMnB4KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI3ZpZGVvLWZyYW1lIHtcclxuICAgICAgICAvLyBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6IDYwM3B4O1xyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobnVsbCwgMzc0cHgpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAvLyAgICAgbWluLWhlaWdodDogNjAzcHg7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICBcclxuXHJcbiAgICAmX19kZXRhaWxzIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDRweCk7XHJcbiAgICAgICAgY29sb3I6ICRibGFjaztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDE4cHgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMnB4KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDBweCk7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDQ0cHgpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE4cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2F0ZWdvcnkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDMwcHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oOHB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRhYiB7XHJcbiAgICAmLS1hY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxufVxyXG4uY2FyZF9fZGVzY3JpcHRpb257XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5jYXJkIHB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59IiwiLmFib3V0IHtcclxuICAgIHBhZGRpbmc6IDU0cHggMTBweCA1MnB4O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcblxyXG4gICAgJiA+IGgxIHtcclxuICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIG1heC13aWR0aDogNjUwcHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MzdweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYgPiBoMyB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLS1hcnRpY2xlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDMwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDQ5JSk7XHJcbiAgICAgICAgICAgICAgICBncmlkLWdhcDogMTFweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJiA+IGRpdiwgcCB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi5wcmVzcyB7XHJcbiAgICBwYWRkaW5nOiA1N3B4IDEwcHggMzZweDtcclxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICBwYWRkaW5nOiA2OXB4IDE1cHggMTAzcHg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICAmLS1pdGVtIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDU0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwIDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzIlIDY2JTtcclxuICAgICAgICAgICAgICAgIGdyaWQtZ2FwOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGFydGljbGUge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBwLCBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLmNvbnRhY3Qge1xyXG4gICAgcGFkZGluZzogNTJweCAxMHB4IDQ2cHg7XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgIHBhZGRpbmc6IDEzMnB4IDE2cHggMTc5cHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAzN3B4O1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDY2JTtcclxuICAgICAgICAgICAgZ3JpZC1nYXA6IDUzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2FkZHJlc3Mge1xyXG4gICAgICAgICYgPiBoMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGFkZHJlc3Mge1xyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBoNCwgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBoNCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuXHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpe1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX2Zvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0NThweDtcclxuICAgICAgICAgICAgcGFkZGluZzogNjBweCAwIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuaW5wdXQtLXdyYXBwZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNnB4O1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKGxnKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpbnB1dCwgdGV4dGFyZWEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHJlc2l6ZTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRleHRhcmVhIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNDFweDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC53cGNmNy1zcGlubmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi53cGNmNy1mb3JtLnNlbnQgLmlucHV0LS13cmFwcGVyLCAud3BjZjctZm9ybS5zZW50IGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgZGlzcGxheTogbm9uZVxyXG59IiwiLm5vdF9mb3VuZCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgaGVpZ2h0OiAxMDB2aDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICBoZWlnaHQ6IDYwdmg7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKG1kLCBsZykge1xyXG4gICAgICAgIGhlaWdodDogODh2aDtcclxuICAgIH1cclxuXHJcbiAgICAmLXZpZGVvIHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XHJcbiAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICB9XHJcblxyXG4gICAgJi10ZXh0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgLW8tb2JqZWN0LWZpdDogY292ZXI7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XHJcbiAgICAgICAgICAgICAgICAtby1vYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjclO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKDYzMHB4LCA3NjcuOHB4KSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYgPiBoMiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAzNTdweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyKGhvcml6b250YWwpO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgYm90dG9tOiAyMCU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbihtZCwgbGcpIHtcclxuICAgICAgICAgICAgYm90dG9tOiAxMDdweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihsZykge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBWUFBLEFBQUEsQ0FBQyxDQUFDO0VBQ0EsVUFBVSxFQUFFLFVBQVUsR0FDdkI7O0FBRUQsQUFBQSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNO0FBQzdDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsR0FBRztBQUMxQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJO0FBQzFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtBQUN2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 */
