/*!*******************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@tailwindcss/webpack/dist/index.js!./src/style.css ***!
  \*******************************************************************************************************************/
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: Calibre, sans-serif;
    --font-serif: 'Crimson Pro', serif;
    --font-mono: 'Monaspice Argon', monospace;
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-orange-500: oklch(70.5% 0.213 47.604);
    --color-yellow-100: oklch(97.3% 0.071 103.193);
    --color-yellow-400: oklch(85.2% 0.199 91.936);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-yellow-600: oklch(68.1% 0.162 75.834);
    --color-yellow-950: oklch(28.6% 0.066 53.813);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-emerald-100: oklch(95% 0.052 163.051);
    --color-emerald-400: oklch(76.5% 0.177 163.223);
    --color-emerald-600: oklch(59.6% 0.145 163.225);
    --color-emerald-950: oklch(26.2% 0.051 172.552);
    --color-sky-50: oklch(97.7% 0.013 236.62);
    --color-sky-100: oklch(95.1% 0.026 236.824);
    --color-sky-200: oklch(90.1% 0.058 230.902);
    --color-sky-300: oklch(82.8% 0.111 230.318);
    --color-sky-400: oklch(74.6% 0.16 232.661);
    --color-sky-500: oklch(68.5% 0.169 237.323);
    --color-sky-600: oklch(58.8% 0.158 241.966);
    --color-sky-700: oklch(50% 0.134 242.749);
    --color-sky-800: oklch(44.3% 0.11 240.79);
    --color-sky-900: oklch(39.1% 0.09 240.876);
    --color-sky-950: oklch(29.3% 0.066 243.157);
    --color-purple-500: oklch(62.7% 0.265 303.9);
    --color-pink-500: oklch(65.6% 0.241 354.308);
    --color-rose-100: oklch(94.1% 0.03 12.58);
    --color-rose-400: oklch(71.2% 0.194 13.428);
    --color-rose-600: oklch(58.6% 0.253 17.585);
    --color-rose-950: oklch(27.1% 0.105 12.094);
    --color-zinc-100: oklch(96.7% 0.001 286.375);
    --color-zinc-200: oklch(92% 0.004 286.32);
    --color-zinc-300: oklch(87.1% 0.006 286.286);
    --color-zinc-400: oklch(70.5% 0.015 286.067);
    --color-zinc-500: oklch(55.2% 0.016 285.938);
    --color-zinc-600: oklch(44.2% 0.017 285.786);
    --color-zinc-700: oklch(37% 0.013 285.805);
    --color-zinc-800: oklch(27.4% 0.006 286.033);
    --color-zinc-900: oklch(21% 0.006 285.885);
    --color-zinc-950: oklch(14.1% 0.005 285.823);
    --color-stone-50: oklch(98.5% 0.001 106.423);
    --color-stone-100: oklch(97% 0.001 106.424);
    --color-stone-200: oklch(92.3% 0.003 48.717);
    --color-stone-300: oklch(86.9% 0.005 56.366);
    --color-stone-400: oklch(70.9% 0.01 56.259);
    --color-stone-500: oklch(55.3% 0.013 58.071);
    --color-stone-600: oklch(44.4% 0.011 73.639);
    --color-stone-700: oklch(37.4% 0.01 67.558);
    --color-stone-800: oklch(26.8% 0.007 34.298);
    --color-stone-900: oklch(21.6% 0.006 56.043);
    --color-stone-950: oklch(14.7% 0.004 49.25);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --font-weight-medium: 500;
    --font-weight-bold: 700;
    --tracking-tight: -0.025em;
    --leading-relaxed: 1.625;
    --radius-xs: 0.125rem;
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
    --left-col: 4rem;
    --gutter: var(--hairline);
    --main-gap: calc(var(--spacing) * 6);
    --horizontal-padding: calc(var(--spacing) * 4);
    --content-width: 72ch;
    --rail-offset: calc(var(--left-col) + var(--gutter) + var(--main-gap) * 2);
    --max-width: calc(var(--content-width) + var(--rail-offset) + var(--horizontal-padding) * 2);
    --underline-thickness: 0.075em;
    --font-mono-comment: 'Monaspice Radon', var(--font-mono);
    --font-mono-features: 'calt', 'ss01', 'ss02', 'ss03', 'ss04', 'ss05', 'ss06', 'ss07', 'ss08', 'ss09', 'ss10', 'liga';
    --font-handwriting: 'Gloria Hallelujah', cursive;
    --color-primary-400: var(--color-sky-400);
    --color-primary-500: var(--color-sky-500);
    --color-primary-600: var(--color-sky-600);
    --color-text: light-dark(var(--color-stone-950), var(--color-zinc-100));
    --color-text-inverse: light-dark(var(--color-zinc-100), var(--color-stone-950));
    --color-bg: light-dark(white, var(--color-zinc-950));
    --color-bg-inverse: light-dark(var(--color-zinc-950), white);
    --color-border: light-dark(var(--color-stone-300), var(--color-zinc-800));
    --color-border-light: light-dark(var(--color-stone-200), var(--color-zinc-900));
    --color-divider: light-dark(var(--color-stone-200), var(--color-zinc-900));
    --color-accent: light-dark(var(--color-primary-500), var(--color-primary-400));
    --color-accent-muted: light-dark(var(--color-primary-400), var(--color-primary-500));
    --color-accent-text: light-dark(var(--color-primary-600), var(--color-primary-400));
    --color-light: light-dark(var(--color-stone-700), var(--color-zinc-200));
    --color-soft: light-dark(var(--color-stone-600), var(--color-zinc-300));
    --color-muted: light-dark(var(--color-stone-500), var(--color-zinc-400));
    --color-subtle: color-mix(in srgb, light-dark(var(--color-stone-500), var(--color-zinc-400)) 50%, light-dark(var(--color-stone-400), var(--color-zinc-500)));
    @supports (color: color-mix(in lab, red, red)) {
      --color-subtle: color-mix(in oklab, var(--color-muted) 50%, var(--color-faint));
    }
    --color-faint: light-dark(var(--color-stone-400), var(--color-zinc-500));
    --color-weak: color-mix(in srgb, light-dark(var(--color-stone-400), var(--color-zinc-500)) 50%, light-dark(var(--color-stone-300), var(--color-zinc-600)));
    @supports (color: color-mix(in lab, red, red)) {
      --color-weak: color-mix(in oklab, var(--color-faint) 50%, var(--color-ghost));
    }
    --color-ghost: light-dark(var(--color-stone-300), var(--color-zinc-600));
    --selection-color: oklch(from var(--color-primary-500) l c h / 5%);
    --color-scroll-cover: light-dark(white, var(--color-zinc-950));
    --color-scroll-cover-transparent: light-dark(oklch(100% 0.00011 271.152 / 0), oklch(0% 0 0 / 0));
    --color-scroll-shadow: light-dark(oklch(0% 0 0 / 0.2), oklch(0% 0 0 / 40%));
    --color-scroll-shadow-transparent: light-dark(oklch(0% 0 0 / 0), oklch(0% 0 0 / 0));
    --color-surface: light-dark(var(--color-stone-50), var(--color-zinc-900));
    --color-surface-alt: light-dark(var(--color-stone-100), var(--color-zinc-800));
    --color-surface-hover: light-dark(var(--color-stone-200), var(--color-zinc-700));
    --color-quote-mark: light-dark(var(--color-stone-300), var(--color-zinc-600));
    --color-blockquote-border: light-dark(var(--color-stone-200), var(--color-zinc-800));
    --color-image-frame: light-dark(white, var(--color-zinc-100));
    --color-image-outline: light-dark(oklch(0% 0 0 / 8%), oklch(100% 0 0 / 8%));
    --color-state-positive: light-dark(var(--color-emerald-600), var(--color-emerald-400));
    --color-state-positive-bg: light-dark(var(--color-emerald-100), var(--color-emerald-950));
    --color-state-negative: light-dark(var(--color-rose-600), var(--color-rose-400));
    --color-state-negative-bg: light-dark(var(--color-rose-100), var(--color-rose-950));
    --color-state-caution: light-dark(var(--color-yellow-600), var(--color-yellow-400));
    --color-state-caution-bg: light-dark(var(--color-yellow-100), var(--color-yellow-950));
    --color-photo-ring: light-dark(
    oklch(from var(--color-stone-950) l c h / 8%),
    oklch(from white l c h / 10%)
  );
    --color-photo-shadow: var(--color-stone-900);
    --color-photo-mount: var(--color-stone-50);
    --color-photo-caption: var(--color-stone-700);
    --focus-radius: 0.25rem;
    --focus-radius-squircle: 0.75rem;
    --bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    --spring: linear(
    0,
    0.009,
    0.035 2.1%,
    0.141,
    0.281 6.7%,
    0.723 12.9%,
    0.938 16.7%,
    1.017,
    1.077,
    1.121,
    1.149 24.3%,
    1.159,
    1.163,
    1.161,
    1.154 29.9%,
    1.129 32.8%,
    1.051 39.6%,
    1.017 43.1%,
    0.991,
    0.977 51%,
    0.974 53.8%,
    0.975 57.1%,
    0.997 69.8%,
    1.003 76.9%,
    1.004 83.8%,
    1
  );
    --ease-spring: 500ms var(--spring);
    --gentler-spring: linear(
    0,
    0.0039 0.87%,
    0.0199,
    0.0459 3.19%,
    0.0892 4.65%,
    0.1865 7.26%,
    0.5218 15.39%,
    0.6249,
    0.7132,
    0.7864,
    0.8453 27%,
    0.8955,
    0.9328,
    0.9596 36.58%,
    0.9706 38.32%,
    0.9808 40.35%,
    0.9946 44.42%,
    1.003 49.35%,
    1.0056 53.13%,
    1.0063 58.06%,
    1.0014 80.71%,
    1.0001 99.87%
  );
    --ease-gentler-spring: 1.2s var(--gentler-spring);
    --hairline: 0.5px;
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring:where(:not(iframe)) {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .photo-card {
    --initial-y: 0;
    --hover-y: 0;
    --initial-x: 0;
    --hover-x: 0;
    --z: 0;
    --initial-translate-y: calc(var(--spacing) * var(--initial-y));
    --initial-translate-x: calc(var(--spacing) * var(--initial-x));
    &:hover {
      @media (hover: hover) {
        --hover-translate-x: calc(var(--spacing) * var(--hover-x, var(--initial-x)));
        --hover-translate-y: calc(var(--spacing) * var(--hover-y, var(--initial-y)));
      }
    }
    @media (width >= 40rem) {
      z-index: var(--z);
    }
    @media (width >= 40rem) {
      --tw-translate-x: var(--initial-translate-x);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    @media (width >= 40rem) {
      --tw-translate-y: var(--initial-translate-y);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    @media (width >= 40rem) {
      &:hover {
        @media (hover: hover) {
          --tw-translate-x: var(--hover-translate-x);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
    @media (width >= 40rem) {
      &:hover {
        @media (hover: hover) {
          --tw-translate-y: var(--hover-translate-y);
          translate: var(--tw-translate-x) var(--tw-translate-y);
        }
      }
    }
    --initial-rotation: 0deg;
    --hover-rotation: 0deg;
    --card-rotation: var(--initial-rotation);
    --card-padding: 0.75rem;
    --shadow-ring: inset 0 0 0 var(--hairline) var(--color-photo-ring);
    --shadow-drop: 0 4px 20px -6px oklch(from var(--color-photo-shadow) l c h / 0.35),
    0 12px 35px -10px oklch(from var(--color-photo-shadow) l c h / 0.25);
    --tilt-max: 17deg;
    --tilt-perspective: 600px;
    --tilt-scale: 1.07;
    --tilt-return: 450ms;
    --tilt-return-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --tilt-follow: 100ms;
    --tilt-follow-ease: cubic-bezier(0.3, 0.7, 0.4, 1);
    --tilt-settle: 550ms;
    --tilt-settle-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --tilt-glare-opacity: 0.6;
    --tilt-glare-fade: 120ms;
    --tilt-glare-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --tilt-rx: calc(var(--tilt-y, 0) * var(--tilt-max) * -1);
    --tilt-ry: calc(var(--tilt-x, 0) * var(--tilt-max));
    --glare-x: calc(50% + var(--tilt-x, 0) * 50%);
    --glare-y: calc(50% + var(--tilt-y, 0) * 50%);
    --tilt-speed: var(--tilt-return);
    --tilt-ease: var(--tilt-return-ease);
    &.is-tilting {
      --tilt-speed: var(--tilt-follow);
      --tilt-ease: var(--tilt-follow-ease);
    }
    position: relative;
    cursor: pointer;
    perspective: var(--tilt-perspective);
    transition: translate var(--tilt-settle) var(--tilt-settle-ease);
    will-change: translate;
    &:hover {
      --card-rotation: var(--hover-rotation);
      --card-scale: var(--tilt-scale);
      --shadow-drop: 0 8px 24px -6px oklch(from var(--color-photo-shadow) l c h / 0.42),
      0 16px 40px -10px oklch(from var(--color-photo-shadow) l c h / 0.32);
    }
    & > .photo-card-inner {
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      background: var(--color-photo-mount);
      padding: var(--card-padding);
      border-radius: 0.5rem;
      box-shadow: var(--shadow-ring), var(--shadow-drop);
      rotate: var(--card-rotation);
      scale: var(--card-scale, 1);
      transform: rotateX(var(--tilt-rx)) rotateY(var(--tilt-ry));
      transition: transform var(--tilt-speed) var(--tilt-ease), rotate var(--tilt-settle) var(--tilt-settle-ease), scale var(--tilt-settle) var(--tilt-settle-ease), box-shadow var(--tilt-settle) var(--tilt-settle-ease);
      will-change: transform;
    }
    & > .photo-card-inner > img {
      display: block;
      width: 100%;
      aspect-ratio: 1;
      object-fit: cover;
      border-radius: 0.125rem;
    }
    & > .photo-card-inner > figcaption {
      padding: 0.625rem 0.25rem 0.375rem;
      margin-block: auto;
      text-align: center;
      font-family: var(--font-handwriting);
      font-size: 1rem;
      line-height: 1;
      color: var(--color-photo-caption);
    }
    & > .photo-card-inner::before {
      content: '';
      position: absolute;
      inset: var(--card-padding) var(--card-padding) auto;
      aspect-ratio: 1;
      border-radius: 0.125rem;
      box-shadow: inset 0 0 0 var(--hairline) oklch(1 0 0 / 0.7), inset 0 2px 4px oklch(0 0 0 / 0.35), inset 0 0 14px oklch(0 0 0 / 0.35);
      pointer-events: none;
    }
    & > .photo-card-inner::after {
      content: '';
      position: absolute;
      inset: 0;
      border-radius: inherit;
      mix-blend-mode: screen;
      background: radial-gradient( circle 95px at var(--glare-x) var(--glare-y) in oklab, oklch(1 0 0 / 0.48), oklch(1 0 0 / 0.06) 52%, oklch(1 0 0 / 0) 84% ), radial-gradient( circle 200px at var(--glare-x) var(--glare-y) in oklab, oklch(1 0 0 / 0.22), oklch(1 0 0 / 0.04) 58%, oklch(1 0 0 / 0) 78% ), radial-gradient( circle 360px at var(--glare-x) var(--glare-y) in oklab, oklch(1 0 0 / 0.1), oklch(1 0 0 / 0) 88% );
      opacity: 0;
      transition: opacity var(--tilt-glare-fade) var(--tilt-glare-ease);
      pointer-events: none;
      z-index: 1;
    }
    &:hover > .photo-card-inner::after {
      opacity: var(--tilt-glare-opacity);
    }
    @media (prefers-reduced-motion: reduce) {
      transition: none;
      & > .photo-card-inner {
        rotate: var(--initial-rotation);
        scale: none;
        transform: none;
        transition: none;
      }
    }
  }
  .nav-back-btn {
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: light-dark(var(--color-white), var(--color-surface));
    border: var(--hairline) solid light-dark(var(--color-border-light), var(--color-border));
    border-radius: 9999px;
    @media not (prefers-color-scheme: dark) {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      --tw-shadow-color: color-mix(in srgb, oklch(26.8% 0.007 34.298) 10%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-stone-800) 10%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }
    --nav-item-padding: 0.75rem;
    --nav-icon-size: 1.5rem;
    padding: var(--nav-item-padding);
    color: var(--color-weak);
    transition: color 100ms, scale 100ms;
    &:hover {
      @media (hover: hover) {
        color: var(--color-text);
      }
    }
    &:focus-visible {
      color: var(--color-text);
    }
    @media (prefers-reduced-motion: no-preference) {
      &:active {
        scale: 0.97;
      }
    }
    & > span {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    --nav-back-btn-icon-size-offset: 0.25rem;
    position: absolute;
    inset-block: 0;
    inset-inline-end: 100%;
    margin-inline-end: 0.375rem;
    @media (prefers-reduced-motion: no-preference) {
      &:active {
        scale: 0.97;
      }
    }
    & svg {
      width: calc(var(--nav-icon-size) + var(--nav-back-btn-icon-size-offset));
      height: calc(var(--nav-icon-size) + var(--nav-back-btn-icon-size-offset));
      margin: calc(var(--nav-back-btn-icon-size-offset) / -2);
      translate: calc(var(--nav-back-btn-icon-size-offset) / -4);
    }
  }
  .nav-tip {
    pointer-events: none;
    position: absolute;
    top: -2rem;
    inset-inline-start: 50%;
    translate: -50%;
    align-self: start;
    justify-self: start;
    padding: 0.15rem 0.5rem;
    background: var(--color-bg-inverse);
    border-radius: 0.5rem;
    @supports (corner-shape: squircle) {
      corner-shape: squircle;
    }
    @supports (corner-shape: squircle) {
      border-radius: calc(infinity * 1px);
    }
    color: var(--color-text-inverse);
    white-space: nowrap;
    transition: opacity 100ms ease-out;
    @media (prefers-reduced-motion: no-preference) {
      transition: translate 100ms ease-out, scale 100ms ease-out, opacity 100ms ease-out;
    }
    :where(.nav-link, .nav-back-btn):not(:hover, :focus-visible) & {
      opacity: 0;
      @media (prefers-reduced-motion: no-preference) {
        translate: -50% 0.25rem;
        scale: 0.97;
      }
    }
  }
  .nav-chrome {
    pointer-events: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    background: light-dark(var(--color-white), var(--color-surface));
    border: var(--hairline) solid light-dark(var(--color-border-light), var(--color-border));
    border-radius: 9999px;
    @media not (prefers-color-scheme: dark) {
      --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      --tw-shadow-color: color-mix(in srgb, oklch(26.8% 0.007 34.298) 10%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-stone-800) 10%, transparent) var(--tw-shadow-alpha), transparent);
      }
    }
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .timeline-role {
    --angle: 20deg;
    --half-logo-size: calc(var(--logo-size) / 2);
    --line-color: var(--color-border);
    position: relative;
    display: flex;
    align-items: center;
    gap: calc(var(--spacing) * 4);
    margin-inline-start: var(--half-logo-size);
    padding-inline-start: var(--logo-size);
    &::before {
      content: '';
      position: absolute;
      inset-inline-start: 0;
      top: 0;
      width: 1px;
      height: calc(50% - var(--half-logo-size) * tan(var(--angle)) - 1px);
      border-radius: 9999px;
      background-color: var(--line-color);
    }
    &:not(:last-child)::before {
      height: calc(100% + 1px);
    }
    &::after {
      content: '';
      position: absolute;
      inset-inline-start: 0;
      top: calc(50% - var(--half-logo-size) * tan(var(--angle)) - 2px);
      width: calc((var(--logo-size) * 0.75) / cos(var(--angle)));
      height: 1px;
      transform-origin: left;
      rotate: var(--angle);
      border-radius: 9999px;
      background-color: var(--line-color);
    }
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .nav-link {
    --nav-item-padding: 0.75rem;
    --nav-icon-size: 1.5rem;
    padding: var(--nav-item-padding);
    color: var(--color-weak);
    transition: color 100ms, scale 100ms;
    &:hover {
      @media (hover: hover) {
        color: var(--color-text);
      }
    }
    &:focus-visible {
      color: var(--color-text);
    }
    @media (prefers-reduced-motion: no-preference) {
      &:active {
        scale: 0.97;
      }
    }
    & > span {
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    &:not(:first-child) {
      padding-inline-start: calc(var(--nav-item-padding) * 2 / 3);
    }
    &:not(:last-child) {
      padding-inline-end: calc(var(--nav-item-padding) * 2 / 3);
    }
    &[aria-current='page'] {
      color: var(--color-text);
    }
    & svg {
      width: var(--nav-icon-size);
      height: var(--nav-icon-size);
    }
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-x-0 {
    inset-inline: 0px;
  }
  .bottom-2 {
    bottom: calc(var(--spacing) * 2);
  }
  .photo-gallery {
    --gallery-columns: 3;
    --gallery-overlap-y: 0.5rem;
    isolation: isolate;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem 0;
    padding: calc(0.5rem + var(--gallery-overlap-y)) 0 0.5rem;
    & > .photo-card {
      flex: 0 0 calc(100% / var(--gallery-columns));
      margin-top: calc(-1 * var(--gallery-overlap-y));
    }
    @media (max-width: 40rem) {
      --gallery-columns: 1;
      max-width: 65vw;
      margin-inline: auto;
      gap: 0;
    }
  }
  .isolate {
    isolation: isolate;
  }
  .z-50 {
    z-index: 50;
  }
  .container {
    width: 100%;
    @media (width >= 30rem) {
      max-width: 30rem;
    }
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 55rem) {
      max-width: 55rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .blurry-link-list {
    display: flex;
    gap: var(--link-spacing);
    a {
      margin: calc(calc(var(--link-spacing) / 2) * -1);
      padding: calc(var(--link-spacing) / 2);
    }
    &:has(a:focus-visible) a:not(:focus-visible) {
      --tw-blur: blur(1.5px);
      filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
    }
    @media (hover: hover) {
      &:has(a:hover) a:not(:hover) {
        --tw-blur: blur(1.5px);
        filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
      }
    }
  }
  .btn {
    font: inherit;
    font-weight: 600;
    color: var(--color-light);
    text-decoration: none;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    padding: 0.35rem 0.6rem;
    &:has(> svg:first-child, > :first-child > svg) {
      padding-inline-start: 0.5rem;
    }
    &:has(> svg:last-child, > :last-child > svg) {
      padding-inline-end: 0.5rem;
    }
    background: var(--color-bg);
    border: 1px solid var(--color-border);
    border-radius: 0.5rem;
    @supports (corner-shape: squircle) {
      corner-shape: squircle;
      border-radius: 1.5rem;
    }
    transition: color 100ms, background-color 100ms, width 100ms, scale 100ms, transform var(--ease-spring);
    &:hover {
      color: var(--color-text);
      background-color: var(--color-surface-alt);
    }
    @media (prefers-reduced-motion: no-preference) {
      &:active {
        scale: 0.97;
      }
    }
    svg:not([class*='size-']) {
      height: calc(var(--spacing) * 5);
      width: calc(var(--spacing) * 5);
    }
    svg[data-icon='arrow-up'] {
      margin-top: 2px;
      margin-inline: -0.2em;
    }
    svg[data-icon='arrow-up-right'] {
      margin-top: 2px;
      margin-inline-end: 1px;
      margin-inline-start: -2px;
    }
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-\(--vertical-padding\) {
    margin-block: var(--vertical-padding);
  }
  .external-link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
    --link-transition: 100ms;
    &::after {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-inline-start: 0.2em;
      vertical-align: text-bottom;
      background-color: var(--color-faint);
      mask-image: var(--after-icon-url);
      mask-repeat: no-repeat;
      mask-size: contain;
      mask-position: center;
      transition: background-color var(--link-transition), transform var(--ease-spring);
    }
    @media (hover: hover) {
      &:hover::after {
        background-color: var(--color-accent);
      }
    }
    --after-icon-url: url(/d91c56b7c5d98f4f8e5b.svg);
    @media (hover: hover) {
      &:hover::after {
        transform: translate(1.5px, -1.5px);
      }
    }
    &::after {
      width: 0.75em;
      height: 0.75em;
      margin-inline-start: 0;
      margin-inline-end: -0.15em;
      vertical-align: text-top;
    }
  }
  .mail-link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
    --link-transition: 100ms;
    &::before {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-inline-end: 0.2em;
      margin-bottom: 0.05em;
      vertical-align: text-bottom;
      background-color: var(--color-faint);
      mask-image: var(--before-icon-url);
      mask-repeat: no-repeat;
      mask-size: contain;
      mask-position: center;
      transition: background-color var(--link-transition), transform var(--ease-spring);
    }
    @media (hover: hover) {
      &:hover::before {
        background-color: var(--color-accent);
      }
    }
    &:focus-visible {
      &::before {
        content: var(--tw-content);
        transform: translateY(-2px);
      }
    }
    --before-icon-url: url(/289463c92d454d9c367a.svg);
    &:focus-visible {
      --before-icon-url: url(/3fdd56fc3074e0239164.svg);
    }
    &:hover {
      @media (hover: hover) {
        --before-icon-url: url(/3fdd56fc3074e0239164.svg);
      }
    }
    @media (hover: hover) {
      &:hover::before {
        transform: translateY(-2px);
      }
    }
  }
  .linkedin-link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
    --link-transition: 100ms;
    &::before {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-inline-end: 0.2em;
      margin-bottom: 0.05em;
      vertical-align: text-bottom;
      background-color: var(--color-faint);
      mask-image: var(--before-icon-url);
      mask-repeat: no-repeat;
      mask-size: contain;
      mask-position: center;
      transition: background-color var(--link-transition), transform var(--ease-spring);
    }
    @media (hover: hover) {
      &:hover::before {
        background-color: var(--color-accent);
      }
    }
    &::before {
      content: var(--tw-content);
      margin-bottom: 0.1em;
    }
    --before-icon-url: url(/0a6714339e3b19912e99.svg);
  }
  .github-link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
    --link-transition: 100ms;
    &::before {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-inline-end: 0.2em;
      margin-bottom: 0.05em;
      vertical-align: text-bottom;
      background-color: var(--color-faint);
      mask-image: var(--before-icon-url);
      mask-repeat: no-repeat;
      mask-size: contain;
      mask-position: center;
      transition: background-color var(--link-transition), transform var(--ease-spring);
    }
    @media (hover: hover) {
      &:hover::before {
        background-color: var(--color-accent);
      }
    }
    --before-icon-url: url(/1bbe87ee06ff71abd036.svg);
  }
  .x-link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
    --link-transition: 100ms;
    &::before {
      content: '';
      display: inline-block;
      width: 1em;
      height: 1em;
      margin-inline-end: 0.2em;
      margin-bottom: 0.05em;
      vertical-align: text-bottom;
      background-color: var(--color-faint);
      mask-image: var(--before-icon-url);
      mask-repeat: no-repeat;
      mask-size: contain;
      mask-position: center;
      transition: background-color var(--link-transition), transform var(--ease-spring);
    }
    @media (hover: hover) {
      &:hover::before {
        background-color: var(--color-accent);
      }
    }
    --before-icon-url: url(/afbd8b11e60553224ba2.svg);
  }
  .-mt-2 {
    margin-top: calc(var(--spacing) * -2);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .stacked-icons-container {
    display: grid;
    place-items: center;
  }
  .stacked-text-container {
    display: grid;
    place-items: start;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .size-\(--logo-size\) {
    width: var(--logo-size);
    height: var(--logo-size);
  }
  .size-1\.5 {
    width: calc(var(--spacing) * 1.5);
    height: calc(var(--spacing) * 1.5);
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-24 {
    width: calc(var(--spacing) * 24);
    height: calc(var(--spacing) * 24);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .w-0 {
    width: 0px;
  }
  .w-full {
    width: 100%;
  }
  .max-w-\(--max-width\) {
    max-width: var(--max-width);
  }
  .max-w-\[76ch\] {
    max-width: 76ch;
  }
  .max-w-\[calc\(var\(--content-width\)\+2\*var\(--horizontal-padding\)\)\] {
    max-width: calc(var(--content-width) + 2 * var(--horizontal-padding));
  }
  .min-w-0 {
    min-width: 0px;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .stacked-icon {
    grid-area: 1 / 1;
    transform-origin: center;
    transition: opacity 200ms ease;
    @media (prefers-reduced-motion: no-preference) {
      transition: opacity 200ms ease, scale 200ms var(--bounce), filter 200ms ease;
    }
  }
  .stacked-icon--hidden {
    opacity: 0;
    @media (prefers-reduced-motion: no-preference) {
      scale: 0.25;
      filter: blur(4px);
    }
  }
  .stacked-text--hidden-above {
    opacity: 0;
    transform: translateY(-50%) scale(0.9);
  }
  .stacked-text--hidden-below {
    opacity: 0;
    transform: translateY(50%) scale(0.9);
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .resize {
    resize: both;
  }
  .scrollbar-thumb-faint {
    --tw-scrollbar-thumb: var(--color-faint);
    scrollbar-color: var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);
  }
  .scrollbar-track-transparent {
    --tw-scrollbar-track: transparent;
    scrollbar-color: var(--tw-scrollbar-thumb) var(--tw-scrollbar-track);
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-\[calc\(var\(--logo-size\)\/2\)\] {
    gap: calc(var(--logo-size) / 2);
  }
  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }
  :where(.space-y-8 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
  }
  .gap-y-6 {
    row-gap: calc(var(--spacing) * 6);
  }
  .justify-self-center {
    justify-self: center;
  }
  .scroll-smooth {
    scroll-behavior: smooth;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-s-hairline {
    border-inline-start-width: var(--hairline);
  }
  .border-t-hairline {
    border-top-width: var(--hairline);
  }
  .border-\(--color-border\) {
    border-color: var(--color-border);
  }
  .border-faint {
    border-color: var(--color-faint);
  }
  .bg-\(--color-border\) {
    background-color: var(--color-border);
  }
  .bg-accent {
    background-color: var(--color-accent);
  }
  .bg-bg {
    background-color: var(--color-bg);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .fill-\[\#24292f\] {
    fill: #24292f;
  }
  .fill-black {
    fill: var(--color-black);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .px-\(--horizontal-padding\) {
    padding-inline: var(--horizontal-padding);
  }
  .py-\(--vertical-padding\) {
    padding-block: var(--vertical-padding);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .pt-\(--top-padding\) {
    padding-top: var(--top-padding);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-\[calc\(var\(--vertical-padding\)\*3\)\] {
    padding-top: calc(var(--vertical-padding) * 3);
  }
  .pb-\(--bottom-padding\) {
    padding-bottom: var(--bottom-padding);
  }
  .pb-20 {
    padding-bottom: calc(var(--spacing) * 20);
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-base\/relaxed {
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-\[0\.8rem\] {
    font-size: 0.8rem;
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .text-pretty {
    text-wrap: pretty;
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .link {
    text-decoration: dotted underline var(--color-faint);
    text-decoration-thickness: var(--underline-thickness);
    transition: color var(--link-transition), text-decoration-color var(--link-transition);
    &:hover {
      @media (hover: hover) {
        color: var(--color-accent);
        text-decoration-color: var(--color-accent);
        text-decoration-style: solid;
      }
    }
  }
  .text-accent {
    color: var(--color-accent);
  }
  .text-accent-text {
    color: var(--color-accent-text);
  }
  .text-light {
    color: var(--color-light);
  }
  .text-stone-800 {
    color: var(--color-stone-800);
  }
  .text-stone-900 {
    color: var(--color-stone-900);
  }
  .text-subtle {
    color: var(--color-subtle);
  }
  .text-text {
    color: var(--color-text);
  }
  .lowercase {
    text-transform: lowercase;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);
  }
  .underline {
    text-decoration-line: underline;
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-opacity {
    transition-property: opacity;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-100 {
    --tw-duration: 100ms;
    transition-duration: 100ms;
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .ease-spring {
    --tw-ease: var(--ease-spring);
    transition-timing-function: var(--ease-spring);
  }
  .stacked-text {
    grid-area: 1 / 1;
    transition: opacity 200ms ease, transform 200ms var(--bounce);
  }
  .\[--bottom-padding\:calc\(var\(--vertical-padding\)\*2\)\] {
    --bottom-padding: calc(var(--vertical-padding) * 2);
  }
  .\[--hover-rotation\:-2deg\] {
    --hover-rotation: -2deg;
  }
  .\[--hover-rotation\:-3deg\] {
    --hover-rotation: -3deg;
  }
  .\[--hover-rotation\:-4deg\] {
    --hover-rotation: -4deg;
  }
  .\[--hover-rotation\:3deg\] {
    --hover-rotation: 3deg;
  }
  .\[--hover-x\:-2\] {
    --hover-x: -2;
  }
  .\[--hover-x\:-3\] {
    --hover-x: -3;
  }
  .\[--hover-x\:2\] {
    --hover-x: 2;
  }
  .\[--hover-x\:4\] {
    --hover-x: 4;
  }
  .\[--hover-y\:-1\] {
    --hover-y: -1;
  }
  .\[--hover-y\:-2\] {
    --hover-y: -2;
  }
  .\[--hover-y\:-6\] {
    --hover-y: -6;
  }
  .\[--hover-y\:0\] {
    --hover-y: 0;
  }
  .\[--hover-y\:1\.5\] {
    --hover-y: 1.5;
  }
  .\[--initial-rotation\:-5deg\] {
    --initial-rotation: -5deg;
  }
  .\[--initial-rotation\:-9deg\] {
    --initial-rotation: -9deg;
  }
  .\[--initial-rotation\:1deg\] {
    --initial-rotation: 1deg;
  }
  .\[--initial-rotation\:6deg\] {
    --initial-rotation: 6deg;
  }
  .\[--initial-rotation\:7deg\] {
    --initial-rotation: 7deg;
  }
  .\[--initial-rotation\:9deg\] {
    --initial-rotation: 9deg;
  }
  .\[--initial-x\:0\] {
    --initial-x: 0;
  }
  .\[--initial-y\:-1\.5\] {
    --initial-y: -1.5;
  }
  .\[--initial-y\:-1\] {
    --initial-y: -1;
  }
  .\[--initial-y\:-2\] {
    --initial-y: -2;
  }
  .\[--initial-y\:3\] {
    --initial-y: 3;
  }
  .\[--link-spacing\:--spacing\(4\)\] {
    --link-spacing: calc(var(--spacing) * 4);
  }
  .\[--logo-size\:--spacing\(5\)\] {
    --logo-size: calc(var(--spacing) * 5);
  }
  .\[--tilt-scale\:1\.1\] {
    --tilt-scale: 1.1;
  }
  .\[--top-padding\:--spacing\(20\)\] {
    --top-padding: calc(var(--spacing) * 20);
  }
  .\[--vertical-padding\:--spacing\(12\)\] {
    --vertical-padding: calc(var(--spacing) * 12);
  }
  .\[--z\:1\] {
    --z: 1;
  }
  .\[--z\:2\] {
    --z: 2;
  }
  .\[--z\:3\] {
    --z: 3;
  }
  .\[--z\:4\] {
    --z: 4;
  }
  .\[--z\:5\] {
    --z: 5;
  }
  .ease-spring {
    transition: var(--ease-spring);
  }
  .not-hover\:not-focus-within\:opacity-40:not(:hover):not(:focus-within) {
    opacity: 40%;
  }
  @media not (hover: hover) {
    .not-hover\:not-focus-within\:opacity-40:not(:focus-within) {
      opacity: 40%;
    }
  }
  .not-in-data-\[page\=blog-post\]\:hidden:not(:where([data-page="blog-post"]) *) {
    display: none;
  }
  .not-in-data-\[page\=til-entry\]\:hidden:not(:where([data-page="til-entry"]) *) {
    display: none;
  }
  .not-in-data-\[page\=blog-index\]\:not-in-data-\[page\=til-index\]\:hidden:not(:where([data-page="blog-index"]) *):not(:where([data-page="til-index"]) *) {
    display: none;
  }
  @media (hover: hover) {
    .group-hover\/arrow-right\:translate-x-0\.75:is(:where(.group\/arrow-right):hover *) {
      --tw-translate-x: calc(var(--spacing) * 0.75);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/arrow-up\:-translate-y-0\.75:is(:where(.group\/arrow-up):hover *) {
      --tw-translate-y: calc(var(--spacing) * -0.75);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/arrow-up-right\:translate-x-0\.75:is(:where(.group\/arrow-up-right):hover *) {
      --tw-translate-x: calc(var(--spacing) * 0.75);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/arrow-up-right\:-translate-y-0\.75:is(:where(.group\/arrow-up-right):hover *) {
      --tw-translate-y: calc(var(--spacing) * -0.75);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/clipboard\:-translate-x-0\.25:is(:where(.group\/clipboard):hover *) {
      --tw-translate-x: calc(var(--spacing) * -0.25);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/clipboard\:translate-x-0\.25:is(:where(.group\/clipboard):hover *) {
      --tw-translate-x: calc(var(--spacing) * 0.25);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/clipboard\:-translate-y-0\.25:is(:where(.group\/clipboard):hover *) {
      --tw-translate-y: calc(var(--spacing) * -0.25);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/clipboard\:translate-y-0\.25:is(:where(.group\/clipboard):hover *) {
      --tw-translate-y: calc(var(--spacing) * 0.25);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/external-link\:translate-x-0\.5:is(:where(.group\/external-link):hover *) {
      --tw-translate-x: calc(var(--spacing) * 0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .group-hover\/external-link\:-translate-y-0\.5:is(:where(.group\/external-link):hover *) {
      --tw-translate-y: calc(var(--spacing) * -0.5);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
  }
  @media (width < 55rem) {
    .max-rail\:mb-4 {
      margin-bottom: calc(var(--spacing) * 4);
    }
    .max-rail\:hidden {
      display: none;
    }
  }
  @media (width < 40rem) {
    .max-sm\:hidden {
      display: none;
    }
    .max-sm\:max-w-\[65vw\] {
      max-width: 65vw;
    }
    .max-sm\:translate-y-2 {
      --tw-translate-y: calc(var(--spacing) * 2);
      translate: var(--tw-translate-x) var(--tw-translate-y);
    }
    .max-sm\:flex-col {
      flex-direction: column;
    }
    .max-sm\:justify-between {
      justify-content: space-between;
    }
    .max-sm\:px-\(--horizontal-padding\) {
      padding-inline: var(--horizontal-padding);
    }
    .max-sm\:py-4 {
      padding-block: calc(var(--spacing) * 4);
    }
  }
  @media (width >= 40rem) {
    .sm\:sticky {
      position: sticky;
    }
    .sm\:top-8 {
      top: calc(var(--spacing) * 8);
    }
    .sm\:row-span-2 {
      grid-row: span 2 / span 2;
    }
    .sm\:mx-auto {
      margin-inline: auto;
    }
    .sm\:-mb-\[calc\(var\(--bottom-padding\)\+var\(--vertical-padding\)\)\] {
      margin-bottom: calc(calc(var(--bottom-padding) + var(--vertical-padding)) * -1);
    }
    .sm\:w-48 {
      width: calc(var(--spacing) * 48);
    }
    .sm\:grid-cols-\[1fr_auto\] {
      grid-template-columns: 1fr auto;
    }
    .sm\:items-center {
      align-items: center;
    }
    .sm\:justify-center {
      justify-content: center;
    }
    .sm\:gap-8 {
      gap: calc(var(--spacing) * 8);
    }
    .sm\:gap-x-8 {
      column-gap: calc(var(--spacing) * 8);
    }
    .sm\:gap-y-4 {
      row-gap: calc(var(--spacing) * 4);
    }
    .sm\:self-start {
      align-self: flex-start;
    }
    .sm\:\[--gallery-columns\:3\] {
      --gallery-columns: 3;
    }
  }
  @media (width >= 48rem) {
    .md\:hidden {
      display: none;
    }
  }
  @media (width >= 55rem) {
    .rail\:sticky {
      position: sticky;
    }
    .rail\:top-2 {
      top: calc(var(--spacing) * 2);
    }
    .rail\:grid {
      display: grid;
    }
    .rail\:grid-cols-\[var\(--left-col\)_var\(--gutter\)_1fr\] {
      grid-template-columns: var(--left-col) var(--gutter) 1fr;
    }
    .rail\:gap-\(--main-gap\) {
      gap: var(--main-gap);
    }
    .rail\:self-start {
      align-self: flex-start;
    }
    .rail\:text-right {
      text-align: right;
    }
  }
  @media (prefers-color-scheme: dark) {
    .dark\:bg-zinc-950 {
      background-color: var(--color-zinc-950);
    }
    .dark\:fill-\[\#fff\] {
      fill: #fff;
    }
    .dark\:fill-white {
      fill: var(--color-white);
    }
    .dark\:text-zinc-100 {
      color: var(--color-zinc-100);
    }
  }
}
@layer base {
  @font-face {
    font-family: 'Calibre';
    font-style: normal;
    font-weight: 400;
    src: url(/fonts/calibre-regular.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Calibre';
    font-style: italic;
    font-weight: 400;
    src: url(/fonts/calibre-regular-italic.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Calibre';
    font-style: normal;
    font-weight: 600;
    src: url(/fonts/calibre-semibold.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Calibre';
    font-style: italic;
    font-weight: 600;
    src: url(/fonts/calibre-semibold-italic.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Calibre';
    font-style: normal;
    font-weight: 700;
    src: url(/fonts/calibre-bold.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Monaspice Argon';
    font-style: normal;
    font-weight: 400;
    src: url(/fonts/MonaspiceArNerdFontMono-Regular.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Monaspice Argon';
    font-style: normal;
    font-weight: 700;
    src: url(/fonts/MonaspiceArNerdFontMono-Bold.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Monaspice Radon';
    font-style: normal;
    font-weight: 400;
    src: url(/fonts/MonaspiceRnNerdFontMono-Regular.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Crimson Pro';
    font-style: italic;
    font-weight: 200 900;
    src: url(/fonts/CrimsonPro-Italic-VariableFont_wght.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Crimson Pro';
    font-style: normal;
    font-weight: 200 900;
    src: url(/fonts/CrimsonPro-VariableFont_wght.woff2) format('woff2');
    font-display: swap;
  }
  @font-face {
    font-family: 'Gloria Hallelujah';
    font-style: normal;
    font-weight: 500;
    src: url(/fonts/GloriaHallelujah-Regular.woff2) format('woff2');
    font-display: swap;
  }
}
@scope (.blog-post-list) {
  :scope {
    --hover-transition: 60ms;
    --item-vertical-padding: 0.5rem;
    --item-horizontal-padding: 0.75rem;
    position: relative;
    list-style: none;
    padding: 0;
    margin: 0 calc(var(--item-horizontal-padding) * -1);
    isolation: isolate;
  }
  :scope::before {
    content: '';
    display: inline-block;
    position: absolute;
    z-index: 0;
    pointer-events: none;
    background: light-dark(var(--color-surface-alt), var(--color-surface));
    border-radius: 0.5rem;
    @supports (corner-shape: squircle) {
      corner-shape: squircle;
      border-radius: 1rem;
    }
    transition: inset calc(var(--hover-transition) * 2) var(--gentler-spring), opacity var(--hover-transition);
    will-change: inset, opacity;
    transform-origin: center;
    position-anchor: --hovered-item;
    inset: anchor(inside);
  }
  .blog-list-item {
    margin: 0;
    transition: opacity var(--hover-transition);
    border-radius: 0.5rem;
    @supports (corner-shape: squircle) {
      corner-shape: squircle;
      border-radius: 1rem;
    }
    @media (prefers-reduced-motion: no-preference) {
      transition: scale 200ms ease-out;
      &:active {
        scale: 0.98;
      }
    }
    a {
      display: flex;
      justify-content: space-between;
      gap: 0.5rem;
      padding: var(--item-vertical-padding) var(--item-horizontal-padding);
      text-decoration: none;
      @media (hover: hover) {
        &:hover {
          color: inherit;
        }
      }
    }
    position: relative;
    z-index: 1;
    @media (hover: hover) {
      &:hover {
        anchor-name: --hovered-item;
      }
      .blog-post-list:has(&:hover) &:not(:hover) {
        opacity: 0.4;
      }
    }
    &:not(:last-child)::after {
      content: '';
      display: block;
      height: var(--hairline);
      width: calc(100% - var(--item-horizontal-padding) * 2);
      margin-inline: auto;
      background: var(--color-border-light);
      transition: opacity var(--hover-transition);
    }
    @media (hover: hover) {
      &:hover::after, &:has(+ &:hover)::after {
        opacity: 0;
      }
    }
    .blog-list-item__title {
      font-size: 1.05rem;
      font-weight: 600;
      text-wrap: pretty;
      overflow-wrap: break-word;
      margin-top: 0;
    }
    .blog-list-item__date {
      font-variant-numeric: tabular-nums;
      font-size: 0.85rem;
      color: var(--color-subtle);
      white-space: nowrap;
      margin-top: 0.2em;
    }
  }
}
:root {
  color-scheme: light dark;
  text-underline-position: from-font;
  text-decoration-skip-ink: auto;
}
html[data-theme-switching], html[data-theme-switching] *, html[data-theme-switching] *::before, html[data-theme-switching] *::after {
  transition: none !important;
  animation: none !important;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}
:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 3px;
  border-radius: var(--focus-radius);
  @supports (corner-shape: squircle) {
    corner-shape: squircle;
    border-radius: var(--focus-radius-squircle);
  }
}
img {
  outline: 1px solid var(--color-image-outline);
  outline-offset: -1px;
}
.skip-link {
  position: fixed;
  z-index: 100;
  inset-block-start: 0;
  inset-inline-start: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  width: 1px;
  height: 1px;
  white-space: nowrap;
  padding: 0.5rem 1rem;
  margin: 0.5rem;
  background: var(--color-bg);
  color: var(--color-light);
  font-weight: 600;
  border: 1px solid var(--color-border);
  border-radius: var(--focus-radius);
  @supports (corner-shape: squircle) {
    corner-shape: squircle;
    border-radius: var(--focus-radius-squircle);
  }
  text-decoration: none;
  &:focus, &:focus-visible {
    clip: auto;
    clip-path: none;
    width: auto;
    height: auto;
    overflow: visible;
  }
}
.rail-layout {
  max-width: calc(var(--content-width) + var(--horizontal-padding) * 2);
  margin-inline: auto;
}
@media (min-width: 55rem) {
  .rail-layout {
    max-width: calc(var(--content-width) + var(--rail-offset) + var(--horizontal-padding) * 2);
    margin-inline-start: calc( 50% - var(--content-width) / 2 - var(--rail-offset) - var(--horizontal-padding) );
    margin-inline-end: auto;
  }
}
@layer base {
  html, body {
    height: 100%;
  }
  #wrapper {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }
  #main {
    flex: 1;
  }
}
::selection {
  background: var(--selection-color);
  color: var(--color-accent);
  text-decoration: dotted underline var(--color-accent);
  text-decoration-thickness: var(--underline-thickness);
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-scrollbar-thumb {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-scrollbar-track {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-ordinal {
  syntax: "*";
  inherits: false;
}
@property --tw-slashed-zero {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-figure {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false;
}
@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-content: "";
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-scrollbar-thumb: #0000;
      --tw-scrollbar-track: #0000;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}

/*!********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/highlight.js/styles/github.min.css (media not (prefers-color-scheme: dark)) ***!
  \********************************************************************************************************************************************/
@media not (prefers-color-scheme: dark) {
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}
}
/*!*********************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/highlight.js/styles/github-dark.min.css (media (prefers-color-scheme: dark)) ***!
  \*********************************************************************************************************************************************/
@media (prefers-color-scheme: dark) {
pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
}
/*!*****************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@tailwindcss/webpack/dist/index.js!./src/highlight-theme.css ***!
  \*****************************************************************************************************************************/
/* Default (light) */

/* Dark theme when the user prefers dark mode */

/*
 * The vendored GitHub dark theme renders markup headings at #1f6feb, which is
 * only 4.1:1 against the code block background it actually sits on. #388bfd is
 * the next step up GitHub's own blue ramp and clears 4.5:1 (5.7:1).
 */
@media (prefers-color-scheme: dark) {
  .hljs-section {
    color: #388bfd;
  }
}

/* Comments in Monaspace Radon; all Monaspace variants share metrics, so alignment is preserved */
.hljs-comment,
.hljs-quote {
  font-family: var(--font-mono-comment);
}

/*!*****************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js!./node_modules/@tailwindcss/webpack/dist/index.js!./src/404.css ***!
  \*****************************************************************************************************************/
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@scope (.page-404) {
  :scope {
    font-family: var(--font-sans);
    color: var(--color-text);
  }
  .page-404__hero {
    max-width: 70ch;
  }
  .page-404__intro {
    font-size: 1.25rem;
    color: var(--color-text);
    text-wrap: pretty;
    margin-bottom: 1.5rem;
    animation: page-404-pop 900ms var(--spring) 60ms both;
  }
  .page-404__body {
    max-width: 70ch;
    color: var(--color-muted);
    text-wrap: pretty;
    animation: page-404-pop 900ms var(--spring) 120ms both;
    a:not(:hover) {
      color: var(--color-text);
    }
  }
  .page-404__rule {
    border: 0;
    height: var(--hairline);
    border-radius: 9999px;
    background-color: var(--color-border-light);
  }
}
.page-404__numeral {
  width: max-content;
  margin-bottom: 1.5rem;
  line-height: 1;
  font-weight: 700;
  font-size: clamp(9rem, 15vw, 14rem);
  color: var(--color-accent-muted);
  text-shadow: 0 3.5px 6px oklch(0% 0 0 / 0.09);
  animation: page-404-pop 900ms var(--spring) both;
}
@keyframes page-404-pop {
  from {
    opacity: 0;
    scale: 0.85;
  }
  to {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-404__numeral, .page-404__intro, .page-404__body {
    animation: none !important;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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RUFDQTtJQUNFLGtCQUFrQjtJQUNsQix3QkFBd0I7SUFDeEIsaUJBQWlCO0lBQ2pCLHFCQUFxQjtJQUNyQixxREFBcUQ7RUFDdkQ7RUFDQTtJQUNFLGVBQWU7SUFDZix5QkFBeUI7SUFDekIsaUJBQWlCO0lBQ2pCLHNEQUFzRDtJQUN0RDtNQUNFLHdCQUF3QjtJQUMxQjtFQUNGO0VBQ0E7SUFDRSxTQUFTO0lBQ1QsdUJBQXVCO0lBQ3ZCLHFCQUFxQjtJQUNyQiwyQ0FBMkM7RUFDN0M7QUFDRjtBQUNBO0VBQ0Usa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUNyQixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLG1DQUFtQztFQUNuQyxnQ0FBZ0M7RUFDaEMsNkNBQTZDO0VBQzdDLGdEQUFnRDtBQUNsRDtBQUNBO0VBQ0U7SUFDRSxVQUFVO0lBQ1YsV0FBVztFQUNiO0VBQ0E7SUFDRSxVQUFVO0VBQ1o7QUFDRjtBQUNBO0VBQ0U7SUFDRSwwQkFBMEI7RUFDNUI7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL3kvLi9zcmMvc3R5bGUuY3NzIiwid2VicGFjazovL3kvLi9ub2RlX21vZHVsZXMvaGlnaGxpZ2h0LmpzL3N0eWxlcy9naXRodWIubWluLmNzcyIsIndlYnBhY2s6Ly95Ly4vbm9kZV9tb2R1bGVzL2hpZ2hsaWdodC5qcy9zdHlsZXMvZ2l0aHViLWRhcmsubWluLmNzcyIsIndlYnBhY2s6Ly95Ly4vc3JjL2hpZ2hsaWdodC10aGVtZS5jc3MiLCJ3ZWJwYWNrOi8veS8uL3NyYy80MDQuY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qISB0YWlsd2luZGNzcyB2NC4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tICovXG5AbGF5ZXIgcHJvcGVydGllcztcbkBsYXllciB0aGVtZSwgYmFzZSwgY29tcG9uZW50cywgdXRpbGl0aWVzO1xuQGxheWVyIHRoZW1lIHtcbiAgOnJvb3QsIDpob3N0IHtcbiAgICAtLWZvbnQtc2FuczogQ2FsaWJyZSwgc2Fucy1zZXJpZjtcbiAgICAtLWZvbnQtc2VyaWY6ICdDcmltc29uIFBybycsIHNlcmlmO1xuICAgIC0tZm9udC1tb25vOiAnTW9uYXNwaWNlIEFyZ29uJywgbW9ub3NwYWNlO1xuICAgIC0tY29sb3ItcmVkLTUwMDogb2tsY2goNjMuNyUgMC4yMzcgMjUuMzMxKTtcbiAgICAtLWNvbG9yLW9yYW5nZS01MDA6IG9rbGNoKDcwLjUlIDAuMjEzIDQ3LjYwNCk7XG4gICAgLS1jb2xvci15ZWxsb3ctMTAwOiBva2xjaCg5Ny4zJSAwLjA3MSAxMDMuMTkzKTtcbiAgICAtLWNvbG9yLXllbGxvdy00MDA6IG9rbGNoKDg1LjIlIDAuMTk5IDkxLjkzNik7XG4gICAgLS1jb2xvci15ZWxsb3ctNTAwOiBva2xjaCg3OS41JSAwLjE4NCA4Ni4wNDcpO1xuICAgIC0tY29sb3IteWVsbG93LTYwMDogb2tsY2goNjguMSUgMC4xNjIgNzUuODM0KTtcbiAgICAtLWNvbG9yLXllbGxvdy05NTA6IG9rbGNoKDI4LjYlIDAuMDY2IDUzLjgxMyk7XG4gICAgLS1jb2xvci1ncmVlbi01MDA6IG9rbGNoKDcyLjMlIDAuMjE5IDE0OS41NzkpO1xuICAgIC0tY29sb3ItZW1lcmFsZC0xMDA6IG9rbGNoKDk1JSAwLjA1MiAxNjMuMDUxKTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtNDAwOiBva2xjaCg3Ni41JSAwLjE3NyAxNjMuMjIzKTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtNjAwOiBva2xjaCg1OS42JSAwLjE0NSAxNjMuMjI1KTtcbiAgICAtLWNvbG9yLWVtZXJhbGQtOTUwOiBva2xjaCgyNi4yJSAwLjA1MSAxNzIuNTUyKTtcbiAgICAtLWNvbG9yLXNreS01MDogb2tsY2goOTcuNyUgMC4wMTMgMjM2LjYyKTtcbiAgICAtLWNvbG9yLXNreS0xMDA6IG9rbGNoKDk1LjElIDAuMDI2IDIzNi44MjQpO1xuICAgIC0tY29sb3Itc2t5LTIwMDogb2tsY2goOTAuMSUgMC4wNTggMjMwLjkwMik7XG4gICAgLS1jb2xvci1za3ktMzAwOiBva2xjaCg4Mi44JSAwLjExMSAyMzAuMzE4KTtcbiAgICAtLWNvbG9yLXNreS00MDA6IG9rbGNoKDc0LjYlIDAuMTYgMjMyLjY2MSk7XG4gICAgLS1jb2xvci1za3ktNTAwOiBva2xjaCg2OC41JSAwLjE2OSAyMzcuMzIzKTtcbiAgICAtLWNvbG9yLXNreS02MDA6IG9rbGNoKDU4LjglIDAuMTU4IDI0MS45NjYpO1xuICAgIC0tY29sb3Itc2t5LTcwMDogb2tsY2goNTAlIDAuMTM0IDI0Mi43NDkpO1xuICAgIC0tY29sb3Itc2t5LTgwMDogb2tsY2goNDQuMyUgMC4xMSAyNDAuNzkpO1xuICAgIC0tY29sb3Itc2t5LTkwMDogb2tsY2goMzkuMSUgMC4wOSAyNDAuODc2KTtcbiAgICAtLWNvbG9yLXNreS05NTA6IG9rbGNoKDI5LjMlIDAuMDY2IDI0My4xNTcpO1xuICAgIC0tY29sb3ItcHVycGxlLTUwMDogb2tsY2goNjIuNyUgMC4yNjUgMzAzLjkpO1xuICAgIC0tY29sb3ItcGluay01MDA6IG9rbGNoKDY1LjYlIDAuMjQxIDM1NC4zMDgpO1xuICAgIC0tY29sb3Itcm9zZS0xMDA6IG9rbGNoKDk0LjElIDAuMDMgMTIuNTgpO1xuICAgIC0tY29sb3Itcm9zZS00MDA6IG9rbGNoKDcxLjIlIDAuMTk0IDEzLjQyOCk7XG4gICAgLS1jb2xvci1yb3NlLTYwMDogb2tsY2goNTguNiUgMC4yNTMgMTcuNTg1KTtcbiAgICAtLWNvbG9yLXJvc2UtOTUwOiBva2xjaCgyNy4xJSAwLjEwNSAxMi4wOTQpO1xuICAgIC0tY29sb3ItemluYy0xMDA6IG9rbGNoKDk2LjclIDAuMDAxIDI4Ni4zNzUpO1xuICAgIC0tY29sb3ItemluYy0yMDA6IG9rbGNoKDkyJSAwLjAwNCAyODYuMzIpO1xuICAgIC0tY29sb3ItemluYy0zMDA6IG9rbGNoKDg3LjElIDAuMDA2IDI4Ni4yODYpO1xuICAgIC0tY29sb3ItemluYy00MDA6IG9rbGNoKDcwLjUlIDAuMDE1IDI4Ni4wNjcpO1xuICAgIC0tY29sb3ItemluYy01MDA6IG9rbGNoKDU1LjIlIDAuMDE2IDI4NS45MzgpO1xuICAgIC0tY29sb3ItemluYy02MDA6IG9rbGNoKDQ0LjIlIDAuMDE3IDI4NS43ODYpO1xuICAgIC0tY29sb3ItemluYy03MDA6IG9rbGNoKDM3JSAwLjAxMyAyODUuODA1KTtcbiAgICAtLWNvbG9yLXppbmMtODAwOiBva2xjaCgyNy40JSAwLjAwNiAyODYuMDMzKTtcbiAgICAtLWNvbG9yLXppbmMtOTAwOiBva2xjaCgyMSUgMC4wMDYgMjg1Ljg4NSk7XG4gICAgLS1jb2xvci16aW5jLTk1MDogb2tsY2goMTQuMSUgMC4wMDUgMjg1LjgyMyk7XG4gICAgLS1jb2xvci1zdG9uZS01MDogb2tsY2goOTguNSUgMC4wMDEgMTA2LjQyMyk7XG4gICAgLS1jb2xvci1zdG9uZS0xMDA6IG9rbGNoKDk3JSAwLjAwMSAxMDYuNDI0KTtcbiAgICAtLWNvbG9yLXN0b25lLTIwMDogb2tsY2goOTIuMyUgMC4wMDMgNDguNzE3KTtcbiAgICAtLWNvbG9yLXN0b25lLTMwMDogb2tsY2goODYuOSUgMC4wMDUgNTYuMzY2KTtcbiAgICAtLWNvbG9yLXN0b25lLTQwMDogb2tsY2goNzAuOSUgMC4wMSA1Ni4yNTkpO1xuICAgIC0tY29sb3Itc3RvbmUtNTAwOiBva2xjaCg1NS4zJSAwLjAxMyA1OC4wNzEpO1xuICAgIC0tY29sb3Itc3RvbmUtNjAwOiBva2xjaCg0NC40JSAwLjAxMSA3My42MzkpO1xuICAgIC0tY29sb3Itc3RvbmUtNzAwOiBva2xjaCgzNy40JSAwLjAxIDY3LjU1OCk7XG4gICAgLS1jb2xvci1zdG9uZS04MDA6IG9rbGNoKDI2LjglIDAuMDA3IDM0LjI5OCk7XG4gICAgLS1jb2xvci1zdG9uZS05MDA6IG9rbGNoKDIxLjYlIDAuMDA2IDU2LjA0Myk7XG4gICAgLS1jb2xvci1zdG9uZS05NTA6IG9rbGNoKDE0LjclIDAuMDA0IDQ5LjI1KTtcbiAgICAtLWNvbG9yLWJsYWNrOiAjMDAwO1xuICAgIC0tY29sb3Itd2hpdGU6ICNmZmY7XG4gICAgLS1zcGFjaW5nOiAwLjI1cmVtO1xuICAgIC0tdGV4dC1zbTogMC44NzVyZW07XG4gICAgLS10ZXh0LXNtLS1saW5lLWhlaWdodDogY2FsYygxLjI1IC8gMC44NzUpO1xuICAgIC0tdGV4dC1iYXNlOiAxcmVtO1xuICAgIC0tdGV4dC1sZzogMS4xMjVyZW07XG4gICAgLS10ZXh0LWxnLS1saW5lLWhlaWdodDogY2FsYygxLjc1IC8gMS4xMjUpO1xuICAgIC0tdGV4dC00eGw6IDIuMjVyZW07XG4gICAgLS10ZXh0LTR4bC0tbGluZS1oZWlnaHQ6IGNhbGMoMi41IC8gMi4yNSk7XG4gICAgLS1mb250LXdlaWdodC1tZWRpdW06IDUwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiAgICAtLXRyYWNraW5nLXRpZ2h0OiAtMC4wMjVlbTtcbiAgICAtLWxlYWRpbmctcmVsYXhlZDogMS42MjU7XG4gICAgLS1yYWRpdXMteHM6IDAuMTI1cmVtO1xuICAgIC0tc2hhZG93LW1kOiAwIDRweCA2cHggLTFweCByZ2IoMCAwIDAgLyAwLjEpLCAwIDJweCA0cHggLTJweCByZ2IoMCAwIDAgLyAwLjEpO1xuICAgIC0tZWFzZS1vdXQ6IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xuICAgIC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxNTBtcztcbiAgICAtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gICAgLS1kZWZhdWx0LWZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpO1xuICAgIC0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1vbm8pO1xuICAgIC0tbGVmdC1jb2w6IDRyZW07XG4gICAgLS1ndXR0ZXI6IHZhcigtLWhhaXJsaW5lKTtcbiAgICAtLW1haW4tZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gICAgLS1ob3Jpem9udGFsLXBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgICAtLWNvbnRlbnQtd2lkdGg6IDcyY2g7XG4gICAgLS1yYWlsLW9mZnNldDogY2FsYyh2YXIoLS1sZWZ0LWNvbCkgKyB2YXIoLS1ndXR0ZXIpICsgdmFyKC0tbWFpbi1nYXApICogMik7XG4gICAgLS1tYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGVudC13aWR0aCkgKyB2YXIoLS1yYWlsLW9mZnNldCkgKyB2YXIoLS1ob3Jpem9udGFsLXBhZGRpbmcpICogMik7XG4gICAgLS11bmRlcmxpbmUtdGhpY2tuZXNzOiAwLjA3NWVtO1xuICAgIC0tZm9udC1tb25vLWNvbW1lbnQ6ICdNb25hc3BpY2UgUmFkb24nLCB2YXIoLS1mb250LW1vbm8pO1xuICAgIC0tZm9udC1tb25vLWZlYXR1cmVzOiAnY2FsdCcsICdzczAxJywgJ3NzMDInLCAnc3MwMycsICdzczA0JywgJ3NzMDUnLCAnc3MwNicsICdzczA3JywgJ3NzMDgnLCAnc3MwOScsICdzczEwJywgJ2xpZ2EnO1xuICAgIC0tZm9udC1oYW5kd3JpdGluZzogJ0dsb3JpYSBIYWxsZWx1amFoJywgY3Vyc2l2ZTtcbiAgICAtLWNvbG9yLXByaW1hcnktNDAwOiB2YXIoLS1jb2xvci1za3ktNDAwKTtcbiAgICAtLWNvbG9yLXByaW1hcnktNTAwOiB2YXIoLS1jb2xvci1za3ktNTAwKTtcbiAgICAtLWNvbG9yLXByaW1hcnktNjAwOiB2YXIoLS1jb2xvci1za3ktNjAwKTtcbiAgICAtLWNvbG9yLXRleHQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtOTUwKSwgdmFyKC0tY29sb3ItemluYy0xMDApKTtcbiAgICAtLWNvbG9yLXRleHQtaW52ZXJzZTogbGlnaHQtZGFyayh2YXIoLS1jb2xvci16aW5jLTEwMCksIHZhcigtLWNvbG9yLXN0b25lLTk1MCkpO1xuICAgIC0tY29sb3ItYmc6IGxpZ2h0LWRhcmsod2hpdGUsIHZhcigtLWNvbG9yLXppbmMtOTUwKSk7XG4gICAgLS1jb2xvci1iZy1pbnZlcnNlOiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXppbmMtOTUwKSwgd2hpdGUpO1xuICAgIC0tY29sb3ItYm9yZGVyOiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXN0b25lLTMwMCksIHZhcigtLWNvbG9yLXppbmMtODAwKSk7XG4gICAgLS1jb2xvci1ib3JkZXItbGlnaHQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtMjAwKSwgdmFyKC0tY29sb3ItemluYy05MDApKTtcbiAgICAtLWNvbG9yLWRpdmlkZXI6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtMjAwKSwgdmFyKC0tY29sb3ItemluYy05MDApKTtcbiAgICAtLWNvbG9yLWFjY2VudDogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1wcmltYXJ5LTUwMCksIHZhcigtLWNvbG9yLXByaW1hcnktNDAwKSk7XG4gICAgLS1jb2xvci1hY2NlbnQtbXV0ZWQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3ItcHJpbWFyeS00MDApLCB2YXIoLS1jb2xvci1wcmltYXJ5LTUwMCkpO1xuICAgIC0tY29sb3ItYWNjZW50LXRleHQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3ItcHJpbWFyeS02MDApLCB2YXIoLS1jb2xvci1wcmltYXJ5LTQwMCkpO1xuICAgIC0tY29sb3ItbGlnaHQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtNzAwKSwgdmFyKC0tY29sb3ItemluYy0yMDApKTtcbiAgICAtLWNvbG9yLXNvZnQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtNjAwKSwgdmFyKC0tY29sb3ItemluYy0zMDApKTtcbiAgICAtLWNvbG9yLW11dGVkOiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXN0b25lLTUwMCksIHZhcigtLWNvbG9yLXppbmMtNDAwKSk7XG4gICAgLS1jb2xvci1zdWJ0bGU6IGNvbG9yLW1peChpbiBzcmdiLCBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXN0b25lLTUwMCksIHZhcigtLWNvbG9yLXppbmMtNDAwKSkgNTAlLCBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXN0b25lLTQwMCksIHZhcigtLWNvbG9yLXppbmMtNTAwKSkpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgLS1jb2xvci1zdWJ0bGU6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItbXV0ZWQpIDUwJSwgdmFyKC0tY29sb3ItZmFpbnQpKTtcbiAgICB9XG4gICAgLS1jb2xvci1mYWludDogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS00MDApLCB2YXIoLS1jb2xvci16aW5jLTUwMCkpO1xuICAgIC0tY29sb3Itd2VhazogY29sb3ItbWl4KGluIHNyZ2IsIGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtNDAwKSwgdmFyKC0tY29sb3ItemluYy01MDApKSA1MCUsIGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtMzAwKSwgdmFyKC0tY29sb3ItemluYy02MDApKSk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAtLWNvbG9yLXdlYWs6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItZmFpbnQpIDUwJSwgdmFyKC0tY29sb3ItZ2hvc3QpKTtcbiAgICB9XG4gICAgLS1jb2xvci1naG9zdDogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS0zMDApLCB2YXIoLS1jb2xvci16aW5jLTYwMCkpO1xuICAgIC0tc2VsZWN0aW9uLWNvbG9yOiBva2xjaChmcm9tIHZhcigtLWNvbG9yLXByaW1hcnktNTAwKSBsIGMgaCAvIDUlKTtcbiAgICAtLWNvbG9yLXNjcm9sbC1jb3ZlcjogbGlnaHQtZGFyayh3aGl0ZSwgdmFyKC0tY29sb3ItemluYy05NTApKTtcbiAgICAtLWNvbG9yLXNjcm9sbC1jb3Zlci10cmFuc3BhcmVudDogbGlnaHQtZGFyayhva2xjaCgxMDAlIDAuMDAwMTEgMjcxLjE1MiAvIDApLCBva2xjaCgwJSAwIDAgLyAwKSk7XG4gICAgLS1jb2xvci1zY3JvbGwtc2hhZG93OiBsaWdodC1kYXJrKG9rbGNoKDAlIDAgMCAvIDAuMiksIG9rbGNoKDAlIDAgMCAvIDQwJSkpO1xuICAgIC0tY29sb3Itc2Nyb2xsLXNoYWRvdy10cmFuc3BhcmVudDogbGlnaHQtZGFyayhva2xjaCgwJSAwIDAgLyAwKSwgb2tsY2goMCUgMCAwIC8gMCkpO1xuICAgIC0tY29sb3Itc3VyZmFjZTogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS01MCksIHZhcigtLWNvbG9yLXppbmMtOTAwKSk7XG4gICAgLS1jb2xvci1zdXJmYWNlLWFsdDogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS0xMDApLCB2YXIoLS1jb2xvci16aW5jLTgwMCkpO1xuICAgIC0tY29sb3Itc3VyZmFjZS1ob3ZlcjogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS0yMDApLCB2YXIoLS1jb2xvci16aW5jLTcwMCkpO1xuICAgIC0tY29sb3ItcXVvdGUtbWFyazogbGlnaHQtZGFyayh2YXIoLS1jb2xvci1zdG9uZS0zMDApLCB2YXIoLS1jb2xvci16aW5jLTYwMCkpO1xuICAgIC0tY29sb3ItYmxvY2txdW90ZS1ib3JkZXI6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3RvbmUtMjAwKSwgdmFyKC0tY29sb3ItemluYy04MDApKTtcbiAgICAtLWNvbG9yLWltYWdlLWZyYW1lOiBsaWdodC1kYXJrKHdoaXRlLCB2YXIoLS1jb2xvci16aW5jLTEwMCkpO1xuICAgIC0tY29sb3ItaW1hZ2Utb3V0bGluZTogbGlnaHQtZGFyayhva2xjaCgwJSAwIDAgLyA4JSksIG9rbGNoKDEwMCUgMCAwIC8gOCUpKTtcbiAgICAtLWNvbG9yLXN0YXRlLXBvc2l0aXZlOiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLWVtZXJhbGQtNjAwKSwgdmFyKC0tY29sb3ItZW1lcmFsZC00MDApKTtcbiAgICAtLWNvbG9yLXN0YXRlLXBvc2l0aXZlLWJnOiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLWVtZXJhbGQtMTAwKSwgdmFyKC0tY29sb3ItZW1lcmFsZC05NTApKTtcbiAgICAtLWNvbG9yLXN0YXRlLW5lZ2F0aXZlOiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXJvc2UtNjAwKSwgdmFyKC0tY29sb3Itcm9zZS00MDApKTtcbiAgICAtLWNvbG9yLXN0YXRlLW5lZ2F0aXZlLWJnOiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXJvc2UtMTAwKSwgdmFyKC0tY29sb3Itcm9zZS05NTApKTtcbiAgICAtLWNvbG9yLXN0YXRlLWNhdXRpb246IGxpZ2h0LWRhcmsodmFyKC0tY29sb3IteWVsbG93LTYwMCksIHZhcigtLWNvbG9yLXllbGxvdy00MDApKTtcbiAgICAtLWNvbG9yLXN0YXRlLWNhdXRpb24tYmc6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3IteWVsbG93LTEwMCksIHZhcigtLWNvbG9yLXllbGxvdy05NTApKTtcbiAgICAtLWNvbG9yLXBob3RvLXJpbmc6IGxpZ2h0LWRhcmsoXG4gICAgb2tsY2goZnJvbSB2YXIoLS1jb2xvci1zdG9uZS05NTApIGwgYyBoIC8gOCUpLFxuICAgIG9rbGNoKGZyb20gd2hpdGUgbCBjIGggLyAxMCUpXG4gICk7XG4gICAgLS1jb2xvci1waG90by1zaGFkb3c6IHZhcigtLWNvbG9yLXN0b25lLTkwMCk7XG4gICAgLS1jb2xvci1waG90by1tb3VudDogdmFyKC0tY29sb3Itc3RvbmUtNTApO1xuICAgIC0tY29sb3ItcGhvdG8tY2FwdGlvbjogdmFyKC0tY29sb3Itc3RvbmUtNzAwKTtcbiAgICAtLWZvY3VzLXJhZGl1czogMC4yNXJlbTtcbiAgICAtLWZvY3VzLXJhZGl1cy1zcXVpcmNsZTogMC43NXJlbTtcbiAgICAtLWJvdW5jZTogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpO1xuICAgIC0tc3ByaW5nOiBsaW5lYXIoXG4gICAgMCxcbiAgICAwLjAwOSxcbiAgICAwLjAzNSAyLjElLFxuICAgIDAuMTQxLFxuICAgIDAuMjgxIDYuNyUsXG4gICAgMC43MjMgMTIuOSUsXG4gICAgMC45MzggMTYuNyUsXG4gICAgMS4wMTcsXG4gICAgMS4wNzcsXG4gICAgMS4xMjEsXG4gICAgMS4xNDkgMjQuMyUsXG4gICAgMS4xNTksXG4gICAgMS4xNjMsXG4gICAgMS4xNjEsXG4gICAgMS4xNTQgMjkuOSUsXG4gICAgMS4xMjkgMzIuOCUsXG4gICAgMS4wNTEgMzkuNiUsXG4gICAgMS4wMTcgNDMuMSUsXG4gICAgMC45OTEsXG4gICAgMC45NzcgNTElLFxuICAgIDAuOTc0IDUzLjglLFxuICAgIDAuOTc1IDU3LjElLFxuICAgIDAuOTk3IDY5LjglLFxuICAgIDEuMDAzIDc2LjklLFxuICAgIDEuMDA0IDgzLjglLFxuICAgIDFcbiAgKTtcbiAgICAtLWVhc2Utc3ByaW5nOiA1MDBtcyB2YXIoLS1zcHJpbmcpO1xuICAgIC0tZ2VudGxlci1zcHJpbmc6IGxpbmVhcihcbiAgICAwLFxuICAgIDAuMDAzOSAwLjg3JSxcbiAgICAwLjAxOTksXG4gICAgMC4wNDU5IDMuMTklLFxuICAgIDAuMDg5MiA0LjY1JSxcbiAgICAwLjE4NjUgNy4yNiUsXG4gICAgMC41MjE4IDE1LjM5JSxcbiAgICAwLjYyNDksXG4gICAgMC43MTMyLFxuICAgIDAuNzg2NCxcbiAgICAwLjg0NTMgMjclLFxuICAgIDAuODk1NSxcbiAgICAwLjkzMjgsXG4gICAgMC45NTk2IDM2LjU4JSxcbiAgICAwLjk3MDYgMzguMzIlLFxuICAgIDAuOTgwOCA0MC4zNSUsXG4gICAgMC45OTQ2IDQ0LjQyJSxcbiAgICAxLjAwMyA0OS4zNSUsXG4gICAgMS4wMDU2IDUzLjEzJSxcbiAgICAxLjAwNjMgNTguMDYlLFxuICAgIDEuMDAxNCA4MC43MSUsXG4gICAgMS4wMDAxIDk5Ljg3JVxuICApO1xuICAgIC0tZWFzZS1nZW50bGVyLXNwcmluZzogMS4ycyB2YXIoLS1nZW50bGVyLXNwcmluZyk7XG4gICAgLS1oYWlybGluZTogMC41cHg7XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgKiwgOjphZnRlciwgOjpiZWZvcmUsIDo6YmFja2Ryb3AsIDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwIHNvbGlkO1xuICB9XG4gIGh0bWwsIDpob3N0IHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICB0YWItc2l6ZTogNDtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZGVmYXVsdC1mb250LWZhbWlseSwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIk5vdG8gU2Fuc1wiLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiKTtcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWRlZmF1bHQtZm9udC1mZWF0dXJlLXNldHRpbmdzLCBub3JtYWwpO1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiB2YXIoLS1kZWZhdWx0LWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLCBub3JtYWwpO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgaHIge1xuICAgIGhlaWdodDogMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gIH1cbiAgYWJicjp3aGVyZShbdGl0bGVdKSB7XG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICB9XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxuICBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIH1cbiAgYiwgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG4gIGNvZGUsIGtiZCwgc2FtcCwgcHJlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtZmFtaWx5LCB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UpO1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogdmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtZmVhdHVyZS1zZXR0aW5ncywgbm9ybWFsKTtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogdmFyKC0tZGVmYXVsdC1tb25vLWZvbnQtdmFyaWF0aW9uLXNldHRpbmdzLCBub3JtYWwpO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuICBzdWIsIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuICBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG4gIHRhYmxlIHtcbiAgICB0ZXh0LWluZGVudDogMDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuICA6LW1vei1mb2N1c3Jpbmc6d2hlcmUoOm5vdChpZnJhbWUpKSB7XG4gICAgb3V0bGluZTogYXV0bztcbiAgfVxuICBwcm9ncmVzcyB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG4gIHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxuICBvbCwgdWwsIG1lbnUge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbiAgaW1nLCBzdmcsIHZpZGVvLCBjYW52YXMsIGF1ZGlvLCBpZnJhbWUsIGVtYmVkLCBvYmplY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbiAgaW1nLCB2aWRlbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBidXR0b24sIGlucHV0LCBzZWxlY3QsIG9wdGdyb3VwLCB0ZXh0YXJlYSwgOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IGluaGVyaXQ7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IGluaGVyaXQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG4gIDp3aGVyZShzZWxlY3Q6aXMoW211bHRpcGxlXSwgW3NpemVdKSkgb3B0Z3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gIH1cbiAgOndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLCBbc2l6ZV0pKSBvcHRncm91cCBvcHRpb24ge1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAyMHB4O1xuICB9XG4gIDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA0cHg7XG4gIH1cbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBAc3VwcG9ydHMgKG5vdCAoLXdlYmtpdC1hcHBlYXJhbmNlOiAtYXBwbGUtcGF5LWJ1dHRvbikpICBvciAoY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogMXB4KSB7XG4gICAgOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogY3VycmVudGNvbG9yO1xuICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIGN1cnJlbnRjb2xvciA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gIH1cbiAgOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbiAgOjotd2Via2l0LWRhdGUtYW5kLXRpbWUtdmFsdWUge1xuICAgIG1pbi1oZWlnaHQ6IDFsaDtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICB9XG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgfVxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1maWVsZHMtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQteWVhci1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbW9udGgtZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWRheS1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtaG91ci1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWludXRlLWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1zZWNvbmQtZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1pbGxpc2Vjb25kLWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tZXJpZGllbS1maWVsZCB7XG4gICAgcGFkZGluZy1ibG9jazogMDtcbiAgfVxuICA6Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgOi1tb3otdWktaW52YWxpZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuICBidXR0b24sIGlucHV0OndoZXJlKFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbdHlwZT1cInN1Ym1pdFwiXSksIDo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgIGFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuICA6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sIDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIFtoaWRkZW5dOndoZXJlKDpub3QoW2hpZGRlbj1cInVudGlsLWZvdW5kXCJdKSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQGxheWVyIHV0aWxpdGllcyB7XG4gIC5waG90by1jYXJkIHtcbiAgICAtLWluaXRpYWwteTogMDtcbiAgICAtLWhvdmVyLXk6IDA7XG4gICAgLS1pbml0aWFsLXg6IDA7XG4gICAgLS1ob3Zlci14OiAwO1xuICAgIC0tejogMDtcbiAgICAtLWluaXRpYWwtdHJhbnNsYXRlLXk6IGNhbGModmFyKC0tc3BhY2luZykgKiB2YXIoLS1pbml0aWFsLXkpKTtcbiAgICAtLWluaXRpYWwtdHJhbnNsYXRlLXg6IGNhbGModmFyKC0tc3BhY2luZykgKiB2YXIoLS1pbml0aWFsLXgpKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIC0taG92ZXItdHJhbnNsYXRlLXg6IGNhbGModmFyKC0tc3BhY2luZykgKiB2YXIoLS1ob3Zlci14LCB2YXIoLS1pbml0aWFsLXgpKSk7XG4gICAgICAgIC0taG92ZXItdHJhbnNsYXRlLXk6IGNhbGModmFyKC0tc3BhY2luZykgKiB2YXIoLS1ob3Zlci15LCB2YXIoLS1pbml0aWFsLXkpKSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIHotaW5kZXg6IHZhcigtLXopO1xuICAgIH1cbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS14OiB2YXIoLS1pbml0aWFsLXRyYW5zbGF0ZS14KTtcbiAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgLS10dy10cmFuc2xhdGUteTogdmFyKC0taW5pdGlhbC10cmFuc2xhdGUteSk7XG4gICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgfVxuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIC0tdHctdHJhbnNsYXRlLXg6IHZhcigtLWhvdmVyLXRyYW5zbGF0ZS14KTtcbiAgICAgICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgLS10dy10cmFuc2xhdGUteTogdmFyKC0taG92ZXItdHJhbnNsYXRlLXkpO1xuICAgICAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAtLWluaXRpYWwtcm90YXRpb246IDBkZWc7XG4gICAgLS1ob3Zlci1yb3RhdGlvbjogMGRlZztcbiAgICAtLWNhcmQtcm90YXRpb246IHZhcigtLWluaXRpYWwtcm90YXRpb24pO1xuICAgIC0tY2FyZC1wYWRkaW5nOiAwLjc1cmVtO1xuICAgIC0tc2hhZG93LXJpbmc6IGluc2V0IDAgMCAwIHZhcigtLWhhaXJsaW5lKSB2YXIoLS1jb2xvci1waG90by1yaW5nKTtcbiAgICAtLXNoYWRvdy1kcm9wOiAwIDRweCAyMHB4IC02cHggb2tsY2goZnJvbSB2YXIoLS1jb2xvci1waG90by1zaGFkb3cpIGwgYyBoIC8gMC4zNSksXG4gICAgMCAxMnB4IDM1cHggLTEwcHggb2tsY2goZnJvbSB2YXIoLS1jb2xvci1waG90by1zaGFkb3cpIGwgYyBoIC8gMC4yNSk7XG4gICAgLS10aWx0LW1heDogMTdkZWc7XG4gICAgLS10aWx0LXBlcnNwZWN0aXZlOiA2MDBweDtcbiAgICAtLXRpbHQtc2NhbGU6IDEuMDc7XG4gICAgLS10aWx0LXJldHVybjogNDUwbXM7XG4gICAgLS10aWx0LXJldHVybi1lYXNlOiBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG4gICAgLS10aWx0LWZvbGxvdzogMTAwbXM7XG4gICAgLS10aWx0LWZvbGxvdy1lYXNlOiBjdWJpYy1iZXppZXIoMC4zLCAwLjcsIDAuNCwgMSk7XG4gICAgLS10aWx0LXNldHRsZTogNTUwbXM7XG4gICAgLS10aWx0LXNldHRsZS1lYXNlOiBjdWJpYy1iZXppZXIoMC4yMiwgMSwgMC4zNiwgMSk7XG4gICAgLS10aWx0LWdsYXJlLW9wYWNpdHk6IDAuNjtcbiAgICAtLXRpbHQtZ2xhcmUtZmFkZTogMTIwbXM7XG4gICAgLS10aWx0LWdsYXJlLWVhc2U6IGN1YmljLWJlemllcigwLjIyLCAxLCAwLjM2LCAxKTtcbiAgICAtLXRpbHQtcng6IGNhbGModmFyKC0tdGlsdC15LCAwKSAqIHZhcigtLXRpbHQtbWF4KSAqIC0xKTtcbiAgICAtLXRpbHQtcnk6IGNhbGModmFyKC0tdGlsdC14LCAwKSAqIHZhcigtLXRpbHQtbWF4KSk7XG4gICAgLS1nbGFyZS14OiBjYWxjKDUwJSArIHZhcigtLXRpbHQteCwgMCkgKiA1MCUpO1xuICAgIC0tZ2xhcmUteTogY2FsYyg1MCUgKyB2YXIoLS10aWx0LXksIDApICogNTAlKTtcbiAgICAtLXRpbHQtc3BlZWQ6IHZhcigtLXRpbHQtcmV0dXJuKTtcbiAgICAtLXRpbHQtZWFzZTogdmFyKC0tdGlsdC1yZXR1cm4tZWFzZSk7XG4gICAgJi5pcy10aWx0aW5nIHtcbiAgICAgIC0tdGlsdC1zcGVlZDogdmFyKC0tdGlsdC1mb2xsb3cpO1xuICAgICAgLS10aWx0LWVhc2U6IHZhcigtLXRpbHQtZm9sbG93LWVhc2UpO1xuICAgIH1cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBlcnNwZWN0aXZlOiB2YXIoLS10aWx0LXBlcnNwZWN0aXZlKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgdmFyKC0tdGlsdC1zZXR0bGUpIHZhcigtLXRpbHQtc2V0dGxlLWVhc2UpO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2xhdGU7XG4gICAgJjpob3ZlciB7XG4gICAgICAtLWNhcmQtcm90YXRpb246IHZhcigtLWhvdmVyLXJvdGF0aW9uKTtcbiAgICAgIC0tY2FyZC1zY2FsZTogdmFyKC0tdGlsdC1zY2FsZSk7XG4gICAgICAtLXNoYWRvdy1kcm9wOiAwIDhweCAyNHB4IC02cHggb2tsY2goZnJvbSB2YXIoLS1jb2xvci1waG90by1zaGFkb3cpIGwgYyBoIC8gMC40MiksXG4gICAgICAwIDE2cHggNDBweCAtMTBweCBva2xjaChmcm9tIHZhcigtLWNvbG9yLXBob3RvLXNoYWRvdykgbCBjIGggLyAwLjMyKTtcbiAgICB9XG4gICAgJiA+IC5waG90by1jYXJkLWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXBob3RvLW1vdW50KTtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWNhcmQtcGFkZGluZyk7XG4gICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctcmluZyksIHZhcigtLXNoYWRvdy1kcm9wKTtcbiAgICAgIHJvdGF0ZTogdmFyKC0tY2FyZC1yb3RhdGlvbik7XG4gICAgICBzY2FsZTogdmFyKC0tY2FyZC1zY2FsZSwgMSk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgodmFyKC0tdGlsdC1yeCkpIHJvdGF0ZVkodmFyKC0tdGlsdC1yeSkpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRpbHQtc3BlZWQpIHZhcigtLXRpbHQtZWFzZSksIHJvdGF0ZSB2YXIoLS10aWx0LXNldHRsZSkgdmFyKC0tdGlsdC1zZXR0bGUtZWFzZSksIHNjYWxlIHZhcigtLXRpbHQtc2V0dGxlKSB2YXIoLS10aWx0LXNldHRsZS1lYXNlKSwgYm94LXNoYWRvdyB2YXIoLS10aWx0LXNldHRsZSkgdmFyKC0tdGlsdC1zZXR0bGUtZWFzZSk7XG4gICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICAgIH1cbiAgICAmID4gLnBob3RvLWNhcmQtaW5uZXIgPiBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMC4xMjVyZW07XG4gICAgfVxuICAgICYgPiAucGhvdG8tY2FyZC1pbm5lciA+IGZpZ2NhcHRpb24ge1xuICAgICAgcGFkZGluZzogMC42MjVyZW0gMC4yNXJlbSAwLjM3NXJlbTtcbiAgICAgIG1hcmdpbi1ibG9jazogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWhhbmR3cml0aW5nKTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXBob3RvLWNhcHRpb24pO1xuICAgIH1cbiAgICAmID4gLnBob3RvLWNhcmQtaW5uZXI6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiB2YXIoLS1jYXJkLXBhZGRpbmcpIHZhcigtLWNhcmQtcGFkZGluZykgYXV0bztcbiAgICAgIGFzcGVjdC1yYXRpbzogMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAuMTI1cmVtO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgdmFyKC0taGFpcmxpbmUpIG9rbGNoKDEgMCAwIC8gMC43KSwgaW5zZXQgMCAycHggNHB4IG9rbGNoKDAgMCAwIC8gMC4zNSksIGluc2V0IDAgMCAxNHB4IG9rbGNoKDAgMCAwIC8gMC4zNSk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgJiA+IC5waG90by1jYXJkLWlubmVyOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgICAgIG1peC1ibGVuZC1tb2RlOiBzY3JlZW47XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoIGNpcmNsZSA5NXB4IGF0IHZhcigtLWdsYXJlLXgpIHZhcigtLWdsYXJlLXkpIGluIG9rbGFiLCBva2xjaCgxIDAgMCAvIDAuNDgpLCBva2xjaCgxIDAgMCAvIDAuMDYpIDUyJSwgb2tsY2goMSAwIDAgLyAwKSA4NCUgKSwgcmFkaWFsLWdyYWRpZW50KCBjaXJjbGUgMjAwcHggYXQgdmFyKC0tZ2xhcmUteCkgdmFyKC0tZ2xhcmUteSkgaW4gb2tsYWIsIG9rbGNoKDEgMCAwIC8gMC4yMiksIG9rbGNoKDEgMCAwIC8gMC4wNCkgNTglLCBva2xjaCgxIDAgMCAvIDApIDc4JSApLCByYWRpYWwtZ3JhZGllbnQoIGNpcmNsZSAzNjBweCBhdCB2YXIoLS1nbGFyZS14KSB2YXIoLS1nbGFyZS15KSBpbiBva2xhYiwgb2tsY2goMSAwIDAgLyAwLjEpLCBva2xjaCgxIDAgMCAvIDApIDg4JSApO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdGlsdC1nbGFyZS1mYWRlKSB2YXIoLS10aWx0LWdsYXJlLWVhc2UpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmOmhvdmVyID4gLnBob3RvLWNhcmQtaW5uZXI6OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IHZhcigtLXRpbHQtZ2xhcmUtb3BhY2l0eSk7XG4gICAgfVxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgICAgJiA+IC5waG90by1jYXJkLWlubmVyIHtcbiAgICAgICAgcm90YXRlOiB2YXIoLS1pbml0aWFsLXJvdGF0aW9uKTtcbiAgICAgICAgc2NhbGU6IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5hdi1iYWNrLWJ0biB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itd2hpdGUpLCB2YXIoLS1jb2xvci1zdXJmYWNlKSk7XG4gICAgYm9yZGVyOiB2YXIoLS1oYWlybGluZSkgc29saWQgbGlnaHQtZGFyayh2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpLCB2YXIoLS1jb2xvci1ib3JkZXIpKTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgQG1lZGlhIG5vdCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIC0tdHctc2hhZG93OiAwIDRweCA2cHggLTFweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIHJnYigwIDAgMCAvIDAuMSkpLCAwIDJweCA0cHggLTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIHJnYigwIDAgMCAvIDAuMSkpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tdHctaW5zZXQtc2hhZG93KSwgdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdyk7XG4gICAgICAtLXR3LXNoYWRvdy1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIG9rbGNoKDI2LjglIDAuMDA3IDM0LjI5OCkgMTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgLS10dy1zaGFkb3ctY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1zdG9uZS04MDApIDEwJSwgdHJhbnNwYXJlbnQpIHZhcigtLXR3LXNoYWRvdy1hbHBoYSksIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLS1uYXYtaXRlbS1wYWRkaW5nOiAwLjc1cmVtO1xuICAgIC0tbmF2LWljb24tc2l6ZTogMS41cmVtO1xuICAgIHBhZGRpbmc6IHZhcigtLW5hdi1pdGVtLXBhZGRpbmcpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13ZWFrKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAxMDBtcywgc2NhbGUgMTAwbXM7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgICB9XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gICAgfVxuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgJjphY3RpdmUge1xuICAgICAgICBzY2FsZTogMC45NztcbiAgICAgIH1cbiAgICB9XG4gICAgJiA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgLS1uYXYtYmFjay1idG4taWNvbi1zaXplLW9mZnNldDogMC4yNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQtYmxvY2s6IDA7XG4gICAgaW5zZXQtaW5saW5lLWVuZDogMTAwJTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogMC4zNzVyZW07XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHNjYWxlOiAwLjk3O1xuICAgICAgfVxuICAgIH1cbiAgICAmIHN2ZyB7XG4gICAgICB3aWR0aDogY2FsYyh2YXIoLS1uYXYtaWNvbi1zaXplKSArIHZhcigtLW5hdi1iYWNrLWJ0bi1pY29uLXNpemUtb2Zmc2V0KSk7XG4gICAgICBoZWlnaHQ6IGNhbGModmFyKC0tbmF2LWljb24tc2l6ZSkgKyB2YXIoLS1uYXYtYmFjay1idG4taWNvbi1zaXplLW9mZnNldCkpO1xuICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLW5hdi1iYWNrLWJ0bi1pY29uLXNpemUtb2Zmc2V0KSAvIC0yKTtcbiAgICAgIHRyYW5zbGF0ZTogY2FsYyh2YXIoLS1uYXYtYmFjay1idG4taWNvbi1zaXplLW9mZnNldCkgLyAtNCk7XG4gICAgfVxuICB9XG4gIC5uYXYtdGlwIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMnJlbTtcbiAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDUwJTtcbiAgICB0cmFuc2xhdGU6IC01MCU7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7XG4gICAganVzdGlmeS1zZWxmOiBzdGFydDtcbiAgICBwYWRkaW5nOiAwLjE1cmVtIDAuNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iZy1pbnZlcnNlKTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgQHN1cHBvcnRzIChjb3JuZXItc2hhcGU6IHNxdWlyY2xlKSB7XG4gICAgICBjb3JuZXItc2hhcGU6IHNxdWlyY2xlO1xuICAgIH1cbiAgICBAc3VwcG9ydHMgKGNvcm5lci1zaGFwZTogc3F1aXJjbGUpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoaW5maW5pdHkgKiAxcHgpO1xuICAgIH1cbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1pbnZlcnNlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTAwbXMgZWFzZS1vdXQ7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgMTAwbXMgZWFzZS1vdXQsIHNjYWxlIDEwMG1zIGVhc2Utb3V0LCBvcGFjaXR5IDEwMG1zIGVhc2Utb3V0O1xuICAgIH1cbiAgICA6d2hlcmUoLm5hdi1saW5rLCAubmF2LWJhY2stYnRuKTpub3QoOmhvdmVyLCA6Zm9jdXMtdmlzaWJsZSkgJiB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAgIHRyYW5zbGF0ZTogLTUwJSAwLjI1cmVtO1xuICAgICAgICBzY2FsZTogMC45NztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm5hdi1jaHJvbWUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodC1kYXJrKHZhcigtLWNvbG9yLXdoaXRlKSwgdmFyKC0tY29sb3Itc3VyZmFjZSkpO1xuICAgIGJvcmRlcjogdmFyKC0taGFpcmxpbmUpIHNvbGlkIGxpZ2h0LWRhcmsodmFyKC0tY29sb3ItYm9yZGVyLWxpZ2h0KSwgdmFyKC0tY29sb3ItYm9yZGVyKSk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIEBtZWRpYSBub3QgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAtLXR3LXNoYWRvdzogMCA0cHggNnB4IC0xcHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKSwgMCAycHggNHB4IC0ycHggdmFyKC0tdHctc2hhZG93LWNvbG9yLCByZ2IoMCAwIDAgLyAwLjEpKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LWluc2V0LXNoYWRvdyksIHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSwgdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3cpO1xuICAgICAgLS10dy1zaGFkb3ctY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCBva2xjaCgyNi44JSAwLjAwNyAzNC4yOTgpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgIC0tdHctc2hhZG93LWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3Itc3RvbmUtODAwKSAxMCUsIHRyYW5zcGFyZW50KSB2YXIoLS10dy1zaGFkb3ctYWxwaGEpLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5wb2ludGVyLWV2ZW50cy1ub25lIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAudGltZWxpbmUtcm9sZSB7XG4gICAgLS1hbmdsZTogMjBkZWc7XG4gICAgLS1oYWxmLWxvZ28tc2l6ZTogY2FsYyh2YXIoLS1sb2dvLXNpemUpIC8gMik7XG4gICAgLS1saW5lLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0taGFsZi1sb2dvLXNpemUpO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1sb2dvLXNpemUpO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGluc2V0LWlubGluZS1zdGFydDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gdmFyKC0taGFsZi1sb2dvLXNpemUpICogdGFuKHZhcigtLWFuZ2xlKSkgLSAxcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGluZS1jb2xvcik7XG4gICAgfVxuICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMXB4KTtcbiAgICB9XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICB0b3A6IGNhbGMoNTAlIC0gdmFyKC0taGFsZi1sb2dvLXNpemUpICogdGFuKHZhcigtLWFuZ2xlKSkgLSAycHgpO1xuICAgICAgd2lkdGg6IGNhbGMoKHZhcigtLWxvZ28tc2l6ZSkgKiAwLjc1KSAvIGNvcyh2YXIoLS1hbmdsZSkpKTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgICAgIHJvdGF0ZTogdmFyKC0tYW5nbGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGluZS1jb2xvcik7XG4gICAgfVxuICB9XG4gIC5zci1vbmx5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogLTFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgfVxuICAubmF2LWxpbmsge1xuICAgIC0tbmF2LWl0ZW0tcGFkZGluZzogMC43NXJlbTtcbiAgICAtLW5hdi1pY29uLXNpemU6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiB2YXIoLS1uYXYtaXRlbS1wYWRkaW5nKTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itd2Vhayk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMTAwbXMsIHNjYWxlIDEwMG1zO1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIH1cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgc2NhbGU6IDAuOTc7XG4gICAgICB9XG4gICAgfVxuICAgICYgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tbmF2LWl0ZW0tcGFkZGluZykgKiAyIC8gMyk7XG4gICAgfVxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGModmFyKC0tbmF2LWl0ZW0tcGFkZGluZykgKiAyIC8gMyk7XG4gICAgfVxuICAgICZbYXJpYS1jdXJyZW50PSdwYWdlJ10ge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIH1cbiAgICAmIHN2ZyB7XG4gICAgICB3aWR0aDogdmFyKC0tbmF2LWljb24tc2l6ZSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLW5hdi1pY29uLXNpemUpO1xuICAgIH1cbiAgfVxuICAuYWJzb2x1dGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuICAuZml4ZWQge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgfVxuICAucmVsYXRpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuc3RhdGljIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gIH1cbiAgLmluc2V0LXgtMCB7XG4gICAgaW5zZXQtaW5saW5lOiAwcHg7XG4gIH1cbiAgLmJvdHRvbS0yIHtcbiAgICBib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiAyKTtcbiAgfVxuICAucGhvdG8tZ2FsbGVyeSB7XG4gICAgLS1nYWxsZXJ5LWNvbHVtbnM6IDM7XG4gICAgLS1nYWxsZXJ5LW92ZXJsYXAteTogMC41cmVtO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAuNzVyZW0gMDtcbiAgICBwYWRkaW5nOiBjYWxjKDAuNXJlbSArIHZhcigtLWdhbGxlcnktb3ZlcmxhcC15KSkgMCAwLjVyZW07XG4gICAgJiA+IC5waG90by1jYXJkIHtcbiAgICAgIGZsZXg6IDAgMCBjYWxjKDEwMCUgLyB2YXIoLS1nYWxsZXJ5LWNvbHVtbnMpKTtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1nYWxsZXJ5LW92ZXJsYXAteSkpO1xuICAgIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDByZW0pIHtcbiAgICAgIC0tZ2FsbGVyeS1jb2x1bW5zOiAxO1xuICAgICAgbWF4LXdpZHRoOiA2NXZ3O1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICAgIGdhcDogMDtcbiAgICB9XG4gIH1cbiAgLmlzb2xhdGUge1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgfVxuICAuei01MCB7XG4gICAgei1pbmRleDogNTA7XG4gIH1cbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQG1lZGlhICh3aWR0aCA+PSAzMHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0MHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA0MHJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA0OHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA0OHJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA1NXJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA1NXJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA2NHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA2NHJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA4MHJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA4MHJlbTtcbiAgICB9XG4gICAgQG1lZGlhICh3aWR0aCA+PSA5NnJlbSkge1xuICAgICAgbWF4LXdpZHRoOiA5NnJlbTtcbiAgICB9XG4gIH1cbiAgLmJsdXJyeS1saW5rLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1saW5rLXNwYWNpbmcpO1xuICAgIGEge1xuICAgICAgbWFyZ2luOiBjYWxjKGNhbGModmFyKC0tbGluay1zcGFjaW5nKSAvIDIpICogLTEpO1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1saW5rLXNwYWNpbmcpIC8gMik7XG4gICAgfVxuICAgICY6aGFzKGE6Zm9jdXMtdmlzaWJsZSkgYTpub3QoOmZvY3VzLXZpc2libGUpIHtcbiAgICAgIC0tdHctYmx1cjogYmx1cigxLjVweCk7XG4gICAgICBmaWx0ZXI6IHZhcigtLXR3LWJsdXIsKSB2YXIoLS10dy1icmlnaHRuZXNzLCkgdmFyKC0tdHctY29udHJhc3QsKSB2YXIoLS10dy1ncmF5c2NhbGUsKSB2YXIoLS10dy1odWUtcm90YXRlLCkgdmFyKC0tdHctaW52ZXJ0LCkgdmFyKC0tdHctc2F0dXJhdGUsKSB2YXIoLS10dy1zZXBpYSwpIHZhcigtLXR3LWRyb3Atc2hhZG93LCk7XG4gICAgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhhcyhhOmhvdmVyKSBhOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgLS10dy1ibHVyOiBibHVyKDEuNXB4KTtcbiAgICAgICAgZmlsdGVyOiB2YXIoLS10dy1ibHVyLCkgdmFyKC0tdHctYnJpZ2h0bmVzcywpIHZhcigtLXR3LWNvbnRyYXN0LCkgdmFyKC0tdHctZ3JheXNjYWxlLCkgdmFyKC0tdHctaHVlLXJvdGF0ZSwpIHZhcigtLXR3LWludmVydCwpIHZhcigtLXR3LXNhdHVyYXRlLCkgdmFyKC0tdHctc2VwaWEsKSB2YXIoLS10dy1kcm9wLXNoYWRvdywpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnRuIHtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAwLjRyZW07XG4gICAgcGFkZGluZzogMC4zNXJlbSAwLjZyZW07XG4gICAgJjpoYXMoPiBzdmc6Zmlyc3QtY2hpbGQsID4gOmZpcnN0LWNoaWxkID4gc3ZnKSB7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMC41cmVtO1xuICAgIH1cbiAgICAmOmhhcyg+IHN2ZzpsYXN0LWNoaWxkLCA+IDpsYXN0LWNoaWxkID4gc3ZnKSB7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IDAuNXJlbTtcbiAgICB9XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIEBzdXBwb3J0cyAoY29ybmVyLXNoYXBlOiBzcXVpcmNsZSkge1xuICAgICAgY29ybmVyLXNoYXBlOiBzcXVpcmNsZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgICB9XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMTAwbXMsIGJhY2tncm91bmQtY29sb3IgMTAwbXMsIHdpZHRoIDEwMG1zLCBzY2FsZSAxMDBtcywgdHJhbnNmb3JtIHZhcigtLWVhc2Utc3ByaW5nKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXN1cmZhY2UtYWx0KTtcbiAgICB9XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIHNjYWxlOiAwLjk3O1xuICAgICAgfVxuICAgIH1cbiAgICBzdmc6bm90KFtjbGFzcyo9J3NpemUtJ10pIHtcbiAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDUpO1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiA1KTtcbiAgICB9XG4gICAgc3ZnW2RhdGEtaWNvbj0nYXJyb3ctdXAnXSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4taW5saW5lOiAtMC4yZW07XG4gICAgfVxuICAgIHN2Z1tkYXRhLWljb249J2Fycm93LXVwLXJpZ2h0J10ge1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDFweDtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IC0ycHg7XG4gICAgfVxuICB9XG4gIC5teC1hdXRvIHtcbiAgICBtYXJnaW4taW5saW5lOiBhdXRvO1xuICB9XG4gIC5teS1cXCgtLXZlcnRpY2FsLXBhZGRpbmdcXCkge1xuICAgIG1hcmdpbi1ibG9jazogdmFyKC0tdmVydGljYWwtcGFkZGluZyk7XG4gIH1cbiAgLmV4dGVybmFsLWxpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogZG90dGVkIHVuZGVybGluZSB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogdmFyKC0tdW5kZXJsaW5lLXRoaWNrbmVzcyk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKSwgdGV4dC1kZWNvcmF0aW9uLWNvbG9yIHZhcigtLWxpbmstdHJhbnNpdGlvbik7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuICAgIH1cbiAgICAtLWxpbmstdHJhbnNpdGlvbjogMTAwbXM7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwLjJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWZhaW50KTtcbiAgICAgIG1hc2staW1hZ2U6IHZhcigtLWFmdGVyLWljb24tdXJsKTtcbiAgICAgIG1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBtYXNrLXNpemU6IGNvbnRhaW47XG4gICAgICBtYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLWxpbmstdHJhbnNpdGlvbiksIHRyYW5zZm9ybSB2YXIoLS1lYXNlLXNwcmluZyk7XG4gICAgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICB9XG4gICAgfVxuICAgIC0tYWZ0ZXItaWNvbi11cmw6IHVybCgnLi9pbWFnZXMvaWNvbnMvYXJyb3ctdXAtcmlnaHQuc3ZnJyk7XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMS41cHgsIC0xLjVweCk7XG4gICAgICB9XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIHdpZHRoOiAwLjc1ZW07XG4gICAgICBoZWlnaHQ6IDAuNzVlbTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDA7XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogLTAuMTVlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgICB9XG4gIH1cbiAgLm1haWwtbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBkb3R0ZWQgdW5kZXJsaW5lIHZhcigtLWNvbG9yLWZhaW50KTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiB2YXIoLS11bmRlcmxpbmUtdGhpY2tuZXNzKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pLCB0ZXh0LWRlY29yYXRpb24tY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1zdHlsZTogc29saWQ7XG4gICAgICB9XG4gICAgfVxuICAgIC0tbGluay10cmFuc2l0aW9uOiAxMDBtcztcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMC4yZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjA1ZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgICBtYXNrLWltYWdlOiB2YXIoLS1iZWZvcmUtaWNvbi11cmwpO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLWVhc2Utc3ByaW5nKTtcbiAgICB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICB9XG4gICAgfVxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiB2YXIoLS10dy1jb250ZW50KTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgfVxuICAgIH1cbiAgICAtLWJlZm9yZS1pY29uLXVybDogdXJsKCcuL2ltYWdlcy9pY29ucy9lbWFpbC5zdmcnKTtcbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgLS1iZWZvcmUtaWNvbi11cmw6IHVybCgnLi9pbWFnZXMvaWNvbnMvZW1haWwtb3Blbi5zdmcnKTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAtLWJlZm9yZS1pY29uLXVybDogdXJsKCcuL2ltYWdlcy9pY29ucy9lbWFpbC1vcGVuLnN2ZycpO1xuICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubGlua2VkaW4tbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBkb3R0ZWQgdW5kZXJsaW5lIHZhcigtLWNvbG9yLWZhaW50KTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiB2YXIoLS11bmRlcmxpbmUtdGhpY2tuZXNzKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pLCB0ZXh0LWRlY29yYXRpb24tY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1zdHlsZTogc29saWQ7XG4gICAgICB9XG4gICAgfVxuICAgIC0tbGluay10cmFuc2l0aW9uOiAxMDBtcztcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMC4yZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjA1ZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgICBtYXNrLWltYWdlOiB2YXIoLS1iZWZvcmUtaWNvbi11cmwpO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLWVhc2Utc3ByaW5nKTtcbiAgICB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICB9XG4gICAgfVxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiB2YXIoLS10dy1jb250ZW50KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMWVtO1xuICAgIH1cbiAgICAtLWJlZm9yZS1pY29uLXVybDogdXJsKCcuL2ltYWdlcy9pY29ucy9saW5rZWRpbi1vdXRsaW5lLnN2ZycpO1xuICB9XG4gIC5naXRodWItbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBkb3R0ZWQgdW5kZXJsaW5lIHZhcigtLWNvbG9yLWZhaW50KTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiB2YXIoLS11bmRlcmxpbmUtdGhpY2tuZXNzKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pLCB0ZXh0LWRlY29yYXRpb24tY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1zdHlsZTogc29saWQ7XG4gICAgICB9XG4gICAgfVxuICAgIC0tbGluay10cmFuc2l0aW9uOiAxMDBtcztcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMC4yZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjA1ZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgICBtYXNrLWltYWdlOiB2YXIoLS1iZWZvcmUtaWNvbi11cmwpO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLWVhc2Utc3ByaW5nKTtcbiAgICB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICB9XG4gICAgfVxuICAgIC0tYmVmb3JlLWljb24tdXJsOiB1cmwoJy4vaW1hZ2VzL2ljb25zL2dpdGh1Yi1jaXJjbGUuc3ZnJyk7XG4gIH1cbiAgLngtbGluayB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBkb3R0ZWQgdW5kZXJsaW5lIHZhcigtLWNvbG9yLWZhaW50KTtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiB2YXIoLS11bmRlcmxpbmUtdGhpY2tuZXNzKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pLCB0ZXh0LWRlY29yYXRpb24tY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1zdHlsZTogc29saWQ7XG4gICAgICB9XG4gICAgfVxuICAgIC0tbGluay10cmFuc2l0aW9uOiAxMDBtcztcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICBtYXJnaW4taW5saW5lLWVuZDogMC4yZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjA1ZW07XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgICBtYXNrLWltYWdlOiB2YXIoLS1iZWZvcmUtaWNvbi11cmwpO1xuICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1hc2stc2l6ZTogY29udGFpbjtcbiAgICAgIG1hc2stcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tbGluay10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIHZhcigtLWVhc2Utc3ByaW5nKTtcbiAgICB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICB9XG4gICAgfVxuICAgIC0tYmVmb3JlLWljb24tdXJsOiB1cmwoJy4vaW1hZ2VzL2ljb25zL3gtb3V0bGluZS5zdmcnKTtcbiAgfVxuICAuLW10LTIge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAtMik7XG4gIH1cbiAgLm10LTFcXC41IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KTtcbiAgfVxuICAubXQtMyB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpO1xuICB9XG4gIC5tdC00IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLm1iLTQge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAuc3RhY2tlZC1pY29ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuc3RhY2tlZC10ZXh0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBwbGFjZS1pdGVtczogc3RhcnQ7XG4gIH1cbiAgLmJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAuY29udGVudHMge1xuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICB9XG4gIC5mbGV4IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICB9XG4gIC5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLmlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG4gIC5pbmxpbmUtZmxleCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cbiAgLnRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAuc2l6ZS1cXCgtLWxvZ28tc2l6ZVxcKSB7XG4gICAgd2lkdGg6IHZhcigtLWxvZ28tc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1sb2dvLXNpemUpO1xuICB9XG4gIC5zaXplLTFcXC41IHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEuNSk7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KTtcbiAgfVxuICAuc2l6ZS00IHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICB9XG4gIC5zaXplLTI0IHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDI0KTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAyNCk7XG4gIH1cbiAgLmgtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLnctMCB7XG4gICAgd2lkdGg6IDBweDtcbiAgfVxuICAudy1mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubWF4LXctXFwoLS1tYXgtd2lkdGhcXCkge1xuICAgIG1heC13aWR0aDogdmFyKC0tbWF4LXdpZHRoKTtcbiAgfVxuICAubWF4LXctXFxbNzZjaFxcXSB7XG4gICAgbWF4LXdpZHRoOiA3NmNoO1xuICB9XG4gIC5tYXgtdy1cXFtjYWxjXFwodmFyXFwoLS1jb250ZW50LXdpZHRoXFwpXFwrMlxcKnZhclxcKC0taG9yaXpvbnRhbC1wYWRkaW5nXFwpXFwpXFxdIHtcbiAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGVudC13aWR0aCkgKyAyICogdmFyKC0taG9yaXpvbnRhbC1wYWRkaW5nKSk7XG4gIH1cbiAgLm1pbi13LTAge1xuICAgIG1pbi13aWR0aDogMHB4O1xuICB9XG4gIC5zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbiAgLnN0YWNrZWQtaWNvbiB7XG4gICAgZ3JpZC1hcmVhOiAxIC8gMTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlO1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLCBzY2FsZSAyMDBtcyB2YXIoLS1ib3VuY2UpLCBmaWx0ZXIgMjAwbXMgZWFzZTtcbiAgICB9XG4gIH1cbiAgLnN0YWNrZWQtaWNvbi0taGlkZGVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogbm8tcHJlZmVyZW5jZSkge1xuICAgICAgc2NhbGU6IDAuMjU7XG4gICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICB9XG4gIH1cbiAgLnN0YWNrZWQtdGV4dC0taGlkZGVuLWFib3ZlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgwLjkpO1xuICB9XG4gIC5zdGFja2VkLXRleHQtLWhpZGRlbi1iZWxvdyB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKSBzY2FsZSgwLjkpO1xuICB9XG4gIC50cmFuc2Zvcm0ge1xuICAgIHRyYW5zZm9ybTogdmFyKC0tdHctcm90YXRlLXgsKSB2YXIoLS10dy1yb3RhdGUteSwpIHZhcigtLXR3LXJvdGF0ZS16LCkgdmFyKC0tdHctc2tldy14LCkgdmFyKC0tdHctc2tldy15LCk7XG4gIH1cbiAgLnJlc2l6ZSB7XG4gICAgcmVzaXplOiBib3RoO1xuICB9XG4gIC5zY3JvbGxiYXItdGh1bWItZmFpbnQge1xuICAgIC0tdHctc2Nyb2xsYmFyLXRodW1iOiB2YXIoLS1jb2xvci1mYWludCk7XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS10dy1zY3JvbGxiYXItdGh1bWIpIHZhcigtLXR3LXNjcm9sbGJhci10cmFjayk7XG4gIH1cbiAgLnNjcm9sbGJhci10cmFjay10cmFuc3BhcmVudCB7XG4gICAgLS10dy1zY3JvbGxiYXItdHJhY2s6IHRyYW5zcGFyZW50O1xuICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tdHctc2Nyb2xsYmFyLXRodW1iKSB2YXIoLS10dy1zY3JvbGxiYXItdHJhY2spO1xuICB9XG4gIC5mbGV4LXdyYXAge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAuaXRlbXMtY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5qdXN0aWZ5LWNlbnRlciB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cbiAgLmdhcC0xXFwuNSB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KTtcbiAgfVxuICAuZ2FwLTIge1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5nYXAtNCB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLmdhcC1cXFtjYWxjXFwodmFyXFwoLS1sb2dvLXNpemVcXClcXC8yXFwpXFxdIHtcbiAgICBnYXA6IGNhbGModmFyKC0tbG9nby1zaXplKSAvIDIpO1xuICB9XG4gIDp3aGVyZSguc3BhY2UteS0zID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAtLXR3LXNwYWNlLXktcmV2ZXJzZTogMDtcbiAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgbWFyZ2luLWJsb2NrLWVuZDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogMykgKiBjYWxjKDEgLSB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKSk7XG4gIH1cbiAgOndoZXJlKC5zcGFjZS15LTQgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgIC0tdHctc3BhY2UteS1yZXZlcnNlOiAwO1xuICAgIG1hcmdpbi1ibG9jay1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogNCkgKiB2YXIoLS10dy1zcGFjZS15LXJldmVyc2UpKTtcbiAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA0KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgfVxuICA6d2hlcmUoLnNwYWNlLXktOCA+IDpub3QoOmxhc3QtY2hpbGQpKSB7XG4gICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA4KSAqIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpO1xuICAgIG1hcmdpbi1ibG9jay1lbmQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpICogY2FsYygxIC0gdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSkpO1xuICB9XG4gIC5nYXAteS02IHtcbiAgICByb3ctZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gIH1cbiAgLmp1c3RpZnktc2VsZi1jZW50ZXIge1xuICAgIGp1c3RpZnktc2VsZjogY2VudGVyO1xuICB9XG4gIC5zY3JvbGwtc21vb3RoIHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgfVxuICAucm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgfVxuICAucm91bmRlZC1mdWxsIHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKGluZmluaXR5ICogMXB4KTtcbiAgfVxuICAuYm9yZGVyIHtcbiAgICBib3JkZXItc3R5bGU6IHZhcigtLXR3LWJvcmRlci1zdHlsZSk7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIH1cbiAgLmJvcmRlci1zLWhhaXJsaW5lIHtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0LXdpZHRoOiB2YXIoLS1oYWlybGluZSk7XG4gIH1cbiAgLmJvcmRlci10LWhhaXJsaW5lIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1oYWlybGluZSk7XG4gIH1cbiAgLmJvcmRlci1cXCgtLWNvbG9yLWJvcmRlclxcKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICB9XG4gIC5ib3JkZXItZmFpbnQge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZmFpbnQpO1xuICB9XG4gIC5iZy1cXCgtLWNvbG9yLWJvcmRlclxcKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYm9yZGVyKTtcbiAgfVxuICAuYmctYWNjZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICB9XG4gIC5iZy1iZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmcpO1xuICB9XG4gIC5iZy13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3Itd2hpdGUpO1xuICB9XG4gIC5maWxsLVxcW1xcIzI0MjkyZlxcXSB7XG4gICAgZmlsbDogIzI0MjkyZjtcbiAgfVxuICAuZmlsbC1ibGFjayB7XG4gICAgZmlsbDogdmFyKC0tY29sb3ItYmxhY2spO1xuICB9XG4gIC5wLTYge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiA2KTtcbiAgfVxuICAucHgtXFwoLS1ob3Jpem9udGFsLXBhZGRpbmdcXCkge1xuICAgIHBhZGRpbmctaW5saW5lOiB2YXIoLS1ob3Jpem9udGFsLXBhZGRpbmcpO1xuICB9XG4gIC5weS1cXCgtLXZlcnRpY2FsLXBhZGRpbmdcXCkge1xuICAgIHBhZGRpbmctYmxvY2s6IHZhcigtLXZlcnRpY2FsLXBhZGRpbmcpO1xuICB9XG4gIC5weS00IHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLnB0LVxcKC0tdG9wLXBhZGRpbmdcXCkge1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS10b3AtcGFkZGluZyk7XG4gIH1cbiAgLnB0LTMge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLnB0LVxcW2NhbGNcXCh2YXJcXCgtLXZlcnRpY2FsLXBhZGRpbmdcXClcXCozXFwpXFxdIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS12ZXJ0aWNhbC1wYWRkaW5nKSAqIDMpO1xuICB9XG4gIC5wYi1cXCgtLWJvdHRvbS1wYWRkaW5nXFwpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tYm90dG9tLXBhZGRpbmcpO1xuICB9XG4gIC5wYi0yMCB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiAyMCk7XG4gIH1cbiAgLnRleHQtNHhsIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtNHhsKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC00eGwtLWxpbmUtaGVpZ2h0KSk7XG4gIH1cbiAgLnRleHQtYmFzZVxcL3JlbGF4ZWQge1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC1iYXNlKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGVhZGluZy1yZWxheGVkKTtcbiAgfVxuICAudGV4dC1sZyB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LWxnKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC1sZy0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC1zbSB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LXNtKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tdHctbGVhZGluZywgdmFyKC0tdGV4dC1zbS0tbGluZS1oZWlnaHQpKTtcbiAgfVxuICAudGV4dC1cXFswXFwuOHJlbVxcXSB7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gIH1cbiAgLmZvbnQtYm9sZCB7XG4gICAgLS10dy1mb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIC5mb250LW1lZGl1bSB7XG4gICAgLS10dy1mb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgfVxuICAudHJhY2tpbmctdGlnaHQge1xuICAgIC0tdHctdHJhY2tpbmc6IHZhcigtLXRyYWNraW5nLXRpZ2h0KTtcbiAgICBsZXR0ZXItc3BhY2luZzogdmFyKC0tdHJhY2tpbmctdGlnaHQpO1xuICB9XG4gIC50ZXh0LXByZXR0eSB7XG4gICAgdGV4dC13cmFwOiBwcmV0dHk7XG4gIH1cbiAgLndoaXRlc3BhY2Utbm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGRvdHRlZCB1bmRlcmxpbmUgdmFyKC0tY29sb3ItZmFpbnQpO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IHZhcigtLXVuZGVybGluZS10aGlja25lc3MpO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLWxpbmstdHJhbnNpdGlvbiksIHRleHQtZGVjb3JhdGlvbi1jb2xvciB2YXIoLS1saW5rLXRyYW5zaXRpb24pO1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnRleHQtYWNjZW50IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgfVxuICAudGV4dC1hY2NlbnQtdGV4dCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudC10ZXh0KTtcbiAgfVxuICAudGV4dC1saWdodCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWxpZ2h0KTtcbiAgfVxuICAudGV4dC1zdG9uZS04MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdG9uZS04MDApO1xuICB9XG4gIC50ZXh0LXN0b25lLTkwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN0b25lLTkwMCk7XG4gIH1cbiAgLnRleHQtc3VidGxlIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3VidGxlKTtcbiAgfVxuICAudGV4dC10ZXh0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIH1cbiAgLmxvd2VyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgfVxuICAudXBwZXJjYXNlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG4gIC5pdGFsaWMge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuICAudGFidWxhci1udW1zIHtcbiAgICAtLXR3LW51bWVyaWMtc3BhY2luZzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB2YXIoLS10dy1vcmRpbmFsLCkgdmFyKC0tdHctc2xhc2hlZC16ZXJvLCkgdmFyKC0tdHctbnVtZXJpYy1maWd1cmUsKSB2YXIoLS10dy1udW1lcmljLXNwYWNpbmcsKSB2YXIoLS10dy1udW1lcmljLWZyYWN0aW9uLCk7XG4gIH1cbiAgLnVuZGVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgfVxuICAuYW50aWFsaWFzZWQge1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIH1cbiAgLnNoYWRvdyB7XG4gICAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctaW5zZXQtc2hhZG93KSwgdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdyk7XG4gIH1cbiAgLmZpbHRlciB7XG4gICAgZmlsdGVyOiB2YXIoLS10dy1ibHVyLCkgdmFyKC0tdHctYnJpZ2h0bmVzcywpIHZhcigtLXR3LWNvbnRyYXN0LCkgdmFyKC0tdHctZ3JheXNjYWxlLCkgdmFyKC0tdHctaHVlLXJvdGF0ZSwpIHZhcigtLXR3LWludmVydCwpIHZhcigtLXR3LXNhdHVyYXRlLCkgdmFyKC0tdHctc2VwaWEsKSB2YXIoLS10dy1kcm9wLXNoYWRvdywpO1xuICB9XG4gIC50cmFuc2l0aW9uIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yLCBvdXRsaW5lLWNvbG9yLCB0ZXh0LWRlY29yYXRpb24tY29sb3IsIGZpbGwsIHN0cm9rZSwgLS10dy1ncmFkaWVudC1mcm9tLCAtLXR3LWdyYWRpZW50LXZpYSwgLS10dy1ncmFkaWVudC10bywgb3BhY2l0eSwgYm94LXNoYWRvdywgdHJhbnNmb3JtLCB0cmFuc2xhdGUsIHNjYWxlLCByb3RhdGUsIGZpbHRlciwgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXIsIGJhY2tkcm9wLWZpbHRlciwgZGlzcGxheSwgY29udGVudC12aXNpYmlsaXR5LCBvdmVybGF5LCBwb2ludGVyLWV2ZW50cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tdHctZWFzZSwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXR3LWR1cmF0aW9uLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKTtcbiAgfVxuICAudHJhbnNpdGlvbi1vcGFjaXR5IHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS10dy1lYXNlLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHctZHVyYXRpb24sIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpO1xuICB9XG4gIC50cmFuc2l0aW9uLXRyYW5zZm9ybSB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCB0cmFuc2xhdGUsIHNjYWxlLCByb3RhdGU7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXR3LWVhc2UsIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10dy1kdXJhdGlvbiwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSk7XG4gIH1cbiAgLmR1cmF0aW9uLTEwMCB7XG4gICAgLS10dy1kdXJhdGlvbjogMTAwbXM7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTAwbXM7XG4gIH1cbiAgLmVhc2Utb3V0IHtcbiAgICAtLXR3LWVhc2U6IHZhcigtLWVhc2Utb3V0KTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZWFzZS1vdXQpO1xuICB9XG4gIC5lYXNlLXNwcmluZyB7XG4gICAgLS10dy1lYXNlOiB2YXIoLS1lYXNlLXNwcmluZyk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWVhc2Utc3ByaW5nKTtcbiAgfVxuICAuc3RhY2tlZC10ZXh0IHtcbiAgICBncmlkLWFyZWE6IDEgLyAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZSwgdHJhbnNmb3JtIDIwMG1zIHZhcigtLWJvdW5jZSk7XG4gIH1cbiAgLlxcWy0tYm90dG9tLXBhZGRpbmdcXDpjYWxjXFwodmFyXFwoLS12ZXJ0aWNhbC1wYWRkaW5nXFwpXFwqMlxcKVxcXSB7XG4gICAgLS1ib3R0b20tcGFkZGluZzogY2FsYyh2YXIoLS12ZXJ0aWNhbC1wYWRkaW5nKSAqIDIpO1xuICB9XG4gIC5cXFstLWhvdmVyLXJvdGF0aW9uXFw6LTJkZWdcXF0ge1xuICAgIC0taG92ZXItcm90YXRpb246IC0yZGVnO1xuICB9XG4gIC5cXFstLWhvdmVyLXJvdGF0aW9uXFw6LTNkZWdcXF0ge1xuICAgIC0taG92ZXItcm90YXRpb246IC0zZGVnO1xuICB9XG4gIC5cXFstLWhvdmVyLXJvdGF0aW9uXFw6LTRkZWdcXF0ge1xuICAgIC0taG92ZXItcm90YXRpb246IC00ZGVnO1xuICB9XG4gIC5cXFstLWhvdmVyLXJvdGF0aW9uXFw6M2RlZ1xcXSB7XG4gICAgLS1ob3Zlci1yb3RhdGlvbjogM2RlZztcbiAgfVxuICAuXFxbLS1ob3Zlci14XFw6LTJcXF0ge1xuICAgIC0taG92ZXIteDogLTI7XG4gIH1cbiAgLlxcWy0taG92ZXIteFxcOi0zXFxdIHtcbiAgICAtLWhvdmVyLXg6IC0zO1xuICB9XG4gIC5cXFstLWhvdmVyLXhcXDoyXFxdIHtcbiAgICAtLWhvdmVyLXg6IDI7XG4gIH1cbiAgLlxcWy0taG92ZXIteFxcOjRcXF0ge1xuICAgIC0taG92ZXIteDogNDtcbiAgfVxuICAuXFxbLS1ob3Zlci15XFw6LTFcXF0ge1xuICAgIC0taG92ZXIteTogLTE7XG4gIH1cbiAgLlxcWy0taG92ZXIteVxcOi0yXFxdIHtcbiAgICAtLWhvdmVyLXk6IC0yO1xuICB9XG4gIC5cXFstLWhvdmVyLXlcXDotNlxcXSB7XG4gICAgLS1ob3Zlci15OiAtNjtcbiAgfVxuICAuXFxbLS1ob3Zlci15XFw6MFxcXSB7XG4gICAgLS1ob3Zlci15OiAwO1xuICB9XG4gIC5cXFstLWhvdmVyLXlcXDoxXFwuNVxcXSB7XG4gICAgLS1ob3Zlci15OiAxLjU7XG4gIH1cbiAgLlxcWy0taW5pdGlhbC1yb3RhdGlvblxcOi01ZGVnXFxdIHtcbiAgICAtLWluaXRpYWwtcm90YXRpb246IC01ZGVnO1xuICB9XG4gIC5cXFstLWluaXRpYWwtcm90YXRpb25cXDotOWRlZ1xcXSB7XG4gICAgLS1pbml0aWFsLXJvdGF0aW9uOiAtOWRlZztcbiAgfVxuICAuXFxbLS1pbml0aWFsLXJvdGF0aW9uXFw6MWRlZ1xcXSB7XG4gICAgLS1pbml0aWFsLXJvdGF0aW9uOiAxZGVnO1xuICB9XG4gIC5cXFstLWluaXRpYWwtcm90YXRpb25cXDo2ZGVnXFxdIHtcbiAgICAtLWluaXRpYWwtcm90YXRpb246IDZkZWc7XG4gIH1cbiAgLlxcWy0taW5pdGlhbC1yb3RhdGlvblxcOjdkZWdcXF0ge1xuICAgIC0taW5pdGlhbC1yb3RhdGlvbjogN2RlZztcbiAgfVxuICAuXFxbLS1pbml0aWFsLXJvdGF0aW9uXFw6OWRlZ1xcXSB7XG4gICAgLS1pbml0aWFsLXJvdGF0aW9uOiA5ZGVnO1xuICB9XG4gIC5cXFstLWluaXRpYWwteFxcOjBcXF0ge1xuICAgIC0taW5pdGlhbC14OiAwO1xuICB9XG4gIC5cXFstLWluaXRpYWwteVxcOi0xXFwuNVxcXSB7XG4gICAgLS1pbml0aWFsLXk6IC0xLjU7XG4gIH1cbiAgLlxcWy0taW5pdGlhbC15XFw6LTFcXF0ge1xuICAgIC0taW5pdGlhbC15OiAtMTtcbiAgfVxuICAuXFxbLS1pbml0aWFsLXlcXDotMlxcXSB7XG4gICAgLS1pbml0aWFsLXk6IC0yO1xuICB9XG4gIC5cXFstLWluaXRpYWwteVxcOjNcXF0ge1xuICAgIC0taW5pdGlhbC15OiAzO1xuICB9XG4gIC5cXFstLWxpbmstc3BhY2luZ1xcOi0tc3BhY2luZ1xcKDRcXClcXF0ge1xuICAgIC0tbGluay1zcGFjaW5nOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLlxcWy0tbG9nby1zaXplXFw6LS1zcGFjaW5nXFwoNVxcKVxcXSB7XG4gICAgLS1sb2dvLXNpemU6IGNhbGModmFyKC0tc3BhY2luZykgKiA1KTtcbiAgfVxuICAuXFxbLS10aWx0LXNjYWxlXFw6MVxcLjFcXF0ge1xuICAgIC0tdGlsdC1zY2FsZTogMS4xO1xuICB9XG4gIC5cXFstLXRvcC1wYWRkaW5nXFw6LS1zcGFjaW5nXFwoMjBcXClcXF0ge1xuICAgIC0tdG9wLXBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiAyMCk7XG4gIH1cbiAgLlxcWy0tdmVydGljYWwtcGFkZGluZ1xcOi0tc3BhY2luZ1xcKDEyXFwpXFxdIHtcbiAgICAtLXZlcnRpY2FsLXBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiAxMik7XG4gIH1cbiAgLlxcWy0telxcOjFcXF0ge1xuICAgIC0tejogMTtcbiAgfVxuICAuXFxbLS16XFw6MlxcXSB7XG4gICAgLS16OiAyO1xuICB9XG4gIC5cXFstLXpcXDozXFxdIHtcbiAgICAtLXo6IDM7XG4gIH1cbiAgLlxcWy0telxcOjRcXF0ge1xuICAgIC0tejogNDtcbiAgfVxuICAuXFxbLS16XFw6NVxcXSB7XG4gICAgLS16OiA1O1xuICB9XG4gIC5lYXNlLXNwcmluZyB7XG4gICAgdHJhbnNpdGlvbjogdmFyKC0tZWFzZS1zcHJpbmcpO1xuICB9XG4gIC5ub3QtaG92ZXJcXDpub3QtZm9jdXMtd2l0aGluXFw6b3BhY2l0eS00MDpub3QoOmhvdmVyKTpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIG9wYWNpdHk6IDQwJTtcbiAgfVxuICBAbWVkaWEgbm90IChob3ZlcjogaG92ZXIpIHtcbiAgICAubm90LWhvdmVyXFw6bm90LWZvY3VzLXdpdGhpblxcOm9wYWNpdHktNDA6bm90KDpmb2N1cy13aXRoaW4pIHtcbiAgICAgIG9wYWNpdHk6IDQwJTtcbiAgICB9XG4gIH1cbiAgLm5vdC1pbi1kYXRhLVxcW3BhZ2VcXD1ibG9nLXBvc3RcXF1cXDpoaWRkZW46bm90KDp3aGVyZShbZGF0YS1wYWdlPVwiYmxvZy1wb3N0XCJdKSAqKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAubm90LWluLWRhdGEtXFxbcGFnZVxcPXRpbC1lbnRyeVxcXVxcOmhpZGRlbjpub3QoOndoZXJlKFtkYXRhLXBhZ2U9XCJ0aWwtZW50cnlcIl0pICopIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5ub3QtaW4tZGF0YS1cXFtwYWdlXFw9YmxvZy1pbmRleFxcXVxcOm5vdC1pbi1kYXRhLVxcW3BhZ2VcXD10aWwtaW5kZXhcXF1cXDpoaWRkZW46bm90KDp3aGVyZShbZGF0YS1wYWdlPVwiYmxvZy1pbmRleFwiXSkgKik6bm90KDp3aGVyZShbZGF0YS1wYWdlPVwidGlsLWluZGV4XCJdKSAqKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5ncm91cC1ob3ZlclxcL2Fycm93LXJpZ2h0XFw6dHJhbnNsYXRlLXgtMFxcLjc1OmlzKDp3aGVyZSguZ3JvdXBcXC9hcnJvdy1yaWdodCk6aG92ZXIgKikge1xuICAgICAgLS10dy10cmFuc2xhdGUteDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDAuNzUpO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgICAuZ3JvdXAtaG92ZXJcXC9hcnJvdy11cFxcOi10cmFuc2xhdGUteS0wXFwuNzU6aXMoOndoZXJlKC5ncm91cFxcL2Fycm93LXVwKTpob3ZlciAqKSB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS15OiBjYWxjKHZhcigtLXNwYWNpbmcpICogLTAuNzUpO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgICAuZ3JvdXAtaG92ZXJcXC9hcnJvdy11cC1yaWdodFxcOnRyYW5zbGF0ZS14LTBcXC43NTppcyg6d2hlcmUoLmdyb3VwXFwvYXJyb3ctdXAtcmlnaHQpOmhvdmVyICopIHtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXg6IGNhbGModmFyKC0tc3BhY2luZykgKiAwLjc1KTtcbiAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICB9XG4gICAgLmdyb3VwLWhvdmVyXFwvYXJyb3ctdXAtcmlnaHRcXDotdHJhbnNsYXRlLXktMFxcLjc1OmlzKDp3aGVyZSguZ3JvdXBcXC9hcnJvdy11cC1yaWdodCk6aG92ZXIgKikge1xuICAgICAgLS10dy10cmFuc2xhdGUteTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIC0wLjc1KTtcbiAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICB9XG4gICAgLmdyb3VwLWhvdmVyXFwvY2xpcGJvYXJkXFw6LXRyYW5zbGF0ZS14LTBcXC4yNTppcyg6d2hlcmUoLmdyb3VwXFwvY2xpcGJvYXJkKTpob3ZlciAqKSB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS14OiBjYWxjKHZhcigtLXNwYWNpbmcpICogLTAuMjUpO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgICAuZ3JvdXAtaG92ZXJcXC9jbGlwYm9hcmRcXDp0cmFuc2xhdGUteC0wXFwuMjU6aXMoOndoZXJlKC5ncm91cFxcL2NsaXBib2FyZCk6aG92ZXIgKikge1xuICAgICAgLS10dy10cmFuc2xhdGUteDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDAuMjUpO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgICAuZ3JvdXAtaG92ZXJcXC9jbGlwYm9hcmRcXDotdHJhbnNsYXRlLXktMFxcLjI1OmlzKDp3aGVyZSguZ3JvdXBcXC9jbGlwYm9hcmQpOmhvdmVyICopIHtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXk6IGNhbGModmFyKC0tc3BhY2luZykgKiAtMC4yNSk7XG4gICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgfVxuICAgIC5ncm91cC1ob3ZlclxcL2NsaXBib2FyZFxcOnRyYW5zbGF0ZS15LTBcXC4yNTppcyg6d2hlcmUoLmdyb3VwXFwvY2xpcGJvYXJkKTpob3ZlciAqKSB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS15OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMC4yNSk7XG4gICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgfVxuICAgIC5ncm91cC1ob3ZlclxcL2V4dGVybmFsLWxpbmtcXDp0cmFuc2xhdGUteC0wXFwuNTppcyg6d2hlcmUoLmdyb3VwXFwvZXh0ZXJuYWwtbGluayk6aG92ZXIgKikge1xuICAgICAgLS10dy10cmFuc2xhdGUteDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDAuNSk7XG4gICAgICB0cmFuc2xhdGU6IHZhcigtLXR3LXRyYW5zbGF0ZS14KSB2YXIoLS10dy10cmFuc2xhdGUteSk7XG4gICAgfVxuICAgIC5ncm91cC1ob3ZlclxcL2V4dGVybmFsLWxpbmtcXDotdHJhbnNsYXRlLXktMFxcLjU6aXMoOndoZXJlKC5ncm91cFxcL2V4dGVybmFsLWxpbmspOmhvdmVyICopIHtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXk6IGNhbGModmFyKC0tc3BhY2luZykgKiAtMC41KTtcbiAgICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgICB9XG4gIH1cbiAgQG1lZGlhICh3aWR0aCA8IDU1cmVtKSB7XG4gICAgLm1heC1yYWlsXFw6bWItNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gICAgfVxuICAgIC5tYXgtcmFpbFxcOmhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKHdpZHRoIDwgNDByZW0pIHtcbiAgICAubWF4LXNtXFw6aGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5tYXgtc21cXDptYXgtdy1cXFs2NXZ3XFxdIHtcbiAgICAgIG1heC13aWR0aDogNjV2dztcbiAgICB9XG4gICAgLm1heC1zbVxcOnRyYW5zbGF0ZS15LTIge1xuICAgICAgLS10dy10cmFuc2xhdGUteTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICAgICAgdHJhbnNsYXRlOiB2YXIoLS10dy10cmFuc2xhdGUteCkgdmFyKC0tdHctdHJhbnNsYXRlLXkpO1xuICAgIH1cbiAgICAubWF4LXNtXFw6ZmxleC1jb2wge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgLm1heC1zbVxcOmp1c3RpZnktYmV0d2VlbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIC5tYXgtc21cXDpweC1cXCgtLWhvcml6b250YWwtcGFkZGluZ1xcKSB7XG4gICAgICBwYWRkaW5nLWlubGluZTogdmFyKC0taG9yaXpvbnRhbC1wYWRkaW5nKTtcbiAgICB9XG4gICAgLm1heC1zbVxcOnB5LTQge1xuICAgICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgLnNtXFw6c3RpY2t5IHtcbiAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgfVxuICAgIC5zbVxcOnRvcC04IHtcbiAgICAgIHRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpO1xuICAgIH1cbiAgICAuc21cXDpyb3ctc3Bhbi0yIHtcbiAgICAgIGdyaWQtcm93OiBzcGFuIDIgLyBzcGFuIDI7XG4gICAgfVxuICAgIC5zbVxcOm14LWF1dG8ge1xuICAgICAgbWFyZ2luLWlubGluZTogYXV0bztcbiAgICB9XG4gICAgLnNtXFw6LW1iLVxcW2NhbGNcXCh2YXJcXCgtLWJvdHRvbS1wYWRkaW5nXFwpXFwrdmFyXFwoLS12ZXJ0aWNhbC1wYWRkaW5nXFwpXFwpXFxdIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGMoY2FsYyh2YXIoLS1ib3R0b20tcGFkZGluZykgKyB2YXIoLS12ZXJ0aWNhbC1wYWRkaW5nKSkgKiAtMSk7XG4gICAgfVxuICAgIC5zbVxcOnctNDgge1xuICAgICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiA0OCk7XG4gICAgfVxuICAgIC5zbVxcOmdyaWQtY29scy1cXFsxZnJfYXV0b1xcXSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgIH1cbiAgICAuc21cXDppdGVtcy1jZW50ZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgLnNtXFw6anVzdGlmeS1jZW50ZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgIC5zbVxcOmdhcC04IHtcbiAgICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpO1xuICAgIH1cbiAgICAuc21cXDpnYXAteC04IHtcbiAgICAgIGNvbHVtbi1nYXA6IGNhbGModmFyKC0tc3BhY2luZykgKiA4KTtcbiAgICB9XG4gICAgLnNtXFw6Z2FwLXktNCB7XG4gICAgICByb3ctZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gICAgfVxuICAgIC5zbVxcOnNlbGYtc3RhcnQge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB9XG4gICAgLnNtXFw6XFxbLS1nYWxsZXJ5LWNvbHVtbnNcXDozXFxdIHtcbiAgICAgIC0tZ2FsbGVyeS1jb2x1bW5zOiAzO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgKHdpZHRoID49IDQ4cmVtKSB7XG4gICAgLm1kXFw6aGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAod2lkdGggPj0gNTVyZW0pIHtcbiAgICAucmFpbFxcOnN0aWNreSB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIH1cbiAgICAucmFpbFxcOnRvcC0yIHtcbiAgICAgIHRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICAgIH1cbiAgICAucmFpbFxcOmdyaWQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICB9XG4gICAgLnJhaWxcXDpncmlkLWNvbHMtXFxbdmFyXFwoLS1sZWZ0LWNvbFxcKV92YXJcXCgtLWd1dHRlclxcKV8xZnJcXF0ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiB2YXIoLS1sZWZ0LWNvbCkgdmFyKC0tZ3V0dGVyKSAxZnI7XG4gICAgfVxuICAgIC5yYWlsXFw6Z2FwLVxcKC0tbWFpbi1nYXBcXCkge1xuICAgICAgZ2FwOiB2YXIoLS1tYWluLWdhcCk7XG4gICAgfVxuICAgIC5yYWlsXFw6c2VsZi1zdGFydCB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAucmFpbFxcOnRleHQtcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAuZGFya1xcOmJnLXppbmMtOTUwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXppbmMtOTUwKTtcbiAgICB9XG4gICAgLmRhcmtcXDpmaWxsLVxcW1xcI2ZmZlxcXSB7XG4gICAgICBmaWxsOiAjZmZmO1xuICAgIH1cbiAgICAuZGFya1xcOmZpbGwtd2hpdGUge1xuICAgICAgZmlsbDogdmFyKC0tY29sb3Itd2hpdGUpO1xuICAgIH1cbiAgICAuZGFya1xcOnRleHQtemluYy0xMDAge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXppbmMtMTAwKTtcbiAgICB9XG4gIH1cbn1cbkBsYXllciBiYXNlIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJlJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBzcmM6IHVybCgnLi9mb250cy9jYWxpYnJlLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB9XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnQ2FsaWJyZSc7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvY2FsaWJyZS1yZWd1bGFyLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIH1cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdDYWxpYnJlJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBzcmM6IHVybCgnLi9mb250cy9jYWxpYnJlLXNlbWlib2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgfVxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmUnO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL2NhbGlicmUtc2VtaWJvbGQtaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgfVxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NhbGlicmUnO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL2NhbGlicmUtYm9sZC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIH1cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdNb25hc3BpY2UgQXJnb24nO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL01vbmFzcGljZUFyTmVyZEZvbnRNb25vLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICB9XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9uYXNwaWNlIEFyZ29uJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBzcmM6IHVybCgnLi9mb250cy9Nb25hc3BpY2VBck5lcmRGb250TW9uby1Cb2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgfVxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ01vbmFzcGljZSBSYWRvbic7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvTW9uYXNwaWNlUm5OZXJkRm9udE1vbm8tUmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIH1cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdDcmltc29uIFBybyc7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDAgOTAwO1xuICAgIHNyYzogdXJsKCcuL2ZvbnRzL0NyaW1zb25Qcm8tSXRhbGljLVZhcmlhYmxlRm9udF93Z2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgfVxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ0NyaW1zb24gUHJvJztcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDIwMCA5MDA7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvQ3JpbXNvblByby1WYXJpYWJsZUZvbnRfd2dodC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIH1cbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdHbG9yaWEgSGFsbGVsdWphaCc7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgc3JjOiB1cmwoJy4vZm9udHMvR2xvcmlhSGFsbGVsdWphaC1SZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgfVxufVxuQHNjb3BlICguYmxvZy1wb3N0LWxpc3QpIHtcbiAgOnNjb3BlIHtcbiAgICAtLWhvdmVyLXRyYW5zaXRpb246IDYwbXM7XG4gICAgLS1pdGVtLXZlcnRpY2FsLXBhZGRpbmc6IDAuNXJlbTtcbiAgICAtLWl0ZW0taG9yaXpvbnRhbC1wYWRkaW5nOiAwLjc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGNhbGModmFyKC0taXRlbS1ob3Jpem9udGFsLXBhZGRpbmcpICogLTEpO1xuICAgIGlzb2xhdGlvbjogaXNvbGF0ZTtcbiAgfVxuICA6c2NvcGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0LWRhcmsodmFyKC0tY29sb3Itc3VyZmFjZS1hbHQpLCB2YXIoLS1jb2xvci1zdXJmYWNlKSk7XG4gICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIEBzdXBwb3J0cyAoY29ybmVyLXNoYXBlOiBzcXVpcmNsZSkge1xuICAgICAgY29ybmVyLXNoYXBlOiBzcXVpcmNsZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgfVxuICAgIHRyYW5zaXRpb246IGluc2V0IGNhbGModmFyKC0taG92ZXItdHJhbnNpdGlvbikgKiAyKSB2YXIoLS1nZW50bGVyLXNwcmluZyksIG9wYWNpdHkgdmFyKC0taG92ZXItdHJhbnNpdGlvbik7XG4gICAgd2lsbC1jaGFuZ2U6IGluc2V0LCBvcGFjaXR5O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICBwb3NpdGlvbi1hbmNob3I6IC0taG92ZXJlZC1pdGVtO1xuICAgIGluc2V0OiBhbmNob3IoaW5zaWRlKTtcbiAgfVxuICAuYmxvZy1saXN0LWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLWhvdmVyLXRyYW5zaXRpb24pO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICBAc3VwcG9ydHMgKGNvcm5lci1zaGFwZTogc3F1aXJjbGUpIHtcbiAgICAgIGNvcm5lci1zaGFwZTogc3F1aXJjbGU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgIH1cbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IG5vLXByZWZlcmVuY2UpIHtcbiAgICAgIHRyYW5zaXRpb246IHNjYWxlIDIwMG1zIGVhc2Utb3V0O1xuICAgICAgJjphY3RpdmUge1xuICAgICAgICBzY2FsZTogMC45ODtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZ2FwOiAwLjVyZW07XG4gICAgICBwYWRkaW5nOiB2YXIoLS1pdGVtLXZlcnRpY2FsLXBhZGRpbmcpIHZhcigtLWl0ZW0taG9yaXpvbnRhbC1wYWRkaW5nKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYW5jaG9yLW5hbWU6IC0taG92ZXJlZC1pdGVtO1xuICAgICAgfVxuICAgICAgLmJsb2ctcG9zdC1saXN0OmhhcygmOmhvdmVyKSAmOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgfVxuICAgIH1cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IHZhcigtLWhhaXJsaW5lKTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSB2YXIoLS1pdGVtLWhvcml6b250YWwtcGFkZGluZykgKiAyKTtcbiAgICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1ib3JkZXItbGlnaHQpO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1ob3Zlci10cmFuc2l0aW9uKTtcbiAgICB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICY6aG92ZXI6OmFmdGVyLCAmOmhhcygrICY6aG92ZXIpOjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5ibG9nLWxpc3QtaXRlbV9fdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjA1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtd3JhcDogcHJldHR5O1xuICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICAgIC5ibG9nLWxpc3QtaXRlbV9fZGF0ZSB7XG4gICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXN1YnRsZSk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgbWFyZ2luLXRvcDogMC4yZW07XG4gICAgfVxuICB9XG59XG46cm9vdCB7XG4gIGNvbG9yLXNjaGVtZTogbGlnaHQgZGFyaztcbiAgdGV4dC11bmRlcmxpbmUtcG9zaXRpb246IGZyb20tZm9udDtcbiAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBhdXRvO1xufVxuaHRtbFtkYXRhLXRoZW1lLXN3aXRjaGluZ10sIGh0bWxbZGF0YS10aGVtZS1zd2l0Y2hpbmddICosIGh0bWxbZGF0YS10aGVtZS1zd2l0Y2hpbmddICo6OmJlZm9yZSwgaHRtbFtkYXRhLXRoZW1lLXN3aXRjaGluZ10gKjo6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiBuby1wcmVmZXJlbmNlKSB7XG4gIGh0bWwge1xuICAgIGludGVycG9sYXRlLXNpemU6IGFsbG93LWtleXdvcmRzO1xuICB9XG59XG46Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jb2xvci1hY2NlbnQpO1xuICBvdXRsaW5lLW9mZnNldDogM3B4O1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mb2N1cy1yYWRpdXMpO1xuICBAc3VwcG9ydHMgKGNvcm5lci1zaGFwZTogc3F1aXJjbGUpIHtcbiAgICBjb3JuZXItc2hhcGU6IHNxdWlyY2xlO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWZvY3VzLXJhZGl1cy1zcXVpcmNsZSk7XG4gIH1cbn1cbmltZyB7XG4gIG91dGxpbmU6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1pbWFnZS1vdXRsaW5lKTtcbiAgb3V0bGluZS1vZmZzZXQ6IC0xcHg7XG59XG4uc2tpcC1saW5rIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAxMDA7XG4gIGluc2V0LWJsb2NrLXN0YXJ0OiAwO1xuICBpbnNldC1pbmxpbmUtc3RhcnQ6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICBtYXJnaW46IDAuNXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYmcpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItbGlnaHQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jb2xvci1ib3JkZXIpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1mb2N1cy1yYWRpdXMpO1xuICBAc3VwcG9ydHMgKGNvcm5lci1zaGFwZTogc3F1aXJjbGUpIHtcbiAgICBjb3JuZXItc2hhcGU6IHNxdWlyY2xlO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWZvY3VzLXJhZGl1cy1zcXVpcmNsZSk7XG4gIH1cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAmOmZvY3VzLCAmOmZvY3VzLXZpc2libGUge1xuICAgIGNsaXA6IGF1dG87XG4gICAgY2xpcC1wYXRoOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuLnJhaWwtbGF5b3V0IHtcbiAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRlbnQtd2lkdGgpICsgdmFyKC0taG9yaXpvbnRhbC1wYWRkaW5nKSAqIDIpO1xuICBtYXJnaW4taW5saW5lOiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU1cmVtKSB7XG4gIC5yYWlsLWxheW91dCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRlbnQtd2lkdGgpICsgdmFyKC0tcmFpbC1vZmZzZXQpICsgdmFyKC0taG9yaXpvbnRhbC1wYWRkaW5nKSAqIDIpO1xuICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoIDUwJSAtIHZhcigtLWNvbnRlbnQtd2lkdGgpIC8gMiAtIHZhcigtLXJhaWwtb2Zmc2V0KSAtIHZhcigtLWhvcml6b250YWwtcGFkZGluZykgKTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogYXV0bztcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICBodG1sLCBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgI3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgfVxuICAjbWFpbiB7XG4gICAgZmxleDogMTtcbiAgfVxufVxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zZWxlY3Rpb24tY29sb3IpO1xuICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50KTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBkb3R0ZWQgdW5kZXJsaW5lIHZhcigtLWNvbG9yLWFjY2VudCk7XG4gIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IHZhcigtLXVuZGVybGluZS10aGlja25lc3MpO1xufVxuQHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXgge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDA7XG59XG5AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS16IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwO1xufVxuQHByb3BlcnR5IC0tdHctc2hhZG93IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwIDAgIzAwMDA7XG59XG5AcHJvcGVydHkgLS10dy1zaGFkb3ctY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1zaGFkb3ctYWxwaGEge1xuICBzeW50YXg6IFwiPHBlcmNlbnRhZ2U+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMTAwJTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMCAwICMwMDAwO1xufVxuQHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWNvbG9yIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWFscGhhIHtcbiAgc3ludGF4OiBcIjxwZXJjZW50YWdlPlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDEwMCU7XG59XG5AcHJvcGVydHkgLS10dy1yaW5nLWNvbG9yIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctcmluZy1zaGFkb3cge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDAgMCAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWluc2V0LXJpbmctY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMCAwICMwMDAwO1xufVxuQHByb3BlcnR5IC0tdHctcmluZy1pbnNldCB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoIHtcbiAgc3ludGF4OiBcIjxsZW5ndGg+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMHB4O1xufVxuQHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6ICNmZmY7XG59XG5AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1zaGFkb3cge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDAgMCAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJsdXIge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1icmlnaHRuZXNzIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctY29udHJhc3Qge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1ncmF5c2NhbGUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1odWUtcm90YXRlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctaW52ZXJ0IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctb3BhY2l0eSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNhdHVyYXRlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2VwaWEge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWNvbG9yIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctYWxwaGEge1xuICBzeW50YXg6IFwiPHBlcmNlbnRhZ2U+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMTAwJTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LXNpemUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1jb250ZW50IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5pdGlhbC12YWx1ZTogXCJcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctcm90YXRlLXgge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1yb3RhdGUteSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS16IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2tldy14IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2tldy15IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2Nyb2xsYmFyLXRodW1iIHtcbiAgc3ludGF4OiBcIjxjb2xvcj5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNjcm9sbGJhci10cmFjayB7XG4gIHN5bnRheDogXCI8Y29sb3I+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogIzAwMDA7XG59XG5AcHJvcGVydHkgLS10dy1zcGFjZS15LXJldmVyc2Uge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDA7XG59XG5AcHJvcGVydHkgLS10dy1ib3JkZXItc3R5bGUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IHNvbGlkO1xufVxuQHByb3BlcnR5IC0tdHctZm9udC13ZWlnaHQge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy10cmFja2luZyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LW9yZGluYWwge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1zbGFzaGVkLXplcm8ge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1udW1lcmljLWZpZ3VyZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LW51bWVyaWMtc3BhY2luZyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LW51bWVyaWMtZnJhY3Rpb24ge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1kdXJhdGlvbiB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWVhc2Uge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AbGF5ZXIgcHJvcGVydGllcyB7XG4gIEBzdXBwb3J0cyAoKC13ZWJraXQtaHlwaGVuczogbm9uZSkgYW5kIChub3QgKG1hcmdpbi10cmltOiBpbmxpbmUpKSkgb3IgKCgtbW96LW9yaWVudDogaW5saW5lKSBhbmQgKG5vdCAoY29sb3I6cmdiKGZyb20gcmVkIHIgZyBiKSkpKSB7XG4gICAgKiwgOjpiZWZvcmUsIDo6YWZ0ZXIsIDo6YmFja2Ryb3Age1xuICAgICAgLS10dy10cmFuc2xhdGUteDogMDtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXk6IDA7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS16OiAwO1xuICAgICAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctc2hhZG93LWNvbG9yOiBpbml0aWFsO1xuICAgICAgLS10dy1zaGFkb3ctYWxwaGE6IDEwMCU7XG4gICAgICAtLXR3LWluc2V0LXNoYWRvdzogMCAwICMwMDAwO1xuICAgICAgLS10dy1pbnNldC1zaGFkb3ctY29sb3I6IGluaXRpYWw7XG4gICAgICAtLXR3LWluc2V0LXNoYWRvdy1hbHBoYTogMTAwJTtcbiAgICAgIC0tdHctcmluZy1jb2xvcjogaW5pdGlhbDtcbiAgICAgIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctaW5zZXQtcmluZy1jb2xvcjogaW5pdGlhbDtcbiAgICAgIC0tdHctaW5zZXQtcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctcmluZy1pbnNldDogaW5pdGlhbDtcbiAgICAgIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcbiAgICAgIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XG4gICAgICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xuICAgICAgLS10dy1ibHVyOiBpbml0aWFsO1xuICAgICAgLS10dy1icmlnaHRuZXNzOiBpbml0aWFsO1xuICAgICAgLS10dy1jb250cmFzdDogaW5pdGlhbDtcbiAgICAgIC0tdHctZ3JheXNjYWxlOiBpbml0aWFsO1xuICAgICAgLS10dy1odWUtcm90YXRlOiBpbml0aWFsO1xuICAgICAgLS10dy1pbnZlcnQ6IGluaXRpYWw7XG4gICAgICAtLXR3LW9wYWNpdHk6IGluaXRpYWw7XG4gICAgICAtLXR3LXNhdHVyYXRlOiBpbml0aWFsO1xuICAgICAgLS10dy1zZXBpYTogaW5pdGlhbDtcbiAgICAgIC0tdHctZHJvcC1zaGFkb3c6IGluaXRpYWw7XG4gICAgICAtLXR3LWRyb3Atc2hhZG93LWNvbG9yOiBpbml0aWFsO1xuICAgICAgLS10dy1kcm9wLXNoYWRvdy1hbHBoYTogMTAwJTtcbiAgICAgIC0tdHctZHJvcC1zaGFkb3ctc2l6ZTogaW5pdGlhbDtcbiAgICAgIC0tdHctY29udGVudDogXCJcIjtcbiAgICAgIC0tdHctcm90YXRlLXg6IGluaXRpYWw7XG4gICAgICAtLXR3LXJvdGF0ZS15OiBpbml0aWFsO1xuICAgICAgLS10dy1yb3RhdGUtejogaW5pdGlhbDtcbiAgICAgIC0tdHctc2tldy14OiBpbml0aWFsO1xuICAgICAgLS10dy1za2V3LXk6IGluaXRpYWw7XG4gICAgICAtLXR3LXNjcm9sbGJhci10aHVtYjogIzAwMDA7XG4gICAgICAtLXR3LXNjcm9sbGJhci10cmFjazogIzAwMDA7XG4gICAgICAtLXR3LXNwYWNlLXktcmV2ZXJzZTogMDtcbiAgICAgIC0tdHctYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIC0tdHctZm9udC13ZWlnaHQ6IGluaXRpYWw7XG4gICAgICAtLXR3LXRyYWNraW5nOiBpbml0aWFsO1xuICAgICAgLS10dy1vcmRpbmFsOiBpbml0aWFsO1xuICAgICAgLS10dy1zbGFzaGVkLXplcm86IGluaXRpYWw7XG4gICAgICAtLXR3LW51bWVyaWMtZmlndXJlOiBpbml0aWFsO1xuICAgICAgLS10dy1udW1lcmljLXNwYWNpbmc6IGluaXRpYWw7XG4gICAgICAtLXR3LW51bWVyaWMtZnJhY3Rpb246IGluaXRpYWw7XG4gICAgICAtLXR3LWR1cmF0aW9uOiBpbml0aWFsO1xuICAgICAgLS10dy1lYXNlOiBpbml0aWFsO1xuICAgIH1cbiAgfVxufVxuIiwicHJlIGNvZGUuaGxqc3tkaXNwbGF5OmJsb2NrO292ZXJmbG93LXg6YXV0bztwYWRkaW5nOjFlbX1jb2RlLmhsanN7cGFkZGluZzozcHggNXB4fS8qIVxuICBUaGVtZTogR2l0SHViXG4gIERlc2NyaXB0aW9uOiBMaWdodCB0aGVtZSBhcyBzZWVuIG9uIGdpdGh1Yi5jb21cbiAgQXV0aG9yOiBnaXRodWIuY29tXG4gIE1haW50YWluZXI6IEBIaXJzZVxuICBVcGRhdGVkOiAyMDIxLTA1LTE1XG5cbiAgT3V0ZGF0ZWQgYmFzZSB2ZXJzaW9uOiBodHRwczovL2dpdGh1Yi5jb20vcHJpbWVyL2dpdGh1Yi1zeW50YXgtbGlnaHRcbiAgQ3VycmVudCBjb2xvcnMgdGFrZW4gZnJvbSBHaXRIdWIncyBDU1NcbiovLmhsanN7Y29sb3I6IzI0MjkyZTtiYWNrZ3JvdW5kOiNmZmZ9LmhsanMtZG9jdGFnLC5obGpzLWtleXdvcmQsLmhsanMtbWV0YSAuaGxqcy1rZXl3b3JkLC5obGpzLXRlbXBsYXRlLXRhZywuaGxqcy10ZW1wbGF0ZS12YXJpYWJsZSwuaGxqcy10eXBlLC5obGpzLXZhcmlhYmxlLmxhbmd1YWdlX3tjb2xvcjojZDczYTQ5fS5obGpzLXRpdGxlLC5obGpzLXRpdGxlLmNsYXNzXywuaGxqcy10aXRsZS5jbGFzc18uaW5oZXJpdGVkX18sLmhsanMtdGl0bGUuZnVuY3Rpb25fe2NvbG9yOiM2ZjQyYzF9LmhsanMtYXR0ciwuaGxqcy1hdHRyaWJ1dGUsLmhsanMtbGl0ZXJhbCwuaGxqcy1tZXRhLC5obGpzLW51bWJlciwuaGxqcy1vcGVyYXRvciwuaGxqcy1zZWxlY3Rvci1hdHRyLC5obGpzLXNlbGVjdG9yLWNsYXNzLC5obGpzLXNlbGVjdG9yLWlkLC5obGpzLXZhcmlhYmxle2NvbG9yOiMwMDVjYzV9LmhsanMtbWV0YSAuaGxqcy1zdHJpbmcsLmhsanMtcmVnZXhwLC5obGpzLXN0cmluZ3tjb2xvcjojMDMyZjYyfS5obGpzLWJ1aWx0X2luLC5obGpzLXN5bWJvbHtjb2xvcjojZTM2MjA5fS5obGpzLWNvZGUsLmhsanMtY29tbWVudCwuaGxqcy1mb3JtdWxhe2NvbG9yOiM2YTczN2R9LmhsanMtbmFtZSwuaGxqcy1xdW90ZSwuaGxqcy1zZWxlY3Rvci1wc2V1ZG8sLmhsanMtc2VsZWN0b3ItdGFne2NvbG9yOiMyMjg2M2F9LmhsanMtc3Vic3R7Y29sb3I6IzI0MjkyZX0uaGxqcy1zZWN0aW9ue2NvbG9yOiMwMDVjYzU7Zm9udC13ZWlnaHQ6NzAwfS5obGpzLWJ1bGxldHtjb2xvcjojNzM1YzBmfS5obGpzLWVtcGhhc2lze2NvbG9yOiMyNDI5MmU7Zm9udC1zdHlsZTppdGFsaWN9LmhsanMtc3Ryb25ne2NvbG9yOiMyNDI5MmU7Zm9udC13ZWlnaHQ6NzAwfS5obGpzLWFkZGl0aW9ue2NvbG9yOiMyMjg2M2E7YmFja2dyb3VuZC1jb2xvcjojZjBmZmY0fS5obGpzLWRlbGV0aW9ue2NvbG9yOiNiMzFkMjg7YmFja2dyb3VuZC1jb2xvcjojZmZlZWYwfSIsInByZSBjb2RlLmhsanN7ZGlzcGxheTpibG9jaztvdmVyZmxvdy14OmF1dG87cGFkZGluZzoxZW19Y29kZS5obGpze3BhZGRpbmc6M3B4IDVweH0vKiFcbiAgVGhlbWU6IEdpdEh1YiBEYXJrXG4gIERlc2NyaXB0aW9uOiBEYXJrIHRoZW1lIGFzIHNlZW4gb24gZ2l0aHViLmNvbVxuICBBdXRob3I6IGdpdGh1Yi5jb21cbiAgTWFpbnRhaW5lcjogQEhpcnNlXG4gIFVwZGF0ZWQ6IDIwMjEtMDUtMTVcblxuICBPdXRkYXRlZCBiYXNlIHZlcnNpb246IGh0dHBzOi8vZ2l0aHViLmNvbS9wcmltZXIvZ2l0aHViLXN5bnRheC1kYXJrXG4gIEN1cnJlbnQgY29sb3JzIHRha2VuIGZyb20gR2l0SHViJ3MgQ1NTXG4qLy5obGpze2NvbG9yOiNjOWQxZDk7YmFja2dyb3VuZDojMGQxMTE3fS5obGpzLWRvY3RhZywuaGxqcy1rZXl3b3JkLC5obGpzLW1ldGEgLmhsanMta2V5d29yZCwuaGxqcy10ZW1wbGF0ZS10YWcsLmhsanMtdGVtcGxhdGUtdmFyaWFibGUsLmhsanMtdHlwZSwuaGxqcy12YXJpYWJsZS5sYW5ndWFnZV97Y29sb3I6I2ZmN2I3Mn0uaGxqcy10aXRsZSwuaGxqcy10aXRsZS5jbGFzc18sLmhsanMtdGl0bGUuY2xhc3NfLmluaGVyaXRlZF9fLC5obGpzLXRpdGxlLmZ1bmN0aW9uX3tjb2xvcjojZDJhOGZmfS5obGpzLWF0dHIsLmhsanMtYXR0cmlidXRlLC5obGpzLWxpdGVyYWwsLmhsanMtbWV0YSwuaGxqcy1udW1iZXIsLmhsanMtb3BlcmF0b3IsLmhsanMtc2VsZWN0b3ItYXR0ciwuaGxqcy1zZWxlY3Rvci1jbGFzcywuaGxqcy1zZWxlY3Rvci1pZCwuaGxqcy12YXJpYWJsZXtjb2xvcjojNzljMGZmfS5obGpzLW1ldGEgLmhsanMtc3RyaW5nLC5obGpzLXJlZ2V4cCwuaGxqcy1zdHJpbmd7Y29sb3I6I2E1ZDZmZn0uaGxqcy1idWlsdF9pbiwuaGxqcy1zeW1ib2x7Y29sb3I6I2ZmYTY1N30uaGxqcy1jb2RlLC5obGpzLWNvbW1lbnQsLmhsanMtZm9ybXVsYXtjb2xvcjojOGI5NDllfS5obGpzLW5hbWUsLmhsanMtcXVvdGUsLmhsanMtc2VsZWN0b3ItcHNldWRvLC5obGpzLXNlbGVjdG9yLXRhZ3tjb2xvcjojN2VlNzg3fS5obGpzLXN1YnN0e2NvbG9yOiNjOWQxZDl9LmhsanMtc2VjdGlvbntjb2xvcjojMWY2ZmViO2ZvbnQtd2VpZ2h0OjcwMH0uaGxqcy1idWxsZXR7Y29sb3I6I2YyY2M2MH0uaGxqcy1lbXBoYXNpc3tjb2xvcjojYzlkMWQ5O2ZvbnQtc3R5bGU6aXRhbGljfS5obGpzLXN0cm9uZ3tjb2xvcjojYzlkMWQ5O2ZvbnQtd2VpZ2h0OjcwMH0uaGxqcy1hZGRpdGlvbntjb2xvcjojYWZmNWI0O2JhY2tncm91bmQtY29sb3I6IzAzM2ExNn0uaGxqcy1kZWxldGlvbntjb2xvcjojZmZkY2Q3O2JhY2tncm91bmQtY29sb3I6IzY3MDYwY30iLCIvKiBEZWZhdWx0IChsaWdodCkgKi9cbkBpbXBvcnQgJ2hpZ2hsaWdodC5qcy9zdHlsZXMvZ2l0aHViLm1pbi5jc3MnIG5vdCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspO1xuXG4vKiBEYXJrIHRoZW1lIHdoZW4gdGhlIHVzZXIgcHJlZmVycyBkYXJrIG1vZGUgKi9cbkBpbXBvcnQgJ2hpZ2hsaWdodC5qcy9zdHlsZXMvZ2l0aHViLWRhcmsubWluLmNzcycgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKTtcblxuLypcbiAqIFRoZSB2ZW5kb3JlZCBHaXRIdWIgZGFyayB0aGVtZSByZW5kZXJzIG1hcmt1cCBoZWFkaW5ncyBhdCAjMWY2ZmViLCB3aGljaCBpc1xuICogb25seSA0LjE6MSBhZ2FpbnN0IHRoZSBjb2RlIGJsb2NrIGJhY2tncm91bmQgaXQgYWN0dWFsbHkgc2l0cyBvbi4gIzM4OGJmZCBpc1xuICogdGhlIG5leHQgc3RlcCB1cCBHaXRIdWIncyBvd24gYmx1ZSByYW1wIGFuZCBjbGVhcnMgNC41OjEgKDUuNzoxKS5cbiAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAuaGxqcy1zZWN0aW9uIHtcbiAgICBjb2xvcjogIzM4OGJmZDtcbiAgfVxufVxuXG4vKiBDb21tZW50cyBpbiBNb25hc3BhY2UgUmFkb247IGFsbCBNb25hc3BhY2UgdmFyaWFudHMgc2hhcmUgbWV0cmljcywgc28gYWxpZ25tZW50IGlzIHByZXNlcnZlZCAqL1xuLmhsanMtY29tbWVudCxcbi5obGpzLXF1b3RlIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbW9uby1jb21tZW50KTtcbn1cbiIsIi8qISB0YWlsd2luZGNzcyB2NC4zLjMgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tICovXG5Ac2NvcGUgKC5wYWdlLTQwNCkge1xuICA6c2NvcGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgfVxuICAucGFnZS00MDRfX2hlcm8ge1xuICAgIG1heC13aWR0aDogNzBjaDtcbiAgfVxuICAucGFnZS00MDRfX2ludHJvIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIHRleHQtd3JhcDogcHJldHR5O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICBhbmltYXRpb246IHBhZ2UtNDA0LXBvcCA5MDBtcyB2YXIoLS1zcHJpbmcpIDYwbXMgYm90aDtcbiAgfVxuICAucGFnZS00MDRfX2JvZHkge1xuICAgIG1heC13aWR0aDogNzBjaDtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbXV0ZWQpO1xuICAgIHRleHQtd3JhcDogcHJldHR5O1xuICAgIGFuaW1hdGlvbjogcGFnZS00MDQtcG9wIDkwMG1zIHZhcigtLXNwcmluZykgMTIwbXMgYm90aDtcbiAgICBhOm5vdCg6aG92ZXIpIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgICB9XG4gIH1cbiAgLnBhZ2UtNDA0X19ydWxlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgaGVpZ2h0OiB2YXIoLS1oYWlybGluZSk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJvcmRlci1saWdodCk7XG4gIH1cbn1cbi5wYWdlLTQwNF9fbnVtZXJhbCB7XG4gIHdpZHRoOiBtYXgtY29udGVudDtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiBjbGFtcCg5cmVtLCAxNXZ3LCAxNHJlbSk7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1hY2NlbnQtbXV0ZWQpO1xuICB0ZXh0LXNoYWRvdzogMCAzLjVweCA2cHggb2tsY2goMCUgMCAwIC8gMC4wOSk7XG4gIGFuaW1hdGlvbjogcGFnZS00MDQtcG9wIDkwMG1zIHZhcigtLXNwcmluZykgYm90aDtcbn1cbkBrZXlmcmFtZXMgcGFnZS00MDQtcG9wIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBzY2FsZTogMC44NTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgLnBhZ2UtNDA0X19udW1lcmFsLCAucGFnZS00MDRfX2ludHJvLCAucGFnZS00MDRfX2JvZHkge1xuICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/