/* src/index.css */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root,
  :host {
    --font-sans:
      ui-sans-serif,
      system-ui,
      sans-serif,
      "Apple Color Emoji",
      "Segoe UI Emoji",
      "Segoe UI Symbol",
      "Noto Color Emoji";
    --font-mono:
      ui-monospace,
      SFMono-Regular,
      Menlo,
      Monaco,
      Consolas,
      "Liberation Mono",
      "Courier New",
      monospace;
    --color-red-50: oklch(97.1% 0.013 17.38);
    --color-red-200: oklch(88.5% 0.062 18.334);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-red-800: oklch(44.4% 0.177 26.899);
    --color-red-900: oklch(39.6% 0.141 25.723);
    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-100: oklch(96.2% 0.059 95.617);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-400: oklch(82.8% 0.189 84.429);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-700: oklch(55.5% 0.163 48.998);
    --color-amber-800: oklch(47.3% 0.137 46.201);
    --color-amber-900: oklch(41.4% 0.112 45.904);
    --color-yellow-500: oklch(79.5% 0.184 86.047);
    --color-green-50: oklch(98.2% 0.018 155.826);
    --color-green-200: oklch(92.5% 0.084 155.995);
    --color-green-400: oklch(79.2% 0.209 151.711);
    --color-green-500: oklch(72.3% 0.219 149.579);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-800: oklch(44.8% 0.119 151.328);
    --color-green-900: oklch(39.3% 0.095 152.535);
    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-200: oklch(88.2% 0.059 254.128);
    --color-blue-300: oklch(80.9% 0.105 251.813);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-blue-800: oklch(42.4% 0.199 265.638);
    --color-blue-900: oklch(37.9% 0.146 265.522);
    --color-purple-500: oklch(62.7% 0.265 303.9);
    --color-zinc-50: oklch(98.5% 0 0);
    --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-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-5xl: 64rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -0.025em;
    --tracking-wide: 0.025em;
    --leading-tight: 1.25;
    --leading-relaxed: 1.625;
    --radius-sm: 0.25rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    --blur-lg: 16px;
    --blur-xl: 24px;
    --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);
  }
}
@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%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, 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 {
    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;
  }
  ::-moz-placeholder {
    opacity: 1;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
    ::-moz-placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
    ::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 {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden=until-found])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .invisible {
    visibility: hidden;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .-top-2 {
    top: calc(var(--spacing) * -2);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1 {
    top: calc(var(--spacing) * 1);
  }
  .top-full {
    top: 100%;
  }
  .-right-2 {
    right: calc(var(--spacing) * -2);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .bottom-24 {
    bottom: calc(var(--spacing) * 24);
  }
  .bottom-full {
    bottom: 100%;
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-1 {
    left: calc(var(--spacing) * 1);
  }
  .left-1\/2 {
    left: calc(1 / 2 * 100%);
  }
  .left-6 {
    left: calc(var(--spacing) * 6);
  }
  .z-40 {
    z-index: 40;
  }
  .z-50 {
    z-index: 50;
  }
  .mx-2 {
    margin-inline: calc(var(--spacing) * 2);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-4 {
    margin-block: calc(var(--spacing) * 4);
  }
  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-16 {
    margin-top: calc(var(--spacing) * 16);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .mb-10 {
    margin-bottom: calc(var(--spacing) * 10);
  }
  .mb-12 {
    margin-bottom: calc(var(--spacing) * 12);
  }
  .mb-16 {
    margin-bottom: calc(var(--spacing) * 16);
  }
  .mb-28 {
    margin-bottom: calc(var(--spacing) * 28);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .ml-auto {
    margin-left: auto;
  }
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-block {
    display: inline-block;
  }
  .table {
    display: table;
  }
  .h-1 {
    height: calc(var(--spacing) * 1);
  }
  .h-2 {
    height: calc(var(--spacing) * 2);
  }
  .h-3 {
    height: calc(var(--spacing) * 3);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-9 {
    height: calc(var(--spacing) * 9);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-12 {
    height: calc(var(--spacing) * 12);
  }
  .h-14 {
    height: calc(var(--spacing) * 14);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-28 {
    height: calc(var(--spacing) * 28);
  }
  .h-64 {
    height: calc(var(--spacing) * 64);
  }
  .h-\[calc\(100\%-64px\)\] {
    height: calc(100% - 64px);
  }
  .h-full {
    height: 100%;
  }
  .h-px {
    height: 1px;
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-9 {
    width: calc(var(--spacing) * 9);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-14 {
    width: calc(var(--spacing) * 14);
  }
  .w-16 {
    width: calc(var(--spacing) * 16);
  }
  .w-28 {
    width: calc(var(--spacing) * 28);
  }
  .w-80 {
    width: calc(var(--spacing) * 80);
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-none {
    max-width: none;
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-none {
    flex: none;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-x-full {
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-0 {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .rotate-180 {
    rotate: 180deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-ping {
    animation: var(--animate-ping);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .cursor-wait {
    cursor: wait;
  }
  .resize-none {
    resize: none;
  }
  .resize-y {
    resize: vertical;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .space-y-3 {
    :where(& > :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)));
    }
  }
  .space-y-4 {
    :where(& > :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)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-6 {
    -moz-column-gap: calc(var(--spacing) * 6);
    column-gap: calc(var(--spacing) * 6);
  }
  .space-x-4 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 4) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .gap-y-2 {
    row-gap: calc(var(--spacing) * 2);
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-sm {
    border-radius: var(--radius-sm);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-4 {
    border-style: var(--tw-border-style);
    border-width: 4px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-none {
    --tw-border-style: none;
    border-style: none;
  }
  .border-amber-200 {
    border-color: var(--color-amber-200);
  }
  .border-blue-200 {
    border-color: var(--color-blue-200);
  }
  .border-blue-400 {
    border-color: var(--color-blue-400);
  }
  .border-blue-500 {
    border-color: var(--color-blue-500);
  }
  .border-current {
    border-color: currentcolor;
  }
  .border-green-200 {
    border-color: var(--color-green-200);
  }
  .border-green-500 {
    border-color: var(--color-green-500);
  }
  .border-green-500\/20 {
    border-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
    }
  }
  .border-red-200 {
    border-color: var(--color-red-200);
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-white {
    border-color: var(--color-white);
  }
  .border-zinc-200 {
    border-color: var(--color-zinc-200);
  }
  .border-zinc-300 {
    border-color: var(--color-zinc-300);
  }
  .border-zinc-400 {
    border-color: var(--color-zinc-400);
  }
  .border-zinc-700 {
    border-color: var(--color-zinc-700);
  }
  .border-zinc-800 {
    border-color: var(--color-zinc-800);
  }
  .border-t-transparent {
    border-top-color: transparent;
  }
  .border-t-zinc-900 {
    border-top-color: var(--color-zinc-900);
  }
  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }
  .bg-amber-100 {
    background-color: var(--color-amber-100);
  }
  .bg-black\/50 {
    background-color: color-mix(in srgb, #000 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }
  .bg-blue-50 {
    background-color: var(--color-blue-50);
  }
  .bg-blue-100 {
    background-color: var(--color-blue-100);
  }
  .bg-blue-400 {
    background-color: var(--color-blue-400);
  }
  .bg-blue-400\/20 {
    background-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-400) 20%, transparent);
    }
  }
  .bg-blue-400\/30 {
    background-color: color-mix(in srgb, oklch(70.7% 0.165 254.624) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-400) 30%, transparent);
    }
  }
  .bg-blue-500 {
    background-color: var(--color-blue-500);
  }
  .bg-blue-500\/10 {
    background-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-blue-500) 10%, transparent);
    }
  }
  .bg-green-50 {
    background-color: var(--color-green-50);
  }
  .bg-green-500 {
    background-color: var(--color-green-500);
  }
  .bg-green-500\/10 {
    background-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-green-500) 10%, transparent);
    }
  }
  .bg-red-50 {
    background-color: var(--color-red-50);
  }
  .bg-red-500 {
    background-color: var(--color-red-500);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/20 {
    background-color: color-mix(in srgb, #fff 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }
  .bg-zinc-100 {
    background-color: var(--color-zinc-100);
  }
  .bg-zinc-200 {
    background-color: var(--color-zinc-200);
  }
  .bg-zinc-300 {
    background-color: var(--color-zinc-300);
  }
  .bg-zinc-800 {
    background-color: var(--color-zinc-800);
  }
  .bg-zinc-900 {
    background-color: var(--color-zinc-900);
  }
  .bg-zinc-950 {
    background-color: var(--color-zinc-950);
  }
  .bg-zinc-950\/80 {
    background-color: color-mix(in srgb, oklch(14.1% 0.005 285.823) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-zinc-950) 80%, transparent);
    }
  }
  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-blue-400 {
    --tw-gradient-from: var(--color-blue-400);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .from-blue-500 {
    --tw-gradient-from: var(--color-blue-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-blue-600 {
    --tw-gradient-to: var(--color-blue-600);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .to-purple-500 {
    --tw-gradient-to: var(--color-purple-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-10 {
    padding-inline: calc(var(--spacing) * 10);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .py-20 {
    padding-block: calc(var(--spacing) * 20);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pt-32 {
    padding-top: calc(var(--spacing) * 32);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-10 {
    padding-bottom: calc(var(--spacing) * 10);
  }
  .pb-56 {
    padding-bottom: calc(var(--spacing) * 56);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
  .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-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .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);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-amber-500 {
    color: var(--color-amber-500);
  }
  .text-amber-600 {
    color: var(--color-amber-600);
  }
  .text-amber-700 {
    color: var(--color-amber-700);
  }
  .text-amber-800 {
    color: var(--color-amber-800);
  }
  .text-blue-200 {
    color: var(--color-blue-200);
  }
  .text-blue-400 {
    color: var(--color-blue-400);
  }
  .text-blue-500 {
    color: var(--color-blue-500);
  }
  .text-blue-600 {
    color: var(--color-blue-600);
  }
  .text-blue-700 {
    color: var(--color-blue-700);
  }
  .text-blue-800 {
    color: var(--color-blue-800);
  }
  .text-green-400 {
    color: var(--color-green-400);
  }
  .text-green-500 {
    color: var(--color-green-500);
  }
  .text-green-600 {
    color: var(--color-green-600);
  }
  .text-green-800 {
    color: var(--color-green-800);
  }
  .text-red-400 {
    color: var(--color-red-400);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/70 {
    color: color-mix(in srgb, #fff 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }
  .text-yellow-500 {
    color: var(--color-yellow-500);
  }
  .text-zinc-300 {
    color: var(--color-zinc-300);
  }
  .text-zinc-400 {
    color: var(--color-zinc-400);
  }
  .text-zinc-500 {
    color: var(--color-zinc-500);
  }
  .text-zinc-600 {
    color: var(--color-zinc-600);
  }
  .text-zinc-700 {
    color: var(--color-zinc-700);
  }
  .text-zinc-900 {
    color: var(--color-zinc-900);
  }
  .uppercase {
    text-transform: uppercase;
  }
  .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;
  }
  .placeholder-zinc-500 {
    &::-moz-placeholder {
      color: var(--color-zinc-500);
    }
    &::placeholder {
      color: var(--color-zinc-500);
    }
  }
  .accent-blue-500 {
    accent-color: var(--color-blue-500);
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-20 {
    opacity: 20%;
  }
  .opacity-40 {
    opacity: 40%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-100 {
    opacity: 100%;
  }
  .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);
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    box-shadow:
      var(--tw-inset-shadow),
      var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow),
      var(--tw-ring-shadow),
      var(--tw-shadow);
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px 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);
  }
  .ring-2 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow:
      var(--tw-inset-shadow),
      var(--tw-inset-ring-shadow),
      var(--tw-ring-offset-shadow),
      var(--tw-ring-shadow),
      var(--tw-shadow);
  }
  .shadow-blue-500\/30 {
    --tw-shadow-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-blue-500) 30%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .ring-blue-500 {
    --tw-ring-color: var(--color-blue-500);
  }
  .blur-xl {
    --tw-blur: blur(var(--blur-xl));
    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,);
  }
  .backdrop-blur-lg {
    --tw-backdrop-blur: blur(var(--blur-lg));
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .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,
      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-all {
    transition-property: all;
    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-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .outline-none {
    --tw-outline-style: none;
    outline-style: none;
  }
  .group-hover\:opacity-100 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .hover\:scale-105 {
    &:hover {
      @media (hover: hover) {
        --tw-scale-x: 105%;
        --tw-scale-y: 105%;
        --tw-scale-z: 105%;
        scale: var(--tw-scale-x) var(--tw-scale-y);
      }
    }
  }
  .hover\:bg-blue-500\/20 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
        }
      }
    }
  }
  .hover\:bg-blue-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-600);
      }
    }
  }
  .hover\:bg-green-500\/20 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(72.3% 0.219 149.579) 20%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
        }
      }
    }
  }
  .hover\:bg-red-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-600);
      }
    }
  }
  .hover\:bg-zinc-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-zinc-50);
      }
    }
  }
  .hover\:bg-zinc-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-zinc-100);
      }
    }
  }
  .hover\:bg-zinc-200 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-zinc-200);
      }
    }
  }
  .hover\:bg-zinc-300 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-zinc-300);
      }
    }
  }
  .hover\:bg-zinc-800 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-zinc-800);
      }
    }
  }
  .hover\:bg-zinc-900\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(21% 0.006 285.885) 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-zinc-900) 50%, transparent);
        }
      }
    }
  }
  .hover\:from-blue-500 {
    &:hover {
      @media (hover: hover) {
        --tw-gradient-from: var(--color-blue-500);
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
      }
    }
  }
  .hover\:to-blue-700 {
    &:hover {
      @media (hover: hover) {
        --tw-gradient-to: var(--color-blue-700);
        --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
      }
    }
  }
  .hover\:text-blue-300 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-blue-300);
      }
    }
  }
  .hover\:text-red-400 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-400);
      }
    }
  }
  .hover\:text-red-500 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-500);
      }
    }
  }
  .hover\:text-white {
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .hover\:text-zinc-300 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-zinc-300);
      }
    }
  }
  .hover\:text-zinc-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-zinc-600);
      }
    }
  }
  .hover\:text-zinc-700 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-zinc-700);
      }
    }
  }
  .hover\:no-underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: none;
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .hover\:opacity-80 {
    &:hover {
      @media (hover: hover) {
        opacity: 80%;
      }
    }
  }
  .focus\:border-blue-500 {
    &:focus {
      border-color: var(--color-blue-500);
    }
  }
  .focus\:ring-2 {
    &:focus {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow:
        var(--tw-inset-shadow),
        var(--tw-inset-ring-shadow),
        var(--tw-ring-offset-shadow),
        var(--tw-ring-shadow),
        var(--tw-shadow);
    }
  }
  .focus\:ring-blue-500 {
    &:focus {
      --tw-ring-color: var(--color-blue-500);
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .focus-visible\:outline-2 {
    &:focus-visible {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
    }
  }
  .focus-visible\:outline-blue-500 {
    &:focus-visible {
      outline-color: var(--color-blue-500);
    }
  }
  .active\:scale-95 {
    &:active {
      --tw-scale-x: 95%;
      --tw-scale-y: 95%;
      --tw-scale-z: 95%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .disabled\:cursor-not-allowed {
    &:disabled {
      cursor: not-allowed;
    }
  }
  .disabled\:bg-zinc-400 {
    &:disabled {
      background-color: var(--color-zinc-400);
    }
  }
  .disabled\:bg-zinc-700 {
    &:disabled {
      background-color: var(--color-zinc-700);
    }
  }
  .disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
  .sm\:hidden {
    @media (width >= 40rem) {
      display: none;
    }
  }
  .sm\:inline {
    @media (width >= 40rem) {
      display: inline;
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:text-6xl {
    @media (width >= 48rem) {
      font-size: var(--text-6xl);
      line-height: var(--tw-leading, var(--text-6xl--line-height));
    }
  }
  .dark\:border-amber-800 {
    @media (prefers-color-scheme: dark) {
      border-color: var(--color-amber-800);
    }
  }
  .dark\:border-blue-800 {
    @media (prefers-color-scheme: dark) {
      border-color: var(--color-blue-800);
    }
  }
  .dark\:border-green-800 {
    @media (prefers-color-scheme: dark) {
      border-color: var(--color-green-800);
    }
  }
  .dark\:border-red-800 {
    @media (prefers-color-scheme: dark) {
      border-color: var(--color-red-800);
    }
  }
  .dark\:border-zinc-700 {
    @media (prefers-color-scheme: dark) {
      border-color: var(--color-zinc-700);
    }
  }
  .dark\:border-zinc-800 {
    @media (prefers-color-scheme: dark) {
      border-color: var(--color-zinc-800);
    }
  }
  .dark\:border-t-zinc-100 {
    @media (prefers-color-scheme: dark) {
      border-top-color: var(--color-zinc-100);
    }
  }
  .dark\:bg-amber-900\/20 {
    @media (prefers-color-scheme: dark) {
      background-color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-amber-900) 20%, transparent);
      }
    }
  }
  .dark\:bg-amber-900\/30 {
    @media (prefers-color-scheme: dark) {
      background-color: color-mix(in srgb, oklch(41.4% 0.112 45.904) 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-amber-900) 30%, transparent);
      }
    }
  }
  .dark\:bg-blue-500\/20 {
    @media (prefers-color-scheme: dark) {
      background-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-blue-500) 20%, transparent);
      }
    }
  }
  .dark\:bg-blue-500\/30 {
    @media (prefers-color-scheme: dark) {
      background-color: color-mix(in srgb, oklch(62.3% 0.214 259.815) 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-blue-500) 30%, transparent);
      }
    }
  }
  .dark\:bg-blue-900\/20 {
    @media (prefers-color-scheme: dark) {
      background-color: color-mix(in srgb, oklch(37.9% 0.146 265.522) 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-blue-900) 20%, transparent);
      }
    }
  }
  .dark\:bg-blue-900\/30 {
    @media (prefers-color-scheme: dark) {
      background-color: color-mix(in srgb, oklch(37.9% 0.146 265.522) 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-blue-900) 30%, transparent);
      }
    }
  }
  .dark\:bg-green-900\/20 {
    @media (prefers-color-scheme: dark) {
      background-color: color-mix(in srgb, oklch(39.3% 0.095 152.535) 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-green-900) 20%, transparent);
      }
    }
  }
  .dark\:bg-red-900\/20 {
    @media (prefers-color-scheme: dark) {
      background-color: color-mix(in srgb, oklch(39.6% 0.141 25.723) 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-red-900) 20%, transparent);
      }
    }
  }
  .dark\:bg-zinc-100 {
    @media (prefers-color-scheme: dark) {
      background-color: var(--color-zinc-100);
    }
  }
  .dark\:bg-zinc-700 {
    @media (prefers-color-scheme: dark) {
      background-color: var(--color-zinc-700);
    }
  }
  .dark\:bg-zinc-800 {
    @media (prefers-color-scheme: dark) {
      background-color: var(--color-zinc-800);
    }
  }
  .dark\:bg-zinc-900 {
    @media (prefers-color-scheme: dark) {
      background-color: var(--color-zinc-900);
    }
  }
  .dark\:bg-zinc-950 {
    @media (prefers-color-scheme: dark) {
      background-color: var(--color-zinc-950);
    }
  }
  .dark\:text-amber-200 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-amber-200);
    }
  }
  .dark\:text-amber-400 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-amber-400);
    }
  }
  .dark\:text-blue-200 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-blue-200);
    }
  }
  .dark\:text-blue-300 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-blue-300);
    }
  }
  .dark\:text-blue-400 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-blue-400);
    }
  }
  .dark\:text-green-200 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-green-200);
    }
  }
  .dark\:text-green-400 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-green-400);
    }
  }
  .dark\:text-red-400 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-red-400);
    }
  }
  .dark\:text-white {
    @media (prefers-color-scheme: dark) {
      color: var(--color-white);
    }
  }
  .dark\:text-zinc-200 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-zinc-200);
    }
  }
  .dark\:text-zinc-300 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-zinc-300);
    }
  }
  .dark\:text-zinc-400 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-zinc-400);
    }
  }
  .dark\:text-zinc-900 {
    @media (prefers-color-scheme: dark) {
      color: var(--color-zinc-900);
    }
  }
  .dark\:hover\:bg-zinc-700 {
    @media (prefers-color-scheme: dark) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-zinc-700);
        }
      }
    }
  }
  .dark\:hover\:bg-zinc-800 {
    @media (prefers-color-scheme: dark) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-zinc-800);
        }
      }
    }
  }
  .dark\:hover\:text-zinc-200 {
    @media (prefers-color-scheme: dark) {
      &:hover {
        @media (hover: hover) {
          color: var(--color-zinc-200);
        }
      }
    }
  }
  .dark\:hover\:text-zinc-300 {
    @media (prefers-color-scheme: dark) {
      &:hover {
        @media (hover: hover) {
          color: var(--color-zinc-300);
        }
      }
    }
  }
}
@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
.animate-fade-in {
  animation: fade-in 0.2s ease-out forwards;
}
@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-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-space-y-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-space-x-reverse { syntax: "*"; inherits: false; initial-value: 0; }
@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }
@property --tw-gradient-position { syntax: "*"; inherits: false; }
@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }
@property --tw-gradient-stops { syntax: "*"; inherits: false; }
@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }
@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }
@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }
@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }
@property --tw-leading { syntax: "*"; inherits: false; }
@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-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-backdrop-blur { syntax: "*"; inherits: false; }
@property --tw-backdrop-brightness { syntax: "*"; inherits: false; }
@property --tw-backdrop-contrast { syntax: "*"; inherits: false; }
@property --tw-backdrop-grayscale { syntax: "*"; inherits: false; }
@property --tw-backdrop-hue-rotate { syntax: "*"; inherits: false; }
@property --tw-backdrop-invert { syntax: "*"; inherits: false; }
@property --tw-backdrop-opacity { syntax: "*"; inherits: false; }
@property --tw-backdrop-saturate { syntax: "*"; inherits: false; }
@property --tw-backdrop-sepia { syntax: "*"; inherits: false; }
@property --tw-duration { syntax: "*"; inherits: false; }
@property --tw-ease { syntax: "*"; inherits: false; }
@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }
@property --tw-outline-style { syntax: "*"; inherits: false; initial-value: solid; }
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
@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-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --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-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-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-outline-style: solid;
    }
  }
}

