@charset "UTF-8";
:root {
  --transition-speed-slow: 0.5s;
  --transition-speed: 0.3s;
  --transition-speed-fast: 0.2s;
  --bezier: cubic-bezier(0.4, 0, 0.2, 1);
}

@layer reset, base, parts, components, uniq;
@layer reset {
  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: inherit;
    font-size: 100%;
    vertical-align: baseline;
  }
  html {
    line-height: 1;
  }
  ol, ul {
    list-style: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  caption, th, td {
    text-align: left;
    font-weight: normal;
    vertical-align: middle;
  }
  q, blockquote {
    quotes: none;
  }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none;
  }
  a img {
    border: none;
  }
  article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
    display: block;
  }
}
@layer base {
  * {
    box-sizing: border-box;
  }
  *:before,
*:after {
    box-sizing: border-box;
  }
  *:focus {
    outline: none;
  }
  html {
    font-size: calc(var(--fs-s) / 390 * 100vw);
    height: 100%;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  @media print, screen and (min-width: 768px) {
    html {
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  body {
    color: var(--color-text);
    background-color: var(--color-background-strong);
    font-feature-settings: var(--font-feature-settings);
    font-family: var(--font-family-ja);
    font-weight: 400;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: normal;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    font-size: calc(var(--fs-m) / 390 * 100vw);
    display: grid;
    grid-template: "header" auto "main" auto "footer" 1fr/100%;
    min-height: 100vh;
  }
  @media print, screen and (min-width: 768px) {
    body {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  body.is-fixed, body.fixed {
    overflow: hidden;
  }
  strong {
    font-weight: var(--font-weight-bold);
  }
  label {
    cursor: pointer;
  }
  a {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
  }
  a[href^="tel:"] {
    color: inherit;
  }
  abbr {
    text-decoration: none;
  }
  button {
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: inherit;
    text-align: inherit;
  }
  @media print, screen and (min-width: 768px) {
    br.sp-only {
      display: none;
    }
  }
  br.pc-only {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    br.pc-only {
      display: inline;
    }
  }
  :where(button, [type=button], [type=reset], [type=submit]) {
    touch-action: manipulation;
  }
  :where(:-moz-any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
    cursor: pointer;
  }
  :where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
    cursor: pointer;
  }
  :focus:not(:focus-visible) {
    outline: none;
  }
  sup,
sub {
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    position: relative;
    font-size: 0.75em;
  }
  sup {
    bottom: 0.75ex;
  }
  sub {
    top: 0.5ex;
  }
  img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .svg_def {
    display: none;
  }
  svg {
    height: auto;
  }
  pre {
    white-space: pre-wrap;
  }
  html.lenis,
html.lenis body {
    height: auto;
  }
  .lenis.lenis-smooth {
    scroll-behavior: auto !important;
  }
  .lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain;
  }
  .lenis.lenis-stopped {
    overflow: hidden;
  }
  .lenis.lenis-scrolling iframe {
    pointer-events: none;
  }
  html.is-changing .transition-fade {
    transition: opacity 0.5s;
    opacity: 1;
  }
  html.is-animating .transition-fade {
    transition: opacity 0.5s;
    opacity: 0;
  }
  .hidden-sp {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    .hidden-sp {
      display: unset;
    }
  }
  @media print, screen and (min-width: 768px) {
    .hidden-pc {
      display: none;
    }
  }
  @media print, screen and (min-width: 1080px) {
    .hidden-over-tbl {
      display: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .hidden-over-tb {
      display: none;
    }
  }
  @media print, screen and (min-width: 375px) {
    .hidden-over-sp {
      display: none;
    }
  }
  .visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  main {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    overflow: clip;
    grid-area: main;
    padding-top: calc(60 / 390 * 100vw);
    /*
    @include mq() {
      &:has(.leftArea) {
        display: grid;
        grid-template:
          "left content" auto
          / auto pc(745px);
        width: pc(1143px);
        margin-inline: auto;
        .leftArea {
          grid-area: left;
        }
        .contentArea {
          grid-area: content;
        }
      }
    }
    */
  }
  @media print, screen and (min-width: 768px) {
    main {
      padding-top: min(100px, calc(100 / 1440 * 100vw));
    }
  }
  header {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: header;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 100;
    transition: translate var(--transition-speed-slow) var(--bezier), background-color var(--transition-speed-slow) var(--bezier);
    background-color: transparent;
  }
  body.is-down header {
    translate: 0 -120%;
    transition-timing-function: var(--bezier);
  }
  body.is-fixed header {
    translate: 0 -120%;
    transition-timing-function: var(--bezier);
  }
  body.is-scroll header {
    background-color: var(--color-background-strong);
  }
  @media print {
    header {
      position: absolute;
    }
  }
  header .inner {
    padding-inline: calc(18 / 390 * 100vw);
    position: relative;
    height: calc(60 / 390 * 100vw);
    display: flex;
    align-items: center;
  }
  @media print, screen and (min-width: 768px) {
    header .inner {
      height: min(100px, calc(100 / 1440 * 100vw));
      justify-content: space-between;
      padding-inline: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  header .inner #logo {
    position: relative;
    z-index: 100;
  }
  header .inner #logo a {
    display: block;
    width: calc(179 / 390 * 100vw);
    aspect-ratio: 179/15;
    -webkit-mask-image: url(/images/logo.svg);
    mask-image: url(/images/logo.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-black);
    transition: background-color var(--transition-speed-fast) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    header .inner #logo a {
      width: min(340px, calc(340 / 1440 * 100vw));
    }
  }
  header .inner #logo a:hover {
    background-color: var(--color-gray);
  }
  #menuButton {
    cursor: pointer;
    position: absolute;
    right: calc(6 / 390 * 100vw);
    z-index: 100;
    border-radius: 50%;
    background-color: var(--color-black);
    aspect-ratio: 1/1;
    width: calc(48 / 390 * 100vw);
    border: 1px solid var(--color-black);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color var(--transition-speed-fast) var(--bezier), border-color var(--transition-speed-fast) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    #menuButton {
      display: none;
    }
  }
  #menuButton .lines {
    position: relative;
    width: calc(24 / 390 * 100vw);
    height: calc(24 / 390 * 100vw);
  }
  #menuButton .lines span {
    position: absolute;
    left: calc(2 / 390 * 100vw);
    width: calc(20 / 390 * 100vw);
    height: calc(2 / 390 * 100vw);
    background: var(--color-surface);
    border-radius: calc(var(--border-radius-pill) / 390 * 100vw);
    transition: transform var(--transition-speed) var(--bezier), background-color var(--transition-speed) var(--bezier) 0.2s, top var(--transition-speed) var(--bezier) 0.2s;
  }
  #menuButton .lines span.line01 {
    top: calc(6 / 390 * 100vw);
  }
  #menuButton .lines span.line02 {
    top: calc(11 / 390 * 100vw);
  }
  #menuButton .lines span.line03 {
    top: calc(16 / 390 * 100vw);
    width: calc(12 / 390 * 100vw);
  }
  #menuButton.show {
    background-color: var(--color-surface);
    border-color: var(--color-border);
  }
  #menuButton.show .lines span {
    background-color: var(--color-black);
    top: calc(11 / 390 * 100vw);
    transition: background-color var(--transition-speed) var(--bezier), top var(--transition-speed) var(--bezier), opacity var(--transition-speed) var(--bezier), transform var(--transition-speed) var(--bezier) 0.2s;
  }
  #menuButton.show .lines span.line01 {
    transform: rotateZ(45deg);
  }
  #menuButton.show .lines span.line02 {
    transform: rotateZ(-45deg);
  }
  #menuButton.show .lines span.line03 {
    opacity: 0;
  }
  #lang {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(16 / 390 * 100vw);
    margin-top: calc(32 / 390 * 100vw);
    padding-block: calc(18 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #lang {
      gap: min(4px, calc(4 / 1440 * 100vw));
      justify-content: unset;
      margin-top: unset;
      padding-block: unset;
    }
  }
  #lang li {
    display: flex;
    align-items: center;
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #lang li {
      gap: min(4px, calc(4 / 1440 * 100vw));
    }
  }
  #lang li:last-child::after {
    content: none;
  }
  #lang li::after {
    content: "/";
    display: block;
    color: var(--color-gray-weak);
    font-family: var(--font-family-en);
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: var(--font-weight-medium);
    line-height: 120%;
  }
  @media print, screen and (min-width: 768px) {
    #lang li::after {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  #lang li a {
    color: var(--color-gray);
    font-family: var(--font-family-en);
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: var(--font-weight-regular);
    line-height: 120%;
    letter-spacing: 0.42px;
    text-decoration: underline;
    transition: color var(--transition-speed-fast) var(--bezier);
    text-transform: uppercase;
  }
  @media print, screen and (min-width: 768px) {
    #lang li a {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    #lang li a:hover {
      text-decoration: none;
      color: var(--color-brand);
    }
  }
  #lang li a.is-active {
    color: inherit;
    font-weight: var(--font-weight-medium);
    text-decoration: none;
  }
  @media print, screen and (min-width: 768px) {
    #lang li a .sp {
      display: none;
    }
  }
  #lang li a .pc {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    #lang li a .pc {
      display: block;
    }
  }
  #gnav {
    position: fixed;
    inset: 0;
    z-index: 90;
    background-color: var(--color-background-strong);
    padding-top: calc(60 / 390 * 100vw);
    pointer-events: none;
    opacity: 0;
    transition: opacity var(--transition-speed-slow) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    #gnav {
      position: static;
      opacity: 1;
      padding-inline: unset;
      background-color: transparent;
      padding-block: unset;
      pointer-events: auto;
    }
  }
  #gnav.show {
    pointer-events: auto;
    opacity: 1;
  }
  #gnav.show .gnavinner {
    translate: 0;
    opacity: 1;
  }
  #gnav .gnavinner {
    border-top: 1px solid var(--color-border);
    padding-inline: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-block: calc(24 / 390 * 100vw) calc(32 / 390 * 100vw);
    height: 100%;
    overflow: auto;
    scrollbar-color: transparent transparent;
    opacity: 0;
    transition: opacity var(--transition-speed-slow) var(--bezier), translate var(--transition-speed-slow) var(--bezier);
    background-color: var(--color-background-strong);
  }
  @media print, screen and (min-width: 768px) {
    #gnav .gnavinner {
      display: flex;
      align-items: center;
      gap: min(32px, calc(32 / 1440 * 100vw));
      opacity: 1;
      translate: 0;
      padding: unset;
      border: none;
      background-color: transparent;
    }
  }
  @media print, screen and (min-width: 768px) {
    #gnav .gnavinner .main {
      display: flex;
      align-items: center;
      gap: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #gnav .gnavinner .main li {
    border-bottom: 1px solid var(--color-border);
    font-size: calc(var(--fs-s) / 390 * 100vw);
    line-height: 140%;
    font-weight: var(--font-weight-medium);
  }
  @media print, screen and (min-width: 768px) {
    #gnav .gnavinner .main li {
      border-bottom: none;
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 120%;
    }
  }
  @media print, screen and (min-width: 768px) {
    #gnav .gnavinner .main li.toppage {
      display: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    #gnav .gnavinner .main li.contactSP {
      display: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    #gnav .gnavinner .main li.is-active a {
      color: var(--color-brand);
    }
  }
  @media (any-hover: hover) {
    #gnav .gnavinner .main li:hover a {
      color: var(--color-brand);
    }
  }
  #gnav .gnavinner .main li a {
    padding-block: calc(16 / 390 * 100vw);
    padding-inline: calc(8 / 390 * 100vw);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: calc(12 / 390 * 100vw);
    align-items: center;
    position: relative;
    transition: color var(--transition-speed) var(--bezier);
  }
  #gnav .gnavinner .main li a::after {
    content: "";
    display: block;
    width: calc(20 / 390 * 100vw);
    height: calc(20 / 390 * 100vw);
    -webkit-mask-image: url(/images/icon_arrow_s.svg);
    mask-image: url(/images/icon_arrow_s.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    background-color: var(--color-black);
  }
  @media print, screen and (min-width: 768px) {
    #gnav .gnavinner .main li a::after {
      content: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    #gnav .gnavinner .main li a:not(.contact) {
      padding-block: min(20px, calc(20 / 1440 * 100vw));
      padding-inline: unset;
      gap: unset;
      display: block;
    }
    #gnav .gnavinner .main li a:not(.contact):hover::before {
      background-color: var(--color-brand);
    }
  }
  #gnav .gnavinner .main li ul {
    border-top: 1px solid var(--color-border);
  }
  @media print, screen and (min-width: 768px) {
    #gnav .gnavinner .main li ul {
      display: none;
    }
  }
  #gnav .gnavinner .main li ul li {
    font-weight: var(--font-weight-regular);
  }
  #gnav .gnavinner .main li ul li:last-child {
    border-bottom: none;
  }
  #gnav .gnavinner .main li ul li a {
    padding-left: calc(24 / 390 * 100vw);
  }
  #gnav .gnavinner .contactPC {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    #gnav .gnavinner .contactPC {
      background-color: var(--color-black);
      color: var(--color-text-on-accent);
      display: grid;
      padding: min(16px, calc(16 / 1440 * 100vw)) min(28px, calc(28 / 1440 * 100vw));
      gap: min(4px, calc(4 / 1440 * 100vw));
      grid-template-columns: auto auto;
      align-items: center;
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
      font-weight: var(--font-weight-medium);
      transition: background-color var(--transition-speed-fast) var(--bezier);
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 120%;
    }
    #gnav .gnavinner .contactPC::before {
      content: "";
      display: block;
      width: min(24px, calc(24 / 1440 * 100vw));
      height: min(24px, calc(24 / 1440 * 100vw));
      -webkit-mask-image: url(/images/icon_mail.svg);
      mask-image: url(/images/icon_mail.svg);
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      background-color: var(--color-text-on-accent);
    }
    #gnav .gnavinner .contactPC:hover {
      background-color: var(--color-brand);
    }
  }
  main:has(.navigation.breadcrumbs, .breadcrumbs.component.type_pagelist) + footer {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    main:has(.navigation.breadcrumbs, .breadcrumbs.component.type_pagelist) + footer {
      margin-top: unset;
    }
  }
  #pagetopA {
    position: fixed;
    bottom: calc(24 / 390 * 100vw);
    right: calc(24 / 390 * 100vw);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-speed-slow) var(--bezier);
    z-index: 10;
  }
  @media print, screen and (min-width: 768px) {
    #pagetopA {
      bottom: min(56px, calc(56 / 1440 * 100vw));
      right: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  #pagetopA a {
    transition: opacity 0.3s var(--bezier);
  }
  #pagetopA a:hover {
    opacity: 0.7;
  }
  #pagetopA a img {
    width: calc(48 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #pagetopA a img {
      width: min(64px, calc(64 / 1440 * 100vw));
    }
  }
  #pagetopA.is-scroll {
    opacity: 1;
    pointer-events: all;
  }
  #pagetopA.is-bottom {
    opacity: 0;
    pointer-events: none;
  }
  @media print, screen and (min-width: 768px) {
    #pagetopA.is-bottom {
      opacity: 1;
      pointer-events: all;
    }
  }
  #pagetopB {
    position: absolute;
    top: calc(64 / 390 * 100vw);
    right: calc(24 / 390 * 100vw);
    z-index: 10;
  }
  @media print, screen and (min-width: 768px) {
    #pagetopB {
      visibility: hidden;
      opacity: 0;
      pointer-events: none;
    }
  }
  #pagetopB a {
    transition: opacity 0.3s var(--bezier);
  }
  #pagetopB a:hover {
    opacity: 0.7;
  }
  #pagetopB a img {
    width: calc(48 / 390 * 100vw);
  }
  footer {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    position: relative;
    grid-area: footer;
    margin-top: calc(120 / 390 * 100vw);
    padding-block: calc(64 / 390 * 100vw);
    background-color: var(--color-gray);
    color: var(--color-text-on-accent);
  }
  @media print, screen and (min-width: 768px) {
    footer {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
      padding-block: min(80px, calc(80 / 1440 * 100vw)) min(80px, calc(80 / 1440 * 100vw));
    }
  }
  footer .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .corpinfo {
      display: flex;
      align-items: flex-end;
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
    html[lang=en] footer .inner .footinfo .corpinfo {
      align-items: flex-start;
    }
  }
  footer .inner .footinfo .corpinfo p img {
    width: calc(135 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .corpinfo p img {
      width: min(162px, calc(162 / 1440 * 100vw));
    }
  }
  html[lang=en] footer .inner .footinfo .corpinfo p img {
    width: calc(260 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    html[lang=en] footer .inner .footinfo .corpinfo p img {
      width: min(286px, calc(286 / 1440 * 100vw));
    }
  }
  footer .inner .footinfo .corpinfo .contact {
    margin-top: calc(32 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .corpinfo .contact {
      margin-top: unset;
    }
  }
  footer .inner .footinfo .corpinfo .contact address {
    font-size: calc(var(--fs-s) / 390 * 100vw);
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .corpinfo .contact address {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      line-height: 140%;
    }
  }
  footer .inner .footinfo .corpinfo .sns {
    margin-top: calc(32 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .corpinfo .sns {
      margin-top: unset;
      margin-left: auto;
    }
  }
  footer .inner .footinfo .corpinfo .sns ul {
    display: flex;
    flex-wrap: wrap;
    gap: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .corpinfo .sns ul {
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  footer .inner .footinfo .corpinfo .sns ul li a {
    display: block;
    width: calc(32 / 390 * 100vw);
    aspect-ratio: 1/1;
    border-radius: 50%;
    background-color: var(--color-gray-weak);
    border-radius: 100px;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s var(--bezier);
  }
  footer .inner .footinfo .corpinfo .sns ul li a:hover {
    opacity: 0.7;
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .corpinfo .sns ul li a {
      width: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  footer .inner .footinfo .corpinfo .sns ul li a img {
    width: calc(24 / 390 * 100vw);
    aspect-ratio: 1/1;
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footinfo .corpinfo .sns ul li a img {
      width: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  footer .inner .footnav {
    margin-top: calc(48 / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(32 / 390 * 100vw) calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      grid-template-columns: repeat(4, 1fr);
      gap: min(32px, calc(32 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit {
    line-height: 120%;
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit {
      line-height: 130%;
    }
  }
  footer .inner .footnav .unit h2 {
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    font-weight: var(--font-weight-medium);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit h2 {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit h2 a {
    transition: opacity 0.3s var(--bezier);
  }
  footer .inner .footnav .unit h2 a:hover {
    opacity: 0.7;
  }
  footer .inner .footnav .unit ul li {
    display: grid;
    grid-template-columns: auto 1fr;
    margin-top: calc(24 / 390 * 100vw);
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    gap: calc(4 / 390 * 100vw);
    font-weight: var(--font-weight-regular);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .footnav .unit ul li {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      gap: min(4px, calc(4 / 1440 * 100vw));
    }
  }
  footer .inner .footnav .unit ul li::before {
    content: "-";
    display: block;
  }
  footer .inner .footnav .unit ul li a {
    transition: opacity 0.3s var(--bezier);
  }
  footer .inner .footnav .unit ul li a:hover {
    opacity: 0.7;
  }
  footer .inner .copyright {
    margin-top: calc(48 / 390 * 100vw);
    border-top: 1px solid rgba(242, 242, 242, 0.1843137255);
    padding-top: calc(40 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .copyright {
      margin-top: min(64px, calc(64 / 1440 * 100vw));
      padding-top: min(64px, calc(64 / 1440 * 100vw));
      display: flex;
      flex-direction: row-reverse;
      align-items: baseline;
      gap: min(54px, calc(54 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .copyright ul {
      margin-right: auto;
    }
  }
  footer .inner .copyright ul li {
    text-align: center;
  }
  footer .inner .copyright ul li a {
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    transition: opacity 0.3s var(--bezier);
  }
  footer .inner .copyright ul li a:hover {
    opacity: 0.7;
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .copyright ul li a {
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
    }
  }
  footer .inner .copyright p {
    font-size: calc(var(--fs-xxs) / 390 * 100vw);
    text-align: center;
    letter-spacing: 0.02em;
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    footer .inner .copyright p {
      margin-top: unset;
      font-size: min(calc(var(--fs-xs) * 1px), calc(var(--fs-xs) / 1440 * 100vw));
      text-align: left;
    }
  }
}
@layer parts {
  .pPageTitle {
    font-size: calc(var(--pPageTitle-font-size-sp) / 390 * 100vw);
    font-weight: var(--pPageTitle-font-weight);
    color: var(--pPageTitle-color);
    line-height: 140%;
  }
  @media print, screen and (min-width: 768px) {
    .pPageTitle {
      font-size: min(calc(var(--pPageTitle-font-size-pc) * 1px), calc(var(--pPageTitle-font-size-pc) / 1440 * 100vw));
    }
  }
  .pHeadingLarge {
    font-size: calc(var(--pHeading-large-font-size-sp) / 390 * 100vw);
    line-height: 150%;
    font-weight: var(--pHeading-large-font-weight);
    color: var(--pHeading-large-color);
    font-family: var(--pHeading-large-font-family);
  }
  @media print, screen and (min-width: 768px) {
    .pHeadingLarge {
      font-size: min(calc(var(--pHeading-large-font-size-pc) * 1px), calc(var(--pHeading-large-font-size-pc) / 1440 * 100vw));
    }
  }
  .pHeadingMedium {
    font-size: calc(var(--pHeading-medium-font-size-sp) / 390 * 100vw);
    line-height: 120%;
    font-weight: var(--pHeading-medium-font-weight);
    color: var(--pHeading-medium-color);
    font-family: var(--pHeading-medium-font-family);
  }
  @media print, screen and (min-width: 768px) {
    .pHeadingMedium {
      font-size: min(calc(var(--pHeading-medium-font-size-pc) * 1px), calc(var(--pHeading-medium-font-size-pc) / 1440 * 100vw));
    }
  }
  .pHeadingSmall {
    font-size: calc(var(--pHeading-small-font-size-sp) / 390 * 100vw);
    line-height: 120%;
    font-weight: var(--pHeading-small-font-weight);
    color: var(--pHeading-small-color);
    font-family: var(--pHeading-small-font-family);
  }
  @media print, screen and (min-width: 768px) {
    .pHeadingSmall {
      font-size: min(calc(var(--pHeading-small-font-size-pc) * 1px), calc(var(--pHeading-small-font-size-pc) / 1440 * 100vw));
    }
  }
  .pLead {
    font-size: calc(var(--pLead-font-size-sp) / 390 * 100vw);
    line-height: 175%;
    font-weight: var(--pLead-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .pLead {
      font-size: min(calc(var(--pLead-font-size-pc) * 1px), calc(var(--pLead-font-size-pc) / 1440 * 100vw));
    }
  }
  .pLead.center {
    text-align: center;
  }
  .pLead.right {
    text-align: right;
  }
  .pLead.left {
    text-align: left;
  }
  .pText {
    font-size: calc(var(--pText-font-size-sp) / 390 * 100vw);
    line-height: 175%;
    font-weight: var(--pText-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .pText {
      font-size: min(calc(var(--pText-font-size-pc) * 1px), calc(var(--pText-font-size-pc) / 1440 * 100vw));
    }
  }
  .pText.small {
    font-size: calc(var(--pText-small-font-size-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pText.small {
      font-size: min(calc(var(--pText-small-font-size-pc) * 1px), calc(var(--pText-small-font-size-pc) / 1440 * 100vw));
    }
  }
  .pText p, .pText ul, .pText ol {
    padding-bottom: 2em;
  }
  .pText p.heading, .pText ul.heading, .pText ol.heading {
    position: relative;
    font-weight: var(--font-weight-bold);
    font-size: calc(var(--fs-m) / 390 * 100vw);
    line-height: var(--line-height-xsmall);
    display: grid;
    grid-template-columns: auto 1fr;
    gap: calc(8 / 390 * 100vw);
    color: var(--color-third-weak);
    font-family: var(--font-family-en);
    padding-bottom: 1em;
  }
  @media print, screen and (min-width: 768px) {
    .pText p.heading, .pText ul.heading, .pText ol.heading {
      font-size: min(calc(var(--fs-xl) * 1px), calc(var(--fs-xl) / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .pText p.heading::before, .pText ul.heading::before, .pText ol.heading::before {
    content: "";
    display: block;
    height: 1lh;
    background-image: url("/images/icon_heading.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    transform: translateY(-0.1em);
    width: calc(10 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pText p.heading::before, .pText ul.heading::before, .pText ol.heading::before {
      width: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .pText p.figure, .pText ul.figure, .pText ol.figure {
    padding-bottom: 35px;
    margin-top: calc(var(--margin-section) / 390 * 100vw);
    padding-bottom: 0;
  }
  @media print, screen and (min-width: 768px) {
    .pText p.figure, .pText ul.figure, .pText ol.figure {
      margin-top: min(calc(var(--margin-section-pc) * 1px), calc(var(--margin-section-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .pText p.figure, .pText ul.figure, .pText ol.figure {
      padding-bottom: 65px;
    }
  }
  .pText p.figure img.mt-image-left, .pText p.figure img.mt-image-center, .pText p.figure img.mt-image-right, .pText p.figure img.mt-image-none, .pText ul.figure img.mt-image-left, .pText ul.figure img.mt-image-center, .pText ul.figure img.mt-image-right, .pText ul.figure img.mt-image-none, .pText ol.figure img.mt-image-left, .pText ol.figure img.mt-image-center, .pText ol.figure img.mt-image-right, .pText ol.figure img.mt-image-none {
    margin-bottom: calc(6 / 390 * 100vw);
    display: block;
    margin-left: auto;
    margin-right: auto;
    border-radius: var(--border-radius-medium);
  }
  @media print, screen and (min-width: 768px) {
    .pText p.figure img.mt-image-left, .pText p.figure img.mt-image-center, .pText p.figure img.mt-image-right, .pText p.figure img.mt-image-none, .pText ul.figure img.mt-image-left, .pText ul.figure img.mt-image-center, .pText ul.figure img.mt-image-right, .pText ul.figure img.mt-image-none, .pText ol.figure img.mt-image-left, .pText ol.figure img.mt-image-center, .pText ol.figure img.mt-image-right, .pText ol.figure img.mt-image-none {
      margin-bottom: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .pText p img.mt-image-left, .pText p img.mt-image-center, .pText p img.mt-image-right, .pText ul img.mt-image-left, .pText ul img.mt-image-center, .pText ul img.mt-image-right, .pText ol img.mt-image-left, .pText ol img.mt-image-center, .pText ol img.mt-image-right {
    margin-bottom: 0 !important;
  }
  .pText p:last-child, .pText ul:last-child, .pText ol:last-child {
    padding-bottom: 0;
  }
  .pText p + .button, .pText ul + .button, .pText ol + .button {
    margin-top: 0;
  }
  .pText p .en, .pText ul .en, .pText ol .en {
    font-family: var(--font-family-en);
  }
  .pText ul:last-child, .pText ol:last-child {
    padding-bottom: 0;
  }
  .pText ul .en, .pText ol .en {
    font-family: var(--font-family-en);
  }
  .pText ul {
    list-style: disc;
  }
  .pText ul li {
    margin-left: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pText ul li {
      margin-left: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  .pText ol {
    list-style: decimal;
    font-family: var(--font-family-ja);
  }
  .pText ol li {
    margin-left: calc(20 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pText ol li {
      margin-left: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  .pText .button {
    margin-top: calc(15 / 390 * 100vw);
    text-align: right;
  }
  @media print, screen and (min-width: 768px) {
    .pText .button {
      margin-top: min(20px, calc(20 / 1440 * 100vw));
    }
  }
  .pText .button a {
    text-align: center;
  }
  .pImage,
.pImage iframe {
    border-radius: calc(var(--pImage-border-radius-small-sp) / 390 * 100vw);
  }
  @container (min-width: 300px) {
    .pImage,
.pImage iframe {
      border-radius: calc(var(--pImage-border-radius-medium-sp) / 390 * 100vw);
    }
  }
  @media print, screen and (min-width: 768px) {
    .pImage,
.pImage iframe {
      border-radius: min(calc(var(--pImage-border-radius-small-pc) * 1px), calc(var(--pImage-border-radius-small-pc) / 1440 * 100vw));
    }
    @container (min-width: 450px) {
      .pImage,
.pImage iframe {
        border-radius: min(calc(var(--pImage-border-radius-medium-pc) * 1px), calc(var(--pImage-border-radius-medium-pc) / 1440 * 100vw));
      }
    }
  }
  .pMap {
    width: 100%;
    aspect-ratio: 16/9;
    position: relative;
    display: block;
    width: 100%;
    border-radius: calc(var(--pMap-border-radius-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pMap {
      border-radius: min(calc(var(--pMap-border-radius-pc) * 1px), calc(var(--pMap-border-radius-pc) / 1440 * 100vw));
    }
  }
  .pMap iframe {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    border-radius: calc(var(--pMap-border-radius-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pMap iframe {
      border-radius: min(calc(var(--pMap-border-radius-pc) * 1px), calc(var(--pMap-border-radius-pc) / 1440 * 100vw));
    }
  }
  .pMap.shrink {
    margin-inline: auto;
  }
  .pImageCaption {
    container-type: inline-size;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pImageCaption {
      max-width: min(calc(var(--pImageCaption-max-width) * 1px), calc(var(--pImageCaption-max-width) / 1440 * 100vw));
    }
  }
  .pImageCaption .pCaption {
    margin-top: calc(var(--pImageCaption-gap-sp) / 390 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pImageCaption .pCaption {
      margin-top: min(calc(var(--pImageCaption-gap-pc) * 1px), calc(var(--pImageCaption-gap-pc) / 1440 * 100vw));
    }
  }
  .pMapCaption {
    container-type: inline-size;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pMapCaption {
      max-width: min(calc(var(--pMapCaption-max-width) * 1px), calc(var(--pMapCaption-max-width) / 1440 * 100vw));
    }
  }
  .pMapCaption .pCaption {
    margin-top: calc(var(--pMapCaption-gap-sp) / 390 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pMapCaption .pCaption {
      margin-top: min(calc(var(--pMapCaption-gap-pc) * 1px), calc(var(--pMapCaption-gap-pc) / 1440 * 100vw));
    }
  }
  .pPanel {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: calc(var(--pPanel-gap-sp) / 390 * 100vw);
  }
  .pPanel:has(> :nth-child(2):last-child) {
    grid-row: span 2;
  }
  .pPanel:has(> :nth-child(3):last-child) {
    grid-row: span 3;
  }
  @media print, screen and (min-width: 768px) {
    .pPanel {
      gap: min(calc(var(--pPanel-gap-pc) * 1px), calc(var(--pPanel-gap-pc) / 1440 * 100vw));
      max-width: min(calc(var(--pPanel-max-width) * 1px), calc(var(--pPanel-max-width) / 1440 * 100vw));
    }
  }
  .pPanel .pButton {
    margin-inline: auto;
  }
  .pPanel .desc:has(.pText:empty) {
    display: none;
  }
  .pCaption {
    font-size: calc(var(--pCaption-font-size-sp) / 390 * 100vw);
    line-height: 160%;
    font-weight: var(--pCaption-font-weight);
    color: var(--pCaption-color);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pCaption {
      font-size: min(calc(var(--pCaption-font-size-pc) * 1px), calc(var(--pCaption-font-size-pc) / 1440 * 100vw));
    }
  }
  .pCaption.left {
    text-align: left;
  }
  .pCaption.right {
    text-align: right;
  }
  .pCaption.shrink {
    margin-inline: auto;
  }
  .pPosition {
    font-size: calc(var(--pPosition-font-size-sp) / 390 * 100vw);
    line-height: 160%;
    font-weight: var(--pPosition-font-weight);
    color: var(--pPosition-color);
  }
  @media print, screen and (min-width: 768px) {
    .pPosition {
      font-size: min(calc(var(--pPosition-font-size-pc) * 1px), calc(var(--pPosition-font-size-pc) / 1440 * 100vw));
    }
  }
  .pName {
    font-size: calc(var(--pName-font-size-sp) / 390 * 100vw);
    line-height: 160%;
    font-weight: var(--pName-font-weight);
    color: var(--pName-color);
  }
  @media print, screen and (min-width: 768px) {
    .pName {
      font-size: min(calc(var(--pName-font-size-pc) * 1px), calc(var(--pName-font-size-pc) / 1440 * 100vw));
    }
  }
  .pSubTitle {
    font-size: calc(var(--pSubTitle-font-size-sp) / 390 * 100vw);
    line-height: 160%;
    font-weight: var(--pSubTitle-font-weight);
    color: var(--pSubTitle-color);
  }
  @media print, screen and (min-width: 768px) {
    .pSubTitle {
      font-size: min(calc(var(--pSubTitle-font-size-pc) * 1px), calc(var(--pSubTitle-font-size-pc) / 1440 * 100vw));
    }
  }
  .pNameSet {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--pNameSet-gap-sp) / 390 * 100vw);
    justify-items: center;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pNameSet {
      gap: min(calc(var(--pNameSet-gap-pc) * 1px), calc(var(--pNameSet-gap-pc) / 1440 * 100vw));
    }
  }
  .pMember {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 5;
    gap: calc(var(--pMember-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pMember {
      gap: min(calc(var(--pMember-gap-pc) * 1px), calc(var(--pMember-gap-pc) / 1440 * 100vw));
    }
  }
  .pMember .profile {
    color: var(--pMember-profile-color);
  }
  .pMember .pButton {
    margin-inline: auto;
  }
  .pButton {
    display: grid;
    grid-template-areas: "before text after";
    width: -moz-fit-content;
    width: fit-content;
    align-items: center;
    color: var(--pButton-color-default);
    background-color: var(--pButton-background-color-default);
    font-weight: var(--pButton-font-weight);
    border-color: var(--pButton-border-color-default);
    border-width: calc(var(--pButton-border-width) / 390 * 100vw);
    border-style: solid;
    gap: calc(var(--pButton-gap-sp) / 390 * 100vw);
    text-align: center;
    transition: background-color var(--transition-speed) var(--bezier), border-color var(--transition-speed) var(--bezier), color var(--transition-speed) var(--bezier);
    line-height: 1.2;
  }
  @media print, screen and (min-width: 768px) {
    .pButton {
      border-width: min(calc(var(--pButton-border-width) * 1px), calc(var(--pButton-border-width) / 1440 * 100vw));
      gap: min(calc(var(--pButton-gap-pc) * 1px), calc(var(--pButton-gap-pc) / 1440 * 100vw));
    }
  }
  .pButton::before {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: before;
    content: "";
    display: block;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    aspect-ratio: 1/1;
  }
  .pButton::after {
    -ms-grid-row: 1;
    -ms-grid-column: 5;
    justify-self: end;
    grid-area: after;
    content: "";
    display: block;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    aspect-ratio: 1/1;
  }
  @media (any-hover: hover) {
    .pButton:hover {
      background-color: var(--pButton-background-color-hover);
      border-color: var(--pButton-border-color-hover);
      color: var(--pButton-color-hover);
    }
  }
  .pButton.reverse {
    background-color: var(--pButton-background-color-reverse);
    border-color: var(--pButton-border-color-reverse);
    color: var(--pButton-color-reverse);
  }
  @media (any-hover: hover) {
    .pButton.reverse:hover {
      background-color: var(--pButton-background-color-reverse-hover);
      border-color: var(--pButton-border-color-reverse-hover);
    }
  }
  .pButton.small {
    font-size: calc(var(--pButton-small-font-size-sp) / 390 * 100vw);
    padding: calc(var(--pButton-small-padding-block-sp) / 390 * 100vw) calc(var(--pButton-small-padding-inline-sp) / 390 * 100vw);
    min-width: calc(var(--pButton-small-min-width-sp) / 390 * 100vw);
    grid-template-columns: calc(var(--pButton-small-icon-width-sp) / 390 * 100vw) auto calc(var(--pButton-small-icon-width-sp) / 390 * 100vw);
    border-radius: calc(var(--pButton-small-border-radius) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton.small {
      font-size: min(calc(var(--pButton-small-font-size-pc) * 1px), calc(var(--pButton-small-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pButton-small-padding-block-pc) * 1px), calc(var(--pButton-small-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pButton-small-padding-inline-pc) * 1px), calc(var(--pButton-small-padding-inline-pc) / 1440 * 100vw));
      min-width: min(calc(var(--pButton-small-min-width-pc) * 1px), calc(var(--pButton-small-min-width-pc) / 1440 * 100vw));
      grid-template-columns: min(calc(var(--pButton-small-icon-width-pc) * 1px), calc(var(--pButton-small-icon-width-pc) / 1440 * 100vw)) auto min(calc(var(--pButton-small-icon-width-pc) * 1px), calc(var(--pButton-small-icon-width-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--pButton-small-border-radius) * 1px), calc(var(--pButton-small-border-radius) / 1440 * 100vw));
    }
  }
  .pButton.small::before, .pButton.small::after {
    width: calc(var(--pButton-small-icon-width-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton.small::before, .pButton.small::after {
      width: min(calc(var(--pButton-small-icon-width-pc) * 1px), calc(var(--pButton-small-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pButton:not(.small):not(.large) {
    font-size: calc(var(--pButton-medium-font-size-sp) / 390 * 100vw);
    padding: calc(var(--pButton-medium-padding-block-sp) / 390 * 100vw) calc(var(--pButton-medium-padding-inline-sp) / 390 * 100vw);
    min-width: calc(var(--pButton-medium-min-width-sp) / 390 * 100vw);
    grid-template-columns: calc(var(--pButton-medium-icon-width-sp) / 390 * 100vw) auto calc(var(--pButton-medium-icon-width-sp) / 390 * 100vw);
    border-radius: calc(var(--pButton-medium-border-radius) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton:not(.small):not(.large) {
      font-size: min(calc(var(--pButton-medium-font-size-pc) * 1px), calc(var(--pButton-medium-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pButton-medium-padding-block-pc) * 1px), calc(var(--pButton-medium-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pButton-medium-padding-inline-pc) * 1px), calc(var(--pButton-medium-padding-inline-pc) / 1440 * 100vw));
      min-width: min(calc(var(--pButton-medium-min-width-pc) * 1px), calc(var(--pButton-medium-min-width-pc) / 1440 * 100vw));
      grid-template-columns: min(calc(var(--pButton-medium-icon-width-pc) * 1px), calc(var(--pButton-medium-icon-width-pc) / 1440 * 100vw)) auto min(calc(var(--pButton-medium-icon-width-pc) * 1px), calc(var(--pButton-medium-icon-width-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--pButton-medium-border-radius) * 1px), calc(var(--pButton-medium-border-radius) / 1440 * 100vw));
    }
  }
  .pButton:not(.small):not(.large)::before, .pButton:not(.small):not(.large)::after {
    width: calc(var(--pButton-medium-icon-width-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton:not(.small):not(.large)::before, .pButton:not(.small):not(.large)::after {
      width: min(calc(var(--pButton-medium-icon-width-pc) * 1px), calc(var(--pButton-medium-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pButton.large {
    font-size: calc(var(--pButton-large-font-size-sp) / 390 * 100vw);
    padding: calc(var(--pButton-large-padding-block-sp) / 390 * 100vw) calc(var(--pButton-large-padding-inline-sp) / 390 * 100vw);
    min-width: calc(var(--pButton-large-min-width-sp) / 390 * 100vw);
    grid-template-columns: calc(var(--pButton-large-icon-width-sp) / 390 * 100vw) auto calc(var(--pButton-large-icon-width-sp) / 390 * 100vw);
    border-radius: calc(var(--pButton-large-border-radius) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton.large {
      font-size: min(calc(var(--pButton-large-font-size-pc) * 1px), calc(var(--pButton-large-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pButton-large-padding-block-pc) * 1px), calc(var(--pButton-large-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pButton-large-padding-inline-pc) * 1px), calc(var(--pButton-large-padding-inline-pc) / 1440 * 100vw));
      min-width: min(calc(var(--pButton-large-min-width-pc) * 1px), calc(var(--pButton-large-min-width-pc) / 1440 * 100vw));
      grid-template-columns: min(calc(var(--pButton-large-icon-width-pc) * 1px), calc(var(--pButton-large-icon-width-pc) / 1440 * 100vw)) auto min(calc(var(--pButton-large-icon-width-pc) * 1px), calc(var(--pButton-large-icon-width-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--pButton-large-border-radius) * 1px), calc(var(--pButton-large-border-radius) / 1440 * 100vw));
    }
  }
  .pButton.large::before, .pButton.large::after {
    width: calc(var(--pButton-large-icon-width-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pButton.large::before, .pButton.large::after {
      width: min(calc(var(--pButton-large-icon-width-pc) * 1px), calc(var(--pButton-large-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pButton.right::after {
    -webkit-mask-image: url(/images/icon_arrow_m.svg);
    mask-image: url(/images/icon_arrow_m.svg);
  }
  .pButton.right[target=_blank]::after {
    -webkit-mask-image: url(/images/icon_external.svg);
    mask-image: url(/images/icon_external.svg);
  }
  .pButton.left::before {
    -webkit-mask-image: url(/images/icon_arrow_m.svg);
    mask-image: url(/images/icon_arrow_m.svg);
    rotate: z 180deg;
  }
  .pButton.right::after {
    background-color: var(--pButton-icon-color-default);
  }
  @media (any-hover: hover) {
    .pButton.right:hover::after {
      background-color: var(--pButton-icon-color-hover);
    }
  }
  .pButton.right.reverse::after {
    background-color: var(--pButton-icon-color-reverse);
  }
  @media (any-hover: hover) {
    .pButton.right.reverse:hover::after {
      background-color: var(--pButton-icon-color-reverse-hover);
    }
  }
  .pButton.left::before {
    -webkit-mask-image: url(/images/icon_arrow_m.svg);
    mask-image: url(/images/icon_arrow_m.svg);
  }
  .pButton.left[target=_blank]::before {
    -webkit-mask-image: url(/images/icon_external.svg);
    mask-image: url(/images/icon_external.svg);
  }
  .pButton.left::before {
    background-color: var(--pButton-icon-color-default);
  }
  @media (any-hover: hover) {
    .pButton.left:hover::before {
      background-color: var(--pButton-icon-color-hover);
    }
  }
  .pButton.left.reverse::before {
    background-color: var(--pButton-icon-color-reverse);
  }
  @media (any-hover: hover) {
    .pButton.left.reverse:hover::before {
      background-color: var(--pButton-icon-color-reverse-hover);
    }
  }
  .pFileInfo {
    display: inline-grid;
    grid-auto-flow: column;
    gap: calc(var(--pFileInfo-gap-sp) / 390 * 100vw);
    align-items: center;
  }
  @media print, screen and (min-width: 768px) {
    .pFileInfo {
      gap: min(calc(var(--pFileInfo-gap-pc) * 1px), calc(var(--pFileInfo-gap-pc) / 1440 * 100vw));
    }
  }
  .pFileInfo img {
    width: calc(var(--pFileInfo-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    -o-object-fit: contain;
    object-fit: contain;
  }
  @media print, screen and (min-width: 768px) {
    .pFileInfo img {
      width: min(calc(var(--pFileInfo-icon-width-pc) * 1px), calc(var(--pFileInfo-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pFileInfo figcaption {
    font-size: calc(var(--pFileInfo-font-size-sp) / 390 * 100vw);
    font-weight: var(--pFileInfo-font-weight);
    font-family: var(--pFileInfo-font-family);
    color: var(--pFileInfo-color);
  }
  @media print, screen and (min-width: 768px) {
    .pFileInfo figcaption {
      font-size: min(calc(var(--pFileInfo-font-size-pc) * 1px), calc(var(--pFileInfo-font-size-pc) / 1440 * 100vw));
    }
  }
  .pCatalog {
    display: grid;
    grid-template: "image heading" auto "summary summary" auto/1fr 1fr;
    align-items: start;
    row-gap: calc(var(--pCatalog-gap-row-sp) / 390 * 100vw);
    -moz-column-gap: calc(var(--pCatalog-gap-col-sp) / 390 * 100vw);
    column-gap: calc(var(--pCatalog-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pCatalog {
      grid-template-areas: unset;
      grid-template-columns: unset;
      grid-template-rows: subgrid;
      grid-row: span 3;
      row-gap: min(calc(var(--pCatalog-gap-row-pc) * 1px), calc(var(--pCatalog-gap-row-pc) / 1440 * 100vw));
      -moz-column-gap: unset;
      column-gap: unset;
    }
  }
  .pCatalog .image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: image;
  }
  @media print, screen and (min-width: 768px) {
    .pCatalog .image {
      grid-area: unset;
    }
  }
  .pCatalog .heading {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: heading;
    display: grid;
    grid-auto-flow: row;
    align-items: start;
    row-gap: calc(var(--pCatalog-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pCatalog .heading {
      grid-area: unset;
      row-gap: min(calc(var(--pCatalog-gap-row-pc) * 1px), calc(var(--pCatalog-gap-row-pc) / 1440 * 100vw));
    }
  }
  .pCatalog .summary {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-area: summary;
  }
  @media print, screen and (min-width: 768px) {
    .pCatalog .summary {
      grid-area: unset;
    }
  }
  .pCatalogTitleSet {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--pCatalogTitleSet-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pCatalogTitleSet {
      gap: min(calc(var(--pCatalogTitleSet-gap-pc) * 1px), calc(var(--pCatalogTitleSet-gap-pc) / 1440 * 100vw));
    }
  }
  .pAttachment {
    padding: calc(var(--pAttachment-padding-inline-sp) / 390 * 100vw) calc(var(--pAttachment-padding-block-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    align-content: center;
    align-items: center;
    gap: calc(var(--pAttachment-gap-sp) / 390 * 100vw);
    border-bottom-width: calc(var(--pAttachment-border-bottom-width) / 390 * 100vw);
    border-bottom-style: solid;
    border-bottom-color: var(--pAttachment-border-bottom-color);
  }
  @media print, screen and (min-width: 768px) {
    .pAttachment {
      padding: min(calc(var(--pAttachment-padding-inline-pc) * 1px), calc(var(--pAttachment-padding-inline-pc) / 1440 * 100vw)) min(calc(var(--pAttachment-padding-block-pc) * 1px), calc(var(--pAttachment-padding-block-pc) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pAttachment-border-bottom-width) * 1px), calc(var(--pAttachment-border-bottom-width) / 1440 * 100vw));
      gap: min(calc(var(--pAttachment-gap-pc) * 1px), calc(var(--pAttachment-gap-pc) / 1440 * 100vw));
    }
  }
  .pAttachment::after {
    content: "";
    display: block;
    width: calc(var(--pAttachment-icon-width-sp) / 390 * 100vw);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    aspect-ratio: 1/1;
  }
  @media print, screen and (min-width: 768px) {
    .pAttachment::after {
      width: min(calc(var(--pAttachment-icon-width-pc) * 1px), calc(var(--pAttachment-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pAttachment:has(a[href$=".pdf"])::after {
    background-image: url(/images/icon_pdf.svg);
  }
  .pAttachment:has(a[href$=".xlsx"])::after, .pAttachment:has(a[href$=".xls"])::after {
    background-image: url(/images/icon_xls.svg);
  }
  .pAttachment:has(a[href$=".docx"])::after, .pAttachment:has(a[href$=".doc"])::after {
    background-image: url(/images/icon_word.svg);
  }
  .pAttachment a {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    align-items: center;
    font-size: calc(var(--pAttachment-font-size-sp) / 390 * 100vw);
    font-weight: var(--pAttachment-font-weight);
    color: var(--pAttachment-color);
    line-height: 150%;
    height: 100%;
  }
  @media print, screen and (min-width: 768px) {
    .pAttachment a {
      font-size: min(calc(var(--pAttachment-font-size-pc) * 1px), calc(var(--pAttachment-font-size-pc) / 1440 * 100vw));
      font-weight: var(--pAttachment-font-weight);
      color: var(--pAttachment-color);
    }
  }
  .pAttachment a::before {
    content: "・";
    display: block;
    align-self: start;
  }
  .pQ {
    font-size: calc(var(--pQ-font-size-sp) / 390 * 100vw);
    font-weight: var(--pQ-font-weight);
    color: var(--pQ-color);
    line-height: 150%;
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    gap: calc(var(--pQ-gap-sp) / 390 * 100vw);
    cursor: pointer;
  }
  @media print, screen and (min-width: 768px) {
    .pQ {
      font-size: min(calc(var(--pQ-font-size-pc) * 1px), calc(var(--pQ-font-size-pc) / 1440 * 100vw));
      gap: min(calc(var(--pQ-gap-pc) * 1px), calc(var(--pQ-gap-pc) / 1440 * 100vw));
    }
  }
  .pQ::before {
    content: "";
    display: block;
    width: calc(var(--pQ-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_q.svg);
  }
  @media print, screen and (min-width: 768px) {
    .pQ::before {
      width: min(calc(var(--pQ-icon-width-pc) * 1px), calc(var(--pQ-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pA {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    gap: calc(var(--pA-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pA {
      gap: min(calc(var(--pA-gap-pc) * 1px), calc(var(--pA-gap-pc) / 1440 * 100vw));
    }
  }
  .pA::before {
    content: "";
    display: block;
    width: calc(var(--pA-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_a.svg);
  }
  @media print, screen and (min-width: 768px) {
    .pA::before {
      width: min(calc(var(--pA-icon-width-pc) * 1px), calc(var(--pA-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pA img {
    display: block;
    margin: 0 auto calc(var(--pA-gap-sp) / 390 * 100vw) !important;
    border-radius: calc(var(--border-radius-small) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pA img {
      border-radius: min(calc(var(--border-radius-small) * 1px), calc(var(--border-radius-small) / 1440 * 100vw));
    }
  }
  .pA img.mt-image-right {
    float: none !important;
  }
  @media print, screen and (min-width: 768px) {
    .pA img.mt-image-right {
      float: right !important;
      margin: 0 0 min(calc(var(--pA-gap-pc) * 1px), calc(var(--pA-gap-pc) / 1440 * 100vw)) min(calc(var(--pA-gap-pc) * 1px), calc(var(--pA-gap-pc) / 1440 * 100vw)) !important;
    }
  }
  .pA img.mt-image-left {
    float: none !important;
  }
  @media print, screen and (min-width: 768px) {
    .pA img.mt-image-left {
      float: left !important;
      margin: 0 min(calc(var(--pA-gap-pc) * 1px), calc(var(--pA-gap-pc) / 1440 * 100vw)) min(calc(var(--pA-gap-pc) * 1px), calc(var(--pA-gap-pc) / 1440 * 100vw)) 0 !important;
    }
  }
  .pFaq {
    background-color: var(--pFaq-background-color);
    border-radius: calc(var(--pFaq-border-radius-sp) / 390 * 100vw);
    border: calc(var(--pFaq-border-width) / 390 * 100vw) solid var(--pFaq-border-color);
    padding: calc(var(--pFaq-padding-block-sp) / 390 * 100vw) calc(var(--pFaq-padding-inline-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--pFaq-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pFaq {
      border-radius: min(calc(var(--pFaq-border-radius-pc) * 1px), calc(var(--pFaq-border-radius-pc) / 1440 * 100vw));
      padding: min(calc(var(--pFaq-padding-block-pc) * 1px), calc(var(--pFaq-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pFaq-padding-inline-pc) * 1px), calc(var(--pFaq-padding-inline-pc) / 1440 * 100vw));
      gap: min(calc(var(--pFaq-gap-pc) * 1px), calc(var(--pFaq-gap-pc) / 1440 * 100vw));
      border-width: min(calc(var(--pFaq-border-width) * 1px), calc(var(--pFaq-border-width) / 1440 * 100vw));
    }
  }
  .pFaq.is-active {
    background-color: var(--pFaq-background-color-open);
    border-color: var(--pFaq-border-color-open);
  }
  .pFaq.is-active .q::after {
    background-image: url(/images/icon_minus.svg);
  }
  .pFaq .q {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: calc(var(--pFaq-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pFaq .q {
      gap: min(calc(var(--pFaq-gap-pc) * 1px), calc(var(--pFaq-gap-pc) / 1440 * 100vw));
    }
  }
  .pFaq .q::after {
    content: "";
    display: block;
    width: calc(var(--pFaq-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_plus.svg);
  }
  @media print, screen and (min-width: 768px) {
    .pFaq .q::after {
      width: min(calc(var(--pFaq-icon-width-pc) * 1px), calc(var(--pFaq-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pFaq .a {
    display: none;
  }
  .pConversionHeading {
    font-size: calc(var(--pConversionHeading-font-size-sp) / 390 * 100vw);
    font-weight: var(--pConversionHeading-font-weight);
    color: var(--pConversionHeading-color);
    line-height: 140%;
    font-family: var(--pConversionHeading-font-family);
  }
  @media print, screen and (min-width: 768px) {
    .pConversionHeading {
      font-size: min(calc(var(--pConversionHeading-font-size-pc) * 1px), calc(var(--pConversionHeading-font-size-pc) / 1440 * 100vw));
    }
  }
  .pLocalnavSub {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(var(--pLocalnavSub-font-size-sp) / 390 * 100vw);
    font-weight: var(--pLocalnavSub-font-weight);
    color: var(--pLocalnavSub-default-color);
    border-width: calc(var(--pLocalnavSub-border-width) / 390 * 100vw);
    border-style: solid;
    border-color: var(--pLocalnavSub-default-border-color);
    border-radius: calc(var(--pLocalnavSub-border-radius) / 390 * 100vw);
    background-color: var(--pLocalnavSub-default-background-color);
    padding: calc(var(--pLocalnavSub-padding-block-sp) / 390 * 100vw) calc(var(--pLocalnavSub-padding-inline-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavSub {
      font-size: min(calc(var(--pLocalnavSub-font-size-pc) * 1px), calc(var(--pLocalnavSub-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pLocalnavSub-padding-block-pc) * 1px), calc(var(--pLocalnavSub-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pLocalnavSub-padding-inline-pc) * 1px), calc(var(--pLocalnavSub-padding-inline-pc) / 1440 * 100vw));
      border-width: min(calc(var(--pLocalnavSub-border-width) * 1px), calc(var(--pLocalnavSub-border-width) / 1440 * 100vw));
    }
  }
  .pLocalnavSub.is-active {
    border-color: var(--pLocalnavSub-active-border-color);
    background-color: var(--pLocalnavSub-active-background-color);
    color: var(--pLocalnavSub-active-color);
  }
  @media (any-hover: hover) {
    .pLocalnavSub:hover {
      border-color: var(--pLocalnavSub-active-border-color);
      background-color: var(--pLocalnavSub-active-background-color);
      color: var(--pLocalnavSub-active-color);
    }
  }
  .pArchivenav {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(var(--pArchivenav-font-size-sp) / 390 * 100vw);
    font-weight: var(--pArchivenav-font-weight);
    color: var(--pArchivenav-default-color);
    border-width: calc(var(--pArchivenav-border-width) / 390 * 100vw);
    border-bottom-width: 0;
    border-style: solid;
    border-color: var(--pArchivenav-default-border-color);
    border-top-left-radius: calc(var(--pArchivenav-border-radius) / 390 * 100vw);
    border-top-right-radius: calc(var(--pArchivenav-border-radius) / 390 * 100vw);
    background-color: var(--pArchivenav-default-background-color);
    padding: calc(var(--pArchivenav-padding-block-sp) / 390 * 100vw) calc(var(--pArchivenav-padding-inline-sp) / 390 * 100vw);
    white-space: nowrap;
  }
  @media print, screen and (min-width: 768px) {
    .pArchivenav {
      border-width: min(calc(var(--pArchivenav-border-width) * 1px), calc(var(--pArchivenav-border-width) / 1440 * 100vw));
      border-bottom-width: 0;
      font-size: min(calc(var(--pArchivenav-font-size-pc) * 1px), calc(var(--pArchivenav-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pArchivenav-padding-block-pc) * 1px), calc(var(--pArchivenav-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pArchivenav-padding-inline-pc) * 1px), calc(var(--pArchivenav-padding-inline-pc) / 1440 * 100vw));
      border-top-left-radius: min(calc(var(--pArchivenav-border-radius) * 1px), calc(var(--pArchivenav-border-radius) / 1440 * 100vw));
      border-top-right-radius: min(calc(var(--pArchivenav-border-radius) * 1px), calc(var(--pArchivenav-border-radius) / 1440 * 100vw));
    }
  }
  .pArchivenav.is-active {
    border-color: var(--pArchivenav-active-border-color);
    background-color: var(--pArchivenav-active-background-color);
    color: var(--pArchivenav-active-color);
  }
  @media (any-hover: hover) {
    .pArchivenav:hover {
      border-color: var(--pArchivenav-active-border-color);
      background-color: var(--pArchivenav-active-background-color);
      color: var(--pArchivenav-active-color);
    }
  }
  .pSpeaker {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--pSpeaker-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pSpeaker {
      gap: min(calc(var(--pSpeaker-gap-pc) * 1px), calc(var(--pSpeaker-gap-pc) / 1440 * 100vw));
    }
  }
  .pSpeaker .profile_en {
    color: var(--pSpeaker-color-en);
  }
  .pFloatImage {
    margin-top: calc(var(--pFloatImage-margin-top-sp) / 390 * 100vw);
  }
  .pFloatImage::after {
    display: block;
    clear: both;
    content: "";
  }
  @media print, screen and (min-width: 768px) {
    .pFloatImage {
      margin-top: min(calc(var(--pFloatImage-margin-top-pc) * 1px), calc(var(--pFloatImage-margin-top-pc) / 1440 * 100vw));
    }
  }
  .pFloatImage.left .pImageCaption {
    float: left;
    padding-right: calc(var(--pFloatImage-gap-sp) / 390 * 100vw);
    padding-left: unset;
  }
  @media print, screen and (min-width: 768px) {
    .pFloatImage.left .pImageCaption {
      padding-right: min(calc(var(--pFloatImage-gap-pc) * 1px), calc(var(--pFloatImage-gap-pc) / 1440 * 100vw));
      padding-left: unset;
    }
  }
  .pFloatImage .pImageCaption {
    float: right;
    width: 50%;
    padding-left: calc(var(--pFloatImage-gap-sp) / 390 * 100vw);
    padding-bottom: calc(var(--pFloatImage-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pFloatImage .pImageCaption {
      padding-left: min(calc(var(--pFloatImage-gap-pc) * 1px), calc(var(--pFloatImage-gap-pc) / 1440 * 100vw));
      padding-bottom: min(calc(var(--pFloatImage-gap-pc) * 1px), calc(var(--pFloatImage-gap-pc) / 1440 * 100vw));
    }
  }
  .pNewsCategory {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(var(--pNewsCategory-font-size-sp) / 390 * 100vw);
    font-weight: var(--pNewsCategory-font-weight);
    color: var(--pNewsCategory-color);
    border-width: var(--pNewsCategory-border-width);
    border-style: solid;
    border-color: var(--pNewsCategory-border-color);
    border-radius: calc(var(--pNewsCategory-border-radius) / 390 * 100vw);
    background-color: var(--pNewsCategory-background-color);
    padding: calc(var(--pNewsCategory-padding-block-sp) / 390 * 100vw) calc(var(--pNewsCategory-padding-inline-sp) / 390 * 100vw);
    min-width: calc(var(--pNewsCategory-min-width-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pNewsCategory {
      font-size: min(calc(var(--pNewsCategory-font-size-pc) * 1px), calc(var(--pNewsCategory-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pNewsCategory-padding-block-pc) * 1px), calc(var(--pNewsCategory-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pNewsCategory-padding-inline-pc) * 1px), calc(var(--pNewsCategory-padding-inline-pc) / 1440 * 100vw));
      border-width: min(calc(var(--pNewsCategory-border-width) * 1px), calc(var(--pNewsCategory-border-width) / 1440 * 100vw));
      min-width: min(calc(var(--pNewsCategory-min-width-pc) * 1px), calc(var(--pNewsCategory-min-width-pc) / 1440 * 100vw));
    }
  }
  .pNewsDate {
    font-size: calc(var(--pNewsDate-font-size-sp) / 390 * 100vw);
    font-weight: var(--pNewsDate-font-weight);
    color: var(--pNewsDate-color);
    font-family: var(--pNewsDate-font-family);
    font-weight: var(--pNewsDate-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .pNewsDate {
      font-size: min(calc(var(--pNewsDate-font-size-pc) * 1px), calc(var(--pNewsDate-font-size-pc) / 1440 * 100vw));
    }
  }
  .pNewsTitle {
    font-size: calc(var(--pNewsTitle-font-size-sp) / 390 * 100vw);
    font-weight: var(--pNewsTitle-font-weight);
    color: var(--pNewsTitle-color);
    font-weight: var(--pNewsTitle-font-weight);
  }
  @media print, screen and (min-width: 768px) {
    .pNewsTitle {
      font-size: min(calc(var(--pNewsTitle-font-size-pc) * 1px), calc(var(--pNewsTitle-font-size-pc) / 1440 * 100vw));
    }
  }
  .pNewsSet {
    border-bottom-color: var(--pNewsSet-border-color);
    border-bottom-width: calc(var(--pNewsSet-border-width) / 390 * 100vw);
    border-bottom-style: solid;
    padding-block: calc(var(--pNewsSet-padding-block-sp) / 390 * 100vw);
    padding-inline: calc(var(--pNewsSet-padding-inline-sp) / 390 * 100vw);
    display: grid;
    grid-template: "date cat" auto "title title" auto/auto 1fr;
    -moz-column-gap: calc(var(--pNewsSet-gap-col-sp) / 390 * 100vw);
    column-gap: calc(var(--pNewsSet-gap-col-sp) / 390 * 100vw);
    row-gap: calc(var(--pNewsSet-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pNewsSet {
      grid-template: "date cat title" auto/auto auto 1fr;
      -moz-column-gap: min(calc(var(--pNewsSet-gap-pc) * 1px), calc(var(--pNewsSet-gap-pc) / 1440 * 100vw));
      column-gap: min(calc(var(--pNewsSet-gap-pc) * 1px), calc(var(--pNewsSet-gap-pc) / 1440 * 100vw));
      row-gap: 0;
      align-items: start;
      border-bottom-width: min(calc(var(--pNewsSet-border-width) * 1px), calc(var(--pNewsSet-border-width) / 1440 * 100vw));
      padding-block: min(calc(var(--pNewsSet-padding-block-pc) * 1px), calc(var(--pNewsSet-padding-block-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pNewsSet-padding-inline-pc) * 1px), calc(var(--pNewsSet-padding-inline-pc) / 1440 * 100vw));
    }
  }
  .pNewsSet .date {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: date;
    align-self: center;
  }
  @media print, screen and (min-width: 768px) {
    .pNewsSet .date {
      align-self: start;
    }
  }
  .pNewsSet .pTagSet {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: cat;
  }
  .pNewsSet .title {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    position: relative;
    grid-area: title;
    text-decoration: underline;
    line-height: 160%;
  }
  @media print, screen and (min-width: 768px) {
    .pNewsSet .title {
      flex: 1;
    }
  }
  .pTag {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(var(--pTag-font-size-sp) / 390 * 100vw);
    font-weight: var(--pTag-font-weight);
    color: var(--pTag-default-color);
    border-width: var(--pTag-border-width);
    border-style: solid;
    border-color: var(--pTag-default-border-color);
    border-radius: calc(var(--pTag-border-radius) / 390 * 100vw);
    background-color: var(--pTag-default-background-color);
    padding: calc(var(--pTag-padding-block-sp) / 390 * 100vw) calc(var(--pTag-padding-inline-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pTag {
      font-size: min(calc(var(--pTag-font-size-pc) * 1px), calc(var(--pTag-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pTag-padding-block-pc) * 1px), calc(var(--pTag-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pTag-padding-inline-pc) * 1px), calc(var(--pTag-padding-inline-pc) / 1440 * 100vw));
      border-width: min(calc(var(--pTag-border-width) * 1px), calc(var(--pTag-border-width) / 1440 * 100vw));
    }
  }
  @media (any-hover: hover) {
    .pTag:hover {
      border-color: var(--pTag-active-border-color);
      background-color: var(--pTag-active-background-color);
      color: var(--pTag-active-color);
    }
  }
  .pTagSet {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--pTagSet-gap-row-sp) / 390 * 100vw) calc(var(--pTagSet-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pTagSet {
      gap: min(calc(var(--pTagSet-gap-row-pc) * 1px), calc(var(--pTagSet-gap-row-pc) / 1440 * 100vw)) min(calc(var(--pTagSet-gap-col-pc) * 1px), calc(var(--pTagSet-gap-col-pc) / 1440 * 100vw));
    }
  }
  .pArticleList {
    display: grid;
    grid-template: "image date" auto "image category" auto "image heading" 1fr "text text" auto/calc(var(--pArticleList-image-width-sp) / 390 * 100vw) 1fr;
    align-items: start;
    -moz-column-gap: calc(var(--pArticleList-gap-col-sp) / 390 * 100vw);
    column-gap: calc(var(--pArticleList-gap-col-sp) / 390 * 100vw);
    row-gap: calc(var(--pArticleList-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pArticleList {
      grid-template: "image date" auto "image category" auto "image heading" auto "image text" 1fr/min(calc(var(--pArticleList-image-width-pc) * 1px), calc(var(--pArticleList-image-width-pc) / 1440 * 100vw)) 1fr;
      -moz-column-gap: min(calc(var(--pArticleList-gap-col-pc) * 1px), calc(var(--pArticleList-gap-col-pc) / 1440 * 100vw));
      column-gap: min(calc(var(--pArticleList-gap-col-pc) * 1px), calc(var(--pArticleList-gap-col-pc) / 1440 * 100vw));
      row-gap: min(calc(var(--pArticleList-gap-row-pc) * 1px), calc(var(--pArticleList-gap-row-pc) / 1440 * 100vw));
    }
  }
  .pArticleList .image {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: image;
    align-self: start;
  }
  .pArticleList .pImage {
    aspect-ratio: 3/2;
    -o-object-fit: cover;
    object-fit: cover;
  }
  .pArticleList .pNewsDate {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: date;
    align-self: start;
  }
  .pArticleList .pTagSet {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
    grid-area: category;
    align-self: start;
  }
  .pArticleList .pHeadingSmall {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: heading;
    align-self: start;
  }
  .pArticleList .pText {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: text;
  }
  .pPagination {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-width: calc(var(--pPagination-border-width) / 390 * 100vw);
    border-style: solid;
    border-color: var(--pPagination-default-border-color);
    border-radius: calc(var(--pPagination-border-radius) / 390 * 100vw);
    background-color: var(--pPagination-default-background-color);
    color: var(--pPagination-default-color);
    font-size: calc(var(--pPagination-font-size-sp) / 390 * 100vw);
    font-weight: var(--pPagination-font-weight);
    padding: calc(var(--pPagination-padding-block-sp) / 390 * 100vw) calc(var(--pPagination-padding-inline-sp) / 390 * 100vw);
    width: calc(var(--pPagination-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
  }
  @media print, screen and (min-width: 768px) {
    .pPagination {
      border-width: min(calc(var(--pPagination-border-width) * 1px), calc(var(--pPagination-border-width) / 1440 * 100vw));
      font-size: min(calc(var(--pPagination-font-size-pc) * 1px), calc(var(--pPagination-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pPagination-padding-block-pc) * 1px), calc(var(--pPagination-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pPagination-padding-inline-pc) * 1px), calc(var(--pPagination-padding-inline-pc) / 1440 * 100vw));
      width: min(calc(var(--pPagination-width-pc) * 1px), calc(var(--pPagination-width-pc) / 1440 * 100vw));
    }
  }
  .pPagination.is-active {
    border-color: var(--pPagination-active-border-color);
    background-color: var(--pPagination-active-background-color);
    color: var(--pPagination-active-color);
  }
  .pPagination:not(.is-active):hover {
    border-color: var(--pPagination-hover-border-color);
    background-color: var(--pPagination-hover-background-color);
    color: var(--pPagination-hover-color);
  }
  .pPagination.arrow img {
    width: calc(var(--pPagination-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
  }
  @media print, screen and (min-width: 768px) {
    .pPagination.arrow img {
      width: min(calc(var(--pPagination-icon-width-pc) * 1px), calc(var(--pPagination-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pPagination.arrow.prev img {
    rotate: z 180deg;
  }
  .pLocalnavTop {
    font-size: calc(var(--pLocalnavTop-font-size-sp) / 390 * 100vw);
    font-weight: var(--pLocalnavTop-font-weight);
    color: var(--pLocalnavTop-color-default);
    padding: calc(var(--pLocalnavTop-padding-block-sp) / 390 * 100vw) calc(var(--pLocalnavTop-padding-inline-sp) / 390 * 100vw);
    background-color: var(--pLocalnavTop-background-color-default);
    border-bottom-width: calc(var(--pLocalnavTop-border-bottom-width) / 390 * 100vw);
    border-bottom-style: solid;
    border-bottom-color: var(--pLocalnavTop-border-bottom-color-default);
    text-align: center;
    transition: color var(--transition-speed) var(--bezier), border-bottom-color var(--transition-speed) var(--bezier), background-color var(--transition-speed) var(--bezier);
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavTop {
      border-bottom-width: min(calc(var(--pLocalnavTop-border-bottom-width) * 1px), calc(var(--pLocalnavTop-border-bottom-width) / 1440 * 100vw));
      border-bottom-style: solid;
      border-bottom-color: var(--pLocalnavTop-border-bottom-color-default);
      min-width: min(calc(var(--pLocalnavTop-min-width-pc) * 1px), calc(var(--pLocalnavTop-min-width-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavTop {
      font-size: min(calc(var(--pLocalnavTop-font-size-pc) * 1px), calc(var(--pLocalnavTop-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pLocalnavTop-padding-block-pc) * 1px), calc(var(--pLocalnavTop-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pLocalnavTop-padding-inline-pc) * 1px), calc(var(--pLocalnavTop-padding-inline-pc) / 1440 * 100vw));
      gap: min(calc(var(--pLocalnavTop-gap-pc) * 1px), calc(var(--pLocalnavTop-gap-pc) / 1440 * 100vw));
    }
  }
  .pLocalnavTop.is-active {
    color: var(--pLocalnavTop-color-active);
    border-bottom-color: var(--pLocalnavTop-border-bottom-color-active);
    background-color: var(--pLocalnavTop-background-color-active);
  }
  @media (any-hover: hover) {
    .pLocalnavTop:hover {
      color: var(--pLocalnavTop-color-active);
      border-bottom-color: var(--pLocalnavTop-border-bottom-color-active);
      background-color: var(--pLocalnavTop-background-color-active);
    }
  }
  .pLocalnavTopSeparator, .navigation.localnavtop .inner .overflow ul li::after, .localnavtop.component.type_pagelist .inner .overflow ul li::after {
    height: calc(var(--pLocalnavTopSeparator-height-sp) / 390 * 100vw);
    width: calc(var(--pLocalnavTopSeparator-width) / 390 * 100vw);
    background-color: var(--pLocalnavTopSeparator-background-color);
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavTopSeparator, .navigation.localnavtop .inner .overflow ul li::after, .localnavtop.component.type_pagelist .inner .overflow ul li::after {
      height: min(calc(var(--pLocalnavTopSeparator-height-pc) * 1px), calc(var(--pLocalnavTopSeparator-height-pc) / 1440 * 100vw));
      width: min(calc(var(--pLocalnavTopSeparator-width) * 1px), calc(var(--pLocalnavTopSeparator-width) / 1440 * 100vw));
    }
  }
  .pLocalnavBottom {
    font-size: calc(var(--pLocalnavBottom-font-size-sp) / 390 * 100vw);
    font-weight: var(--pLocalnavBottom-font-weight);
    color: var(--pLocalnavBottom-color);
    display: grid;
    grid-template-columns: auto auto;
    justify-content: start;
    gap: calc(var(--pLocalnavBottom-gap-sp) / 390 * 100vw);
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavBottom {
      font-size: min(calc(var(--pLocalnavBottom-font-size-pc) * 1px), calc(var(--pLocalnavBottom-font-size-pc) / 1440 * 100vw));
      gap: min(calc(var(--pLocalnavBottom-gap-pc) * 1px), calc(var(--pLocalnavBottom-gap-pc) / 1440 * 100vw));
    }
  }
  .pLocalnavBottom::before {
    content: "";
    display: block;
    width: calc(var(--pLocalnavBottom-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    -webkit-mask-image: url(/images/icon_arrow_s.svg);
    mask-image: url(/images/icon_arrow_s.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: var(--pLocalnavBottom-icon-color);
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavBottom::before {
      width: min(calc(var(--pLocalnavBottom-icon-width-pc) * 1px), calc(var(--pLocalnavBottom-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pLocalnavBottomList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--pLocalnavBottomList-gap-row-sp) / 390 * 100vw) calc(var(--pLocalnavBottomList-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pLocalnavBottomList {
      grid-template-columns: repeat(4, 1fr);
      gap: min(calc(var(--pLocalnavBottomList-gap-row-pc) * 1px), calc(var(--pLocalnavBottomList-gap-row-pc) / 1440 * 100vw)) min(calc(var(--pLocalnavBottomList-gap-col-pc) * 1px), calc(var(--pLocalnavBottomList-gap-col-pc) / 1440 * 100vw));
    }
  }
  .pBreadcrumbsText {
    font-size: calc(var(--pBreadcrumbsText-font-size-sp) / 390 * 100vw);
    font-weight: var(--pBreadcrumbsText-font-weight-active);
    color: var(--pBreadcrumbsText-color-active);
    white-space: nowrap;
    display: grid;
    align-items: center;
    grid-template: "slash text" auto/auto auto;
    gap: calc(var(--nBreadcrumbs-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pBreadcrumbsText {
      font-size: min(calc(var(--pBreadcrumbsText-font-size-pc) * 1px), calc(var(--pBreadcrumbsText-font-size-pc) / 1440 * 100vw));
      gap: min(calc(var(--nBreadcrumbs-gap-pc) * 1px), calc(var(--nBreadcrumbs-gap-pc) / 1440 * 100vw));
    }
  }
  .pBreadcrumbsText::before {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: slash;
    content: "/";
    display: block;
    font-size: calc(var(--pBreadcrumbsSeparator-font-size-sp) / 390 * 100vw);
    font-weight: var(--pBreadcrumbsSeparator-font-weight);
    color: var(--pBreadcrumbsSeparator-color);
  }
  @media print, screen and (min-width: 768px) {
    .pBreadcrumbsText::before {
      font-size: min(calc(var(--pBreadcrumbsSeparator-font-size-pc) * 1px), calc(var(--pBreadcrumbsSeparator-font-size-pc) / 1440 * 100vw));
    }
  }
  .pBreadcrumbsText a {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: text;
    display: inline-block;
    font-weight: var(--pBreadcrumbsText-font-weight-default);
    color: var(--pBreadcrumbsText-color-default);
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .pBreadcrumbsText a:hover {
      text-decoration: none;
    }
  }
  .pBreadcrumbsSeparator {
    font-size: calc(var(--pBreadcrumbsText-font-size-sp) / 390 * 100vw);
    font-weight: var(--pBreadcrumbsText-font-weight-default);
    color: var(--pBreadcrumbsText-color-default);
  }
  @media print, screen and (min-width: 768px) {
    .pBreadcrumbsSeparator {
      font-size: min(calc(var(--pBreadcrumbsText-font-size-pc) * 1px), calc(var(--pBreadcrumbsText-font-size-pc) / 1440 * 100vw));
    }
  }
  .pBreadcrumbsSeparator::before {
    content: "";
    display: block;
    width: calc(var(--pQ-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_q.svg);
  }
  @media print, screen and (min-width: 768px) {
    .pBreadcrumbsSeparator::before {
      width: min(calc(var(--pQ-icon-width-pc) * 1px), calc(var(--pQ-icon-width-pc) / 1440 * 100vw));
    }
  }
  .pArticleNav {
    font-size: calc(var(--pArticleNav-font-size-sp) / 390 * 100vw);
    font-weight: var(--pArticleNav-font-weight);
    color: var(--pArticleNav-color);
    padding: calc(var(--pArticleNav-padding-block-sp) / 390 * 100vw) calc(var(--pArticleNav-padding-inline-sp) / 390 * 100vw);
    background-color: var(--pArticleNav-background-color);
    border-bottom-width: calc(var(--pArticleNav-border-bottom-width) / 390 * 100vw);
    border-bottom-style: solid;
    border-bottom-color: var(--pArticleNav-border-bottom-color);
    gap: calc(var(--pArticleNav-gap-sp) / 390 * 100vw);
    display: block grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    justify-content: start;
    line-height: 150%;
  }
  @media print, screen and (min-width: 768px) {
    .pArticleNav {
      font-size: min(calc(var(--pArticleNav-font-size-pc) * 1px), calc(var(--pArticleNav-font-size-pc) / 1440 * 100vw));
      padding: min(calc(var(--pArticleNav-padding-block-pc) * 1px), calc(var(--pArticleNav-padding-block-pc) / 1440 * 100vw)) min(calc(var(--pArticleNav-padding-inline-pc) * 1px), calc(var(--pArticleNav-padding-inline-pc) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pArticleNav-border-bottom-width) * 1px), calc(var(--pArticleNav-border-bottom-width) / 1440 * 100vw));
      gap: min(calc(var(--pArticleNav-gap-pc) * 1px), calc(var(--pArticleNav-gap-pc) / 1440 * 100vw));
    }
  }
  .pArticleNav::before {
    content: "";
    display: block;
    width: calc(var(--pArticleNav-icon-width-sp) / 390 * 100vw);
    aspect-ratio: 1/1;
    background: center/contain no-repeat url(/images/icon_articlenav.svg);
  }
  @media print, screen and (min-width: 768px) {
    .pArticleNav::before {
      width: min(calc(var(--pArticleNav-icon-width-pc) * 1px), calc(var(--pArticleNav-icon-width-pc) / 1440 * 100vw));
    }
  }
}
@layer components {
  .component.type_pagetitle {
    background-color: var(--cPageTitle-background-color);
  }
  .component.type_pagetitle .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-block: calc(var(--cPageTitle-padding-block-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_pagetitle .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_pagetitle .inner {
      padding-block: min(calc(var(--cPageTitle-padding-block-pc) * 1px), calc(var(--cPageTitle-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_extendedtitle {
    position: relative;
    padding-block: calc(60 / 390 * 100vw) calc(32 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle {
      padding-block: min(80px, calc(80 / 1440 * 100vw)) min(80px, calc(80 / 1440 * 100vw));
    }
  }
  .component.type_extendedtitle .bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: calc(360 / 390 * 100vw);
    background-color: var(--color-gray-weak);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .bg {
      height: min(560px, calc(560 / 1440 * 100vw));
    }
  }
  .component.type_extendedtitle .bg img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center top;
    object-position: center top;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner {
      padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .component.type_extendedtitle .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 1920px) {
    .component.type_extendedtitle .inner {
      padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    }
  }
  @media print, screen and (min-width: 1920px) and (min-width: 768px) {
    .component.type_extendedtitle .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  .component.type_extendedtitle .inner .image {
    position: relative;
    z-index: 2;
    margin-top: calc(32 / 390 * 100vw);
    display: block;
    padding-left: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner .image {
      padding-left: unset;
      margin-top: unset;
    }
  }
  .component.type_extendedtitle .inner .image img {
    aspect-ratio: 3/2;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
    border-radius: calc(var(--border-radius-small) / 390 * 100vw) 0 0 calc(var(--border-radius-small) / 390 * 100vw);
    box-shadow: 16px 16px 16px 0 rgba(0, 0, 0, 0.24);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner .image img {
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      box-shadow: 20px 20px 14px 0 rgba(0, 0, 0, 0.24);
      width: min(603px, calc(603 / 1440 * 100vw));
    }
  }
  .component.type_extendedtitle .inner .text {
    position: relative;
    z-index: 2;
    padding-inline: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner .text {
      padding-inline: unset;
    }
  }
  .component.type_extendedtitle .inner .text .pPageTitle {
    color: var(--color-surface);
    font-family: var(--font-family-en);
    font-size: calc(40 / 390 * 100vw);
    font-weight: var(--font-weight-medium);
    letter-spacing: 1.6px;
    line-height: 100%;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner .text .pPageTitle {
      font-size: min(72px, calc(72 / 1440 * 100vw));
      letter-spacing: 2.88px;
    }
  }
  .component.type_extendedtitle .inner .text span {
    margin-top: calc(16 / 390 * 100vw);
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    background-color: var(--color-surface);
    padding: calc(4 / 390 * 100vw) calc(8 / 390 * 100vw);
    color: var(--color-brand);
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    font-weight: var(--font-weight-medium);
    line-height: 160%;
    letter-spacing: 0.48px;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle .inner .text span {
      margin-top: min(32px, calc(32 / 1440 * 100vw));
      letter-spacing: 0.64px;
      padding: min(4px, calc(4 / 1440 * 100vw)) min(8px, calc(8 / 1440 * 100vw));
      font-weight: 700;
      font-size: min(calc(var(--fs-m) * 1px), calc(var(--fs-m) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy {
    margin-top: calc(var(--cCatchcopy-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy {
      margin-top: min(calc(var(--cCatchcopy-margin-top-pc) * 1px), calc(var(--cCatchcopy-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cCatchcopy-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner {
      grid-template: "heading heading" auto "lead text" auto "button button" auto/min(calc(var(--cCatchcopy-lead-width) * 1px), calc(var(--cCatchcopy-lead-width) / 1440 * 100vw)) 1fr;
      gap: min(calc(var(--cCatchcopy-gap-row-pc) * 1px), calc(var(--cCatchcopy-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cCatchcopy-gap-col) * 1px), calc(var(--cCatchcopy-gap-col) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner .pHeadingMedium {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: heading;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner .pLead {
      grid-area: lead;
      align-self: start;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner .pText {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: text;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy .inner .pButton {
      grid-area: button;
    }
  }
  .component.type_catchcopy_image {
    margin-top: calc(var(--cCatchcopyImage-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image {
      margin-top: min(calc(var(--cCatchcopyImage-margin-top-pc) * 1px), calc(var(--cCatchcopyImage-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy_image .inner {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cCatchcopyImage-gap-row-sp) / 390 * 100vw);
    align-items: start;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner {
      grid-template: ". text image image" auto/1fr min(calc(var(--cCatchcopyImage-text-width) * 1px), calc(var(--cCatchcopyImage-text-width) / 1440 * 100vw)) min(calc(var(--cCatchcopyImage-text-width) * 1px), calc(var(--cCatchcopyImage-text-width) / 1440 * 100vw)) 1fr;
      gap: unset;
    }
  }
  .component.type_catchcopy_image .inner .image {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner .image {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
      grid-area: image;
      padding-left: unset;
    }
  }
  .component.type_catchcopy_image .inner .text {
    padding-inline: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cCatchcopyImage-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner .text {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: text;
      padding-inline: unset;
      gap: min(calc(var(--cCatchcopyImage-gap-row-pc) * 1px), calc(var(--cCatchcopyImage-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy_image .inner:not(.reverse) .pImage {
    border-top-right-radius: unset;
    border-bottom-right-radius: unset;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner:not(.reverse) .text {
      padding-right: min(calc(var(--cCatchcopyImage-gap-col) * 1px), calc(var(--cCatchcopyImage-gap-col) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner.reverse {
      grid-template: "image image text ." auto/1fr min(calc(var(--cCatchcopyImage-text-width) * 1px), calc(var(--cCatchcopyImage-text-width) / 1440 * 100vw)) min(calc(var(--cCatchcopyImage-text-width) * 1px), calc(var(--cCatchcopyImage-text-width) / 1440 * 100vw)) 1fr;
    }
  }
  .component.type_catchcopy_image .inner.reverse .image {
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-left: unset;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner.reverse .image {
      padding-right: unset;
    }
  }
  .component.type_catchcopy_image .inner.reverse .pImage {
    border-top-left-radius: unset;
    border-bottom-left-radius: unset;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image .inner.reverse .text {
      padding-left: min(calc(var(--cCatchcopyImage-gap-col) * 1px), calc(var(--cCatchcopyImage-gap-col) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy_image_bg {
    margin-top: calc(var(--cCatchcopyImageBg-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg {
      margin-top: min(calc(var(--cCatchcopyImageBg-margin-top-pc) * 1px), calc(var(--cCatchcopyImageBg-margin-top-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner {
      position: relative;
      padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-bottom: min(calc(var(--cCatchcopyImageBg-image-position-pc-bottom) * 1px), calc(var(--cCatchcopyImageBg-image-position-pc-bottom) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_catchcopy_image_bg .inner:not(.reverse) .text {
    border-top-left-radius: calc(var(--cCatchcopyImageBg-border-radius-sp) / 390 * 100vw);
    border-bottom-left-radius: calc(var(--cCatchcopyImageBg-border-radius-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner:not(.reverse) .text {
      border-top-left-radius: min(calc(var(--cCatchcopyImageBg-border-radius-pc) * 1px), calc(var(--cCatchcopyImageBg-border-radius-pc) / 1440 * 100vw));
      border-bottom-left-radius: min(calc(var(--cCatchcopyImageBg-border-radius-pc) * 1px), calc(var(--cCatchcopyImageBg-border-radius-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner.reverse .image {
      margin-left: auto;
    }
  }
  .component.type_catchcopy_image_bg .inner.reverse .text {
    margin-left: unset;
    margin-right: auto;
    border-top-right-radius: calc(var(--cCatchcopyImageBg-border-radius-sp) / 390 * 100vw);
    border-bottom-right-radius: calc(var(--cCatchcopyImageBg-border-radius-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner.reverse .text {
      border-top-right-radius: min(calc(var(--cCatchcopyImageBg-border-radius-pc) * 1px), calc(var(--cCatchcopyImageBg-border-radius-pc) / 1440 * 100vw));
      border-bottom-right-radius: min(calc(var(--cCatchcopyImageBg-border-radius-pc) * 1px), calc(var(--cCatchcopyImageBg-border-radius-pc) / 1440 * 100vw));
      right: auto;
      left: 0;
    }
  }
  .component.type_catchcopy_image_bg .inner .image {
    padding-inline: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner .image {
      padding-inline: unset;
      width: min(calc(var(--cCatchcopyImageBg-image-width-pc) * 1px), calc(var(--cCatchcopyImageBg-image-width-pc) / 1440 * 100vw));
    }
  }
  .component.type_catchcopy_image_bg .inner .text {
    background-color: var(--cCatchcopyImageBg-backgound-color);
    padding-inline: calc(var(--cCatchcopyImageBg-padding-inline-sp) / 390 * 100vw);
    padding-block: calc(var(--cCatchcopyImageBg-padding-block-sp) / 390 * 100vw);
    width: calc(var(--cCatchcopyImageBg-text-width-sp) / 390 * 100vw);
    position: relative;
    margin-top: calc(var(--cCatchcopyImageBg-text-position-sp-top) / 390 * 100vw);
    margin-left: auto;
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cCatchcopyImageBg-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catchcopy_image_bg .inner .text {
      padding-inline: min(calc(var(--cCatchcopyImageBg-padding-inline-pc) * 1px), calc(var(--cCatchcopyImageBg-padding-inline-pc) / 1440 * 100vw));
      padding-block: min(calc(var(--cCatchcopyImageBg-padding-block-pc) * 1px), calc(var(--cCatchcopyImageBg-padding-block-pc) / 1440 * 100vw));
      margin-top: unset;
      position: absolute;
      right: 0;
      bottom: 0;
      width: min(calc(var(--cCatchcopyImageBg-text-width-pc) * 1px), calc(var(--cCatchcopyImageBg-text-width-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--cCatchcopyImageBg-border-radius-pc) * 1px), calc(var(--cCatchcopyImageBg-border-radius-pc) / 1440 * 100vw));
      gap: min(calc(var(--cCatchcopyImageBg-gap-row-pc) * 1px), calc(var(--cCatchcopyImageBg-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_conversion {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    margin-top: calc(var(--cConversion-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion {
      margin-top: min(calc(var(--cConversion-margin-top-pc) * 1px), calc(var(--cConversion-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_conversion .inner {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-color: var(--cConversion-background-color);
    border-radius: calc(var(--cConversion-border-radius-sp) / 390 * 100vw);
    padding: calc(var(--cConversion-padding-block-sp) / 390 * 100vw) calc(var(--cConversion-padding-inline-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cConversion-gap-row-sp) / 390 * 100vw);
    justify-items: center;
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion .inner {
      padding: min(calc(var(--cConversion-padding-block-pc) * 1px), calc(var(--cConversion-padding-block-pc) / 1440 * 100vw)) min(calc(var(--cConversion-padding-inline-pc) * 1px), calc(var(--cConversion-padding-inline-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--cConversion-border-radius-pc) * 1px), calc(var(--cConversion-border-radius-pc) / 1440 * 100vw));
      gap: min(calc(var(--cConversion-gap-row-pc) * 1px), calc(var(--cConversion-gap-row-pc) / 1440 * 100vw));
      justify-items: start;
      text-align: left;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion .inner.center {
      justify-items: center;
      text-align: center;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion .inner.right {
      justify-items: end;
      text-align: right;
    }
  }
  .component.type_conversion .inner .image img {
    width: calc(var(--cConversion-logo-width-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_conversion .inner .image img {
      width: min(calc(var(--cConversion-logo-width-pc) * 1px), calc(var(--cConversion-logo-width-pc) / 1440 * 100vw));
    }
  }
  .component.type_conversion .inner .pConversionHeading {
    color: var(--cConversion-color);
  }
  .component.type_conversion .inner .pText {
    color: var(--cConversion-color);
  }
  .component.type_blogtitle {
    padding-top: calc(60 / 390 * 100vw);
    padding-right: calc(30 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_blogtitle {
      padding-top: min(180px, calc(180 / 1440 * 100vw));
      padding-right: min(90px, calc(90 / 1440 * 100vw));
    }
  }
  .component.type_blogtitle .inner {
    padding: calc(32 / 390 * 100vw) calc(24 / 390 * 100vw);
    background-color: var(--color-surface);
    border-radius: 0 var(--border-radius-medium) var(--border-radius-medium) 0;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_blogtitle .inner {
      padding-inline: unset;
      padding-block: min(100px, calc(100 / 1440 * 100vw));
    }
  }
  .component.type_blogtitle .inner h1 {
    font-size: calc(var(--fs-xl) / 390 * 100vw);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-xsmall);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_blogtitle .inner h1 {
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
      margin-left: calc(50vw - min(630px, calc(630 / 1440 * 100vw)));
      padding-right: min(200px, calc(200 / 1440 * 100vw));
    }
  }
  .component.type_blogtitle .inner .cat {
    margin-top: calc(16 / 390 * 100vw);
    margin-left: -0.1em;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_blogtitle .inner .cat {
      margin-top: min(24px, calc(24 / 1440 * 100vw));
      margin-left: calc(50vw - min(630px, calc(630 / 1440 * 100vw)));
      translate: min(-6px, calc(-6 / 1440 * 100vw)) 0;
    }
  }
  .component.type_blogtitle .inner .cat a {
    margin-left: 0.5em;
  }
  .component.type_heading .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_heading .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_heading.large {
    margin-top: calc(var(--cHeading-large-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_heading.large {
      margin-top: min(calc(var(--cHeading-large-margin-top-pc) * 1px), calc(var(--cHeading-large-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_heading.medium {
    margin-top: calc(var(--cHeading-medium-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_heading.medium {
      margin-top: min(calc(var(--cHeading-medium-margin-top-pc) * 1px), calc(var(--cHeading-medium-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_heading_ex {
    margin-top: calc(var(--margin-section) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_heading_ex {
      margin-top: min(calc(var(--margin-section-pc) * 1px), calc(var(--margin-section-pc) / 1440 * 100vw));
    }
  }
  .component.type_heading_ex .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_heading_ex .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_text {
    margin-top: calc(var(--cText-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text {
      margin-top: min(calc(var(--cText-margin-top-pc) * 1px), calc(var(--cText-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_text .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_lead {
    margin-top: calc(var(--cLead-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_lead {
      margin-top: min(calc(var(--cLead-margin-top-pc) * 1px), calc(var(--cLead-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_lead .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_lead .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_text_image {
    margin-top: calc(var(--cTextImage-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image {
      margin-top: min(calc(var(--cTextImage-margin-top-pc) * 1px), calc(var(--cTextImage-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_text_image .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cTextImage-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image .inner {
      grid-template: "images text" auto/min(calc(var(--cTextImage-image-width) * 1px), calc(var(--cTextImage-image-width) / 1440 * 100vw)) 1fr;
      gap: min(calc(var(--cTextImage-gap-row-pc) * 1px), calc(var(--cTextImage-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cTextImage-gap-col) * 1px), calc(var(--cTextImage-gap-col) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image .inner.reverse {
      grid-template: "text images" auto/1fr min(calc(var(--cTextImage-image-width) * 1px), calc(var(--cTextImage-image-width) / 1440 * 100vw));
    }
  }
  .component.type_text_image .inner .text {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cTextImage-gap-row-sp) / 390 * 100vw);
    align-self: start;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image .inner .text {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: text;
      gap: min(calc(var(--cTextImage-gap-row-pc) * 1px), calc(var(--cTextImage-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_text_image .inner .images {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cTextImage-gap-row-sp) / 390 * 100vw);
    align-self: start;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_image .inner .images {
      grid-area: images;
      gap: min(calc(var(--cTextImage-gap-row-pc) * 1px), calc(var(--cTextImage-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_text_map {
    margin-top: calc(var(--cTextMap-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map {
      margin-top: min(calc(var(--cTextMap-margin-top-pc) * 1px), calc(var(--cTextMap-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_text_map .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cTextMap-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map .inner {
      grid-template: "map text" auto/min(calc(var(--cTextMap-image-width) * 1px), calc(var(--cTextMap-image-width) / 1440 * 100vw)) 1fr;
      gap: min(calc(var(--cTextMap-gap-row-pc) * 1px), calc(var(--cTextMap-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cTextMap-gap-col) * 1px), calc(var(--cTextMap-gap-col) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map .inner.reverse {
      grid-template: "text map" auto/1fr min(calc(var(--cTextMap-image-width) * 1px), calc(var(--cTextMap-image-width) / 1440 * 100vw));
    }
  }
  .component.type_text_map .inner .text {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cTextMap-gap-row-sp) / 390 * 100vw);
    align-self: start;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map .inner .text {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      grid-area: text;
      gap: min(calc(var(--cTextMap-gap-row-pc) * 1px), calc(var(--cTextMap-gap-row-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_text_map .inner .pMapCaption {
      grid-area: map;
    }
  }
  .component.type_map {
    margin-top: calc(var(--cMap-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_map {
      margin-top: min(calc(var(--cMap-margin-top-pc) * 1px), calc(var(--cMap-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_map .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_map .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_map .inner .pMapCaption {
    margin-inline: auto;
  }
  .component.type_image_multi {
    margin-top: calc(var(--cImage-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi {
      margin-top: min(calc(var(--cImage-margin-top-pc) * 1px), calc(var(--cImage-margin-top-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi.set1 .inner {
      justify-content: center;
    }
  }
  .component.type_image_multi.set1 .inner .pImageCaption {
    margin-inline: auto;
  }
  .component.type_image_multi.set2 .inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi.set2 .inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .component.type_image_multi.set3 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi.set3 .inner {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .component.type_image_multi.set4 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi.set4 .inner {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .component.type_image_multi .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    gap: calc(var(--cImage-gap-row-sp) / 390 * 100vw) calc(var(--cImage-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_image_multi .inner {
      gap: min(calc(var(--cImage-gap-row-pc) * 1px), calc(var(--cImage-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cImage-gap-col-pc) * 1px), calc(var(--cImage-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_image_multi .inner .pImageCaption.shrink .pCaption {
    margin-inline: auto;
  }
  .component.type_movie_multi {
    margin-top: calc(var(--cImage-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi {
      margin-top: min(calc(var(--cImage-margin-top-pc) * 1px), calc(var(--cImage-margin-top-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi.set1 .inner {
      justify-content: center;
    }
  }
  .component.type_movie_multi.set1 .inner .pImageCaption {
    margin-inline: auto;
  }
  .component.type_movie_multi.set2 .inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi.set2 .inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .component.type_movie_multi.set3 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi.set3 .inner {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .component.type_movie_multi.set4 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi.set4 .inner {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .component.type_movie_multi .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    gap: calc(var(--cImage-gap-row-sp) / 390 * 100vw) calc(var(--cImage-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_movie_multi .inner {
      gap: min(calc(var(--cImage-gap-row-pc) * 1px), calc(var(--cImage-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cImage-gap-col-pc) * 1px), calc(var(--cImage-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_movie_multi .inner .pImageCaption .pImage {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .component.type_movie_multi .inner .pImageCaption .pImage iframe {
    width: 100%;
    height: 100%;
  }
  .component.type_movie_multi .inner .pImageCaption .pCaption.shrink {
    margin-inline: auto;
  }
  .component.type_panel {
    margin-top: calc(var(--cPanel-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel {
      margin-top: min(calc(var(--cPanel-margin-top-pc) * 1px), calc(var(--cPanel-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_panel.set1 .inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
  .component.type_panel.set1 .inner .pPanel {
    margin-inline: auto;
  }
  .component.type_panel.set2 .inner {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel.set2 .inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .component.type_panel.set3 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel.set3 .inner {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .component.type_panel.set4 .inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, auto);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel.set4 .inner {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .component.type_panel .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    gap: calc(var(--cPanel-gap-row-sp) / 390 * 100vw) calc(var(--cPanel-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel .inner {
      gap: min(calc(var(--cPanel-gap-row-pc) * 1px), calc(var(--cPanel-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cPanel-gap-col-pc) * 1px), calc(var(--cPanel-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_speaker {
    margin-top: calc(var(--cSpeaker-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker {
      margin-top: min(calc(var(--cSpeaker-margin-top-pc) * 1px), calc(var(--cSpeaker-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_speaker > .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker > .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker > .inner {
      position: relative;
      display: flex;
      flex-direction: row-reverse;
      align-items: flex-start;
      gap: min(calc(var(--cSpeaker-gap-pc) * 1px), calc(var(--cSpeaker-gap-pc) / 1440 * 100vw));
    }
  }
  .component.type_speaker > .inner .speaker {
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cSpeaker-speaker-gap-sp) / 390 * 100vw);
    background-color: var(--cSpeaker-background-color);
    padding: calc(var(--cSpeaker-padding-block-sp) / 390 * 100vw) calc(var(--cSpeaker-padding-inline-sp) / 390 * 100vw);
    border-radius: calc(var(--cSpeaker-border-radius-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker > .inner .speaker {
      padding: min(calc(var(--cSpeaker-padding-block-pc) * 1px), calc(var(--cSpeaker-padding-block-pc) / 1440 * 100vw)) min(calc(var(--cSpeaker-padding-inline-pc) * 1px), calc(var(--cSpeaker-padding-inline-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--cSpeaker-border-radius-pc) * 1px), calc(var(--cSpeaker-border-radius-pc) / 1440 * 100vw));
      gap: min(calc(var(--cSpeaker-speaker-gap-pc) * 1px), calc(var(--cSpeaker-speaker-gap-pc) / 1440 * 100vw));
      width: min(calc(var(--cSpeaker-speaker-width) * 1px), calc(var(--cSpeaker-speaker-width) / 1440 * 100vw));
      position: sticky;
      top: 0;
      flex-shrink: 0;
    }
    .component.type_speaker > .inner .speaker.static {
      position: static;
    }
  }
  .component.type_speaker > .inner .speaker .pHeadingMedium {
    text-align: center;
  }
  .component.type_speaker > .inner .content {
    margin-top: calc(var(--cSpeaker-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker > .inner .content {
      margin-top: unset;
      flex: 1;
    }
  }
  .component.type_speaker > .inner .content .component:not(.type_column) .container,
.component.type_speaker > .inner .content .component:not(.type_column) .inner {
    width: 100%;
    padding-inline: unset;
  }
  .component.type_speaker > .inner .content .component {
    margin-top: calc(var(--margin-top-1) / 390 * 100vw);
  }
  .component.type_speaker > .inner .content .component:first-of-type {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_speaker > .inner .content .component {
      margin-top: min(calc(var(--margin-top-2) * 1px), calc(var(--margin-top-2) / 1440 * 100vw));
    }
    .component.type_speaker > .inner .content .component:first-of-type {
      margin-top: unset;
    }
  }
  .component.type_speaker > .inner .content .type_column .container {
    padding-inline: unset;
    width: 100%;
  }
  .component.type_speaker > .inner .content .type_column .inner {
    grid-template: "heading" auto "subheading" auto "text" auto "images" auto "button" auto/100%;
  }
  .component.type_speaker > .inner .content .type_table .inner {
    padding-inline: unset;
  }
  .component.type_column {
    margin-top: calc(var(--cColumn-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column {
      margin-top: min(calc(var(--cColumn-margin-top-pc) * 1px), calc(var(--cColumn-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_column .container {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_column .container .inner {
    background-color: var(--color-surface);
    padding: calc(var(--cColumn-padding-block-sp) / 390 * 100vw) calc(var(--cColumn-padding-inline-sp) / 390 * 100vw);
    border: calc(var(--cColumn-border-width-sp) / 390 * 100vw) solid var(--cColumn-border-color);
    border-radius: calc(var(--cColumn-border-radius-sp) / 390 * 100vw);
    display: grid;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner {
      padding: min(calc(var(--cColumn-padding-block-pc) * 1px), calc(var(--cColumn-padding-block-pc) / 1440 * 100vw)) min(calc(var(--cColumn-padding-inline-pc) * 1px), calc(var(--cColumn-padding-inline-pc) / 1440 * 100vw));
      gap: 0 min(calc(var(--cColumn-gap-col) * 1px), calc(var(--cColumn-gap-col) / 1440 * 100vw));
      border-width: min(calc(var(--cColumn-border-width-pc) * 1px), calc(var(--cColumn-border-width-pc) / 1440 * 100vw));
      border-radius: min(calc(var(--cColumn-border-radius-pc) * 1px), calc(var(--cColumn-border-radius-pc) / 1440 * 100vw));
    }
  }
  .component.type_column .container .inner.normal > *:first-child, .component.type_column .container .inner.reverse > *:first-child {
    margin-top: unset;
  }
  .component.type_column .container .inner.normal {
    grid-template: "heading" auto "subheading" auto "text" auto "images" auto/100%;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.normal {
      grid-template: "images heading" auto "images subheading" auto "images text" 1fr/min(calc(var(--cColumn-image-width) * 1px), calc(var(--cColumn-image-width) / 1440 * 100vw)) 1fr;
    }
  }
  .component.type_column .container .inner.reverse {
    grid-template: "heading" auto "subheading" auto "text" auto "images" auto/100%;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.reverse {
      grid-template: "heading images" auto "subheading images" auto "text images" 1fr/1fr min(calc(var(--cColumn-image-width) * 1px), calc(var(--cColumn-image-width) / 1440 * 100vw));
    }
  }
  .component.type_column .container .inner.vertical {
    grid-template: "heading" auto "subheading" auto "images" auto "text" auto/100%;
  }
  .component.type_column .container .inner.vertical:not(:has(.pHeadingMedium)):not(:has(.pText.subheading)) .images {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.vertical .images {
      grid-auto-flow: column;
      margin-top: min(calc(var(--cColumn-gap-row-pc) * 1px), calc(var(--cColumn-gap-row-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.vertical .button .pButton {
      margin-left: auto;
    }
  }
  .component.type_column .container .inner.vertical_reverse {
    grid-template: "heading" auto "subheading" auto "text" auto "images" auto/100%;
  }
  .component.type_column .container .inner.vertical_reverse:not(:has(.pHeadingMedium)):not(:has(.pText.subheading)) .text {
    margin-top: unset;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.vertical_reverse .images {
      grid-auto-flow: column;
      margin-top: min(calc(var(--cColumn-gap-row-pc) * 1px), calc(var(--cColumn-gap-row-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner.vertical_reverse .button .pButton {
      margin-left: auto;
    }
  }
  .component.type_column .container .inner.textonly {
    display: block;
  }
  .component.type_column .container .inner .pHeadingMedium {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    text-align: center;
    grid-area: heading;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner .pHeadingMedium {
      text-align: left;
    }
  }
  .component.type_column .container .inner .pText.subheading {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    margin-top: calc(var(--cColumn-gap-row-sp) / 390 * 100vw);
    color: var(--cColumn-subheading-color);
    grid-area: subheading;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner .pText.subheading {
      margin-top: min(calc(var(--cColumn-gap-row-pc) * 1px), calc(var(--cColumn-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_column .container .inner .images {
    margin-top: calc(var(--cColumn-gap-row-sp) / 390 * 100vw);
    grid-area: images;
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cColumn-gap-row-sp) / 390 * 100vw);
    align-self: start;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner .images {
      gap: min(calc(var(--cColumn-gap-row-pc) * 1px), calc(var(--cColumn-gap-row-pc) / 1440 * 100vw));
      margin-top: unset;
    }
  }
  .component.type_column .container .inner .images .pImageCaption {
    container-type: unset;
    margin-inline: auto;
  }
  .component.type_column .container .inner .text {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: text;
    margin-top: calc(var(--cColumn-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner .text {
      margin-top: min(calc(var(--cColumn-gap-row-pc) * 1px), calc(var(--cColumn-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_column .container .inner .button {
    grid-area: button;
  }
  @media print, screen and (min-width: 768px){
    .pNewsSet .date {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .pArticleList > .date {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
    }
    .pNewsSet .pTagSet {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
    }
    .pNewsSet .title {
      -ms-grid-row: 1;
      -ms-grid-column: 5;
      -ms-grid-column-span: 1;
    }
    .pArticleList .pNewsDate {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .pArticleList > .pNewsDate {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
    }
    .pArticleList .pTagSet {
      -ms-grid-row: 3;
      -ms-grid-column: 3;
    }
    .component.type_catchcopy .inner .pLead {
      -ms-grid-row: 3;
      -ms-grid-column: 1;
    }
    .component.type_catchcopy .inner .pButton {
      -ms-grid-row: 5;
      -ms-grid-column: 1;
      -ms-grid-column-span: 3;
    }
    .component.type_text_image .inner .images {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .component.type_text_image .inner.reverse > .images {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .component.type_column .container .inner.normal > .images {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 1;
    }
    .component.type_column .container .inner.reverse > .images {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 2;
    }
    .component.type_text_map .inner .pMapCaption {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .component.type_text_map .inner.reverse > .pMapCaption {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .component.type_column .container .inner.normal > .pText.subheading {
      -ms-grid-row: 2;
      -ms-grid-column: 2;
    }
    .component.type_column .container .inner.reverse > .pText.subheading {
      -ms-grid-row: 2;
      -ms-grid-column: 1;
    }
    .component.type_column .container .inner .images {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .component.type_text_image .inner.reverse > .images {
      -ms-grid-row: 1;
      -ms-grid-column: 2;
    }
    .component.type_column .container .inner.normal > .images {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 1;
    }
    .component.type_column .container .inner.reverse > .images {
      -ms-grid-row: 1;
      -ms-grid-row-span: 3;
      -ms-grid-column: 2;
    }
    .component.type_column .container .inner .button {
      -ms-grid-row: 5;
      -ms-grid-column: 1;
      -ms-grid-column-span: 3;
    }
  }
  .component.type_column .container .inner .button .pButton {
    margin-inline: auto;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_column .container .inner .button .pButton {
      margin-inline: unset;
    }
  }
  .component.type_table {
    margin-top: calc(var(--cTable-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table {
      margin-top: min(calc(var(--cTable-margin-top-pc) * 1px), calc(var(--cTable-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_table .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set {
    position: relative;
    overflow-x: auto;
  }
  .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table td {
    border-style: solid;
    border-left-width: calc(var(--pCell-border-left) / 390 * 100vw);
    border-top-width: calc(var(--pCell-border-top) / 390 * 100vw);
    border-right-width: calc(var(--pCell-border-right) / 390 * 100vw);
    border-bottom-width: calc(var(--pCell-border-bottom) / 390 * 100vw);
    padding-inline: calc(var(--pCell-padding-inline-sp) / 390 * 100vw);
    font-size: calc(var(--pCell-font-size-sp) / 390 * 100vw);
    min-width: calc(var(--pCell-min-width) / 390 * 100vw);
    line-height: 140%;
    color: var(--pCell-data-color);
    font-weight: var(--pCell-data-font-weight);
    border-color: var(--pCell-data-border-color);
    background-color: var(--pCell-data-background);
    padding-block: calc(var(--pCell-padding-block-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table td {
      font-size: min(calc(var(--pCell-font-size-pc) * 1px), calc(var(--pCell-font-size-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pCell-padding-inline-pc) * 1px), calc(var(--pCell-padding-inline-pc) / 1440 * 100vw));
      min-width: unset;
      border-left-width: min(calc(var(--pCell-border-left) * 1px), calc(var(--pCell-border-left) / 1440 * 100vw));
      border-top-width: min(calc(var(--pCell-border-top) * 1px), calc(var(--pCell-border-top) / 1440 * 100vw));
      border-right-width: min(calc(var(--pCell-border-right) * 1px), calc(var(--pCell-border-right) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table td a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table td a:hover {
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set:not(:has(.narrow, .reverse)) table td {
      padding-block: min(calc(var(--pCell-padding-block-pc) * 1px), calc(var(--pCell-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set.reverse table th {
    border-style: solid;
    border-left-width: calc(var(--pCell-border-left) / 390 * 100vw);
    border-top-width: calc(var(--pCell-border-top) / 390 * 100vw);
    border-right-width: calc(var(--pCell-border-right) / 390 * 100vw);
    border-bottom-width: calc(var(--pCell-border-bottom) / 390 * 100vw);
    padding-inline: calc(var(--pCell-padding-inline-sp) / 390 * 100vw);
    font-size: calc(var(--pCell-font-size-sp) / 390 * 100vw);
    min-width: calc(var(--pCell-min-width) / 390 * 100vw);
    line-height: 140%;
    color: var(--pCell-reverse-color);
    font-weight: var(--pCell-reverse-font-weight);
    border-color: var(--pCell-reverse-border-color);
    background-color: var(--pCell-reverse-background);
    padding-block: calc(var(--pCell-padding-block-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.reverse table th {
      font-size: min(calc(var(--pCell-font-size-pc) * 1px), calc(var(--pCell-font-size-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pCell-padding-inline-pc) * 1px), calc(var(--pCell-padding-inline-pc) / 1440 * 100vw));
      min-width: unset;
      border-left-width: min(calc(var(--pCell-border-left) * 1px), calc(var(--pCell-border-left) / 1440 * 100vw));
      border-top-width: min(calc(var(--pCell-border-top) * 1px), calc(var(--pCell-border-top) / 1440 * 100vw));
      border-right-width: min(calc(var(--pCell-border-right) * 1px), calc(var(--pCell-border-right) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set.reverse table th a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .component.type_table .inner .table_set.reverse table th a:hover {
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.reverse table th {
      padding-block: min(calc(var(--pCell-padding-block-pc) * 1px), calc(var(--pCell-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set.narrow table td {
    border-style: solid;
    border-left-width: calc(var(--pCell-border-left) / 390 * 100vw);
    border-top-width: calc(var(--pCell-border-top) / 390 * 100vw);
    border-right-width: calc(var(--pCell-border-right) / 390 * 100vw);
    border-bottom-width: calc(var(--pCell-border-bottom) / 390 * 100vw);
    padding-inline: calc(var(--pCell-padding-inline-sp) / 390 * 100vw);
    font-size: calc(var(--pCell-font-size-sp) / 390 * 100vw);
    min-width: calc(var(--pCell-min-width) / 390 * 100vw);
    line-height: 140%;
    padding-block: calc(var(--pCell-padding-block-sp-narrow) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.narrow table td {
      font-size: min(calc(var(--pCell-font-size-pc) * 1px), calc(var(--pCell-font-size-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pCell-padding-inline-pc) * 1px), calc(var(--pCell-padding-inline-pc) / 1440 * 100vw));
      min-width: unset;
      border-left-width: min(calc(var(--pCell-border-left) * 1px), calc(var(--pCell-border-left) / 1440 * 100vw));
      border-top-width: min(calc(var(--pCell-border-top) * 1px), calc(var(--pCell-border-top) / 1440 * 100vw));
      border-right-width: min(calc(var(--pCell-border-right) * 1px), calc(var(--pCell-border-right) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set.narrow table td a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .component.type_table .inner .table_set.narrow table td a:hover {
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.narrow table td {
      padding-block: min(calc(var(--pCell-padding-block-pc-narrow) * 1px), calc(var(--pCell-padding-block-pc-narrow) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.fixed table {
      table-layout: fixed;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.fixed table th, .component.type_table .inner .table_set.fixed table td {
      width: auto;
    }
  }
  .component.type_table .inner .table_set.fix_left table th {
    position: sticky;
    left: 0;
  }
  .component.type_table .inner .table_set.zebra table tr:nth-child(odd) th, .component.type_table .inner .table_set.zebra table tr:nth-child(odd) td {
    border-style: solid;
    border-left-width: calc(var(--pCell-border-left) / 390 * 100vw);
    border-top-width: calc(var(--pCell-border-top) / 390 * 100vw);
    border-right-width: calc(var(--pCell-border-right) / 390 * 100vw);
    border-bottom-width: calc(var(--pCell-border-bottom) / 390 * 100vw);
    padding-inline: calc(var(--pCell-padding-inline-sp) / 390 * 100vw);
    font-size: calc(var(--pCell-font-size-sp) / 390 * 100vw);
    min-width: calc(var(--pCell-min-width) / 390 * 100vw);
    line-height: 140%;
    background-color: var(--pCell-zebra-background);
    color: var(--pCell-zebra-color);
    padding-block: calc(var(--pCell-padding-block-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.zebra table tr:nth-child(odd) th, .component.type_table .inner .table_set.zebra table tr:nth-child(odd) td {
      font-size: min(calc(var(--pCell-font-size-pc) * 1px), calc(var(--pCell-font-size-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pCell-padding-inline-pc) * 1px), calc(var(--pCell-padding-inline-pc) / 1440 * 100vw));
      min-width: unset;
      border-left-width: min(calc(var(--pCell-border-left) * 1px), calc(var(--pCell-border-left) / 1440 * 100vw));
      border-top-width: min(calc(var(--pCell-border-top) * 1px), calc(var(--pCell-border-top) / 1440 * 100vw));
      border-right-width: min(calc(var(--pCell-border-right) * 1px), calc(var(--pCell-border-right) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set.zebra table tr:nth-child(odd) th a, .component.type_table .inner .table_set.zebra table tr:nth-child(odd) td a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .component.type_table .inner .table_set.zebra table tr:nth-child(odd) th a:hover, .component.type_table .inner .table_set.zebra table tr:nth-child(odd) td a:hover {
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set.zebra table tr:nth-child(odd) th, .component.type_table .inner .table_set.zebra table tr:nth-child(odd) td {
      padding-block: min(calc(var(--pCell-padding-block-pc) * 1px), calc(var(--pCell-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set table {
    border-collapse: collapse;
    width: 100%;
  }
  .component.type_table .inner .table_set table tr:has(td) th {
    width: 25%;
  }
  .component.type_table .inner .table_set table th {
    border-style: solid;
    border-left-width: calc(var(--pCell-border-left) / 390 * 100vw);
    border-top-width: calc(var(--pCell-border-top) / 390 * 100vw);
    border-right-width: calc(var(--pCell-border-right) / 390 * 100vw);
    border-bottom-width: calc(var(--pCell-border-bottom) / 390 * 100vw);
    padding-inline: calc(var(--pCell-padding-inline-sp) / 390 * 100vw);
    font-size: calc(var(--pCell-font-size-sp) / 390 * 100vw);
    min-width: calc(var(--pCell-min-width) / 390 * 100vw);
    line-height: 140%;
    color: var(--pCell-header-color);
    font-weight: var(--pCell-header-font-weight);
    border-color: var(--pCell-header-border-color);
    background-color: var(--pCell-header-background);
    padding-block: calc(var(--pCell-padding-block-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set table th {
      font-size: min(calc(var(--pCell-font-size-pc) * 1px), calc(var(--pCell-font-size-pc) / 1440 * 100vw));
      padding-inline: min(calc(var(--pCell-padding-inline-pc) * 1px), calc(var(--pCell-padding-inline-pc) / 1440 * 100vw));
      min-width: unset;
      border-left-width: min(calc(var(--pCell-border-left) * 1px), calc(var(--pCell-border-left) / 1440 * 100vw));
      border-top-width: min(calc(var(--pCell-border-top) * 1px), calc(var(--pCell-border-top) / 1440 * 100vw));
      border-right-width: min(calc(var(--pCell-border-right) * 1px), calc(var(--pCell-border-right) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--pCell-border-bottom) * 1px), calc(var(--pCell-border-bottom) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set table th a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .component.type_table .inner .table_set table th a:hover {
      text-decoration: none;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_table .inner .table_set table th {
      padding-block: min(calc(var(--pCell-padding-block-pc) * 1px), calc(var(--pCell-padding-block-pc) / 1440 * 100vw));
    }
  }
  .component.type_table .inner .table_set table td ol {
    list-style: decimal;
    padding-left: 1em;
  }
  .component.type_table .inner .table_set table td ul {
    list-style: disc;
    padding-left: 1em;
  }
  .component.type_button {
    margin-top: calc(var(--cButton-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_button {
      margin-top: min(calc(var(--cButton-margin-top-pc) * 1px), calc(var(--cButton-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_button .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_button .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_button .inner ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(var(--cButton-gap-col-sp) / 390 * 100vw) calc(var(--cButton-gap-row-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_button .inner ul {
      gap: min(calc(var(--cButton-gap-col-pc) * 1px), calc(var(--cButton-gap-col-pc) / 1440 * 100vw)) min(calc(var(--cButton-gap-row-pc) * 1px), calc(var(--cButton-gap-row-pc) / 1440 * 100vw));
    }
  }
  .component.type_anchor {
    margin-top: calc(var(--margin-section) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_anchor {
      margin-top: min(calc(var(--margin-section-pc) * 1px), calc(var(--margin-section-pc) / 1440 * 100vw));
    }
  }
  .component.type_anchor .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_anchor .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_anchor .inner ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_anchor .inner ul {
      gap: min(12px, calc(12 / 1440 * 100vw));
    }
  }
  .component.type_anchor .inner ul li {
    position: relative;
  }
  .component.type_num {
    margin-top: calc(var(--margin-section) / 390 * 100vw);
    background-color: #E2F3F8;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num {
      margin-top: min(calc(var(--margin-section-pc) * 1px), calc(var(--margin-section-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num {
      padding-top: 40px;
      padding-bottom: 50px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set2 .inner {
      gap: 80px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner {
      gap: 35px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner, .component.type_num.set4 .inner {
      gap: 20px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner .unit .circle, .component.type_num.set4 .inner .unit .circle {
      width: 230px;
      height: 230px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner .unit .circle dl dt, .component.type_num.set4 .inner .unit .circle dl dt {
      top: 40px;
      padding: 0 35px;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner .unit .circle dl dd, .component.type_num.set4 .inner .unit .circle dl dd {
      top: 80px;
      display: flex;
      justify-content: center;
      align-items: flex-end;
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num.set3 .inner .unit .circle dl dd span, .component.type_num.set4 .inner .unit .circle dl dd span {
      margin: 0 0 8px 6px;
    }
  }
  .component.type_num .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner {
      display: flex;
      justify-content: center;
      gap: 20px;
    }
  }
  .component.type_num .inner .unit {
    margin-top: 50px;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner .unit {
      margin-top: 0;
    }
  }
  .component.type_num .inner .unit:first-of-type {
    margin-top: 0;
  }
  .component.type_num .inner .unit .circle {
    width: 300px;
    height: 300px;
    text-align: center;
    background-color: var(--color-surface);
    margin: 0 auto;
    border-radius: 50%;
    position: relative;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner .unit .circle {
      width: 320px;
      height: 320px;
    }
  }
  .component.type_num .inner .unit .circle dl dt {
    font-size: calc(18 / 390 * 100vw);
    position: absolute;
    top: 70px;
    padding: 0 30px;
    width: 100%;
    text-align: center;
  }
  .component.type_num .inner .unit .circle dl dd {
    position: absolute;
    top: 110px;
    width: 100%;
    color: var(--color-brand);
    font-weight: var(--font-weight-bold);
    letter-spacing: 0;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner .unit .circle dl dd {
      top: 120px;
    }
  }
  .component.type_num .inner .unit .circle dl dd em {
    font-size: calc(70 / 390 * 100vw);
    display: block;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner .unit .circle dl dd em {
      font-size: min(80px, calc(80 / 1440 * 100vw));
    }
  }
  .component.type_num .inner .unit .circle dl dd span {
    font-size: calc(24 / 390 * 100vw);
    display: block;
    margin-top: 25px;
  }
  .component.type_num .inner .unit .desc {
    font-size: calc(13 / 390 * 100vw);
    margin-top: 15px;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_num .inner .unit .desc {
      margin-top: 20px;
      font-size: min(15px, calc(15 / 1440 * 100vw));
    }
  }
  .component.type_wysiwyg {
    margin-top: calc(var(--margin-top-2) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_wysiwyg {
      margin-top: min(calc(var(--margin-top-3) * 1px), calc(var(--margin-top-3) / 1440 * 100vw));
    }
  }
  .component.type_wysiwyg .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_wysiwyg .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_catalog {
    margin-top: calc(var(--cCatalog-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catalog {
      margin-top: min(calc(var(--cCatalog-margin-top-pc) * 1px), calc(var(--cCatalog-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_catalog .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: calc(var(--cCatalog-gap-row-sp) / 390 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catalog .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_catalog .inner {
      grid-template-columns: repeat(3, 1fr);
      gap: min(calc(var(--cCatalog-gap-row-pc) * 1px), calc(var(--cCatalog-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cCatalog-gap-col-pc) * 1px), calc(var(--cCatalog-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_filelist {
    margin-top: calc(var(--cFilelist-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_filelist {
      margin-top: min(calc(var(--cFilelist-margin-top-pc) * 1px), calc(var(--cFilelist-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_filelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--cFilelist-gap-row-sp) / 390 * 100vw) calc(var(--cFilelist-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_filelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_filelist .inner {
      gap: min(calc(var(--cFilelist-gap-row-pc) * 1px), calc(var(--cFilelist-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cFilelist-gap-col-pc) * 1px), calc(var(--cFilelist-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_faq {
    margin-top: calc(var(--cFaq-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_faq {
      margin-top: min(calc(var(--cFaq-margin-top-pc) * 1px), calc(var(--cFaq-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_faq .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--cFaq-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_faq .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_faq .inner {
      gap: min(calc(var(--cFaq-gap-pc) * 1px), calc(var(--cFaq-gap-pc) / 1440 * 100vw));
    }
  }
  .component.type_member {
    margin-top: calc(var(--cMember-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_member {
      margin-top: min(calc(var(--cMember-margin-top-pc) * 1px), calc(var(--cMember-margin-top-pc) / 1440 * 100vw));
    }
  }
  .component.type_member .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(1, auto);
    gap: calc(var(--cMember-gap-row-sp) / 390 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_member .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .component.type_member .inner {
      grid-template-columns: repeat(3, 1fr);
      gap: min(calc(var(--cMember-gap-row-pc) * 1px), calc(var(--cMember-gap-row-pc) / 1440 * 100vw)) min(calc(var(--cMember-gap-col-pc) * 1px), calc(var(--cMember-gap-col-pc) / 1440 * 100vw));
    }
  }
  .component.type_iframe {
    margin-top: calc(var(--margin-top-2) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_iframe {
      margin-top: min(calc(var(--margin-top-3) * 1px), calc(var(--margin-top-3) / 1440 * 100vw));
    }
  }
  .component.type_iframe .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_iframe .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .component.type_iframe .inner iframe {
    max-width: 100%;
    width: 100%;
  }
  .navigation.breadcrumbs, .breadcrumbs.component.type_pagelist {
    margin-top: calc(var(--nBreadcrumbs-margin-top-sp) / 390 * 100vw);
    padding-bottom: calc(var(--nBreadcrumbs-padding-bottom-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.breadcrumbs, .breadcrumbs.component.type_pagelist {
      margin-top: min(calc(var(--nBreadcrumbs-margin-top-pc) * 1px), calc(var(--nBreadcrumbs-margin-top-pc) / 1440 * 100vw));
      padding-bottom: min(calc(var(--nBreadcrumbs-padding-bottom-pc) * 1px), calc(var(--nBreadcrumbs-padding-bottom-pc) / 1440 * 100vw));
    }
  }
  .navigation.breadcrumbs .inner, .breadcrumbs.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.breadcrumbs .inner, .breadcrumbs.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.breadcrumbs .inner ul, .breadcrumbs.component.type_pagelist .inner ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: calc(var(--nBreadcrumbs-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.breadcrumbs .inner ul, .breadcrumbs.component.type_pagelist .inner ul {
      gap: min(calc(var(--nBreadcrumbs-gap-pc) * 1px), calc(var(--nBreadcrumbs-gap-pc) / 1440 * 100vw));
    }
  }
  .navigation.breadcrumbs .inner ul .pBreadcrumbsText:first-child, .breadcrumbs.component.type_pagelist .inner ul .pBreadcrumbsText:first-child {
    display: inline-block;
  }
  .navigation.breadcrumbs .inner ul .pBreadcrumbsText:first-child::before, .breadcrumbs.component.type_pagelist .inner ul .pBreadcrumbsText:first-child::before {
    content: unset;
  }
  .navigation.pagination, .pagination.component.type_pagelist {
    margin-top: calc(var(--nPagination-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.pagination, .pagination.component.type_pagelist {
      margin-top: min(calc(var(--nPagination-margin-top-pc) * 1px), calc(var(--nPagination-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.pagination .inner, .pagination.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.pagination .inner, .pagination.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.pagination .inner ul, .pagination.component.type_pagelist .inner ul {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: calc(var(--nPagination-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.pagination .inner ul, .pagination.component.type_pagelist .inner ul {
      gap: min(calc(var(--nPagination-gap-pc) * 1px), calc(var(--nPagination-gap-pc) / 1440 * 100vw));
    }
  }
  .navigation.paginationdetail, .paginationdetail.component.type_pagelist {
    margin-top: calc(var(--nPaginationDetail-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.paginationdetail, .paginationdetail.component.type_pagelist {
      margin-top: min(calc(var(--nPaginationDetail-margin-top-pc) * 1px), calc(var(--nPaginationDetail-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.paginationdetail .inner, .paginationdetail.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    position: relative;
    display: grid;
    justify-items: center;
    gap: calc(var(--nPaginationDetail-gap-sp) / 390 * 100vw);
    grid-template: "prev next" auto "back back" auto/1fr 1fr;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.paginationdetail .inner, .paginationdetail.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .navigation.paginationdetail .inner, .paginationdetail.component.type_pagelist .inner {
      grid-template: "prev back next" auto/auto auto auto;
      justify-content: center;
      gap: min(calc(var(--nPaginationDetail-gap-pc) * 1px), calc(var(--nPaginationDetail-gap-pc) / 1440 * 100vw));
    }
  }
  .navigation.paginationdetail .inner .prev, .paginationdetail.component.type_pagelist .inner .prev {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: prev;
  }
  .navigation.paginationdetail .inner .back, .paginationdetail.component.type_pagelist .inner .back {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-area: back;
  }
  .navigation.paginationdetail .inner .next, .paginationdetail.component.type_pagelist .inner .next {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
    grid-area: next;
  }
  @media print, screen and (min-width: 768px){
    .navigation.paginationdetail .inner .prev, .paginationdetail.component.type_pagelist .inner .prev {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
    .navigation.paginationdetail .inner .back, .paginationdetail.component.type_pagelist .inner .back {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
      -ms-grid-column-span: 1;
    }
    .navigation.paginationdetail .inner .next, .paginationdetail.component.type_pagelist .inner .next {
      -ms-grid-row: 1;
      -ms-grid-column: 5;
    }
  }
  .navigation.localnavtop, .localnavtop.component.type_pagelist {
    border-top-width: calc(var(--nLocalnavTop-border-top-width) / 390 * 100vw);
    border-bottom-width: calc(var(--nLocalnavTop-border-bottom-width) / 390 * 100vw);
    border-style: solid;
    border-color: var(--nLocalnavTop-border-color);
    background-color: var(--nLocalnavTop-background-color);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnavtop, .localnavtop.component.type_pagelist {
      border-top-width: min(calc(var(--nLocalnavTop-border-top-width) * 1px), calc(var(--nLocalnavTop-border-top-width) / 1440 * 100vw));
      border-bottom-width: min(calc(var(--nLocalnavTop-border-bottom-width) * 1px), calc(var(--nLocalnavTop-border-bottom-width) / 1440 * 100vw));
    }
  }
  .navigation.localnavtop .inner .overflow, .localnavtop.component.type_pagelist .inner .overflow {
    overflow: auto;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnavtop .inner .overflow, .localnavtop.component.type_pagelist .inner .overflow {
      overflow: visible;
    }
  }
  .navigation.localnavtop .inner .overflow ul, .localnavtop.component.type_pagelist .inner .overflow ul {
    display: flex;
    justify-content: flex-start;
    gap: calc(var(--nLocalnavTop-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnavtop .inner .overflow ul, .localnavtop.component.type_pagelist .inner .overflow ul {
      gap: min(calc(var(--nLocalnavTop-gap-pc) * 1px), calc(var(--nLocalnavTop-gap-pc) / 1440 * 100vw));
      justify-content: center;
      flex-wrap: wrap;
    }
  }
  .navigation.localnavtop .inner .overflow ul li, .localnavtop.component.type_pagelist .inner .overflow ul li {
    white-space: nowrap;
    position: relative;
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    gap: calc(var(--nLocalnavTop-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnavtop .inner .overflow ul li, .localnavtop.component.type_pagelist .inner .overflow ul li {
      gap: min(calc(var(--nLocalnavTop-gap-pc) * 1px), calc(var(--nLocalnavTop-gap-pc) / 1440 * 100vw));
    }
  }
  .navigation.localnavtop .inner .overflow ul li::after, .localnavtop.component.type_pagelist .inner .overflow ul li::after {
    content: "";
    display: block;
  }
  .navigation.localnavtop .inner .overflow ul li:last-child::after, .localnavtop.component.type_pagelist .inner .overflow ul li:last-child::after {
    content: none;
  }
  .navigation.localnav_sub, .localnav_sub.component.type_pagelist {
    margin-top: calc(var(--nLocalnavSub-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_sub, .localnav_sub.component.type_pagelist {
      margin-top: min(calc(var(--nLocalnavSub-margin-top-pc) * 1px), calc(var(--nLocalnavSub-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.localnav_sub .inner, .localnav_sub.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_sub .inner, .localnav_sub.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.localnav_sub .inner ul, .localnav_sub.component.type_pagelist .inner ul {
    display: flex;
    flex-wrap: wrap;
    gap: calc(var(--nLocalnavSub-gap-row-sp) / 390 * 100vw) calc(var(--nLocalnavSub-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_sub .inner ul, .localnav_sub.component.type_pagelist .inner ul {
      gap: min(calc(var(--nLocalnavSub-gap-row-pc) * 1px), calc(var(--nLocalnavSub-gap-row-pc) / 1440 * 100vw)) min(calc(var(--nLocalnavSub-gap-col-pc) * 1px), calc(var(--nLocalnavSub-gap-col-pc) / 1440 * 100vw));
    }
  }
  .navigation.localnav_bottom, .localnav_bottom.component.type_pagelist {
    margin-top: calc(var(--nLocalnavBottom-margin-top-sp) / 390 * 100vw);
    background-color: var(--nLocalnavBottom-background-color);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_bottom, .localnav_bottom.component.type_pagelist {
      margin-top: min(calc(var(--nLocalnavBottom-margin-top-pc) * 1px), calc(var(--nLocalnavBottom-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.localnav_bottom .inner, .localnav_bottom.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-block: calc(var(--nLocalnavBottom-padding-block-sp) / 390 * 100vw);
    display: grid;
    grid-auto-flow: row;
    gap: calc(var(--nLocalnavBottom-gap-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_bottom .inner, .localnav_bottom.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnav_bottom .inner, .localnav_bottom.component.type_pagelist .inner {
      padding-block: min(calc(var(--nLocalnavBottom-padding-block-pc) * 1px), calc(var(--nLocalnavBottom-padding-block-pc) / 1440 * 100vw));
      gap: min(calc(var(--nLocalnavBottom-gap-pc) * 1px), calc(var(--nLocalnavBottom-gap-pc) / 1440 * 100vw));
    }
  }
  .navigation.archivenav, .archivenav.component.type_pagelist {
    margin-top: calc(var(--nArchivenav-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.archivenav, .archivenav.component.type_pagelist {
      margin-top: min(calc(var(--nArchivenav-margin-top-pc) * 1px), calc(var(--nArchivenav-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.archivenav .inner, .archivenav.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.archivenav .inner, .archivenav.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.archivenav .inner .overflow, .archivenav.component.type_pagelist .inner .overflow {
    overflow: auto;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.archivenav .inner .overflow, .archivenav.component.type_pagelist .inner .overflow {
      overflow: visible;
    }
  }
  .navigation.archivenav .inner .overflow ul, .archivenav.component.type_pagelist .inner .overflow ul {
    display: flex;
    justify-content: flex-start;
    gap: calc(var(--nArchivenav-gap-row-sp) / 390 * 100vw) calc(var(--nArchivenav-gap-col-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.archivenav .inner .overflow ul, .archivenav.component.type_pagelist .inner .overflow ul {
      flex-wrap: wrap;
      gap: min(calc(var(--nArchivenav-gap-row-pc) * 1px), calc(var(--nArchivenav-gap-row-pc) / 1440 * 100vw)) min(calc(var(--nArchivenav-gap-col-pc) * 1px), calc(var(--nArchivenav-gap-col-pc) / 1440 * 100vw));
    }
  }
  .navigation.newslist, .newslist.component.type_pagelist {
    margin-top: calc(var(--cNewsList-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.newslist, .newslist.component.type_pagelist {
      margin-top: min(calc(var(--cNewsList-margin-top-pc) * 1px), calc(var(--cNewsList-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.newslist .inner, .newslist.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.newslist .inner, .newslist.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.articlelist, .component.type_pagelist {
    margin-top: calc(var(--nArticleList-margin-top-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.articlelist, .component.type_pagelist {
      margin-top: min(calc(var(--nArticleList-margin-top-pc) * 1px), calc(var(--nArticleList-margin-top-pc) / 1440 * 100vw));
    }
  }
  .navigation.articlelist .inner, .component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.articlelist .inner, .component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1026px, calc(1026 / 1440 * 100vw));
    }
  }
  .navigation.articlelist .inner .list, .component.type_pagelist .inner .list {
    display: grid;
    grid-template-columns: repeat(1, 100%);
    gap: calc(var(--nArticleList-gap-row-sp) / 390 * 100vw) 0;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.articlelist .inner .list, .component.type_pagelist .inner .list {
      grid-template-columns: repeat(2, 1fr);
      gap: min(calc(var(--nArticleList-gap-row-pc) * 1px), calc(var(--nArticleList-gap-row-pc) / 1440 * 100vw)) min(calc(var(--nArticleList-gap-col-pc) * 1px), calc(var(--nArticleList-gap-col-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .article-wrapper {
      margin-top: min(calc(var(--fArticle-margin-top) * 1px), calc(var(--fArticle-margin-top) / 1440 * 100vw));
      padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
      padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
      position: relative;
      display: grid;
      grid-template: "contents nav" auto/1fr min(calc(var(--fArticle-nav-width) * 1px), calc(var(--fArticle-nav-width) / 1440 * 100vw));
      align-items: start;
      gap: min(calc(var(--fArticle-gap) * 1px), calc(var(--fArticle-gap) / 1440 * 100vw));
      position: relative;
      z-index: 1;
    }
  }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .article-wrapper {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  .article-wrapper .article-nav {
    margin-top: calc(var(--cArticleNav-margin-top-sp) / 390 * 100vw);
    padding-inline: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .article-wrapper .article-nav {
      position: sticky;
      top: min(calc(var(--fArticle-margin-top) * 1px), calc(var(--fArticle-margin-top) / 1440 * 100vw));
      grid-area: nav;
      margin-top: unset;
      padding-inline: unset;
    }
  }
  .article-wrapper .article-nav ul {
    border-top-width: calc(var(--cArticleNav-border-top-width) / 390 * 100vw);
    border-top-style: solid;
    border-top-color: var(--cArticleNav-border-top-color);
  }
  @media print, screen and (min-width: 768px) {
    .article-wrapper .article-nav ul {
      border-top-width: min(calc(var(--cArticleNav-border-top-width) * 1px), calc(var(--cArticleNav-border-top-width) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .article-wrapper .article-contents {
      grid-area: contents;
      padding-top: unset;
    }
    .article-wrapper .article-contents > *:first-child {
      margin-top: unset !important;
      padding-top: unset !important;
    }
    .article-wrapper .article-contents > a:first-child + * {
      margin-top: unset !important;
      padding-top: unset !important;
    }
    .article-wrapper .article-contents .container,
.article-wrapper .article-contents .inner,
.article-wrapper .article-contents .component.type_table,
.article-wrapper .article-contents .component.type_catchcopy_image_bg,
.article-wrapper .article-contents .component.type_conversion,
.article-wrapper .article-contents .m_taglist {
      width: unset !important;
      margin-inline: unset;
    }
  }
  @media print, screen and (min-width: 768px){
    .article-wrapper .article-nav {
      -ms-grid-row: 1;
      -ms-grid-column: 3;
    }
    .article-wrapper .article-contents {
      -ms-grid-row: 1;
      -ms-grid-column: 1;
    }
  }
  /**
   * Swiper 11.1.15
   * Most modern mobile touch slider and framework with hardware accelerated transitions
   * https://swiperjs.com
   *
   * Copyright 2014-2024 Vladimir Kharlampidi
   *
   * Released under the MIT License
   *
   * Released on: November 18, 2024
   */
  @font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, 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");
    font-weight: 400;
    font-style: normal;
  }
  :root {
    --swiper-theme-color: #007aff ;
  }
  :host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
  }
  .swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block;
  }
  .swiper-vertical > .swiper-wrapper {
    flex-direction: column;
  }
  .swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
  }
  .swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0);
  }
  .swiper-horizontal {
    touch-action: pan-y;
  }
  .swiper-vertical {
    touch-action: pan-x;
  }
  .swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
  }
  .swiper-slide-invisible-blank {
    visibility: hidden;
  }
  .swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto;
  }
  .swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
  }
  .swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden;
  }
  .swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px;
  }
  .swiper-3d .swiper-wrapper {
    transform-style: preserve-3d;
  }
  .swiper-3d {
    perspective: 1200px;
  }
  .swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
    transform-style: preserve-3d;
  }
  .swiper-css-mode > .swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
    display: none;
  }
  .swiper-css-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: start start;
  }
  .swiper-css-mode.swiper-horizontal > .swiper-wrapper {
    scroll-snap-type: x mandatory;
  }
  .swiper-css-mode.swiper-vertical > .swiper-wrapper {
    scroll-snap-type: y mandatory;
  }
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper {
    scroll-snap-type: none;
  }
  .swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: none;
  }
  .swiper-css-mode.swiper-centered > .swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999;
  }
  .swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always;
  }
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before);
  }
  .swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after);
  }
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before);
  }
  .swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after);
  }
  .swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10;
  }
  .swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, 0.15);
  }
  .swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  }
  .swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
  }
  .swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear;
  }
  .swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff ;
  }
  .swiper-lazy-preloader-black {
    --swiper-preloader-color: #000 ;
  }
  @keyframes swiper-preloader-spin {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  }
  .swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0);
  }
  .swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
  }
  .swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size);
  }
  .swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size);
  }
  :root {
    --swiper-navigation-size: 44px ;
  }
  .swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none;
  }
  .swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important;
  }
  .swiper-button-next svg,
.swiper-button-prev svg {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    transform-origin: center;
  }
  .swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg);
  }
  .swiper-button-lock {
    display: none;
  }
  .swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev";
  }
  .swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto;
  }
  .swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next";
  }
  .swiper-pagination.swiper-pagination-hidden {
    opacity: 0;
  }
  .swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important;
  }
  button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  .swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer;
  }
  .swiper-pagination-bullet:only-child {
    display: none !important;
  }
  .swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit);
  }
  .swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
    position: absolute;
  }
  .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top;
  }
  .swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top;
  }
  .swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0;
  }
  .swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical > .swiper-pagination-progressbar {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0;
  }
  .swiper-pagination-lock {
    display: none;
  }
  .swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
  }
  .swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important;
  }
  .swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
  .swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical > .swiper-scrollbar {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
  }
  .swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0;
  }
  .swiper-scrollbar-cursor-drag {
    cursor: move;
  }
  .swiper-scrollbar-lock {
    display: none;
  }
  .swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }
  .swiper-zoom-container > canvas,
.swiper-zoom-container > img,
.swiper-zoom-container > svg {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
  }
  .swiper-slide-zoomed {
    cursor: move;
    touch-action: none;
  }
  .swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000;
  }
  .swiper-free-mode > .swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto;
  }
  .swiper-grid > .swiper-wrapper {
    flex-wrap: wrap;
  }
  .swiper-grid-column > .swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column;
  }
  .swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out;
  }
  .swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity;
  }
  .swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  .swiper-fade .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper.swiper-cube {
    overflow: visible;
  }
  .swiper-cube .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%;
  }
  .swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  .swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0;
  }
  .swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible;
  }
  .swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: 0.6;
    z-index: 0;
  }
  .swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px);
  }
  .swiper-cube .swiper-slide-next + .swiper-slide {
    pointer-events: auto;
    visibility: visible;
  }
  .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    z-index: 0;
    backface-visibility: hidden;
  }
  .swiper.swiper-flip {
    overflow: visible;
  }
  .swiper-flip .swiper-slide {
    pointer-events: none;
    backface-visibility: hidden;
    z-index: 1;
  }
  .swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none;
  }
  .swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto;
  }
  .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    z-index: 0;
    backface-visibility: hidden;
  }
  .swiper-creative .swiper-slide {
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height;
  }
  .swiper.swiper-cards {
    overflow: visible;
  }
  .swiper-cards .swiper-slide {
    transform-origin: center bottom;
    backface-visibility: hidden;
    overflow: hidden;
  }
}
@layer uniq {
  @media print, screen and (min-width: 768px) {
    .pQ::before {
      translate: 0 min(3px, calc(3 / 1440 * 100vw));
    }
  }
  .component.type_pagetitle {
    text-align: center;
  }
  .component.type_pagetitle + * {
    margin-top: unset !important;
  }
  .navigation.breadcrumbs, .breadcrumbs.component.type_pagelist {
    background-color: var(--color-gray);
    padding-top: calc(var(--nBreadcrumbs-padding-bottom-sp) / 390 * 100vw);
    margin-top: calc(96 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.breadcrumbs, .breadcrumbs.component.type_pagelist {
      padding-top: min(calc(var(--nBreadcrumbs-padding-bottom-pc) * 1px), calc(var(--nBreadcrumbs-padding-bottom-pc) / 1440 * 100vw));
      margin-top: min(144px, calc(144 / 1440 * 100vw));
    }
  }
  .navigation.breadcrumbs .inner, .breadcrumbs.component.type_pagelist .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .navigation.breadcrumbs .inner, .breadcrumbs.component.type_pagelist .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  .component.type_panel.set3 .inner:has(.button) {
    grid-template-columns: repeat(1, 1fr);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel.set3 .inner:has(.button) {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  .component.type_panel.set4 .inner:has(.button) {
    grid-template-columns: repeat(1, 1fr);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel.set4 .inner:has(.button) {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .pPanel:has(.button) {
    background-color: var(--color-surface);
    border-radius: calc(8 / 390 * 100vw);
    padding: calc(16 / 390 * 100vw) calc(16 / 390 * 100vw) calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pPanel:has(.button) {
      border-radius: min(8px, calc(8 / 1440 * 100vw));
      padding: min(16px, calc(16 / 1440 * 100vw)) min(16px, calc(16 / 1440 * 100vw)) min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .pPanel:has(.button) .pButton:not(.small):not(.large) {
    min-width: calc(120 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pPanel:has(.button) .pButton:not(.small):not(.large) {
      min-width: min(162px, calc(162 / 1440 * 100vw));
    }
  }
  .pPanel:has(.button) .pHeadingMedium {
    color: var(--color-brand);
  }
  .pPanel:has(.button) .pButton {
    margin-inline: unset;
    margin-left: auto;
  }
  @media print, screen and (min-width: 768px) {
    .component.type_panel.set3 .pPanel:has(.button),
.component.type_panel.set4 .pPanel:has(.button) {
      padding: min(16px, calc(16 / 1440 * 100vw)) min(16px, calc(16 / 1440 * 100vw)) min(24px, calc(24 / 1440 * 100vw));
    }
  }
  .navigation.localnavtop, .localnavtop.component.type_pagelist {
    display: none;
  }
  @media print, screen and (min-width: 768px) {
    .navigation.localnavtop, .localnavtop.component.type_pagelist {
      display: block;
    }
  }
  .navigation.localnav_bottom, .localnav_bottom.component.type_pagelist {
    display: none;
  }
  .component.type_filelist .inner {
    grid-template-columns: repeat(1, 1fr);
  }
  .pNewsCategory {
    text-align: center;
  }
  .component.type_catchcopy_image .inner {
    align-items: center;
  }
  .component.type_text_map .inner {
    align-items: center;
  }
  .component.type_text_map .inner .text {
    align-self: unset;
  }
  .component.type_extendedtitle + * {
    margin-top: calc(var(--margin-top-2) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .component.type_extendedtitle + * {
      margin-top: min(calc(var(--margin-top-3) * 1px), calc(var(--margin-top-3) / 1440 * 100vw));
    }
  }
  .top_news_button {
    display: block;
  }
  .top_news_button .pButton {
    margin-left: auto;
  }
  .top main {
    padding-top: unset;
  }
  body:has(#topSlider) main {
    padding-top: unset;
  }
  body:has(#topSlider) header {
    background-color: transparent;
  }
  body:has(#topSlider).is-scroll-toppage header {
    background-color: var(--color-background-strong);
  }
  body:has(#topSlider):not(.is-scroll-toppage) header .inner:not(:has(#gnav.show)) #logo a {
    background-color: var(--color-surface);
  }
  body:has(#topSlider):not(.is-scroll-toppage) header .inner:not(:has(#gnav.show)) #menuButton {
    background-color: var(--color-surface);
    border-color: var(--color-border);
  }
  body:has(#topSlider):not(.is-scroll-toppage) header .inner:not(:has(#gnav.show)) #menuButton .lines span {
    background-color: var(--color-black);
  }
  @media print, screen and (min-width: 768px) {
    body:has(#topSlider):not(.is-scroll-toppage) header .inner:not(:has(#gnav.show)) #gnav .gnavinner .main li a:not(.contact) {
      color: var(--color-surface);
    }
  }
  @media print, screen and (min-width: 768px) {
    body:has(#topSlider):not(.is-scroll-toppage) header .inner:not(:has(#gnav.show)) #lang {
      color: var(--color-surface);
    }
  }
  @media print, screen and (min-width: 768px) {
    body:has(#topSlider):not(.is-scroll-toppage) header .inner:not(:has(#gnav.show)) #lang li::after {
      color: var(--color-border);
    }
  }
  @media print, screen and (min-width: 768px) {
    body:has(#topSlider):not(.is-scroll-toppage) header .inner:not(:has(#gnav.show)) #lang li a {
      color: var(--color-border);
    }
    body:has(#topSlider):not(.is-scroll-toppage) header .inner:not(:has(#gnav.show)) #lang li a.is-active {
      color: var(--color-surface);
    }
  }
  body:has(#topSlider) .navigation.breadcrumbs, body:has(#topSlider) .breadcrumbs.component.type_pagelist {
    display: none;
  }
  body:has(#topSlider) footer {
    margin-top: calc(120 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    body:has(#topSlider) footer {
      margin-top: min(120px, calc(120 / 1440 * 100vw));
    }
  }
  #topSlider {
    position: relative;
    padding-block: calc(84 / 390 * 100vw) calc(40 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider {
      padding-block: min(30px, calc(30 / 1440 * 100vw)) min(30px, calc(30 / 1440 * 100vw));
    }
  }
  #topSlider::after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    background-color: #828282;
    z-index: 1;
    border-bottom-right-radius: calc(96 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider::after {
      border-bottom-right-radius: min(96px, calc(96 / 1440 * 100vw));
    }
  }
  #topSlider .swiper {
    position: relative;
    z-index: 2;
    padding-bottom: calc(53 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper {
      padding-bottom: min(26px, calc(26 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .swiper-slide {
    overflow: hidden;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide {
      overflow: visible;
    }
  }
  #topSlider .swiper .swiper-slide .inner {
    position: relative;
    margin-inline: auto;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .inner {
      width: min(1220px, calc(1220 / 1440 * 100vw));
      display: flex;
      flex-direction: row-reverse;
      align-items: center;
      justify-content: space-between;
      gap: min(100px, calc(100 / 1440 * 100vw));
      padding-inline: min(36px, calc(36 / 1440 * 100vw)) min(40px, calc(40 / 1440 * 100vw));
      padding-top: min(74px, calc(74 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .swiper-slide .inner .image {
    padding-left: calc(32 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .inner .image {
      padding-left: unset;
      width: min(600px, calc(600 / 1440 * 100vw));
      flex-shrink: 0;
    }
  }
  #topSlider .swiper .swiper-slide .inner .image img {
    border-radius: calc(8 / 390 * 100vw) 0 0 calc(8 / 390 * 100vw);
    box-shadow: calc(16 / 390 * 100vw) calc(16 / 390 * 100vw) calc(16 / 390 * 100vw) 0 rgba(0, 0, 0, 0.24);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .inner .image img {
      border-radius: min(8px, calc(8 / 1440 * 100vw));
      box-shadow: min(14px, calc(14 / 1440 * 100vw)) min(14px, calc(14 / 1440 * 100vw)) min(10px, calc(10 / 1440 * 100vw)) 0 rgba(0, 0, 0, 0.24);
    }
  }
  #topSlider .swiper .swiper-slide .inner .text {
    margin-top: calc(-20 / 390 * 100vw);
    padding-inline: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .inner .text {
      margin-top: unset;
      padding-inline: unset;
    }
  }
  #topSlider .swiper .swiper-slide .inner .text .title {
    color: var(--color-surface);
    font-family: var(--font-family-en);
    font-size: calc(40 / 390 * 100vw);
    font-weight: 500;
    letter-spacing: 1.6px;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .inner .text .title {
      font-size: min(72px, calc(72 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .swiper-slide .inner .text .pages {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: calc(16 / 390 * 100vw);
    padding: calc(4 / 390 * 100vw) calc(8 / 390 * 100vw);
    background-color: var(--color-surface);
    color: var(--color-brand);
    font-size: calc(var(--fs-xs) / 390 * 100vw);
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0.48px;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .inner .text .pages {
      margin-top: min(32px, calc(32 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      padding: min(4px, calc(4 / 1440 * 100vw)) min(8px, calc(8 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .swiper-slide .inner .text .lead {
    margin-top: calc(16 / 390 * 100vw);
    color: var(--color-surface);
    font-size: calc(var(--fs-s) / 390 * 100vw);
    line-height: 185.714%;
    letter-spacing: 0.56px;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .inner .text .lead {
      margin-top: min(16px, calc(16 / 1440 * 100vw));
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
    }
  }
  #topSlider .swiper .swiper-slide .inner .text .button {
    margin-top: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .inner .text .button {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .swiper-slide .inner .background {
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
    z-index: -1;
    height: calc(274 / 390 * 100vw);
    background-size: auto calc(274 / 390 * 100vw);
    background-position: center;
    background-repeat: no-repeat;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-slide .inner .background {
      height: auto;
      height: min(500px, calc(500 / 1440 * 100vw));
      top: 0;
      background-size: contain;
    }
  }
  #topSlider .swiper .navigations {
    position: absolute;
    bottom: 0;
    left: calc(17 / 390 * 100vw);
    z-index: 2;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .navigations {
      width: min(1144px, calc(1144 / 1440 * 100vw));
      margin-inline: auto;
      left: 50%;
      translate: -50% 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
  }
  #topSlider .swiper .navigations .swiper-pagination {
    display: flex;
    gap: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .navigations .swiper-pagination {
      margin-left: auto;
      gap: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .navigations .swiper-pagination .swiper-pagination-bullet {
    width: calc(8 / 390 * 100vw);
    height: calc(8 / 390 * 100vw);
    aspect-ratio: 1/1;
    background-color: var(--color-surface);
    border-radius: 50%;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .navigations .swiper-pagination .swiper-pagination-bullet {
      width: min(8px, calc(8 / 1440 * 100vw));
      height: min(8px, calc(8 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .navigations .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background-color: var(--color-brand);
  }
  #topSlider .swiper .swiper-button-next, #topSlider .swiper .swiper-button-prev {
    display: none;
    background-color: var(--color-gray);
    border-radius: 50%;
    position: static;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-button-next, #topSlider .swiper .swiper-button-prev {
      position: absolute;
      top: 50%;
      translate: 0 -50%;
      width: min(48px, calc(48 / 1440 * 100vw));
      height: min(48px, calc(48 / 1440 * 100vw));
      transition: opacity 0.3s var(--bezier);
      align-items: center;
      justify-content: center;
      z-index: 10;
    }
    #topSlider .swiper .swiper-button-next:hover, #topSlider .swiper .swiper-button-prev:hover {
      opacity: 0.7;
    }
  }
  #topSlider .swiper .swiper-button-next::after, #topSlider .swiper .swiper-button-prev::after {
    content: none;
  }
  #topSlider .swiper .swiper-button-next::before, #topSlider .swiper .swiper-button-prev::before {
    content: "";
    -webkit-mask-image: url(/images/icon_arrow_next.svg);
    mask-image: url(/images/icon_arrow_next.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    background-color: var(--color-text-on-accent);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-button-next::before, #topSlider .swiper .swiper-button-prev::before {
      width: min(24px, calc(24 / 1440 * 100vw));
      height: min(24px, calc(24 / 1440 * 100vw));
    }
  }
  #topSlider .swiper .swiper-button-next:not(.swiper-button-disabled), #topSlider .swiper .swiper-button-prev:not(.swiper-button-disabled) {
    display: flex;
  }
  #topSlider .swiper .swiper-button-next.swiper-button-disabled, #topSlider .swiper .swiper-button-prev.swiper-button-disabled {
    opacity: 0;
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-button-prev {
      left: 50%;
      translate: max(-668px, calc(-668 / 1440 * 100vw)) 0;
    }
  }
  #topSlider .swiper .swiper-button-prev::before {
    -webkit-mask-image: url(/images/icon_arrow_prev.svg);
    mask-image: url(/images/icon_arrow_prev.svg);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .swiper .swiper-button-next {
      right: 50%;
      translate: max(618px, calc(618 / 1440 * 100vw)) 0;
    }
  }
  #topSlider .requirements {
    display: block;
    position: fixed;
    bottom: calc(90 / 390 * 100vw);
    right: 0;
    z-index: 2;
    filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.24));
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .requirements {
      bottom: min(160px, calc(160 / 1440 * 100vw));
      right: 0;
    }
  }
  #topSlider .requirements img {
    width: calc(40 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider .requirements img {
      width: min(48px, calc(48 / 1440 * 100vw));
    }
  }
  #topSlider + .component.type_text {
    margin-top: calc(var(--margin-top-2) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    #topSlider + .component.type_text {
      margin-top: min(calc(var(--margin-top-3) * 1px), calc(var(--margin-top-3) / 1440 * 100vw));
    }
  }
  main:has(#topSlider) .type_heading {
    margin-top: calc(56 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    main:has(#topSlider) .type_heading {
      margin-top: min(96px, calc(96 / 1440 * 100vw));
    }
  }
  main:has(#topSlider) .type_heading .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    main:has(#topSlider) .type_heading .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  .type_catchcopy_image.toppage {
    margin-top: calc(80 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage {
      margin-top: min(110px, calc(110 / 1440 * 100vw));
      border-bottom: unset;
    }
  }
  .type_catchcopy_image.toppage + .type_heading {
    margin-top: calc(56 / 390 * 100vw);
    border-top: 1px solid var(--color-border);
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage + .type_heading {
      margin-top: min(96px, calc(96 / 1440 * 100vw));
      border-top: unset;
    }
  }
  .type_catchcopy_image.toppage + .type_heading .inner {
    padding-top: calc(56 / 390 * 100vw);
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage + .type_heading .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage + .type_heading .inner {
      border-top: 1px solid var(--color-border);
      padding-top: min(96px, calc(96 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner {
      grid-template: ". text image image" auto/1fr min(570px, calc(570 / 1440 * 100vw)) min(670px, calc(670 / 1440 * 100vw)) 1fr;
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner.reverse {
      grid-template: "image image text ." auto/1fr min(670px, calc(670 / 1440 * 100vw)) min(570px, calc(570 / 1440 * 100vw)) 1fr;
    }
  }
  .type_catchcopy_image.toppage .inner.reverse .image {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner.reverse .image {
      padding-left: unset;
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner.reverse .image .pImage {
      border-radius: 0 min(calc(var(--pImage-border-radius-medium-pc) * 1px), calc(var(--pImage-border-radius-medium-pc) / 1440 * 100vw)) min(calc(var(--pImage-border-radius-medium-pc) * 1px), calc(var(--pImage-border-radius-medium-pc) / 1440 * 100vw)) 0;
    }
  }
  .type_catchcopy_image.toppage .inner .image {
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner .image {
      padding-right: unset;
    }
  }
  .type_catchcopy_image.toppage .inner .image .pImage {
    border-radius: calc(var(--pImage-border-radius-small-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner .image .pImage {
      border-radius: min(calc(var(--pImage-border-radius-medium-pc) * 1px), calc(var(--pImage-border-radius-medium-pc) / 1440 * 100vw)) 0 0 min(calc(var(--pImage-border-radius-medium-pc) * 1px), calc(var(--pImage-border-radius-medium-pc) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner .text {
      padding-right: min(74px, calc(74 / 1440 * 100vw));
    }
  }
  .type_catchcopy_image.toppage .inner .text h1 {
    font-size: calc(var(--fs-xxl) / 390 * 100vw);
    line-height: 120%;
    letter-spacing: 1.04px;
    color: var(--color-black);
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner .text h1 {
      font-size: min(calc(var(--fs-xxxxl) * 1px), calc(var(--fs-xxxxl) / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner .text .pText {
      font-size: min(calc(var(--fs-l) * 1px), calc(var(--fs-l) / 1440 * 100vw));
    }
  }
  .type_catchcopy_image.toppage .inner .text .button {
    margin-top: calc(60 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner .text .button {
      margin-top: unset;
    }
  }
  .type_catchcopy_image.toppage .inner .text .button a {
    margin-left: auto;
  }
  @media print, screen and (min-width: 768px) {
    .type_catchcopy_image.toppage .inner .text .button a {
      margin-left: unset;
    }
  }
  .top_panel {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .top_panel {
      margin-top: min(48px, calc(48 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .top_panel.set1 .inner {
      grid-template-columns: repeat(1, 1fr);
    }
  }
  @media print, screen and (min-width: 768px) {
    .top_panel.set2 .inner {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media print, screen and (min-width: 768px) {
    .top_panel.set3 .inner {
      grid-template-columns: repeat(3, 1fr);
    }
  }
  @media print, screen and (min-width: 768px) {
    .top_panel.set4 .inner {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .top_panel .inner {
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .top_panel .inner {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .top_panel .inner {
      grid-template-columns: repeat(2, 1fr);
      gap: min(48px, calc(48 / 1440 * 100vw)) min(32px, calc(32 / 1440 * 100vw));
    }
  }
  .pPanelTop {
    padding: calc(16 / 390 * 100vw) calc(16 / 390 * 100vw) calc(40 / 390 * 100vw);
    background-color: var(--color-surface);
    border-radius: calc(var(--border-radius-medium) / 390 * 100vw);
    display: flex;
    flex-direction: column;
    gap: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pPanelTop {
      padding: min(16px, calc(16 / 1440 * 100vw)) min(16px, calc(16 / 1440 * 100vw)) min(48px, calc(48 / 1440 * 100vw));
      border-radius: min(calc(var(--border-radius-medium) * 1px), calc(var(--border-radius-medium) / 1440 * 100vw));
      gap: min(16px, calc(16 / 1440 * 100vw));
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 4;
    }
  }
  .pPanelTop .title {
    padding-top: calc(16 / 390 * 100vw);
    text-align: center;
  }
  @media print, screen and (min-width: 768px) {
    .pPanelTop .title {
      padding-top: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .pPanelTop .title h3 {
    color: var(--color-brand, #8447AF);
    font-size: calc(28 / 390 * 100vw);
    font-weight: 500;
    text-transform: uppercase;
    line-height: 92.857%;
    letter-spacing: 4%;
    padding-bottom: calc(8 / 390 * 100vw);
    font-family: var(--font-family-en);
  }
  @media print, screen and (min-width: 768px) {
    .pPanelTop .title h3 {
      font-size: min(calc(var(--fs-xxxl) * 1px), calc(var(--fs-xxxl) / 1440 * 100vw));
      padding-bottom: unset;
    }
  }
  @media (any-hover: hover) {
    .pPanelTop .title h3 a:hover {
      -webkit-text-decoration-line: underline;
      text-decoration-line: underline;
      -webkit-text-decoration-style: solid;
      text-decoration-style: solid;
      -webkit-text-decoration-skip-ink: none;
      text-decoration-skip-ink: none;
      text-decoration-thickness: 6%;
      text-underline-offset: 2%;
      text-underline-position: from-font;
    }
  }
  @media print and (any-hover: hover), screen and (any-hover: hover) and (min-width: 768px) {
    .pPanelTop .title h3 a:hover {
      text-underline-offset: 16%;
    }
  }
  .pPanelTop .desc {
    padding-inline: calc(16 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pPanelTop .desc {
      padding-inline: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .pPanelTop .desc .subtitle {
    color: var(--color-gray-weak);
    text-align: center;
    font-size: calc(var(--fs-s) / 390 * 100vw);
    font-weight: 500;
    line-height: 185.714%;
    letter-spacing: 0.56px;
    padding-bottom: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pPanelTop .desc .subtitle {
      font-size: min(calc(var(--fs-s) * 1px), calc(var(--fs-s) / 1440 * 100vw));
      padding-bottom: min(16px, calc(16 / 1440 * 100vw));
    }
  }
  .pPanelTop .button {
    padding-top: calc(8 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .pPanelTop .button {
      padding-top: unset;
    }
  }
  .pPanelTop .button .pButton {
    margin-inline: auto;
  }
  .newsWrapper {
    margin-top: calc(80 / 390 * 100vw);
    padding-left: calc(var(--container-padding-sp) / 390 * 100vw);
    padding-right: calc(var(--container-padding-sp) / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .newsWrapper {
      padding-left: unset;
      padding-right: unset;
      margin-inline: auto;
      width: min(1240px, calc(1240 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .newsWrapper {
      margin-top: min(192px, calc(192 / 1440 * 100vw));
      display: grid;
      grid-template-columns: 1fr min(1028px, calc(1028 / 1440 * 100vw));
      gap: min(32px, calc(32 / 1440 * 100vw));
    }
  }
  @media print, screen and (min-width: 768px) {
    .newsWrapper .newsTitle {
      padding-inline: unset;
    }
  }
  @media print, screen and (min-width: 768px) {
    .newsWrapper .navigation.newslist, .newsWrapper .newslist.component.type_pagelist {
      margin-top: unset;
    }
  }
  .newsWrapper .navigation.newslist .inner, .newsWrapper .newslist.component.type_pagelist .inner {
    padding-inline: unset;
  }
  @media print, screen and (min-width: 768px) {
    .newsWrapper .navigation.newslist .inner, .newsWrapper .newslist.component.type_pagelist .inner {
      width: auto;
    }
  }
  .newsWrapper .navigation.newslist .button, .newsWrapper .newslist.component.type_pagelist .button {
    margin-top: calc(24 / 390 * 100vw);
  }
  @media print, screen and (min-width: 768px) {
    .newsWrapper .navigation.newslist .button, .newsWrapper .newslist.component.type_pagelist .button {
      margin-top: min(40px, calc(40 / 1440 * 100vw));
    }
  }
  .newsWrapper .navigation.newslist .button .pButton, .newsWrapper .newslist.component.type_pagelist .button .pButton {
    margin-left: auto;
  }
  @media (any-hover: hover) {
    .pNewsSet:hover .title {
      text-decoration: none;
    }
  }
  .pLocalnavBottom {
    transition: color var(--transition-speed) var(--bezier);
  }
  .pLocalnavBottom.is-active {
    color: var(--color-brand);
  }
  @media (any-hover: hover) {
    .pLocalnavBottom:hover {
      color: var(--color-brand);
    }
  }
  .pAttachment a {
    transition: opacity 0.3s var(--bezier);
  }
  .pAttachment a:hover {
    opacity: 0.7;
  }
  .pText a {
    text-decoration: underline;
  }
  @media (any-hover: hover) {
    .pText a:hover {
      text-decoration: none;
    }
  }
  .pFaq {
    transition: background-color var(--transition-speed) var(--bezier);
  }
  @media (any-hover: hover) {
    .pFaq:hover {
      background-color: var(--color-background);
    }
  }
  @media (any-hover: hover) {
    .pArticleNav:hover {
      text-decoration: underline;
    }
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsInN0eWxlLnNjc3MiLCJfcmVzZXQuc2NzcyIsIl9taXhpbnMuc2NzcyIsIjxubyBzb3VyY2U+IiwiX2hlYWRlci5zY3NzIiwiX2Zvb3Rlci5zY3NzIiwicGFydHMvX3BhZ2V0aXRsZS5zY3NzIiwicGFydHMvX2hlYWRpbmdsYXJnZS5zY3NzIiwicGFydHMvX2hlYWRpbmdtZWRpdW0uc2NzcyIsInBhcnRzL19oZWFkaW5nc21hbGwuc2NzcyIsInBhcnRzL19sZWFkLnNjc3MiLCJwYXJ0cy9fdGV4dC5zY3NzIiwicGFydHMvX2ltYWdlLnNjc3MiLCJwYXJ0cy9fbWFwLnNjc3MiLCJwYXJ0cy9faW1hZ2VjYXB0aW9uLnNjc3MiLCJwYXJ0cy9fbWFwY2FwdGlvbi5zY3NzIiwicGFydHMvX3BhbmVsLnNjc3MiLCJwYXJ0cy9fY2FwdGlvbi5zY3NzIiwicGFydHMvX3Bvc2l0aW9uLnNjc3MiLCJwYXJ0cy9fbmFtZS5zY3NzIiwicGFydHMvX3N1YnRpdGxlLnNjc3MiLCJwYXJ0cy9fbmFtZXNldC5zY3NzIiwicGFydHMvX21lbWJlci5zY3NzIiwicGFydHMvX2J1dHRvbi5zY3NzIiwicGFydHMvX2ZpbGVpbmZvLnNjc3MiLCJwYXJ0cy9fY2F0YWxvZy5zY3NzIiwicGFydHMvX2NhdGFsb2d0aXRsZXNldC5zY3NzIiwicGFydHMvX2F0dGFjaG1lbnQuc2NzcyIsInBhcnRzL19xLnNjc3MiLCJwYXJ0cy9fYS5zY3NzIiwicGFydHMvX2ZhcS5zY3NzIiwicGFydHMvX2NvbnZlcnNpb25oZWFkaW5nLnNjc3MiLCJwYXJ0cy9fbG9jYWxuYXZzdWIuc2NzcyIsInBhcnRzL19hcmNoaXZlbmF2LnNjc3MiLCJwYXJ0cy9fc3BlYWtlci5zY3NzIiwicGFydHMvX2Zsb2F0aW1hZ2Uuc2NzcyIsInBhcnRzL19uZXdzY2F0ZWdvcnkuc2NzcyIsInBhcnRzL19uZXdzZGF0ZS5zY3NzIiwicGFydHMvX25ld3N0aXRsZS5zY3NzIiwicGFydHMvX25ld3NzZXQuc2NzcyIsInBhcnRzL190YWcuc2NzcyIsInBhcnRzL190YWdzZXQuc2NzcyIsInBhcnRzL19hcnRpY2xlbGlzdC5zY3NzIiwicGFydHMvX3BhZ2luYXRpb24uc2NzcyIsInBhcnRzL19sb2NhbG5hdnRvcC5zY3NzIiwicGFydHMvX2xvY2FsbmF2dG9wc2VwYXJhdG9yLnNjc3MiLCJwYXJ0cy9fbG9jYWxuYXZib3R0b20uc2NzcyIsInBhcnRzL19sb2NhbG5hdmJvdHRvbWxpc3Quc2NzcyIsInBhcnRzL19icmVhZGNydW1ic3RleHQuc2NzcyIsInBhcnRzL19icmVhZGNydW1ic3NlcGFyYXRvci5zY3NzIiwicGFydHMvX2FydGljbGVuYXYuc2NzcyIsImNvbXBvbmVudC9fcGFnZXRpdGxlLnNjc3MiLCJjb21wb25lbnQvX2V4dGVuZGVkdGl0bGUuc2NzcyIsImNvbXBvbmVudC9fY2F0Y2hjb3B5LnNjc3MiLCJjb21wb25lbnQvX2NhdGNoY29weV9pbWFnZS5zY3NzIiwiY29tcG9uZW50L19jYXRjaGNvcHlfaW1hZ2VfYmcuc2NzcyIsImNvbXBvbmVudC9fY29udmVyc2lvbi5zY3NzIiwiY29tcG9uZW50L19ibG9ndGl0bGUuc2NzcyIsImNvbXBvbmVudC9faGVhZGluZy5zY3NzIiwiY29tcG9uZW50L19oZWFkaW5nX2V4LnNjc3MiLCJjb21wb25lbnQvX3RleHQuc2NzcyIsImNvbXBvbmVudC9fbGVhZC5zY3NzIiwiY29tcG9uZW50L190ZXh0X2ltYWdlLnNjc3MiLCJjb21wb25lbnQvX3RleHRfbWFwLnNjc3MiLCJjb21wb25lbnQvX21hcC5zY3NzIiwiY29tcG9uZW50L19pbWFnZV9tdWx0aS5zY3NzIiwiY29tcG9uZW50L19tb3ZpZV9tdWx0aS5zY3NzIiwiY29tcG9uZW50L19wYW5lbC5zY3NzIiwiY29tcG9uZW50L19zcGVha2VyLnNjc3MiLCJjb21wb25lbnQvX2NvbHVtbi5zY3NzIiwiY29tcG9uZW50L190YWJsZS5zY3NzIiwicGFydHMvX2NlbGwuc2NzcyIsImNvbXBvbmVudC9fYnV0dG9uLnNjc3MiLCJjb21wb25lbnQvX2FuY2hvci5zY3NzIiwiY29tcG9uZW50L19udW0uc2NzcyIsImNvbXBvbmVudC9fd3lzaXd5Zy5zY3NzIiwiY29tcG9uZW50L19jYXRhbG9nLnNjc3MiLCJjb21wb25lbnQvX2ZpbGVsaXN0LnNjc3MiLCJjb21wb25lbnQvX2ZhcS5zY3NzIiwiY29tcG9uZW50L19tZW1iZXIuc2NzcyIsImNvbXBvbmVudC9faWZyYW1lLnNjc3MiLCJuYXZpZ2F0aW9uL19icmVhZGNydW1icy5zY3NzIiwibmF2aWdhdGlvbi9fcGFnaW5hdGlvbi5zY3NzIiwibmF2aWdhdGlvbi9fcGFnaW5hdGlvbmRldGFpbC5zY3NzIiwibmF2aWdhdGlvbi9fbG9jYWxuYXZfdG9wLnNjc3MiLCJuYXZpZ2F0aW9uL19sb2NhbG5hdl9zdWIuc2NzcyIsIm5hdmlnYXRpb24vX2xvY2FsbmF2X2JvdHRvbS5zY3NzIiwibmF2aWdhdGlvbi9fYXJjaGl2ZW5hdi5zY3NzIiwibmF2aWdhdGlvbi9fbmV3c2xpc3Quc2NzcyIsIm5hdmlnYXRpb24vX2FydGljbGVsaXN0LnNjc3MiLCJfYXJ0aWNsZXdyYXBwZXIuc2NzcyIsIl9zd2lwZXIuc2NzcyIsIl91bmlxLnNjc3MiLCJfdG9wLnNjc3MiLCJfdHJhbnNpdGlvbnMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNHaEI7RUFDRSw2QkFBQTtFQUNBLHdCQUFBO0VBQ0EsNkJBQUE7RUFDQSxzQ0FBQTtBRERGOztBQ0dBLDJDQUFBO0FBRUE7RUNYQTtJQUNFLFNBQUE7SUFDQSxVQUFBO0lBQ0EsU0FBQTtJQUNBLGFBQUE7SUFDQSxlQUFBO0lBQ0Esd0JBQUE7RUZXQTtFRVRGO0lBQ0UsY0FBQTtFRldBO0VFVEY7SUFDRSxnQkFBQTtFRldBO0VFVEY7SUFDRSx5QkFBQTtJQUNBLGlCQUFBO0VGV0E7RUVURjtJQUNFLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxzQkFBQTtFRldBO0VFVEY7SUFDRSxZQUFBO0VGV0E7RUVURjtJQUNFLFdBQUE7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L0Y0cUxBO0UrRjNxTEE7SUFDRTtNQUNFLHlDQUFBO0kvRjZxTEY7RUFDRjtFK0Z6cUxBO0lBQ0U7TUFDRSwwQkFBQTtJL0YycUxGO0VBQ0Y7QUFDRiIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG46cm9vdCB7XG4gIC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93OiAwLjVzO1xuICAtLXRyYW5zaXRpb24tc3BlZWQ6IDAuM3M7XG4gIC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0OiAwLjJzO1xuICAtLWJlemllcjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbn1cblxuQGxheWVyIHJlc2V0LCBiYXNlLCBwYXJ0cywgY29tcG9uZW50cywgdW5pcTtcbkBsYXllciByZXNldCB7XG4gIGh0bWwsIGJvZHksIGRpdiwgc3BhbiwgYXBwbGV0LCBvYmplY3QsIGlmcmFtZSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSwgcHJlLCBhLCBhYmJyLCBhY3JvbnltLCBhZGRyZXNzLCBiaWcsIGNpdGUsIGNvZGUsIGRlbCwgZGZuLCBlbSwgaW1nLCBpbnMsIGtiZCwgcSwgcywgc2FtcCwgc21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhciwgYiwgdSwgaSwgY2VudGVyLCBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCwgdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsIGFydGljbGUsIGFzaWRlLCBjYW52YXMsIGRldGFpbHMsIGVtYmVkLCBmaWd1cmUsIGZpZ2NhcHRpb24sIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgb3V0cHV0LCBydWJ5LCBzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgaHRtbCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgb2wsIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG4gIGNhcHRpb24sIHRoLCB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgcSwgYmxvY2txdW90ZSB7XG4gICAgcXVvdGVzOiBub25lO1xuICB9XG4gIHE6YmVmb3JlLCBxOmFmdGVyLCBibG9ja3F1b3RlOmJlZm9yZSwgYmxvY2txdW90ZTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbiAgYXJ0aWNsZSwgYXNpZGUsIGRldGFpbHMsIGZpZ2NhcHRpb24sIGZpZ3VyZSwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBzZWN0aW9uLCBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gICo6YmVmb3JlLFxuKjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICAqOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBodG1sIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbSkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGJvZHkge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kLXN0cm9uZyk7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1mb250LWZlYXR1cmUtc2V0dGluZ3MpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1qYSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LW9wdGljYWwtc2l6aW5nOiBhdXRvO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJoZWFkZXJcIiBhdXRvIFwibWFpblwiIGF1dG8gXCJmb290ZXJcIiAxZnIvMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGJvZHkuaXMtZml4ZWQsIGJvZHkuZml4ZWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIH1cbiAgbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIGFbaHJlZl49XCJ0ZWw6XCJdIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICBhYmJyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgYnIuc3Atb25seSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBici5wYy1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJyLnBjLW9ubHkge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgfVxuICA6d2hlcmUoYnV0dG9uLCBbdHlwZT1idXR0b25dLCBbdHlwZT1yZXNldF0sIFt0eXBlPXN1Ym1pdF0pIHtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuICA6d2hlcmUoOmFueS1saW5rLFxuYnV0dG9uLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXN1Ym1pdF0sXG5sYWJlbFtmb3JdLFxuc2VsZWN0LFxuc3VtbWFyeSxcbltyb2xlPXRhYl0sXG5bcm9sZT1idXR0b25dKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIDpmb2N1czpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIHN1cCxcbnN1YiB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gIH1cbiAgc3VwIHtcbiAgICBib3R0b206IDAuNzVleDtcbiAgfVxuICBzdWIge1xuICAgIHRvcDogMC41ZXg7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIH1cbiAgLnN2Z19kZWYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgc3ZnIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgcHJlIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIH1cbiAgaHRtbC5sZW5pcyxcbmh0bWwubGVuaXMgYm9keSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5sZW5pcy5sZW5pcy1zbW9vdGgge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5sZW5pcy5sZW5pcy1zbW9vdGggW2RhdGEtbGVuaXMtcHJldmVudF0ge1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIH1cbiAgLmxlbmlzLmxlbmlzLXN0b3BwZWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmxlbmlzLmxlbmlzLXNjcm9sbGluZyBpZnJhbWUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIGh0bWwuaXMtY2hhbmdpbmcgLnRyYW5zaXRpb24tZmFkZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgaHRtbC5pcy1hbmltYXRpbmcgLnRyYW5zaXRpb24tZmFkZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgLmhpZGRlbi1zcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGlkZGVuLXNwIHtcbiAgICAgIGRpc3BsYXk6IHVuc2V0O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuaGlkZGVuLXBjIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDgwcHgpIHtcbiAgICAuaGlkZGVuLW92ZXItdGJsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5oaWRkZW4tb3Zlci10YiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzc1cHgpIHtcbiAgICAuaGlkZGVuLW92ZXItc3Age1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICB9XG4gIG1haW4ge1xuICAgIG92ZXJmbG93OiBjbGlwO1xuICAgIGdyaWQtYXJlYTogbWFpbjtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg2MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICAvKlxuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgJjpoYXMoLmxlZnRBcmVhKSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgXCJsZWZ0IGNvbnRlbnRcIiBhdXRvXG4gICAgICAgICAgLyBhdXRvIHBjKDc0NXB4KTtcbiAgICAgICAgd2lkdGg6IHBjKDExNDNweCk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIC5sZWZ0QXJlYSB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIC5jb250ZW50QXJlYSB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICovXG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgbWFpbiB7XG4gICAgICBwYWRkaW5nLXRvcDogbWluKDEwMHB4LCBjYWxjKDEwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBoZWFkZXIge1xuICAgIGdyaWQtYXJlYTogaGVhZGVyO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllciksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1zbG93KSB2YXIoLS1iZXppZXIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIGJvZHkuaXMtZG93biBoZWFkZXIge1xuICAgIHRyYW5zbGF0ZTogMCAtMTIwJTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBib2R5LmlzLWZpeGVkIGhlYWRlciB7XG4gICAgdHJhbnNsYXRlOiAwIC0xMjAlO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGJvZHkuaXMtc2Nyb2xsIGhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdHJvbmcpO1xuICB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgaGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gIH1cbiAgaGVhZGVyIC5pbm5lciB7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMTggLyAzOTAgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogY2FsYyg2MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaGVhZGVyIC5pbm5lciB7XG4gICAgICBoZWlnaHQ6IG1pbigxMDBweCwgY2FsYygxMDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBoZWFkZXIgLmlubmVyICNsb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTAwO1xuICB9XG4gIGhlYWRlciAuaW5uZXIgI2xvZ28gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTc5IC8gMzkwICogMTAwdncpO1xuICAgIGFzcGVjdC1yYXRpbzogMTc5LzE1O1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2xvZ28uc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgaGVhZGVyIC5pbm5lciAjbG9nbyBhIHtcbiAgICAgIHdpZHRoOiBtaW4oMzQwcHgsIGNhbGMoMzQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGhlYWRlciAuaW5uZXIgI2xvZ28gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gIH1cbiAgI21lbnVCdXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IGNhbGMoNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICB3aWR0aDogY2FsYyg0OCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpLCBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNtZW51QnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gICNtZW51QnV0dG9uIC5saW5lcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICAjbWVudUJ1dHRvbiAubGluZXMgc3BhbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGNhbGMoMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICB3aWR0aDogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBoZWlnaHQ6IGNhbGMoMiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtcGlsbCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllciksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAwLjJzLCB0b3AgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAwLjJzO1xuICB9XG4gICNtZW51QnV0dG9uIC5saW5lcyBzcGFuLmxpbmUwMSB7XG4gICAgdG9wOiBjYWxjKDYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgI21lbnVCdXR0b24gLmxpbmVzIHNwYW4ubGluZTAyIHtcbiAgICB0b3A6IGNhbGMoMTEgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgI21lbnVCdXR0b24gLmxpbmVzIHNwYW4ubGluZTAzIHtcbiAgICB0b3A6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgd2lkdGg6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgI21lbnVCdXR0b24uc2hvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICB9XG4gICNtZW51QnV0dG9uLnNob3cgLmxpbmVzIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICB0b3A6IGNhbGMoMTEgLyAzOTAgKiAxMDB2dyk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCB0b3AgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSwgb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAwLjJzO1xuICB9XG4gICNtZW51QnV0dG9uLnNob3cgLmxpbmVzIHNwYW4ubGluZTAxIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooNDVkZWcpO1xuICB9XG4gICNtZW51QnV0dG9uLnNob3cgLmxpbmVzIHNwYW4ubGluZTAyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooLTQ1ZGVnKTtcbiAgfVxuICAjbWVudUJ1dHRvbi5zaG93IC5saW5lcyBzcGFuLmxpbmUwMyB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAjbGFuZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDMyIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGMoMTggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2xhbmcge1xuICAgICAgZ2FwOiBtaW4oNHB4LCBjYWxjKDQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAjbGFuZyBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjbGFuZyBsaSB7XG4gICAgICBnYXA6IG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbGFuZyBsaTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxuICAjbGFuZyBsaTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LXdlYWspO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1lbik7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNsYW5nIGxpOjphZnRlciB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjbGFuZyBsaSBhIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjQycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2xhbmcgbGkgYSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy1zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAjbGFuZyBsaSBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgfVxuICB9XG4gICNsYW5nIGxpIGEuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2xhbmcgbGkgYSAuc3Age1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgI2xhbmcgbGkgYSAucGMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2xhbmcgbGkgYSAucGMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4gICNnbmF2IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgaW5zZXQ6IDA7XG4gICAgei1pbmRleDogOTA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdHJvbmcpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDYwIC8gMzkwICogMTAwdncpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2duYXYge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHVuc2V0O1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuICB9XG4gICNnbmF2LnNob3cge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgI2duYXYuc2hvdyAuZ25hdmlubmVyIHtcbiAgICB0cmFuc2xhdGU6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICAjZ25hdiAuZ25hdmlubmVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KSBjYWxjKDMyIC8gMzkwICogMTAwdncpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllciksIHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdHJvbmcpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNnbmF2IC5nbmF2aW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNsYXRlOiAwO1xuICAgICAgcGFkZGluZzogdW5zZXQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2duYXYgLmduYXZpbm5lciAubWFpbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXMpIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNnbmF2IC5nbmF2aW5uZXIgLm1haW4gbGkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaS50b3BwYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNnbmF2IC5nbmF2aW5uZXIgLm1haW4gbGkuY29udGFjdFNQIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNnbmF2IC5nbmF2aW5uZXIgLm1haW4gbGkuaXMtYWN0aXZlIGEge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaTpob3ZlciBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgfVxuICB9XG4gICNnbmF2IC5nbmF2aW5uZXIgLm1haW4gbGkgYSB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBnYXA6IGNhbGMoMTIgLyAzOTAgKiAxMDB2dyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICAjZ25hdiAuZ25hdmlubmVyIC5tYWluIGxpIGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDIwIC8gMzkwICogMTAwdncpO1xuICAgIGhlaWdodDogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X3Muc3ZnKTtcbiAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSBhOjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZ25hdiAuZ25hdmlubmVyIC5tYWluIGxpIGE6bm90KC5jb250YWN0KSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgZ2FwOiB1bnNldDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAjZ25hdiAuZ25hdmlubmVyIC5tYWluIGxpIGE6bm90KC5jb250YWN0KTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gIH1cbiAgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSB1bCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAjZ25hdiAuZ25hdmlubmVyIC5tYWluIGxpIHVsIGxpIHtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtcmVndWxhcik7XG4gIH1cbiAgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG4gICNnbmF2IC5nbmF2aW5uZXIgLm1haW4gbGkgdWwgbGkgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gICNnbmF2IC5nbmF2aW5uZXIgLmNvbnRhY3RQQyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjZ25hdiAuZ25hdmlubmVyIC5jb250YWN0UEMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmxhY2spO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBwYWRkaW5nOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpIG1pbigyOHB4LCBjYWxjKDI4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgIH1cbiAgICAjZ25hdiAuZ25hdmlubmVyIC5jb250YWN0UEM6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbWFpbC5zdmcpO1xuICAgICAgbWFzay1zaXplOiBjb250YWluO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICB9XG4gICAgI2duYXYgLmduYXZpbm5lciAuY29udGFjdFBDOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gIH1cbiAgbWFpbjpoYXMoLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMsIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCkgKyBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIG1haW46aGFzKC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzLCAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QpICsgZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAjcGFnZXRvcEEge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gICAgcmlnaHQ6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2V0b3BBIHtcbiAgICAgIGJvdHRvbTogbWluKDU2cHgsIGNhbGMoNTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHJpZ2h0OiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjcGFnZXRvcEEgYSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIHZhcigtLWJlemllcik7XG4gIH1cbiAgI3BhZ2V0b3BBIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICAjcGFnZXRvcEEgYSBpbWcge1xuICAgIHdpZHRoOiBjYWxjKDQ4IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdldG9wQSBhIGltZyB7XG4gICAgICB3aWR0aDogbWluKDY0cHgsIGNhbGMoNjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3BhZ2V0b3BBLmlzLXNjcm9sbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4gICNwYWdldG9wQS5pcy1ib3R0b20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2V0b3BBLmlzLWJvdHRvbSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG4gIH1cbiAgI3BhZ2V0b3BCIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDY0IC8gMzkwICogMTAwdncpO1xuICAgIHJpZ2h0OiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICNwYWdldG9wQiB7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG4gICNwYWdldG9wQiBhIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICAjcGFnZXRvcEIgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gICNwYWdldG9wQiBhIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoNDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ3JpZC1hcmVhOiBmb290ZXI7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxMjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg2NCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1vbi1hY2NlbnQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTIwcHgsIGNhbGMoMTIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oODBweCwgY2FsYyg4MCAvIDE0NDAgKiAxMDB2dykpIG1pbig4MHB4LCBjYWxjKDgwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjQwcHgsIGNhbGMoMTI0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuY29ycGluZm8ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGdhcDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gICAgaHRtbFtsYW5nPWVuXSBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuY29ycGluZm8ge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RpbmZvIC5jb3JwaW5mbyBwIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoMTM1IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RpbmZvIC5jb3JwaW5mbyBwIGltZyB7XG4gICAgICB3aWR0aDogbWluKDE2MnB4LCBjYWxjKDE2MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBodG1sW2xhbmc9ZW5dIGZvb3RlciAuaW5uZXIgLmZvb3RpbmZvIC5jb3JwaW5mbyBwIGltZyB7XG4gICAgd2lkdGg6IGNhbGMoMjYwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGh0bWxbbGFuZz1lbl0gZm9vdGVyIC5pbm5lciAuZm9vdGluZm8gLmNvcnBpbmZvIHAgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oMjg2cHgsIGNhbGMoMjg2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RpbmZvIC5jb3JwaW5mbyAuY29udGFjdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuY29ycGluZm8gLmNvbnRhY3Qge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RpbmZvIC5jb3JwaW5mbyAuY29udGFjdCBhZGRyZXNzIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMtcykgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIC5pbm5lciAuZm9vdGluZm8gLmNvcnBpbmZvIC5jb250YWN0IGFkZHJlc3Mge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuY29ycGluZm8gLnNucyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuY29ycGluZm8gLnNucyB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuY29ycGluZm8gLnNucyB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RpbmZvIC5jb3JwaW5mbyAuc25zIHVsIHtcbiAgICAgIGdhcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdGluZm8gLmNvcnBpbmZvIC5zbnMgdWwgbGkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMzIgLyAzOTAgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXktd2Vhayk7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIHZhcigtLWJlemllcik7XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdGluZm8gLmNvcnBpbmZvIC5zbnMgdWwgbGkgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RpbmZvIC5jb3JwaW5mbyAuc25zIHVsIGxpIGEge1xuICAgICAgd2lkdGg6IG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RpbmZvIC5jb3JwaW5mbyAuc25zIHVsIGxpIGEgaW1nIHtcbiAgICB3aWR0aDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290aW5mbyAuY29ycGluZm8gLnNucyB1bCBsaSBhIGltZyB7XG4gICAgICB3aWR0aDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0OCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiBjYWxjKDMyIC8gMzkwICogMTAwdncpIGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgIGdhcDogbWluKDMycHgsIGNhbGMoMzIgLyAxNDQwICogMTAwdncpKSBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IHtcbiAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IGgyIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHMpIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgaDIge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCBoMiBhIHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IGgyIGE6aG92ZXIge1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IHVsIGxpIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tZnMteHMpIC8gMzkwICogMTAwdncpO1xuICAgIGdhcDogY2FsYyg0IC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IHVsIGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oNHB4LCBjYWxjKDQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuZm9vdG5hdiAudW5pdCB1bCBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIi1cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBmb290ZXIgLmlubmVyIC5mb290bmF2IC51bml0IHVsIGxpIGEge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGZvb3RlciAuaW5uZXIgLmZvb3RuYXYgLnVuaXQgdWwgbGkgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gIGZvb3RlciAuaW5uZXIgLmNvcHlyaWdodCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg0OCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjE4NDMxMzcyNTUpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDQwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmNvcHlyaWdodCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oNjRweCwgY2FsYyg2NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy10b3A6IG1pbig2NHB4LCBjYWxjKDY0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgZ2FwOiBtaW4oNTRweCwgY2FsYyg1NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb290ZXIgLmlubmVyIC5jb3B5cmlnaHQgdWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBmb290ZXIgLmlubmVyIC5jb3B5cmlnaHQgdWwgbGkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBmb290ZXIgLmlubmVyIC5jb3B5cmlnaHQgdWwgbGkgYSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBmb290ZXIgLmlubmVyIC5jb3B5cmlnaHQgdWwgbGkgYTpob3ZlciB7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGZvb3RlciAuaW5uZXIgLmNvcHlyaWdodCB1bCBsaSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMteHMpICogMXB4KSwgY2FsYyh2YXIoLS1mcy14cykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgZm9vdGVyIC5pbm5lciAuY29weXJpZ2h0IHAge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eHMpIC8gMzkwICogMTAwdncpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgZm9vdGVyIC5pbm5lciAuY29weXJpZ2h0IHAge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhzKSAqIDFweCksIGNhbGModmFyKC0tZnMteHMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuQGxheWVyIHBhcnRzIHtcbiAgLnBQYWdlVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wUGFnZVRpdGxlLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBQYWdlVGl0bGUtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wUGFnZVRpdGxlLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFBhZ2VUaXRsZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBQYWdlVGl0bGUtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFBhZ2VUaXRsZS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wSGVhZGluZ0xhcmdlIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEhlYWRpbmctbGFyZ2UtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcEhlYWRpbmctbGFyZ2UtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wSGVhZGluZy1sYXJnZS1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXBIZWFkaW5nLWxhcmdlLWZvbnQtZmFtaWx5KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEhlYWRpbmdMYXJnZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBIZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBIZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBIZWFkaW5nTWVkaXVtIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBIZWFkaW5nLW1lZGl1bS1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBIZWFkaW5nLW1lZGl1bS1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXBIZWFkaW5nLW1lZGl1bS1mb250LWZhbWlseSk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBIZWFkaW5nTWVkaXVtIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcEhlYWRpbmctbWVkaXVtLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBIZWFkaW5nLW1lZGl1bS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wSGVhZGluZ1NtYWxsIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEhlYWRpbmctc21hbGwtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcEhlYWRpbmctc21hbGwtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wSGVhZGluZy1zbWFsbC1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXBIZWFkaW5nLXNtYWxsLWZvbnQtZmFtaWx5KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEhlYWRpbmdTbWFsbCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBIZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBIZWFkaW5nLXNtYWxsLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBMZWFkIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcExlYWQtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcExlYWQtZm9udC13ZWlnaHQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTGVhZCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBMZWFkLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBMZWFkLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBMZWFkLmNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5wTGVhZC5yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnBMZWFkLmxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgLnBUZXh0IHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcFRleHQtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTc1JTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcFRleHQtZm9udC13ZWlnaHQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wVGV4dCB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBUZXh0LWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBUZXh0LWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBUZXh0LnNtYWxsIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcFRleHQtc21hbGwtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFRleHQuc21hbGwge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wVGV4dC1zbWFsbC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wVGV4dC1zbWFsbC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wVGV4dCBwLCAucFRleHQgdWwsIC5wVGV4dCBvbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgfVxuICAucFRleHQgcC5oZWFkaW5nLCAucFRleHQgdWwuaGVhZGluZywgLnBUZXh0IG9sLmhlYWRpbmcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLW0pIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lLWhlaWdodC14c21hbGwpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICBnYXA6IGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGhpcmQtd2Vhayk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMWVtO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wVGV4dCBwLmhlYWRpbmcsIC5wVGV4dCB1bC5oZWFkaW5nLCAucFRleHQgb2wuaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLWZzLXhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wVGV4dCBwLmhlYWRpbmc6OmJlZm9yZSwgLnBUZXh0IHVsLmhlYWRpbmc6OmJlZm9yZSwgLnBUZXh0IG9sLmhlYWRpbmc6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDFsaDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvaW1hZ2VzL2ljb25faGVhZGluZy5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4xZW0pO1xuICAgIHdpZHRoOiBjYWxjKDEwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wVGV4dCBwLmhlYWRpbmc6OmJlZm9yZSwgLnBUZXh0IHVsLmhlYWRpbmc6OmJlZm9yZSwgLnBUZXh0IG9sLmhlYWRpbmc6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBUZXh0IHAuZmlndXJlLCAucFRleHQgdWwuZmlndXJlLCAucFRleHQgb2wuZmlndXJlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW1hcmdpbi1zZWN0aW9uKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFRleHQgcC5maWd1cmUsIC5wVGV4dCB1bC5maWd1cmUsIC5wVGV4dCBvbC5maWd1cmUge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXNlY3Rpb24tcGMpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tc2VjdGlvbi1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBUZXh0IHAuZmlndXJlLCAucFRleHQgdWwuZmlndXJlLCAucFRleHQgb2wuZmlndXJlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2NXB4O1xuICAgIH1cbiAgfVxuICAucFRleHQgcC5maWd1cmUgaW1nLm10LWltYWdlLWxlZnQsIC5wVGV4dCBwLmZpZ3VyZSBpbWcubXQtaW1hZ2UtY2VudGVyLCAucFRleHQgcC5maWd1cmUgaW1nLm10LWltYWdlLXJpZ2h0LCAucFRleHQgcC5maWd1cmUgaW1nLm10LWltYWdlLW5vbmUsIC5wVGV4dCB1bC5maWd1cmUgaW1nLm10LWltYWdlLWxlZnQsIC5wVGV4dCB1bC5maWd1cmUgaW1nLm10LWltYWdlLWNlbnRlciwgLnBUZXh0IHVsLmZpZ3VyZSBpbWcubXQtaW1hZ2UtcmlnaHQsIC5wVGV4dCB1bC5maWd1cmUgaW1nLm10LWltYWdlLW5vbmUsIC5wVGV4dCBvbC5maWd1cmUgaW1nLm10LWltYWdlLWxlZnQsIC5wVGV4dCBvbC5maWd1cmUgaW1nLm10LWltYWdlLWNlbnRlciwgLnBUZXh0IG9sLmZpZ3VyZSBpbWcubXQtaW1hZ2UtcmlnaHQsIC5wVGV4dCBvbC5maWd1cmUgaW1nLm10LWltYWdlLW5vbmUge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGMoNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wVGV4dCBwLmZpZ3VyZSBpbWcubXQtaW1hZ2UtbGVmdCwgLnBUZXh0IHAuZmlndXJlIGltZy5tdC1pbWFnZS1jZW50ZXIsIC5wVGV4dCBwLmZpZ3VyZSBpbWcubXQtaW1hZ2UtcmlnaHQsIC5wVGV4dCBwLmZpZ3VyZSBpbWcubXQtaW1hZ2Utbm9uZSwgLnBUZXh0IHVsLmZpZ3VyZSBpbWcubXQtaW1hZ2UtbGVmdCwgLnBUZXh0IHVsLmZpZ3VyZSBpbWcubXQtaW1hZ2UtY2VudGVyLCAucFRleHQgdWwuZmlndXJlIGltZy5tdC1pbWFnZS1yaWdodCwgLnBUZXh0IHVsLmZpZ3VyZSBpbWcubXQtaW1hZ2Utbm9uZSwgLnBUZXh0IG9sLmZpZ3VyZSBpbWcubXQtaW1hZ2UtbGVmdCwgLnBUZXh0IG9sLmZpZ3VyZSBpbWcubXQtaW1hZ2UtY2VudGVyLCAucFRleHQgb2wuZmlndXJlIGltZy5tdC1pbWFnZS1yaWdodCwgLnBUZXh0IG9sLmZpZ3VyZSBpbWcubXQtaW1hZ2Utbm9uZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBtaW4oMTJweCwgY2FsYygxMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFRleHQgcCBpbWcubXQtaW1hZ2UtbGVmdCwgLnBUZXh0IHAgaW1nLm10LWltYWdlLWNlbnRlciwgLnBUZXh0IHAgaW1nLm10LWltYWdlLXJpZ2h0LCAucFRleHQgdWwgaW1nLm10LWltYWdlLWxlZnQsIC5wVGV4dCB1bCBpbWcubXQtaW1hZ2UtY2VudGVyLCAucFRleHQgdWwgaW1nLm10LWltYWdlLXJpZ2h0LCAucFRleHQgb2wgaW1nLm10LWltYWdlLWxlZnQsIC5wVGV4dCBvbCBpbWcubXQtaW1hZ2UtY2VudGVyLCAucFRleHQgb2wgaW1nLm10LWltYWdlLXJpZ2h0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnBUZXh0IHA6bGFzdC1jaGlsZCwgLnBUZXh0IHVsOmxhc3QtY2hpbGQsIC5wVGV4dCBvbDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAucFRleHQgcCArIC5idXR0b24sIC5wVGV4dCB1bCArIC5idXR0b24sIC5wVGV4dCBvbCArIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLnBUZXh0IHAgLmVuLCAucFRleHQgdWwgLmVuLCAucFRleHQgb2wgLmVuIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICB9XG4gIC5wVGV4dCB1bDpsYXN0LWNoaWxkLCAucFRleHQgb2w6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgLnBUZXh0IHVsIC5lbiwgLnBUZXh0IG9sIC5lbiB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgfVxuICAucFRleHQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIH1cbiAgLnBUZXh0IHVsIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFRleHQgdWwgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IG1pbigyMHB4LCBjYWxjKDIwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wVGV4dCBvbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktamEpO1xuICB9XG4gIC5wVGV4dCBvbCBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBUZXh0IG9sIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFRleHQgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxNSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFRleHQgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMjBweCwgY2FsYygyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFRleHQgLmJ1dHRvbiBhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnBJbWFnZSxcbi5wSW1hZ2UgaWZyYW1lIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLXNtYWxsLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAY29udGFpbmVyIChtaW4td2lkdGg6IDMwMHB4KSB7XG4gICAgLnBJbWFnZSxcbi5wSW1hZ2UgaWZyYW1lIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcEltYWdlLWJvcmRlci1yYWRpdXMtbWVkaXVtLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBJbWFnZSxcbi5wSW1hZ2UgaWZyYW1lIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLXNtYWxsLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEltYWdlLWJvcmRlci1yYWRpdXMtc21hbGwtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICAgIEBjb250YWluZXIgKG1pbi13aWR0aDogNDUwcHgpIHtcbiAgICAgIC5wSW1hZ2UsXG4ucEltYWdlIGlmcmFtZSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBNYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1wTWFwLWJvcmRlci1yYWRpdXMtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTWFwIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBNYXAtYm9yZGVyLXJhZGl1cy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBNYXAtYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBNYXAgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBNYXAtYm9yZGVyLXJhZGl1cy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBNYXAgaWZyYW1lIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLXBNYXAtYm9yZGVyLXJhZGl1cy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBNYXAtYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBNYXAuc2hyaW5rIHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogbWluKGNhbGModmFyKC0tcEltYWdlQ2FwdGlvbi1tYXgtd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wSW1hZ2VDYXB0aW9uLW1heC13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBJbWFnZUNhcHRpb24gLnBDYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBJbWFnZUNhcHRpb24tZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBJbWFnZUNhcHRpb24gLnBDYXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLXBJbWFnZUNhcHRpb24tZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEltYWdlQ2FwdGlvbi1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTWFwQ2FwdGlvbiB7XG4gICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucE1hcENhcHRpb24ge1xuICAgICAgbWF4LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wTWFwQ2FwdGlvbi1tYXgtd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wTWFwQ2FwdGlvbi1tYXgtd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTWFwQ2FwdGlvbiAucENhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcE1hcENhcHRpb24tZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBNYXBDYXB0aW9uIC5wQ2FwdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1wTWFwQ2FwdGlvbi1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTWFwQ2FwdGlvbi1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wUGFuZWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBzdWJncmlkO1xuICAgIGdyaWQtcm93OiBzcGFuIDQ7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBQYW5lbC1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIC5wUGFuZWw6aGFzKD4gOm50aC1jaGlsZCgyKTpsYXN0LWNoaWxkKSB7XG4gICAgZ3JpZC1yb3c6IHNwYW4gMjtcbiAgfVxuICAucFBhbmVsOmhhcyg+IDpudGgtY2hpbGQoMyk6bGFzdC1jaGlsZCkge1xuICAgIGdyaWQtcm93OiBzcGFuIDM7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBQYW5lbCB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBQYW5lbC1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUGFuZWwtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWF4LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wUGFuZWwtbWF4LXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tcFBhbmVsLW1heC13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBQYW5lbCAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAucFBhbmVsIC5kZXNjOmhhcygucFRleHQ6ZW1wdHkpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5wQ2FwdGlvbiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBDYXB0aW9uLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBDYXB0aW9uLWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcENhcHRpb24tY29sb3IpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucENhcHRpb24ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQ2FwdGlvbi1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2FwdGlvbi1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQ2FwdGlvbi5sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC5wQ2FwdGlvbi5yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgLnBDYXB0aW9uLnNocmluayB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAucFBvc2l0aW9uIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcFBvc2l0aW9uLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBQb3NpdGlvbi1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBQb3NpdGlvbi1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBQb3NpdGlvbiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBQb3NpdGlvbi1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUG9zaXRpb24tZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucE5hbWUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wTmFtZS1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTmFtZS1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBOYW1lLWNvbG9yKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucE5hbWUge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wTmFtZS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTmFtZS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wU3ViVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wU3ViVGl0bGUtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcFN1YlRpdGxlLWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcFN1YlRpdGxlLWNvbG9yKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFN1YlRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcFN1YlRpdGxlLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBTdWJUaXRsZS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTmFtZVNldCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1wTmFtZVNldC1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBOYW1lU2V0IHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcE5hbWVTZXQtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcE5hbWVTZXQtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucE1lbWJlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gICAgZ3JpZC1yb3c6IHNwYW4gNTtcbiAgICBnYXA6IGNhbGModmFyKC0tcE1lbWJlci1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTWVtYmVyIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcE1lbWJlci1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTWVtYmVyLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBNZW1iZXIgLnByb2ZpbGUge1xuICAgIGNvbG9yOiB2YXIoLS1wTWVtYmVyLXByb2ZpbGUtY29sb3IpO1xuICB9XG4gIC5wTWVtYmVyIC5wQnV0dG9uIHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIC5wQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwiYmVmb3JlIHRleHQgYWZ0ZXJcIjtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tcEJ1dHRvbi1jb2xvci1kZWZhdWx0KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBCdXR0b24tZm9udC13ZWlnaHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcEJ1dHRvbi1ib3JkZXItY29sb3ItZGVmYXVsdCk7XG4gICAgYm9yZGVyLXdpZHRoOiBjYWxjKHZhcigtLXBCdXR0b24tYm9yZGVyLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGdhcDogY2FsYyh2YXIoLS1wQnV0dG9uLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllciksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEJ1dHRvbiB7XG4gICAgICBib3JkZXItd2lkdGg6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tYm9yZGVyLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1ib3JkZXItd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQnV0dG9uOjpiZWZvcmUge1xuICAgIGdyaWQtYXJlYTogYmVmb3JlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICB9XG4gIC5wQnV0dG9uOjphZnRlciB7XG4gICAganVzdGlmeS1zZWxmOiBlbmQ7XG4gICAgZ3JpZC1hcmVhOiBhZnRlcjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAucEJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWJhY2tncm91bmQtY29sb3ItaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWJvcmRlci1jb2xvci1ob3Zlcik7XG4gICAgICBjb2xvcjogdmFyKC0tcEJ1dHRvbi1jb2xvci1ob3Zlcik7XG4gICAgfVxuICB9XG4gIC5wQnV0dG9uLnJldmVyc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24tYmFja2dyb3VuZC1jb2xvci1yZXZlcnNlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBCdXR0b24tYm9yZGVyLWNvbG9yLXJldmVyc2UpO1xuICAgIGNvbG9yOiB2YXIoLS1wQnV0dG9uLWNvbG9yLXJldmVyc2UpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQnV0dG9uLnJldmVyc2U6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLXJldmVyc2UtaG92ZXIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWJvcmRlci1jb2xvci1yZXZlcnNlLWhvdmVyKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtbWluLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KSBhdXRvIGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtYm9yZGVyLXJhZGl1cykgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBCdXR0b24uc21hbGwge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWluLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLW1pbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtbWluLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgYXV0byBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWJvcmRlci1yYWRpdXMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLXNtYWxsLWJvcmRlci1yYWRpdXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQnV0dG9uLnNtYWxsOjpiZWZvcmUsIC5wQnV0dG9uLnNtYWxsOjphZnRlciB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tcEJ1dHRvbi1zbWFsbC1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEJ1dHRvbi5zbWFsbDo6YmVmb3JlLCAucEJ1dHRvbi5zbWFsbDo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtaWNvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tc21hbGwtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b246bm90KC5zbWFsbCk6bm90KC5sYXJnZSkge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLW1pbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpIGF1dG8gY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLWJvcmRlci1yYWRpdXMpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQnV0dG9uOm5vdCguc21hbGwpOm5vdCgubGFyZ2UpIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1pbi13aWR0aDogbWluKGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tbWluLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tbWluLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0taWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKSBhdXRvIG1pbihjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0tYm9yZGVyLXJhZGl1cykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbWVkaXVtLWJvcmRlci1yYWRpdXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQnV0dG9uOm5vdCguc21hbGwpOm5vdCgubGFyZ2UpOjpiZWZvcmUsIC5wQnV0dG9uOm5vdCguc21hbGwpOm5vdCgubGFyZ2UpOjphZnRlciB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0taWNvbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBCdXR0b246bm90KC5zbWFsbCk6bm90KC5sYXJnZSk6OmJlZm9yZSwgLnBCdXR0b246bm90KC5zbWFsbCk6bm90KC5sYXJnZSk6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1tZWRpdW0taWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtbWluLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KSBhdXRvIGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtYm9yZGVyLXJhZGl1cykgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBCdXR0b24ubGFyZ2Uge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWluLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLW1pbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtbWluLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWljb24td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgYXV0byBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWljb24td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItcmFkaXVzOiBtaW4oY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWJvcmRlci1yYWRpdXMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnV0dG9uLWxhcmdlLWJvcmRlci1yYWRpdXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQnV0dG9uLmxhcmdlOjpiZWZvcmUsIC5wQnV0dG9uLmxhcmdlOjphZnRlciB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tcEJ1dHRvbi1sYXJnZS1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEJ1dHRvbi5sYXJnZTo6YmVmb3JlLCAucEJ1dHRvbi5sYXJnZTo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtaWNvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCdXR0b24tbGFyZ2UtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCdXR0b24ucmlnaHQ6OmFmdGVyIHtcbiAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X20uc3ZnKTtcbiAgfVxuICAucEJ1dHRvbi5yaWdodFt0YXJnZXQ9X2JsYW5rXTo6YWZ0ZXIge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fZXh0ZXJuYWwuc3ZnKTtcbiAgfVxuICAucEJ1dHRvbi5sZWZ0OjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbS5zdmcpO1xuICAgIHJvdGF0ZTogeiAxODBkZWc7XG4gIH1cbiAgLnBCdXR0b24ucmlnaHQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBCdXR0b24ucmlnaHQ6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24taWNvbi1jb2xvci1ob3Zlcik7XG4gICAgfVxuICB9XG4gIC5wQnV0dG9uLnJpZ2h0LnJldmVyc2U6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItcmV2ZXJzZSk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBCdXR0b24ucmlnaHQucmV2ZXJzZTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLXJldmVyc2UtaG92ZXIpO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbi5sZWZ0OjpiZWZvcmUge1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbS5zdmcpO1xuICB9XG4gIC5wQnV0dG9uLmxlZnRbdGFyZ2V0PV9ibGFua106OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9leHRlcm5hbC5zdmcpO1xuICB9XG4gIC5wQnV0dG9uLmxlZnQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLWRlZmF1bHQpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQnV0dG9uLmxlZnQ6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItaG92ZXIpO1xuICAgIH1cbiAgfVxuICAucEJ1dHRvbi5sZWZ0LnJldmVyc2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLXJldmVyc2UpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQnV0dG9uLmxlZnQucmV2ZXJzZTpob3Zlcjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24taWNvbi1jb2xvci1yZXZlcnNlLWhvdmVyKTtcbiAgICB9XG4gIH1cbiAgLnBGaWxlSW5mbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICBnYXA6IGNhbGModmFyKC0tcEZpbGVJbmZvLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEZpbGVJbmZvIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcEZpbGVJbmZvLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBGaWxlSW5mby1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wRmlsZUluZm8gaW1nIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wRmlsZUluZm8taWNvbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEZpbGVJbmZvIGltZyB7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tcEZpbGVJbmZvLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wRmlsZUluZm8taWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBGaWxlSW5mbyBmaWdjYXB0aW9uIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEZpbGVJbmZvLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBGaWxlSW5mby1mb250LXdlaWdodCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXBGaWxlSW5mby1mb250LWZhbWlseSk7XG4gICAgY29sb3I6IHZhcigtLXBGaWxlSW5mby1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBGaWxlSW5mbyBmaWdjYXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcEZpbGVJbmZvLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBGaWxlSW5mby1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQ2F0YWxvZyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlOiBcImltYWdlIGhlYWRpbmdcIiBhdXRvIFwic3VtbWFyeSBzdW1tYXJ5XCIgYXV0by8xZnIgMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICByb3ctZ2FwOiBjYWxjKHZhcigtLXBDYXRhbG9nLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGNvbHVtbi1nYXA6IGNhbGModmFyKC0tcENhdGFsb2ctZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBDYXRhbG9nIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IHVuc2V0O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB1bnNldDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDtcbiAgICAgIGdyaWQtcm93OiBzcGFuIDM7XG4gICAgICByb3ctZ2FwOiBtaW4oY2FsYyh2YXIoLS1wQ2F0YWxvZy1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tcENhdGFsb2ctZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGNvbHVtbi1nYXA6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAucENhdGFsb2cgLmltYWdlIHtcbiAgICBncmlkLWFyZWE6IGltYWdlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQ2F0YWxvZyAuaW1hZ2Uge1xuICAgICAgZ3JpZC1hcmVhOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnBDYXRhbG9nIC5oZWFkaW5nIHtcbiAgICBncmlkLWFyZWE6IGhlYWRpbmc7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICByb3ctZ2FwOiBjYWxjKHZhcigtLXBDYXRhbG9nLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQ2F0YWxvZyAuaGVhZGluZyB7XG4gICAgICBncmlkLWFyZWE6IHVuc2V0O1xuICAgICAgcm93LWdhcDogbWluKGNhbGModmFyKC0tcENhdGFsb2ctZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDYXRhbG9nLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQ2F0YWxvZyAuc3VtbWFyeSB7XG4gICAgZ3JpZC1hcmVhOiBzdW1tYXJ5O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQ2F0YWxvZyAuc3VtbWFyeSB7XG4gICAgICBncmlkLWFyZWE6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAucENhdGFsb2dUaXRsZVNldCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1wQ2F0YWxvZ1RpdGxlU2V0LWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBDYXRhbG9nVGl0bGVTZXQge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1wQ2F0YWxvZ1RpdGxlU2V0LWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDYXRhbG9nVGl0bGVTZXQtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEF0dGFjaG1lbnQge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcEF0dGFjaG1lbnQtcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYyh2YXIoLS1wQXR0YWNobWVudC1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGNhbGModmFyKC0tcEF0dGFjaG1lbnQtYm9yZGVyLWJvdHRvbS13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcEF0dGFjaG1lbnQtYm9yZGVyLWJvdHRvbS1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBdHRhY2htZW50IHtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBBdHRhY2htZW50LXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcEF0dGFjaG1lbnQtcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBdHRhY2htZW50LXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQXR0YWNobWVudC1ib3JkZXItYm90dG9tLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtYm9yZGVyLWJvdHRvbS13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcEF0dGFjaG1lbnQtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEF0dGFjaG1lbnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXBBdHRhY2htZW50LWljb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEF0dGFjaG1lbnQ6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQXR0YWNobWVudC1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBBdHRhY2htZW50OmhhcyhhW2hyZWYkPVwiLnBkZlwiXSk6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX3BkZi5zdmcpO1xuICB9XG4gIC5wQXR0YWNobWVudDpoYXMoYVtocmVmJD1cIi54bHN4XCJdKTo6YWZ0ZXIsIC5wQXR0YWNobWVudDpoYXMoYVtocmVmJD1cIi54bHNcIl0pOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl94bHMuc3ZnKTtcbiAgfVxuICAucEF0dGFjaG1lbnQ6aGFzKGFbaHJlZiQ9XCIuZG9jeFwiXSk6OmFmdGVyLCAucEF0dGFjaG1lbnQ6aGFzKGFbaHJlZiQ9XCIuZG9jXCJdKTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fd29yZC5zdmcpO1xuICB9XG4gIC5wQXR0YWNobWVudCBhIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEF0dGFjaG1lbnQtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcEF0dGFjaG1lbnQtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQXR0YWNobWVudC1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQXR0YWNobWVudCBhIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcEF0dGFjaG1lbnQtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEF0dGFjaG1lbnQtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLXBBdHRhY2htZW50LWZvbnQtd2VpZ2h0KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1wQXR0YWNobWVudC1jb2xvcik7XG4gICAgfVxuICB9XG4gIC5wQXR0YWNobWVudCBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi44O7XCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgLnBRIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcFEtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcFEtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wUS1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGdhcDogY2FsYyh2YXIoLS1wUS1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFEge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wUS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBRLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBRLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBROjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tcFEtaWNvbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgYmFja2dyb3VuZDogY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0IHVybCgvaW1hZ2VzL2ljb25fcS5zdmcpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUTo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wUS1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFEtaWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBBIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBBLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcEEtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEEtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEE6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wQS1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQgdXJsKC9pbWFnZXMvaWNvbl9hLnN2Zyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLXBBLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQS1pY29uLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEEgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byBjYWxjKHZhcigtLXBBLWdhcC1zcCkgLyAzOTAgKiAxMDB2dykgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQSBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgKiAxcHgpLCBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQSBpbWcubXQtaW1hZ2UtcmlnaHQge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBIGltZy5tdC1pbWFnZS1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMCAwIG1pbihjYWxjKHZhcigtLXBBLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBLWdhcC1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wQS1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQS1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLnBBIGltZy5tdC1pbWFnZS1sZWZ0IHtcbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQSBpbWcubXQtaW1hZ2UtbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwIG1pbihjYWxjKHZhcigtLXBBLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBLWdhcC1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wQS1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQS1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAucEZhcSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEZhcS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBGYXEtYm9yZGVyLXJhZGl1cy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyOiBjYWxjKHZhcigtLXBGYXEtYm9yZGVyLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KSBzb2xpZCB2YXIoLS1wRmFxLWJvcmRlci1jb2xvcik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wRmFxLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcEZhcS1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1wRmFxLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBGYXEge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tcEZhcS1ib3JkZXItcmFkaXVzLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEZhcS1ib3JkZXItcmFkaXVzLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcEZhcS1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEZhcS1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBGYXEtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wRmFxLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1wRmFxLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBGYXEtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wRmFxLWJvcmRlci13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLXBGYXEtYm9yZGVyLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEZhcS5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBGYXEtYmFja2dyb3VuZC1jb2xvci1vcGVuKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBGYXEtYm9yZGVyLWNvbG9yLW9wZW4pO1xuICB9XG4gIC5wRmFxLmlzLWFjdGl2ZSAucTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbWludXMuc3ZnKTtcbiAgfVxuICAucEZhcSAucSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgIGdhcDogY2FsYyh2YXIoLS1wRmFxLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBGYXEgLnEge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1wRmFxLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBGYXEtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEZhcSAucTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tcEZhcS1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQgdXJsKC9pbWFnZXMvaWNvbl9wbHVzLnN2Zyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBGYXEgLnE6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wRmFxLWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wRmFxLWljb24td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wRmFxIC5hIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5wQ29udmVyc2lvbkhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQ29udmVyc2lvbkhlYWRpbmctZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcENvbnZlcnNpb25IZWFkaW5nLWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcENvbnZlcnNpb25IZWFkaW5nLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tcENvbnZlcnNpb25IZWFkaW5nLWZvbnQtZmFtaWx5KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucENvbnZlcnNpb25IZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcENvbnZlcnNpb25IZWFkaW5nLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDb252ZXJzaW9uSGVhZGluZy1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTG9jYWxuYXZTdWIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcExvY2FsbmF2U3ViLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBMb2NhbG5hdlN1Yi1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1kZWZhdWx0LWNvbG9yKTtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tcExvY2FsbmF2U3ViLWJvcmRlci13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1kZWZhdWx0LWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1wTG9jYWxuYXZTdWItYm9yZGVyLXJhZGl1cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2U3ViLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wTG9jYWxuYXZTdWItcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wTG9jYWxuYXZTdWItcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTG9jYWxuYXZTdWIge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZTdWItZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2U3ViLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdlN1Yi1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2U3ViLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcExvY2FsbmF2U3ViLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2U3ViLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZTdWItYm9yZGVyLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2U3ViLWJvcmRlci13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBMb2NhbG5hdlN1Yi5pcy1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcExvY2FsbmF2U3ViLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtY29sb3IpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wTG9jYWxuYXZTdWI6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxuICAucEFyY2hpdmVuYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEFyY2hpdmVuYXYtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcEFyY2hpdmVuYXYtZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1kZWZhdWx0LWNvbG9yKTtcbiAgICBib3JkZXItd2lkdGg6IGNhbGModmFyKC0tcEFyY2hpdmVuYXYtYm9yZGVyLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1kZWZhdWx0LWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1ib3JkZXItcmFkaXVzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1ib3JkZXItcmFkaXVzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcEFyY2hpdmVuYXYtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEFyY2hpdmVuYXYge1xuICAgICAgYm9yZGVyLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1ib3JkZXItd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1ib3JkZXItd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nOiBtaW4oY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEFyY2hpdmVuYXYtcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wQXJjaGl2ZW5hdi1wYWRkaW5nLWlubGluZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBcmNoaXZlbmF2LXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogbWluKGNhbGModmFyKC0tcEFyY2hpdmVuYXYtYm9yZGVyLXJhZGl1cykgKiAxcHgpLCBjYWxjKHZhcigtLXBBcmNoaXZlbmF2LWJvcmRlci1yYWRpdXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogbWluKGNhbGModmFyKC0tcEFyY2hpdmVuYXYtYm9yZGVyLXJhZGl1cykgKiAxcHgpLCBjYWxjKHZhcigtLXBBcmNoaXZlbmF2LWJvcmRlci1yYWRpdXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQXJjaGl2ZW5hdi5pcy1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcEFyY2hpdmVuYXYtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEFyY2hpdmVuYXYtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1hY3RpdmUtY29sb3IpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQXJjaGl2ZW5hdjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEFyY2hpdmVuYXYtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWFjdGl2ZS1jb2xvcik7XG4gICAgfVxuICB9XG4gIC5wU3BlYWtlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1wU3BlYWtlci1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wU3BlYWtlciB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBTcGVha2VyLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBTcGVha2VyLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBTcGVha2VyIC5wcm9maWxlX2VuIHtcbiAgICBjb2xvcjogdmFyKC0tcFNwZWFrZXItY29sb3ItZW4pO1xuICB9XG4gIC5wRmxvYXRJbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1wRmxvYXRJbWFnZS1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICAucEZsb2F0SW1hZ2U6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wRmxvYXRJbWFnZSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1wRmxvYXRJbWFnZS1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEZsb2F0SW1hZ2UtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBGbG9hdEltYWdlLmxlZnQgLnBJbWFnZUNhcHRpb24ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcEZsb2F0SW1hZ2UtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wRmxvYXRJbWFnZS5sZWZ0IC5wSW1hZ2VDYXB0aW9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IG1pbihjYWxjKHZhcigtLXBGbG9hdEltYWdlLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBGbG9hdEltYWdlLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5wRmxvYXRJbWFnZSAucEltYWdlQ2FwdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBGbG9hdEltYWdlLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tcEZsb2F0SW1hZ2UtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEZsb2F0SW1hZ2UgLnBJbWFnZUNhcHRpb24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiBtaW4oY2FsYyh2YXIoLS1wRmxvYXRJbWFnZS1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wRmxvYXRJbWFnZS1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWluKGNhbGModmFyKC0tcEZsb2F0SW1hZ2UtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEZsb2F0SW1hZ2UtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucE5ld3NDYXRlZ29yeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBOZXdzQ2F0ZWdvcnktZm9udC13ZWlnaHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wTmV3c0NhdGVnb3J5LWNvbG9yKTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLXBOZXdzQ2F0ZWdvcnktYm9yZGVyLXdpZHRoKTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcE5ld3NDYXRlZ29yeS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcE5ld3NDYXRlZ29yeS1ib3JkZXItcmFkaXVzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTmV3c0NhdGVnb3J5LWJhY2tncm91bmQtY29sb3IpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcE5ld3NDYXRlZ29yeS1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBOZXdzQ2F0ZWdvcnktcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIG1pbi13aWR0aDogY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LW1pbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBOZXdzQ2F0ZWdvcnkge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBOZXdzQ2F0ZWdvcnktZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcE5ld3NDYXRlZ29yeS1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcE5ld3NDYXRlZ29yeS1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBOZXdzQ2F0ZWdvcnktcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LWJvcmRlci13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLXBOZXdzQ2F0ZWdvcnktYm9yZGVyLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWluLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wTmV3c0NhdGVnb3J5LW1pbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBOZXdzQ2F0ZWdvcnktbWluLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucE5ld3NEYXRlIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcE5ld3NEYXRlLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBOZXdzRGF0ZS1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBOZXdzRGF0ZS1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLXBOZXdzRGF0ZS1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBOZXdzRGF0ZS1mb250LXdlaWdodCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBOZXdzRGF0ZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBOZXdzRGF0ZS1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTmV3c0RhdGUtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucE5ld3NUaXRsZSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBOZXdzVGl0bGUtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcE5ld3NUaXRsZS1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBOZXdzVGl0bGUtY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTmV3c1RpdGxlLWZvbnQtd2VpZ2h0KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucE5ld3NUaXRsZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBOZXdzVGl0bGUtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcE5ld3NUaXRsZS1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTmV3c1NldCB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcE5ld3NTZXQtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiBjYWxjKHZhcigtLXBOZXdzU2V0LWJvcmRlci13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1wTmV3c1NldC1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1wTmV3c1NldC1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlOiBcImRhdGUgY2F0XCIgYXV0byBcInRpdGxlIHRpdGxlXCIgYXV0by9hdXRvIDFmcjtcbiAgICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLXBOZXdzU2V0LWdhcC1jb2wtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHJvdy1nYXA6IGNhbGModmFyKC0tcE5ld3NTZXQtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBOZXdzU2V0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiZGF0ZSBjYXQgdGl0bGVcIiBhdXRvL2F1dG8gYXV0byAxZnI7XG4gICAgICBjb2x1bW4tZ2FwOiBtaW4oY2FsYyh2YXIoLS1wTmV3c1NldC1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTmV3c1NldC1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICByb3ctZ2FwOiAwO1xuICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogbWluKGNhbGModmFyKC0tcE5ld3NTZXQtYm9yZGVyLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tcE5ld3NTZXQtYm9yZGVyLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKGNhbGModmFyKC0tcE5ld3NTZXQtcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBOZXdzU2V0LXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKGNhbGModmFyKC0tcE5ld3NTZXQtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTmV3c1NldC1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBOZXdzU2V0IC5kYXRlIHtcbiAgICBncmlkLWFyZWE6IGRhdGU7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTmV3c1NldCAuZGF0ZSB7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICB9XG4gIH1cbiAgLnBOZXdzU2V0IC5wVGFnU2V0IHtcbiAgICBncmlkLWFyZWE6IGNhdDtcbiAgfVxuICAucE5ld3NTZXQgLnRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ3JpZC1hcmVhOiB0aXRsZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucE5ld3NTZXQgLnRpdGxlIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuICB9XG4gIC5wVGFnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBUYWctZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcFRhZy1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBUYWctZGVmYXVsdC1jb2xvcik7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1wVGFnLWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBUYWctZGVmYXVsdC1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcFRhZy1ib3JkZXItcmFkaXVzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wVGFnLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1wVGFnLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcFRhZy1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBUYWcge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wVGFnLWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBUYWctZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcFRhZy1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFRhZy1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBUYWctcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wVGFnLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wVGFnLWJvcmRlci13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLXBUYWctYm9yZGVyLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAucFRhZzpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXBUYWctYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wVGFnLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1wVGFnLWFjdGl2ZS1jb2xvcik7XG4gICAgfVxuICB9XG4gIC5wVGFnU2V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IGNhbGModmFyKC0tcFRhZ1NldC1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLXBUYWdTZXQtZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBUYWdTZXQge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1wVGFnU2V0LWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wVGFnU2V0LWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcFRhZ1NldC1nYXAtY29sLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFRhZ1NldC1nYXAtY29sLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEFydGljbGVMaXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6IFwiaW1hZ2UgZGF0ZVwiIGF1dG8gXCJpbWFnZSBjYXRlZ29yeVwiIGF1dG8gXCJpbWFnZSBoZWFkaW5nXCIgMWZyIFwidGV4dCB0ZXh0XCIgYXV0by9jYWxjKHZhcigtLXBBcnRpY2xlTGlzdC1pbWFnZS13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dykgMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLXBBcnRpY2xlTGlzdC1nYXAtY29sLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICByb3ctZ2FwOiBjYWxjKHZhcigtLXBBcnRpY2xlTGlzdC1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucEFydGljbGVMaXN0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiaW1hZ2UgZGF0ZVwiIGF1dG8gXCJpbWFnZSBjYXRlZ29yeVwiIGF1dG8gXCJpbWFnZSBoZWFkaW5nXCIgYXV0byBcImltYWdlIHRleHRcIiAxZnIvbWluKGNhbGModmFyKC0tcEFydGljbGVMaXN0LWltYWdlLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEFydGljbGVMaXN0LWltYWdlLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICAgIGNvbHVtbi1nYXA6IG1pbihjYWxjKHZhcigtLXBBcnRpY2xlTGlzdC1nYXAtY29sLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEFydGljbGVMaXN0LWdhcC1jb2wtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICByb3ctZ2FwOiBtaW4oY2FsYyh2YXIoLS1wQXJ0aWNsZUxpc3QtZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBcnRpY2xlTGlzdC1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEFydGljbGVMaXN0IC5pbWFnZSB7XG4gICAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuICAucEFydGljbGVMaXN0IC5wSW1hZ2Uge1xuICAgIGFzcGVjdC1yYXRpbzogMy8yO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG4gIC5wQXJ0aWNsZUxpc3QgLnBOZXdzRGF0ZSB7XG4gICAgZ3JpZC1hcmVhOiBkYXRlO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICB9XG4gIC5wQXJ0aWNsZUxpc3QgLnBUYWdTZXQge1xuICAgIGdyaWQtYXJlYTogY2F0ZWdvcnk7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgLnBBcnRpY2xlTGlzdCAucEhlYWRpbmdTbWFsbCB7XG4gICAgZ3JpZC1hcmVhOiBoZWFkaW5nO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICB9XG4gIC5wQXJ0aWNsZUxpc3QgLnBUZXh0IHtcbiAgICBncmlkLWFyZWE6IHRleHQ7XG4gIH1cbiAgLnBQYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci13aWR0aDogY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1kZWZhdWx0LWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1kZWZhdWx0LWNvbG9yKTtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcFBhZ2luYXRpb24tZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcFBhZ2luYXRpb24tZm9udC13ZWlnaHQpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcFBhZ2luYXRpb24tcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tcFBhZ2luYXRpb24td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGFzcGVjdC1yYXRpbzogMS8xO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUGFnaW5hdGlvbiB7XG4gICAgICBib3JkZXItd2lkdGg6IG1pbihjYWxjKHZhcigtLXBQYWdpbmF0aW9uLWJvcmRlci13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLXBQYWdpbmF0aW9uLWJvcmRlci13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcFBhZ2luYXRpb24tZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFBhZ2luYXRpb24tZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tcFBhZ2luYXRpb24tcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQYWdpbmF0aW9uLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcFBhZ2luYXRpb24tcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBQYWdpbmF0aW9uLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFBhZ2luYXRpb24uaXMtYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tcFBhZ2luYXRpb24tYWN0aXZlLWNvbG9yKTtcbiAgfVxuICAucFBhZ2luYXRpb246bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFBhZ2luYXRpb24taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWhvdmVyLWNvbG9yKTtcbiAgfVxuICAucFBhZ2luYXRpb24uYXJyb3cgaW1nIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFBhZ2luYXRpb24uYXJyb3cgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wUGFnaW5hdGlvbi1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcFBhZ2luYXRpb24taWNvbi13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBQYWdpbmF0aW9uLmFycm93LnByZXYgaW1nIHtcbiAgICByb3RhdGU6IHogMTgwZGVnO1xuICB9XG4gIC5wTG9jYWxuYXZUb3Age1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcExvY2FsbmF2VG9wLWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWNvbG9yLWRlZmF1bHQpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcExvY2FsbmF2VG9wLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tcExvY2FsbmF2VG9wLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0KTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiBjYWxjKHZhcigtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtYm9yZGVyLWJvdHRvbS1jb2xvci1kZWZhdWx0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSwgYm9yZGVyLWJvdHRvbS1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBMb2NhbG5hdlRvcCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtYm9yZGVyLWJvdHRvbS13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLXBMb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtYm9yZGVyLWJvdHRvbS1jb2xvci1kZWZhdWx0KTtcbiAgICAgIG1pbi13aWR0aDogbWluKGNhbGModmFyKC0tcExvY2FsbmF2VG9wLW1pbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBMb2NhbG5hdlRvcC1taW4td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTG9jYWxuYXZUb3Age1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2VG9wLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdlRvcC1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2VG9wLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tcExvY2FsbmF2VG9wLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2VG9wLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3AtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2VG9wLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBMb2NhbG5hdlRvcC5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtY29sb3ItYWN0aXZlKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtYm9yZGVyLWJvdHRvbS1jb2xvci1hY3RpdmUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZSk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBMb2NhbG5hdlRvcDpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWNvbG9yLWFjdGl2ZSk7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtYm9yZGVyLWJvdHRvbS1jb2xvci1hY3RpdmUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWJhY2tncm91bmQtY29sb3ItYWN0aXZlKTtcbiAgICB9XG4gIH1cbiAgLnBMb2NhbG5hdlRvcFNlcGFyYXRvciwgLm5hdmlnYXRpb24ubG9jYWxuYXZ0b3AgLmlubmVyIC5vdmVyZmxvdyB1bCBsaTo6YWZ0ZXIsIC5sb2NhbG5hdnRvcC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLm92ZXJmbG93IHVsIGxpOjphZnRlciB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXBMb2NhbG5hdlRvcFNlcGFyYXRvci1oZWlnaHQtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXBMb2NhbG5hdlRvcFNlcGFyYXRvci13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wU2VwYXJhdG9yLWJhY2tncm91bmQtY29sb3IpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTG9jYWxuYXZUb3BTZXBhcmF0b3IsIC5uYXZpZ2F0aW9uLmxvY2FsbmF2dG9wIC5pbm5lciAub3ZlcmZsb3cgdWwgbGk6OmFmdGVyLCAubG9jYWxuYXZ0b3AuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5vdmVyZmxvdyB1bCBsaTo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3BTZXBhcmF0b3ItaGVpZ2h0LXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2VG9wU2VwYXJhdG9yLWhlaWdodC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3BTZXBhcmF0b3Itd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZUb3BTZXBhcmF0b3Itd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTG9jYWxuYXZCb3R0b20ge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wTG9jYWxuYXZCb3R0b20tZm9udC1zaXplLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcExvY2FsbmF2Qm90dG9tLWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcExvY2FsbmF2Qm90dG9tLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbS1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTG9jYWxuYXZCb3R0b20ge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZCb3R0b20tZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2Qm90dG9tLWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcExvY2FsbmF2Qm90dG9tLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbS1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTG9jYWxuYXZCb3R0b206OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wTG9jYWxuYXZCb3R0b20taWNvbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19zLnN2Zyk7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBMb2NhbG5hdkJvdHRvbS1pY29uLWNvbG9yKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucExvY2FsbmF2Qm90dG9tOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbS1pY29uLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tcExvY2FsbmF2Qm90dG9tLWljb24td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wTG9jYWxuYXZCb3R0b21MaXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbUxpc3QtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wTG9jYWxuYXZCb3R0b21MaXN0LWdhcC1jb2wtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wTG9jYWxuYXZCb3R0b21MaXN0IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbUxpc3QtZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBMb2NhbG5hdkJvdHRvbUxpc3QtZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wTG9jYWxuYXZCb3R0b21MaXN0LWdhcC1jb2wtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wTG9jYWxuYXZCb3R0b21MaXN0LWdhcC1jb2wtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQnJlYWRjcnVtYnNUZXh0IHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEJyZWFkY3J1bWJzVGV4dC1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtd2VpZ2h0LWFjdGl2ZSk7XG4gICAgY29sb3I6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtY29sb3ItYWN0aXZlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBncmlkLXRlbXBsYXRlOiBcInNsYXNoIHRleHRcIiBhdXRvL2F1dG8gYXV0bztcbiAgICBnYXA6IGNhbGModmFyKC0tbkJyZWFkY3J1bWJzLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBCcmVhZGNydW1ic1RleHQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCcmVhZGNydW1ic1RleHQtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkJyZWFkY3J1bWJzLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnBCcmVhZGNydW1ic1RleHQ6OmJlZm9yZSB7XG4gICAgZ3JpZC1hcmVhOiBzbGFzaDtcbiAgICBjb250ZW50OiBcIi9cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEJyZWFkY3J1bWJzU2VwYXJhdG9yLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBCcmVhZGNydW1ic1NlcGFyYXRvci1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBCcmVhZGNydW1ic1NlcGFyYXRvci1jb2xvcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBCcmVhZGNydW1ic1RleHQ6OmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBCcmVhZGNydW1ic1NlcGFyYXRvci1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQnJlYWRjcnVtYnNTZXBhcmF0b3ItZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEJyZWFkY3J1bWJzVGV4dCBhIHtcbiAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtd2VpZ2h0LWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWNvbG9yLWRlZmF1bHQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wQnJlYWRjcnVtYnNUZXh0IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICAucEJyZWFkY3J1bWJzU2VwYXJhdG9yIHtcbiAgICBmb250LXNpemU6IGNhbGModmFyKC0tcEJyZWFkY3J1bWJzVGV4dC1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtd2VpZ2h0LWRlZmF1bHQpO1xuICAgIGNvbG9yOiB2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWNvbG9yLWRlZmF1bHQpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQnJlYWRjcnVtYnNTZXBhcmF0b3Ige1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBCcmVhZGNydW1ic1RleHQtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEJyZWFkY3J1bWJzU2VwYXJhdG9yOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tcFEtaWNvbi13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgYmFja2dyb3VuZDogY2VudGVyL2NvbnRhaW4gbm8tcmVwZWF0IHVybCgvaW1hZ2VzL2ljb25fcS5zdmcpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQnJlYWRjcnVtYnNTZXBhcmF0b3I6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKGNhbGModmFyKC0tcFEtaWNvbi13aWR0aC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBRLWljb24td2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wQXJ0aWNsZU5hdiB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBBcnRpY2xlTmF2LWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBBcnRpY2xlTmF2LWZvbnQtd2VpZ2h0KTtcbiAgICBjb2xvcjogdmFyKC0tcEFydGljbGVOYXYtY29sb3IpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcEFydGljbGVOYXYtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEFydGljbGVOYXYtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1ib3JkZXItYm90dG9tLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1wQXJ0aWNsZU5hdi1ib3JkZXItYm90dG9tLWNvbG9yKTtcbiAgICBnYXA6IGNhbGModmFyKC0tcEFydGljbGVOYXYtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBibG9jayBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wQXJ0aWNsZU5hdiB7XG4gICAgICBmb250LXNpemU6IG1pbihjYWxjKHZhcigtLXBBcnRpY2xlTmF2LWZvbnQtc2l6ZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBBcnRpY2xlTmF2LWZvbnQtc2l6ZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbihjYWxjKHZhcigtLXBBcnRpY2xlTmF2LXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLXBBcnRpY2xlTmF2LXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEFydGljbGVOYXYtcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1ib3JkZXItYm90dG9tLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tcEFydGljbGVOYXYtYm9yZGVyLWJvdHRvbS13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tcEFydGljbGVOYXYtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEFydGljbGVOYXYtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucEFydGljbGVOYXY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1pY29uLXdpZHRoLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhc3BlY3QtcmF0aW86IDEvMTtcbiAgICBiYWNrZ3JvdW5kOiBjZW50ZXIvY29udGFpbiBuby1yZXBlYXQgdXJsKC9pbWFnZXMvaWNvbl9hcnRpY2xlbmF2LnN2Zyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBBcnRpY2xlTmF2OjpiZWZvcmUge1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLXBBcnRpY2xlTmF2LWljb24td2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQXJ0aWNsZU5hdi1pY29uLXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxufVxuQGxheWVyIGNvbXBvbmVudHMge1xuICAuY29tcG9uZW50LnR5cGVfcGFnZXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jUGFnZVRpdGxlLWJhY2tncm91bmQtY29sb3IpO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9wYWdldGl0bGUgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tY1BhZ2VUaXRsZS1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfcGFnZXRpdGxlIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfcGFnZXRpdGxlIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oY2FsYyh2YXIoLS1jUGFnZVRpdGxlLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jUGFnZVRpdGxlLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg2MCAvIDM5MCAqIDEwMHZ3KSBjYWxjKDMyIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbig4MHB4LCBjYWxjKDgwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDgwcHgsIGNhbGMoODAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmJnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgaGVpZ2h0OiBjYWxjKDM2MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LXdlYWspO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIC5iZyB7XG4gICAgICBoZWlnaHQ6IG1pbig1NjBweCwgY2FsYyg1NjAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmJnIGltZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlciB0b3A7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEyNDBweCwgY2FsYygxMjQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIC5pbm5lciAuaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMzIgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIC5pbm5lciAuaW1hZ2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSAuaW5uZXIgLmltYWdlIGltZyB7XG4gICAgYXNwZWN0LXJhdGlvOiAzLzI7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDM5MCAqIDEwMHZ3KSAwIDAgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3gtc2hhZG93OiAxNnB4IDE2cHggMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4yNCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmlubmVyIC5pbWFnZSBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJveC1zaGFkb3c6IDIwcHggMjBweCAxNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjI0KTtcbiAgICAgIHdpZHRoOiBtaW4oNjAzcHgsIGNhbGMoNjAzIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIC5pbm5lciAudGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmlubmVyIC50ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUgLmlubmVyIC50ZXh0IC5wUGFnZVRpdGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBmb250LXNpemU6IGNhbGMoNDAgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlIC5pbm5lciAudGV4dCAucFBhZ2VUaXRsZSB7XG4gICAgICBmb250LXNpemU6IG1pbig3MnB4LCBjYWxjKDcyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi44OHB4O1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSAuaW5uZXIgLnRleHQgc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgcGFkZGluZzogY2FsYyg0IC8gMzkwICogMTAwdncpIGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14cykgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNDhweDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSAuaW5uZXIgLnRleHQgc3BhbiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNjRweDtcbiAgICAgIHBhZGRpbmc6IG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpIG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbSkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLW0pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHkge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0NhdGNoY29weS1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHktbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHktbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weSAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5LWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHkgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHkgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiaGVhZGluZyBoZWFkaW5nXCIgYXV0byBcImxlYWQgdGV4dFwiIGF1dG8gXCJidXR0b24gYnV0dG9uXCIgYXV0by9taW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5LWxlYWQtd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5LWxlYWQtd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSkgMWZyO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5LWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5LWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY0NhdGNoY29weS1nYXAtY29sKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weS1nYXAtY29sKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5IC5pbm5lciAucEhlYWRpbmdNZWRpdW0ge1xuICAgICAgZ3JpZC1hcmVhOiBoZWFkaW5nO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5IC5pbm5lciAucExlYWQge1xuICAgICAgZ3JpZC1hcmVhOiBsZWFkO1xuICAgICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHkgLmlubmVyIC5wVGV4dCB7XG4gICAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHkgLmlubmVyIC5wQnV0dG9uIHtcbiAgICAgIGdyaWQtYXJlYTogYnV0dG9uO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2UgLmlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCIuIHRleHQgaW1hZ2UgaW1hZ2VcIiBhdXRvLzFmciBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtdGV4dC13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS10ZXh0LXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS10ZXh0LXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSkgMWZyO1xuICAgICAgZ2FwOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSAuaW5uZXIgLmltYWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2UgLmlubmVyIC5pbWFnZSB7XG4gICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSAuaW5uZXIgLnRleHQge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIC5pbm5lciAudGV4dCB7XG4gICAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2UgLmlubmVyOm5vdCgucmV2ZXJzZSkgLnBJbWFnZSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHVuc2V0O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB1bnNldDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIC5pbm5lcjpub3QoLnJldmVyc2UpIC50ZXh0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS1nYXAtY29sKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlLWdhcC1jb2wpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2UgLmlubmVyLnJldmVyc2Uge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJpbWFnZSBpbWFnZSB0ZXh0IC5cIiBhdXRvLzFmciBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtdGV4dC13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS10ZXh0LXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZS10ZXh0LXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSkgMWZyO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIC5pbm5lci5yZXZlcnNlIC5pbWFnZSB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIC5pbm5lci5yZXZlcnNlIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSAuaW5uZXIucmV2ZXJzZSAucEltYWdlIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB1bnNldDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiB1bnNldDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIC5pbm5lci5yZXZlcnNlIC50ZXh0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogbWluKGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlLWdhcC1jb2wpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLWNvbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZV9iZyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWluKGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctaW1hZ2UtcG9zaXRpb24tcGMtYm90dG9tKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctaW1hZ2UtcG9zaXRpb24tcGMtYm90dG9tKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2VfYmcgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2VfYmcgLmlubmVyOm5vdCgucmV2ZXJzZSkgLnRleHQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lcjpub3QoLnJldmVyc2UpIC50ZXh0IHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogbWluKGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2VfYmcgLmlubmVyLnJldmVyc2UgLmltYWdlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lci5yZXZlcnNlIC50ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2VfYmcgLmlubmVyLnJldmVyc2UgLnRleHQge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lciAuaW1hZ2Uge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlX2JnIC5pbm5lciAuaW1hZ2Uge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWltYWdlLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctaW1hZ2Utd2lkdGgtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2VfYmcgLmlubmVyIC50ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1iYWNrZ291bmQtY29sb3IpO1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLXBhZGRpbmctaW5saW5lLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLXRleHQtd2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLXRleHQtcG9zaXRpb24tc3AtdG9wKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2VfYmcgLmlubmVyIC50ZXh0IHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1wYWRkaW5nLWlubGluZS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLXRleHQtd2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy10ZXh0LXdpZHRoLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNDYXRjaGNvcHlJbWFnZUJnLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29udmVyc2lvbiB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNDb252ZXJzaW9uLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb252ZXJzaW9uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb252ZXJzaW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNDb252ZXJzaW9uLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29udmVyc2lvbiAuaW5uZXIge1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY0NvbnZlcnNpb24tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1ib3JkZXItcmFkaXVzLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWNDb252ZXJzaW9uLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tY0NvbnZlcnNpb24tcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IGNhbGModmFyKC0tY0NvbnZlcnNpb24tZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29udmVyc2lvbiAuaW5uZXIge1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tY0NvbnZlcnNpb24tcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDb252ZXJzaW9uLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY0NvbnZlcnNpb24tcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWNDb252ZXJzaW9uLWJvcmRlci1yYWRpdXMtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1ib3JkZXItcmFkaXVzLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbnZlcnNpb24tZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGp1c3RpZnktaXRlbXM6IHN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NvbnZlcnNpb24gLmlubmVyLmNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb252ZXJzaW9uIC5pbm5lci5yaWdodCB7XG4gICAgICBqdXN0aWZ5LWl0ZW1zOiBlbmQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbnZlcnNpb24gLmlubmVyIC5pbWFnZSBpbWcge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLWNDb252ZXJzaW9uLWxvZ28td2lkdGgtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb252ZXJzaW9uIC5pbm5lciAuaW1hZ2UgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oY2FsYyh2YXIoLS1jQ29udmVyc2lvbi1sb2dvLXdpZHRoLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbnZlcnNpb24tbG9nby13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbnZlcnNpb24gLmlubmVyIC5wQ29udmVyc2lvbkhlYWRpbmcge1xuICAgIGNvbG9yOiB2YXIoLS1jQ29udmVyc2lvbi1jb2xvcik7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbnZlcnNpb24gLmlubmVyIC5wVGV4dCB7XG4gICAgY29sb3I6IHZhcigtLWNDb252ZXJzaW9uLWNvbG9yKTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfYmxvZ3RpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg2MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDMwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9ibG9ndGl0bGUge1xuICAgICAgcGFkZGluZy10b3A6IG1pbigxODBweCwgY2FsYygxODAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IG1pbig5MHB4LCBjYWxjKDkwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9ibG9ndGl0bGUgLmlubmVyIHtcbiAgICBwYWRkaW5nOiBjYWxjKDMyIC8gMzkwICogMTAwdncpIGNhbGMoMjQgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMCB2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgdmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIDA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2Jsb2d0aXRsZSAuaW5uZXIge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDEwMHB4LCBjYWxjKDEwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfYmxvZ3RpdGxlIC5pbm5lciBoMSB7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhsKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhzbWFsbCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2Jsb2d0aXRsZSAuaW5uZXIgaDEge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTB2dyAtIG1pbig2MzBweCwgY2FsYyg2MzAgLyAxNDQwICogMTAwdncpKSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBtaW4oMjAwcHgsIGNhbGMoMjAwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9ibG9ndGl0bGUgLmlubmVyIC5jYXQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjFlbTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfYmxvZ3RpdGxlIC5pbm5lciAuY2F0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyg1MHZ3IC0gbWluKDYzMHB4LCBjYWxjKDYzMCAvIDE0NDAgKiAxMDB2dykpKTtcbiAgICAgIHRyYW5zbGF0ZTogbWluKC02cHgsIGNhbGMoLTYgLyAxNDQwICogMTAwdncpKSAwO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfYmxvZ3RpdGxlIC5pbm5lciAuY2F0IGEge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaGVhZGluZyAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2hlYWRpbmcgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9oZWFkaW5nLmxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNIZWFkaW5nLWxhcmdlLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9oZWFkaW5nLmxhcmdlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNIZWFkaW5nLWxhcmdlLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jSGVhZGluZy1sYXJnZS1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaGVhZGluZy5tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0hlYWRpbmctbWVkaXVtLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9oZWFkaW5nLm1lZGl1bSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jSGVhZGluZy1tZWRpdW0tbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNIZWFkaW5nLW1lZGl1bS1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaGVhZGluZ19leCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tc2VjdGlvbikgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2hlYWRpbmdfZXgge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXNlY3Rpb24tcGMpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tc2VjdGlvbi1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2hlYWRpbmdfZXggLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9oZWFkaW5nX2V4IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jVGV4dC1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jVGV4dC1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1RleHQtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RleHQgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90ZXh0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbGVhZCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jTGVhZC1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbGVhZCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jTGVhZC1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0xlYWQtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2xlYWQgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9sZWFkIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGV4dF9pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jVGV4dEltYWdlLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90ZXh0X2ltYWdlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNUZXh0SW1hZ2UtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNUZXh0SW1hZ2UtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RleHRfaW1hZ2UgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IGNhbGModmFyKC0tY1RleHRJbWFnZS1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGV4dF9pbWFnZSAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RleHRfaW1hZ2UgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiaW1hZ2VzIHRleHRcIiBhdXRvL21pbihjYWxjKHZhcigtLWNUZXh0SW1hZ2UtaW1hZ2Utd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dEltYWdlLWltYWdlLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY1RleHRJbWFnZS1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY1RleHRJbWFnZS1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNUZXh0SW1hZ2UtZ2FwLWNvbCkgKiAxcHgpLCBjYWxjKHZhcigtLWNUZXh0SW1hZ2UtZ2FwLWNvbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RleHRfaW1hZ2UgLmlubmVyLnJldmVyc2Uge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJ0ZXh0IGltYWdlc1wiIGF1dG8vMWZyIG1pbihjYWxjKHZhcigtLWNUZXh0SW1hZ2UtaW1hZ2Utd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dEltYWdlLWltYWdlLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGV4dF9pbWFnZSAuaW5uZXIgLnRleHQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IGNhbGModmFyKC0tY1RleHRJbWFnZS1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGV4dF9pbWFnZSAuaW5uZXIgLnRleHQge1xuICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jVGV4dEltYWdlLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dEltYWdlLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90ZXh0X2ltYWdlIC5pbm5lciAuaW1hZ2VzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RleHRfaW1hZ2UgLmlubmVyIC5pbWFnZXMge1xuICAgICAgZ3JpZC1hcmVhOiBpbWFnZXM7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RleHRfbWFwIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNUZXh0TWFwLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90ZXh0X21hcCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jVGV4dE1hcC1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1RleHRNYXAtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RleHRfbWFwIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNUZXh0TWFwLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90ZXh0X21hcCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RleHRfbWFwIC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcIm1hcCB0ZXh0XCIgYXV0by9taW4oY2FsYyh2YXIoLS1jVGV4dE1hcC1pbWFnZS13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLWNUZXh0TWFwLWltYWdlLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY1RleHRNYXAtZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNUZXh0TWFwLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY1RleHRNYXAtZ2FwLWNvbCkgKiAxcHgpLCBjYWxjKHZhcigtLWNUZXh0TWFwLWdhcC1jb2wpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90ZXh0X21hcCAuaW5uZXIucmV2ZXJzZSB7XG4gICAgICBncmlkLXRlbXBsYXRlOiBcInRleHQgbWFwXCIgYXV0by8xZnIgbWluKGNhbGModmFyKC0tY1RleHRNYXAtaW1hZ2Utd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1jVGV4dE1hcC1pbWFnZS13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RleHRfbWFwIC5pbm5lciAudGV4dCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1jVGV4dE1hcC1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGV4dF9tYXAgLmlubmVyIC50ZXh0IHtcbiAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY1RleHRNYXAtZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNUZXh0TWFwLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90ZXh0X21hcCAuaW5uZXIgLnBNYXBDYXB0aW9uIHtcbiAgICAgIGdyaWQtYXJlYTogbWFwO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbWFwIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNNYXAtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX21hcCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jTWFwLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jTWFwLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9tYXAgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9tYXAgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9tYXAgLmlubmVyIC5wTWFwQ2FwdGlvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0ltYWdlLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9pbWFnZV9tdWx0aSB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jSW1hZ2UtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNJbWFnZS1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkuc2V0MSAuaW5uZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9pbWFnZV9tdWx0aS5zZXQxIC5pbm5lciAucEltYWdlQ2FwdGlvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkuc2V0MiAuaW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkuc2V0MiAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2ltYWdlX211bHRpLnNldDMgLmlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2ltYWdlX211bHRpLnNldDMgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9pbWFnZV9tdWx0aS5zZXQ0IC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9pbWFnZV9tdWx0aS5zZXQ0IC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1jSW1hZ2UtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1jSW1hZ2UtZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2ltYWdlX211bHRpIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkgLmlubmVyIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY0ltYWdlLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jSW1hZ2UtZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1jSW1hZ2UtZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNJbWFnZS1nYXAtY29sLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaW1hZ2VfbXVsdGkgLmlubmVyIC5wSW1hZ2VDYXB0aW9uLnNocmluayAucENhcHRpb24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWNJbWFnZS1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbW92aWVfbXVsdGkge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY0ltYWdlLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jSW1hZ2UtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpLnNldDEgLmlubmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbW92aWVfbXVsdGkuc2V0MSAuaW5uZXIgLnBJbWFnZUNhcHRpb24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpLnNldDIgLmlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpLnNldDIgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aS5zZXQzIC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aS5zZXQzIC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbW92aWVfbXVsdGkuc2V0NCAuaW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgxLCBhdXRvKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbW92aWVfbXVsdGkuc2V0NCAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBnYXA6IGNhbGModmFyKC0tY0ltYWdlLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tY0ltYWdlLWdhcC1jb2wtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aSAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpIC5pbm5lciB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNJbWFnZS1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY0ltYWdlLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY0ltYWdlLWdhcC1jb2wtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jSW1hZ2UtZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpIC5pbm5lciAucEltYWdlQ2FwdGlvbiAucEltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBhc3BlY3QtcmF0aW86IDE2Lzk7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX21vdmllX211bHRpIC5pbm5lciAucEltYWdlQ2FwdGlvbiAucEltYWdlIGlmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9tb3ZpZV9tdWx0aSAuaW5uZXIgLnBJbWFnZUNhcHRpb24gLnBDYXB0aW9uLnNocmluayB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfcGFuZWwge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY1BhbmVsLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9wYW5lbCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jUGFuZWwtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNQYW5lbC1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfcGFuZWwuc2V0MSAuaW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfcGFuZWwuc2V0MSAuaW5uZXIgLnBQYW5lbCB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfcGFuZWwuc2V0MiAuaW5uZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfcGFuZWwuc2V0MiAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3BhbmVsLnNldDMgLmlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3BhbmVsLnNldDMgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9wYW5lbC5zZXQ0IC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9wYW5lbC5zZXQ0IC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfcGFuZWwgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGdhcDogY2FsYyh2YXIoLS1jUGFuZWwtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1jUGFuZWwtZ2FwLWNvbC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3BhbmVsIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfcGFuZWwgLmlubmVyIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY1BhbmVsLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jUGFuZWwtZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1jUGFuZWwtZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNQYW5lbC1nYXAtY29sLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfc3BlYWtlciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jU3BlYWtlci1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfc3BlYWtlciB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jU3BlYWtlci1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1NwZWFrZXItbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jU3BlYWtlci1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jU3BlYWtlci1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5zcGVha2VyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNTcGVha2VyLXNwZWFrZXItZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jU3BlYWtlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWNTcGVha2VyLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tY1NwZWFrZXItcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tY1NwZWFrZXItYm9yZGVyLXJhZGl1cy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIgLnNwZWFrZXIge1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tY1NwZWFrZXItcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNTcGVha2VyLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY1NwZWFrZXItcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jU3BlYWtlci1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWNTcGVha2VyLWJvcmRlci1yYWRpdXMtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jU3BlYWtlci1ib3JkZXItcmFkaXVzLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jU3BlYWtlci1zcGVha2VyLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNTcGVha2VyLXNwZWFrZXItZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgd2lkdGg6IG1pbihjYWxjKHZhcigtLWNTcGVha2VyLXNwZWFrZXItd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1jU3BlYWtlci1zcGVha2VyLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAuY29tcG9uZW50LnR5cGVfc3BlYWtlciA+IC5pbm5lciAuc3BlYWtlci5zdGF0aWMge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIgLnNwZWFrZXIgLnBIZWFkaW5nTWVkaXVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIgLmNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY1NwZWFrZXItZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfc3BlYWtlciA+IC5pbm5lciAuY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5jb250ZW50IC5jb21wb25lbnQ6bm90KC50eXBlX2NvbHVtbikgLmNvbnRhaW5lcixcbi5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5jb250ZW50IC5jb21wb25lbnQ6bm90KC50eXBlX2NvbHVtbikgLmlubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIgLmNvbnRlbnQgLmNvbXBvbmVudCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTEpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5jb250ZW50IC5jb21wb25lbnQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIgLmNvbnRlbnQgLmNvbXBvbmVudCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICAgIC5jb21wb25lbnQudHlwZV9zcGVha2VyID4gLmlubmVyIC5jb250ZW50IC5jb21wb25lbnQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIgLmNvbnRlbnQgLnR5cGVfY29sdW1uIC5jb250YWluZXIge1xuICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfc3BlYWtlciA+IC5pbm5lciAuY29udGVudCAudHlwZV9jb2x1bW4gLmlubmVyIHtcbiAgICBncmlkLXRlbXBsYXRlOiBcImhlYWRpbmdcIiBhdXRvIFwic3ViaGVhZGluZ1wiIGF1dG8gXCJ0ZXh0XCIgYXV0byBcImltYWdlc1wiIGF1dG8gXCJidXR0b25cIiBhdXRvLzEwMCU7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3NwZWFrZXIgPiAuaW5uZXIgLmNvbnRlbnQgLnR5cGVfdGFibGUgLmlubmVyIHtcbiAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jQ29sdW1uLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb2x1bW4ge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY0NvbHVtbi1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbHVtbi1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tY0NvbHVtbi1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KSBjYWxjKHZhcigtLWNDb2x1bW4tcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlcjogY2FsYyh2YXIoLS1jQ29sdW1uLWJvcmRlci13aWR0aC1zcCkgLyAzOTAgKiAxMDB2dykgc29saWQgdmFyKC0tY0NvbHVtbi1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tY0NvbHVtbi1ib3JkZXItcmFkaXVzLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIge1xuICAgICAgcGFkZGluZzogbWluKGNhbGModmFyKC0tY0NvbHVtbi1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbHVtbi1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNDb2x1bW4tcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29sdW1uLXBhZGRpbmctaW5saW5lLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiAwIG1pbihjYWxjKHZhcigtLWNDb2x1bW4tZ2FwLWNvbCkgKiAxcHgpLCBjYWxjKHZhcigtLWNDb2x1bW4tZ2FwLWNvbCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci13aWR0aDogbWluKGNhbGModmFyKC0tY0NvbHVtbi1ib3JkZXItd2lkdGgtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29sdW1uLWJvcmRlci13aWR0aC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbihjYWxjKHZhcigtLWNDb2x1bW4tYm9yZGVyLXJhZGl1cy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDb2x1bW4tYm9yZGVyLXJhZGl1cy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lci5ub3JtYWwgPiAqOmZpcnN0LWNoaWxkLCAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyLnJldmVyc2UgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyLm5vcm1hbCB7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJoZWFkaW5nXCIgYXV0byBcInN1YmhlYWRpbmdcIiBhdXRvIFwidGV4dFwiIGF1dG8gXCJpbWFnZXNcIiBhdXRvLzEwMCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lci5ub3JtYWwge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJpbWFnZXMgaGVhZGluZ1wiIGF1dG8gXCJpbWFnZXMgc3ViaGVhZGluZ1wiIGF1dG8gXCJpbWFnZXMgdGV4dFwiIDFmci9taW4oY2FsYyh2YXIoLS1jQ29sdW1uLWltYWdlLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tY0NvbHVtbi1pbWFnZS13aWR0aCkgLyAxNDQwICogMTAwdncpKSAxZnI7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIucmV2ZXJzZSB7XG4gICAgZ3JpZC10ZW1wbGF0ZTogXCJoZWFkaW5nXCIgYXV0byBcInN1YmhlYWRpbmdcIiBhdXRvIFwidGV4dFwiIGF1dG8gXCJpbWFnZXNcIiBhdXRvLzEwMCU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lci5yZXZlcnNlIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwiaGVhZGluZyBpbWFnZXNcIiBhdXRvIFwic3ViaGVhZGluZyBpbWFnZXNcIiBhdXRvIFwidGV4dCBpbWFnZXNcIiAxZnIvMWZyIG1pbihjYWxjKHZhcigtLWNDb2x1bW4taW1hZ2Utd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29sdW1uLWltYWdlLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyLnZlcnRpY2FsIHtcbiAgICBncmlkLXRlbXBsYXRlOiBcImhlYWRpbmdcIiBhdXRvIFwic3ViaGVhZGluZ1wiIGF1dG8gXCJpbWFnZXNcIiBhdXRvIFwidGV4dFwiIGF1dG8vMTAwJTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyLnZlcnRpY2FsOm5vdCg6aGFzKC5wSGVhZGluZ01lZGl1bSkpOm5vdCg6aGFzKC5wVGV4dC5zdWJoZWFkaW5nKSkgLmltYWdlcyB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lci52ZXJ0aWNhbCAuaW1hZ2VzIHtcbiAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jQ29sdW1uLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29sdW1uLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIudmVydGljYWwgLmJ1dHRvbiAucEJ1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lci52ZXJ0aWNhbF9yZXZlcnNlIHtcbiAgICBncmlkLXRlbXBsYXRlOiBcImhlYWRpbmdcIiBhdXRvIFwic3ViaGVhZGluZ1wiIGF1dG8gXCJ0ZXh0XCIgYXV0byBcImltYWdlc1wiIGF1dG8vMTAwJTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyLnZlcnRpY2FsX3JldmVyc2U6bm90KDpoYXMoLnBIZWFkaW5nTWVkaXVtKSk6bm90KDpoYXMoLnBUZXh0LnN1YmhlYWRpbmcpKSAudGV4dCB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lci52ZXJ0aWNhbF9yZXZlcnNlIC5pbWFnZXMge1xuICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNDb2x1bW4tZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNDb2x1bW4tZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lci52ZXJ0aWNhbF9yZXZlcnNlIC5idXR0b24gLnBCdXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIudGV4dG9ubHkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIgLnBIZWFkaW5nTWVkaXVtIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZ3JpZC1hcmVhOiBoZWFkaW5nO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIgLnBIZWFkaW5nTWVkaXVtIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIgLnBUZXh0LnN1YmhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0NvbHVtbi1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBjb2xvcjogdmFyKC0tY0NvbHVtbi1zdWJoZWFkaW5nLWNvbG9yKTtcbiAgICBncmlkLWFyZWE6IHN1YmhlYWRpbmc7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lciAucFRleHQuc3ViaGVhZGluZyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jQ29sdW1uLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29sdW1uLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIgLmltYWdlcyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jQ29sdW1uLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGdyaWQtYXJlYTogaW1hZ2VzO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IGNhbGModmFyKC0tY0NvbHVtbi1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIC5pbWFnZXMge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1jQ29sdW1uLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ29sdW1uLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NvbHVtbiAuY29udGFpbmVyIC5pbm5lciAuaW1hZ2VzIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICBjb250YWluZXItdHlwZTogdW5zZXQ7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIC50ZXh0IHtcbiAgICBncmlkLWFyZWE6IHRleHQ7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jQ29sdW1uLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIgLnRleHQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY0NvbHVtbi1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NvbHVtbi1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIC5idXR0b24ge1xuICAgIGdyaWQtYXJlYTogYnV0dG9uO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9jb2x1bW4gLmNvbnRhaW5lciAuaW5uZXIgLmJ1dHRvbiAucEJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY29sdW1uIC5jb250YWluZXIgLmlubmVyIC5idXR0b24gLnBCdXR0b24ge1xuICAgICAgbWFyZ2luLWlubGluZTogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jVGFibGUtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNUYWJsZS1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY1RhYmxlLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldDpub3QoOmhhcygubmFycm93LCAucmV2ZXJzZSkpIHRhYmxlIHRkIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1sZWZ0KSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIG1pbi13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1taW4td2lkdGgpIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIGNvbG9yOiB2YXIoLS1wQ2VsbC1kYXRhLWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcENlbGwtZGF0YS1mb250LXdlaWdodCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQ2VsbC1kYXRhLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcENlbGwtZGF0YS1iYWNrZ3JvdW5kKTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldDpub3QoOmhhcygubmFycm93LCAucmV2ZXJzZSkpIHRhYmxlIHRkIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcENlbGwtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IG1pbihjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1sZWZ0KSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItdG9wKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXRvcCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXJpZ2h0KSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXJpZ2h0KSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1ib3R0b20pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldDpub3QoOmhhcygubmFycm93LCAucmV2ZXJzZSkpIHRhYmxlIHRkIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldDpub3QoOmhhcygubmFycm93LCAucmV2ZXJzZSkpIHRhYmxlIHRkIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQ6bm90KDpoYXMoLm5hcnJvdywgLnJldmVyc2UpKSB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXBjKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1ibG9jay1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnJldmVyc2UgdGFibGUgdGgge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXRvcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1yaWdodCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBDZWxsLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLW1pbi13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgY29sb3I6IHZhcigtLXBDZWxsLXJldmVyc2UtY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQ2VsbC1yZXZlcnNlLWZvbnQtd2VpZ2h0KTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBDZWxsLXJldmVyc2UtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQ2VsbC1yZXZlcnNlLWJhY2tncm91bmQpO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnJldmVyc2UgdGFibGUgdGgge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItbGVmdCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItdG9wKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnJldmVyc2UgdGFibGUgdGggYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnJldmVyc2UgdGFibGUgdGggYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC5yZXZlcnNlIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbihjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQubmFycm93IHRhYmxlIHRkIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1sZWZ0KSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtc3ApIC8gMzkwICogMTAwdncpO1xuICAgIG1pbi13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1taW4td2lkdGgpIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1ibG9jay1zcC1uYXJyb3cpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC5uYXJyb3cgdGFibGUgdGQge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItbGVmdCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItdG9wKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0Lm5hcnJvdyB0YWJsZSB0ZCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQubmFycm93IHRhYmxlIHRkIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQubmFycm93IHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbihjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctYmxvY2stcGMtbmFycm93KSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1ibG9jay1wYy1uYXJyb3cpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC5maXhlZCB0YWJsZSB7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQuZml4ZWQgdGFibGUgdGgsIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC5maXhlZCB0YWJsZSB0ZCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LmZpeF9sZWZ0IHRhYmxlIHRoIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnplYnJhIHRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHRoLCAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQuemVicmEgdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkgdGQge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXRvcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1yaWdodCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBDZWxsLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLW1pbi13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcENlbGwtemVicmEtYmFja2dyb3VuZCk7XG4gICAgY29sb3I6IHZhcigtLXBDZWxsLXplYnJhLWNvbG9yKTtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctYmxvY2stc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC56ZWJyYSB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB0aCwgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnplYnJhIHRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHRkIHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tcENlbGwtZm9udC1zaXplLXBjKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtZm9udC1zaXplLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IG1pbihjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctaW5saW5lLXBjKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1sZWZ0KSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItdG9wKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXRvcCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXJpZ2h0KSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXJpZ2h0KSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1ib3R0b20pIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC56ZWJyYSB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB0aCBhLCAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQuemVicmEgdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkgdGQgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnplYnJhIHRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHRoIGE6aG92ZXIsIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldC56ZWJyYSB0YWJsZSB0cjpudGgtY2hpbGQob2RkKSB0ZCBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0LnplYnJhIHRhYmxlIHRyOm50aC1jaGlsZChvZGQpIHRoLCAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQuemVicmEgdGFibGUgdHI6bnRoLWNoaWxkKG9kZCkgdGQge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctYmxvY2stcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldCB0YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQgdGFibGUgdHI6aGFzKHRkKSB0aCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQgdGFibGUgdGgge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpIC8gMzkwICogMTAwdncpO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IGNhbGModmFyKC0tcENlbGwtYm9yZGVyLXRvcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLWJvcmRlci1yaWdodCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLXBDZWxsLWZvbnQtc2l6ZS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLXBDZWxsLW1pbi13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gICAgY29sb3I6IHZhcigtLXBDZWxsLWhlYWRlci1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBDZWxsLWhlYWRlci1mb250LXdlaWdodCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQ2VsbC1oZWFkZXItYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQ2VsbC1oZWFkZXItYmFja2dyb3VuZCk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQgdGFibGUgdGgge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1mb250LXNpemUtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKGNhbGModmFyKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWlubGluZS1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogbWluKGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWxlZnQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItbGVmdCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IG1pbihjYWxjKHZhcigtLXBDZWxsLWJvcmRlci10b3ApICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItdG9wKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItcmlnaHQpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1wQ2VsbC1ib3JkZXItYm90dG9tKSAqIDFweCksIGNhbGModmFyKC0tcENlbGwtYm9yZGVyLWJvdHRvbSkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0IHRhYmxlIHRoIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5jb21wb25lbnQudHlwZV90YWJsZSAuaW5uZXIgLnRhYmxlX3NldCB0YWJsZSB0aCBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0IHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IG1pbihjYWxjKHZhcigtLXBDZWxsLXBhZGRpbmctYmxvY2stcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGFibGUgLmlubmVyIC50YWJsZV9zZXQgdGFibGUgdGQgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3RhYmxlIC5pbm5lciAudGFibGVfc2V0IHRhYmxlIHRkIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIHBhZGRpbmctbGVmdDogMWVtO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0J1dHRvbi1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNCdXR0b24tbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNCdXR0b24tbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2J1dHRvbiAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2J1dHRvbiAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2J1dHRvbiAuaW5uZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogY2FsYyh2YXIoLS1jQnV0dG9uLWdhcC1jb2wtc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tY0J1dHRvbi1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfYnV0dG9uIC5pbm5lciB1bCB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNCdXR0b24tZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNCdXR0b24tZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1jQnV0dG9uLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQnV0dG9uLWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9hbmNob3Ige1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLXNlY3Rpb24pIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9hbmNob3Ige1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXNlY3Rpb24tcGMpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tc2VjdGlvbi1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2FuY2hvciAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2FuY2hvciAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2FuY2hvciAuaW5uZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfYW5jaG9yIC5pbm5lciB1bCB7XG4gICAgICBnYXA6IG1pbigxMnB4LCBjYWxjKDEyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9hbmNob3IgLmlubmVyIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX251bSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tc2VjdGlvbikgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0UyRjNGODtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbnVtIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW1hcmdpbi1zZWN0aW9uLXBjKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXNlY3Rpb24tcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0ge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX251bS5zZXQyIC5pbm5lciB7XG4gICAgICBnYXA6IDgwcHg7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0uc2V0MyAuaW5uZXIge1xuICAgICAgZ2FwOiAzNXB4O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbnVtLnNldDMgLmlubmVyLCAuY29tcG9uZW50LnR5cGVfbnVtLnNldDQgLmlubmVyIHtcbiAgICAgIGdhcDogMjBweDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX251bS5zZXQzIC5pbm5lciAudW5pdCAuY2lyY2xlLCAuY29tcG9uZW50LnR5cGVfbnVtLnNldDQgLmlubmVyIC51bml0IC5jaXJjbGUge1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgaGVpZ2h0OiAyMzBweDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX251bS5zZXQzIC5pbm5lciAudW5pdCAuY2lyY2xlIGRsIGR0LCAuY29tcG9uZW50LnR5cGVfbnVtLnNldDQgLmlubmVyIC51bml0IC5jaXJjbGUgZGwgZHQge1xuICAgICAgdG9wOiA0MHB4O1xuICAgICAgcGFkZGluZzogMCAzNXB4O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbnVtLnNldDMgLmlubmVyIC51bml0IC5jaXJjbGUgZGwgZGQsIC5jb21wb25lbnQudHlwZV9udW0uc2V0NCAuaW5uZXIgLnVuaXQgLmNpcmNsZSBkbCBkZCB7XG4gICAgICB0b3A6IDgwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0uc2V0MyAuaW5uZXIgLnVuaXQgLmNpcmNsZSBkbCBkZCBzcGFuLCAuY29tcG9uZW50LnR5cGVfbnVtLnNldDQgLmlubmVyIC51bml0IC5jaXJjbGUgZGwgZGQgc3BhbiB7XG4gICAgICBtYXJnaW46IDAgMCA4cHggNnB4O1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbnVtIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbnVtIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbnVtIC5pbm5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IDIwcHg7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIC51bml0IHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIC51bml0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIC51bml0OmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX251bSAuaW5uZXIgLnVuaXQgLmNpcmNsZSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX251bSAuaW5uZXIgLnVuaXQgLmNpcmNsZSB7XG4gICAgICB3aWR0aDogMzIwcHg7XG4gICAgICBoZWlnaHQ6IDMyMHB4O1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbnVtIC5pbm5lciAudW5pdCAuY2lyY2xlIGRsIGR0IHtcbiAgICBmb250LXNpemU6IGNhbGMoMTggLyAzOTAgKiAxMDB2dyk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNzBweDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIC51bml0IC5jaXJjbGUgZGwgZGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDExMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIC51bml0IC5jaXJjbGUgZGwgZGQge1xuICAgICAgdG9wOiAxMjBweDtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX251bSAuaW5uZXIgLnVuaXQgLmNpcmNsZSBkbCBkZCBlbSB7XG4gICAgZm9udC1zaXplOiBjYWxjKDcwIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIC51bml0IC5jaXJjbGUgZGwgZGQgZW0ge1xuICAgICAgZm9udC1zaXplOiBtaW4oODBweCwgY2FsYyg4MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfbnVtIC5pbm5lciAudW5pdCAuY2lyY2xlIGRsIGRkIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9udW0gLmlubmVyIC51bml0IC5kZXNjIHtcbiAgICBmb250LXNpemU6IGNhbGMoMTMgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbnVtIC5pbm5lciAudW5pdCAuZGVzYyB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgZm9udC1zaXplOiBtaW4oMTVweCwgY2FsYygxNSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfd3lzaXd5ZyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV93eXNpd3lnIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW1hcmdpbi10b3AtMykgKiAxcHgpLCBjYWxjKHZhcigtLW1hcmdpbi10b3AtMykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3d5c2l3eWcgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV93eXNpd3lnIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0YWxvZyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jQ2F0YWxvZy1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0YWxvZyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jQ2F0YWxvZy1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0NhdGFsb2ctbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2NhdGFsb2cgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICBnYXA6IGNhbGModmFyKC0tY0NhdGFsb2ctZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgMDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfY2F0YWxvZyAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2NhdGFsb2cgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNDYXRhbG9nLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0YWxvZy1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNDYXRhbG9nLWdhcC1jb2wtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jQ2F0YWxvZy1nYXAtY29sLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZmlsZWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY0ZpbGVsaXN0LW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9maWxlbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jRmlsZWxpc3QtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNGaWxlbGlzdC1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZmlsZWxpc3QgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IGNhbGModmFyKC0tY0ZpbGVsaXN0LWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tY0ZpbGVsaXN0LWdhcC1jb2wtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9maWxlbGlzdCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2ZpbGVsaXN0IC5pbm5lciB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNGaWxlbGlzdC1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY0ZpbGVsaXN0LWdhcC1yb3ctcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKGNhbGModmFyKC0tY0ZpbGVsaXN0LWdhcC1jb2wtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1jRmlsZWxpc3QtZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2ZhcSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jRmFxLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9mYXEge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tY0ZhcS1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0ZhcS1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfZmFxIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiBjYWxjKHZhcigtLWNGYXEtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfZmFxIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfZmFxIC5pbm5lciB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWNGYXEtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tY0ZhcS1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9tZW1iZXIge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tY01lbWJlci1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfbWVtYmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLWNNZW1iZXItbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNNZW1iZXItbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX21lbWJlciAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICAgIGdhcDogY2FsYyh2YXIoLS1jTWVtYmVyLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpIDA7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX21lbWJlciAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX21lbWJlciAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tY01lbWJlci1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tY01lbWJlci1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLWNNZW1iZXItZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNNZW1iZXItZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2lmcmFtZSB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9pZnJhbWUge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXRvcC0zKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXRvcC0zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuY29tcG9uZW50LnR5cGVfaWZyYW1lIC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX2lmcmFtZSAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTAyNnB4LCBjYWxjKDEwMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX2lmcmFtZSAuaW5uZXIgaWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMsIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tbkJyZWFkY3J1bWJzLXBhZGRpbmctYm90dG9tLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5icmVhZGNydW1icywgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW5CcmVhZGNydW1icy1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkJyZWFkY3J1bWJzLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWluKGNhbGModmFyKC0tbkJyZWFkY3J1bWJzLXBhZGRpbmctYm90dG9tLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkJyZWFkY3J1bWJzLXBhZGRpbmctYm90dG9tLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5icmVhZGNydW1icyAuaW5uZXIsIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMgLmlubmVyLCAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzIC5pbm5lciB1bCwgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5icmVhZGNydW1icyAuaW5uZXIgdWwsIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgdWwge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkJyZWFkY3J1bWJzLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMgLmlubmVyIHVsIC5wQnJlYWRjcnVtYnNUZXh0OmZpcnN0LWNoaWxkLCAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHVsIC5wQnJlYWRjcnVtYnNUZXh0OmZpcnN0LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMgLmlubmVyIHVsIC5wQnJlYWRjcnVtYnNUZXh0OmZpcnN0LWNoaWxkOjpiZWZvcmUsIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgdWwgLnBCcmVhZGNydW1ic1RleHQ6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogdW5zZXQ7XG4gIH1cbiAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiwgLnBhZ2luYXRpb24uY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tblBhZ2luYXRpb24tbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiwgLnBhZ2luYXRpb24uY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tblBhZ2luYXRpb24tbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5QYWdpbmF0aW9uLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLmlubmVyLCAucGFnaW5hdGlvbi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiAuaW5uZXIsIC5wYWdpbmF0aW9uLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uIC5pbm5lciB1bCwgLnBhZ2luYXRpb24uY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogY2FsYyh2YXIoLS1uUGFnaW5hdGlvbi1nYXAtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb24gLmlubmVyIHVsLCAucGFnaW5hdGlvbi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgdWwge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1uUGFnaW5hdGlvbi1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uUGFnaW5hdGlvbi1nYXAtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb25kZXRhaWwsIC5wYWdpbmF0aW9uZGV0YWlsLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLW5QYWdpbmF0aW9uRGV0YWlsLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb25kZXRhaWwsIC5wYWdpbmF0aW9uZGV0YWlsLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW5QYWdpbmF0aW9uRGV0YWlsLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uUGFnaW5hdGlvbkRldGFpbC1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uZGV0YWlsIC5pbm5lciwgLnBhZ2luYXRpb25kZXRhaWwuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IGNhbGModmFyKC0tblBhZ2luYXRpb25EZXRhaWwtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBncmlkLXRlbXBsYXRlOiBcInByZXYgbmV4dFwiIGF1dG8gXCJiYWNrIGJhY2tcIiBhdXRvLzFmciAxZnI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbmRldGFpbCAuaW5uZXIsIC5wYWdpbmF0aW9uZGV0YWlsLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uZGV0YWlsIC5pbm5lciwgLnBhZ2luYXRpb25kZXRhaWwuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6IFwicHJldiBiYWNrIG5leHRcIiBhdXRvL2F1dG8gYXV0byBhdXRvO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLW5QYWdpbmF0aW9uRGV0YWlsLWdhcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5QYWdpbmF0aW9uRGV0YWlsLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ucGFnaW5hdGlvbmRldGFpbCAuaW5uZXIgLnByZXYsIC5wYWdpbmF0aW9uZGV0YWlsLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAucHJldiB7XG4gICAgZ3JpZC1hcmVhOiBwcmV2O1xuICB9XG4gIC5uYXZpZ2F0aW9uLnBhZ2luYXRpb25kZXRhaWwgLmlubmVyIC5iYWNrLCAucGFnaW5hdGlvbmRldGFpbC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLmJhY2sge1xuICAgIGdyaWQtYXJlYTogYmFjaztcbiAgfVxuICAubmF2aWdhdGlvbi5wYWdpbmF0aW9uZGV0YWlsIC5pbm5lciAubmV4dCwgLnBhZ2luYXRpb25kZXRhaWwuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5uZXh0IHtcbiAgICBncmlkLWFyZWE6IG5leHQ7XG4gIH1cbiAgLm5hdmlnYXRpb24ubG9jYWxuYXZ0b3AsIC5sb2NhbG5hdnRvcC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogY2FsYyh2YXIoLS1uTG9jYWxuYXZUb3AtYm9yZGVyLXRvcC13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogY2FsYyh2YXIoLS1uTG9jYWxuYXZUb3AtYm9yZGVyLWJvdHRvbS13aWR0aCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLW5Mb2NhbG5hdlRvcC1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5Mb2NhbG5hdlRvcC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5sb2NhbG5hdnRvcCwgLmxvY2FsbmF2dG9wLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IG1pbihjYWxjKHZhcigtLW5Mb2NhbG5hdlRvcC1ib3JkZXItdG9wLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tbkxvY2FsbmF2VG9wLWJvcmRlci10b3Atd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1uTG9jYWxuYXZUb3AtYm9yZGVyLWJvdHRvbS13aWR0aCkgKiAxcHgpLCBjYWxjKHZhcigtLW5Mb2NhbG5hdlRvcC1ib3JkZXItYm90dG9tLXdpZHRoKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5sb2NhbG5hdnRvcCAuaW5uZXIgLm92ZXJmbG93LCAubG9jYWxuYXZ0b3AuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5vdmVyZmxvdyB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubG9jYWxuYXZ0b3AgLmlubmVyIC5vdmVyZmxvdywgLmxvY2FsbmF2dG9wLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAub3ZlcmZsb3cge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2dG9wIC5pbm5lciAub3ZlcmZsb3cgdWwsIC5sb2NhbG5hdnRvcC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLm92ZXJmbG93IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IGNhbGModmFyKC0tbkxvY2FsbmF2VG9wLWdhcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubG9jYWxuYXZ0b3AgLmlubmVyIC5vdmVyZmxvdyB1bCwgLmxvY2FsbmF2dG9wLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAub3ZlcmZsb3cgdWwge1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1uTG9jYWxuYXZUb3AtZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkxvY2FsbmF2VG9wLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5sb2NhbG5hdnRvcCAuaW5uZXIgLm92ZXJmbG93IHVsIGxpLCAubG9jYWxuYXZ0b3AuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5vdmVyZmxvdyB1bCBsaSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogY2FsYyh2YXIoLS1uTG9jYWxuYXZUb3AtZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5sb2NhbG5hdnRvcCAuaW5uZXIgLm92ZXJmbG93IHVsIGxpLCAubG9jYWxuYXZ0b3AuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5vdmVyZmxvdyB1bCBsaSB7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLW5Mb2NhbG5hdlRvcC1nYXAtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uTG9jYWxuYXZUb3AtZ2FwLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5sb2NhbG5hdnRvcCAuaW5uZXIgLm92ZXJmbG93IHVsIGxpOjphZnRlciwgLmxvY2FsbmF2dG9wLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAub3ZlcmZsb3cgdWwgbGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2dG9wIC5pbm5lciAub3ZlcmZsb3cgdWwgbGk6bGFzdC1jaGlsZDo6YWZ0ZXIsIC5sb2NhbG5hdnRvcC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLm92ZXJmbG93IHVsIGxpOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2X3N1YiwgLmxvY2FsbmF2X3N1Yi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1uTG9jYWxuYXZTdWItbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubG9jYWxuYXZfc3ViLCAubG9jYWxuYXZfc3ViLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbihjYWxjKHZhcigtLW5Mb2NhbG5hdlN1Yi1tYXJnaW4tdG9wLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkxvY2FsbmF2U3ViLW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2X3N1YiAuaW5uZXIsIC5sb2NhbG5hdl9zdWIuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmxvY2FsbmF2X3N1YiAuaW5uZXIsIC5sb2NhbG5hdl9zdWIuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2X3N1YiAuaW5uZXIgdWwsIC5sb2NhbG5hdl9zdWIuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IGNhbGModmFyKC0tbkxvY2FsbmF2U3ViLWdhcC1yb3ctc3ApIC8gMzkwICogMTAwdncpIGNhbGModmFyKC0tbkxvY2FsbmF2U3ViLWdhcC1jb2wtc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmxvY2FsbmF2X3N1YiAuaW5uZXIgdWwsIC5sb2NhbG5hdl9zdWIuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHVsIHtcbiAgICAgIGdhcDogbWluKGNhbGModmFyKC0tbkxvY2FsbmF2U3ViLWdhcC1yb3ctcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uTG9jYWxuYXZTdWItZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1uTG9jYWxuYXZTdWItZ2FwLWNvbC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5Mb2NhbG5hdlN1Yi1nYXAtY29sLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5sb2NhbG5hdl9ib3R0b20sIC5sb2NhbG5hdl9ib3R0b20uY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbkxvY2FsbmF2Qm90dG9tLW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5Mb2NhbG5hdkJvdHRvbS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5sb2NhbG5hdl9ib3R0b20sIC5sb2NhbG5hdl9ib3R0b20uY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbkxvY2FsbmF2Qm90dG9tLW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uTG9jYWxuYXZCb3R0b20tbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ubG9jYWxuYXZfYm90dG9tIC5pbm5lciwgLmxvY2FsbmF2X2JvdHRvbS5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1uTG9jYWxuYXZCb3R0b20tcGFkZGluZy1ibG9jay1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogY2FsYyh2YXIoLS1uTG9jYWxuYXZCb3R0b20tZ2FwLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5sb2NhbG5hdl9ib3R0b20gLmlubmVyLCAubG9jYWxuYXZfYm90dG9tLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5sb2NhbG5hdl9ib3R0b20gLmlubmVyLCAubG9jYWxuYXZfYm90dG9tLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBtaW4oY2FsYyh2YXIoLS1uTG9jYWxuYXZCb3R0b20tcGFkZGluZy1ibG9jay1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5Mb2NhbG5hdkJvdHRvbS1wYWRkaW5nLWJsb2NrLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1uTG9jYWxuYXZCb3R0b20tZ2FwLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkxvY2FsbmF2Qm90dG9tLWdhcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24uYXJjaGl2ZW5hdiwgLmFyY2hpdmVuYXYuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbkFyY2hpdmVuYXYtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24uYXJjaGl2ZW5hdiwgLmFyY2hpdmVuYXYuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbkFyY2hpdmVuYXYtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5BcmNoaXZlbmF2LW1hcmdpbi10b3AtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmFyY2hpdmVuYXYgLmlubmVyLCAuYXJjaGl2ZW5hdi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24uYXJjaGl2ZW5hdiAuaW5uZXIsIC5hcmNoaXZlbmF2LmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5hcmNoaXZlbmF2IC5pbm5lciAub3ZlcmZsb3csIC5hcmNoaXZlbmF2LmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAub3ZlcmZsb3cge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmFyY2hpdmVuYXYgLmlubmVyIC5vdmVyZmxvdywgLmFyY2hpdmVuYXYuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIC5vdmVyZmxvdyB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24uYXJjaGl2ZW5hdiAuaW5uZXIgLm92ZXJmbG93IHVsLCAuYXJjaGl2ZW5hdi5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLm92ZXJmbG93IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IGNhbGModmFyKC0tbkFyY2hpdmVuYXYtZ2FwLXJvdy1zcCkgLyAzOTAgKiAxMDB2dykgY2FsYyh2YXIoLS1uQXJjaGl2ZW5hdi1nYXAtY29sLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5hcmNoaXZlbmF2IC5pbm5lciAub3ZlcmZsb3cgdWwsIC5hcmNoaXZlbmF2LmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAub3ZlcmZsb3cgdWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1uQXJjaGl2ZW5hdi1nYXAtcm93LXBjKSAqIDFweCksIGNhbGModmFyKC0tbkFyY2hpdmVuYXYtZ2FwLXJvdy1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1uQXJjaGl2ZW5hdi1nYXAtY29sLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkFyY2hpdmVuYXYtZ2FwLWNvbC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ubmV3c2xpc3QsIC5uZXdzbGlzdC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jTmV3c0xpc3QtbWFyZ2luLXRvcC1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubmV3c2xpc3QsIC5uZXdzbGlzdC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1jTmV3c0xpc3QtbWFyZ2luLXRvcC1wYykgKiAxcHgpLCBjYWxjKHZhcigtLWNOZXdzTGlzdC1tYXJnaW4tdG9wLXBjKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5uZXdzbGlzdCAuaW5uZXIsIC5uZXdzbGlzdC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubmV3c2xpc3QgLmlubmVyLCAubmV3c2xpc3QuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB3aWR0aDogbWluKDEwMjZweCwgY2FsYygxMDI2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmFydGljbGVsaXN0LCAuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbkFydGljbGVMaXN0LW1hcmdpbi10b3Atc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmFydGljbGVsaXN0LCAuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbkFydGljbGVMaXN0LW1hcmdpbi10b3AtcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uQXJ0aWNsZUxpc3QtbWFyZ2luLXRvcC1wYykgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24uYXJ0aWNsZWxpc3QgLmlubmVyLCAuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmlubmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmFydGljbGVsaXN0IC5pbm5lciwgLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMDI2cHgsIGNhbGMoMTAyNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5hcnRpY2xlbGlzdCAuaW5uZXIgLmxpc3QsIC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIgLmxpc3Qge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMTAwJSk7XG4gICAgZ2FwOiBjYWxjKHZhcigtLW5BcnRpY2xlTGlzdC1nYXAtcm93LXNwKSAvIDM5MCAqIDEwMHZ3KSAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZpZ2F0aW9uLmFydGljbGVsaXN0IC5pbm5lciAubGlzdCwgLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciAubGlzdCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ2FwOiBtaW4oY2FsYyh2YXIoLS1uQXJ0aWNsZUxpc3QtZ2FwLXJvdy1wYykgKiAxcHgpLCBjYWxjKHZhcigtLW5BcnRpY2xlTGlzdC1nYXAtcm93LXBjKSAvIDE0NDAgKiAxMDB2dykpIG1pbihjYWxjKHZhcigtLW5BcnRpY2xlTGlzdC1nYXAtY29sLXBjKSAqIDFweCksIGNhbGModmFyKC0tbkFydGljbGVMaXN0LWdhcC1jb2wtcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5hcnRpY2xlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tZkFydGljbGUtbWFyZ2luLXRvcCkgKiAxcHgpLCBjYWxjKHZhcigtLWZBcnRpY2xlLW1hcmdpbi10b3ApIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJjb250ZW50cyBuYXZcIiBhdXRvLzFmciBtaW4oY2FsYyh2YXIoLS1mQXJ0aWNsZS1uYXYtd2lkdGgpICogMXB4KSwgY2FsYyh2YXIoLS1mQXJ0aWNsZS1uYXYtd2lkdGgpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICBnYXA6IG1pbihjYWxjKHZhcigtLWZBcnRpY2xlLWdhcCkgKiAxcHgpLCBjYWxjKHZhcigtLWZBcnRpY2xlLWdhcCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFydGljbGUtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjQwcHgsIGNhbGMoMTI0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAuYXJ0aWNsZS13cmFwcGVyIC5hcnRpY2xlLW5hdiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1jQXJ0aWNsZU5hdi1tYXJnaW4tdG9wLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFydGljbGUtd3JhcHBlciAuYXJ0aWNsZS1uYXYge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogbWluKGNhbGModmFyKC0tZkFydGljbGUtbWFyZ2luLXRvcCkgKiAxcHgpLCBjYWxjKHZhcigtLWZBcnRpY2xlLW1hcmdpbi10b3ApIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBncmlkLWFyZWE6IG5hdjtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAuYXJ0aWNsZS13cmFwcGVyIC5hcnRpY2xlLW5hdiB1bCB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogY2FsYyh2YXIoLS1jQXJ0aWNsZU5hdi1ib3JkZXItdG9wLXdpZHRoKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jQXJ0aWNsZU5hdi1ib3JkZXItdG9wLWNvbG9yKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYXJ0aWNsZS13cmFwcGVyIC5hcnRpY2xlLW5hdiB1bCB7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiBtaW4oY2FsYyh2YXIoLS1jQXJ0aWNsZU5hdi1ib3JkZXItdG9wLXdpZHRoKSAqIDFweCksIGNhbGModmFyKC0tY0FydGljbGVOYXYtYm9yZGVyLXRvcC13aWR0aCkgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmFydGljbGUtd3JhcHBlciAuYXJ0aWNsZS1jb250ZW50cyB7XG4gICAgICBncmlkLWFyZWE6IGNvbnRlbnRzO1xuICAgICAgcGFkZGluZy10b3A6IHVuc2V0O1xuICAgIH1cbiAgICAuYXJ0aWNsZS13cmFwcGVyIC5hcnRpY2xlLWNvbnRlbnRzID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5hcnRpY2xlLXdyYXBwZXIgLmFydGljbGUtY29udGVudHMgPiBhOmZpcnN0LWNoaWxkICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5hcnRpY2xlLXdyYXBwZXIgLmFydGljbGUtY29udGVudHMgLmNvbnRhaW5lcixcbi5hcnRpY2xlLXdyYXBwZXIgLmFydGljbGUtY29udGVudHMgLmlubmVyLFxuLmFydGljbGUtd3JhcHBlciAuYXJ0aWNsZS1jb250ZW50cyAuY29tcG9uZW50LnR5cGVfdGFibGUsXG4uYXJ0aWNsZS13cmFwcGVyIC5hcnRpY2xlLWNvbnRlbnRzIC5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2VfYmcsXG4uYXJ0aWNsZS13cmFwcGVyIC5hcnRpY2xlLWNvbnRlbnRzIC5jb21wb25lbnQudHlwZV9jb252ZXJzaW9uLFxuLmFydGljbGUtd3JhcHBlciAuYXJ0aWNsZS1jb250ZW50cyAubV90YWdsaXN0IHtcbiAgICAgIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWlubGluZTogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBTd2lwZXIgMTEuMS4xNVxuICAgKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICAgKiBodHRwczovL3N3aXBlcmpzLmNvbVxuICAgKlxuICAgKiBDb3B5cmlnaHQgMjAxNC0yMDI0IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gICAqXG4gICAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxuICAgKlxuICAgKiBSZWxlYXNlZCBvbjogTm92ZW1iZXIgMTgsIDIwMjRcbiAgICovXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gICAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQVwiKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxuICA6cm9vdCB7XG4gICAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICMwMDdhZmYgO1xuICB9XG4gIDpob3N0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLnN3aXBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbiAgLnN3aXBlci13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXN3aXBlci13cmFwcGVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLCBpbml0aWFsKTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgfVxuICAuc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItaW9zIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTtcbiAgfVxuICAuc3dpcGVyLWhvcml6b250YWwge1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIH1cbiAgLnN3aXBlci12ZXJ0aWNhbCB7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teDtcbiAgfVxuICAuc3dpcGVyLXNsaWRlIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5zd2lwZXItYXV0b2hlaWdodCxcbi5zd2lwZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBoZWlnaHQ7XG4gIH1cbiAgLnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAuc3dpcGVyLTNkLnN3aXBlci1jc3MtbW9kZSAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHBlcnNwZWN0aXZlOiAxMjAwcHg7XG4gIH1cbiAgLnN3aXBlci0zZCAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIH1cbiAgLnN3aXBlci0zZCB7XG4gICAgcGVyc3BlY3RpdmU6IDEyMDBweDtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItY3ViZS1zaGFkb3csXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUge1xuICAgIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0O1xuICB9XG4gIC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWhvcml6b250YWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICB9XG4gIC5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvcmRlcjogOTk5OTtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZCA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGUge1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBjZW50ZXIgY2VudGVyO1xuICAgIHNjcm9sbC1zbmFwLXN0b3A6IGFsd2F5cztcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlciA+IC5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIHdpZHRoOiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKTtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKTtcbiAgfVxuICAuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXI6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItY2VudGVyZWQtb2Zmc2V0LWFmdGVyKTtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbiAgLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB9XG4gIC5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgfVxuICAuc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgICB3aWR0aDogNDJweDtcbiAgICBoZWlnaHQ6IDQycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gICAgbWFyZ2luLXRvcDogLTIxcHg7XG4gICAgei1pbmRleDogMTA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MgLnN3aXBlci1zbGlkZS12aXNpYmxlIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIsXG4uc3dpcGVyOm5vdCguc3dpcGVyLXdhdGNoLXByb2dyZXNzKSAuc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gIH1cbiAgLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZSB7XG4gICAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjZmZmIDtcbiAgfVxuICAuc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6ICMwMDAgO1xuICB9XG4gIEBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluIHtcbiAgICAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbiAgfVxuICAuc3dpcGVyLXZpcnR1YWwgLnN3aXBlci1zbGlkZSB7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICB9XG4gIC5zd2lwZXItdmlydHVhbC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci12aXJ0dWFsLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItaG9yaXpvbnRhbCAuc3dpcGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogdmFyKC0tc3dpcGVyLXZpcnR1YWwtc2l6ZSk7XG4gIH1cbiAgLnN3aXBlci12aXJ0dWFsLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItdmVydGljYWwgLnN3aXBlci13cmFwcGVyOjphZnRlciB7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IHZhcigtLXN3aXBlci12aXJ0dWFsLXNpemUpO1xuICB9XG4gIDpyb290IHtcbiAgICAtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDQ0cHggO1xuICB9XG4gIC5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1oaWRkZW4sXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24taGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGN1cnNvcjogYXV0bztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAuc3dpcGVyLW5hdmlnYXRpb24tZGlzYWJsZWQgLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCBzdmcsXG4uc3dpcGVyLWJ1dHRvbi1wcmV2IHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB9XG4gIC5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQgc3ZnLFxuLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldiBzdmcge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLFxuLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gICAgY29udGVudDogXCJwcmV2XCI7XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgIHJpZ2h0OiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsIDEwcHgpO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLnN3aXBlci1idXR0b24tbmV4dDphZnRlcixcbi5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwibmV4dFwiO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1oaWRkZW4ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVkID4gLnN3aXBlci1wYWdpbmF0aW9uLFxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldDpvbmx5LWNoaWxkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24tY29sb3IsIGluaGVyaXQpO1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItYmctY29sb3IsIHJnYmEoMCwgMCwgMCwgMC4yNSkpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIH1cbiAgLnN3aXBlci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLFxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwsXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsXG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLXNpemUsIDRweCk7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLFxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwsXG4uc3dpcGVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgICB3aWR0aDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItc2l6ZSwgNHB4KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1zY3JvbGxiYXIge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywgMTBweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJnLWNvbG9yLCByZ2JhKDAsIDAsIDAsIDAuMSkpO1xuICB9XG4gIC5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVkID4gLnN3aXBlci1zY3JvbGxiYXIsXG4uc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVkIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLnN3aXBlci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIsXG4uc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLWhvcml6b250YWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwgMSUpO1xuICAgIGJvdHRvbTogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3R0b20sIDRweCk7XG4gICAgdG9wOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXRvcCwgYXV0byk7XG4gICAgei1pbmRleDogNTA7XG4gICAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpemUsIDRweCk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIgKiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwgMSUpKTtcbiAgfVxuICAuc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLXZlcnRpY2FsLFxuLnN3aXBlci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1sZWZ0LCBhdXRvKTtcbiAgICByaWdodDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1yaWdodCwgNHB4KTtcbiAgICB0b3A6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LCAxJSk7XG4gICAgei1pbmRleDogNTA7XG4gICAgd2lkdGg6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2l6ZSwgNHB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIgKiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwgMSUpKTtcbiAgfVxuICAuc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItZHJhZy1iZy1jb2xvciwgcmdiYSgwLCAwLCAwLCAwLjUpKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJvcmRlci1yYWRpdXMsIDEwcHgpO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG4gIC5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFnIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cbiAgLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzLFxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZyxcbi5zd2lwZXItem9vbS1jb250YWluZXIgPiBzdmcge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gIH1cbiAgLnN3aXBlci1zbGlkZS16b29tZWQge1xuICAgIGN1cnNvcjogbW92ZTtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIH1cbiAgLnN3aXBlciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgei1pbmRleDogLTEwMDA7XG4gIH1cbiAgLnN3aXBlci1mcmVlLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuc3dpcGVyLWdyaWQgPiAuc3dpcGVyLXdyYXBwZXIge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuc3dpcGVyLWdyaWQtY29sdW1uID4gLnN3aXBlci13cmFwcGVyIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuc3dpcGVyLWZhZGUuc3dpcGVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlIHtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cbiAgLnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cbiAgLnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICAuc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG4gIC5zd2lwZXIuc3dpcGVyLWN1YmUge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAuc3dpcGVyLWN1YmUuc3dpcGVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIH1cbiAgLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsXG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LFxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAuc3dpcGVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICB6LWluZGV4OiAwO1xuICB9XG4gIC5zd2lwZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB9XG4gIC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG4gIC5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1jdWJlLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1jdWJlLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgICB6LWluZGV4OiAwO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuICAuc3dpcGVyLnN3aXBlci1mbGlwIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuICAuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuICAuc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSxcbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1mbGlwLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCxcbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1mbGlwLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsXG4uc3dpcGVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctZmxpcC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gICAgei1pbmRleDogMDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbiAgLnN3aXBlci1jcmVhdGl2ZSAuc3dpcGVyLXNsaWRlIHtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIGhlaWdodDtcbiAgfVxuICAuc3dpcGVyLnN3aXBlci1jYXJkcyB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cbiAgLnN3aXBlci1jYXJkcyAuc3dpcGVyLXNsaWRlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5AbGF5ZXIgdW5pcSB7XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUTo6YmVmb3JlIHtcbiAgICAgIHRyYW5zbGF0ZTogMCBtaW4oM3B4LCBjYWxjKDMgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3BhZ2V0aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9wYWdldGl0bGUgKyAqIHtcbiAgICBtYXJnaW4tdG9wOiB1bnNldCAhaW1wb3J0YW50O1xuICB9XG4gIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzLCAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLW5CcmVhZGNydW1icy1wYWRkaW5nLWJvdHRvbS1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg5NiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5icmVhZGNydW1icywgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtcGFkZGluZy1ib3R0b20tcGMpICogMXB4KSwgY2FsYyh2YXIoLS1uQnJlYWRjcnVtYnMtcGFkZGluZy1ib3R0b20tcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMTQ0cHgsIGNhbGMoMTQ0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzIC5pbm5lciwgLmJyZWFkY3J1bWJzLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWNvbnRhaW5lci1wYWRkaW5nLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2aWdhdGlvbi5icmVhZGNydW1icyAuaW5uZXIsIC5icmVhZGNydW1icy5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTI0MHB4LCBjYWxjKDEyNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLmNvbXBvbmVudC50eXBlX3BhbmVsLnNldDMgLmlubmVyOmhhcyguYnV0dG9uKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuY29tcG9uZW50LnR5cGVfcGFuZWwuc2V0MyAuaW5uZXI6aGFzKC5idXR0b24pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICB9XG4gIC5jb21wb25lbnQudHlwZV9wYW5lbC5zZXQ0IC5pbm5lcjpoYXMoLmJ1dHRvbikge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbXBvbmVudC50eXBlX3BhbmVsLnNldDQgLmlubmVyOmhhcyguYnV0dG9uKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIH1cbiAgfVxuICAucFBhbmVsOmhhcyguYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmc6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dykgY2FsYygxNiAvIDM5MCAqIDEwMHZ3KSBjYWxjKDI0IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUGFuZWw6aGFzKC5idXR0b24pIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZzogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKSBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpIG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wUGFuZWw6aGFzKC5idXR0b24pIC5wQnV0dG9uOm5vdCguc21hbGwpOm5vdCgubGFyZ2UpIHtcbiAgICBtaW4td2lkdGg6IGNhbGMoMTIwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUGFuZWw6aGFzKC5idXR0b24pIC5wQnV0dG9uOm5vdCguc21hbGwpOm5vdCgubGFyZ2UpIHtcbiAgICAgIG1pbi13aWR0aDogbWluKDE2MnB4LCBjYWxjKDE2MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFBhbmVsOmhhcyguYnV0dG9uKSAucEhlYWRpbmdNZWRpdW0ge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gIH1cbiAgLnBQYW5lbDpoYXMoLmJ1dHRvbikgLnBCdXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IHVuc2V0O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9wYW5lbC5zZXQzIC5wUGFuZWw6aGFzKC5idXR0b24pLFxuLmNvbXBvbmVudC50eXBlX3BhbmVsLnNldDQgLnBQYW5lbDpoYXMoLmJ1dHRvbikge1xuICAgICAgcGFkZGluZzogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKSBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpIG1pbigyNHB4LCBjYWxjKDI0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLmxvY2FsbmF2dG9wLCAubG9jYWxuYXZ0b3AuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmlnYXRpb24ubG9jYWxuYXZ0b3AsIC5sb2NhbG5hdnRvcC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbiAgLm5hdmlnYXRpb24ubG9jYWxuYXZfYm90dG9tLCAubG9jYWxuYXZfYm90dG9tLmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9maWxlbGlzdCAuaW5uZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIH1cbiAgLnBOZXdzQ2F0ZWdvcnkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfY2F0Y2hjb3B5X2ltYWdlIC5pbm5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuY29tcG9uZW50LnR5cGVfdGV4dF9tYXAgLmlubmVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5jb21wb25lbnQudHlwZV90ZXh0X21hcCAuaW5uZXIgLnRleHQge1xuICAgIGFsaWduLXNlbGY6IHVuc2V0O1xuICB9XG4gIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlICsgKiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTIpIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb21wb25lbnQudHlwZV9leHRlbmRlZHRpdGxlICsgKiB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTMpICogMXB4KSwgY2FsYyh2YXIoLS1tYXJnaW4tdG9wLTMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50b3BfbmV3c19idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC50b3BfbmV3c19idXR0b24gLnBCdXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIC50b3AgbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IHVuc2V0O1xuICB9XG4gIGJvZHk6aGFzKCN0b3BTbGlkZXIpIG1haW4ge1xuICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgfVxuICBib2R5OmhhcygjdG9wU2xpZGVyKSBoZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIGJvZHk6aGFzKCN0b3BTbGlkZXIpLmlzLXNjcm9sbC10b3BwYWdlIGhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdHJvbmcpO1xuICB9XG4gIGJvZHk6aGFzKCN0b3BTbGlkZXIpOm5vdCguaXMtc2Nyb2xsLXRvcHBhZ2UpIGhlYWRlciAuaW5uZXI6bm90KDpoYXMoI2duYXYuc2hvdykpICNsb2dvIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICB9XG4gIGJvZHk6aGFzKCN0b3BTbGlkZXIpOm5vdCguaXMtc2Nyb2xsLXRvcHBhZ2UpIGhlYWRlciAuaW5uZXI6bm90KDpoYXMoI2duYXYuc2hvdykpICNtZW51QnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gIH1cbiAgYm9keTpoYXMoI3RvcFNsaWRlcik6bm90KC5pcy1zY3JvbGwtdG9wcGFnZSkgaGVhZGVyIC5pbm5lcjpub3QoOmhhcygjZ25hdi5zaG93KSkgI21lbnVCdXR0b24gLmxpbmVzIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5OmhhcygjdG9wU2xpZGVyKTpub3QoLmlzLXNjcm9sbC10b3BwYWdlKSBoZWFkZXIgLmlubmVyOm5vdCg6aGFzKCNnbmF2LnNob3cpKSAjZ25hdiAuZ25hdmlubmVyIC5tYWluIGxpIGE6bm90KC5jb250YWN0KSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGJvZHk6aGFzKCN0b3BTbGlkZXIpOm5vdCguaXMtc2Nyb2xsLXRvcHBhZ2UpIGhlYWRlciAuaW5uZXI6bm90KDpoYXMoI2duYXYuc2hvdykpICNsYW5nIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgYm9keTpoYXMoI3RvcFNsaWRlcik6bm90KC5pcy1zY3JvbGwtdG9wcGFnZSkgaGVhZGVyIC5pbm5lcjpub3QoOmhhcygjZ25hdi5zaG93KSkgI2xhbmcgbGk6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5OmhhcygjdG9wU2xpZGVyKTpub3QoLmlzLXNjcm9sbC10b3BwYWdlKSBoZWFkZXIgLmlubmVyOm5vdCg6aGFzKCNnbmF2LnNob3cpKSAjbGFuZyBsaSBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIH1cbiAgICBib2R5OmhhcygjdG9wU2xpZGVyKTpub3QoLmlzLXNjcm9sbC10b3BwYWdlKSBoZWFkZXIgLmlubmVyOm5vdCg6aGFzKCNnbmF2LnNob3cpKSAjbGFuZyBsaSBhLmlzLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgfVxuICB9XG4gIGJvZHk6aGFzKCN0b3BTbGlkZXIpIC5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzLCBib2R5OmhhcygjdG9wU2xpZGVyKSAuYnJlYWRjcnVtYnMuY29tcG9uZW50LnR5cGVfcGFnZWxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgYm9keTpoYXMoI3RvcFNsaWRlcikgZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDEyMCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBib2R5OmhhcygjdG9wU2xpZGVyKSBmb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDEyMHB4LCBjYWxjKDEyMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyg4NCAvIDM5MCAqIDEwMHZ3KSBjYWxjKDQwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIge1xuICAgICAgcGFkZGluZy1ibG9jazogbWluKDMwcHgsIGNhbGMoMzAgLyAxNDQwICogMTAwdncpKSBtaW4oMzBweCwgY2FsYygzMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgyODI4MjtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBjYWxjKDk2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXI6OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBtaW4oOTZweCwgY2FsYyg5NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDUzIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnN3aXBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogbWluKDI2cHgsIGNhbGMoMjYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItc2xpZGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItc2xpZGUge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIHtcbiAgICAgIHdpZHRoOiBtaW4oMTIyMHB4LCBjYWxjKDEyMjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiBtaW4oMTAwcHgsIGNhbGMoMTAwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBwYWRkaW5nLWlubGluZTogbWluKDM2cHgsIGNhbGMoMzYgLyAxNDQwICogMTAwdncpKSBtaW4oNDBweCwgY2FsYyg0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgcGFkZGluZy10b3A6IG1pbig3NHB4LCBjYWxjKDc0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAuaW1hZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYygzMiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLmltYWdlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICB3aWR0aDogbWluKDYwMHB4LCBjYWxjKDYwMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAuaW1hZ2UgaW1nIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKDggLyAzOTAgKiAxMDB2dykgMCAwIGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3gtc2hhZG93OiBjYWxjKDE2IC8gMzkwICogMTAwdncpIGNhbGMoMTYgLyAzOTAgKiAxMDB2dykgY2FsYygxNiAvIDM5MCAqIDEwMHZ3KSAwIHJnYmEoMCwgMCwgMCwgMC4yNCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC5pbWFnZSBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKDhweCwgY2FsYyg4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBib3gtc2hhZG93OiBtaW4oMTRweCwgY2FsYygxNCAvIDE0NDAgKiAxMDB2dykpIG1pbigxNHB4LCBjYWxjKDE0IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDEwcHgsIGNhbGMoMTAgLyAxNDQwICogMTAwdncpKSAwIHJnYmEoMCwgMCwgMCwgMC4yNCk7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAudGV4dCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygtMjAgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAudGV4dCB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC50ZXh0IC50aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1lbik7XG4gICAgZm9udC1zaXplOiBjYWxjKDQwIC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAudGV4dCAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiBtaW4oNzJweCwgY2FsYyg3MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLnRleHQgLnBhZ2VzIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgbWFyZ2luLXRvcDogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nOiBjYWxjKDQgLyAzOTAgKiAxMDB2dykgY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgZm9udC1zaXplOiBjYWxjKHZhcigtLWZzLXhzKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjQ4cHg7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItc2xpZGUgLmlubmVyIC50ZXh0IC5wYWdlcyB7XG4gICAgICBtYXJnaW4tdG9wOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmc6IG1pbig0cHgsIGNhbGMoNCAvIDE0NDAgKiAxMDB2dykpIG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLnRleHQgLmxlYWQge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBsaW5lLWhlaWdodDogMTg1LjcxNCU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNTZweDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1zbGlkZSAuaW5uZXIgLnRleHQgLmxlYWQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtcykgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAudGV4dCAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDE2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAudGV4dCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAuYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGhlaWdodDogY2FsYygyNzQgLyAzOTAgKiAxMDB2dyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIGNhbGMoMjc0IC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLXNsaWRlIC5pbm5lciAuYmFja2dyb3VuZCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBoZWlnaHQ6IG1pbig1MDBweCwgY2FsYyg1MDAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB9XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5uYXZpZ2F0aW9ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBjYWxjKDE3IC8gMzkwICogMTAwdncpO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFNsaWRlciAuc3dpcGVyIC5uYXZpZ2F0aW9ucyB7XG4gICAgICB3aWR0aDogbWluKDExNDRweCwgY2FsYygxMTQ0IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5uYXZpZ2F0aW9ucyAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFNsaWRlciAuc3dpcGVyIC5uYXZpZ2F0aW9ucyAuc3dpcGVyLXBhZ2luYXRpb24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBnYXA6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHdpZHRoOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gICAgaGVpZ2h0OiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gICAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnN3aXBlciAubmF2aWdhdGlvbnMgLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgICAgd2lkdGg6IG1pbig4cHgsIGNhbGMoOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgaGVpZ2h0OiBtaW4oOHB4LCBjYWxjKDggLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5uYXZpZ2F0aW9ucyAuc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQsICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1uZXh0LCAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zbGF0ZTogMCAtNTAlO1xuICAgICAgd2lkdGg6IG1pbig0OHB4LCBjYWxjKDQ4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICBoZWlnaHQ6IG1pbig0OHB4LCBjYWxjKDQ4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cbiAgICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dDpob3ZlciwgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dDo6YWZ0ZXIsICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2OjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dDo6YmVmb3JlLCAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbmV4dC5zdmcpO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQ6OmJlZm9yZSwgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXY6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGhlaWdodDogbWluKDI0cHgsIGNhbGMoMjQgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQ6bm90KC5zd2lwZXItYnV0dG9uLWRpc2FibGVkKSwgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXY6bm90KC5zd2lwZXItYnV0dG9uLWRpc2FibGVkKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkLCAjdG9wU2xpZGVyIC5zd2lwZXIgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnN3aXBlciAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zbGF0ZTogbWF4KC02NjhweCwgY2FsYygtNjY4IC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLXByZXY6OmJlZm9yZSB7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19wcmV2LnN2Zyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI3RvcFNsaWRlciAuc3dpcGVyIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgcmlnaHQ6IDUwJTtcbiAgICAgIHRyYW5zbGF0ZTogbWF4KDYxOHB4LCBjYWxjKDYxOCAvIDE0NDAgKiAxMDB2dykpIDA7XG4gICAgfVxuICB9XG4gICN0b3BTbGlkZXIgLnJlcXVpcmVtZW50cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogY2FsYyg5MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC4yNCkpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICN0b3BTbGlkZXIgLnJlcXVpcmVtZW50cyB7XG4gICAgICBib3R0b206IG1pbigxNjBweCwgY2FsYygxNjAgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyIC5yZXF1aXJlbWVudHMgaW1nIHtcbiAgICB3aWR0aDogY2FsYyg0MCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wU2xpZGVyIC5yZXF1aXJlbWVudHMgaW1nIHtcbiAgICAgIHdpZHRoOiBtaW4oNDhweCwgY2FsYyg0OCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAjdG9wU2xpZGVyICsgLmNvbXBvbmVudC50eXBlX3RleHQge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tbWFyZ2luLXRvcC0yKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjdG9wU2xpZGVyICsgLmNvbXBvbmVudC50eXBlX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogbWluKGNhbGModmFyKC0tbWFyZ2luLXRvcC0zKSAqIDFweCksIGNhbGModmFyKC0tbWFyZ2luLXRvcC0zKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBtYWluOmhhcygjdG9wU2xpZGVyKSAudHlwZV9oZWFkaW5nIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDU2IC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIG1haW46aGFzKCN0b3BTbGlkZXIpIC50eXBlX2hlYWRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDk2cHgsIGNhbGMoOTYgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgbWFpbjpoYXMoI3RvcFNsaWRlcikgLnR5cGVfaGVhZGluZyAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgbWFpbjpoYXMoI3RvcFNsaWRlcikgLnR5cGVfaGVhZGluZyAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTI0MHB4LCBjYWxjKDEyNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgLnR5cGVfY2F0Y2hjb3B5X2ltYWdlLnRvcHBhZ2Uge1xuICAgIG1hcmdpbi10b3A6IGNhbGMoODAgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnR5cGVfY2F0Y2hjb3B5X2ltYWdlLnRvcHBhZ2Uge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDExMHB4LCBjYWxjKDExMCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC50eXBlX2NhdGNoY29weV9pbWFnZS50b3BwYWdlICsgLnR5cGVfaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg1NiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9jYXRjaGNvcHlfaW1hZ2UudG9wcGFnZSArIC50eXBlX2hlYWRpbmcge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDk2cHgsIGNhbGMoOTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAudHlwZV9jYXRjaGNvcHlfaW1hZ2UudG9wcGFnZSArIC50eXBlX2hlYWRpbmcgLmlubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg1NiAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2NhdGNoY29weV9pbWFnZS50b3BwYWdlICsgLnR5cGVfaGVhZGluZyAuaW5uZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIHdpZHRoOiBtaW4oMTI0MHB4LCBjYWxjKDEyNDAgLyAxNDQwICogMTAwdncpKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnR5cGVfY2F0Y2hjb3B5X2ltYWdlLnRvcHBhZ2UgKyAudHlwZV9oZWFkaW5nIC5pbm5lciB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oOTZweCwgY2FsYyg5NiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9jYXRjaGNvcHlfaW1hZ2UudG9wcGFnZSAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCIuIHRleHQgaW1hZ2UgaW1hZ2VcIiBhdXRvLzFmciBtaW4oNTcwcHgsIGNhbGMoNTcwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDY3MHB4LCBjYWxjKDY3MCAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnR5cGVfY2F0Y2hjb3B5X2ltYWdlLnRvcHBhZ2UgLmlubmVyLnJldmVyc2Uge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTogXCJpbWFnZSBpbWFnZSB0ZXh0IC5cIiBhdXRvLzFmciBtaW4oNjcwcHgsIGNhbGMoNjcwIC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDU3MHB4LCBjYWxjKDU3MCAvIDE0NDAgKiAxMDB2dykpIDFmcjtcbiAgICB9XG4gIH1cbiAgLnR5cGVfY2F0Y2hjb3B5X2ltYWdlLnRvcHBhZ2UgLmlubmVyLnJldmVyc2UgLmltYWdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2NhdGNoY29weV9pbWFnZS50b3BwYWdlIC5pbm5lci5yZXZlcnNlIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9jYXRjaGNvcHlfaW1hZ2UudG9wcGFnZSAuaW5uZXIucmV2ZXJzZSAuaW1hZ2UgLnBJbWFnZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIG1pbihjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1wYykgKiAxcHgpLCBjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1wYykgLyAxNDQwICogMTAwdncpKSBtaW4oY2FsYyh2YXIoLS1wSW1hZ2UtYm9yZGVyLXJhZGl1cy1tZWRpdW0tcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wSW1hZ2UtYm9yZGVyLXJhZGl1cy1tZWRpdW0tcGMpIC8gMTQ0MCAqIDEwMHZ3KSkgMDtcbiAgICB9XG4gIH1cbiAgLnR5cGVfY2F0Y2hjb3B5X2ltYWdlLnRvcHBhZ2UgLmlubmVyIC5pbWFnZSB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnR5cGVfY2F0Y2hjb3B5X2ltYWdlLnRvcHBhZ2UgLmlubmVyIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnR5cGVfY2F0Y2hjb3B5X2ltYWdlLnRvcHBhZ2UgLmlubmVyIC5pbWFnZSAucEltYWdlIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBJbWFnZS1ib3JkZXItcmFkaXVzLXNtYWxsLXNwKSAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9jYXRjaGNvcHlfaW1hZ2UudG9wcGFnZSAuaW5uZXIgLmltYWdlIC5wSW1hZ2Uge1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tcEltYWdlLWJvcmRlci1yYWRpdXMtbWVkaXVtLXBjKSAqIDFweCksIGNhbGModmFyKC0tcEltYWdlLWJvcmRlci1yYWRpdXMtbWVkaXVtLXBjKSAvIDE0NDAgKiAxMDB2dykpIDAgMCBtaW4oY2FsYyh2YXIoLS1wSW1hZ2UtYm9yZGVyLXJhZGl1cy1tZWRpdW0tcGMpICogMXB4KSwgY2FsYyh2YXIoLS1wSW1hZ2UtYm9yZGVyLXJhZGl1cy1tZWRpdW0tcGMpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2NhdGNoY29weV9pbWFnZS50b3BwYWdlIC5pbm5lciAudGV4dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBtaW4oNzRweCwgY2FsYyg3NCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAudHlwZV9jYXRjaGNvcHlfaW1hZ2UudG9wcGFnZSAuaW5uZXIgLnRleHQgaDEge1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy14eGwpIC8gMzkwICogMTAwdncpO1xuICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjA0cHg7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9jYXRjaGNvcHlfaW1hZ2UudG9wcGFnZSAuaW5uZXIgLnRleHQgaDEge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHh4bCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLXh4eHhsKSAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9jYXRjaGNvcHlfaW1hZ2UudG9wcGFnZSAuaW5uZXIgLnRleHQgLnBUZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogbWluKGNhbGModmFyKC0tZnMtbCkgKiAxcHgpLCBjYWxjKHZhcigtLWZzLWwpIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC50eXBlX2NhdGNoY29weV9pbWFnZS50b3BwYWdlIC5pbm5lciAudGV4dCAuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKDYwIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50eXBlX2NhdGNoY29weV9pbWFnZS50b3BwYWdlIC5pbm5lciAudGV4dCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxuICAudHlwZV9jYXRjaGNvcHlfaW1hZ2UudG9wcGFnZSAuaW5uZXIgLnRleHQgLmJ1dHRvbiBhIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudHlwZV9jYXRjaGNvcHlfaW1hZ2UudG9wcGFnZSAuaW5uZXIgLnRleHQgLmJ1dHRvbiBhIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnRvcF9wYW5lbCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wX3BhbmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig0OHB4LCBjYWxjKDQ4IC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BfcGFuZWwuc2V0MSAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnRvcF9wYW5lbC5zZXQyIC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wX3BhbmVsLnNldDMgLmlubmVyIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50b3BfcGFuZWwuc2V0NCAuaW5uZXIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICB9XG4gIH1cbiAgLnRvcF9wYW5lbCAuaW5uZXIge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1jb250YWluZXItcGFkZGluZy1zcCkgLyAzOTAgKiAxMDB2dyk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIGdhcDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wX3BhbmVsIC5pbm5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjQwcHgsIGNhbGMoMTI0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wX3BhbmVsIC5pbm5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ2FwOiBtaW4oNDhweCwgY2FsYyg0OCAvIDE0NDAgKiAxMDB2dykpIG1pbigzMnB4LCBjYWxjKDMyIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5wUGFuZWxUb3Age1xuICAgIHBhZGRpbmc6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dykgY2FsYygxNiAvIDM5MCAqIDEwMHZ3KSBjYWxjKDQwIC8gMzkwICogMTAwdncpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pIC8gMzkwICogMTAwdncpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IGNhbGMoOCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFBhbmVsVG9wIHtcbiAgICAgIHBhZGRpbmc6IG1pbigxNnB4LCBjYWxjKDE2IC8gMTQ0MCAqIDEwMHZ3KSkgbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKSBtaW4oNDhweCwgY2FsYyg0OCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgYm9yZGVyLXJhZGl1czogbWluKGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pICogMXB4KSwgY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGdhcDogbWluKDE2cHgsIGNhbGMoMTYgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHN1YmdyaWQ7XG4gICAgICBncmlkLXJvdzogc3BhbiA0O1xuICAgIH1cbiAgfVxuICAucFBhbmVsVG9wIC50aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGMoMTYgLyAzOTAgKiAxMDB2dyk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wUGFuZWxUb3AgLnRpdGxlIHtcbiAgICAgIHBhZGRpbmctdG9wOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFBhbmVsVG9wIC50aXRsZSBoMyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLCAjODQ0N0FGKTtcbiAgICBmb250LXNpemU6IGNhbGMoMjggLyAzOTAgKiAxMDB2dyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiA5Mi44NTclO1xuICAgIGxldHRlci1zcGFjaW5nOiA0JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyg4IC8gMzkwICogMTAwdncpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1lbik7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBQYW5lbFRvcCAudGl0bGUgaDMge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy14eHhsKSAqIDFweCksIGNhbGModmFyKC0tZnMteHh4bCkgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBQYW5lbFRvcCAudGl0bGUgaDMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBzb2xpZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDYlO1xuICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAyJTtcbiAgICAgIHRleHQtdW5kZXJsaW5lLXBvc2l0aW9uOiBmcm9tLWZvbnQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCBhbmQgKGFueS1ob3ZlcjogaG92ZXIpLCBzY3JlZW4gYW5kIChhbnktaG92ZXI6IGhvdmVyKSBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFBhbmVsVG9wIC50aXRsZSBoMyBhOmhvdmVyIHtcbiAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMTYlO1xuICAgIH1cbiAgfVxuICAucFBhbmVsVG9wIC5kZXNjIHtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYygxNiAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucFBhbmVsVG9wIC5kZXNjIHtcbiAgICAgIHBhZGRpbmctaW5saW5lOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFBhbmVsVG9wIC5kZXNjIC5zdWJ0aXRsZSB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktd2Vhayk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogY2FsYyh2YXIoLS1mcy1zKSAvIDM5MCAqIDEwMHZ3KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxODUuNzE0JTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC41NnB4O1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBQYW5lbFRvcCAuZGVzYyAuc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiBtaW4oY2FsYyh2YXIoLS1mcy1zKSAqIDFweCksIGNhbGModmFyKC0tZnMtcykgLyAxNDQwICogMTAwdncpKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBtaW4oMTZweCwgY2FsYygxNiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICAucFBhbmVsVG9wIC5idXR0b24ge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDggLyAzOTAgKiAxMDB2dyk7XG4gIH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLnBQYW5lbFRvcCAuYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLnBQYW5lbFRvcCAuYnV0dG9uIC5wQnV0dG9uIHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIC5uZXdzV3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyg4MCAvIDM5MCAqIDEwMHZ3KTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tY29udGFpbmVyLXBhZGRpbmctc3ApIC8gMzkwICogMTAwdncpO1xuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uZXdzV3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgd2lkdGg6IG1pbigxMjQwcHgsIGNhbGMoMTI0MCAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmV3c1dyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogbWluKDE5MnB4LCBjYWxjKDE5MiAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1pbigxMDI4cHgsIGNhbGMoMTAyOCAvIDE0NDAgKiAxMDB2dykpO1xuICAgICAgZ2FwOiBtaW4oMzJweCwgY2FsYygzMiAvIDE0NDAgKiAxMDB2dykpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmV3c1dyYXBwZXIgLm5ld3NUaXRsZSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uZXdzV3JhcHBlciAubmF2aWdhdGlvbi5uZXdzbGlzdCwgLm5ld3NXcmFwcGVyIC5uZXdzbGlzdC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLm5ld3NXcmFwcGVyIC5uYXZpZ2F0aW9uLm5ld3NsaXN0IC5pbm5lciwgLm5ld3NXcmFwcGVyIC5uZXdzbGlzdC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuaW5uZXIge1xuICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmV3c1dyYXBwZXIgLm5hdmlnYXRpb24ubmV3c2xpc3QgLmlubmVyLCAubmV3c1dyYXBwZXIgLm5ld3NsaXN0LmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5pbm5lciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbiAgLm5ld3NXcmFwcGVyIC5uYXZpZ2F0aW9uLm5ld3NsaXN0IC5idXR0b24sIC5uZXdzV3JhcHBlciAubmV3c2xpc3QuY29tcG9uZW50LnR5cGVfcGFnZWxpc3QgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogY2FsYygyNCAvIDM5MCAqIDEwMHZ3KTtcbiAgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmV3c1dyYXBwZXIgLm5hdmlnYXRpb24ubmV3c2xpc3QgLmJ1dHRvbiwgLm5ld3NXcmFwcGVyIC5uZXdzbGlzdC5jb21wb25lbnQudHlwZV9wYWdlbGlzdCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IG1pbig0MHB4LCBjYWxjKDQwIC8gMTQ0MCAqIDEwMHZ3KSk7XG4gICAgfVxuICB9XG4gIC5uZXdzV3JhcHBlciAubmF2aWdhdGlvbi5uZXdzbGlzdCAuYnV0dG9uIC5wQnV0dG9uLCAubmV3c1dyYXBwZXIgLm5ld3NsaXN0LmNvbXBvbmVudC50eXBlX3BhZ2VsaXN0IC5idXR0b24gLnBCdXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wTmV3c1NldDpob3ZlciAudGl0bGUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICAucExvY2FsbmF2Qm90dG9tIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICB9XG4gIC5wTG9jYWxuYXZCb3R0b20uaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wTG9jYWxuYXZCb3R0b206aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICB9XG4gIH1cbiAgLnBBdHRhY2htZW50IGEge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyB2YXIoLS1iZXppZXIpO1xuICB9XG4gIC5wQXR0YWNobWVudCBhOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbiAgLnBUZXh0IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgIC5wVGV4dCBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgLnBGYXEge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgfVxuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAucEZhcTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgLnBBcnRpY2xlTmF2OmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuOnJvb3Qge1xuICAtLXRyYW5zaXRpb24tc3BlZWQtc2xvdzogMC41cztcbiAgLS10cmFuc2l0aW9uLXNwZWVkOiAwLjNzO1xuICAtLXRyYW5zaXRpb24tc3BlZWQtZmFzdDogMC4ycztcbiAgLS1iZXppZXI6IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG59XG5AbGF5ZXIgcmVzZXQsIGJhc2UsIHBhcnRzLCBjb21wb25lbnRzLCB1bmlxO1xuXG5AbGF5ZXIgcmVzZXQge1xuICBAaW1wb3J0IFwicmVzZXRcIjtcbn1cblxuQGxheWVyIGJhc2Uge1xuICAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gICo6YmVmb3JlLFxuICAqOmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG4gICo6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgaHRtbCB7XG4gICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgIH1cbiAgfVxuICBib2R5IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdHJvbmcpO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogdmFyKC0tZm9udC1mZWF0dXJlLXNldHRpbmdzKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktamEpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1vcHRpY2FsLXNpemluZzogYXV0bztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6IFxuICAgIFwiaGVhZGVyXCIgYXV0b1xuICAgIFwibWFpblwiIGF1dG9cbiAgICBcImZvb3RlclwiIDFmclxuICAgIC8gMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1sKTtcbiAgICB9XG4gICAgJi5pcy1maXhlZCwgJi5maXhlZCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIGxhYmVsIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAmW2hyZWZePVwidGVsOlwiXSB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gIH1cbiAgYWJiciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB9XG4gIGJyIHtcbiAgICAmLnNwLW9ubHkge1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYucGMtb25seSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgOndoZXJlKGJ1dHRvbiwgW3R5cGU9J2J1dHRvbiddLCBbdHlwZT0ncmVzZXQnXSwgW3R5cGU9J3N1Ym1pdCddKSB7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cbiAgOndoZXJlKFxuICAgICAgOmFueS1saW5rLFxuICAgICAgYnV0dG9uLFxuICAgICAgW3R5cGU9J2J1dHRvbiddLFxuICAgICAgW3R5cGU9J3Jlc2V0J10sXG4gICAgICBbdHlwZT0nc3VibWl0J10sXG4gICAgICBsYWJlbFtmb3JdLFxuICAgICAgc2VsZWN0LFxuICAgICAgc3VtbWFyeSxcbiAgICAgIFtyb2xlPSd0YWInXSxcbiAgICAgIFtyb2xlPSdidXR0b24nXVxuICAgICkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuICA6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuICBzdXAsXG4gIHN1YiB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gIH1cbiAgc3VwIHtcbiAgICBib3R0b206IC43NWV4O1xuICB9XG4gIHN1YiB7XG4gICAgdG9wOiAuNWV4O1xuICB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICB9XG4gIC5zdmdfZGVmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIHN2ZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIHByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB9XG4gIGh0bWwubGVuaXMsXG4gIGh0bWwubGVuaXMgYm9keSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5sZW5pcy5sZW5pcy1zbW9vdGgge1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICB9XG4gIC5sZW5pcy5sZW5pcy1zbW9vdGggW2RhdGEtbGVuaXMtcHJldmVudF0ge1xuICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47XG4gIH1cbiAgLmxlbmlzLmxlbmlzLXN0b3BwZWQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLmxlbmlzLmxlbmlzLXNjcm9sbGluZyBpZnJhbWUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIGh0bWwuaXMtY2hhbmdpbmcgLnRyYW5zaXRpb24tZmFkZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXM7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIGh0bWwuaXMtYW5pbWF0aW5nIC50cmFuc2l0aW9uLWZhZGUge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgLmhpZGRlbi1zcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBkaXNwbGF5OiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmhpZGRlbi1wY3tcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAuaGlkZGVuLW92ZXItdGJsIHtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5oaWRkZW4tb3Zlci10YiB7XG4gICAgQGluY2x1ZGUgbXEodGIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC5oaWRkZW4tb3Zlci1zcCB7XG4gICAgQGluY2x1ZGUgbXEoc3ApIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogLTFweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICB9XG4gIG1haW4ge1xuICAgIG92ZXJmbG93OmNsaXA7XG4gICAgZ3JpZC1hcmVhOiBtYWluO1xuICAgIHBhZGRpbmctdG9wOiB2dyg2MHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwYygxMDBweCk7XG4gICAgfVxuICAgIC8qXG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAmOmhhcygubGVmdEFyZWEpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICBcImxlZnQgY29udGVudFwiIGF1dG9cbiAgICAgICAgICAvIGF1dG8gcGMoNzQ1cHgpO1xuICAgICAgICB3aWR0aDogcGMoMTE0M3B4KTtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgLmxlZnRBcmVhIHtcbiAgICAgICAgICBncmlkLWFyZWE6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRlbnRBcmVhIHtcbiAgICAgICAgICBncmlkLWFyZWE6IGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgKi9cbiAgfVxuICBAaW1wb3J0IFwiaGVhZGVyXCI7XG4gIEBpbXBvcnQgXCJmb290ZXJcIjtcbn1cblxuQGxheWVyIHBhcnRzIHtcbiAgQGltcG9ydCBcInBhcnRzL2luZGV4XCI7XG59XG5cbkBsYXllciBjb21wb25lbnRzIHtcbiAgQGltcG9ydCBcImNvbXBvbmVudC9pbmRleFwiO1xuICBAaW1wb3J0IFwibmF2aWdhdGlvbi9pbmRleFwiO1xuICBAaW1wb3J0IFwiYXJ0aWNsZXdyYXBwZXJcIjtcbiAgQGltcG9ydCBcInN3aXBlclwiO1xufVxuXG5AbGF5ZXIgdW5pcSB7XG4gIEBpbXBvcnQgXCJ1bmlxXCI7XG4gIEBpbXBvcnQgXCJ0b3BcIjtcbiAgQGltcG9ydCBcInRyYW5zaXRpb25zXCI7XG59IiwiaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSwgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLCBiLCB1LCBpLCBjZW50ZXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LCBmb3JtLCBsYWJlbCwgbGVnZW5kLCB0YWJsZSwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHIsIHRoLCB0ZCwgYXJ0aWNsZSwgYXNpZGUsIGNhbnZhcywgZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbiwgZm9vdGVyLCBoZWFkZXIsIGhncm91cCwgbWVudSwgbmF2LCBvdXRwdXQsIHJ1YnksIHNlY3Rpb24sIHN1bW1hcnksIHRpbWUsIG1hcmssIGF1ZGlvLCB2aWRlbyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBmb250OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMTtcbn1cbm9sLCB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuY2FwdGlvbiwgdGgsIHRkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbnEsIGJsb2NrcXVvdGUge1xuICBxdW90ZXM6IG5vbmU7XG59XG5xOmJlZm9yZSwgcTphZnRlciwgYmxvY2txdW90ZTpiZWZvcmUsIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBjb250ZW50OiBub25lO1xufVxuYSBpbWcge1xuICBib3JkZXI6IG5vbmU7XG59XG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIHNlY3Rpb24sIHN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIlxuJGJyZWFrcG9pbnRzOiAoXG4gICdtaW4nOiAncHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzc0cHgpJyxcbiAgJ3NwJzogJ3ByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM3NXB4KScsXG4gICdzcGwnOiAncHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIGFuZCAob3JpZW50YXRpb246bGFuZHNjYXBlKScsXG4gICd0Yic6ICdwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCknLFxuICAndGJsJzogJ3ByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwODBweCknLFxuICAncGMnOiAncHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTQ0MHB4KScsXG4gICdwY2xhcmdlJzogJ3ByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE5MjBweCknLFxuKSAhZGVmYXVsdDtcblxuQG1peGluIG1xKCRicmVha3BvaW50OiB0Yikge1xuICBAbWVkaWEgI3ttYXAtZ2V0KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbkBmdW5jdGlvbiBpcy1jc3MtdmFyKCR2YWx1ZSkge1xuICAkZmlyc3QtY2hhcnM6IHN0ci1zbGljZSgjeyR2YWx1ZX0sIDEsIDIpO1xuICBAcmV0dXJuICRmaXJzdC1jaGFycyA9PSAnLS0nIG9yIHN0ci1pbmRleCgjeyR2YWx1ZX0sICd2YXIoLS0nKSAhPSBudWxsO1xufVxuQG1peGluIHBkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWl4aW4gaG92ZXJPcCgkb3A6MC42NSkge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4zcyB2YXIoLS1iZXppZXIpO1xuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6ICRvcDtcbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBob3ZlckNvbG9yKCRjb2xvcikge1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAaWYgaXMtY3NzLXZhcigkY29sb3IpIHtcbiAgICAgICAgQGlmIHN0ci1pbmRleCgjeyRjb2xvcn0sICd2YXIoJykgIT0gbnVsbCB7XG4gICAgICAgICAgY29sb3I6ICN7JGNvbG9yfTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgY29sb3I6IHZhcigjeyRjb2xvcn0pO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbkBtaXhpbiBjb250YWluZXIoJHdpZHRoOjEwMjZweCkge1xuICBwYWRkaW5nLWxlZnQ6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICBwYWRkaW5nLXJpZ2h0OiB2dygtLWNvbnRhaW5lci1wYWRkaW5nLXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIEBpZiAkd2lkdGggPT0gd2lkZXtcbiAgICAgIHdpZHRoOiBwYygxMjQwcHgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgd2lkdGg6IHBjKCR3aWR0aCk7XG4gICAgfVxuICB9XG59XG5AbWl4aW4gcGFkZGluZ0xSIHtcbiAgcGFkZGluZy1sZWZ0OiB2dygtLWNvbnRhaW5lci1wYWRkaW5nLXNwKTtcbiAgcGFkZGluZy1yaWdodDogdncoLS1jb250YWluZXItcGFkZGluZy1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICB9XG59XG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtYmVyKSB7XG4gIEBpZiB0eXBlLW9mKCRudW1iZXIpID09ICdudW1iZXInIGFuZCBub3QgdW5pdGxlc3MoJG51bWJlcikge1xuICAgIEByZXR1cm4gJG51bWJlciAvICgkbnVtYmVyICogMCArIDEpO1xuICB9XG4gIEByZXR1cm4gJG51bWJlcjtcbn1cblxuQGZ1bmN0aW9uIHZ3KCRweCwgJGJhc2U6IDM5MHB4KSB7XG4gIEBpZiBpcy1jc3MtdmFyKCRweCkge1xuICAgIEBpZiBzdHItaW5kZXgoI3skcHh9LCAndmFyKCcpICE9IG51bGwge1xuICAgICAgQHJldHVybiBjYWxjKCN7JHB4fSAvICN7c3RyaXAtdW5pdCgkYmFzZSl9ICogMTAwdncpO1xuICAgIH1cbiAgICBAcmV0dXJuIGNhbGModmFyKCN7JHB4fSkgLyAje3N0cmlwLXVuaXQoJGJhc2UpfSAqIDEwMHZ3KTtcbiAgfVxuXG4gICR2YWx1ZTogJHB4O1xuICBAaWYgKHVuaXQoJHB4KSAhPSAncHgnKSB7XG4gICAgQHdhcm4gJ3Z3KCnjga7lvJXmlbDjgatweOS7peWkluOBruWApOOCkuaMh+WumuOBl+OBpuOCguioiOeul+OBp+OBjeOBvuOBm+OCkyc7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbiAgJHZhbHVlOiBjYWxjKCN7c3RyaXAtdW5pdCgkcHgpfSAvICN7c3RyaXAtdW5pdCgkYmFzZSl9ICogMTAwdncpO1xuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuQGZ1bmN0aW9uIHBjKCRweCwgJGJhc2U6IDE0NDBweCkge1xuICBAaWYgaXMtY3NzLXZhcigkcHgpIHtcbiAgICBAaWYgc3RyLWluZGV4KCN7JHB4fSwgJ3ZhcignKSAhPSBudWxsIHtcbiAgICAgICR2dy12YWx1ZTogY2FsYygjeyRweH0gLyAje3N0cmlwLXVuaXQoJGJhc2UpfSAqIDEwMHZ3KTtcbiAgICAgIEByZXR1cm4gbWluKGNhbGMoI3skcHh9ICogMXB4KSwgI3skdnctdmFsdWV9KTtcbiAgICB9XG4gICAgJHZ3LXZhbHVlOiBjYWxjKHZhcigjeyRweH0pIC8gI3tzdHJpcC11bml0KCRiYXNlKX0gKiAxMDB2dyk7XG4gICAgQHJldHVybiBtaW4oY2FsYyh2YXIoI3skcHh9KSAqIDFweCksICN7JHZ3LXZhbHVlfSk7XG4gIH1cblxuICAkdmFsdWU6ICRweDtcbiAgQGlmICh1bml0KCRweCkgIT0gJ3B4Jykge1xuICAgIEB3YXJuICdwYygp44Gu5byV5pWw44GrcHjku6XlpJbjga7lgKTjgpLmjIflrprjgZfjgabjgoLoqIjnrpfjgafjgY3jgb7jgZvjgpMnO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gICR2YWx1ZTogY2FsYygje3N0cmlwLXVuaXQoJHB4KX0gLyAje3N0cmlwLXVuaXQoJGJhc2UpfSAqIDEwMHZ3KTtcbiAgQHJldHVybiBtaW4oI3skcHh9LCAjeyR2YWx1ZX0pO1xufVxuXG5cbkBmdW5jdGlvbiBwY21heCgkcHgsICRiYXNlOiAxNDQwcHgpIHtcbiAgQGlmIGlzLWNzcy12YXIoJHB4KSB7XG4gICAgQGlmIHN0ci1pbmRleCgjeyRweH0sICd2YXIoJykgIT0gbnVsbCB7XG4gICAgICAkdnctdmFsdWU6IGNhbGMoI3skcHh9IC8gI3tzdHJpcC11bml0KCRiYXNlKX0gKiAxMDB2dyk7XG4gICAgICBAcmV0dXJuIG1heChjYWxjKCN7JHB4fSAqIDFweCksICN7JHZ3LXZhbHVlfSk7XG4gICAgfVxuICAgICR2dy12YWx1ZTogY2FsYyh2YXIoI3skcHh9KSAvICN7c3RyaXAtdW5pdCgkYmFzZSl9ICogMTAwdncpO1xuICAgIEByZXR1cm4gbWF4KGNhbGModmFyKCN7JHB4fSkgKiAxcHgpLCAjeyR2dy12YWx1ZX0pO1xuICB9XG5cbiAgJHZhbHVlOiAkcHg7XG4gIEBpZiAodW5pdCgkcHgpICE9ICdweCcpIHtcbiAgICBAd2FybiAncGNtYXgoKeOBruW8leaVsOOBq3B45Lul5aSW44Gu5YCk44KS5oyH5a6a44GX44Gm44KC6KiI566X44Gn44GN44G+44Gb44KTJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuICAkdmFsdWU6IGNhbGMoI3tzdHJpcC11bml0KCRweCl9IC8gI3tzdHJpcC11bml0KCRiYXNlKX0gKiAxMDB2dyk7XG4gIEByZXR1cm4gbWF4KCN7JHB4fSwgI3skdmFsdWV9KTtcbn1cblxuXG5AbWl4aW4gc3BfcGMge1xuICAmLnNwIHtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAmLnBjIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gaG92ZXJPcCgkb3A6MC43KSB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIHZhcigtLWJlemllcik7XG4gICY6aG92ZXIge1xuICAgIG9wYWNpdHk6ICRvcDtcbiAgfVxufVxuQG1peGluIGhvdmVyQ29sb3IoJGNvbG9yOnZhcigtLWNvbG9yLWJyYW5kKSkge1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3MgdmFyKC0tYmV6aWVyKTtcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gZ3JpZCgkY29scywkZ2FwLXZlcnQsJGdhcC1ob3Jpeikge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgkY29scywgMWZyKTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gIGdyaWQtZ2FwOiAkZ2FwLXZlcnQgJGdhcC1ob3Jpejtcbn1cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cbkBtaXhpbiBzZWN0aW9uIHtcbiAgbWFyZ2luLXRvcDogdncoLS1tYXJnaW4tc2VjdGlvbik7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi1zZWN0aW9uLXBjKTtcbiAgfVxufVxuQG1peGluIG1vZHVsZSB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tbWFyZ2luLW1vZHVsZSk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi1tb2R1bGUtcGMpO1xuICB9XG59XG5AbWl4aW4gcGFydHMge1xuICBtYXJnaW4tdG9wOiB2dygtLW1hcmdpbi1wYXJ0cyk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi1wYXJ0cy1wYyk7XG4gIH1cbn1cbkBtaXhpbiBoZWFkaW5nLXNtYWxsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gIGZvbnQtc2l6ZTogdncoLS1mcy1tKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmUtaGVpZ2h0LXhzbWFsbCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gIGdhcDogdncoOHB4KTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRoaXJkLXdlYWspO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgZm9udC1zaXplOiBwYygtLWZzLXhsKTtcbiAgICBnYXA6IHBjKDE2cHgpO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxbGg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvaW1hZ2VzL2ljb25faGVhZGluZy5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjFlbSk7XG4gICAgd2lkdGg6IHZ3KDEwcHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKDE2cHgpO1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBmcygkZnRzLCAkbGluOiAxNCwkbHM6MCkge1xuICAkcmVtOiBjYWxjKCRmdHMgLyAxMCk7XG4gICRsaW5TOiBjYWxjKCRsaW4gLyAkZnRzKTtcbiAgJGxzbTogY2FsYygkbHMgKiAwLjAwMSk7XG4gIGZvbnQtc2l6ZTogI3skZnRzfXB4O1xuICBmb250LXNpemU6ICN7JHJlbX1yZW07XG4gIGxpbmUtaGVpZ2h0OiAkbGluUztcbiAgbGV0dGVyLXNwYWNpbmc6ICN7JGxzbX1lbTtcbiAgXG59XG5cbkBtaXhpbiB0ZXh0KCRzaXplOm1lZGl1bSl7XG4gIEBpZiAkc2l6ZSA9PSB4eHNtYWxsIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIEBpbmNsdWRlIGZzKDEwLDE2LDUwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDEyLDE4LDUwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IHhzbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBAaW5jbHVkZSBmcygxMSwxOCw1MCk7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBAaW5jbHVkZSBmcygxMywyMSw1MCk7XG4gICAgfVxuICB9XG4gIEBpZiAkc2l6ZSA9PSBzbWFsbCB7XG4gICAgQGluY2x1ZGUgZnMoMTIsMjIsNTApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMTQsMjgsNTApO1xuICAgIH1cbiAgfVxuICBAaWYgJHNpemUgPT0gbWVkaXVtIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIEBpbmNsdWRlIGZzKDE1LDI4LDUwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDE2LDM0LDUwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IGxhcmdlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIEBpbmNsdWRlIGZzKDE2LDMwLDUwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDE4LDMyLDUwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IHhsYXJnZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBAaW5jbHVkZSBmcygxOCwzMiw1MCk7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBAaW5jbHVkZSBmcygyMCwzNCw1MCk7XG4gICAgfVxuICB9XG4gIEBpZiAkc2l6ZSA9PSBjYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBmcygxMSwxOCw1MCk7XG4gICAgY29sb3I6ICRncmF5O1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMTMsMjEsNTApO1xuICAgIH1cbiAgfVxuICBAaWYgJHNpemUgPT0gaGVhZGluZy1sYXJnZSB7XG4gICAgZm9udC1mYW1pbHk6dmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygyMCwzNCw1MCk7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBAaW5jbHVkZSBmcygzMiw1OCw1MCk7XG4gICAgfVxuICB9XG4gIEBpZiAkc2l6ZSA9PSBoZWFkaW5nLW1lZGl1bSB7XG4gICAgZm9udC1mYW1pbHk6dmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygxNywyNSwxMDApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMjYsNDYsMTAwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IGhlYWRpbmctc21hbGwge1xuICAgIGZvbnQtZmFtaWx5OnZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgQGluY2x1ZGUgZnMoMTQsMjAsMTAwKTtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDIwLDMwLDEwMCk7XG4gICAgfVxuICB9XG4gIEBpZiAkc2l6ZSA9PSBoZWFkaW5nLXhzbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6dmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygxNCwyMCwxMDApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMjAsMzAsMTAwKTtcbiAgICB9XG4gIH1cbiAgQGlmICRzaXplID09IGhlYWRpbmcteHhzbWFsbCB7XG4gICAgZm9udC1mYW1pbHk6dmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygxNCwyMCwxMDApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMjAsMzAsMTAwKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHNsaWNrZG90cygkd2lkdGg6OHB4LCRoZWlnaHQ6OHB4KSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgYnV0dG9uIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10aGlyZC13ZWFrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIHRvcG1hcmdpbigkc2l6ZTptZWRpdW0pe1xuICBtYXJnaW4tdG9wOiA0MHB4O1xuICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICB9XG4gIEBpZiAkc2l6ZSA9PSBzbWFsbCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRzaXplID09IGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHNpemUgPT0geGxhcmdlIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRzaXplID09IHh4bGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgbWFyZ2luLXRvcDogMTIwcHg7XG4gICAgfVxuICB9XG59XG5cblxuQG1peGluIGhlYWRpbmdMUCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaSB7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICAgIEBpbmNsdWRlIGZzKDE2LDIyLDUwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSBtcSh0YmwpIHtcbiAgICAgIEBpbmNsdWRlIGZzKDE4LDI1LDUwKTtcbiAgICB9XG4gIH1cbiAgaDEge1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1ib2xkKTtcbiAgICBAaW5jbHVkZSBmcygzMCwzNiw1MCk7XG4gICAgQGluY2x1ZGUgbXEodGJsKSB7XG4gICAgICBAaW5jbHVkZSBmcygzNiw0Niw1MCk7XG4gICAgfVxuICB9XG4gIHAge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgQGluY2x1ZGUgZnMoMTQsMjQsNTApO1xuICAgIEBpbmNsdWRlIG1xKHRibCkge1xuICAgICAgQGluY2x1ZGUgZnMoMTYsMzIsNTApO1xuICAgIH1cbiAgfVxufSIsbnVsbCwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbmhlYWRlciB7XG4gIGdyaWQtYXJlYTogaGVhZGVyO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKSwgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib2R5LmlzLWRvd24gJiB7XG4gICAgdHJhbnNsYXRlOiAwIC0xMjAlO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGJvZHkuaXMtZml4ZWQgJiB7XG4gICAgdHJhbnNsYXRlOiAwIC0xMjAlO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1iZXppZXIpO1xuICB9XG4gIGJvZHkuaXMtc2Nyb2xsICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtc3Ryb25nKTtcbiAgfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAuaW5uZXIge1xuICAgIHBhZGRpbmctaW5saW5lOiB2dygxOHB4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiB2dyg2MHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgaGVpZ2h0OiBwYygxMDBweCk7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBwYWRkaW5nLWlubGluZTogcGMoNDBweCk7XG4gICAgfVxuICAgICNsb2dvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IHZ3KDE3OXB4KTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNzkgLyAxNTtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvbG9nby5zdmcpO1xuICAgICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHdpZHRoOiBwYygzNDBweCk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuI21lbnVCdXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IHZ3KDZweCk7XG4gIHotaW5kZXg6IDEwMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gIHdpZHRoOiB2dyg0OHB4KTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY29sb3ItYmxhY2spO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllciksIGJvcmRlci1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLWZhc3QpIHZhcigtLWJlemllcik7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5saW5lcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiB2dygyNHB4KTtcbiAgICBoZWlnaHQ6IHZ3KDI0cHgpO1xuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogdncoMnB4KTtcbiAgICAgIHdpZHRoOiB2dygyMHB4KTtcbiAgICAgIGhlaWdodDogdncoMnB4KTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXBpbGwpO1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllciksXG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAuMnMsXG4gICAgICAgIHRvcCB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpIC4yc1xuICAgICAgO1xuICAgICAgJi5saW5lMDEge1xuICAgICAgICB0b3A6IHZ3KDZweCk7XG4gICAgICB9XG4gICAgICAmLmxpbmUwMiB7XG4gICAgICAgIHRvcDogdncoMTFweCk7XG4gICAgICB9XG4gICAgICAmLmxpbmUwMyB7XG4gICAgICAgIHRvcDogdncoMTZweCk7XG4gICAgICAgIHdpZHRoOiB2dygxMnB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zaG93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgLmxpbmVzIHtcbiAgICAgIHNwYW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgIHRvcDogdncoMTFweCk7XG4gICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLFxuICAgICAgICAgIHRvcCB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLFxuICAgICAgICAgIG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSxcbiAgICAgICAgICB0cmFuc2Zvcm0gdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSAuMnNcbiAgICAgICAgO1xuICAgICAgICAmLmxpbmUwMSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKDQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgICAmLmxpbmUwMiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVaKC00NWRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgJi5saW5lMDMge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiNsYW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogdncoMTZweCk7XG4gIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICBwYWRkaW5nLWJsb2NrOiB2dygxOHB4KTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIGdhcDogcGMoNHB4KTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIHBhZGRpbmctYmxvY2s6IHVuc2V0O1xuICB9XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiB2dygxNnB4KTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBnYXA6IHBjKDRweCk7XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS13ZWFrKTtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1lbik7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICB9XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXkpO1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy1zKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1yZWd1bGFyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNDJweDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZC1mYXN0KSB2YXIoLS1iZXppZXIpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgfVxuICAgICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgICAgLnNwIHtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wYyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI2duYXYge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiA5MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdHJvbmcpO1xuICBwYWRkaW5nLXRvcDogdncoNjBweCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tc3BlZWQtc2xvdykgdmFyKC0tYmV6aWVyKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ibG9jazogdW5zZXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cbiAgJi5zaG93IHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICAgIC5nbmF2aW5uZXIge1xuICAgICAgdHJhbnNsYXRlOiAwO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbiAgLmduYXZpbm5lciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICAgIHBhZGRpbmctYmxvY2s6IHZ3KDI0cHgpIHZ3KDMycHgpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllciksIHRyYW5zbGF0ZSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZC1zdHJvbmcpO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiBwYygzMnB4KTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2xhdGU6IDA7XG4gICAgICBwYWRkaW5nOiB1bnNldDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAubWFpbiB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogcGMoMjRweCk7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxMjAlO1xuICAgICAgICB9XG4gICAgICAgICYudG9wcGFnZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICAmLmNvbnRhY3RTUCB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nLWJsb2NrOiB2dygxNnB4KTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZTogdncoOHB4KTtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgICAgZ2FwOiB2dygxMnB4KTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpO1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiB2dygyMHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogdncoMjBweCk7XG4gICAgICAgICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X3Muc3ZnKTtcbiAgICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibGFjayk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bm90KC5jb250YWN0KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKDIwcHgpO1xuICAgICAgICAgICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICAgICAgICAgIGdhcDogdW5zZXQ7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZ3KDI0cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY29udGFjdFBDIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgcGFkZGluZzogcGMoMTZweCkgcGMoMjhweCk7XG4gICAgICAgIGdhcDogcGMoNHB4KTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQtZmFzdCkgdmFyKC0tYmV6aWVyKTtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiBwYygyNHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHBjKDI0cHgpO1xuICAgICAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbWFpbC5zdmcpO1xuICAgICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQtb24tYWNjZW50KTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxubWFpbjpoYXMoLm5hdmlnYXRpb24uYnJlYWRjcnVtYnMpIHtcbiAgKyBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgfVxuICB9XG59XG4jcGFnZXRvcEEge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogdncoMjRweCk7XG4gIHJpZ2h0OiB2dygyNHB4KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNwZWVkLXNsb3cpIHZhcigtLWJlemllcik7XG4gIHotaW5kZXg6IDEwO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBib3R0b206IHBjKDU2cHgpO1xuICAgIHJpZ2h0OiBwYyg0MHB4KTtcbiAgfVxuICBhIHtcbiAgICBAaW5jbHVkZSBob3Zlck9wO1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogdncoNDhweCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IHBjKDY0cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmlzLXNjcm9sbCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG4gICYuaXMtYm90dG9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgfVxuICB9XG59XG4jcGFnZXRvcEIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogdncoNjRweCk7XG4gIHJpZ2h0OiB2dygyNHB4KTtcbiAgei1pbmRleDogMTA7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIGEge1xuICAgIEBpbmNsdWRlIGhvdmVyT3A7XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiB2dyg0OHB4KTtcbiAgICB9XG4gIH1cbn1cblxuZm9vdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBncmlkLWFyZWE6IGZvb3RlcjtcbiAgbWFyZ2luLXRvcDogdncoMTIwcHgpO1xuICBwYWRkaW5nLWJsb2NrOiB2dyg2NHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKDEyMHB4KTtcbiAgICBwYWRkaW5nLWJsb2NrOiBwYyg4MHB4KSBwYyg4MHB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcih3aWRlKTtcbiAgICAuZm9vdGluZm8ge1xuICAgICAgLmNvcnBpbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgZ2FwOiBwYygzMnB4KTtcbiAgICAgICAgICBodG1sW2xhbmc9XCJlblwiXSAmIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IHZ3KDEzNXB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICB3aWR0aDogcGMoMTYycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaHRtbFtsYW5nPVwiZW5cIl0gJiB7XG4gICAgICAgICAgICAgIHdpZHRoOiB2dygyNjBweCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBwYygyODZweCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRhY3Qge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGFkZHJlc3Mge1xuICAgICAgICAgICAgZm9udC1zaXplOiB2dygtLWZzLXMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXMpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTQwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnNucyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdncoMzJweCk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZ2FwOiB2dygxNnB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBnYXA6IHBjKDE2cHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogdncoMzJweCk7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheS13ZWFrKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBob3Zlck9wO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IHBjKDMycHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IHZ3KDI0cHgpO1xuICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcGMoMjRweCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5mb290bmF2IHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDQ4cHgpO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBnYXA6IHZ3KDMycHgpIHZ3KDE2cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDY0cHgpO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICBnYXA6IHBjKDMycHgpIHBjKDMycHgpO1xuICAgICAgfVxuICAgICAgLnVuaXQge1xuICAgICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gICAgICAgIH1cbiAgICAgICAgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LW1lZGl1bSk7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXJPcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMjRweCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICAgICAgICAgICAgZ2FwOiB2dyg0cHgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LXJlZ3VsYXIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoMTZweCk7XG4gICAgICAgICAgICAgIGdhcDogcGMoNHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiLVwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBob3Zlck9wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuY29weXJpZ2h0IHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDQ4cHgpO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjIyZjtcbiAgICAgIHBhZGRpbmctdG9wOiB2dyg0MHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYyg2NHB4KTtcbiAgICAgICAgcGFkZGluZy10b3A6IHBjKDY0cHgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgZ2FwOiBwYyg1NHB4KTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMteHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgaG92ZXJPcDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eHMpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMteHMpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wUGFnZVRpdGxlIHtcbiAgZm9udC1zaXplOiB2dygtLXBQYWdlVGl0bGUtZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBQYWdlVGl0bGUtZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcFBhZ2VUaXRsZS1jb2xvcik7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcFBhZ2VUaXRsZS1mb250LXNpemUtcGMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucEhlYWRpbmdMYXJnZSB7XG4gIGZvbnQtc2l6ZTogdncoLS1wSGVhZGluZy1sYXJnZS1mb250LXNpemUtc3ApO1xuICBsaW5lLWhlaWdodDogMTUwJTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBIZWFkaW5nLWxhcmdlLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBIZWFkaW5nLWxhcmdlLWNvbG9yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXBIZWFkaW5nLWxhcmdlLWZvbnQtZmFtaWx5KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBIZWFkaW5nLWxhcmdlLWZvbnQtc2l6ZS1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wSGVhZGluZ01lZGl1bSB7XG4gIGZvbnQtc2l6ZTogdncoLS1wSGVhZGluZy1tZWRpdW0tZm9udC1zaXplLXNwKTtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wSGVhZGluZy1tZWRpdW0tZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcEhlYWRpbmctbWVkaXVtLWNvbG9yKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXBIZWFkaW5nLW1lZGl1bS1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wSGVhZGluZy1tZWRpdW0tZm9udC1zaXplLXBjKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBIZWFkaW5nU21hbGwge1xuICBmb250LXNpemU6IHZ3KC0tcEhlYWRpbmctc21hbGwtZm9udC1zaXplLXNwKTtcbiAgbGluZS1oZWlnaHQ6IDEyMCU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wSGVhZGluZy1zbWFsbC1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wSGVhZGluZy1zbWFsbC1jb2xvcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wSGVhZGluZy1zbWFsbC1mb250LWZhbWlseSk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wSGVhZGluZy1zbWFsbC1mb250LXNpemUtcGMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucExlYWQge1xuICBmb250LXNpemU6IHZ3KC0tcExlYWQtZm9udC1zaXplLXNwKTtcbiAgbGluZS1oZWlnaHQ6IDE3NSU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTGVhZC1mb250LXdlaWdodCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wTGVhZC1mb250LXNpemUtcGMpO1xuICB9XG4gICYuY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgJi5sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wVGV4dCB7XG4gIGZvbnQtc2l6ZTogdncoLS1wVGV4dC1mb250LXNpemUtc3ApO1xuICBsaW5lLWhlaWdodDogMTc1JTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBUZXh0LWZvbnQtd2VpZ2h0KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBUZXh0LWZvbnQtc2l6ZS1wYyk7XG4gIH1cbiAgJi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiB2dygtLXBUZXh0LXNtYWxsLWZvbnQtc2l6ZS1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZm9udC1zaXplOiBwYygtLXBUZXh0LXNtYWxsLWZvbnQtc2l6ZS1wYyk7XG4gICAgfVxuICB9XG4gIHAsIHVsLCBvbCB7XG4gICAgcGFkZGluZy1ib3R0b206IDJlbTtcbiAgICAmLmhlYWRpbmcge1xuICAgICAgQGluY2x1ZGUgaGVhZGluZy1zbWFsbDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxZW07XG4gICAgfVxuICAgICYuZmlndXJlIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICAgICAgQGluY2x1ZGUgc2VjdGlvbjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjVweDtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgICYubXQtaW1hZ2UtbGVmdCxcbiAgICAgICAgJi5tdC1pbWFnZS1jZW50ZXIsXG4gICAgICAgICYubXQtaW1hZ2UtcmlnaHQsXG4gICAgICAgICYubXQtaW1hZ2Utbm9uZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogdncoNnB4KTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1tZWRpdW0pO1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHBjKDEycHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBpbWcge1xuICAgICAgJi5tdC1pbWFnZS1sZWZ0LFxuICAgICAgJi5tdC1pbWFnZS1jZW50ZXIsXG4gICAgICAmLm10LWltYWdlLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICAgICYgKyAuYnV0dG9ue1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gICAgLmVuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1lbik7XG4gICAgfVxuICB9XG4gIHVsLCBvbCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIH1cbiAgICAuZW4ge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICB9XG4gIH1cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZ3KDIwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBtYXJnaW4tbGVmdDogcGMoMjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1qYSk7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZ3KDIwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBtYXJnaW4tbGVmdDogcGMoMjBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IHZ3KDE1cHgpO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKDIwcHgpO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBJbWFnZSxcbi5wSW1hZ2UgaWZyYW1lIHtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1wSW1hZ2UtYm9yZGVyLXJhZGl1cy1zbWFsbC1zcCk7XG4gIEBjb250YWluZXIgKG1pbi13aWR0aDogMzAwcHgpIHtcbiAgICBib3JkZXItcmFkaXVzOiB2dygtLXBJbWFnZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1zcCk7XG4gIH1cbiAgQGluY2x1ZGUgbXEge1xuICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tcEltYWdlLWJvcmRlci1yYWRpdXMtc21hbGwtcGMpO1xuICAgIEBjb250YWluZXIgKG1pbi13aWR0aDogNDUwcHgpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tcEltYWdlLWJvcmRlci1yYWRpdXMtbWVkaXVtLXBjKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBNYXAge1xuICB3aWR0aDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiB2dygtLXBNYXAtYm9yZGVyLXJhZGl1cy1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBib3JkZXItcmFkaXVzOiBwYygtLXBNYXAtYm9yZGVyLXJhZGl1cy1wYyk7XG4gIH1cbiAgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgbGVmdDogMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiB2dygtLXBNYXAtYm9yZGVyLXJhZGl1cy1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1wTWFwLWJvcmRlci1yYWRpdXMtcGMpO1xuICAgIH1cbiAgfVxuICAmLnNocmluayB7XG4gICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucEltYWdlQ2FwdGlvbiB7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWF4LXdpZHRoOiBwYygtLXBJbWFnZUNhcHRpb24tbWF4LXdpZHRoKTtcbiAgfVxuICAucENhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IHZ3KC0tcEltYWdlQ2FwdGlvbi1nYXAtc3ApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBtYXJnaW4tdG9wOiBwYygtLXBJbWFnZUNhcHRpb24tZ2FwLXBjKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBNYXBDYXB0aW9uIHtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXgtd2lkdGg6IHBjKC0tcE1hcENhcHRpb24tbWF4LXdpZHRoKTtcbiAgfVxuICAucENhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IHZ3KC0tcE1hcENhcHRpb24tZ2FwLXNwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgbWFyZ2luLXRvcDogcGMoLS1wTWFwQ2FwdGlvbi1nYXAtcGMpO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucFBhbmVsIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBzdWJncmlkO1xuICBncmlkLXJvdzogc3BhbiA0O1xuICBnYXA6IHZ3KC0tcFBhbmVsLWdhcC1zcCk7XG4gICY6aGFzKD4gOm50aC1jaGlsZCgyKTpsYXN0LWNoaWxkKSB7XG4gICAgZ3JpZC1yb3c6IHNwYW4gMjtcbiAgfVxuICAmOmhhcyg+IDpudGgtY2hpbGQoMyk6bGFzdC1jaGlsZCkge1xuICAgIGdyaWQtcm93OiBzcGFuIDM7XG4gIH1cbiAgQGluY2x1ZGUgbXEge1xuICAgIGdhcDogcGMoLS1wUGFuZWwtZ2FwLXBjKTtcbiAgICBtYXgtd2lkdGg6IHBjKC0tcFBhbmVsLW1heC13aWR0aCk7XG4gIH1cbiAgLnBCdXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLmRlc2M6aGFzKC5wVGV4dDplbXB0eSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wQ2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogdncoLS1wQ2FwdGlvbi1mb250LXNpemUtc3ApO1xuICBsaW5lLWhlaWdodDogMTYwJTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBDYXB0aW9uLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBDYXB0aW9uLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcENhcHRpb24tZm9udC1zaXplLXBjKTtcbiAgfVxuICAmLmxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgJi5zaHJpbmsge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wUG9zaXRpb24ge1xuICBmb250LXNpemU6IHZ3KC0tcFBvc2l0aW9uLWZvbnQtc2l6ZS1zcCk7XG4gIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICBmb250LXdlaWdodDogdmFyKC0tcFBvc2l0aW9uLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBQb3NpdGlvbi1jb2xvcik7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wUG9zaXRpb24tZm9udC1zaXplLXBjKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBOYW1lIHtcbiAgZm9udC1zaXplOiB2dygtLXBOYW1lLWZvbnQtc2l6ZS1zcCk7XG4gIGxpbmUtaGVpZ2h0OiAxNjAlO1xuICBmb250LXdlaWdodDogdmFyKC0tcE5hbWUtZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcE5hbWUtY29sb3IpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcE5hbWUtZm9udC1zaXplLXBjKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBTdWJUaXRsZSB7XG4gIGZvbnQtc2l6ZTogdncoLS1wU3ViVGl0bGUtZm9udC1zaXplLXNwKTtcbiAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wU3ViVGl0bGUtZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcFN1YlRpdGxlLWNvbG9yKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBTdWJUaXRsZS1mb250LXNpemUtcGMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucE5hbWVTZXQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogcm93O1xuICBnYXA6IHZ3KC0tcE5hbWVTZXQtZ2FwLXNwKTtcbiAganVzdGlmeS1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGdhcDogcGMoLS1wTmFtZVNldC1nYXAtcGMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wTWVtYmVyIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBzdWJncmlkO1xuICBncmlkLXJvdzogc3BhbiA1O1xuICBnYXA6IHZ3KC0tcE1lbWJlci1nYXAtc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgZ2FwOiBwYygtLXBNZW1iZXItZ2FwLXBjKTtcbiAgfVxuICAucHJvZmlsZSB7XG4gICAgY29sb3I6IHZhcigtLXBNZW1iZXItcHJvZmlsZS1jb2xvcik7XG4gIH1cbiAgLnBCdXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBCdXR0b24ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWFyZWFzOiBcbiAgICBcImJlZm9yZSB0ZXh0IGFmdGVyXCI7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLXBCdXR0b24tY29sb3ItZGVmYXVsdCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24tYmFja2dyb3VuZC1jb2xvci1kZWZhdWx0KTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBCdXR0b24tZm9udC13ZWlnaHQpO1xuICBib3JkZXItY29sb3I6IHZhcigtLXBCdXR0b24tYm9yZGVyLWNvbG9yLWRlZmF1bHQpO1xuICBib3JkZXItd2lkdGg6IHZ3KC0tcEJ1dHRvbi1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBnYXA6IHZ3KC0tcEJ1dHRvbi1nYXAtc3ApO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKSwgYm9yZGVyLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllciksIGNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGJvcmRlci13aWR0aDogcGMoLS1wQnV0dG9uLWJvcmRlci13aWR0aCk7XG4gICAgZ2FwOiBwYygtLXBCdXR0b24tZ2FwLXBjKTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIGdyaWQtYXJlYTogYmVmb3JlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgICBncmlkLWFyZWE6IGFmdGVyO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICBtYXNrLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG9yLWhvdmVyKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcEJ1dHRvbi1ib3JkZXItY29sb3ItaG92ZXIpO1xuICAgICAgY29sb3I6IHZhcigtLXBCdXR0b24tY29sb3ItaG92ZXIpO1xuICAgIH1cbiAgfVxuICAmLnJldmVyc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24tYmFja2dyb3VuZC1jb2xvci1yZXZlcnNlKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBCdXR0b24tYm9yZGVyLWNvbG9yLXJldmVyc2UpO1xuICAgIGNvbG9yOiB2YXIoLS1wQnV0dG9uLWNvbG9yLXJldmVyc2UpO1xuICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24tYmFja2dyb3VuZC1jb2xvci1yZXZlcnNlLWhvdmVyKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWJvcmRlci1jb2xvci1yZXZlcnNlLWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiB2dygtLXBCdXR0b24tc21hbGwtZm9udC1zaXplLXNwKTtcbiAgICBwYWRkaW5nOiB2dygtLXBCdXR0b24tc21hbGwtcGFkZGluZy1ibG9jay1zcCkgdncoLS1wQnV0dG9uLXNtYWxsLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgICBtaW4td2lkdGg6IHZ3KC0tcEJ1dHRvbi1zbWFsbC1taW4td2lkdGgtc3ApO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdncoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtc3ApIGF1dG8gdncoLS1wQnV0dG9uLXNtYWxsLWljb24td2lkdGgtc3ApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tcEJ1dHRvbi1zbWFsbC1ib3JkZXItcmFkaXVzKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1wQnV0dG9uLXNtYWxsLWZvbnQtc2l6ZS1wYyk7XG4gICAgICBwYWRkaW5nOiBwYygtLXBCdXR0b24tc21hbGwtcGFkZGluZy1ibG9jay1wYykgcGMoLS1wQnV0dG9uLXNtYWxsLXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICAgIG1pbi13aWR0aDogcGMoLS1wQnV0dG9uLXNtYWxsLW1pbi13aWR0aC1wYyk7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHBjKC0tcEJ1dHRvbi1zbWFsbC1pY29uLXdpZHRoLXBjKSBhdXRvIHBjKC0tcEJ1dHRvbi1zbWFsbC1pY29uLXdpZHRoLXBjKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tcEJ1dHRvbi1zbWFsbC1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gICAgJjo6YmVmb3JlLCY6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiB2dygtLXBCdXR0b24tc21hbGwtaWNvbi13aWR0aC1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IHBjKC0tcEJ1dHRvbi1zbWFsbC1pY29uLXdpZHRoLXBjKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJjpub3QoLnNtYWxsKTpub3QoLmxhcmdlKSB7XG4gICAgZm9udC1zaXplOiB2dygtLXBCdXR0b24tbWVkaXVtLWZvbnQtc2l6ZS1zcCk7XG4gICAgcGFkZGluZzogdncoLS1wQnV0dG9uLW1lZGl1bS1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBCdXR0b24tbWVkaXVtLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgICBtaW4td2lkdGg6IHZ3KC0tcEJ1dHRvbi1tZWRpdW0tbWluLXdpZHRoLXNwKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZ3KC0tcEJ1dHRvbi1tZWRpdW0taWNvbi13aWR0aC1zcCkgYXV0byB2dygtLXBCdXR0b24tbWVkaXVtLWljb24td2lkdGgtc3ApO1xuICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tcEJ1dHRvbi1tZWRpdW0tYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tcEJ1dHRvbi1tZWRpdW0tZm9udC1zaXplLXBjKTtcbiAgICAgIHBhZGRpbmc6IHBjKC0tcEJ1dHRvbi1tZWRpdW0tcGFkZGluZy1ibG9jay1wYykgcGMoLS1wQnV0dG9uLW1lZGl1bS1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgICBtaW4td2lkdGg6IHBjKC0tcEJ1dHRvbi1tZWRpdW0tbWluLXdpZHRoLXBjKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcGMoLS1wQnV0dG9uLW1lZGl1bS1pY29uLXdpZHRoLXBjKSBhdXRvIHBjKC0tcEJ1dHRvbi1tZWRpdW0taWNvbi13aWR0aC1wYyk7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLXBCdXR0b24tbWVkaXVtLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgICAmOjpiZWZvcmUsJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IHZ3KC0tcEJ1dHRvbi1tZWRpdW0taWNvbi13aWR0aC1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IHBjKC0tcEJ1dHRvbi1tZWRpdW0taWNvbi13aWR0aC1wYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogdncoLS1wQnV0dG9uLWxhcmdlLWZvbnQtc2l6ZS1zcCk7XG4gICAgcGFkZGluZzogdncoLS1wQnV0dG9uLWxhcmdlLXBhZGRpbmctYmxvY2stc3ApIHZ3KC0tcEJ1dHRvbi1sYXJnZS1wYWRkaW5nLWlubGluZS1zcCk7XG4gICAgbWluLXdpZHRoOiB2dygtLXBCdXR0b24tbGFyZ2UtbWluLXdpZHRoLXNwKTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHZ3KC0tcEJ1dHRvbi1sYXJnZS1pY29uLXdpZHRoLXNwKSBhdXRvIHZ3KC0tcEJ1dHRvbi1sYXJnZS1pY29uLXdpZHRoLXNwKTtcbiAgICBib3JkZXItcmFkaXVzOiB2dygtLXBCdXR0b24tbGFyZ2UtYm9yZGVyLXJhZGl1cyk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tcEJ1dHRvbi1sYXJnZS1mb250LXNpemUtcGMpO1xuICAgICAgcGFkZGluZzogcGMoLS1wQnV0dG9uLWxhcmdlLXBhZGRpbmctYmxvY2stcGMpIHBjKC0tcEJ1dHRvbi1sYXJnZS1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgICBtaW4td2lkdGg6IHBjKC0tcEJ1dHRvbi1sYXJnZS1taW4td2lkdGgtcGMpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBwYygtLXBCdXR0b24tbGFyZ2UtaWNvbi13aWR0aC1wYykgYXV0byBwYygtLXBCdXR0b24tbGFyZ2UtaWNvbi13aWR0aC1wYyk7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLXBCdXR0b24tbGFyZ2UtYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICAgICY6OmJlZm9yZSwmOjphZnRlciB7XG4gICAgICB3aWR0aDogdncoLS1wQnV0dG9uLWxhcmdlLWljb24td2lkdGgtc3ApO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHdpZHRoOiBwYygtLXBCdXR0b24tbGFyZ2UtaWNvbi13aWR0aC1wYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYucmlnaHQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fYXJyb3dfbS5zdmcpO1xuICAgIH1cbiAgICAmW3RhcmdldD1cIl9ibGFua1wiXSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIG1hc2staW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fZXh0ZXJuYWwuc3ZnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5sZWZ0IHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19tLnN2Zyk7XG4gICAgICByb3RhdGU6IHogMTgwZGVnO1xuICAgIH1cbiAgfVxuICAmLnJpZ2h0IHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItZGVmYXVsdCk7XG4gICAgfVxuICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItaG92ZXIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYucmV2ZXJzZSB7XG4gICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQnV0dG9uLWljb24tY29sb3ItcmV2ZXJzZSk7XG4gICAgICB9XG4gICAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLXJldmVyc2UtaG92ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmxlZnQge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBtYXNrLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX2Fycm93X20uc3ZnKTtcbiAgICB9XG4gICAgJlt0YXJnZXQ9XCJfYmxhbmtcIl0ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9leHRlcm5hbC5zdmcpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLWRlZmF1bHQpO1xuICAgIH1cbiAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24taWNvbi1jb2xvci1ob3Zlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5yZXZlcnNlIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBCdXR0b24taWNvbi1jb2xvci1yZXZlcnNlKTtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEJ1dHRvbi1pY29uLWNvbG9yLXJldmVyc2UtaG92ZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBGaWxlSW5mbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xuICBnYXA6IHZ3KC0tcEZpbGVJbmZvLWdhcC1zcCk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGdhcDogcGMoLS1wRmlsZUluZm8tZ2FwLXBjKTtcbiAgfVxuICBpbWcge1xuICAgIHdpZHRoOiB2dygtLXBGaWxlSW5mby1pY29uLXdpZHRoLXNwKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoLS1wRmlsZUluZm8taWNvbi13aWR0aC1wYyk7XG4gICAgfVxuICB9XG4gIGZpZ2NhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogdncoLS1wRmlsZUluZm8tZm9udC1zaXplLXNwKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcEZpbGVJbmZvLWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tcEZpbGVJbmZvLWZvbnQtZmFtaWx5KTtcbiAgICBjb2xvcjogdmFyKC0tcEZpbGVJbmZvLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGZvbnQtc2l6ZTogcGMoLS1wRmlsZUluZm8tZm9udC1zaXplLXBjKTtcbiAgICB9XG4gIH1cblxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucENhdGFsb2cge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlOlxuICBcImltYWdlIGhlYWRpbmdcIiBhdXRvXG4gIFwic3VtbWFyeSBzdW1tYXJ5XCIgYXV0b1xuICAvIDFmciAxZnI7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgcm93LWdhcDogdncodmFyKC0tcENhdGFsb2ctZ2FwLXJvdy1zcCkpO1xuICBjb2x1bW4tZ2FwOiB2dyh2YXIoLS1wQ2F0YWxvZy1nYXAtY29sLXNwKSk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiB1bnNldDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHVuc2V0O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDtcbiAgICBncmlkLXJvdzogc3BhbiAzO1xuICAgIHJvdy1nYXA6IHBjKHZhcigtLXBDYXRhbG9nLWdhcC1yb3ctcGMpKTtcbiAgICBjb2x1bW4tZ2FwOiB1bnNldDtcbiAgfVxuICAuaW1hZ2Uge1xuICAgIGdyaWQtYXJlYTogaW1hZ2U7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ3JpZC1hcmVhOiB1bnNldDtcbiAgICB9XG4gIH1cbiAgLmhlYWRpbmcge1xuICAgIGdyaWQtYXJlYTogaGVhZGluZztcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIHJvdy1nYXA6IHZ3KHZhcigtLXBDYXRhbG9nLWdhcC1yb3ctc3ApKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBncmlkLWFyZWE6IHVuc2V0O1xuICAgICAgcm93LWdhcDogcGModmFyKC0tcENhdGFsb2ctZ2FwLXJvdy1wYykpO1xuICAgIH1cbiAgfVxuICAuc3VtbWFyeSB7XG4gICAgZ3JpZC1hcmVhOiBzdW1tYXJ5O1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdyaWQtYXJlYTogdW5zZXQ7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucENhdGFsb2dUaXRsZVNldCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiByb3c7XG4gIGdhcDogdncoLS1wQ2F0YWxvZ1RpdGxlU2V0LWdhcC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGdhcDogcGMoLS1wQ2F0YWxvZ1RpdGxlU2V0LWdhcC1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wQXR0YWNobWVudCB7XG4gIHBhZGRpbmc6IHZ3KC0tcEF0dGFjaG1lbnQtcGFkZGluZy1pbmxpbmUtc3ApIHZ3KC0tcEF0dGFjaG1lbnQtcGFkZGluZy1ibG9jay1zcCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdncoLS1wQXR0YWNobWVudC1nYXAtc3ApO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiB2dygtLXBBdHRhY2htZW50LWJvcmRlci1ib3R0b20td2lkdGgpO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcEF0dGFjaG1lbnQtYm9yZGVyLWJvdHRvbS1jb2xvcik7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmc6IHBjKC0tcEF0dGFjaG1lbnQtcGFkZGluZy1pbmxpbmUtcGMpIHBjKC0tcEF0dGFjaG1lbnQtcGFkZGluZy1ibG9jay1wYyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogcGMoLS1wQXR0YWNobWVudC1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgICBnYXA6IHBjKC0tcEF0dGFjaG1lbnQtZ2FwLXBjKTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZ3KC0tcEF0dGFjaG1lbnQtaWNvbi13aWR0aC1zcCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoLS1wQXR0YWNobWVudC1pY29uLXdpZHRoLXBjKTtcbiAgICB9XG4gIH1cbiAgJjpoYXMoYVtocmVmJD1cIi5wZGZcIl0pIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2ltYWdlcy9pY29uX3BkZi5zdmcpO1xuICAgIH1cbiAgfVxuICAmOmhhcyhhW2hyZWYkPVwiLnhsc3hcIl0pLCAmOmhhcyhhW2hyZWYkPVwiLnhsc1wiXSkge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25feGxzLnN2Zyk7XG4gICAgfVxuICB9XG4gICY6aGFzKGFbaHJlZiQ9XCIuZG9jeFwiXSksICY6aGFzKGFbaHJlZiQ9XCIuZG9jXCJdKSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl93b3JkLnN2Zyk7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogdncoLS1wQXR0YWNobWVudC1mb250LXNpemUtc3ApO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQXR0YWNobWVudC1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBBdHRhY2htZW50LWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tcEF0dGFjaG1lbnQtZm9udC1zaXplLXBjKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQXR0YWNobWVudC1mb250LXdlaWdodCk7XG4gICAgICBjb2xvcjogdmFyKC0tcEF0dGFjaG1lbnQtY29sb3IpO1xuICAgIH1cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+ODuyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgIH1cbiAgfVxuICBcbiAgXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucFEge1xuICBmb250LXNpemU6IHZ3KC0tcFEtZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBRLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBRLWNvbG9yKTtcbiAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBnYXA6IHZ3KC0tcFEtZ2FwLXNwKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcFEtZm9udC1zaXplLXBjKTtcbiAgICBnYXA6IHBjKC0tcFEtZ2FwLXBjKTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2dygtLXBRLWljb24td2lkdGgtc3ApO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQgdXJsKC9pbWFnZXMvaWNvbl9xLnN2Zyk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoLS1wUS1pY29uLXdpZHRoLXBjKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wQSB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBnYXA6IHZ3KC0tcEEtZ2FwLXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZ2FwOiBwYygtLXBBLWdhcC1wYyk7XG4gIH1cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogdncoLS1wQS1pY29uLXdpZHRoLXNwKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJhY2tncm91bmQ6IGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0IHVybCgvaW1hZ2VzL2ljb25fYS5zdmcpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgd2lkdGg6IHBjKC0tcEEtaWNvbi13aWR0aC1wYyk7XG4gICAgfVxuICB9XG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gdncoLS1wQS1nYXAtc3ApICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xuICAgIH1cbiAgICAmLm10LWltYWdlLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCBwYygtLXBBLWdhcC1wYykgcGMoLS1wQS1nYXAtcGMpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgICYubXQtaW1hZ2UtbGVmdCB7XG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgcGMoLS1wQS1nYXAtcGMpIHBjKC0tcEEtZ2FwLXBjKSAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucEZhcSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBGYXEtYmFja2dyb3VuZC1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZ3KC0tcEZhcS1ib3JkZXItcmFkaXVzLXNwKTtcbiAgYm9yZGVyOiB2dygtLXBGYXEtYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1wRmFxLWJvcmRlci1jb2xvcik7XG4gIHBhZGRpbmc6IHZ3KC0tcEZhcS1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBGYXEtcGFkZGluZy1pbmxpbmUtc3ApO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogcm93O1xuICBnYXA6IHZ3KC0tcEZhcS1nYXAtc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgYm9yZGVyLXJhZGl1czogcGMoLS1wRmFxLWJvcmRlci1yYWRpdXMtcGMpO1xuICAgIHBhZGRpbmc6IHBjKC0tcEZhcS1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLXBGYXEtcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgIGdhcDogcGMoLS1wRmFxLWdhcC1wYyk7XG4gICAgYm9yZGVyLXdpZHRoOiBwYygtLXBGYXEtYm9yZGVyLXdpZHRoKTtcbiAgfVxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcEZhcS1iYWNrZ3JvdW5kLWNvbG9yLW9wZW4pO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcEZhcS1ib3JkZXItY29sb3Itb3Blbik7XG4gICAgLnE6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvaW1hZ2VzL2ljb25fbWludXMuc3ZnKTtcbiAgICB9XG4gIH1cbiAgLnEge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBnYXA6IHZ3KC0tcEZhcS1nYXAtc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdhcDogcGMoLS1wRmFxLWdhcC1wYyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogdncoLS1wRmFxLWljb24td2lkdGgtc3ApO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgIGJhY2tncm91bmQ6IGNlbnRlciAvIGNvbnRhaW4gbm8tcmVwZWF0IHVybCgvaW1hZ2VzL2ljb25fcGx1cy5zdmcpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICB3aWR0aDogcGMoLS1wRmFxLWljb24td2lkdGgtcGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBcbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wQ29udmVyc2lvbkhlYWRpbmcge1xuICBmb250LXNpemU6IHZ3KC0tcENvbnZlcnNpb25IZWFkaW5nLWZvbnQtc2l6ZS1zcCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQ29udmVyc2lvbkhlYWRpbmctZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcENvbnZlcnNpb25IZWFkaW5nLWNvbG9yKTtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wQ29udmVyc2lvbkhlYWRpbmctZm9udC1mYW1pbHkpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcENvbnZlcnNpb25IZWFkaW5nLWZvbnQtc2l6ZS1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBMb2NhbG5hdlN1YiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGZvbnQtc2l6ZTogdncoLS1wTG9jYWxuYXZTdWItZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBMb2NhbG5hdlN1Yi1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItZGVmYXVsdC1jb2xvcik7XG4gIGJvcmRlci13aWR0aDogdncoLS1wTG9jYWxuYXZTdWItYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZTdWItZGVmYXVsdC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2dygtLXBMb2NhbG5hdlN1Yi1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2U3ViLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcik7XG4gIHBhZGRpbmc6IHZ3KC0tcExvY2FsbmF2U3ViLXBhZGRpbmctYmxvY2stc3ApIHZ3KC0tcExvY2FsbmF2U3ViLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBMb2NhbG5hdlN1Yi1mb250LXNpemUtcGMpO1xuICAgIHBhZGRpbmc6IHBjKC0tcExvY2FsbmF2U3ViLXBhZGRpbmctYmxvY2stcGMpIHBjKC0tcExvY2FsbmF2U3ViLXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICBib3JkZXItd2lkdGg6IHBjKC0tcExvY2FsbmF2U3ViLWJvcmRlci13aWR0aCk7XG4gIH1cbiAgJi5pcy1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcExvY2FsbmF2U3ViLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtY29sb3IpO1xuICB9XG4gIEBtZWRpYShhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBMb2NhbG5hdlN1Yi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICBjb2xvcjogdmFyKC0tcExvY2FsbmF2U3ViLWFjdGl2ZS1jb2xvcik7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wQXJjaGl2ZW5hdiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGZvbnQtc2l6ZTogdncoLS1wQXJjaGl2ZW5hdi1mb250LXNpemUtc3ApO1xuICBmb250LXdlaWdodDogdmFyKC0tcEFyY2hpdmVuYXYtZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcEFyY2hpdmVuYXYtZGVmYXVsdC1jb2xvcik7XG4gIGJvcmRlci13aWR0aDogdncoLS1wQXJjaGl2ZW5hdi1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWRlZmF1bHQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdncoLS1wQXJjaGl2ZW5hdi1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZ3KC0tcEFyY2hpdmVuYXYtYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcik7XG4gIHBhZGRpbmc6IHZ3KC0tcEFyY2hpdmVuYXYtcGFkZGluZy1ibG9jay1zcCkgdncoLS1wQXJjaGl2ZW5hdi1wYWRkaW5nLWlubGluZS1zcCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGJvcmRlci13aWR0aDogcGMoLS1wQXJjaGl2ZW5hdi1ib3JkZXItd2lkdGgpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiBwYygtLXBBcmNoaXZlbmF2LWZvbnQtc2l6ZS1wYyk7XG4gICAgcGFkZGluZzogcGMoLS1wQXJjaGl2ZW5hdi1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLXBBcmNoaXZlbmF2LXBhZGRpbmctaW5saW5lLXBjKTtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBwYygtLXBBcmNoaXZlbmF2LWJvcmRlci1yYWRpdXMpO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBwYygtLXBBcmNoaXZlbmF2LWJvcmRlci1yYWRpdXMpO1xuICB9XG4gICYuaXMtYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tcEFyY2hpdmVuYXYtYWN0aXZlLWNvbG9yKTtcbiAgfVxuICBAbWVkaWEoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBBcmNoaXZlbmF2LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1wQXJjaGl2ZW5hdi1hY3RpdmUtY29sb3IpO1xuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucFNwZWFrZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLWF1dG8tZmxvdzogcm93O1xuICBnYXA6IHZ3KC0tcFNwZWFrZXItZ2FwLXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZ2FwOiBwYygtLXBTcGVha2VyLWdhcC1wYyk7XG4gIH1cbiAgLnByb2ZpbGVfZW4ge1xuICAgIGNvbG9yOiB2YXIoLS1wU3BlYWtlci1jb2xvci1lbik7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBGbG9hdEltYWdlIHtcbiAgbWFyZ2luLXRvcDogdncoLS1wRmxvYXRJbWFnZS1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLXBGbG9hdEltYWdlLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gICYubGVmdCB7XG4gICAgLnBJbWFnZUNhcHRpb24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2dygtLXBGbG9hdEltYWdlLWdhcC1zcCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBwYygtLXBGbG9hdEltYWdlLWdhcC1wYyk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdW5zZXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZ3KC0tcEZsb2F0SW1hZ2UtZ2FwLXNwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdncoLS1wRmxvYXRJbWFnZS1nYXAtc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcGMoLS1wRmxvYXRJbWFnZS1nYXAtcGMpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHBjKC0tcEZsb2F0SW1hZ2UtZ2FwLXBjKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBOZXdzQ2F0ZWdvcnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBmb250LXNpemU6IHZ3KC0tcE5ld3NDYXRlZ29yeS1mb250LXNpemUtc3ApO1xuICBmb250LXdlaWdodDogdmFyKC0tcE5ld3NDYXRlZ29yeS1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wTmV3c0NhdGVnb3J5LWNvbG9yKTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1wTmV3c0NhdGVnb3J5LWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tcE5ld3NDYXRlZ29yeS1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2dygtLXBOZXdzQ2F0ZWdvcnktYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBOZXdzQ2F0ZWdvcnktYmFja2dyb3VuZC1jb2xvcik7XG4gIHBhZGRpbmc6IHZ3KC0tcE5ld3NDYXRlZ29yeS1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBOZXdzQ2F0ZWdvcnktcGFkZGluZy1pbmxpbmUtc3ApO1xuICBtaW4td2lkdGg6IHZ3KC0tcE5ld3NDYXRlZ29yeS1taW4td2lkdGgtc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcE5ld3NDYXRlZ29yeS1mb250LXNpemUtcGMpO1xuICAgIHBhZGRpbmc6IHBjKC0tcE5ld3NDYXRlZ29yeS1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLXBOZXdzQ2F0ZWdvcnktcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgIGJvcmRlci13aWR0aDogcGMoLS1wTmV3c0NhdGVnb3J5LWJvcmRlci13aWR0aCk7XG4gICAgbWluLXdpZHRoOiBwYygtLXBOZXdzQ2F0ZWdvcnktbWluLXdpZHRoLXBjKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucE5ld3NEYXRlIHtcbiAgZm9udC1zaXplOiB2dygtLXBOZXdzRGF0ZS1mb250LXNpemUtc3ApO1xuICBmb250LXdlaWdodDogdmFyKC0tcE5ld3NEYXRlLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBOZXdzRGF0ZS1jb2xvcik7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1wTmV3c0RhdGUtZm9udC1mYW1pbHkpO1xuICBmb250LXdlaWdodDogdmFyKC0tcE5ld3NEYXRlLWZvbnQtd2VpZ2h0KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBOZXdzRGF0ZS1mb250LXNpemUtcGMpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wTmV3c1RpdGxlIHtcbiAgZm9udC1zaXplOiB2dygtLXBOZXdzVGl0bGUtZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBOZXdzVGl0bGUtZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcE5ld3NUaXRsZS1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wTmV3c1RpdGxlLWZvbnQtd2VpZ2h0KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBOZXdzVGl0bGUtZm9udC1zaXplLXBjKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucE5ld3NTZXQge1xuICBib3JkZXItYm90dG9tLWNvbG9yOiB2YXIoLS1wTmV3c1NldC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiB2dygtLXBOZXdzU2V0LWJvcmRlci13aWR0aCk7XG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICBwYWRkaW5nLWJsb2NrOiB2dygtLXBOZXdzU2V0LXBhZGRpbmctYmxvY2stc3ApO1xuICBwYWRkaW5nLWlubGluZTogdncoLS1wTmV3c1NldC1wYWRkaW5nLWlubGluZS1zcCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGU6XG4gICAgXCJkYXRlIGNhdFwiIGF1dG9cbiAgICBcInRpdGxlIHRpdGxlXCIgYXV0b1xuICAgIC8gYXV0byAxZnI7XG4gIGNvbHVtbi1nYXA6IHZ3KC0tcE5ld3NTZXQtZ2FwLWNvbC1zcCk7XG4gIHJvdy1nYXA6IHZ3KC0tcE5ld3NTZXQtZ2FwLXJvdy1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcImRhdGUgY2F0IHRpdGxlXCIgYXV0b1xuICAgICAgLyBhdXRvIGF1dG8gMWZyO1xuICAgIGNvbHVtbi1nYXA6IHBjKC0tcE5ld3NTZXQtZ2FwLXBjKTtcbiAgICByb3ctZ2FwOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiBwYygtLXBOZXdzU2V0LWJvcmRlci13aWR0aCk7XG4gICAgcGFkZGluZy1ibG9jazogcGMoLS1wTmV3c1NldC1wYWRkaW5nLWJsb2NrLXBjKTtcbiAgICBwYWRkaW5nLWlubGluZTogcGMoLS1wTmV3c1NldC1wYWRkaW5nLWlubGluZS1wYyk7XG4gIH1cbiAgLmRhdGUge1xuICAgIGdyaWQtYXJlYTogZGF0ZTtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICB9XG4gIH1cbiAgLnBUYWdTZXQge1xuICAgIGdyaWQtYXJlYTogY2F0O1xuICB9XG4gIC50aXRsZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdyaWQtYXJlYTogdGl0bGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmbGV4OiAxO1xuICAgIH1cbiAgfVxuXG4gIFxufVxuXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cblxuLnBUYWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBmb250LXNpemU6IHZ3KC0tcFRhZy1mb250LXNpemUtc3ApO1xuICBmb250LXdlaWdodDogdmFyKC0tcFRhZy1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wVGFnLWRlZmF1bHQtY29sb3IpO1xuICBib3JkZXItd2lkdGg6IHZhcigtLXBUYWctYm9yZGVyLXdpZHRoKTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wVGFnLWRlZmF1bHQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1wVGFnLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wVGFnLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvcik7XG4gIHBhZGRpbmc6IHZ3KC0tcFRhZy1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBUYWctcGFkZGluZy1pbmxpbmUtc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcFRhZy1mb250LXNpemUtcGMpO1xuICAgIHBhZGRpbmc6IHBjKC0tcFRhZy1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLXBUYWctcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgIGJvcmRlci13aWR0aDogcGMoLS1wVGFnLWJvcmRlci13aWR0aCk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXBUYWctYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wVGFnLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1wVGFnLWFjdGl2ZS1jb2xvcik7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG5cbi5wVGFnU2V0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IHZ3KC0tcFRhZ1NldC1nYXAtcm93LXNwKSB2dygtLXBUYWdTZXQtZ2FwLWNvbC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGdhcDogcGMoLS1wVGFnU2V0LWdhcC1yb3ctcGMpIHBjKC0tcFRhZ1NldC1nYXAtY29sLXBjKTtcbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuXG4ucEFydGljbGVMaXN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZTpcbiAgICBcImltYWdlIGRhdGVcIiBhdXRvXG4gICAgXCJpbWFnZSBjYXRlZ29yeVwiIGF1dG9cbiAgICBcImltYWdlIGhlYWRpbmdcIiAxZnJcbiAgICBcInRleHQgdGV4dFwiIGF1dG9cbiAgICAvIHZ3KC0tcEFydGljbGVMaXN0LWltYWdlLXdpZHRoLXNwKSAxZnI7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgY29sdW1uLWdhcDogdncoLS1wQXJ0aWNsZUxpc3QtZ2FwLWNvbC1zcCk7XG4gIHJvdy1nYXA6IHZ3KC0tcEFydGljbGVMaXN0LWdhcC1yb3ctc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJpbWFnZSBkYXRlXCIgYXV0b1xuICAgICAgXCJpbWFnZSBjYXRlZ29yeVwiIGF1dG9cbiAgICAgIFwiaW1hZ2UgaGVhZGluZ1wiIGF1dG9cbiAgICAgIFwiaW1hZ2UgdGV4dFwiIDFmclxuICAgICAgLyBwYygtLXBBcnRpY2xlTGlzdC1pbWFnZS13aWR0aC1wYykgMWZyO1xuICAgIGNvbHVtbi1nYXA6IHBjKC0tcEFydGljbGVMaXN0LWdhcC1jb2wtcGMpO1xuICAgIHJvdy1nYXA6IHBjKC0tcEFydGljbGVMaXN0LWdhcC1yb3ctcGMpO1xuICB9XG4gIC5pbWFnZSB7XG4gICAgZ3JpZC1hcmVhOiBpbWFnZTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuICAucEltYWdlIHtcbiAgICBhc3BlY3QtcmF0aW86IDMgLyAyO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG4gIC5wTmV3c0RhdGUge1xuICAgIGdyaWQtYXJlYTogZGF0ZTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuICAucFRhZ1NldCB7XG4gICAgZ3JpZC1hcmVhOiBjYXRlZ29yeTtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgfVxuICAucEhlYWRpbmdTbWFsbCB7XG4gICAgZ3JpZC1hcmVhOiBoZWFkaW5nO1xuICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICB9XG4gIC5wVGV4dCB7XG4gICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICB9XG4gIFxuXG4gIFxufVxuXG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wUGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci13aWR0aDogdncoLS1wUGFnaW5hdGlvbi1ib3JkZXItd2lkdGgpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWRlZmF1bHQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdncoLS1wUGFnaW5hdGlvbi1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcFBhZ2luYXRpb24tZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWRlZmF1bHQtY29sb3IpO1xuICBmb250LXNpemU6IHZ3KC0tcFBhZ2luYXRpb24tZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBQYWdpbmF0aW9uLWZvbnQtd2VpZ2h0KTtcbiAgcGFkZGluZzogdncoLS1wUGFnaW5hdGlvbi1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLXBQYWdpbmF0aW9uLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgd2lkdGg6IHZ3KC0tcFBhZ2luYXRpb24td2lkdGgtc3ApO1xuICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBib3JkZXItd2lkdGg6IHBjKC0tcFBhZ2luYXRpb24tYm9yZGVyLXdpZHRoKTtcbiAgICBmb250LXNpemU6IHBjKC0tcFBhZ2luYXRpb24tZm9udC1zaXplLXBjKTtcbiAgICBwYWRkaW5nOiBwYygtLXBQYWdpbmF0aW9uLXBhZGRpbmctYmxvY2stcGMpIHBjKC0tcFBhZ2luYXRpb24tcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgIHdpZHRoOiBwYygtLXBQYWdpbmF0aW9uLXdpZHRoLXBjKTtcbiAgfVxuICAmLmlzLWFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXBQYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcik7XG4gIH1cbiAgJjpub3QoLmlzLWFjdGl2ZSk6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcFBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wUGFnaW5hdGlvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tcFBhZ2luYXRpb24taG92ZXItY29sb3IpO1xuICB9XG4gICYuYXJyb3cge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogdncoLS1wUGFnaW5hdGlvbi1pY29uLXdpZHRoLXNwKTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IHBjKC0tcFBhZ2luYXRpb24taWNvbi13aWR0aC1wYyk7XG4gICAgICB9XG4gICAgfVxuICAgICYucHJldiB7XG4gICAgICBpbWcge1xuICAgICAgICByb3RhdGU6IHogMTgwZGVnO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBMb2NhbG5hdlRvcCB7XG4gIGZvbnQtc2l6ZTogdncoLS1wTG9jYWxuYXZUb3AtZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBMb2NhbG5hdlRvcC1mb250LXdlaWdodCk7XG4gIGNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtY29sb3ItZGVmYXVsdCk7XG4gIHBhZGRpbmc6IHZ3KC0tcExvY2FsbmF2VG9wLXBhZGRpbmctYmxvY2stc3ApIHZ3KC0tcExvY2FsbmF2VG9wLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWJhY2tncm91bmQtY29sb3ItZGVmYXVsdCk7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IHZ3KC0tcExvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20td2lkdGgpO1xuICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20tY29sb3ItZGVmYXVsdCk7XG4gIC8vIG1pbi13aWR0aDogdncoLS1wTG9jYWxuYXZUb3AtbWluLXdpZHRoLXNwKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS10cmFuc2l0aW9uLXNwZWVkKSB2YXIoLS1iZXppZXIpLCBib3JkZXItYm90dG9tLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllciksIGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogcGMoLS1wTG9jYWxuYXZUb3AtYm9yZGVyLWJvdHRvbS13aWR0aCk7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20tY29sb3ItZGVmYXVsdCk7XG4gICAgbWluLXdpZHRoOiBwYygtLXBMb2NhbG5hdlRvcC1taW4td2lkdGgtcGMpO1xuICB9XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wTG9jYWxuYXZUb3AtZm9udC1zaXplLXBjKTtcbiAgICBwYWRkaW5nOiBwYygtLXBMb2NhbG5hdlRvcC1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLXBMb2NhbG5hdlRvcC1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgZ2FwOiBwYygtLXBMb2NhbG5hdlRvcC1nYXAtcGMpO1xuICB9XG4gICYuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWNvbG9yLWFjdGl2ZSk7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20tY29sb3ItYWN0aXZlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3AtYmFja2dyb3VuZC1jb2xvci1hY3RpdmUpO1xuICB9XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1jb2xvci1hY3RpdmUpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tcExvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20tY29sb3ItYWN0aXZlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBMb2NhbG5hdlRvcC1iYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZSk7XG4gICAgfVxuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucExvY2FsbmF2VG9wU2VwYXJhdG9yIHtcbiAgaGVpZ2h0OiB2dygtLXBMb2NhbG5hdlRvcFNlcGFyYXRvci1oZWlnaHQtc3ApO1xuICB3aWR0aDogdncoLS1wTG9jYWxuYXZUb3BTZXBhcmF0b3Itd2lkdGgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wTG9jYWxuYXZUb3BTZXBhcmF0b3ItYmFja2dyb3VuZC1jb2xvcik7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGhlaWdodDogcGMoLS1wTG9jYWxuYXZUb3BTZXBhcmF0b3ItaGVpZ2h0LXBjKTtcbiAgICB3aWR0aDogcGMoLS1wTG9jYWxuYXZUb3BTZXBhcmF0b3Itd2lkdGgpO1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ucExvY2FsbmF2Qm90dG9tIHtcbiAgZm9udC1zaXplOiB2dygtLXBMb2NhbG5hdkJvdHRvbS1mb250LXNpemUtc3ApO1xuICBmb250LXdlaWdodDogdmFyKC0tcExvY2FsbmF2Qm90dG9tLWZvbnQtd2VpZ2h0KTtcbiAgY29sb3I6IHZhcigtLXBMb2NhbG5hdkJvdHRvbS1jb2xvcik7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICBnYXA6IHZ3KC0tcExvY2FsbmF2Qm90dG9tLWdhcC1zcCk7XG4gIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBmb250LXNpemU6IHBjKC0tcExvY2FsbmF2Qm90dG9tLWZvbnQtc2l6ZS1wYyk7XG4gICAgZ2FwOiBwYygtLXBMb2NhbG5hdkJvdHRvbS1nYXAtcGMpO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IHZ3KC0tcExvY2FsbmF2Qm90dG9tLWljb24td2lkdGgtc3ApO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19zLnN2Zyk7XG4gICAgbWFzay1zaXplOiBjb250YWluO1xuICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBMb2NhbG5hdkJvdHRvbS1pY29uLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHdpZHRoOiBwYygtLXBMb2NhbG5hdkJvdHRvbS1pY29uLXdpZHRoLXBjKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wTG9jYWxuYXZCb3R0b21MaXN0IHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgZ2FwOiB2dygtLXBMb2NhbG5hdkJvdHRvbUxpc3QtZ2FwLXJvdy1zcCkgdncoLS1wTG9jYWxuYXZCb3R0b21MaXN0LWdhcC1jb2wtc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBnYXA6IHBjKC0tcExvY2FsbmF2Qm90dG9tTGlzdC1nYXAtcm93LXBjKSBwYygtLXBMb2NhbG5hdkJvdHRvbUxpc3QtZ2FwLWNvbC1wYyk7XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wQnJlYWRjcnVtYnNUZXh0IHtcbiAgZm9udC1zaXplOiB2dygtLXBCcmVhZGNydW1ic1RleHQtZm9udC1zaXplLXNwKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtZm9udC13ZWlnaHQtYWN0aXZlKTtcbiAgY29sb3I6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtY29sb3ItYWN0aXZlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ3JpZC10ZW1wbGF0ZTogXG4gICAgXCJzbGFzaCB0ZXh0XCIgYXV0b1xuICAgIC8gYXV0byBhdXRvO1xuICBnYXA6IHZ3KC0tbkJyZWFkY3J1bWJzLWdhcC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtc2l6ZS1wYyk7XG4gICAgZ2FwOiBwYygtLW5CcmVhZGNydW1icy1nYXAtcGMpO1xuICB9XG4gICY6OmJlZm9yZSB7XG4gICAgZ3JpZC1hcmVhOiBzbGFzaDtcbiAgICBjb250ZW50OiBcIi9cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IHZ3KC0tcEJyZWFkY3J1bWJzU2VwYXJhdG9yLWZvbnQtc2l6ZS1zcCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBCcmVhZGNydW1ic1NlcGFyYXRvci1mb250LXdlaWdodCk7XG4gICAgY29sb3I6IHZhcigtLXBCcmVhZGNydW1ic1NlcGFyYXRvci1jb2xvcik7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBmb250LXNpemU6IHBjKC0tcEJyZWFkY3J1bWJzU2VwYXJhdG9yLWZvbnQtc2l6ZS1wYyk7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtZm9udC13ZWlnaHQtZGVmYXVsdCk7XG4gICAgY29sb3I6IHZhcigtLXBCcmVhZGNydW1ic1RleHQtY29sb3ItZGVmYXVsdCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLnBCcmVhZGNydW1ic1NlcGFyYXRvciB7XG4gIGZvbnQtc2l6ZTogdncoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtc2l6ZS1zcCk7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQnJlYWRjcnVtYnNUZXh0LWZvbnQtd2VpZ2h0LWRlZmF1bHQpO1xuICBjb2xvcjogdmFyKC0tcEJyZWFkY3J1bWJzVGV4dC1jb2xvci1kZWZhdWx0KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBCcmVhZGNydW1ic1RleHQtZm9udC1zaXplLXBjKTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2dygtLXBRLWljb24td2lkdGgtc3ApO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQgdXJsKC9pbWFnZXMvaWNvbl9xLnN2Zyk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoLS1wUS1pY29uLXdpZHRoLXBjKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wQXJ0aWNsZU5hdiB7XG4gIGZvbnQtc2l6ZTogdncoLS1wQXJ0aWNsZU5hdi1mb250LXNpemUtc3ApO1xuICBmb250LXdlaWdodDogdmFyKC0tcEFydGljbGVOYXYtZm9udC13ZWlnaHQpO1xuICBjb2xvcjogdmFyKC0tcEFydGljbGVOYXYtY29sb3IpO1xuICBwYWRkaW5nOiB2dygtLXBBcnRpY2xlTmF2LXBhZGRpbmctYmxvY2stc3ApIHZ3KC0tcEFydGljbGVOYXYtcGFkZGluZy1pbmxpbmUtc3ApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQXJ0aWNsZU5hdi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogdncoLS1wQXJ0aWNsZU5hdi1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXBBcnRpY2xlTmF2LWJvcmRlci1ib3R0b20tY29sb3IpO1xuICBnYXA6IHZ3KC0tcEFydGljbGVOYXYtZ2FwLXNwKTtcbiAgZGlzcGxheTogYmxvY2sgZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGZvbnQtc2l6ZTogcGMoLS1wQXJ0aWNsZU5hdi1mb250LXNpemUtcGMpO1xuICAgIHBhZGRpbmc6IHBjKC0tcEFydGljbGVOYXYtcGFkZGluZy1ibG9jay1wYykgcGMoLS1wQXJ0aWNsZU5hdi1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogcGMoLS1wQXJ0aWNsZU5hdi1ib3JkZXItYm90dG9tLXdpZHRoKTtcbiAgICBnYXA6IHBjKC0tcEFydGljbGVOYXYtZ2FwLXBjKTtcbiAgfVxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2dygtLXBBcnRpY2xlTmF2LWljb24td2lkdGgtc3ApO1xuICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgYmFja2dyb3VuZDogY2VudGVyIC8gY29udGFpbiBuby1yZXBlYXQgdXJsKC9pbWFnZXMvaWNvbl9hcnRpY2xlbmF2LnN2Zyk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICB3aWR0aDogcGMoLS1wQXJ0aWNsZU5hdi1pY29uLXdpZHRoLXBjKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX3BhZ2V0aXRsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNQYWdlVGl0bGUtYmFja2dyb3VuZC1jb2xvcik7XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIHBhZGRpbmctYmxvY2s6IHZ3KC0tY1BhZ2VUaXRsZS1wYWRkaW5nLWJsb2NrLXNwKTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctYmxvY2s6IHBjKC0tY1BhZ2VUaXRsZS1wYWRkaW5nLWJsb2NrLXBjKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfZXh0ZW5kZWR0aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ibG9jazogdncoNjBweCkgdncoMzJweCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBwYyg4MHB4KSBwYyg4MHB4KTtcbiAgfVxuICAuYmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IHZ3KDM2MHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LXdlYWspO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGhlaWdodDogcGMoNTYwcHgpO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXIgdG9wO1xuICAgIH1cbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiBwYyg0MHB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEocGNsYXJnZSkge1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyKHdpZGUpO1xuICAgIH1cbiAgICAuaW1hZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDMycHgpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZ3KDI0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMyAvIDI7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAwIDAgdncoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgICAgICAgYm94LXNoYWRvdzogMTZweCAxNnB4IDE2cHggMCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSk7XG4gICAgICAgICAgYm94LXNoYWRvdzogMjBweCAyMHB4IDE0cHggMCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xuICAgICAgICAgIHdpZHRoOiBwYyg2MDNweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnRleHQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBhZGRpbmctaW5saW5lOiB2dygyNHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgfVxuICAgICAgLnBQYWdlVGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseS1lbik7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoNDBweCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYyg3MnB4KTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMi44OHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoMTZweCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICBwYWRkaW5nOiB2dyg0cHgpIHZ3KDhweCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1tZWRpdW0pO1xuICAgICAgICBsaW5lLWhlaWdodDogMTYwJTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNDhweDtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDMycHgpO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjY0cHg7XG4gICAgICAgICAgcGFkZGluZzogcGMoNHB4KSBwYyg4cHgpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2NhdGNoY29weSB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY0NhdGNoY29weS1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tY0NhdGNoY29weS1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiB2dygtLWNDYXRjaGNvcHktZ2FwLXJvdy1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgIFwiaGVhZGluZyBoZWFkaW5nXCIgYXV0b1xuICAgICAgXCJsZWFkIHRleHRcIiBhdXRvXG4gICAgICBcImJ1dHRvbiBidXR0b25cIiBhdXRvXG4gICAgICAvIHBjKC0tY0NhdGNoY29weS1sZWFkLXdpZHRoKSAxZnI7XG4gICAgICBnYXA6IHBjKC0tY0NhdGNoY29weS1nYXAtcm93LXBjKSBwYygtLWNDYXRjaGNvcHktZ2FwLWNvbCk7XG4gICAgfVxuICAgIC5wSGVhZGluZ01lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtYXJlYTogaGVhZGluZztcbiAgICAgIH1cbiAgICB9XG4gICAgLnBMZWFkIHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBsZWFkO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBUZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgICAucEJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtYXJlYTogYnV0dG9uO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9jYXRjaGNvcHlfaW1hZ2Uge1xuICBtYXJnaW4tdG9wOiB2dygtLWNDYXRjaGNvcHlJbWFnZS1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tY0NhdGNoY29weUltYWdlLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogdncoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLXJvdy1zcCk7XG4gICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICBcIi4gdGV4dCBpbWFnZSBpbWFnZVwiIGF1dG9cbiAgICAgIC8gMWZyIHBjKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpIHBjKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpIDFmcjtcbiAgICAgIGdhcDogdW5zZXQ7XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLWFyZWE6IGltYWdlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdncoLS1jb250YWluZXItcGFkZGluZy1zcCk7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICAgIGdhcDogdncoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLXJvdy1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgICBnYXA6IHBjKC0tY0NhdGNoY29weUltYWdlLWdhcC1yb3ctcGMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOm5vdCgucmV2ZXJzZSkge1xuICAgICAgLnBJbWFnZSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB1bnNldDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHVuc2V0O1xuICAgICAgfVxuICAgICAgLnRleHQge1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcGMoLS1jQ2F0Y2hjb3B5SW1hZ2UtZ2FwLWNvbCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5yZXZlcnNlIHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgXCJpbWFnZSBpbWFnZSB0ZXh0IC5cIiBhdXRvXG4gICAgICAgIC8gMWZyIHBjKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpIHBjKC0tY0NhdGNoY29weUltYWdlLXRleHQtd2lkdGgpIDFmcjtcbiAgICAgIH1cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wSW1hZ2Uge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB1bnNldDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdW5zZXQ7XG4gICAgICB9XG4gICAgICAudGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHBjKC0tY0NhdGNoY29weUltYWdlLWdhcC1jb2wpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZV9iZyB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY0NhdGNoY29weUltYWdlQmctbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNDYXRjaGNvcHlJbWFnZUJnLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgICAgcGFkZGluZy1ib3R0b206IHBjKC0tY0NhdGNoY29weUltYWdlQmctaW1hZ2UtcG9zaXRpb24tcGMtYm90dG9tKTtcbiAgICB9XG4gICAgJjpub3QoLnJldmVyc2UpIHtcbiAgICAgIC50ZXh0IHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdncoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXNwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdncoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXNwKTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHBjKC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1wYyk7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogcGMoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnJldmVyc2Uge1xuICAgICAgLmltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB1bnNldDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdncoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXNwKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZ3KC0tY0NhdGNoY29weUltYWdlQmctYm9yZGVyLXJhZGl1cy1zcCk7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcGMoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcGMoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1ib3JkZXItcmFkaXVzLXBjKTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdncoLS1jb250YWluZXItcGFkZGluZy1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgICAgd2lkdGg6IHBjKC0tY0NhdGNoY29weUltYWdlQmctaW1hZ2Utd2lkdGgtcGMpO1xuICAgICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1iYWNrZ291bmQtY29sb3IpO1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHZ3KC0tY0NhdGNoY29weUltYWdlQmctcGFkZGluZy1pbmxpbmUtc3ApO1xuICAgICAgcGFkZGluZy1ibG9jazogdncoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1wYWRkaW5nLWJsb2NrLXNwKTtcbiAgICAgIHdpZHRoOiB2dygtLWNDYXRjaGNvcHlJbWFnZUJnLXRleHQtd2lkdGgtc3ApO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogdncoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy10ZXh0LXBvc2l0aW9uLXNwLXRvcCk7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgICAgZ2FwOiB2dygtLWNDYXRjaGNvcHlJbWFnZUJnLWdhcC1yb3ctc3ApO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwYWRkaW5nLWlubGluZTogcGMoLS1jQ2F0Y2hjb3B5SW1hZ2VCZy1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHBjKC0tY0NhdGNoY29weUltYWdlQmctcGFkZGluZy1ibG9jay1wYyk7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiBwYygtLWNDYXRjaGNvcHlJbWFnZUJnLXRleHQtd2lkdGgtcGMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWNDYXRjaGNvcHlJbWFnZUJnLWJvcmRlci1yYWRpdXMtcGMpO1xuICAgICAgICBnYXA6IHBjKC0tY0NhdGNoY29weUltYWdlQmctZ2FwLXJvdy1wYyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2NvbnZlcnNpb24ge1xuICBAaW5jbHVkZSBjb250YWluZXI7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY0NvbnZlcnNpb24tbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNDb252ZXJzaW9uLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jQ29udmVyc2lvbi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2dygtLWNDb252ZXJzaW9uLWJvcmRlci1yYWRpdXMtc3ApO1xuICAgIHBhZGRpbmc6IHZ3KC0tY0NvbnZlcnNpb24tcGFkZGluZy1ibG9jay1zcCkgdncoLS1jQ29udmVyc2lvbi1wYWRkaW5nLWlubGluZS1zcCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgIGdhcDogdncoLS1jQ29udmVyc2lvbi1nYXAtcm93LXNwKTtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIHBhZGRpbmc6IHBjKC0tY0NvbnZlcnNpb24tcGFkZGluZy1ibG9jay1wYykgcGMoLS1jQ29udmVyc2lvbi1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgICBib3JkZXItcmFkaXVzOiBwYygtLWNDb252ZXJzaW9uLWJvcmRlci1yYWRpdXMtcGMpO1xuICAgICAgZ2FwOiBwYygtLWNDb252ZXJzaW9uLWdhcC1yb3ctcGMpO1xuICAgICAganVzdGlmeS1pdGVtczogc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAmLmNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmLnJpZ2h0IHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAganVzdGlmeS1pdGVtczogZW5kO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlIHtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiB2dygtLWNDb252ZXJzaW9uLWxvZ28td2lkdGgtc3ApO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgd2lkdGg6IHBjKC0tY0NvbnZlcnNpb24tbG9nby13aWR0aC1wYyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnBDb252ZXJzaW9uSGVhZGluZyB7XG4gICAgICBjb2xvcjogdmFyKC0tY0NvbnZlcnNpb24tY29sb3IpO1xuICAgIH1cbiAgICAucFRleHQge1xuICAgICAgY29sb3I6IHZhcigtLWNDb252ZXJzaW9uLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfYmxvZ3RpdGxlIHtcbiAgcGFkZGluZy10b3A6IHZ3KDYwcHgpO1xuICBwYWRkaW5nLXJpZ2h0OiB2dygzMHB4KTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIHBhZGRpbmctdG9wOiBwYygxODBweCk7XG4gICAgcGFkZGluZy1yaWdodDogcGMoOTBweCk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBwYWRkaW5nOiB2dygzMnB4KSB2dygyNHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwIHZhcigtLWJvcmRlci1yYWRpdXMtbWVkaXVtKSB2YXIoLS1ib3JkZXItcmFkaXVzLW1lZGl1bSkgMDtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBwYygxMDBweCk7XG4gICAgfVxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14bCk7XG4gICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tbGluZS1oZWlnaHQteHNtYWxsKTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eHhsKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTB2dyAtIHBjKDYzMHB4KSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHBjKDIwMHB4KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNhdCB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtLjFlbTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBtYXJnaW4tdG9wOiBwYygyNHB4KTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTB2dyAtIHBjKDYzMHB4KSk7XG4gICAgICAgIHRyYW5zbGF0ZTogcGMoLTZweCkgMDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogLjVlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfaGVhZGluZyB7XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICB9XG4gICYubGFyZ2Uge1xuICAgIG1hcmdpbi10b3A6IHZ3KC0tY0hlYWRpbmctbGFyZ2UtbWFyZ2luLXRvcC1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgbWFyZ2luLXRvcDogcGMoLS1jSGVhZGluZy1sYXJnZS1tYXJnaW4tdG9wLXBjKTtcbiAgICB9XG4gIH1cbiAgJi5tZWRpdW0ge1xuICAgIG1hcmdpbi10b3A6IHZ3KC0tY0hlYWRpbmctbWVkaXVtLW1hcmdpbi10b3Atc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKC0tY0hlYWRpbmctbWVkaXVtLW1hcmdpbi10b3AtcGMpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9oZWFkaW5nX2V4IHtcbiAgQGluY2x1ZGUgc2VjdGlvbjtcbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfdGV4dCB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY1RleHQtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNUZXh0LW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2xlYWQge1xuICBtYXJnaW4tdG9wOiB2dygtLWNMZWFkLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jTGVhZC1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV90ZXh0X2ltYWdlIHtcbiAgbWFyZ2luLXRvcDogdncoLS1jVGV4dEltYWdlLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jVGV4dEltYWdlLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IHZ3KC0tY1RleHRJbWFnZS1nYXAtcm93LXNwKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJpbWFnZXMgdGV4dFwiIGF1dG9cbiAgICAgIC8gcGMoLS1jVGV4dEltYWdlLWltYWdlLXdpZHRoKSAxZnI7XG4gICAgICBnYXA6IHBjKC0tY1RleHRJbWFnZS1nYXAtcm93LXBjKSBwYygtLWNUZXh0SW1hZ2UtZ2FwLWNvbCk7XG4gICAgfVxuICAgICYucmV2ZXJzZSB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwidGV4dCBpbWFnZXNcIiBhdXRvXG4gICAgICAgIC8gMWZyIHBjKC0tY1RleHRJbWFnZS1pbWFnZS13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgICAgZ2FwOiB2dygtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1zcCk7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgICBnYXA6IHBjKC0tY1RleHRJbWFnZS1nYXAtcm93LXBjKTtcbiAgICAgIH1cblxuICAgIH1cbiAgICAuaW1hZ2VzIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgICAgZ2FwOiB2dygtLWNUZXh0SW1hZ2UtZ2FwLXJvdy1zcCk7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBpbWFnZXM7XG4gICAgICAgIGdhcDogcGMoLS1jVGV4dEltYWdlLWdhcC1yb3ctcGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV90ZXh0X21hcCB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY1RleHRNYXAtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNUZXh0TWFwLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IHZ3KC0tY1RleHRNYXAtZ2FwLXJvdy1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgIFwibWFwIHRleHRcIiBhdXRvXG4gICAgICAvIHBjKC0tY1RleHRNYXAtaW1hZ2Utd2lkdGgpIDFmcjtcbiAgICAgIGdhcDogcGMoLS1jVGV4dE1hcC1nYXAtcm93LXBjKSBwYygtLWNUZXh0TWFwLWdhcC1jb2wpO1xuICAgIH1cbiAgICAmLnJldmVyc2Uge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICBcInRleHQgbWFwXCIgYXV0b1xuICAgICAgICAvIDFmciBwYygtLWNUZXh0TWFwLWltYWdlLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLnRleHQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgICBnYXA6IHZ3KC0tY1RleHRNYXAtZ2FwLXJvdy1zcCk7XG4gICAgICBhbGlnbi1zZWxmOiBzdGFydDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0ZXh0O1xuICAgICAgICBnYXA6IHBjKC0tY1RleHRNYXAtZ2FwLXJvdy1wYyk7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLnBNYXBDYXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBtYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX21hcHtcbiAgbWFyZ2luLXRvcDogdncoLS1jTWFwLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jTWFwLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIC5wTWFwQ2FwdGlvbiB7XG4gICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9pbWFnZV9tdWx0aSB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY0ltYWdlLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jSW1hZ2UtbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgJi5zZXQxIHtcbiAgICAuaW5uZXIge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zZXQyIHtcbiAgICAuaW5uZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0MyB7XG4gICAgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0NCB7XG4gICAgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGdhcDogdncoLS1jSW1hZ2UtZ2FwLXJvdy1zcCkgdncoLS1jSW1hZ2UtZ2FwLWNvbC1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ2FwOiBwYygtLWNJbWFnZS1nYXAtcm93LXBjKSBwYygtLWNJbWFnZS1nYXAtY29sLXBjKTtcbiAgICB9XG4gICAgLnBJbWFnZUNhcHRpb24ge1xuICAgICAgJi5zaHJpbmsge1xuICAgICAgICAucENhcHRpb24ge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfbW92aWVfbXVsdGkge1xuICBtYXJnaW4tdG9wOiB2dygtLWNJbWFnZS1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tY0ltYWdlLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gICYuc2V0MSB7XG4gICAgLmlubmVyIHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAucEltYWdlQ2FwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0MiB7XG4gICAgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldDMge1xuICAgIC5pbm5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldDQge1xuICAgIC5pbm5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDEsIGF1dG8pO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBnYXA6IHZ3KC0tY0ltYWdlLWdhcC1yb3ctc3ApIHZ3KC0tY0ltYWdlLWdhcC1jb2wtc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdhcDogcGMoLS1jSW1hZ2UtZ2FwLXJvdy1wYykgcGMoLS1jSW1hZ2UtZ2FwLWNvbC1wYyk7XG4gICAgfVxuICAgIC5wSW1hZ2VDYXB0aW9uIHtcbiAgICAgIC5wSW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDk7XG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAucENhcHRpb24ge1xuICAgICAgICAmLnNocmluayB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9wYW5lbCB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY1BhbmVsLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jUGFuZWwtbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgJi5zZXQxIHtcbiAgICAuaW5uZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICAucFBhbmVsIHtcbiAgICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zZXQyIHtcbiAgICAuaW5uZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0MyB7XG4gICAgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0NCB7XG4gICAgLmlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGdhcDogdncoLS1jUGFuZWwtZ2FwLXJvdy1zcCkgdncoLS1jUGFuZWwtZ2FwLWNvbC1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ2FwOiBwYygtLWNQYW5lbC1nYXAtcm93LXBjKSBwYygtLWNQYW5lbC1nYXAtY29sLXBjKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfc3BlYWtlciB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY1NwZWFrZXItbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNTcGVha2VyLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gID4gLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiBwYygtLWNTcGVha2VyLWdhcC1wYyk7XG4gICAgfVxuICAgIC5zcGVha2VyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLWF1dG8tZmxvdzogcm93O1xuICAgICAgZ2FwOiB2dygtLWNTcGVha2VyLXNwZWFrZXItZ2FwLXNwKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNTcGVha2VyLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgcGFkZGluZzogdncoLS1jU3BlYWtlci1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLWNTcGVha2VyLXBhZGRpbmctaW5saW5lLXNwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tY1NwZWFrZXItYm9yZGVyLXJhZGl1cy1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIHBhZGRpbmc6IHBjKC0tY1NwZWFrZXItcGFkZGluZy1ibG9jay1wYykgcGMoLS1jU3BlYWtlci1wYWRkaW5nLWlubGluZS1wYyk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHBjKC0tY1NwZWFrZXItYm9yZGVyLXJhZGl1cy1wYyk7XG4gICAgICAgIGdhcDogcGMoLS1jU3BlYWtlci1zcGVha2VyLWdhcC1wYyk7XG4gICAgICAgIHdpZHRoOiBwYygtLWNTcGVha2VyLXNwZWFrZXItd2lkdGgpO1xuICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAmLnN0YXRpYyB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBIZWFkaW5nTWVkaXVtIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiB2dygtLWNTcGVha2VyLWdhcC1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgfVxuICAgICAgLmNvbXBvbmVudDpub3QoLnR5cGVfY29sdW1uKSAuY29udGFpbmVyLFxuICAgICAgLmNvbXBvbmVudDpub3QoLnR5cGVfY29sdW1uKSAuaW5uZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgfVxuICAgICAgLmNvbXBvbmVudCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZ3KC0tbWFyZ2luLXRvcC0xKTtcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoLS1tYXJnaW4tdG9wLTIpO1xuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50eXBlX2NvbHVtbiB7XG4gICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgXCJoZWFkaW5nXCIgYXV0b1xuICAgICAgICAgIFwic3ViaGVhZGluZ1wiIGF1dG9cbiAgICAgICAgICBcInRleHRcIiBhdXRvXG4gICAgICAgICAgXCJpbWFnZXNcIiBhdXRvXG4gICAgICAgICAgXCJidXR0b25cIiBhdXRvIC8gMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnR5cGVfdGFibGUge1xuICAgICAgICAuaW5uZXIge1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9jb2x1bW4ge1xuICBtYXJnaW4tdG9wOiB2dygtLWNDb2x1bW4tbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLWNDb2x1bW4tbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIC5pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgIHBhZGRpbmc6IHZ3KC0tY0NvbHVtbi1wYWRkaW5nLWJsb2NrLXNwKSB2dygtLWNDb2x1bW4tcGFkZGluZy1pbmxpbmUtc3ApO1xuICAgICAgYm9yZGVyOiB2dygtLWNDb2x1bW4tYm9yZGVyLXdpZHRoLXNwKSBzb2xpZCB2YXIoLS1jQ29sdW1uLWJvcmRlci1jb2xvcik7XG4gICAgICAvLyBnYXA6IHZ3KC0tY0NvbHVtbi1nYXAtcm93LXNwKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KC0tY0NvbHVtbi1ib3JkZXItcmFkaXVzLXNwKTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIHBhZGRpbmc6IHBjKC0tY0NvbHVtbi1wYWRkaW5nLWJsb2NrLXBjKSBwYygtLWNDb2x1bW4tcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgICAgICBnYXA6IDAgcGMoLS1jQ29sdW1uLWdhcC1jb2wpO1xuICAgICAgICBib3JkZXItd2lkdGg6IHBjKC0tY0NvbHVtbi1ib3JkZXItd2lkdGgtcGMpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiBwYygtLWNDb2x1bW4tYm9yZGVyLXJhZGl1cy1wYyk7XG4gICAgICB9XG4gICAgICAmLm5vcm1hbCwgJi5yZXZlcnNlIHtcbiAgICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5ub3JtYWwge1xuICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICBcImhlYWRpbmdcIiBhdXRvXG4gICAgICAgIFwic3ViaGVhZGluZ1wiIGF1dG9cbiAgICAgICAgXCJ0ZXh0XCIgYXV0b1xuICAgICAgICBcImltYWdlc1wiIGF1dG9cbiAgICAgICAgLyAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgICBcImltYWdlcyBoZWFkaW5nXCIgYXV0b1xuICAgICAgICAgIFwiaW1hZ2VzIHN1YmhlYWRpbmdcIiBhdXRvXG4gICAgICAgICAgXCJpbWFnZXMgdGV4dFwiIDFmclxuICAgICAgICAgIC8gcGMoLS1jQ29sdW1uLWltYWdlLXdpZHRoKSAxZnI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucmV2ZXJzZSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwiaGVhZGluZ1wiIGF1dG9cbiAgICAgICAgXCJzdWJoZWFkaW5nXCIgYXV0b1xuICAgICAgICBcInRleHRcIiBhdXRvXG4gICAgICAgIFwiaW1hZ2VzXCIgYXV0b1xuICAgICAgICAvIDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICAgIFwiaGVhZGluZyBpbWFnZXNcIiBhdXRvXG4gICAgICAgICAgXCJzdWJoZWFkaW5nIGltYWdlc1wiIGF1dG9cbiAgICAgICAgICBcInRleHQgaW1hZ2VzXCIgMWZyXG4gICAgICAgICAgLyAxZnIgcGMoLS1jQ29sdW1uLWltYWdlLXdpZHRoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwiaGVhZGluZ1wiIGF1dG9cbiAgICAgICAgXCJzdWJoZWFkaW5nXCIgYXV0b1xuICAgICAgICBcImltYWdlc1wiIGF1dG9cbiAgICAgICAgXCJ0ZXh0XCIgYXV0b1xuICAgICAgICAvIDEwMCU7XG4gICAgICAgICY6bm90KDpoYXMoLnBIZWFkaW5nTWVkaXVtKSk6bm90KDpoYXMoLnBUZXh0LnN1YmhlYWRpbmcpKSB7XG4gICAgICAgICAgLmltYWdlcyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlcyB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKC0tY0NvbHVtbi1nYXAtcm93LXBjKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgLnBCdXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYudmVydGljYWxfcmV2ZXJzZSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgIFwiaGVhZGluZ1wiIGF1dG9cbiAgICAgICAgXCJzdWJoZWFkaW5nXCIgYXV0b1xuICAgICAgICBcInRleHRcIiBhdXRvXG4gICAgICAgIFwiaW1hZ2VzXCIgYXV0b1xuICAgICAgICAvIDEwMCU7XG4gICAgICAgICY6bm90KDpoYXMoLnBIZWFkaW5nTWVkaXVtKSk6bm90KDpoYXMoLnBUZXh0LnN1YmhlYWRpbmcpKSB7XG4gICAgICAgICAgLnRleHQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5pbWFnZXMge1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBwYygtLWNDb2x1bW4tZ2FwLXJvdy1wYyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIC5wQnV0dG9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnRleHRvbmx5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAucEhlYWRpbmdNZWRpdW0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGdyaWQtYXJlYTogaGVhZGluZztcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wVGV4dC5zdWJoZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoLS1jQ29sdW1uLWdhcC1yb3ctc3ApO1xuICAgICAgICBjb2xvcjogdmFyKC0tY0NvbHVtbi1zdWJoZWFkaW5nLWNvbG9yKTtcbiAgICAgICAgZ3JpZC1hcmVhOiBzdWJoZWFkaW5nO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoLS1jQ29sdW1uLWdhcC1yb3ctcGMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuaW1hZ2VzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoLS1jQ29sdW1uLWdhcC1yb3ctc3ApO1xuICAgICAgICBncmlkLWFyZWE6IGltYWdlcztcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICAgICAgZ2FwOiB2dygtLWNDb2x1bW4tZ2FwLXJvdy1zcCk7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgZ2FwOiBwYygtLWNDb2x1bW4tZ2FwLXJvdy1wYyk7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgICAgLnBJbWFnZUNhcHRpb24ge1xuICAgICAgICAgIGNvbnRhaW5lci10eXBlOiB1bnNldDtcbiAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGV4dCB7XG4gICAgICAgIGdyaWQtYXJlYTogdGV4dDtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoLS1jQ29sdW1uLWdhcC1yb3ctc3ApO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcGMoLS1jQ29sdW1uLWdhcC1yb3ctcGMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBidXR0b247XG4gICAgICAgIC5wQnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IHVuc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwicGFydHMvY2VsbFwiO1xuXG4uY29tcG9uZW50LnR5cGVfdGFibGUge1xuICBtYXJnaW4tdG9wOiB2dygtLWNUYWJsZS1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tY1RhYmxlLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKCk7XG4gICAgLnRhYmxlX3NldCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgJjpub3QoOmhhcygubmFycm93LC5yZXZlcnNlKSkge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcENlbGwoJHR5cGU6ICdkZWZhdWx0Jyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnJldmVyc2Uge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgQGluY2x1ZGUgcENlbGwoJGNvbG9yOiAncmV2ZXJzZScpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5uYXJyb3cge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgcENlbGwoJHNpemU6ICduYXJyb3cnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuZml4ZWQge1xuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmZpeF9sZWZ0IHtcbiAgICAgICAgdGFibGUge1xuICAgICAgICAgIHRoIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi56ZWJyYSB7XG4gICAgICAgIHRhYmxlIHtcbiAgICAgICAgICB0cjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICB0aCwgdGQge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwQ2VsbCgkdHlwZTogJ3plYnJhJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0cjpoYXModGQpIHRoIHtcbiAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9XG4gICAgICAgIHRoIHtcbiAgICAgICAgICBAaW5jbHVkZSBwQ2VsbCgkdHlwZTogJ2hlYWRlcicpO1xuICAgICAgICB9XG4gICAgICAgIHRkIHtcbiAgICAgICAgICBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxZW07XG4gICAgICAgICAgfVxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuQG1peGluIHBDZWxsKCR0eXBlOiAnJywgJHNpemU6ICdkZWZhdWx0JywgJGNvbG9yOiAnZGVmYXVsdCcpIHtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IHZ3KC0tcENlbGwtYm9yZGVyLWxlZnQpO1xuICBib3JkZXItdG9wLXdpZHRoOiB2dygtLXBDZWxsLWJvcmRlci10b3ApO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IHZ3KC0tcENlbGwtYm9yZGVyLXJpZ2h0KTtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogdncoLS1wQ2VsbC1ib3JkZXItYm90dG9tKTtcbiAgcGFkZGluZy1pbmxpbmU6IHZ3KC0tcENlbGwtcGFkZGluZy1pbmxpbmUtc3ApO1xuICBmb250LXNpemU6IHZ3KC0tcENlbGwtZm9udC1zaXplLXNwKTtcbiAgbWluLXdpZHRoOiB2dygtLXBDZWxsLW1pbi13aWR0aCk7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgZm9udC1zaXplOiBwYygtLXBDZWxsLWZvbnQtc2l6ZS1wYyk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHBjKC0tcENlbGwtcGFkZGluZy1pbmxpbmUtcGMpO1xuICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IHBjKC0tcENlbGwtYm9yZGVyLWxlZnQpO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IHBjKC0tcENlbGwtYm9yZGVyLXRvcCk7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiBwYygtLXBDZWxsLWJvcmRlci1yaWdodCk7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogcGMoLS1wQ2VsbC1ib3JkZXItYm90dG9tKTtcbiAgfVxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiAkdHlwZSA9PSAnZGVmYXVsdCcge1xuICAgIGNvbG9yOiB2YXIoLS1wQ2VsbC1kYXRhLWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tcENlbGwtZGF0YS1mb250LXdlaWdodCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wQ2VsbC1kYXRhLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcENlbGwtZGF0YS1iYWNrZ3JvdW5kKTtcbiAgfVxuICBAaWYgJHR5cGUgPT0gJ2hlYWRlcicge1xuICAgIGNvbG9yOiB2YXIoLS1wQ2VsbC1oZWFkZXItY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1wQ2VsbC1oZWFkZXItZm9udC13ZWlnaHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcENlbGwtaGVhZGVyLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcENlbGwtaGVhZGVyLWJhY2tncm91bmQpO1xuICB9XG4gIEBpZiAkdHlwZSA9PSAnemVicmEnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wQ2VsbC16ZWJyYS1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tcENlbGwtemVicmEtY29sb3IpO1xuICB9XG4gIEBpZiAkY29sb3IgPT0gJ3JldmVyc2UnIHtcbiAgICBjb2xvcjogdmFyKC0tcENlbGwtcmV2ZXJzZS1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLXBDZWxsLXJldmVyc2UtZm9udC13ZWlnaHQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcENlbGwtcmV2ZXJzZS1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBDZWxsLXJldmVyc2UtYmFja2dyb3VuZCk7XG4gIH1cbiAgQGlmICRzaXplID09ICduYXJyb3cnIHtcbiAgICBwYWRkaW5nLWJsb2NrOiB2dygtLXBDZWxsLXBhZGRpbmctYmxvY2stc3AtbmFycm93KTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBwYWRkaW5nLWJsb2NrOiBwYygtLXBDZWxsLXBhZGRpbmctYmxvY2stcGMtbmFycm93KTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIHBhZGRpbmctYmxvY2s6IHZ3KC0tcENlbGwtcGFkZGluZy1ibG9jay1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgcGFkZGluZy1ibG9jazogcGMoLS1wQ2VsbC1wYWRkaW5nLWJsb2NrLXBjKTtcbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2J1dHRvbiB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY0J1dHRvbi1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tY0J1dHRvbi1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IHZ3KC0tY0J1dHRvbi1nYXAtY29sLXNwKSB2dygtLWNCdXR0b24tZ2FwLXJvdy1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdhcDogcGMoLS1jQnV0dG9uLWdhcC1jb2wtcGMpIHBjKC0tY0J1dHRvbi1nYXAtcm93LXBjKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfYW5jaG9yIHtcbiAgQGluY2x1ZGUgc2VjdGlvbjtcbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogdncoOHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgZ2FwOiBwYygxMnB4KTtcbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBhIHtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9udW0ge1xuICBAaW5jbHVkZSBzZWN0aW9uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTJGM0Y4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIEBpbmNsdWRlIG1xIHtcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxuICAmLnNldDIge1xuICAgIC5pbm5lciB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdhcDogODBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zZXQzIHtcbiAgICAuaW5uZXIge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBnYXA6IDM1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0MywgJi5zZXQ0IHtcbiAgICAuaW5uZXIge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgICB9XG4gICAgICAudW5pdCB7XG4gICAgICAgIC5jaXJjbGUge1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMjMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRsIHtcbiAgICAgICAgICAgIGR0IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICAgIHRvcDogNDBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDM1cHg7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRkIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICAgIHRvcDogODBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBlbSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDhweCA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogMjBweDtcbiAgICB9XG4gICAgLnVuaXQge1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgICAuY2lyY2xlIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMjBweDtcbiAgICAgICAgfVxuICAgICAgICBkbCB7XG4gICAgICAgICAgZHQge1xuICAgICAgICAgICAgZm9udC1zaXplOiB2dygxOHB4KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA3MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRkIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgdG9wOiAxMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVtIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiB2dyg3MHB4KTtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKDgwcHgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiB2dygyNHB4KTtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmRlc2Mge1xuICAgICAgICBmb250LXNpemU6IHZ3KDEzcHgpO1xuICAgICAgICBcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygxNXB4KTtcbiAgICAgICAgICBcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV93eXNpd3lnIHtcbiAgbWFyZ2luLXRvcDogdncoLS1tYXJnaW4tdG9wLTIpO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1tYXJnaW4tdG9wLTMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX2NhdGFsb2cge1xuICBtYXJnaW4tdG9wOiB2dygtLWNDYXRhbG9nLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jQ2F0YWxvZy1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgZ2FwOiB2dygtLWNDYXRhbG9nLWdhcC1yb3ctc3ApIDA7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIGdhcDogcGMoLS1jQ2F0YWxvZy1nYXAtcm93LXBjKSBwYygtLWNDYXRhbG9nLWdhcC1jb2wtcGMpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9maWxlbGlzdCB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY0ZpbGVsaXN0LW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jRmlsZWxpc3QtbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogdncoLS1jRmlsZWxpc3QtZ2FwLXJvdy1zcCkgdncoLS1jRmlsZWxpc3QtZ2FwLWNvbC1zcCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgZ2FwOiBwYygtLWNGaWxlbGlzdC1nYXAtcm93LXBjKSBwYygtLWNGaWxlbGlzdC1nYXAtY29sLXBjKTtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uY29tcG9uZW50LnR5cGVfZmFxIHtcbiAgbWFyZ2luLXRvcDogdncoLS1jRmFxLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1jRmFxLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IHJvdztcbiAgICBnYXA6IHZ3KC0tY0ZhcS1nYXAtc3ApO1xuICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgIGdhcDogcGMoLS1jRmFxLWdhcC1wYyk7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLmNvbXBvbmVudC50eXBlX21lbWJlciB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tY01lbWJlci1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tY01lbWJlci1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMSwgYXV0byk7XG4gICAgZ2FwOiB2dygtLWNNZW1iZXItZ2FwLXJvdy1zcCkgMDtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgICAgZ2FwOiBwYygtLWNNZW1iZXItZ2FwLXJvdy1wYykgcGMoLS1jTWVtYmVyLWdhcC1jb2wtcGMpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5jb21wb25lbnQudHlwZV9pZnJhbWV7XG4gIG1hcmdpbi10b3A6IHZ3KC0tbWFyZ2luLXRvcC0yKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXRvcC0zKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaWZyYW1lIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luLXRvcDogdncoLS1uQnJlYWRjcnVtYnMtbWFyZ2luLXRvcC1zcCk7XG4gIHBhZGRpbmctYm90dG9tOiB2dygtLW5CcmVhZGNydW1icy1wYWRkaW5nLWJvdHRvbS1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tbkJyZWFkY3J1bWJzLW1hcmdpbi10b3AtcGMpO1xuICAgIHBhZGRpbmctYm90dG9tOiBwYygtLW5CcmVhZGNydW1icy1wYWRkaW5nLWJvdHRvbS1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogdncoLS1uQnJlYWRjcnVtYnMtZ2FwLXNwKTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBnYXA6IHBjKC0tbkJyZWFkY3J1bWJzLWdhcC1wYyk7XG4gICAgICB9XG4gICAgICAucEJyZWFkY3J1bWJzVGV4dCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogdW5zZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLm5hdmlnYXRpb24ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tblBhZ2luYXRpb24tbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tblBhZ2luYXRpb24tbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogdncoLS1uUGFnaW5hdGlvbi1nYXAtc3ApO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdhcDogcGMoLS1uUGFnaW5hdGlvbi1nYXAtcGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5uYXZpZ2F0aW9uLnBhZ2luYXRpb25kZXRhaWwge1xuICBtYXJnaW4tdG9wOiB2dygtLW5QYWdpbmF0aW9uRGV0YWlsLW1hcmdpbi10b3Atc3ApO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW5QYWdpbmF0aW9uRGV0YWlsLW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGp1c3RpZnktaXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZ3KC0tblBhZ2luYXRpb25EZXRhaWwtZ2FwLXNwKTtcbiAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgXCJwcmV2IG5leHRcIiBhdXRvXG4gICAgICBcImJhY2sgYmFja1wiIGF1dG9cbiAgICAgIC8gMWZyIDFmcjtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICBcInByZXYgYmFjayBuZXh0XCIgYXV0b1xuICAgICAgICAvIGF1dG8gYXV0byBhdXRvO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogcGMoLS1uUGFnaW5hdGlvbkRldGFpbC1nYXAtcGMpO1xuICAgIH1cbiAgICAucHJldiB7XG4gICAgICBncmlkLWFyZWE6IHByZXY7XG4gICAgfVxuICAgIC5iYWNrIHtcbiAgICAgIGdyaWQtYXJlYTogYmFjaztcbiAgICB9XG4gICAgLm5leHQge1xuICAgICAgZ3JpZC1hcmVhOiBuZXh0O1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5uYXZpZ2F0aW9uLmxvY2FsbmF2dG9wIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogdncoLS1uTG9jYWxuYXZUb3AtYm9yZGVyLXRvcC13aWR0aCk7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IHZ3KC0tbkxvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20td2lkdGgpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLW5Mb2NhbG5hdlRvcC1ib3JkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uTG9jYWxuYXZUb3AtYmFja2dyb3VuZC1jb2xvcik7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IHBjKC0tbkxvY2FsbmF2VG9wLWJvcmRlci10b3Atd2lkdGgpO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IHBjKC0tbkxvY2FsbmF2VG9wLWJvcmRlci1ib3R0b20td2lkdGgpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgLm92ZXJmbG93IHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGdhcDogdncoLS1uTG9jYWxuYXZUb3AtZ2FwLXNwKTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZ2FwOiBwYygtLW5Mb2NhbG5hdlRvcC1nYXAtcGMpO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bztcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGdhcDogdncoLS1uTG9jYWxuYXZUb3AtZ2FwLXNwKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGdhcDogcGMoLS1uTG9jYWxuYXZUb3AtZ2FwLXBjKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIEBleHRlbmQgLnBMb2NhbG5hdlRvcFNlcGFyYXRvcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ubmF2aWdhdGlvbi5sb2NhbG5hdl9zdWIge1xuICBtYXJnaW4tdG9wOiB2dygtLW5Mb2NhbG5hdlN1Yi1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1uTG9jYWxuYXZTdWItbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGdhcDogdncoLS1uTG9jYWxuYXZTdWItZ2FwLXJvdy1zcCkgdncoLS1uTG9jYWxuYXZTdWItZ2FwLWNvbC1zcCk7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ2FwOiBwYygtLW5Mb2NhbG5hdlN1Yi1nYXAtcm93LXBjKSBwYygtLW5Mb2NhbG5hdlN1Yi1nYXAtY29sLXBjKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4ubmF2aWdhdGlvbi5sb2NhbG5hdl9ib3R0b20ge1xuICBtYXJnaW4tdG9wOiB2dygtLW5Mb2NhbG5hdkJvdHRvbS1tYXJnaW4tdG9wLXNwKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbkxvY2FsbmF2Qm90dG9tLWJhY2tncm91bmQtY29sb3IpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYygtLW5Mb2NhbG5hdkJvdHRvbS1tYXJnaW4tdG9wLXBjKTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcjtcbiAgICBwYWRkaW5nLWJsb2NrOiB2dygtLW5Mb2NhbG5hdkJvdHRvbS1wYWRkaW5nLWJsb2NrLXNwKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ2FwOiB2dygtLW5Mb2NhbG5hdkJvdHRvbS1nYXAtc3ApO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgcGFkZGluZy1ibG9jazogcGMoLS1uTG9jYWxuYXZCb3R0b20tcGFkZGluZy1ibG9jay1wYyk7XG4gICAgICBnYXA6IHBjKC0tbkxvY2FsbmF2Qm90dG9tLWdhcC1wYyk7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLm5hdmlnYXRpb24uYXJjaGl2ZW5hdiB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tbkFyY2hpdmVuYXYtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tbkFyY2hpdmVuYXYtbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgLm92ZXJmbG93IHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IHZ3KC0tbkFyY2hpdmVuYXYtZ2FwLXJvdy1zcCkgdncoLS1uQXJjaGl2ZW5hdi1nYXAtY29sLXNwKTtcbiAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBnYXA6IHBjKC0tbkFyY2hpdmVuYXYtZ2FwLXJvdy1wYykgcGMoLS1uQXJjaGl2ZW5hdi1nYXAtY29sLXBjKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5uYXZpZ2F0aW9uLm5ld3NsaXN0IHtcbiAgbWFyZ2luLXRvcDogdncoLS1jTmV3c0xpc3QtbWFyZ2luLXRvcC1zcCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tY05ld3NMaXN0LW1hcmdpbi10b3AtcGMpO1xuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLm5hdmlnYXRpb24uYXJ0aWNsZWxpc3Qge1xuICBtYXJnaW4tdG9wOiB2dygtLW5BcnRpY2xlTGlzdC1tYXJnaW4tdG9wLXNwKTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoLS1uQXJ0aWNsZUxpc3QtbWFyZ2luLXRvcC1wYyk7XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBjb250YWluZXI7XG4gICAgLmxpc3Qge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDEwMCUpO1xuICAgICAgZ2FwOiB2dygtLW5BcnRpY2xlTGlzdC1nYXAtcm93LXNwKSAwO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBnYXA6IHBjKC0tbkFydGljbGVMaXN0LWdhcC1yb3ctcGMpIHBjKC0tbkFydGljbGVMaXN0LWdhcC1jb2wtcGMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4uYXJ0aWNsZS13cmFwcGVyIHtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tZkFydGljbGUtbWFyZ2luLXRvcCk7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKHdpZGUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgIFwiY29udGVudHMgbmF2XCIgYXV0b1xuICAgICAvIDFmciBwYygtLWZBcnRpY2xlLW5hdi13aWR0aCk7XG4gICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgZ2FwOiBwYygtLWZBcnRpY2xlLWdhcCk7XG4gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgei1pbmRleDogMTtcbiAgfVxuICAuYXJ0aWNsZS1uYXYge1xuICAgIG1hcmdpbi10b3A6IHZ3KC0tY0FydGljbGVOYXYtbWFyZ2luLXRvcC1zcCk7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogcGMoLS1mQXJ0aWNsZS1tYXJnaW4tdG9wKTtcbiAgICAgIGdyaWQtYXJlYTogbmF2O1xuICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IHZ3KC0tY0FydGljbGVOYXYtYm9yZGVyLXRvcC13aWR0aCk7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNBcnRpY2xlTmF2LWJvcmRlci10b3AtY29sb3IpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IHBjKC0tY0FydGljbGVOYXYtYm9yZGVyLXRvcC13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5hcnRpY2xlLWNvbnRlbnRzIHtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBncmlkLWFyZWE6IGNvbnRlbnRzO1xuICAgICAgcGFkZGluZy10b3A6IHVuc2V0O1xuICAgICAgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICA+IGE6Zmlyc3QtY2hpbGQgKyAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuY29udGFpbmVyLFxuICAgICAgLmlubmVyLFxuICAgICAgLmNvbXBvbmVudC50eXBlX3RhYmxlLFxuICAgICAgLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZV9iZyxcbiAgICAgIC5jb21wb25lbnQudHlwZV9jb252ZXJzaW9uLFxuICAgICAgLm1fdGFnbGlzdCB7XG4gICAgICAgIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4taW5saW5lOiB1bnNldDtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gIH1cbn0iLCIvKipcbiAqIFN3aXBlciAxMS4xLjE1XG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cHM6Ly9zd2lwZXJqcy5jb21cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDI0IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IE5vdmVtYmVyIDE4LCAyMDI0XG4gKi9cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBzd2lwZXItaWNvbnM7XG4gIHNyYzogdXJsKCdkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQScpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWxcbn1cbjpyb290IHtcbiAgLS1zd2lwZXItdGhlbWUtY29sb3I6ICMwMDdhZmZcbn1cbjpob3N0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgei1pbmRleDogMVxufVxuLnN3aXBlciB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogYmxvY2tcbn1cbi5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtblxufVxuLnN3aXBlci13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1zd2lwZXItd3JhcHBlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiwgaW5pdGlhbCk7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94XG59XG4uc3dpcGVyLWFuZHJvaWQgLnN3aXBlci1zbGlkZSxcbi5zd2lwZXItaW9zIC5zd2lwZXItc2xpZGUsXG4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMClcbn1cbi5zd2lwZXItaG9yaXpvbnRhbCB7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXlcbn1cbi5zd2lwZXItdmVydGljYWwge1xuICB0b3VjaC1hY3Rpb246IHBhbi14XG59XG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuXG59XG4uc3dpcGVyLWF1dG9oZWlnaHQsXG4uc3dpcGVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0b1xufVxuLnN3aXBlci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIGhlaWdodFxufVxuLnN3aXBlci1iYWNrZmFjZS1oaWRkZW4gLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlblxufVxuLnN3aXBlci0zZC5zd2lwZXItY3NzLW1vZGUgLnN3aXBlci13cmFwcGVyIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweFxufVxuLnN3aXBlci0zZCAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkXG59XG4uc3dpcGVyLTNkIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweFxufVxuLnN3aXBlci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93LFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZFxufVxuLnN3aXBlci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXIge1xuICBvdmVyZmxvdzogYXV0bztcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmVcbn1cbi5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cbi5zd2lwZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGUge1xuICBzY3JvbGwtc25hcC1hbGlnbjogc3RhcnQgc3RhcnRcbn1cbi5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnlcbn1cbi5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHkgbWFuZGF0b3J5XG59XG4uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1mcmVlLW1vZGU+LnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogbm9uZVxufVxuLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRlIHtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IG5vbmVcbn1cbi5zd2lwZXItY3NzLW1vZGUuc3dpcGVyLWNlbnRlcmVkPi5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBvcmRlcjogOTk5OVxufVxuLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQ+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGUge1xuICBzY3JvbGwtc25hcC1hbGlnbjogY2VudGVyIGNlbnRlcjtcbiAgc2Nyb2xsLXNuYXAtc3RvcDogYWx3YXlzXG59XG4uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZTpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKVxufVxuLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci13cmFwcGVyOjpiZWZvcmUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgd2lkdGg6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpXG59XG4uc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1jZW50ZXJlZC5zd2lwZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVyPi5zd2lwZXItc2xpZGU6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tYmxvY2stc3RhcnQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYmVmb3JlKVxufVxuLnN3aXBlci1jc3MtbW9kZS5zd2lwZXItY2VudGVyZWQuc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItd3JhcHBlcjo6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMXB4O1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1jZW50ZXJlZC1vZmZzZXQtYWZ0ZXIpXG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHotaW5kZXg6IDEwXG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMTUpXG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgcmdiYSgwLCAwLCAwLCAuNSksIHJnYmEoMCwgMCwgMCwgMCkpXG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIC41KSwgcmdiYSgwLCAwLCAwLCAwKSlcbn1cbi5zd2lwZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAuNSksIHJnYmEoMCwgMCwgMCwgMCkpXG59XG4uc3dpcGVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgLjUpLCByZ2JhKDAsIDAsIDAsIDApKVxufVxuLnN3aXBlci1sYXp5LXByZWxvYWRlciB7XG4gIHdpZHRoOiA0MnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0yMXB4O1xuICBtYXJnaW4tdG9wOiAtMjFweDtcbiAgei1pbmRleDogMTA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnRcbn1cbi5zd2lwZXItd2F0Y2gtcHJvZ3Jlc3MgLnN3aXBlci1zbGlkZS12aXNpYmxlIC5zd2lwZXItbGF6eS1wcmVsb2FkZXIsXG4uc3dpcGVyOm5vdCguc3dpcGVyLXdhdGNoLXByb2dyZXNzKSAuc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgYW5pbWF0aW9uOiBzd2lwZXItcHJlbG9hZGVyLXNwaW4gMXMgaW5maW5pdGUgbGluZWFyXG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLXdoaXRlIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjZmZmXG59XG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiAjMDAwXG59XG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKVxuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZylcbiAgfVxufVxuLnN3aXBlci12aXJ0dWFsIC5zd2lwZXItc2xpZGUge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApXG59XG4uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lXG59XG4uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci1ob3Jpem9udGFsIC5zd2lwZXItd3JhcHBlcjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IHZhcigtLXN3aXBlci12aXJ0dWFsLXNpemUpXG59XG4uc3dpcGVyLXZpcnR1YWwuc3dpcGVyLWNzcy1tb2RlLnN3aXBlci12ZXJ0aWNhbCAuc3dpcGVyLXdyYXBwZXI6OmFmdGVyIHtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiB2YXIoLS1zd2lwZXItdmlydHVhbC1zaXplKVxufVxuOnJvb3Qge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6IDQ0cHhcbn1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWhpZGRlbixcbi5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lXG59XG4uc3dpcGVyLW5hdmlnYXRpb24tZGlzYWJsZWQgLnN3aXBlci1idXR0b24tbmV4dCxcbi5zd2lwZXItbmF2aWdhdGlvbi1kaXNhYmxlZCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0IHN2Zyxcbi5zd2lwZXItYnV0dG9uLXByZXYgc3ZnIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyXG59XG4uc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0IHN2Zyxcbi5zd2lwZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXYgc3ZnIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKVxufVxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cbi5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsXG4uc3dpcGVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgY29udGVudDogJ3ByZXYnXG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0LFxuLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIHJpZ2h0OiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaWRlcy1vZmZzZXQsIDEwcHgpO1xuICBsZWZ0OiBhdXRvXG59XG4uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLFxuLnN3aXBlci1ydGwgLnN3aXBlci1idXR0b24tcHJldjphZnRlciB7XG4gIGNvbnRlbnQ6ICduZXh0J1xufVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMFxufVxuLnN3aXBlci1wYWdpbmF0aW9uLWRpc2FibGVkPi5zd2lwZXItcGFnaW5hdGlvbixcbi5zd2lwZXItcGFnaW5hdGlvbi5zd2lwZXItcGFnaW5hdGlvbi1kaXNhYmxlZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxufVxuXG5idXR0b24uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZVxufVxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyXG59XG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0Om9ubHktY2hpbGQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbi1jb2xvciwgaW5oZXJpdClcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWJnLWNvbG9yLCByZ2JhKDAsIDAsIDAsIC4yNSkpO1xuICBwb3NpdGlvbjogYWJzb2x1dGVcbn1cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wXG59XG4uc3dpcGVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3Bcbn1cbi5zd2lwZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIsXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24taG9yaXpvbnRhbCxcbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi12ZXJ0aWNhbC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSxcbi5zd2lwZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItc2l6ZSwgNHB4KTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwXG59XG4uc3dpcGVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLFxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLWhvcml6b250YWwuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tdmVydGljYWwsXG4uc3dpcGVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIHdpZHRoOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1zaXplLCA0cHgpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMFxufVxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lXG59XG4uc3dpcGVyLXNjcm9sbGJhciB7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItYm9yZGVyLXJhZGl1cywgMTBweCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWJnLWNvbG9yLCByZ2JhKDAsIDAsIDAsIC4xKSlcbn1cbi5zd2lwZXItc2Nyb2xsYmFyLWRpc2FibGVkPi5zd2lwZXItc2Nyb2xsYmFyLFxuLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1kaXNhYmxlZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxufVxuLnN3aXBlci1ob3Jpem9udGFsPi5zd2lwZXItc2Nyb2xsYmFyLFxuLnN3aXBlci1zY3JvbGxiYXIuc3dpcGVyLXNjcm9sbGJhci1ob3Jpem9udGFsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpZGVzLW9mZnNldCwgMSUpO1xuICBib3R0b206IHZhcigtLXN3aXBlci1zY3JvbGxiYXItYm90dG9tLCA0cHgpO1xuICB0b3A6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItdG9wLCBhdXRvKTtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaXplLCA0cHgpO1xuICB3aWR0aDogY2FsYygxMDAlIC0gMiAqIHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LCAxJSkpXG59XG4uc3dpcGVyLXNjcm9sbGJhci5zd2lwZXItc2Nyb2xsYmFyLXZlcnRpY2FsLFxuLnN3aXBlci12ZXJ0aWNhbD4uc3dpcGVyLXNjcm9sbGJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1sZWZ0LCBhdXRvKTtcbiAgcmlnaHQ6IHZhcigtLXN3aXBlci1zY3JvbGxiYXItcmlnaHQsIDRweCk7XG4gIHRvcDogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1zaWRlcy1vZmZzZXQsIDElKTtcbiAgei1pbmRleDogNTA7XG4gIHdpZHRoOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLXNpemUsIDRweCk7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMiAqIHZhcigtLXN3aXBlci1zY3JvbGxiYXItc2lkZXMtb2Zmc2V0LCAxJSkpXG59XG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItc2Nyb2xsYmFyLWRyYWctYmctY29sb3IsIHJnYmEoMCwgMCwgMCwgLjUpKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3dpcGVyLXNjcm9sbGJhci1ib3JkZXItcmFkaXVzLCAxMHB4KTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwXG59XG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZVxufVxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cbi5zd2lwZXItem9vbS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyXG59XG4uc3dpcGVyLXpvb20tY29udGFpbmVyPmNhbnZhcyxcbi5zd2lwZXItem9vbS1jb250YWluZXI+aW1nLFxuLnN3aXBlci16b29tLWNvbnRhaW5lcj5zdmcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvbnRhaW5cbn1cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlO1xuICB0b3VjaC1hY3Rpb246IG5vbmVcbn1cbi5zd2lwZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xMDAwXG59XG4uc3dpcGVyLWZyZWUtbW9kZT4uc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIG1hcmdpbjogMCBhdXRvXG59XG4uc3dpcGVyLWdyaWQ+LnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwXG59XG4uc3dpcGVyLWdyaWQtY29sdW1uPi5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtblxufVxuLnN3aXBlci1mYWRlLnN3aXBlci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dFxufVxuLnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eVxufVxuLnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lXG59XG4uc3dpcGVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0b1xufVxuLnN3aXBlci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG9cbn1cbi5zd2lwZXIuc3dpcGVyLWN1YmUge1xuICBvdmVyZmxvdzogdmlzaWJsZVxufVxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCVcbn1cbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZVxufVxuLnN3aXBlci1jdWJlLnN3aXBlci1ydGwgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMFxufVxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG9cbn1cbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSxcbi5zd2lwZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsXG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2IHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGVcbn1cbi5zd2lwZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogLjY7XG4gIHotaW5kZXg6IDBcbn1cbi5zd2lwZXItY3ViZSAuc3dpcGVyLWN1YmUtc2hhZG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICByaWdodDogMDtcbiAgZmlsdGVyOiBibHVyKDUwcHgpXG59XG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0Ky5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgdmlzaWJpbGl0eTogdmlzaWJsZVxufVxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sXG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsXG4uc3dpcGVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctY3ViZS5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LFxuLnN3aXBlci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWN1YmUuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuXG59XG4uc3dpcGVyLnN3aXBlci1mbGlwIHtcbiAgb3ZlcmZsb3c6IHZpc2libGVcbn1cbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDFcbn1cbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZVxufVxuLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLFxuLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG9cbn1cbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1mbGlwLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLFxuLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWZsaXAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LFxuLnN3aXBlci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWZsaXAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCxcbi5zd2lwZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1mbGlwLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlblxufVxuLnN3aXBlci1jcmVhdGl2ZSAuc3dpcGVyLXNsaWRlIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5LCBoZWlnaHRcbn1cbi5zd2lwZXIuc3dpcGVyLWNhcmRzIHtcbiAgb3ZlcmZsb3c6IHZpc2libGVcbn1cbi5zd2lwZXItY2FyZHMgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW5cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wUTo6YmVmb3JlIHtcbiAgQGluY2x1ZGUgbXEge1xuICAgIHRyYW5zbGF0ZTogMCBwYygzcHgpO1xuICB9XG59XG4uY29tcG9uZW50LnR5cGVfcGFnZXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICArICoge1xuICAgIG1hcmdpbi10b3A6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5uYXZpZ2F0aW9uLmJyZWFkY3J1bWJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gIHBhZGRpbmctdG9wOiB2dygtLW5CcmVhZGNydW1icy1wYWRkaW5nLWJvdHRvbS1zcCk7XG4gIG1hcmdpbi10b3A6IHZ3KDk2cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nLXRvcDogcGMoLS1uQnJlYWRjcnVtYnMtcGFkZGluZy1ib3R0b20tcGMpO1xuICAgIG1hcmdpbi10b3A6IHBjKDE0NHB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcih3aWRlKTtcbiAgfVxufVxuLmNvbXBvbmVudC50eXBlX3BhbmVsIHtcbiAgJi5zZXQzIHtcbiAgICAuaW5uZXIge1xuICAgICAgJjpoYXMoLmJ1dHRvbikge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldDQge1xuICAgIC5pbm5lciB7XG4gICAgICAmOmhhcyguYnV0dG9uKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4ucFBhbmVsIHtcbiAgJjpoYXMoLmJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZ3KDhweCk7XG4gICAgcGFkZGluZzogdncoMTZweCkgdncoMTZweCkgdncoMjRweCk7XG4gICAgQGluY2x1ZGUgbXEge1xuICAgICAgYm9yZGVyLXJhZGl1czogcGMoOHB4KTtcbiAgICAgIHBhZGRpbmc6IHBjKDE2cHgpIHBjKDE2cHgpIHBjKDI0cHgpO1xuICAgIH1cbiAgICAucEJ1dHRvbjpub3QoLnNtYWxsKTpub3QoLmxhcmdlKSB7XG4gICAgICBtaW4td2lkdGg6IHZ3KDEyMHB4KTtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgbWluLXdpZHRoOiBwYygxNjJweCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5wSGVhZGluZ01lZGl1bSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cbiAgICAucEJ1dHRvbiB7XG4gICAgICBtYXJnaW4taW5saW5lOiB1bnNldDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBcbn1cbi5jb21wb25lbnQudHlwZV9wYW5lbC5zZXQzLFxuLmNvbXBvbmVudC50eXBlX3BhbmVsLnNldDQge1xuICAucFBhbmVsIHtcbiAgICAmOmhhcyguYnV0dG9uKSB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIHBhZGRpbmc6IHBjKDE2cHgpIHBjKDE2cHgpIHBjKDI0cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLm5hdmlnYXRpb24ubG9jYWxuYXZ0b3Age1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSBtcSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5uYXZpZ2F0aW9uLmxvY2FsbmF2X2JvdHRvbSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uY29tcG9uZW50LnR5cGVfZmlsZWxpc3Qge1xuICAuaW5uZXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gIH1cbn1cbi5wTmV3c0NhdGVnb3J5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNvbXBvbmVudC50eXBlX2NhdGNoY29weV9pbWFnZSAuaW5uZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmNvbXBvbmVudC50eXBlX3RleHRfbWFwIC5pbm5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC50ZXh0IHtcbiAgICBhbGlnbi1zZWxmOiB1bnNldDtcbiAgfVxufVxuLmNvbXBvbmVudC50eXBlX2V4dGVuZGVkdGl0bGUge1xuICArICoge1xuICAgIG1hcmdpbi10b3A6IHZ3KC0tbWFyZ2luLXRvcC0yKTtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBtYXJnaW4tdG9wOiBwYygtLW1hcmdpbi10b3AtMyk7XG4gICAgfVxuICB9XG59XG4udG9wX25ld3NfYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC5wQnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuQGltcG9ydCBcIm1peGluc1wiO1xuXG4udG9wIG1haW4ge1xuICBwYWRkaW5nLXRvcDogdW5zZXQ7XG59XG5cbmJvZHk6aGFzKCN0b3BTbGlkZXIpIHtcbiAgbWFpbiB7XG4gICAgcGFkZGluZy10b3A6IHVuc2V0O1xuICB9XG4gIGhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJi5pcy1zY3JvbGwtdG9wcGFnZSB7XG4gICAgaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQtc3Ryb25nKTtcbiAgICB9XG4gIH1cbiAgJjpub3QoLmlzLXNjcm9sbC10b3BwYWdlKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgIC5pbm5lcjpub3QoOmhhcygjZ25hdi5zaG93KSkge1xuICAgICAgICAjbG9nbyB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI21lbnVCdXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgICAgICAgICAubGluZXMge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI2duYXYgLmduYXZpbm5lciAubWFpbiBsaSBhOm5vdCguY29udGFjdCkge1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI2xhbmcge1xuICAgICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubmF2aWdhdGlvbi5icmVhZGNydW1icyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBmb290ZXIge1xuICAgIG1hcmdpbi10b3A6IHZ3KDEyMHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHBjKDEyMHB4KTtcbiAgICB9XG4gIH1cbn1cblxuI3RvcFNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ibG9jazogdncoODRweCkgdncoNDBweCk7XG4gIEBpbmNsdWRlIG1xKCkge1xuICAgIHBhZGRpbmctYmxvY2s6IHBjKDMwcHgpIHBjKDMwcHgpO1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgyODI4MjtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2dyg5NnB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBwYyg5NnB4KTtcbiAgICB9XG4gIH1cbiAgLnN3aXBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgcGFkZGluZy1ib3R0b206IHZ3KDUzcHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHBjKDI2cHgpO1xuICAgIH1cbiAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICB9XG4gICAgICAuaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIHdpZHRoOiBwYygxMjIwcHgpO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIGdhcDogcGMoMTAwcHgpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lOiBwYygzNnB4KSBwYyg0MHB4KTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogcGMoNzRweCk7XG4gICAgICAgIH1cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZ3KDMycHgpO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB1bnNldDtcbiAgICAgICAgICAgIHdpZHRoOiBwYyg2MDBweCk7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZ3KDhweCkgMCAwIHZ3KDhweCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiB2dygxNnB4KSB2dygxNnB4KSB2dygxNnB4KSAwIHJnYmEoMCwgMCwgMCwgMC4yNCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoOHB4KTtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogcGMoMTRweCkgcGMoMTRweCkgcGMoMTBweCkgMCByZ2JhKDAsIDAsIDAsIDAuMjQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdncoLTIwcHgpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lOiB2dygtLWNvbnRhaW5lci1wYWRkaW5nLXNwKTtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5LWVuKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoNDBweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoNzJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wYWdlcyB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB2dygxNnB4KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZ3KDRweCkgdncoOHB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14cyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2MCU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40OHB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDMycHgpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHBjKDRweCkgcGMoOHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmxlYWQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMTZweCk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VyZmFjZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTg1LjcxNCU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41NnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHBjKDE2cHgpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IHBjKC0tZnMtcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdncoMTZweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcGMoNDBweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgaGVpZ2h0OiB2dygyNzRweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIHZ3KDI3NHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogcGMoNTAwcHgpO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICAgIC5uYXZpZ2F0aW9ucyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiB2dygxN3B4KTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgd2lkdGg6IHBjKDExNDRweCk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICAgIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogdncoOHB4KTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgZ2FwOiBwYygxNnB4KTtcbiAgICAgICAgfVxuICAgICAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgICAgICB3aWR0aDogdncoOHB4KTtcbiAgICAgICAgICBoZWlnaHQ6IHZ3KDhweCk7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdXJmYWNlKTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICB3aWR0aDogcGMoOHB4KTtcbiAgICAgICAgICAgIGhlaWdodDogcGMoOHB4KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnN3aXBlci1idXR0b24tbmV4dCwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItZ3JheSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2xhdGU6IDAgLTUwJTtcbiAgICAgICAgd2lkdGg6IHBjKDQ4cHgpO1xuICAgICAgICBoZWlnaHQ6IHBjKDQ4cHgpO1xuICAgICAgICBAaW5jbHVkZSBob3Zlck9wO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICB9XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19uZXh0LnN2Zyk7XG4gICAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LW9uLWFjY2VudCk7XG4gICAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgICB3aWR0aDogcGMoMjRweCk7XG4gICAgICAgICAgaGVpZ2h0OiBwYygyNHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpub3QoLnN3aXBlci1idXR0b24tZGlzYWJsZWQpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICAgICYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zbGF0ZTogcGNtYXgoLTY2OHB4KSAwO1xuICAgICAgfVxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFzay1pbWFnZTogdXJsKC9pbWFnZXMvaWNvbl9hcnJvd19wcmV2LnN2Zyk7XG4gICAgICB9XG4gICAgfVxuICAgIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICAgICAgQGluY2x1ZGUgbXEge1xuICAgICAgICByaWdodDogNTAlO1xuICAgICAgICB0cmFuc2xhdGU6IHBjbWF4KDYxOHB4KSAwO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG4gIC5yZXF1aXJlbWVudHMge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IHZ3KDkwcHgpO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjI0KSk7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBib3R0b206IHBjKDE2MHB4KTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IHZ3KDQwcHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHdpZHRoOiBwYyg0OHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiN0b3BTbGlkZXIgKyAuY29tcG9uZW50LnR5cGVfdGV4dCB7XG4gIG1hcmdpbi10b3A6IHZ3KC0tbWFyZ2luLXRvcC0yKTtcbiAgQGluY2x1ZGUgbXEge1xuICAgIG1hcmdpbi10b3A6IHBjKC0tbWFyZ2luLXRvcC0zKTtcbiAgfVxufVxubWFpbjpoYXMoI3RvcFNsaWRlcikgLnR5cGVfaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IHZ3KDU2cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYyg5NnB4KTtcbiAgfVxuICAuaW5uZXIge1xuICAgIEBpbmNsdWRlIGNvbnRhaW5lcih3aWRlKTtcbiAgfVxufVxuLnR5cGVfY2F0Y2hjb3B5X2ltYWdlLnRvcHBhZ2Uge1xuICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoMTEwcHgpO1xuICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xuICB9XG4gICsgLnR5cGVfaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogdncoNTZweCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBtYXJnaW4tdG9wOiBwYyg5NnB4KTtcbiAgICAgIGJvcmRlci10b3A6IHVuc2V0O1xuICAgIH1cbiAgICAuaW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IHZ3KDU2cHgpO1xuICAgICAgQGluY2x1ZGUgY29udGFpbmVyKHdpZGUpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogcGMoOTZweCk7XG4gICAgICB9XG4gICAgICBcbiAgICB9XG4gIH1cbiAgLmlubmVyIHtcbiAgICBAaW5jbHVkZSBtcSB7XG4gICAgICBncmlkLXRlbXBsYXRlOlxuICAgICAgICBcIi4gdGV4dCBpbWFnZSBpbWFnZVwiIGF1dG9cbiAgICAgICAgLyAxZnIgcGMoNTcwcHgpIHBjKDY3MHB4KSAxZnI7XG4gICAgfVxuICAgICYucmV2ZXJzZSB7XG4gICAgICBAaW5jbHVkZSBtcSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICAgXCJpbWFnZSBpbWFnZSB0ZXh0IC5cIiBhdXRvXG4gICAgICAgICAgLyAxZnIgcGMoNjcwcHgpIHBjKDU3MHB4KSAxZnI7XG4gICAgICB9XG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHZ3KC0tY29udGFpbmVyLXBhZGRpbmctc3ApO1xuICAgICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICAgIC5wSW1hZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCBwYygtLXBJbWFnZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1wYykgcGMoLS1wSW1hZ2UtYm9yZGVyLXJhZGl1cy1tZWRpdW0tcGMpIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiB2dygtLWNvbnRhaW5lci1wYWRkaW5nLXNwKTtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldDtcbiAgICAgIH1cbiAgICAgIC5wSW1hZ2Uge1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2dygtLXBJbWFnZS1ib3JkZXItcmFkaXVzLXNtYWxsLXNwKTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcGMoLS1wSW1hZ2UtYm9yZGVyLXJhZGl1cy1tZWRpdW0tcGMpIDAgMCBwYygtLXBJbWFnZS1ib3JkZXItcmFkaXVzLW1lZGl1bS1wYykgO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXh0IHtcbiAgICAgIEBpbmNsdWRlIG1xIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcGMoNzRweCk7XG4gICAgICB9XG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdncoLS1mcy14eGwpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTIwJTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMDRweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsYWNrKTtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLXh4eHhsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnBUZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgZm9udC1zaXplOiBwYygtLWZzLWwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogdncoNjBweCk7XG4gICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHVuc2V0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbn1cbi50b3BfcGFuZWwge1xuICBtYXJnaW4tdG9wOiB2dygyNHB4KTtcbiAgQGluY2x1ZGUgbXEoKSB7XG4gICAgbWFyZ2luLXRvcDogcGMoNDhweCk7XG4gIH1cbiAgJi5zZXQxIHtcbiAgICAuaW5uZXIge1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuc2V0MiB7XG4gICAgLmlubmVyIHtcbiAgICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldDMge1xuICAgIC5pbm5lciB7XG4gICAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zZXQ0IHtcbiAgICAuaW5uZXIge1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5pbm5lciB7XG4gICAgQGluY2x1ZGUgY29udGFpbmVyKHdpZGUpO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICBnYXA6IHZ3KDI0cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIGdhcDogcGMoNDhweCkgcGMoMzJweCk7XG4gICAgfVxuICB9XG59XG4ucFBhbmVsVG9wIHtcbiAgcGFkZGluZzogdncoMTZweCkgdncoMTZweCkgdncoNDBweCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UpO1xuICBib3JkZXItcmFkaXVzOiB2dygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2dyg4cHgpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBwYWRkaW5nOiBwYygxNnB4KSBwYygxNnB4KSBwYyg0OHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiBwYygtLWJvcmRlci1yYWRpdXMtbWVkaXVtKTtcbiAgICBnYXA6IHBjKDE2cHgpO1xuICAgIC8vIHN1YmdyaWTjgavjgZfjgZ/jgYRcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogc3ViZ3JpZDtcbiAgICBncmlkLXJvdzogc3BhbiA0O1xuICB9XG4gIC50aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IHZ3KDE2cHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBwYygxNnB4KTtcbiAgICB9XG4gICAgaDMge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJyYW5kLCAjODQ0N0FGKTtcbiAgICAgIGZvbnQtc2l6ZTogdncoMjhweCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA5Mi44NTclO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDQlO1xuICAgICAgcGFkZGluZy1ib3R0b206IHZ3KDhweCk7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHktZW4pO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy14eHhsKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHVuc2V0O1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiA2JTtcbiAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMiU7XG4gICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogZnJvbS1mb250O1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgICAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMTYlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGVzYyB7XG4gICAgcGFkZGluZy1pbmxpbmU6IHZ3KDE2cHgpO1xuICAgIEBpbmNsdWRlIG1xKCkge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHBjKDE2cHgpO1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktd2Vhayk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IHZ3KC0tZnMtcyk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE4NS43MTQlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNTZweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB2dyg4cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcGMoLS1mcy1zKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHBjKDE2cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnV0dG9uIHtcbiAgICBwYWRkaW5nLXRvcDogdncoOHB4KTtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiB1bnNldDtcbiAgICB9XG4gICAgLnBCdXR0b24ge1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG4gIH1cblxuXG59XG4ubmV3c1dyYXBwZXIge1xuICBtYXJnaW4tdG9wOiB2dyg4MHB4KTtcbiAgQGluY2x1ZGUgY29udGFpbmVyKHdpZGUpO1xuICBAaW5jbHVkZSBtcSgpIHtcbiAgICBtYXJnaW4tdG9wOiBwYygxOTJweCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBwYygxMDI4cHgpO1xuICAgIGdhcDogcGMoMzJweCk7XG4gIH1cbiAgLm5ld3NUaXRsZSB7XG4gICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdW5zZXQ7XG4gICAgfVxuICB9XG4gIC5uYXZpZ2F0aW9uLm5ld3NsaXN0IHtcbiAgICBAaW5jbHVkZSBtcSgpIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgICAuaW5uZXIge1xuICAgICAgcGFkZGluZy1pbmxpbmU6IHVuc2V0O1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IHZ3KDI0cHgpO1xuICAgICAgQGluY2x1ZGUgbXEoKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHBjKDQwcHgpO1xuICAgICAgfVxuICAgICAgLnBCdXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAY2hhcnNldCBcIlVURi04XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi5wTmV3c1NldCB7XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgLnRpdGxlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4ucExvY2FsbmF2Qm90dG9tIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1zcGVlZCkgdmFyKC0tYmV6aWVyKTtcbiAgJi5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1icmFuZCk7XG4gIH1cbiAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYnJhbmQpO1xuICAgIH1cbiAgfVxufVxuLnBBdHRhY2htZW50IHtcbiAgYSB7XG4gICAgQGluY2x1ZGUgaG92ZXJPcDtcbiAgfVxufVxuLnBUZXh0IHtcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgQG1lZGlhIChhbnktaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnBGYXEge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXRyYW5zaXRpb24tc3BlZWQpIHZhcigtLWJlemllcik7XG4gIEBtZWRpYSAoYW55LWhvdmVyOiBob3Zlcikge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmFja2dyb3VuZCk7XG4gICAgfVxuICB9XG59XG4ucEFydGljbGVOYXYge1xuICBAbWVkaWEgKGFueS1ob3ZlcjogaG92ZXIpIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufSJdfQ== */