/* frontend/src/features/player/reader.css */
.bolo-reader {
  padding: 1.5rem 0 3rem;
}
.reader-heading {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  justify-content: space-between;
  border-bottom: 1px solid #e4e4e7;
  padding-bottom: 1.25rem;
}
.reader-heading h2 {
  font-size: 1.15rem;
  font-weight: 650;
}
.reader-heading p,
.reader-footer {
  font-size: .8rem;
  color: #71717a;
  margin-top: .35rem;
}
.reader-follow {
  color: #2563eb;
  font-size: .8rem;
  flex-shrink: 0;
  padding: .4rem .2rem;
}
.reader-prose {
  font:
    1.2rem/1.95 Georgia,
    "Times New Roman",
    serif;
  margin: 1.75rem 0;
  overflow-wrap: anywhere;
}
.reader-prose p {
  margin: 0 0 1.2em;
}
.reader-sentence {
  border-radius: 3px;
  cursor: pointer;
  -moz-user-select: text;
  user-select: text;
  -webkit-user-select: text;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  padding: .12em 0;
  transition: background-color 120ms;
  scroll-margin: 120px;
}
.reader-sentence:hover {
  background: #eff6ff;
}
.reader-sentence.is-current {
  background: #dbeafe;
  color: #1e3a8a;
}
.reader-sentence.is-pending {
  opacity: .4;
  cursor: default;
}
.reader-sentence:focus-visible,
.reader-follow:focus-visible,
.reader-selection button:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 4px;
}
.reader-selection {
  position: sticky;
  top: 1rem;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  margin-top: 1rem;
  padding: .7rem 1rem;
  background: #18181b;
  color: white;
  border-radius: 8px;
  font-size: .8rem;
  box-shadow: 0 4px 16px #0002;
}
.reader-selection button {
  background: #2563eb;
  color: white;
  padding: .45rem .7rem;
  border-radius: 5px;
}
.reader-selection button:disabled {
  opacity: .4;
}
.reader-footer {
  border-top: 1px solid #e4e4e7;
  padding-top: 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}
.reader-footer button {
  color: #2563eb;
  white-space: nowrap;
}
.dark .reader-heading,
.dark .reader-footer {
  border-color: #27272a;
}
.dark .reader-sentence:hover {
  background: #172554;
}
.dark .reader-sentence.is-current {
  background: #1e3a8a;
  color: #eff6ff;
}
@media (max-width:480px) {
  .reader-heading {
    flex-wrap: wrap;
    gap: .5rem;
  }
  .reader-prose {
    font-size: 1.12rem;
  }
}
@media (prefers-reduced-motion:reduce) {
  .reader-sentence {
    transition: none;
  }
}
.reader-word {
  cursor: pointer;
  border-radius: 3px;
}
.reader-word:hover {
  background: #eff6ff;
}
.reader-word.is-current {
  background: #dbeafe;
  color: #1d4ed8;
}
.reader-word:focus-visible {
  outline: 2px solid #2563eb;
  outline-offset: 2px;
}
.dark .reader-word:hover {
  background: #172554;
}
.dark .reader-word.is-current {
  background: #1e3a8a;
  color: #dbeafe;
}
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
/*# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2luZGV4LmNzcyIsICIuLi9mcm9udGVuZC9zcmMvZmVhdHVyZXMvcGxheWVyL3JlYWRlci5jc3MiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qISB0YWlsd2luZGNzcyB2NC4zLjAgfCBNSVQgTGljZW5zZSB8IGh0dHBzOi8vdGFpbHdpbmRjc3MuY29tICovXG5AbGF5ZXIgcHJvcGVydGllcztcbkBsYXllciB0aGVtZSwgYmFzZSwgY29tcG9uZW50cywgdXRpbGl0aWVzO1xuQGxheWVyIHRoZW1lIHtcbiAgOnJvb3QsIDpob3N0IHtcbiAgICAtLWZvbnQtc2FuczogdWktc2Fucy1zZXJpZiwgc3lzdGVtLXVpLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsXG4gICAgICBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgIC0tZm9udC1tb25vOiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIixcbiAgICAgIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuICAgIC0tY29sb3ItcmVkLTUwOiBva2xjaCg5Ny4xJSAwLjAxMyAxNy4zOCk7XG4gICAgLS1jb2xvci1yZWQtMjAwOiBva2xjaCg4OC41JSAwLjA2MiAxOC4zMzQpO1xuICAgIC0tY29sb3ItcmVkLTQwMDogb2tsY2goNzAuNCUgMC4xOTEgMjIuMjE2KTtcbiAgICAtLWNvbG9yLXJlZC01MDA6IG9rbGNoKDYzLjclIDAuMjM3IDI1LjMzMSk7XG4gICAgLS1jb2xvci1yZWQtNjAwOiBva2xjaCg1Ny43JSAwLjI0NSAyNy4zMjUpO1xuICAgIC0tY29sb3ItcmVkLTgwMDogb2tsY2goNDQuNCUgMC4xNzcgMjYuODk5KTtcbiAgICAtLWNvbG9yLXJlZC05MDA6IG9rbGNoKDM5LjYlIDAuMTQxIDI1LjcyMyk7XG4gICAgLS1jb2xvci1hbWJlci01MDogb2tsY2goOTguNyUgMC4wMjIgOTUuMjc3KTtcbiAgICAtLWNvbG9yLWFtYmVyLTEwMDogb2tsY2goOTYuMiUgMC4wNTkgOTUuNjE3KTtcbiAgICAtLWNvbG9yLWFtYmVyLTIwMDogb2tsY2goOTIuNCUgMC4xMiA5NS43NDYpO1xuICAgIC0tY29sb3ItYW1iZXItNDAwOiBva2xjaCg4Mi44JSAwLjE4OSA4NC40MjkpO1xuICAgIC0tY29sb3ItYW1iZXItNTAwOiBva2xjaCg3Ni45JSAwLjE4OCA3MC4wOCk7XG4gICAgLS1jb2xvci1hbWJlci02MDA6IG9rbGNoKDY2LjYlIDAuMTc5IDU4LjMxOCk7XG4gICAgLS1jb2xvci1hbWJlci03MDA6IG9rbGNoKDU1LjUlIDAuMTYzIDQ4Ljk5OCk7XG4gICAgLS1jb2xvci1hbWJlci04MDA6IG9rbGNoKDQ3LjMlIDAuMTM3IDQ2LjIwMSk7XG4gICAgLS1jb2xvci1hbWJlci05MDA6IG9rbGNoKDQxLjQlIDAuMTEyIDQ1LjkwNCk7XG4gICAgLS1jb2xvci15ZWxsb3ctNTAwOiBva2xjaCg3OS41JSAwLjE4NCA4Ni4wNDcpO1xuICAgIC0tY29sb3ItZ3JlZW4tNTA6IG9rbGNoKDk4LjIlIDAuMDE4IDE1NS44MjYpO1xuICAgIC0tY29sb3ItZ3JlZW4tMjAwOiBva2xjaCg5Mi41JSAwLjA4NCAxNTUuOTk1KTtcbiAgICAtLWNvbG9yLWdyZWVuLTQwMDogb2tsY2goNzkuMiUgMC4yMDkgMTUxLjcxMSk7XG4gICAgLS1jb2xvci1ncmVlbi01MDA6IG9rbGNoKDcyLjMlIDAuMjE5IDE0OS41NzkpO1xuICAgIC0tY29sb3ItZ3JlZW4tNjAwOiBva2xjaCg2Mi43JSAwLjE5NCAxNDkuMjE0KTtcbiAgICAtLWNvbG9yLWdyZWVuLTgwMDogb2tsY2goNDQuOCUgMC4xMTkgMTUxLjMyOCk7XG4gICAgLS1jb2xvci1ncmVlbi05MDA6IG9rbGNoKDM5LjMlIDAuMDk1IDE1Mi41MzUpO1xuICAgIC0tY29sb3ItYmx1ZS01MDogb2tsY2goOTclIDAuMDE0IDI1NC42MDQpO1xuICAgIC0tY29sb3ItYmx1ZS0xMDA6IG9rbGNoKDkzLjIlIDAuMDMyIDI1NS41ODUpO1xuICAgIC0tY29sb3ItYmx1ZS0yMDA6IG9rbGNoKDg4LjIlIDAuMDU5IDI1NC4xMjgpO1xuICAgIC0tY29sb3ItYmx1ZS0zMDA6IG9rbGNoKDgwLjklIDAuMTA1IDI1MS44MTMpO1xuICAgIC0tY29sb3ItYmx1ZS00MDA6IG9rbGNoKDcwLjclIDAuMTY1IDI1NC42MjQpO1xuICAgIC0tY29sb3ItYmx1ZS01MDA6IG9rbGNoKDYyLjMlIDAuMjE0IDI1OS44MTUpO1xuICAgIC0tY29sb3ItYmx1ZS02MDA6IG9rbGNoKDU0LjYlIDAuMjQ1IDI2Mi44ODEpO1xuICAgIC0tY29sb3ItYmx1ZS03MDA6IG9rbGNoKDQ4LjglIDAuMjQzIDI2NC4zNzYpO1xuICAgIC0tY29sb3ItYmx1ZS04MDA6IG9rbGNoKDQyLjQlIDAuMTk5IDI2NS42MzgpO1xuICAgIC0tY29sb3ItYmx1ZS05MDA6IG9rbGNoKDM3LjklIDAuMTQ2IDI2NS41MjIpO1xuICAgIC0tY29sb3ItcHVycGxlLTUwMDogb2tsY2goNjIuNyUgMC4yNjUgMzAzLjkpO1xuICAgIC0tY29sb3ItemluYy01MDogb2tsY2goOTguNSUgMCAwKTtcbiAgICAtLWNvbG9yLXppbmMtMTAwOiBva2xjaCg5Ni43JSAwLjAwMSAyODYuMzc1KTtcbiAgICAtLWNvbG9yLXppbmMtMjAwOiBva2xjaCg5MiUgMC4wMDQgMjg2LjMyKTtcbiAgICAtLWNvbG9yLXppbmMtMzAwOiBva2xjaCg4Ny4xJSAwLjAwNiAyODYuMjg2KTtcbiAgICAtLWNvbG9yLXppbmMtNDAwOiBva2xjaCg3MC41JSAwLjAxNSAyODYuMDY3KTtcbiAgICAtLWNvbG9yLXppbmMtNTAwOiBva2xjaCg1NS4yJSAwLjAxNiAyODUuOTM4KTtcbiAgICAtLWNvbG9yLXppbmMtNjAwOiBva2xjaCg0NC4yJSAwLjAxNyAyODUuNzg2KTtcbiAgICAtLWNvbG9yLXppbmMtNzAwOiBva2xjaCgzNyUgMC4wMTMgMjg1LjgwNSk7XG4gICAgLS1jb2xvci16aW5jLTgwMDogb2tsY2goMjcuNCUgMC4wMDYgMjg2LjAzMyk7XG4gICAgLS1jb2xvci16aW5jLTkwMDogb2tsY2goMjElIDAuMDA2IDI4NS44ODUpO1xuICAgIC0tY29sb3ItemluYy05NTA6IG9rbGNoKDE0LjElIDAuMDA1IDI4NS44MjMpO1xuICAgIC0tY29sb3ItYmxhY2s6ICMwMDA7XG4gICAgLS1jb2xvci13aGl0ZTogI2ZmZjtcbiAgICAtLXNwYWNpbmc6IDAuMjVyZW07XG4gICAgLS1jb250YWluZXItc206IDI0cmVtO1xuICAgIC0tY29udGFpbmVyLW1kOiAyOHJlbTtcbiAgICAtLWNvbnRhaW5lci0yeGw6IDQycmVtO1xuICAgIC0tY29udGFpbmVyLTN4bDogNDhyZW07XG4gICAgLS1jb250YWluZXItNXhsOiA2NHJlbTtcbiAgICAtLXRleHQteHM6IDAuNzVyZW07XG4gICAgLS10ZXh0LXhzLS1saW5lLWhlaWdodDogY2FsYygxIC8gMC43NSk7XG4gICAgLS10ZXh0LXNtOiAwLjg3NXJlbTtcbiAgICAtLXRleHQtc20tLWxpbmUtaGVpZ2h0OiBjYWxjKDEuMjUgLyAwLjg3NSk7XG4gICAgLS10ZXh0LWxnOiAxLjEyNXJlbTtcbiAgICAtLXRleHQtbGctLWxpbmUtaGVpZ2h0OiBjYWxjKDEuNzUgLyAxLjEyNSk7XG4gICAgLS10ZXh0LXhsOiAxLjI1cmVtO1xuICAgIC0tdGV4dC14bC0tbGluZS1oZWlnaHQ6IGNhbGMoMS43NSAvIDEuMjUpO1xuICAgIC0tdGV4dC0yeGw6IDEuNXJlbTtcbiAgICAtLXRleHQtMnhsLS1saW5lLWhlaWdodDogY2FsYygyIC8gMS41KTtcbiAgICAtLXRleHQtM3hsOiAxLjg3NXJlbTtcbiAgICAtLXRleHQtM3hsLS1saW5lLWhlaWdodDogY2FsYygyLjI1IC8gMS44NzUpO1xuICAgIC0tdGV4dC01eGw6IDNyZW07XG4gICAgLS10ZXh0LTV4bC0tbGluZS1oZWlnaHQ6IDE7XG4gICAgLS10ZXh0LTZ4bDogMy43NXJlbTtcbiAgICAtLXRleHQtNnhsLS1saW5lLWhlaWdodDogMTtcbiAgICAtLWZvbnQtd2VpZ2h0LW1lZGl1bTogNTAwO1xuICAgIC0tZm9udC13ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcbiAgICAtLWZvbnQtd2VpZ2h0LWJvbGQ6IDcwMDtcbiAgICAtLXRyYWNraW5nLXRpZ2h0OiAtMC4wMjVlbTtcbiAgICAtLXRyYWNraW5nLXdpZGU6IDAuMDI1ZW07XG4gICAgLS1sZWFkaW5nLXRpZ2h0OiAxLjI1O1xuICAgIC0tbGVhZGluZy1yZWxheGVkOiAxLjYyNTtcbiAgICAtLXJhZGl1cy1zbTogMC4yNXJlbTtcbiAgICAtLXJhZGl1cy1sZzogMC41cmVtO1xuICAgIC0tcmFkaXVzLXhsOiAwLjc1cmVtO1xuICAgIC0tcmFkaXVzLTJ4bDogMXJlbTtcbiAgICAtLWVhc2Utb3V0OiBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKTtcbiAgICAtLWFuaW1hdGUtc3Bpbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgLS1hbmltYXRlLXBpbmc6IHBpbmcgMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkgaW5maW5pdGU7XG4gICAgLS1ibHVyLWxnOiAxNnB4O1xuICAgIC0tYmx1ci14bDogMjRweDtcbiAgICAtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XG4gICAgLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIC0tZGVmYXVsdC1mb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTtcbiAgICAtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseTogdmFyKC0tZm9udC1tb25vKTtcbiAgfVxufVxuQGxheWVyIGJhc2Uge1xuICAqLCA6OmFmdGVyLCA6OmJlZm9yZSwgOjpiYWNrZHJvcCwgOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDAgc29saWQ7XG4gIH1cbiAgaHRtbCwgOmhvc3Qge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgIC1tb3otdGFiLXNpemU6IDQ7XG4gICAgICAtby10YWItc2l6ZTogNDtcbiAgICAgICAgIHRhYi1zaXplOiA0O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1kZWZhdWx0LWZvbnQtZmFtaWx5LCB1aS1zYW5zLXNlcmlmLCBzeXN0ZW0tdWksIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIik7XG4gICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiB2YXIoLS1kZWZhdWx0LWZvbnQtZmVhdHVyZS1zZXR0aW5ncywgbm9ybWFsKTtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogdmFyKC0tZGVmYXVsdC1mb250LXZhcmlhdGlvbi1zZXR0aW5ncywgbm9ybWFsKTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIGhyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICB9XG4gIGFiYnI6d2hlcmUoW3RpdGxlXSkge1xuICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgfVxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB9XG4gIGIsIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuICBjb2RlLCBrYmQsIHNhbXAsIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWRlZmF1bHQtbW9uby1mb250LWZhbWlseSwgdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlKTtcbiAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IHZhcigtLWRlZmF1bHQtbW9uby1mb250LWZlYXR1cmUtc2V0dGluZ3MsIG5vcm1hbCk7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6IHZhcigtLWRlZmF1bHQtbW9uby1mb250LXZhcmlhdGlvbi1zZXR0aW5ncywgbm9ybWFsKTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgfVxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cbiAgc3ViLCBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuICB0YWJsZSB7XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cbiAgOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiBhdXRvO1xuICB9XG4gIHByb2dyZXNzIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG4gIG9sLCB1bCwgbWVudSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxuICBpbWcsIHN2ZywgdmlkZW8sIGNhbnZhcywgYXVkaW8sIGlmcmFtZSwgZW1iZWQsIG9iamVjdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICBpbWcsIHZpZGVvIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgb3B0Z3JvdXAsIHRleHRhcmVhLCA6OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogaW5oZXJpdDtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogaW5oZXJpdDtcbiAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgOndoZXJlKHNlbGVjdDppcyhbbXVsdGlwbGVdLCBbc2l6ZV0pKSBvcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuICA6d2hlcmUoc2VsZWN0OmlzKFttdWx0aXBsZV0sIFtzaXplXSkpIG9wdGdyb3VwIG9wdGlvbiB7XG4gICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IDIwcHg7XG4gIH1cbiAgOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWlubGluZS1lbmQ6IDRweDtcbiAgfVxuICA6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgOjpwbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBAc3VwcG9ydHMgKG5vdCAoLXdlYmtpdC1hcHBlYXJhbmNlOiAtYXBwbGUtcGF5LWJ1dHRvbikpICBvciAoY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogMXB4KSB7XG4gICAgOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgY3VycmVudGNvbG9yIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICA6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgY3VycmVudGNvbG9yIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgfVxuICA6Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuICA6Oi13ZWJraXQtZGF0ZS1hbmQtdGltZS12YWx1ZSB7XG4gICAgbWluLWhlaWdodDogMWxoO1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIH1cbiAgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB9XG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LWZpZWxkcy13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC15ZWFyLWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1tb250aC1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtZGF5LWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1ob3VyLWZpZWxkLCA6Oi13ZWJraXQtZGF0ZXRpbWUtZWRpdC1taW51dGUtZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LXNlY29uZC1maWVsZCwgOjotd2Via2l0LWRhdGV0aW1lLWVkaXQtbWlsbGlzZWNvbmQtZmllbGQsIDo6LXdlYmtpdC1kYXRldGltZS1lZGl0LW1lcmlkaWVtLWZpZWxkIHtcbiAgICBwYWRkaW5nLWJsb2NrOiAwO1xuICB9XG4gIDo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICA6LW1vei11aS1pbnZhbGlkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG4gIGJ1dHRvbiwgaW5wdXQ6d2hlcmUoW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFt0eXBlPVwic3VibWl0XCJdKSwgOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBidXR0b247XG4gIH1cbiAgOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCA6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBbaGlkZGVuXTp3aGVyZSg6bm90KFtoaWRkZW49XCJ1bnRpbC1mb3VuZFwiXSkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBsYXllciB1dGlsaXRpZXMge1xuICAucG9pbnRlci1ldmVudHMtbm9uZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC5hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG4gIC5maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIC5yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5zdGF0aWMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgfVxuICAuaW5zZXQtMCB7XG4gICAgaW5zZXQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAwKTtcbiAgfVxuICAuLXRvcC0yIHtcbiAgICB0b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAtMik7XG4gIH1cbiAgLnRvcC0wIHtcbiAgICB0b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAwKTtcbiAgfVxuICAudG9wLTEge1xuICAgIHRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEpO1xuICB9XG4gIC50b3AtZnVsbCB7XG4gICAgdG9wOiAxMDAlO1xuICB9XG4gIC4tcmlnaHQtMiB7XG4gICAgcmlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAtMik7XG4gIH1cbiAgLnJpZ2h0LTAge1xuICAgIHJpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMCk7XG4gIH1cbiAgLmJvdHRvbS0wIHtcbiAgICBib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiAwKTtcbiAgfVxuICAuYm90dG9tLTI0IHtcbiAgICBib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiAyNCk7XG4gIH1cbiAgLmJvdHRvbS1mdWxsIHtcbiAgICBib3R0b206IDEwMCU7XG4gIH1cbiAgLmxlZnQtMCB7XG4gICAgbGVmdDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDApO1xuICB9XG4gIC5sZWZ0LTEge1xuICAgIGxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAxKTtcbiAgfVxuICAubGVmdC0xXFwvMiB7XG4gICAgbGVmdDogY2FsYygxIC8gMiAqIDEwMCUpO1xuICB9XG4gIC5sZWZ0LTYge1xuICAgIGxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiA2KTtcbiAgfVxuICAuei00MCB7XG4gICAgei1pbmRleDogNDA7XG4gIH1cbiAgLnotNTAge1xuICAgIHotaW5kZXg6IDUwO1xuICB9XG4gIC5teC0yIHtcbiAgICBtYXJnaW4taW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMik7XG4gIH1cbiAgLm14LWF1dG8ge1xuICAgIG1hcmdpbi1pbmxpbmU6IGF1dG87XG4gIH1cbiAgLm15LTQge1xuICAgIG1hcmdpbi1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICB9XG4gIC5teS04IHtcbiAgICBtYXJnaW4tYmxvY2s6IGNhbGModmFyKC0tc3BhY2luZykgKiA4KTtcbiAgfVxuICAubXQtMFxcLjUge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAwLjUpO1xuICB9XG4gIC5tdC0xIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMSk7XG4gIH1cbiAgLm10LTIge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAyKTtcbiAgfVxuICAubXQtNCB7XG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICB9XG4gIC5tdC02IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gIH1cbiAgLm10LTgge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiA4KTtcbiAgfVxuICAubXQtMTIge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiAxMik7XG4gIH1cbiAgLm10LTE2IHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTYpO1xuICB9XG4gIC5tYi0xIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMSk7XG4gIH1cbiAgLm1iLTIge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiAyKTtcbiAgfVxuICAubWItMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpO1xuICB9XG4gIC5tYi00IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLm1iLTYge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiA2KTtcbiAgfVxuICAubWItOCB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpO1xuICB9XG4gIC5tYi0xMCB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEwKTtcbiAgfVxuICAubWItMTIge1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiAxMik7XG4gIH1cbiAgLm1iLTE2IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTYpO1xuICB9XG4gIC5tYi0yOCB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDI4KTtcbiAgfVxuICAubWwtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAxKTtcbiAgfVxuICAubWwtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAyKTtcbiAgfVxuICAubWwtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAubWwtYXV0byB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgLmxpbmUtY2xhbXAtMiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgfVxuICAubGluZS1jbGFtcC0zIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICB9XG4gIC5ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLmdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gIH1cbiAgLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gIH1cbiAgLmlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC50YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbiAgLmgtMSB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMSk7XG4gIH1cbiAgLmgtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMik7XG4gIH1cbiAgLmgtMyB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLmgtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLmgtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNSk7XG4gIH1cbiAgLmgtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogNyk7XG4gIH1cbiAgLmgtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogOCk7XG4gIH1cbiAgLmgtOSB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogOSk7XG4gIH1cbiAgLmgtMTAge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEwKTtcbiAgfVxuICAuaC0xMiB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTIpO1xuICB9XG4gIC5oLTE0IHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiAxNCk7XG4gIH1cbiAgLmgtMTYge1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDE2KTtcbiAgfVxuICAuaC0yOCB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNwYWNpbmcpICogMjgpO1xuICB9XG4gIC5oLTY0IHtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3BhY2luZykgKiA2NCk7XG4gIH1cbiAgLmgtXFxbY2FsY1xcKDEwMFxcJS02NHB4XFwpXFxdIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDY0cHgpO1xuICB9XG4gIC5oLWZ1bGwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuaC1weCB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gIH1cbiAgLm1pbi1oLXNjcmVlbiB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gIH1cbiAgLnctMyB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiAzKTtcbiAgfVxuICAudy00IHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICB9XG4gIC53LTUge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNSk7XG4gIH1cbiAgLnctOCB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiA4KTtcbiAgfVxuICAudy05IHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDkpO1xuICB9XG4gIC53LTEwIHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEwKTtcbiAgfVxuICAudy0xMiB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiAxMik7XG4gIH1cbiAgLnctMTQge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTQpO1xuICB9XG4gIC53LTE2IHtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDE2KTtcbiAgfVxuICAudy0yOCB7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tc3BhY2luZykgKiAyOCk7XG4gIH1cbiAgLnctODAge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLXNwYWNpbmcpICogODApO1xuICB9XG4gIC53LWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tYXgtdy0yeGwge1xuICAgIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyLTJ4bCk7XG4gIH1cbiAgLm1heC13LTN4bCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItM3hsKTtcbiAgfVxuICAubWF4LXctNXhsIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci01eGwpO1xuICB9XG4gIC5tYXgtdy1tZCB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXItbWQpO1xuICB9XG4gIC5tYXgtdy1ub25lIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbiAgLm1heC13LXNtIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lci1zbSk7XG4gIH1cbiAgLm1pbi13LTAge1xuICAgIG1pbi13aWR0aDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDApO1xuICB9XG4gIC5mbGV4LTEge1xuICAgIGZsZXg6IDE7XG4gIH1cbiAgLmZsZXgtbm9uZSB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuICAuZmxleC1zaHJpbmstMCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbiAgLnNocmluay0wIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuICAuYm9yZGVyLWNvbGxhcHNlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB9XG4gIC4tdHJhbnNsYXRlLXgtMVxcLzIge1xuICAgIC0tdHctdHJhbnNsYXRlLXg6IGNhbGMoY2FsYygxIC8gMiAqIDEwMCUpICogLTEpO1xuICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgfVxuICAuLXRyYW5zbGF0ZS14LWZ1bGwge1xuICAgIC0tdHctdHJhbnNsYXRlLXg6IC0xMDAlO1xuICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgfVxuICAudHJhbnNsYXRlLXgtMCB7XG4gICAgLS10dy10cmFuc2xhdGUteDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDApO1xuICAgIHRyYW5zbGF0ZTogdmFyKC0tdHctdHJhbnNsYXRlLXgpIHZhcigtLXR3LXRyYW5zbGF0ZS15KTtcbiAgfVxuICAucm90YXRlLTE4MCB7XG4gICAgcm90YXRlOiAxODBkZWc7XG4gIH1cbiAgLnRyYW5zZm9ybSB7XG4gICAgdHJhbnNmb3JtOiB2YXIoLS10dy1yb3RhdGUteCwpIHZhcigtLXR3LXJvdGF0ZS15LCkgdmFyKC0tdHctcm90YXRlLXosKSB2YXIoLS10dy1za2V3LXgsKSB2YXIoLS10dy1za2V3LXksKTtcbiAgfVxuICAuYW5pbWF0ZS1waW5nIHtcbiAgICBhbmltYXRpb246IHZhcigtLWFuaW1hdGUtcGluZyk7XG4gIH1cbiAgLmFuaW1hdGUtc3BpbiB7XG4gICAgYW5pbWF0aW9uOiB2YXIoLS1hbmltYXRlLXNwaW4pO1xuICB9XG4gIC5jdXJzb3Itbm90LWFsbG93ZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cbiAgLmN1cnNvci1wb2ludGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbiAgLmN1cnNvci13YWl0IHtcbiAgICBjdXJzb3I6IHdhaXQ7XG4gIH1cbiAgLnJlc2l6ZS1ub25lIHtcbiAgICByZXNpemU6IG5vbmU7XG4gIH1cbiAgLnJlc2l6ZS15IHtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICB9XG4gIC5ncmlkLWNvbHMtMSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpO1xuICB9XG4gIC5ncmlkLWNvbHMtMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICB9XG4gIC5mbGV4LWNvbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICAuZmxleC13cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLml0ZW1zLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAuaXRlbXMtc3RhcnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5qdXN0aWZ5LWJldHdlZW4ge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuICAuanVzdGlmeS1jZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gIC5nYXAtMSB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMSk7XG4gIH1cbiAgLmdhcC0xXFwuNSB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KTtcbiAgfVxuICAuZ2FwLTIge1xuICAgIGdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5nYXAtMyB7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLmdhcC02IHtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2luZykgKiA2KTtcbiAgfVxuICAuZ2FwLTEwIHtcbiAgICBnYXA6IGNhbGModmFyKC0tc3BhY2luZykgKiAxMCk7XG4gIH1cbiAgLnNwYWNlLXktMyB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDMpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiAzKSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktNCB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA0KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLnNwYWNlLXktNiB7XG4gICAgOndoZXJlKCYgPiA6bm90KDpsYXN0LWNoaWxkKSkge1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IGNhbGMoY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpICogdmFyKC0tdHctc3BhY2UteS1yZXZlcnNlKSk7XG4gICAgICBtYXJnaW4tYmxvY2stZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA2KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXktcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLmdhcC14LTYge1xuICAgIC1tb3otY29sdW1uLWdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpO1xuICAgICAgICAgY29sdW1uLWdhcDogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDYpO1xuICB9XG4gIC5zcGFjZS14LTQge1xuICAgIDp3aGVyZSgmID4gOm5vdCg6bGFzdC1jaGlsZCkpIHtcbiAgICAgIC0tdHctc3BhY2UteC1yZXZlcnNlOiAwO1xuICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyhjYWxjKHZhcigtLXNwYWNpbmcpICogNCkgKiB2YXIoLS10dy1zcGFjZS14LXJldmVyc2UpKTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiBjYWxjKGNhbGModmFyKC0tc3BhY2luZykgKiA0KSAqIGNhbGMoMSAtIHZhcigtLXR3LXNwYWNlLXgtcmV2ZXJzZSkpKTtcbiAgICB9XG4gIH1cbiAgLmdhcC15LTIge1xuICAgIHJvdy1nYXA6IGNhbGModmFyKC0tc3BhY2luZykgKiAyKTtcbiAgfVxuICAudHJ1bmNhdGUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAub3ZlcmZsb3ctaGlkZGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5vdmVyZmxvdy14LWF1dG8ge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gIH1cbiAgLm92ZXJmbG93LXktYXV0byB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuICAucm91bmRlZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgfVxuICAucm91bmRlZC0yeGwge1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXJhZGl1cy0yeGwpO1xuICB9XG4gIC5yb3VuZGVkLWZ1bGwge1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoaW5maW5pdHkgKiAxcHgpO1xuICB9XG4gIC5yb3VuZGVkLWxnIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtbGcpO1xuICB9XG4gIC5yb3VuZGVkLXNtIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMtc20pO1xuICB9XG4gIC5yb3VuZGVkLXhsIHtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1yYWRpdXMteGwpO1xuICB9XG4gIC5ib3JkZXIge1xuICAgIGJvcmRlci1zdHlsZTogdmFyKC0tdHctYm9yZGVyLXN0eWxlKTtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgfVxuICAuYm9yZGVyLTIge1xuICAgIGJvcmRlci1zdHlsZTogdmFyKC0tdHctYm9yZGVyLXN0eWxlKTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgfVxuICAuYm9yZGVyLTQge1xuICAgIGJvcmRlci1zdHlsZTogdmFyKC0tdHctYm9yZGVyLXN0eWxlKTtcbiAgICBib3JkZXItd2lkdGg6IDRweDtcbiAgfVxuICAuYm9yZGVyLXQge1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHZhcigtLXR3LWJvcmRlci1zdHlsZSk7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICB9XG4gIC5ib3JkZXItYiB7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogdmFyKC0tdHctYm9yZGVyLXN0eWxlKTtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gIH1cbiAgLmJvcmRlci1ub25lIHtcbiAgICAtLXR3LWJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cbiAgLmJvcmRlci1hbWJlci0yMDAge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYW1iZXItMjAwKTtcbiAgfVxuICAuYm9yZGVyLWJsdWUtMjAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtMjAwKTtcbiAgfVxuICAuYm9yZGVyLWJsdWUtNDAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtNDAwKTtcbiAgfVxuICAuYm9yZGVyLWJsdWUtNTAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtNTAwKTtcbiAgfVxuICAuYm9yZGVyLWN1cnJlbnQge1xuICAgIGJvcmRlci1jb2xvcjogY3VycmVudGNvbG9yO1xuICB9XG4gIC5ib3JkZXItZ3JlZW4tMjAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLTIwMCk7XG4gIH1cbiAgLmJvcmRlci1ncmVlbi01MDAge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4tNTAwKTtcbiAgfVxuICAuYm9yZGVyLWdyZWVuLTUwMFxcLzIwIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCBva2xjaCg3Mi4zJSAwLjIxOSAxNDkuNTc5KSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1ncmVlbi01MDApIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYm9yZGVyLXJlZC0yMDAge1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcmVkLTIwMCk7XG4gIH1cbiAgLmJvcmRlci10cmFuc3BhcmVudCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAuYm9yZGVyLXdoaXRlIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuICAuYm9yZGVyLXppbmMtMjAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXppbmMtMjAwKTtcbiAgfVxuICAuYm9yZGVyLXppbmMtMzAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXppbmMtMzAwKTtcbiAgfVxuICAuYm9yZGVyLXppbmMtNDAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXppbmMtNDAwKTtcbiAgfVxuICAuYm9yZGVyLXppbmMtNzAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXppbmMtNzAwKTtcbiAgfVxuICAuYm9yZGVyLXppbmMtODAwIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXppbmMtODAwKTtcbiAgfVxuICAuYm9yZGVyLXQtdHJhbnNwYXJlbnQge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5ib3JkZXItdC16aW5jLTkwMCB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tY29sb3ItemluYy05MDApO1xuICB9XG4gIC5iZy1hbWJlci01MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYW1iZXItNTApO1xuICB9XG4gIC5iZy1hbWJlci0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWFtYmVyLTEwMCk7XG4gIH1cbiAgLmJnLWJsYWNrXFwvNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjMDAwIDUwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1ibGFjaykgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5iZy1ibHVlLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLTUwKTtcbiAgfVxuICAuYmctYmx1ZS0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtMTAwKTtcbiAgfVxuICAuYmctYmx1ZS00MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtNDAwKTtcbiAgfVxuICAuYmctYmx1ZS00MDBcXC8yMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIG9rbGNoKDcwLjclIDAuMTY1IDI1NC42MjQpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1ibHVlLTQwMCkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5iZy1ibHVlLTQwMFxcLzMwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgb2tsY2goNzAuNyUgMC4xNjUgMjU0LjYyNCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJsdWUtNDAwKSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJnLWJsdWUtNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLTUwMCk7XG4gIH1cbiAgLmJnLWJsdWUtNTAwXFwvMTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCBva2xjaCg2Mi4zJSAwLjIxNCAyNTkuODE1KSAxMCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYmx1ZS01MDApIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYmctZ3JlZW4tNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLTUwKTtcbiAgfVxuICAuYmctZ3JlZW4tNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbi01MDApO1xuICB9XG4gIC5iZy1ncmVlbi01MDBcXC8xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIG9rbGNoKDcyLjMlIDAuMjE5IDE0OS41NzkpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1ncmVlbi01MDApIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYmctcmVkLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQtNTApO1xuICB9XG4gIC5iZy1yZWQtNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQtNTAwKTtcbiAgfVxuICAuYmctd2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgfVxuICAuYmctd2hpdGVcXC8yMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsICNmZmYgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLXdoaXRlKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICB9XG4gIH1cbiAgLmJnLXppbmMtMTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTEwMCk7XG4gIH1cbiAgLmJnLXppbmMtMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTIwMCk7XG4gIH1cbiAgLmJnLXppbmMtMzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTMwMCk7XG4gIH1cbiAgLmJnLXppbmMtODAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTgwMCk7XG4gIH1cbiAgLmJnLXppbmMtOTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTkwMCk7XG4gIH1cbiAgLmJnLXppbmMtOTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTk1MCk7XG4gIH1cbiAgLmJnLXppbmMtOTUwXFwvODAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCBva2xjaCgxNC4xJSAwLjAwNSAyODUuODIzKSA4MCUsIHRyYW5zcGFyZW50KTtcbiAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItemluYy05NTApIDgwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAuYmctZ3JhZGllbnQtdG8tYnIge1xuICAgIC0tdHctZ3JhZGllbnQtcG9zaXRpb246IHRvIGJvdHRvbSByaWdodCBpbiBva2xhYjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodmFyKC0tdHctZ3JhZGllbnQtc3RvcHMpKTtcbiAgfVxuICAuYmctZ3JhZGllbnQtdG8tciB7XG4gICAgLS10dy1ncmFkaWVudC1wb3NpdGlvbjogdG8gcmlnaHQgaW4gb2tsYWI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHZhcigtLXR3LWdyYWRpZW50LXN0b3BzKSk7XG4gIH1cbiAgLmZyb20tYmx1ZS00MDAge1xuICAgIC0tdHctZ3JhZGllbnQtZnJvbTogdmFyKC0tY29sb3ItYmx1ZS00MDApO1xuICAgIC0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcywgdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSk7XG4gIH1cbiAgLmZyb20tYmx1ZS01MDAge1xuICAgIC0tdHctZ3JhZGllbnQtZnJvbTogdmFyKC0tY29sb3ItYmx1ZS01MDApO1xuICAgIC0tdHctZ3JhZGllbnQtc3RvcHM6IHZhcigtLXR3LWdyYWRpZW50LXZpYS1zdG9wcywgdmFyKC0tdHctZ3JhZGllbnQtcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC1mcm9tKSB2YXIoLS10dy1ncmFkaWVudC1mcm9tLXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtdG8pIHZhcigtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uKSk7XG4gIH1cbiAgLnRvLWJsdWUtNjAwIHtcbiAgICAtLXR3LWdyYWRpZW50LXRvOiB2YXIoLS1jb2xvci1ibHVlLTYwMCk7XG4gICAgLS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLCB2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LWZyb20pIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10bykgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKTtcbiAgfVxuICAudG8tcHVycGxlLTUwMCB7XG4gICAgLS10dy1ncmFkaWVudC10bzogdmFyKC0tY29sb3ItcHVycGxlLTUwMCk7XG4gICAgLS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLCB2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LWZyb20pIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10bykgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKTtcbiAgfVxuICAucC0xXFwuNSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEuNSk7XG4gIH1cbiAgLnAtMiB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5wLTMge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiAzKTtcbiAgfVxuICAucC00IHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLnAtNSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDUpO1xuICB9XG4gIC5wLTYge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tc3BhY2luZykgKiA2KTtcbiAgfVxuICAucC04IHtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNwYWNpbmcpICogOCk7XG4gIH1cbiAgLnB4LTFcXC41IHtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEuNSk7XG4gIH1cbiAgLnB4LTIge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMik7XG4gIH1cbiAgLnB4LTMge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLnB4LTQge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNCk7XG4gIH1cbiAgLnB4LTYge1xuICAgIHBhZGRpbmctaW5saW5lOiBjYWxjKHZhcigtLXNwYWNpbmcpICogNik7XG4gIH1cbiAgLnB4LTEwIHtcbiAgICBwYWRkaW5nLWlubGluZTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEwKTtcbiAgfVxuICAucHktMFxcLjUge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tc3BhY2luZykgKiAwLjUpO1xuICB9XG4gIC5weS0xIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMSk7XG4gIH1cbiAgLnB5LTFcXC41IHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMS41KTtcbiAgfVxuICAucHktMiB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIpO1xuICB9XG4gIC5weS0zIHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMyk7XG4gIH1cbiAgLnB5LTQge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tc3BhY2luZykgKiA0KTtcbiAgfVxuICAucHktOCB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDgpO1xuICB9XG4gIC5weS0xMCB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDEwKTtcbiAgfVxuICAucHktMTIge1xuICAgIHBhZGRpbmctYmxvY2s6IGNhbGModmFyKC0tc3BhY2luZykgKiAxMik7XG4gIH1cbiAgLnB5LTE2IHtcbiAgICBwYWRkaW5nLWJsb2NrOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMTYpO1xuICB9XG4gIC5weS0yMCB7XG4gICAgcGFkZGluZy1ibG9jazogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDIwKTtcbiAgfVxuICAucHQtOCB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tc3BhY2luZykgKiA4KTtcbiAgfVxuICAucHQtMzIge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXNwYWNpbmcpICogMzIpO1xuICB9XG4gIC5wYi00IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDQpO1xuICB9XG4gIC5wYi0xMCB7XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tc3BhY2luZykgKiAxMCk7XG4gIH1cbiAgLnBiLTU2IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1zcGFjaW5nKSAqIDU2KTtcbiAgfVxuICAudGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAudGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG4gIC50ZXh0LTJ4bCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTJ4bCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQtMnhsLS1saW5lLWhlaWdodCkpO1xuICB9XG4gIC50ZXh0LTN4bCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTN4bCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQtM3hsLS1saW5lLWhlaWdodCkpO1xuICB9XG4gIC50ZXh0LTV4bCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS10ZXh0LTV4bCk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQtNXhsLS1saW5lLWhlaWdodCkpO1xuICB9XG4gIC50ZXh0LWxnIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtbGcpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LWxnLS1saW5lLWhlaWdodCkpO1xuICB9XG4gIC50ZXh0LXNtIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQtc20pO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LXNtLS1saW5lLWhlaWdodCkpO1xuICB9XG4gIC50ZXh0LXhsIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQteGwpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LXhsLS1saW5lLWhlaWdodCkpO1xuICB9XG4gIC50ZXh0LXhzIHtcbiAgICBmb250LXNpemU6IHZhcigtLXRleHQteHMpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS10dy1sZWFkaW5nLCB2YXIoLS10ZXh0LXhzLS1saW5lLWhlaWdodCkpO1xuICB9XG4gIC5sZWFkaW5nLXJlbGF4ZWQge1xuICAgIC0tdHctbGVhZGluZzogdmFyKC0tbGVhZGluZy1yZWxheGVkKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGVhZGluZy1yZWxheGVkKTtcbiAgfVxuICAubGVhZGluZy10aWdodCB7XG4gICAgLS10dy1sZWFkaW5nOiB2YXIoLS1sZWFkaW5nLXRpZ2h0KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGVhZGluZy10aWdodCk7XG4gIH1cbiAgLmZvbnQtYm9sZCB7XG4gICAgLS10dy1mb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtYm9sZCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWZvbnQtd2VpZ2h0LWJvbGQpO1xuICB9XG4gIC5mb250LW1lZGl1bSB7XG4gICAgLS10dy1mb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgICBmb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtbWVkaXVtKTtcbiAgfVxuICAuZm9udC1zZW1pYm9sZCB7XG4gICAgLS10dy1mb250LXdlaWdodDogdmFyKC0tZm9udC13ZWlnaHQtc2VtaWJvbGQpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoLS1mb250LXdlaWdodC1zZW1pYm9sZCk7XG4gIH1cbiAgLnRyYWNraW5nLXRpZ2h0IHtcbiAgICAtLXR3LXRyYWNraW5nOiB2YXIoLS10cmFja2luZy10aWdodCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXRyYWNraW5nLXRpZ2h0KTtcbiAgfVxuICAudHJhY2tpbmctd2lkZSB7XG4gICAgLS10dy10cmFja2luZzogdmFyKC0tdHJhY2tpbmctd2lkZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLXRyYWNraW5nLXdpZGUpO1xuICB9XG4gIC53aGl0ZXNwYWNlLW5vd3JhcCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAudGV4dC1hbWJlci01MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbWJlci01MDApO1xuICB9XG4gIC50ZXh0LWFtYmVyLTYwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFtYmVyLTYwMCk7XG4gIH1cbiAgLnRleHQtYW1iZXItNzAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYW1iZXItNzAwKTtcbiAgfVxuICAudGV4dC1hbWJlci04MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbWJlci04MDApO1xuICB9XG4gIC50ZXh0LWJsdWUtMjAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS0yMDApO1xuICB9XG4gIC50ZXh0LWJsdWUtNDAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS00MDApO1xuICB9XG4gIC50ZXh0LWJsdWUtNTAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS01MDApO1xuICB9XG4gIC50ZXh0LWJsdWUtNjAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS02MDApO1xuICB9XG4gIC50ZXh0LWJsdWUtNzAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS03MDApO1xuICB9XG4gIC50ZXh0LWJsdWUtODAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS04MDApO1xuICB9XG4gIC50ZXh0LWdyZWVuLTQwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLTQwMCk7XG4gIH1cbiAgLnRleHQtZ3JlZW4tNTAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4tNTAwKTtcbiAgfVxuICAudGV4dC1ncmVlbi02MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbi02MDApO1xuICB9XG4gIC50ZXh0LWdyZWVuLTgwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLTgwMCk7XG4gIH1cbiAgLnRleHQtcmVkLTQwMCB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXJlZC00MDApO1xuICB9XG4gIC50ZXh0LXJlZC01MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1yZWQtNTAwKTtcbiAgfVxuICAudGV4dC1yZWQtNjAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcmVkLTYwMCk7XG4gIH1cbiAgLnRleHQtd2hpdGUge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gIH1cbiAgLnRleHQtd2hpdGVcXC83MCB7XG4gICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCAjZmZmIDcwJSwgdHJhbnNwYXJlbnQpO1xuICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3Itd2hpdGUpIDcwJSwgdHJhbnNwYXJlbnQpO1xuICAgIH1cbiAgfVxuICAudGV4dC15ZWxsb3ctNTAwIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3IteWVsbG93LTUwMCk7XG4gIH1cbiAgLnRleHQtemluYy0zMDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTMwMCk7XG4gIH1cbiAgLnRleHQtemluYy00MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTQwMCk7XG4gIH1cbiAgLnRleHQtemluYy01MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTUwMCk7XG4gIH1cbiAgLnRleHQtemluYy02MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTYwMCk7XG4gIH1cbiAgLnRleHQtemluYy03MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTcwMCk7XG4gIH1cbiAgLnRleHQtemluYy05MDAge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTkwMCk7XG4gIH1cbiAgLnVwcGVyY2FzZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAudGFidWxhci1udW1zIHtcbiAgICAtLXR3LW51bWVyaWMtc3BhY2luZzogdGFidWxhci1udW1zO1xuICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB2YXIoLS10dy1vcmRpbmFsLCkgdmFyKC0tdHctc2xhc2hlZC16ZXJvLCkgdmFyKC0tdHctbnVtZXJpYy1maWd1cmUsKSB2YXIoLS10dy1udW1lcmljLXNwYWNpbmcsKSB2YXIoLS10dy1udW1lcmljLWZyYWN0aW9uLCk7XG4gIH1cbiAgLnVuZGVybGluZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgfVxuICAucGxhY2Vob2xkZXItemluYy01MDAge1xuICAgICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXppbmMtNTAwKTtcbiAgICB9XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXppbmMtNTAwKTtcbiAgICB9XG4gIH1cbiAgLmFjY2VudC1ibHVlLTUwMCB7XG4gICAgYWNjZW50LWNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLTUwMCk7XG4gIH1cbiAgLm9wYWNpdHktMCB7XG4gICAgb3BhY2l0eTogMCU7XG4gIH1cbiAgLm9wYWNpdHktMjAge1xuICAgIG9wYWNpdHk6IDIwJTtcbiAgfVxuICAub3BhY2l0eS00MCB7XG4gICAgb3BhY2l0eTogNDAlO1xuICB9XG4gIC5vcGFjaXR5LTYwIHtcbiAgICBvcGFjaXR5OiA2MCU7XG4gIH1cbiAgLm9wYWNpdHktNzAge1xuICAgIG9wYWNpdHk6IDcwJTtcbiAgfVxuICAub3BhY2l0eS0xMDAge1xuICAgIG9wYWNpdHk6IDEwMCU7XG4gIH1cbiAgLnNoYWRvdyB7XG4gICAgLS10dy1zaGFkb3c6IDAgMXB4IDNweCAwIHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSksIDAgMXB4IDJweCAtMXB4IHZhcigtLXR3LXNoYWRvdy1jb2xvciwgcmdiKDAgMCAwIC8gMC4xKSk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tdHctaW5zZXQtc2hhZG93KSwgdmFyKC0tdHctaW5zZXQtcmluZy1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLW9mZnNldC1zaGFkb3cpLCB2YXIoLS10dy1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXNoYWRvdyk7XG4gIH1cbiAgLnNoYWRvdy0yeGwge1xuICAgIC0tdHctc2hhZG93OiAwIDI1cHggNTBweCAtMTJweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIHJnYigwIDAgMCAvIDAuMjUpKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1pbnNldC1zaGFkb3cpLCB2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93KTtcbiAgfVxuICAuc2hhZG93LWxnIHtcbiAgICAtLXR3LXNoYWRvdzogMCAxMHB4IDE1cHggLTNweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIHJnYigwIDAgMCAvIDAuMSkpLCAwIDRweCA2cHggLTRweCB2YXIoLS10dy1zaGFkb3ctY29sb3IsIHJnYigwIDAgMCAvIDAuMSkpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LWluc2V0LXNoYWRvdyksIHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSwgdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3cpO1xuICB9XG4gIC5yaW5nLTIge1xuICAgIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQsKSAwIDAgMCBjYWxjKDJweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvciwgY3VycmVudGNvbG9yKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS10dy1pbnNldC1zaGFkb3cpLCB2YXIoLS10dy1pbnNldC1yaW5nLXNoYWRvdyksIHZhcigtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXR3LXJpbmctc2hhZG93KSwgdmFyKC0tdHctc2hhZG93KTtcbiAgfVxuICAuc2hhZG93LWJsdWUtNTAwXFwvMzAge1xuICAgIC0tdHctc2hhZG93LWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgb2tsY2goNjIuMyUgMC4yMTQgMjU5LjgxNSkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAtLXR3LXNoYWRvdy1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJsdWUtNTAwKSAzMCUsIHRyYW5zcGFyZW50KSB2YXIoLS10dy1zaGFkb3ctYWxwaGEpLCB0cmFuc3BhcmVudCk7XG4gICAgfVxuICB9XG4gIC5yaW5nLWJsdWUtNTAwIHtcbiAgICAtLXR3LXJpbmctY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtNTAwKTtcbiAgfVxuICAuYmx1ci14bCB7XG4gICAgLS10dy1ibHVyOiBibHVyKHZhcigtLWJsdXIteGwpKTtcbiAgICBmaWx0ZXI6IHZhcigtLXR3LWJsdXIsKSB2YXIoLS10dy1icmlnaHRuZXNzLCkgdmFyKC0tdHctY29udHJhc3QsKSB2YXIoLS10dy1ncmF5c2NhbGUsKSB2YXIoLS10dy1odWUtcm90YXRlLCkgdmFyKC0tdHctaW52ZXJ0LCkgdmFyKC0tdHctc2F0dXJhdGUsKSB2YXIoLS10dy1zZXBpYSwpIHZhcigtLXR3LWRyb3Atc2hhZG93LCk7XG4gIH1cbiAgLmJhY2tkcm9wLWJsdXItbGcge1xuICAgIC0tdHctYmFja2Ryb3AtYmx1cjogYmx1cih2YXIoLS1ibHVyLWxnKSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiB2YXIoLS10dy1iYWNrZHJvcC1ibHVyLCkgdmFyKC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcywpIHZhcigtLXR3LWJhY2tkcm9wLWNvbnRyYXN0LCkgdmFyKC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlLCkgdmFyKC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSwpIHZhcigtLXR3LWJhY2tkcm9wLWludmVydCwpIHZhcigtLXR3LWJhY2tkcm9wLW9wYWNpdHksKSB2YXIoLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSwpIHZhcigtLXR3LWJhY2tkcm9wLXNlcGlhLCk7XG4gIH1cbiAgLnRyYW5zaXRpb24ge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IsIG91dGxpbmUtY29sb3IsIHRleHQtZGVjb3JhdGlvbi1jb2xvciwgZmlsbCwgc3Ryb2tlLCAtLXR3LWdyYWRpZW50LWZyb20sIC0tdHctZ3JhZGllbnQtdmlhLCAtLXR3LWdyYWRpZW50LXRvLCBvcGFjaXR5LCBib3gtc2hhZG93LCB0cmFuc2Zvcm0sIHRyYW5zbGF0ZSwgc2NhbGUsIHJvdGF0ZSwgZmlsdGVyLCBiYWNrZHJvcC1maWx0ZXIsIGRpc3BsYXksIGNvbnRlbnQtdmlzaWJpbGl0eSwgb3ZlcmxheSwgcG9pbnRlci1ldmVudHM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXR3LWVhc2UsIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10dy1kdXJhdGlvbiwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSk7XG4gIH1cbiAgLnRyYW5zaXRpb24tYWxsIHtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBhbGw7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLXR3LWVhc2UsIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pKTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10dy1kdXJhdGlvbiwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLWR1cmF0aW9uKSk7XG4gIH1cbiAgLnRyYW5zaXRpb24tb3BhY2l0eSB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tdHctZWFzZSwgdmFyKC0tZGVmYXVsdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikpO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IHZhcigtLXR3LWR1cmF0aW9uLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tZHVyYXRpb24pKTtcbiAgfVxuICAudHJhbnNpdGlvbi10cmFuc2Zvcm0ge1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgdHJhbnNsYXRlLCBzY2FsZSwgcm90YXRlO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS10dy1lYXNlLCB2YXIoLS1kZWZhdWx0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKSk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogdmFyKC0tdHctZHVyYXRpb24sIHZhcigtLWRlZmF1bHQtdHJhbnNpdGlvbi1kdXJhdGlvbikpO1xuICB9XG4gIC5kdXJhdGlvbi0zMDAge1xuICAgIC0tdHctZHVyYXRpb246IDMwMG1zO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDMwMG1zO1xuICB9XG4gIC5lYXNlLW91dCB7XG4gICAgLS10dy1lYXNlOiB2YXIoLS1lYXNlLW91dCk7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWVhc2Utb3V0KTtcbiAgfVxuICAub3V0bGluZS1ub25lIHtcbiAgICAtLXR3LW91dGxpbmUtc3R5bGU6IG5vbmU7XG4gICAgb3V0bGluZS1zdHlsZTogbm9uZTtcbiAgfVxuICAuZ3JvdXAtaG92ZXJcXDpvcGFjaXR5LTEwMCB7XG4gICAgJjppcyg6d2hlcmUoLmdyb3VwKTpob3ZlciAqKSB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBvcGFjaXR5OiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpzY2FsZS0xMDUge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLS10dy1zY2FsZS14OiAxMDUlO1xuICAgICAgICAtLXR3LXNjYWxlLXk6IDEwNSU7XG4gICAgICAgIC0tdHctc2NhbGUtejogMTA1JTtcbiAgICAgICAgc2NhbGU6IHZhcigtLXR3LXNjYWxlLXgpIHZhcigtLXR3LXNjYWxlLXkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpiZy1ibHVlLTUwMFxcLzIwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCBva2xjaCg2Mi4zJSAwLjIxNCAyNTkuODE1KSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1ibHVlLTUwMCkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6YmctYmx1ZS02MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS02MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpiZy1ncmVlbi01MDBcXC8yMCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgb2tsY2goNzIuMyUgMC4yMTkgMTQ5LjU3OSkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItZ3JlZW4tNTAwKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpiZy1yZWQtNjAwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXJlZC02MDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpiZy16aW5jLTUwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXppbmMtNTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpiZy16aW5jLTEwMCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTEwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOmJnLXppbmMtMjAwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXppbmMtMjAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6YmctemluYy0zMDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItemluYy0zMDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDpiZy16aW5jLTgwMCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTgwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOmJnLXppbmMtOTAwXFwvNTAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIG9rbGNoKDIxJSAwLjAwNiAyODUuODg1KSA1MCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci16aW5jLTkwMCkgNTAlLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6ZnJvbS1ibHVlLTUwMCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAtLXR3LWdyYWRpZW50LWZyb206IHZhcigtLWNvbG9yLWJsdWUtNTAwKTtcbiAgICAgICAgLS10dy1ncmFkaWVudC1zdG9wczogdmFyKC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzLCB2YXIoLS10dy1ncmFkaWVudC1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LWZyb20pIHZhcigtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb24pLCB2YXIoLS10dy1ncmFkaWVudC10bykgdmFyKC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb24pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6dG8tYmx1ZS03MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgLS10dy1ncmFkaWVudC10bzogdmFyKC0tY29sb3ItYmx1ZS03MDApO1xuICAgICAgICAtLXR3LWdyYWRpZW50LXN0b3BzOiB2YXIoLS10dy1ncmFkaWVudC12aWEtc3RvcHMsIHZhcigtLXR3LWdyYWRpZW50LXBvc2l0aW9uKSwgdmFyKC0tdHctZ3JhZGllbnQtZnJvbSkgdmFyKC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiksIHZhcigtLXR3LWdyYWRpZW50LXRvKSB2YXIoLS10dy1ncmFkaWVudC10by1wb3NpdGlvbikpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDp0ZXh0LWJsdWUtMzAwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLTMwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOnRleHQtcmVkLTQwMCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcmVkLTQwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOnRleHQtcmVkLTUwMCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItcmVkLTUwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOnRleHQtd2hpdGUge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6dGV4dC16aW5jLTMwMCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3ItemluYy0zMDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDp0ZXh0LXppbmMtNjAwIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTYwMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ob3ZlclxcOnRleHQtemluYy03MDAge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXppbmMtNzAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6bm8tdW5kZXJsaW5lIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuaG92ZXJcXDp1bmRlcmxpbmUge1xuICAgICY6aG92ZXIge1xuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmhvdmVyXFw6b3BhY2l0eS04MCB7XG4gICAgJjpob3ZlciB7XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICBvcGFjaXR5OiA4MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb2N1c1xcOmJvcmRlci1ibHVlLTUwMCB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtNTAwKTtcbiAgICB9XG4gIH1cbiAgLmZvY3VzXFw6cmluZy0yIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIC0tdHctcmluZy1zaGFkb3c6IHZhcigtLXR3LXJpbmctaW5zZXQsKSAwIDAgMCBjYWxjKDJweCArIHZhcigtLXR3LXJpbmctb2Zmc2V0LXdpZHRoKSkgdmFyKC0tdHctcmluZy1jb2xvciwgY3VycmVudGNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXR3LWluc2V0LXNoYWRvdyksIHZhcigtLXR3LWluc2V0LXJpbmctc2hhZG93KSwgdmFyKC0tdHctcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdHctcmluZy1zaGFkb3cpLCB2YXIoLS10dy1zaGFkb3cpO1xuICAgIH1cbiAgfVxuICAuZm9jdXNcXDpyaW5nLWJsdWUtNTAwIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIC0tdHctcmluZy1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS01MDApO1xuICAgIH1cbiAgfVxuICAuZm9jdXNcXDpvdXRsaW5lLW5vbmUge1xuICAgICY6Zm9jdXMge1xuICAgICAgLS10dy1vdXRsaW5lLXN0eWxlOiBub25lO1xuICAgICAgb3V0bGluZS1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmZvY3VzLXZpc2libGVcXDpvdXRsaW5lLTIge1xuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lLXN0eWxlOiB2YXIoLS10dy1vdXRsaW5lLXN0eWxlKTtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDJweDtcbiAgICB9XG4gIH1cbiAgLmZvY3VzLXZpc2libGVcXDpvdXRsaW5lLWJsdWUtNTAwIHtcbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZS1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS01MDApO1xuICAgIH1cbiAgfVxuICAuYWN0aXZlXFw6c2NhbGUtOTUge1xuICAgICY6YWN0aXZlIHtcbiAgICAgIC0tdHctc2NhbGUteDogOTUlO1xuICAgICAgLS10dy1zY2FsZS15OiA5NSU7XG4gICAgICAtLXR3LXNjYWxlLXo6IDk1JTtcbiAgICAgIHNjYWxlOiB2YXIoLS10dy1zY2FsZS14KSB2YXIoLS10dy1zY2FsZS15KTtcbiAgICB9XG4gIH1cbiAgLmRpc2FibGVkXFw6Y3Vyc29yLW5vdC1hbGxvd2VkIHtcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG4gIC5kaXNhYmxlZFxcOmJnLXppbmMtNDAwIHtcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXppbmMtNDAwKTtcbiAgICB9XG4gIH1cbiAgLmRpc2FibGVkXFw6YmctemluYy03MDAge1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItemluYy03MDApO1xuICAgIH1cbiAgfVxuICAuZGlzYWJsZWRcXDpvcGFjaXR5LTUwIHtcbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDUwJTtcbiAgICB9XG4gIH1cbiAgLnNtXFw6aGlkZGVuIHtcbiAgICBAbWVkaWEgKHdpZHRoID49IDQwcmVtKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuICAuc21cXDppbmxpbmUge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gIH1cbiAgLnNtXFw6Z3JpZC1jb2xzLTIge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDByZW0pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG4gIH1cbiAgLm1kXFw6Z3JpZC1jb2xzLTMge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCgwLCAxZnIpKTtcbiAgICB9XG4gIH1cbiAgLm1kXFw6dGV4dC02eGwge1xuICAgIEBtZWRpYSAod2lkdGggPj0gNDhyZW0pIHtcbiAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGV4dC02eGwpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLXR3LWxlYWRpbmcsIHZhcigtLXRleHQtNnhsLS1saW5lLWhlaWdodCkpO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOmJvcmRlci1hbWJlci04MDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYW1iZXItODAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpib3JkZXItYmx1ZS04MDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItYmx1ZS04MDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOmJvcmRlci1ncmVlbi04MDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItZ3JlZW4tODAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpib3JkZXItcmVkLTgwMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1yZWQtODAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpib3JkZXItemluYy03MDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItemluYy03MDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOmJvcmRlci16aW5jLTgwMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTgwMCk7XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6Ym9yZGVyLXQtemluYy0xMDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWNvbG9yLXppbmMtMTAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpiZy1hbWJlci05MDBcXC8yMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIG9rbGNoKDQxLjQlIDAuMTEyIDQ1LjkwNCkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1hbWJlci05MDApIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLWFtYmVyLTkwMFxcLzMwIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgb2tsY2goNDEuNCUgMC4xMTIgNDUuOTA0KSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWFtYmVyLTkwMCkgMzAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6YmctYmx1ZS01MDBcXC8yMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIG9rbGNoKDYyLjMlIDAuMjE0IDI1OS44MTUpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYmx1ZS01MDApIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLWJsdWUtNTAwXFwvMzAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCBva2xjaCg2Mi4zJSAwLjIxNCAyNTkuODE1KSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIEBzdXBwb3J0cyAoY29sb3I6IGNvbG9yLW1peChpbiBsYWIsIHJlZCwgcmVkKSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gb2tsYWIsIHZhcigtLWNvbG9yLWJsdWUtNTAwKSAzMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpiZy1ibHVlLTkwMFxcLzIwIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgb2tsY2goMzcuOSUgMC4xNDYgMjY1LjUyMikgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1ibHVlLTkwMCkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6YmctYmx1ZS05MDBcXC8zMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIG9rbGNoKDM3LjklIDAuMTQ2IDI2NS41MjIpIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgQHN1cHBvcnRzIChjb2xvcjogY29sb3ItbWl4KGluIGxhYiwgcmVkLCByZWQpKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yLW1peChpbiBva2xhYiwgdmFyKC0tY29sb3ItYmx1ZS05MDApIDMwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLWdyZWVuLTkwMFxcLzIwIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgb2tsY2goMzkuMyUgMC4wOTUgMTUyLjUzNSkgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1ncmVlbi05MDApIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLXJlZC05MDBcXC8yMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIG9rbGNoKDM5LjYlIDAuMTQxIDI1LjcyMykgMjAlLCB0cmFuc3BhcmVudCk7XG4gICAgICBAc3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gbGFiLCByZWQsIHJlZCkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3ItbWl4KGluIG9rbGFiLCB2YXIoLS1jb2xvci1yZWQtOTAwKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpiZy16aW5jLTEwMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItemluYy0xMDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLXppbmMtNzAwIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTcwMCk7XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6YmctemluYy04MDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXppbmMtODAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpiZy16aW5jLTkwMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItemluYy05MDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOmJnLXppbmMtOTUwIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTk1MCk7XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6dGV4dC1hbWJlci0yMDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbWJlci0yMDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOnRleHQtYW1iZXItNDAwIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYW1iZXItNDAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDp0ZXh0LWJsdWUtMjAwIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItYmx1ZS0yMDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOnRleHQtYmx1ZS0zMDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ibHVlLTMwMCk7XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6dGV4dC1ibHVlLTQwMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWJsdWUtNDAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDp0ZXh0LWdyZWVuLTIwMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLWdyZWVuLTIwMCk7XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6dGV4dC1ncmVlbi00MDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1ncmVlbi00MDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOnRleHQtcmVkLTQwMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXJlZC00MDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOnRleHQtd2hpdGUge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci13aGl0ZSk7XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6dGV4dC16aW5jLTIwMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXppbmMtMjAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDp0ZXh0LXppbmMtMzAwIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItemluYy0zMDApO1xuICAgIH1cbiAgfVxuICAuZGFya1xcOnRleHQtemluYy00MDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTQwMCk7XG4gICAgfVxuICB9XG4gIC5kYXJrXFw6dGV4dC16aW5jLTkwMCB7XG4gICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXppbmMtOTAwKTtcbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpob3ZlclxcOmJnLXppbmMtNzAwIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTcwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpob3ZlclxcOmJnLXppbmMtODAwIHtcbiAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTgwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpob3ZlclxcOnRleHQtemluYy0yMDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTIwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmRhcmtcXDpob3ZlclxcOnRleHQtemluYy0zMDAge1xuICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci16aW5jLTMwMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZS1pbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cbi5hbmltYXRlLWZhZGUtaW4ge1xuICBhbmltYXRpb246IGZhZGUtaW4gMC4ycyBlYXNlLW91dCBmb3J3YXJkcztcbn1cbkBwcm9wZXJ0eSAtLXR3LXRyYW5zbGF0ZS14IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwO1xufVxuQHByb3BlcnR5IC0tdHctdHJhbnNsYXRlLXkge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDA7XG59XG5AcHJvcGVydHkgLS10dy10cmFuc2xhdGUteiB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJvdGF0ZS14IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctcm90YXRlLXkge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1yb3RhdGUteiB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNrZXcteCB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNrZXcteSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNwYWNlLXktcmV2ZXJzZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNwYWNlLXgtcmV2ZXJzZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJvcmRlci1zdHlsZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogc29saWQ7XG59XG5AcHJvcGVydHkgLS10dy1ncmFkaWVudC1wb3NpdGlvbiB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LWZyb20ge1xuICBzeW50YXg6IFwiPGNvbG9yPlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6ICMwMDAwO1xufVxuQHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhIHtcbiAgc3ludGF4OiBcIjxjb2xvcj5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXRvIHtcbiAgc3ludGF4OiBcIjxjb2xvcj5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXN0b3BzIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctZ3JhZGllbnQtdmlhLXN0b3BzIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctZ3JhZGllbnQtZnJvbS1wb3NpdGlvbiB7XG4gIHN5bnRheDogXCI8bGVuZ3RoLXBlcmNlbnRhZ2U+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMCU7XG59XG5AcHJvcGVydHkgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb24ge1xuICBzeW50YXg6IFwiPGxlbmd0aC1wZXJjZW50YWdlPlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDUwJTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWdyYWRpZW50LXRvLXBvc2l0aW9uIHtcbiAgc3ludGF4OiBcIjxsZW5ndGgtcGVyY2VudGFnZT5cIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAxMDAlO1xufVxuQHByb3BlcnR5IC0tdHctbGVhZGluZyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWZvbnQtd2VpZ2h0IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctdHJhY2tpbmcge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1vcmRpbmFsIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2xhc2hlZC16ZXJvIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctbnVtZXJpYy1maWd1cmUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1udW1lcmljLXNwYWNpbmcge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1udW1lcmljLWZyYWN0aW9uIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2hhZG93IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAwIDAgIzAwMDA7XG59XG5AcHJvcGVydHkgLS10dy1zaGFkb3ctY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1zaGFkb3ctYWxwaGEge1xuICBzeW50YXg6IFwiPHBlcmNlbnRhZ2U+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMTAwJTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWluc2V0LXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMCAwICMwMDAwO1xufVxuQHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWNvbG9yIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctaW5zZXQtc2hhZG93LWFscGhhIHtcbiAgc3ludGF4OiBcIjxwZXJjZW50YWdlPlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDEwMCU7XG59XG5AcHJvcGVydHkgLS10dy1yaW5nLWNvbG9yIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctcmluZy1zaGFkb3cge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDAgMCAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWluc2V0LXJpbmctY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1pbnNldC1yaW5nLXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMCAwICMwMDAwO1xufVxuQHByb3BlcnR5IC0tdHctcmluZy1pbnNldCB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXJpbmctb2Zmc2V0LXdpZHRoIHtcbiAgc3ludGF4OiBcIjxsZW5ndGg+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMHB4O1xufVxuQHByb3BlcnR5IC0tdHctcmluZy1vZmZzZXQtY29sb3Ige1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6ICNmZmY7XG59XG5AcHJvcGVydHkgLS10dy1yaW5nLW9mZnNldC1zaGFkb3cge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDAgMCAjMDAwMDtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJsdXIge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1icmlnaHRuZXNzIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctY29udHJhc3Qge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1ncmF5c2NhbGUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1odWUtcm90YXRlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctaW52ZXJ0IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctb3BhY2l0eSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNhdHVyYXRlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2VwaWEge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1kcm9wLXNoYWRvdyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LWNvbG9yIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctZHJvcC1zaGFkb3ctYWxwaGEge1xuICBzeW50YXg6IFwiPHBlcmNlbnRhZ2U+XCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMTAwJTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWRyb3Atc2hhZG93LXNpemUge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1ibHVyIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzcyB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWNvbnRyYXN0IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctYmFja2Ryb3AtZ3JheXNjYWxlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLWludmVydCB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLW9wYWNpdHkge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbn1cbkBwcm9wZXJ0eSAtLXR3LWJhY2tkcm9wLXNlcGlhIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctZHVyYXRpb24ge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG59XG5AcHJvcGVydHkgLS10dy1lYXNlIHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xufVxuQHByb3BlcnR5IC0tdHctc2NhbGUteCB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogMTtcbn1cbkBwcm9wZXJ0eSAtLXR3LXNjYWxlLXkge1xuICBzeW50YXg6IFwiKlwiO1xuICBpbmhlcml0czogZmFsc2U7XG4gIGluaXRpYWwtdmFsdWU6IDE7XG59XG5AcHJvcGVydHkgLS10dy1zY2FsZS16IHtcbiAgc3ludGF4OiBcIipcIjtcbiAgaW5oZXJpdHM6IGZhbHNlO1xuICBpbml0aWFsLXZhbHVlOiAxO1xufVxuQHByb3BlcnR5IC0tdHctb3V0bGluZS1zdHlsZSB7XG4gIHN5bnRheDogXCIqXCI7XG4gIGluaGVyaXRzOiBmYWxzZTtcbiAgaW5pdGlhbC12YWx1ZTogc29saWQ7XG59XG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuQGtleWZyYW1lcyBwaW5nIHtcbiAgNzUlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBsYXllciBwcm9wZXJ0aWVzIHtcbiAgQHN1cHBvcnRzICgoLXdlYmtpdC1oeXBoZW5zOiBub25lKSBhbmQgKG5vdCAobWFyZ2luLXRyaW06IGlubGluZSkpKSBvciAoKC1tb3otb3JpZW50OiBpbmxpbmUpIGFuZCAobm90IChjb2xvcjpyZ2IoZnJvbSByZWQgciBnIGIpKSkpIHtcbiAgICAqLCA6OmJlZm9yZSwgOjphZnRlciwgOjpiYWNrZHJvcCB7XG4gICAgICAtLXR3LXRyYW5zbGF0ZS14OiAwO1xuICAgICAgLS10dy10cmFuc2xhdGUteTogMDtcbiAgICAgIC0tdHctdHJhbnNsYXRlLXo6IDA7XG4gICAgICAtLXR3LXJvdGF0ZS14OiBpbml0aWFsO1xuICAgICAgLS10dy1yb3RhdGUteTogaW5pdGlhbDtcbiAgICAgIC0tdHctcm90YXRlLXo6IGluaXRpYWw7XG4gICAgICAtLXR3LXNrZXcteDogaW5pdGlhbDtcbiAgICAgIC0tdHctc2tldy15OiBpbml0aWFsO1xuICAgICAgLS10dy1zcGFjZS15LXJldmVyc2U6IDA7XG4gICAgICAtLXR3LXNwYWNlLXgtcmV2ZXJzZTogMDtcbiAgICAgIC0tdHctYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIC0tdHctZ3JhZGllbnQtcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAtLXR3LWdyYWRpZW50LWZyb206ICMwMDAwO1xuICAgICAgLS10dy1ncmFkaWVudC12aWE6ICMwMDAwO1xuICAgICAgLS10dy1ncmFkaWVudC10bzogIzAwMDA7XG4gICAgICAtLXR3LWdyYWRpZW50LXN0b3BzOiBpbml0aWFsO1xuICAgICAgLS10dy1ncmFkaWVudC12aWEtc3RvcHM6IGluaXRpYWw7XG4gICAgICAtLXR3LWdyYWRpZW50LWZyb20tcG9zaXRpb246IDAlO1xuICAgICAgLS10dy1ncmFkaWVudC12aWEtcG9zaXRpb246IDUwJTtcbiAgICAgIC0tdHctZ3JhZGllbnQtdG8tcG9zaXRpb246IDEwMCU7XG4gICAgICAtLXR3LWxlYWRpbmc6IGluaXRpYWw7XG4gICAgICAtLXR3LWZvbnQtd2VpZ2h0OiBpbml0aWFsO1xuICAgICAgLS10dy10cmFja2luZzogaW5pdGlhbDtcbiAgICAgIC0tdHctb3JkaW5hbDogaW5pdGlhbDtcbiAgICAgIC0tdHctc2xhc2hlZC16ZXJvOiBpbml0aWFsO1xuICAgICAgLS10dy1udW1lcmljLWZpZ3VyZTogaW5pdGlhbDtcbiAgICAgIC0tdHctbnVtZXJpYy1zcGFjaW5nOiBpbml0aWFsO1xuICAgICAgLS10dy1udW1lcmljLWZyYWN0aW9uOiBpbml0aWFsO1xuICAgICAgLS10dy1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctc2hhZG93LWNvbG9yOiBpbml0aWFsO1xuICAgICAgLS10dy1zaGFkb3ctYWxwaGE6IDEwMCU7XG4gICAgICAtLXR3LWluc2V0LXNoYWRvdzogMCAwICMwMDAwO1xuICAgICAgLS10dy1pbnNldC1zaGFkb3ctY29sb3I6IGluaXRpYWw7XG4gICAgICAtLXR3LWluc2V0LXNoYWRvdy1hbHBoYTogMTAwJTtcbiAgICAgIC0tdHctcmluZy1jb2xvcjogaW5pdGlhbDtcbiAgICAgIC0tdHctcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctaW5zZXQtcmluZy1jb2xvcjogaW5pdGlhbDtcbiAgICAgIC0tdHctaW5zZXQtcmluZy1zaGFkb3c6IDAgMCAjMDAwMDtcbiAgICAgIC0tdHctcmluZy1pbnNldDogaW5pdGlhbDtcbiAgICAgIC0tdHctcmluZy1vZmZzZXQtd2lkdGg6IDBweDtcbiAgICAgIC0tdHctcmluZy1vZmZzZXQtY29sb3I6ICNmZmY7XG4gICAgICAtLXR3LXJpbmctb2Zmc2V0LXNoYWRvdzogMCAwICMwMDAwO1xuICAgICAgLS10dy1ibHVyOiBpbml0aWFsO1xuICAgICAgLS10dy1icmlnaHRuZXNzOiBpbml0aWFsO1xuICAgICAgLS10dy1jb250cmFzdDogaW5pdGlhbDtcbiAgICAgIC0tdHctZ3JheXNjYWxlOiBpbml0aWFsO1xuICAgICAgLS10dy1odWUtcm90YXRlOiBpbml0aWFsO1xuICAgICAgLS10dy1pbnZlcnQ6IGluaXRpYWw7XG4gICAgICAtLXR3LW9wYWNpdHk6IGluaXRpYWw7XG4gICAgICAtLXR3LXNhdHVyYXRlOiBpbml0aWFsO1xuICAgICAgLS10dy1zZXBpYTogaW5pdGlhbDtcbiAgICAgIC0tdHctZHJvcC1zaGFkb3c6IGluaXRpYWw7XG4gICAgICAtLXR3LWRyb3Atc2hhZG93LWNvbG9yOiBpbml0aWFsO1xuICAgICAgLS10dy1kcm9wLXNoYWRvdy1hbHBoYTogMTAwJTtcbiAgICAgIC0tdHctZHJvcC1zaGFkb3ctc2l6ZTogaW5pdGlhbDtcbiAgICAgIC0tdHctYmFja2Ryb3AtYmx1cjogaW5pdGlhbDtcbiAgICAgIC0tdHctYmFja2Ryb3AtYnJpZ2h0bmVzczogaW5pdGlhbDtcbiAgICAgIC0tdHctYmFja2Ryb3AtY29udHJhc3Q6IGluaXRpYWw7XG4gICAgICAtLXR3LWJhY2tkcm9wLWdyYXlzY2FsZTogaW5pdGlhbDtcbiAgICAgIC0tdHctYmFja2Ryb3AtaHVlLXJvdGF0ZTogaW5pdGlhbDtcbiAgICAgIC0tdHctYmFja2Ryb3AtaW52ZXJ0OiBpbml0aWFsO1xuICAgICAgLS10dy1iYWNrZHJvcC1vcGFjaXR5OiBpbml0aWFsO1xuICAgICAgLS10dy1iYWNrZHJvcC1zYXR1cmF0ZTogaW5pdGlhbDtcbiAgICAgIC0tdHctYmFja2Ryb3Atc2VwaWE6IGluaXRpYWw7XG4gICAgICAtLXR3LWR1cmF0aW9uOiBpbml0aWFsO1xuICAgICAgLS10dy1lYXNlOiBpbml0aWFsO1xuICAgICAgLS10dy1zY2FsZS14OiAxO1xuICAgICAgLS10dy1zY2FsZS15OiAxO1xuICAgICAgLS10dy1zY2FsZS16OiAxO1xuICAgICAgLS10dy1vdXRsaW5lLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn0iLCAiLmJvbG8tcmVhZGVyIHsgcGFkZGluZzogMS41cmVtIDAgM3JlbTsgfVxuLnJlYWRlci1oZWFkaW5nIHsgZGlzcGxheTpmbGV4OyBhbGlnbi1pdGVtczpmbGV4LXN0YXJ0OyBnYXA6MXJlbTsganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47IGJvcmRlci1ib3R0b206MXB4IHNvbGlkICNlNGU0ZTc7IHBhZGRpbmctYm90dG9tOjEuMjVyZW07IH1cbi5yZWFkZXItaGVhZGluZyBoMiB7IGZvbnQtc2l6ZToxLjE1cmVtOyBmb250LXdlaWdodDo2NTA7IH1cbi5yZWFkZXItaGVhZGluZyBwLCAucmVhZGVyLWZvb3RlciB7IGZvbnQtc2l6ZTouOHJlbTsgY29sb3I6IzcxNzE3YTsgbWFyZ2luLXRvcDouMzVyZW07IH1cbi5yZWFkZXItZm9sbG93IHsgY29sb3I6IzI1NjNlYjsgZm9udC1zaXplOi44cmVtOyBmbGV4LXNocmluazowOyBwYWRkaW5nOi40cmVtIC4ycmVtOyB9XG4ucmVhZGVyLXByb3NlIHsgZm9udDogMS4ycmVtLzEuOTUgR2VvcmdpYSwgJ1RpbWVzIE5ldyBSb21hbicsIHNlcmlmOyBtYXJnaW46MS43NXJlbSAwOyBvdmVyZmxvdy13cmFwOmFueXdoZXJlOyB9XG4ucmVhZGVyLXByb3NlIHAgeyBtYXJnaW46MCAwIDEuMmVtOyB9XG4ucmVhZGVyLXNlbnRlbmNlIHsgYm9yZGVyLXJhZGl1czozcHg7IGN1cnNvcjpwb2ludGVyOyAtbW96LXVzZXItc2VsZWN0OnRleHQ7IHVzZXItc2VsZWN0OnRleHQ7IC13ZWJraXQtdXNlci1zZWxlY3Q6dGV4dDsgYm94LWRlY29yYXRpb24tYnJlYWs6Y2xvbmU7IC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6Y2xvbmU7IHBhZGRpbmc6IC4xMmVtIDA7IHRyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAxMjBtczsgc2Nyb2xsLW1hcmdpbjoxMjBweDsgfVxuLnJlYWRlci1zZW50ZW5jZTpob3ZlciB7IGJhY2tncm91bmQ6I2VmZjZmZjsgfVxuLnJlYWRlci1zZW50ZW5jZS5pcy1jdXJyZW50IHsgYmFja2dyb3VuZDojZGJlYWZlOyBjb2xvcjojMWUzYThhOyB9XG4ucmVhZGVyLXNlbnRlbmNlLmlzLXBlbmRpbmcgeyBvcGFjaXR5Oi40OyBjdXJzb3I6ZGVmYXVsdDsgfVxuLnJlYWRlci1zZW50ZW5jZTpmb2N1cy12aXNpYmxlLCAucmVhZGVyLWZvbGxvdzpmb2N1cy12aXNpYmxlLCAucmVhZGVyLXNlbGVjdGlvbiBidXR0b246Zm9jdXMtdmlzaWJsZSB7IG91dGxpbmU6MnB4IHNvbGlkICMyNTYzZWI7IG91dGxpbmUtb2Zmc2V0OjRweDsgfVxuLnJlYWRlci1zZWxlY3Rpb24geyBwb3NpdGlvbjpzdGlja3k7IHRvcDoxcmVtOyB6LWluZGV4OjIwOyBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcjsganVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW47IGdhcDouNzVyZW07IG1hcmdpbi10b3A6MXJlbTsgcGFkZGluZzouN3JlbSAxcmVtOyBiYWNrZ3JvdW5kOiMxODE4MWI7IGNvbG9yOndoaXRlOyBib3JkZXItcmFkaXVzOjhweDsgZm9udC1zaXplOi44cmVtOyBib3gtc2hhZG93OjAgNHB4IDE2cHggIzAwMDI7IH1cbi5yZWFkZXItc2VsZWN0aW9uIGJ1dHRvbiB7IGJhY2tncm91bmQ6IzI1NjNlYjsgY29sb3I6d2hpdGU7IHBhZGRpbmc6LjQ1cmVtIC43cmVtOyBib3JkZXItcmFkaXVzOjVweDsgfVxuLnJlYWRlci1zZWxlY3Rpb24gYnV0dG9uOmRpc2FibGVkIHsgb3BhY2l0eTouNDsgfVxuLnJlYWRlci1mb290ZXIgeyBib3JkZXItdG9wOjFweCBzb2xpZCAjZTRlNGU3OyBwYWRkaW5nLXRvcDoxcmVtOyBkaXNwbGF5OmZsZXg7IGp1c3RpZnktY29udGVudDpzcGFjZS1iZXR3ZWVuOyBnYXA6MXJlbTsgfVxuLnJlYWRlci1mb290ZXIgYnV0dG9uIHsgY29sb3I6IzI1NjNlYjsgd2hpdGUtc3BhY2U6bm93cmFwOyB9XG4uZGFyayAucmVhZGVyLWhlYWRpbmcsIC5kYXJrIC5yZWFkZXItZm9vdGVyIHsgYm9yZGVyLWNvbG9yOiMyNzI3MmE7IH1cbi5kYXJrIC5yZWFkZXItc2VudGVuY2U6aG92ZXIgeyBiYWNrZ3JvdW5kOiMxNzI1NTQ7IH1cbi5kYXJrIC5yZWFkZXItc2VudGVuY2UuaXMtY3VycmVudCB7IGJhY2tncm91bmQ6IzFlM2E4YTsgY29sb3I6I2VmZjZmZjsgfVxuQG1lZGlhKG1heC13aWR0aDo0ODBweCkgeyAucmVhZGVyLWhlYWRpbmcgeyBmbGV4LXdyYXA6d3JhcDsgZ2FwOi41cmVtOyB9IC5yZWFkZXItcHJvc2UgeyBmb250LXNpemU6MS4xMnJlbTsgfSB9XG5AbWVkaWEocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjpyZWR1Y2UpIHsgLnJlYWRlci1zZW50ZW5jZSB7IHRyYW5zaXRpb246bm9uZTsgfSB9XG4ucmVhZGVyLXdvcmQgeyBjdXJzb3I6IHBvaW50ZXI7IGJvcmRlci1yYWRpdXM6IDNweDsgfVxuLnJlYWRlci13b3JkOmhvdmVyIHsgYmFja2dyb3VuZDogI2VmZjZmZjsgfVxuLnJlYWRlci13b3JkLmlzLWN1cnJlbnQgeyBiYWNrZ3JvdW5kOiAjZGJlYWZlOyBjb2xvcjogIzFkNGVkODsgfVxuLnJlYWRlci13b3JkOmZvY3VzLXZpc2libGUgeyBvdXRsaW5lOiAycHggc29saWQgIzI1NjNlYjsgb3V0bGluZS1vZmZzZXQ6IDJweDsgfVxuLmRhcmsgLnJlYWRlci13b3JkOmhvdmVyIHsgYmFja2dyb3VuZDogIzE3MjU1NDsgfVxuLmRhcmsgLnJlYWRlci13b3JkLmlzLWN1cnJlbnQgeyBiYWNrZ3JvdW5kOiAjMWUzYThhOyBjb2xvcjogI2RiZWFmZTsgfVxuIl0sCiAgIm1hcHBpbmdzIjogIjtBQUNBO0FBQ0E7QUFDQTtBQUNFO0FBQUEsRUFBTztBQUNMO0FBQUEsTUFBYSxhQUFhO0FBQUEsTUFBRSxTQUFTO0FBQUEsTUFBRSxVQUFVO0FBQUEsTUFBRSxtQkFBbUI7QUFBQSxNQUNwRSxnQkFBZ0I7QUFBQSxNQUFFLGlCQUFpQjtBQUFB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 */
