@charset "UTF-8";
[data-theme=light],
:root:not([data-theme=dark]) {
  --mt-commenti-form-background: #f5f5f5;
  --mt-necrolori-form-background: #f5f5f5;
  --mt-homepage-opening-background: color-mix(in srgb, var(--pico-primary) 10%, #fff 90%);
  --mt-gallery-background: color-mix(in srgb, var(--pico-primary) 5%, #fff 95%);
}

[data-theme=dark],
:root[data-theme=dark] {
  --mt-commenti-form-background: #121212;
  --mt-necrolori-form-background: #121212;
  --mt-homepage-opening-background: color-mix(in srgb, var(--pico-primary) 10%, #000 90%);
  --mt-gallery-background: color-mix(in srgb, var(--pico-primary) 5%, #000 95%);
}

@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/inter/inter-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/inter/inter-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/inter/inter-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Inter";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/inter/inter-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/merriweather/merriweather-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/merriweather/merriweather-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/merriweather/merriweather-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Merriweather";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/merriweather/merriweather-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/noto-sans/noto-sans-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/noto-sans/noto-sans-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/noto-sans/noto-sans-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Sans";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/noto-sans/noto-sans-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/noto-serif/noto-serif-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/noto-serif/noto-serif-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/noto-serif/noto-serif-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Noto Serif";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/noto-serif/noto-serif-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/open-sans/open-sans-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/open-sans/open-sans-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/open-sans/open-sans-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Open Sans";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/open-sans/open-sans-700italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  src: url("./../fonts/roboto/roboto-regular.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 400;
  src: url("./../fonts/roboto/roboto-italic.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  src: url("./../fonts/roboto/roboto-700.woff2") format("woff2");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: italic;
  font-weight: 700;
  src: url("./../fonts/roboto/roboto-700italic.woff2") format("woff2");
}
/*!
 * Pico CSS ✨ v2.1.1 (https://picocss.com)
 * Copyright 2019-2025 - Licensed under MIT
 */
/**
 * Styles
 */
:root,
:host {
  --pico-font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --pico-font-family-sans-serif: system-ui, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Helvetica, Arial, "Helvetica Neue", sans-serif, var(--pico-font-family-emoji);
  --pico-font-family-monospace: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace, var(--pico-font-family-emoji);
  --pico-font-family: var(--pico-font-family-sans-serif);
  --pico-line-height: 1.5;
  --pico-font-weight: 400;
  --pico-font-size: 100%;
  --pico-text-underline-offset: 0.1rem;
  --pico-border-radius: 0.25rem;
  --pico-border-width: 0.0625rem;
  --pico-outline-width: 0.125rem;
  --pico-transition: 0.2s ease-in-out;
  --pico-spacing: 1rem;
  --pico-typography-spacing-vertical: 1rem;
  --pico-block-spacing-vertical: var(--pico-spacing);
  --pico-block-spacing-horizontal: var(--pico-spacing);
  --pico-grid-column-gap: var(--pico-spacing);
  --pico-grid-row-gap: var(--pico-spacing);
  --pico-form-element-spacing-vertical: 0.75rem;
  --pico-form-element-spacing-horizontal: 1rem;
  --pico-group-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
  --pico-group-box-shadow-focus-with-input: 0 0 0 0.0625rem var(--pico-form-element-border-color);
  --pico-nav-element-spacing-vertical: 1rem;
  --pico-nav-element-spacing-horizontal: 0.5rem;
  --pico-nav-link-spacing-vertical: 0.5rem;
  --pico-nav-link-spacing-horizontal: 0.5rem;
  --pico-nav-breadcrumb-divider: ">";
  --pico-icon-checkbox: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");
  --pico-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(136, 145, 164)' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");
}
@media (min-width: 576px) {
  :root,
  :host {
    --pico-font-size: 106.25%;
  }
}
@media (min-width: 768px) {
  :root,
  :host {
    --pico-font-size: 112.5%;
  }
}
@media (min-width: 1024px) {
  :root,
  :host {
    --pico-font-size: 118.75%;
  }
}
@media (min-width: 1280px) {
  :root,
  :host {
    --pico-font-size: 125%;
  }
}
@media (min-width: 1536px) {
  :root,
  :host {
    --pico-font-size: 131.25%;
  }
}

a {
  --pico-text-decoration: underline;
}
a.secondary, a.contrast {
  --pico-text-decoration: underline;
}

small {
  --pico-font-size: 0.875em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  --pico-font-weight: 700;
}

h1 {
  --pico-font-size: 2rem;
  --pico-line-height: 1.125;
  --pico-typography-spacing-top: 3rem;
}

h2 {
  --pico-font-size: 1.75rem;
  --pico-line-height: 1.15;
  --pico-typography-spacing-top: 2.625rem;
}

h3 {
  --pico-font-size: 1.5rem;
  --pico-line-height: 1.175;
  --pico-typography-spacing-top: 2.25rem;
}

h4 {
  --pico-font-size: 1.25rem;
  --pico-line-height: 1.2;
  --pico-typography-spacing-top: 1.874rem;
}

h5 {
  --pico-font-size: 1.125rem;
  --pico-line-height: 1.225;
  --pico-typography-spacing-top: 1.6875rem;
}

h6 {
  --pico-font-size: 1rem;
  --pico-line-height: 1.25;
  --pico-typography-spacing-top: 1.5rem;
}

input:not([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:where(select, textarea) {
  --pico-outline-width: 0.0625rem;
}

[type=search] {
  --pico-border-radius: 5rem;
}

[type=checkbox],
[type=radio] {
  --pico-border-width: 0.125rem;
}

[type=checkbox][role=switch] {
  --pico-border-width: 0.1875rem;
}

details.dropdown summary:not([role=button]) {
  --pico-outline-width: 0.0625rem;
}

nav details.dropdown summary:focus-visible {
  --pico-outline-width: 0.125rem;
}

[role=search] {
  --pico-border-radius: 5rem;
}

[role=search]:has(button.secondary:focus,
[type=submit].secondary:focus,
[type=button].secondary:focus,
[role=button].secondary:focus),
[role=group]:has(button.secondary:focus,
[type=submit].secondary:focus,
[type=button].secondary:focus,
[role=button].secondary:focus) {
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
}
[role=search]:has(button.contrast:focus,
[type=submit].contrast:focus,
[type=button].contrast:focus,
[role=button].contrast:focus),
[role=group]:has(button.contrast:focus,
[type=submit].contrast:focus,
[type=button].contrast:focus,
[role=button].contrast:focus) {
  --pico-group-box-shadow-focus-with-button: 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus);
}
[role=search] button,
[role=search] [type=submit],
[role=search] [type=button],
[role=search] [role=button],
[role=group] button,
[role=group] [type=submit],
[role=group] [type=button],
[role=group] [role=button] {
  --pico-form-element-spacing-horizontal: 2rem;
}

details summary[role=button]:not(.outline)::after {
  filter: brightness(0) invert(1);
}

/**
 * Color schemes
 */
[data-theme=light],
:root:not([data-theme=dark]),
:host(:not([data-theme=dark])) {
  color-scheme: light;
  --pico-background-color: #fff;
  --pico-color: #373c44;
  --pico-text-selection-color: rgba(2, 154, 232, 0.25);
  --pico-muted-color: #646b79;
  --pico-muted-border-color: rgb(231, 234, 239.5);
  --pico-primary: #0172ad;
  --pico-primary-background: #0172ad;
  --pico-primary-border: var(--pico-primary-background);
  --pico-primary-underline: rgba(1, 114, 173, 0.5);
  --pico-primary-hover: #015887;
  --pico-primary-hover-background: #02659a;
  --pico-primary-hover-border: var(--pico-primary-hover-background);
  --pico-primary-hover-underline: var(--pico-primary-hover);
  --pico-primary-focus: rgba(2, 154, 232, 0.5);
  --pico-primary-inverse: #fff;
  --pico-secondary: #5d6b89;
  --pico-secondary-background: #525f7a;
  --pico-secondary-border: var(--pico-secondary-background);
  --pico-secondary-underline: rgba(93, 107, 137, 0.5);
  --pico-secondary-hover: #48536b;
  --pico-secondary-hover-background: #48536b;
  --pico-secondary-hover-border: var(--pico-secondary-hover-background);
  --pico-secondary-hover-underline: var(--pico-secondary-hover);
  --pico-secondary-focus: rgba(93, 107, 137, 0.25);
  --pico-secondary-inverse: #fff;
  --pico-contrast: #181c25;
  --pico-contrast-background: #181c25;
  --pico-contrast-border: var(--pico-contrast-background);
  --pico-contrast-underline: rgba(24, 28, 37, 0.5);
  --pico-contrast-hover: #000;
  --pico-contrast-hover-background: #000;
  --pico-contrast-hover-border: var(--pico-contrast-hover-background);
  --pico-contrast-hover-underline: var(--pico-secondary-hover);
  --pico-contrast-focus: rgba(93, 107, 137, 0.25);
  --pico-contrast-inverse: #fff;
  --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(129, 145, 181, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(129, 145, 181, 0.024), 0.0625rem 0.125rem 0.75rem rgba(129, 145, 181, 0.03), 0.1125rem 0.225rem 1.35rem rgba(129, 145, 181, 0.036), 0.2085rem 0.417rem 2.502rem rgba(129, 145, 181, 0.04302), 0.5rem 1rem 6rem rgba(129, 145, 181, 0.06), 0 0 0 0.0625rem rgba(129, 145, 181, 0.015);
  --pico-h1-color: #2d3138;
  --pico-h2-color: #373c44;
  --pico-h3-color: #424751;
  --pico-h4-color: #4d535e;
  --pico-h5-color: #5c6370;
  --pico-h6-color: #646b79;
  --pico-mark-background-color: rgb(252.5, 230.5, 191.5);
  --pico-mark-color: #0f1114;
  --pico-ins-color: rgb(28.5, 105.5, 84);
  --pico-del-color: rgb(136, 56.5, 53);
  --pico-blockquote-border-color: var(--pico-muted-border-color);
  --pico-blockquote-footer-color: var(--pico-muted-color);
  --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-form-element-background-color: rgb(251, 251.5, 252.25);
  --pico-form-element-selected-background-color: #dfe3eb;
  --pico-form-element-border-color: #cfd5e2;
  --pico-form-element-color: #23262c;
  --pico-form-element-placeholder-color: var(--pico-muted-color);
  --pico-form-element-active-background-color: #fff;
  --pico-form-element-active-border-color: var(--pico-primary-border);
  --pico-form-element-focus-color: var(--pico-primary-border);
  --pico-form-element-disabled-opacity: 0.5;
  --pico-form-element-invalid-border-color: rgb(183.5, 105.5, 106.5);
  --pico-form-element-invalid-active-border-color: rgb(200.25, 79.25, 72.25);
  --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
  --pico-form-element-valid-border-color: rgb(76, 154.5, 137.5);
  --pico-form-element-valid-active-border-color: rgb(39, 152.75, 118.75);
  --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
  --pico-switch-background-color: #bfc7d9;
  --pico-switch-checked-background-color: var(--pico-primary-background);
  --pico-switch-color: #fff;
  --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-accordion-border-color: var(--pico-muted-border-color);
  --pico-accordion-active-summary-color: var(--pico-primary-hover);
  --pico-accordion-close-summary-color: var(--pico-color);
  --pico-accordion-open-summary-color: var(--pico-muted-color);
  --pico-card-background-color: var(--pico-background-color);
  --pico-card-border-color: var(--pico-muted-border-color);
  --pico-card-box-shadow: var(--pico-box-shadow);
  --pico-card-sectioning-background-color: rgb(251, 251.5, 252.25);
  --pico-dropdown-background-color: #fff;
  --pico-dropdown-border-color: #eff1f4;
  --pico-dropdown-box-shadow: var(--pico-box-shadow);
  --pico-dropdown-color: var(--pico-color);
  --pico-dropdown-hover-background-color: #eff1f4;
  --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(76, 154.5, 137.5)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(200.25, 79.25, 72.25)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
[data-theme=light] input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:root:not([data-theme=dark]) input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]),
:host(:not([data-theme=dark])) input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]) {
  --pico-form-element-focus-color: var(--pico-primary-focus);
}

@media only screen and (prefers-color-scheme: dark) {
  :root:not([data-theme]),
  :host(:not([data-theme])) {
    color-scheme: dark;
    --pico-background-color: rgb(19, 22.5, 30.5);
    --pico-color: #c2c7d0;
    --pico-text-selection-color: rgba(1, 170, 255, 0.1875);
    --pico-muted-color: #7b8495;
    --pico-muted-border-color: #202632;
    --pico-primary: #01aaff;
    --pico-primary-background: #0172ad;
    --pico-primary-border: var(--pico-primary-background);
    --pico-primary-underline: rgba(1, 170, 255, 0.5);
    --pico-primary-hover: #79c0ff;
    --pico-primary-hover-background: #017fc0;
    --pico-primary-hover-border: var(--pico-primary-hover-background);
    --pico-primary-hover-underline: var(--pico-primary-hover);
    --pico-primary-focus: rgba(1, 170, 255, 0.375);
    --pico-primary-inverse: #fff;
    --pico-secondary: #969eaf;
    --pico-secondary-background: #525f7a;
    --pico-secondary-border: var(--pico-secondary-background);
    --pico-secondary-underline: rgba(150, 158, 175, 0.5);
    --pico-secondary-hover: #b3b9c5;
    --pico-secondary-hover-background: #5d6b89;
    --pico-secondary-hover-border: var(--pico-secondary-hover-background);
    --pico-secondary-hover-underline: var(--pico-secondary-hover);
    --pico-secondary-focus: rgba(144, 158, 190, 0.25);
    --pico-secondary-inverse: #fff;
    --pico-contrast: #dfe3eb;
    --pico-contrast-background: #eff1f4;
    --pico-contrast-border: var(--pico-contrast-background);
    --pico-contrast-underline: rgba(223, 227, 235, 0.5);
    --pico-contrast-hover: #fff;
    --pico-contrast-hover-background: #fff;
    --pico-contrast-hover-border: var(--pico-contrast-hover-background);
    --pico-contrast-hover-underline: var(--pico-contrast-hover);
    --pico-contrast-focus: rgba(207, 213, 226, 0.25);
    --pico-contrast-inverse: #000;
    --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
    --pico-h1-color: #f0f1f3;
    --pico-h2-color: #e0e3e7;
    --pico-h3-color: #c2c7d0;
    --pico-h4-color: #b3b9c5;
    --pico-h5-color: #a4acba;
    --pico-h6-color: #8891a4;
    --pico-mark-background-color: #014063;
    --pico-mark-color: #fff;
    --pico-ins-color: #62af9a;
    --pico-del-color: rgb(205.5, 126, 123);
    --pico-blockquote-border-color: var(--pico-muted-border-color);
    --pico-blockquote-footer-color: var(--pico-muted-color);
    --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-form-element-background-color: rgb(28, 33, 43.5);
    --pico-form-element-selected-background-color: #2a3140;
    --pico-form-element-border-color: #2a3140;
    --pico-form-element-color: #e0e3e7;
    --pico-form-element-placeholder-color: #8891a4;
    --pico-form-element-active-background-color: rgb(26, 30.5, 40.25);
    --pico-form-element-active-border-color: var(--pico-primary-border);
    --pico-form-element-focus-color: var(--pico-primary-border);
    --pico-form-element-disabled-opacity: 0.5;
    --pico-form-element-invalid-border-color: rgb(149.5, 74, 80);
    --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
    --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
    --pico-form-element-valid-border-color: #2a7b6f;
    --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5);
    --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
    --pico-switch-background-color: #333c4e;
    --pico-switch-checked-background-color: var(--pico-primary-background);
    --pico-switch-color: #fff;
    --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    --pico-accordion-border-color: var(--pico-muted-border-color);
    --pico-accordion-active-summary-color: var(--pico-primary-hover);
    --pico-accordion-close-summary-color: var(--pico-color);
    --pico-accordion-open-summary-color: var(--pico-muted-color);
    --pico-card-background-color: #181c25;
    --pico-card-border-color: var(--pico-card-background-color);
    --pico-card-box-shadow: var(--pico-box-shadow);
    --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25);
    --pico-dropdown-background-color: #181c25;
    --pico-dropdown-border-color: #202632;
    --pico-dropdown-box-shadow: var(--pico-box-shadow);
    --pico-dropdown-color: var(--pico-color);
    --pico-dropdown-hover-background-color: #202632;
    --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
    --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
  }
  :root:not([data-theme]) input:is([type=submit],
  [type=button],
  [type=reset],
  [type=checkbox],
  [type=radio],
  [type=file]),
  :host(:not([data-theme])) input:is([type=submit],
  [type=button],
  [type=reset],
  [type=checkbox],
  [type=radio],
  [type=file]) {
    --pico-form-element-focus-color: var(--pico-primary-focus);
  }
  :root:not([data-theme]) details summary[role=button].contrast:not(.outline)::after,
  :host(:not([data-theme])) details summary[role=button].contrast:not(.outline)::after {
    filter: brightness(0);
  }
}
[data-theme=dark] {
  color-scheme: dark;
  --pico-background-color: rgb(19, 22.5, 30.5);
  --pico-color: #c2c7d0;
  --pico-text-selection-color: rgba(1, 170, 255, 0.1875);
  --pico-muted-color: #7b8495;
  --pico-muted-border-color: #202632;
  --pico-primary: #01aaff;
  --pico-primary-background: #0172ad;
  --pico-primary-border: var(--pico-primary-background);
  --pico-primary-underline: rgba(1, 170, 255, 0.5);
  --pico-primary-hover: #79c0ff;
  --pico-primary-hover-background: #017fc0;
  --pico-primary-hover-border: var(--pico-primary-hover-background);
  --pico-primary-hover-underline: var(--pico-primary-hover);
  --pico-primary-focus: rgba(1, 170, 255, 0.375);
  --pico-primary-inverse: #fff;
  --pico-secondary: #969eaf;
  --pico-secondary-background: #525f7a;
  --pico-secondary-border: var(--pico-secondary-background);
  --pico-secondary-underline: rgba(150, 158, 175, 0.5);
  --pico-secondary-hover: #b3b9c5;
  --pico-secondary-hover-background: #5d6b89;
  --pico-secondary-hover-border: var(--pico-secondary-hover-background);
  --pico-secondary-hover-underline: var(--pico-secondary-hover);
  --pico-secondary-focus: rgba(144, 158, 190, 0.25);
  --pico-secondary-inverse: #fff;
  --pico-contrast: #dfe3eb;
  --pico-contrast-background: #eff1f4;
  --pico-contrast-border: var(--pico-contrast-background);
  --pico-contrast-underline: rgba(223, 227, 235, 0.5);
  --pico-contrast-hover: #fff;
  --pico-contrast-hover-background: #fff;
  --pico-contrast-hover-border: var(--pico-contrast-hover-background);
  --pico-contrast-hover-underline: var(--pico-contrast-hover);
  --pico-contrast-focus: rgba(207, 213, 226, 0.25);
  --pico-contrast-inverse: #000;
  --pico-box-shadow: 0.0145rem 0.029rem 0.174rem rgba(7, 8.5, 12, 0.01698), 0.0335rem 0.067rem 0.402rem rgba(7, 8.5, 12, 0.024), 0.0625rem 0.125rem 0.75rem rgba(7, 8.5, 12, 0.03), 0.1125rem 0.225rem 1.35rem rgba(7, 8.5, 12, 0.036), 0.2085rem 0.417rem 2.502rem rgba(7, 8.5, 12, 0.04302), 0.5rem 1rem 6rem rgba(7, 8.5, 12, 0.06), 0 0 0 0.0625rem rgba(7, 8.5, 12, 0.015);
  --pico-h1-color: #f0f1f3;
  --pico-h2-color: #e0e3e7;
  --pico-h3-color: #c2c7d0;
  --pico-h4-color: #b3b9c5;
  --pico-h5-color: #a4acba;
  --pico-h6-color: #8891a4;
  --pico-mark-background-color: #014063;
  --pico-mark-color: #fff;
  --pico-ins-color: #62af9a;
  --pico-del-color: rgb(205.5, 126, 123);
  --pico-blockquote-border-color: var(--pico-muted-border-color);
  --pico-blockquote-footer-color: var(--pico-muted-color);
  --pico-button-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-button-hover-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-form-element-background-color: rgb(28, 33, 43.5);
  --pico-form-element-selected-background-color: #2a3140;
  --pico-form-element-border-color: #2a3140;
  --pico-form-element-color: #e0e3e7;
  --pico-form-element-placeholder-color: #8891a4;
  --pico-form-element-active-background-color: rgb(26, 30.5, 40.25);
  --pico-form-element-active-border-color: var(--pico-primary-border);
  --pico-form-element-focus-color: var(--pico-primary-border);
  --pico-form-element-disabled-opacity: 0.5;
  --pico-form-element-invalid-border-color: rgb(149.5, 74, 80);
  --pico-form-element-invalid-active-border-color: rgb(183.25, 63.5, 59);
  --pico-form-element-invalid-focus-color: var(--pico-form-element-invalid-active-border-color);
  --pico-form-element-valid-border-color: #2a7b6f;
  --pico-form-element-valid-active-border-color: rgb(22, 137, 105.5);
  --pico-form-element-valid-focus-color: var(--pico-form-element-valid-active-border-color);
  --pico-switch-background-color: #333c4e;
  --pico-switch-checked-background-color: var(--pico-primary-background);
  --pico-switch-color: #fff;
  --pico-switch-thumb-box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  --pico-accordion-border-color: var(--pico-muted-border-color);
  --pico-accordion-active-summary-color: var(--pico-primary-hover);
  --pico-accordion-close-summary-color: var(--pico-color);
  --pico-accordion-open-summary-color: var(--pico-muted-color);
  --pico-card-background-color: #181c25;
  --pico-card-border-color: var(--pico-card-background-color);
  --pico-card-box-shadow: var(--pico-box-shadow);
  --pico-card-sectioning-background-color: rgb(26, 30.5, 40.25);
  --pico-dropdown-background-color: #181c25;
  --pico-dropdown-border-color: #202632;
  --pico-dropdown-box-shadow: var(--pico-box-shadow);
  --pico-dropdown-color: var(--pico-color);
  --pico-dropdown-hover-background-color: #202632;
  --pico-icon-valid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(42, 123, 111)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
  --pico-icon-invalid: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(149.5, 74, 80)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");
}
[data-theme=dark] input:is([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[type=file]) {
  --pico-form-element-focus-color: var(--pico-primary-focus);
}
[data-theme=dark] details summary[role=button].contrast:not(.outline)::after {
  filter: brightness(0);
}

progress,
[type=checkbox],
[type=radio],
[type=range] {
  accent-color: var(--pico-primary);
}

/**
 * Document
 * Content-box & Responsive typography
 */
*,
*::before,
*::after {
  box-sizing: border-box;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

:where(:root),
:where(:host) {
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
       text-size-adjust: 100%;
  background-color: var(--pico-background-color);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: var(--pico-font-size);
  line-height: var(--pico-line-height);
  font-family: var(--pico-font-family);
  text-underline-offset: var(--pico-text-underline-offset);
  text-rendering: optimizeLegibility;
  overflow-wrap: break-word;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
}

/**
 * Landmarks
 */
body {
  width: 100%;
  margin: 0;
}

main {
  display: block;
}

body > header,
body > main,
body > footer {
  padding-block: var(--pico-block-spacing-vertical);
}

/**
 * Section
 */
section {
  margin-bottom: var(--pico-block-spacing-vertical);
}

/**
 * Container
 */
.container,
.container-fluid {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: var(--pico-spacing);
  padding-left: var(--pico-spacing);
}

@media (min-width: 576px) {
  .container {
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 100%;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {
  .container {
    max-width: 1280px;
  }
}

/**
 * Grid
 * Minimal grid system with auto-layout columns
 */
.grid {
  grid-column-gap: var(--pico-grid-column-gap);
  grid-row-gap: var(--pico-grid-row-gap);
  display: grid;
  grid-template-columns: 1fr;
}
@media (min-width: 768px) {
  .grid {
    grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));
  }
}
.grid > * {
  min-width: 0;
}

/**
 * Overflow auto
 */
.overflow-auto {
  overflow: auto;
}

/**
 * Typography
 */
b,
strong {
  font-weight: bolder;
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

address,
blockquote,
dl,
ol,
p,
pre,
table,
ul {
  margin-top: 0;
  margin-bottom: var(--pico-typography-spacing-vertical);
  color: var(--pico-color);
  font-style: normal;
  font-weight: var(--pico-font-weight);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: var(--pico-typography-spacing-vertical);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: var(--pico-font-size);
  line-height: var(--pico-line-height);
  font-family: var(--pico-font-family);
}

h1 {
  --pico-color: var(--pico-h1-color);
}

h2 {
  --pico-color: var(--pico-h2-color);
}

h3 {
  --pico-color: var(--pico-h3-color);
}

h4 {
  --pico-color: var(--pico-h4-color);
}

h5 {
  --pico-color: var(--pico-h5-color);
}

h6 {
  --pico-color: var(--pico-h6-color);
}

:where(article, address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) {
  margin-top: var(--pico-typography-spacing-top);
}

p {
  margin-bottom: var(--pico-typography-spacing-vertical);
}

hgroup {
  margin-bottom: var(--pico-typography-spacing-vertical);
}
hgroup > * {
  margin-top: 0;
  margin-bottom: 0;
}
hgroup > *:not(:first-child):last-child {
  --pico-color: var(--pico-muted-color);
  --pico-font-weight: unset;
  font-size: 1rem;
}

:where(ol, ul) li {
  margin-bottom: calc(var(--pico-typography-spacing-vertical) * 0.25);
}

:where(dl, ol, ul) :where(dl, ol, ul) {
  margin: 0;
  margin-top: calc(var(--pico-typography-spacing-vertical) * 0.25);
}

ul li {
  list-style: square;
}

mark {
  padding: 0.125rem 0.25rem;
  background-color: var(--pico-mark-background-color);
  color: var(--pico-mark-color);
  vertical-align: baseline;
}

blockquote {
  display: block;
  margin: var(--pico-typography-spacing-vertical) 0;
  padding: var(--pico-spacing);
  border-right: none;
  border-left: 0.25rem solid var(--pico-blockquote-border-color);
  border-inline-start: 0.25rem solid var(--pico-blockquote-border-color);
  border-inline-end: none;
}
blockquote footer {
  margin-top: calc(var(--pico-typography-spacing-vertical) * 0.5);
  color: var(--pico-blockquote-footer-color);
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
  cursor: help;
}

ins {
  color: var(--pico-ins-color);
  text-decoration: none;
}

del {
  color: var(--pico-del-color);
}

::-moz-selection {
  background-color: var(--pico-text-selection-color);
}

::selection {
  background-color: var(--pico-text-selection-color);
}

/**
 * Link
 */
:where(a:not([role=button])),
[role=link] {
  --pico-color: var(--pico-primary);
  --pico-background-color: transparent;
  --pico-underline: var(--pico-primary-underline);
  outline: none;
  background-color: var(--pico-background-color);
  color: var(--pico-color);
  -webkit-text-decoration: var(--pico-text-decoration);
          text-decoration: var(--pico-text-decoration);
  text-decoration-color: var(--pico-underline);
  text-underline-offset: 0.125em;
  transition: background-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition);
  transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition);
  transition: background-color var(--pico-transition), color var(--pico-transition), text-decoration var(--pico-transition), box-shadow var(--pico-transition), -webkit-text-decoration var(--pico-transition);
}
:where(a:not([role=button])):is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-primary-hover);
  --pico-underline: var(--pico-primary-hover-underline);
  --pico-text-decoration: underline;
}
:where(a:not([role=button])):focus-visible,
[role=link]:focus-visible {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}
:where(a:not([role=button])).secondary,
[role=link].secondary {
  --pico-color: var(--pico-secondary);
  --pico-underline: var(--pico-secondary-underline);
}
:where(a:not([role=button])).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link].secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-secondary-hover);
  --pico-underline: var(--pico-secondary-hover-underline);
}
:where(a:not([role=button])).contrast,
[role=link].contrast {
  --pico-color: var(--pico-contrast);
  --pico-underline: var(--pico-contrast-underline);
}
:where(a:not([role=button])).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[role=link].contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-contrast-hover);
  --pico-underline: var(--pico-contrast-hover-underline);
}

a[role=button] {
  display: inline-block;
}

/**
 * Button
 */
button {
  margin: 0;
  overflow: visible;
  font-family: inherit;
  text-transform: none;
}

button,
[type=submit],
[type=reset],
[type=button] {
  -webkit-appearance: button;
}

button,
[type=submit],
[type=reset],
[type=button],
[type=file]::file-selector-button,
[role=button] {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  --pico-color: var(--pico-primary-inverse);
  --pico-box-shadow: var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: var(--pico-border-radius);
  outline: none;
  background-color: var(--pico-background-color);
  box-shadow: var(--pico-box-shadow);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  font-size: 1rem;
  line-height: var(--pico-line-height);
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
}
button:is([aria-current]:not([aria-current=false])), button:is(:hover, :active, :focus),
[type=submit]:is([aria-current]:not([aria-current=false])),
[type=submit]:is(:hover, :active, :focus),
[type=reset]:is([aria-current]:not([aria-current=false])),
[type=reset]:is(:hover, :active, :focus),
[type=button]:is([aria-current]:not([aria-current=false])),
[type=button]:is(:hover, :active, :focus),
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])),
[type=file]::file-selector-button:is(:hover, :active, :focus),
[role=button]:is([aria-current]:not([aria-current=false])),
[role=button]:is(:hover, :active, :focus) {
  --pico-background-color: var(--pico-primary-hover-background);
  --pico-border-color: var(--pico-primary-hover-border);
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  --pico-color: var(--pico-primary-inverse);
}
button:focus, button:is([aria-current]:not([aria-current=false])):focus,
[type=submit]:focus,
[type=submit]:is([aria-current]:not([aria-current=false])):focus,
[type=reset]:focus,
[type=reset]:is([aria-current]:not([aria-current=false])):focus,
[type=button]:focus,
[type=button]:is([aria-current]:not([aria-current=false])):focus,
[type=file]::file-selector-button:focus,
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus,
[role=button]:focus,
[role=button]:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}

[type=submit],
[type=reset],
[type=button] {
  margin-bottom: var(--pico-spacing);
}

:is(button, [type=submit], [type=button], [role=button]).secondary,
[type=reset],
[type=file]::file-selector-button {
  --pico-background-color: var(--pico-secondary-background);
  --pico-border-color: var(--pico-secondary-border);
  --pico-color: var(--pico-secondary-inverse);
  cursor: pointer;
}
:is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset]:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: var(--pico-secondary-hover-background);
  --pico-border-color: var(--pico-secondary-hover-border);
  --pico-color: var(--pico-secondary-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).secondary:focus, :is(button, [type=submit], [type=button], [role=button]).secondary:is([aria-current]:not([aria-current=false])):focus,
[type=reset]:focus,
[type=reset]:is([aria-current]:not([aria-current=false])):focus,
[type=file]::file-selector-button:focus,
[type=file]::file-selector-button:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-secondary-focus);
}

:is(button, [type=submit], [type=button], [role=button]).contrast {
  --pico-background-color: var(--pico-contrast-background);
  --pico-border-color: var(--pico-contrast-border);
  --pico-color: var(--pico-contrast-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: var(--pico-contrast-hover-background);
  --pico-border-color: var(--pico-contrast-hover-border);
  --pico-color: var(--pico-contrast-inverse);
}
:is(button, [type=submit], [type=button], [role=button]).contrast:focus, :is(button, [type=submit], [type=button], [role=button]).contrast:is([aria-current]:not([aria-current=false])):focus {
  --pico-box-shadow: var(--pico-button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)), 0 0 0 var(--pico-outline-width) var(--pico-contrast-focus);
}

:is(button, [type=submit], [type=button], [role=button]).outline,
[type=reset].outline {
  --pico-background-color: transparent;
  --pico-color: var(--pico-primary);
  --pico-border-color: var(--pico-primary);
}
:is(button, [type=submit], [type=button], [role=button]).outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-background-color: transparent;
  --pico-color: var(--pico-primary-hover);
  --pico-border-color: var(--pico-primary-hover);
}

:is(button, [type=submit], [type=button], [role=button]).outline.secondary,
[type=reset].outline {
  --pico-color: var(--pico-secondary);
  --pico-border-color: var(--pico-secondary);
}
:is(button, [type=submit], [type=button], [role=button]).outline.secondary:is([aria-current]:not([aria-current=false]), :hover, :active, :focus),
[type=reset].outline:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-secondary-hover);
  --pico-border-color: var(--pico-secondary-hover);
}

:is(button, [type=submit], [type=button], [role=button]).outline.contrast {
  --pico-color: var(--pico-contrast);
  --pico-border-color: var(--pico-contrast);
}
:is(button, [type=submit], [type=button], [role=button]).outline.contrast:is([aria-current]:not([aria-current=false]), :hover, :active, :focus) {
  --pico-color: var(--pico-contrast-hover);
  --pico-border-color: var(--pico-contrast-hover);
}

:where(button, [type=submit], [type=reset], [type=button], [role=button])[disabled],
:where(fieldset[disabled]) :is(button, [type=submit], [type=button], [type=reset], [role=button]) {
  opacity: 0.5;
  pointer-events: none;
}

/**
 * Embedded content
 */
:where(audio, canvas, iframe, img, svg, video) {
  vertical-align: middle;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

:where(iframe) {
  border-style: none;
}

img {
  max-width: 100%;
  height: auto;
  border-style: none;
}

:where(svg:not([fill])) {
  fill: currentColor;
}

svg:not(:root),
svg:not(:host) {
  overflow: hidden;
}

/**
 * Figure
 */
figure {
  display: block;
  margin: 0;
  padding: 0;
}
figure figcaption {
  padding: calc(var(--pico-spacing) * 0.5) 0;
  color: var(--pico-muted-color);
}

/**
 * Misc
 */
hr {
  height: 0;
  margin: var(--pico-typography-spacing-vertical) 0;
  border: 0;
  border-top: 1px solid var(--pico-muted-border-color);
  color: inherit;
}

[hidden],
template {
  display: none !important;
}

canvas {
  display: inline-block;
}

/**
 * Basics form elements
 */
input,
optgroup,
select,
textarea {
  margin: 0;
  font-size: 1rem;
  line-height: var(--pico-line-height);
  font-family: inherit;
  letter-spacing: inherit;
}

input {
  overflow: visible;
}

select {
  text-transform: none;
}

legend {
  max-width: 100%;
  padding: 0;
  color: inherit;
  white-space: normal;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  padding: 0;
}

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

:-moz-focusring {
  outline: none;
}

:-moz-ui-invalid {
  box-shadow: none;
}

::-ms-expand {
  display: none;
}

[type=file],
[type=range] {
  padding: 0;
  border-width: 0;
}

input:not([type=checkbox], [type=radio], [type=range]) {
  height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
}

fieldset {
  width: 100%;
  margin: 0;
  margin-bottom: var(--pico-spacing);
  padding: 0;
  border: 0;
}

label,
fieldset legend {
  display: block;
  margin-bottom: calc(var(--pico-spacing) * 0.375);
  color: var(--pico-color);
  font-weight: var(--pico-form-label-font-weight, var(--pico-font-weight));
}

fieldset legend {
  margin-bottom: calc(var(--pico-spacing) * 0.5);
}

input:not([type=checkbox], [type=radio]),
button[type=submit],
select,
textarea {
  width: 100%;
}

input:not([type=checkbox], [type=radio], [type=range], [type=file]),
select,
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
}

input,
select,
textarea {
  --pico-background-color: var(--pico-form-element-background-color);
  --pico-border-color: var(--pico-form-element-border-color);
  --pico-color: var(--pico-form-element-color);
  --pico-box-shadow: none;
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: var(--pico-border-radius);
  outline: none;
  background-color: var(--pico-background-color);
  box-shadow: var(--pico-box-shadow);
  color: var(--pico-color);
  font-weight: var(--pico-font-weight);
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
}

input:not([type=submit],
[type=button],
[type=reset],
[type=checkbox],
[type=radio],
[readonly]):is(:active, :focus),
:where(select, textarea):not([readonly]):is(:active, :focus) {
  --pico-background-color: var(--pico-form-element-active-background-color);
}

input:not([type=submit], [type=button], [type=reset], [role=switch], [readonly]):is(:active, :focus),
:where(select, textarea):not([readonly]):is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-active-border-color);
}

input:not([type=submit],
[type=button],
[type=reset],
[type=range],
[type=file],
[readonly]):focus,
:where(select, textarea):not([readonly]):focus {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
}

input:not([type=submit], [type=button], [type=reset])[disabled],
select[disabled],
textarea[disabled],
label[aria-disabled=true],
:where(fieldset[disabled]) :is(input:not([type=submit], [type=button], [type=reset]), select, textarea) {
  opacity: var(--pico-form-element-disabled-opacity);
  pointer-events: none;
}

label[aria-disabled=true] input[disabled] {
  opacity: 1;
}

:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid] {
  padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important;
  padding-left: var(--pico-form-element-spacing-horizontal);
  padding-inline-start: var(--pico-form-element-spacing-horizontal) !important;
  padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem) !important;
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid=false]:not(select) {
  background-image: var(--pico-icon-valid);
}
:where(input, select, textarea):not([type=checkbox],
[type=radio],
[type=date],
[type=datetime-local],
[type=month],
[type=time],
[type=week],
[type=range])[aria-invalid=true]:not(select) {
  background-image: var(--pico-icon-invalid);
}
:where(input, select, textarea)[aria-invalid=false] {
  --pico-border-color: var(--pico-form-element-valid-border-color);
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-valid-active-border-color) !important;
}
:where(input, select, textarea)[aria-invalid=false]:is(:active, :focus):not([type=checkbox], [type=radio]) {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-valid-focus-color) !important;
}
:where(input, select, textarea)[aria-invalid=true] {
  --pico-border-color: var(--pico-form-element-invalid-border-color);
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus) {
  --pico-border-color: var(--pico-form-element-invalid-active-border-color) !important;
}
:where(input, select, textarea)[aria-invalid=true]:is(:active, :focus):not([type=checkbox], [type=radio]) {
  --pico-box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-invalid-focus-color) !important;
}

[dir=rtl] :where(input, select, textarea):not([type=checkbox], [type=radio]):is([aria-invalid], [aria-invalid=true], [aria-invalid=false]) {
  background-position: center left 0.75rem;
}

input::placeholder,
input::-webkit-input-placeholder,
textarea::placeholder,
textarea::-webkit-input-placeholder,
select:invalid {
  color: var(--pico-form-element-placeholder-color);
  opacity: 1;
}

input:not([type=checkbox], [type=radio]),
select,
textarea {
  margin-bottom: var(--pico-spacing);
}

select::-ms-expand {
  border: 0;
  background-color: transparent;
}
select:not([multiple], [size]) {
  padding-right: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);
  padding-left: var(--pico-form-element-spacing-horizontal);
  padding-inline-start: var(--pico-form-element-spacing-horizontal);
  padding-inline-end: calc(var(--pico-form-element-spacing-horizontal) + 1.5rem);
  background-image: var(--pico-icon-chevron);
  background-position: center right 0.75rem;
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
select[multiple] option:checked {
  background: var(--pico-form-element-selected-background-color);
  color: var(--pico-form-element-color);
}

[dir=rtl] select:not([multiple], [size]) {
  background-position: center left 0.75rem;
}

textarea {
  display: block;
  resize: vertical;
}
textarea[aria-invalid] {
  --pico-icon-height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
  background-position: top right 0.75rem !important;
  background-size: 1rem var(--pico-icon-height) !important;
}

:where(input, select, textarea, fieldset, .grid) + small {
  display: block;
  width: 100%;
  margin-top: calc(var(--pico-spacing) * -0.75);
  margin-bottom: var(--pico-spacing);
  color: var(--pico-muted-color);
}
:where(input, select, textarea, fieldset, .grid)[aria-invalid=false] + small {
  color: var(--pico-ins-color);
}
:where(input, select, textarea, fieldset, .grid)[aria-invalid=true] + small {
  color: var(--pico-del-color);
}

label > :where(input, select, textarea) {
  margin-top: calc(var(--pico-spacing) * 0.25);
}

/**
 * Checkboxes, Radios and Switches
 */
label:has([type=checkbox], [type=radio]) {
  width: -moz-fit-content;
  width: fit-content;
  cursor: pointer;
}

[type=checkbox],
[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 1.25em;
  height: 1.25em;
  margin-top: -0.125em;
  margin-inline-end: 0.5em;
  border-width: var(--pico-border-width);
  vertical-align: middle;
  cursor: pointer;
}
[type=checkbox]::-ms-check,
[type=radio]::-ms-check {
  display: none;
}
[type=checkbox]:checked, [type=checkbox]:checked:active, [type=checkbox]:checked:focus,
[type=radio]:checked,
[type=radio]:checked:active,
[type=radio]:checked:focus {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  background-image: var(--pico-icon-checkbox);
  background-position: center;
  background-size: 0.75em auto;
  background-repeat: no-repeat;
}
[type=checkbox] ~ label,
[type=radio] ~ label {
  display: inline-block;
  margin-bottom: 0;
  cursor: pointer;
}
[type=checkbox] ~ label:not(:last-of-type),
[type=radio] ~ label:not(:last-of-type) {
  margin-inline-end: 1em;
}

[type=checkbox]:indeterminate {
  --pico-background-color: var(--pico-primary-background);
  --pico-border-color: var(--pico-primary-border);
  background-image: var(--pico-icon-minus);
  background-position: center;
  background-size: 0.75em auto;
  background-repeat: no-repeat;
}

[type=radio] {
  border-radius: 50%;
}
[type=radio]:checked, [type=radio]:checked:active, [type=radio]:checked:focus {
  --pico-background-color: var(--pico-primary-inverse);
  border-width: 0.35em;
  background-image: none;
}

[type=checkbox][role=switch] {
  --pico-background-color: var(--pico-switch-background-color);
  --pico-color: var(--pico-switch-color);
  width: 2.25em;
  height: 1.25em;
  border: var(--pico-border-width) solid var(--pico-border-color);
  border-radius: 1.25em;
  background-color: var(--pico-background-color);
  line-height: 1.25em;
}
[type=checkbox][role=switch]:not([aria-invalid]) {
  --pico-border-color: var(--pico-switch-background-color);
}
[type=checkbox][role=switch]:before {
  display: block;
  aspect-ratio: 1;
  height: 100%;
  border-radius: 50%;
  background-color: var(--pico-color);
  box-shadow: var(--pico-switch-thumb-box-shadow);
  content: "";
  transition: margin 0.1s ease-in-out;
}
[type=checkbox][role=switch]:focus {
  --pico-background-color: var(--pico-switch-background-color);
  --pico-border-color: var(--pico-switch-background-color);
}
[type=checkbox][role=switch]:checked {
  --pico-background-color: var(--pico-switch-checked-background-color);
  --pico-border-color: var(--pico-switch-checked-background-color);
  background-image: none;
}
[type=checkbox][role=switch]:checked::before {
  margin-inline-start: calc(2.25em - 1.25em);
}
[type=checkbox][role=switch][disabled] {
  --pico-background-color: var(--pico-border-color);
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus,
[type=checkbox][role=switch][aria-invalid=false]:checked,
[type=checkbox][role=switch][aria-invalid=false]:checked:active,
[type=checkbox][role=switch][aria-invalid=false]:checked:focus {
  --pico-background-color: var(--pico-form-element-valid-border-color);
}
[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true],
[type=checkbox][role=switch]:checked[aria-invalid=true],
[type=checkbox][role=switch]:checked:active[aria-invalid=true],
[type=checkbox][role=switch]:checked:focus[aria-invalid=true] {
  --pico-background-color: var(--pico-form-element-invalid-border-color);
}

[type=checkbox][aria-invalid=false]:checked, [type=checkbox][aria-invalid=false]:checked:active, [type=checkbox][aria-invalid=false]:checked:focus,
[type=radio][aria-invalid=false]:checked,
[type=radio][aria-invalid=false]:checked:active,
[type=radio][aria-invalid=false]:checked:focus,
[type=checkbox][role=switch][aria-invalid=false]:checked,
[type=checkbox][role=switch][aria-invalid=false]:checked:active,
[type=checkbox][role=switch][aria-invalid=false]:checked:focus {
  --pico-border-color: var(--pico-form-element-valid-border-color);
}
[type=checkbox]:checked[aria-invalid=true], [type=checkbox]:checked:active[aria-invalid=true], [type=checkbox]:checked:focus[aria-invalid=true],
[type=radio]:checked[aria-invalid=true],
[type=radio]:checked:active[aria-invalid=true],
[type=radio]:checked:focus[aria-invalid=true],
[type=checkbox][role=switch]:checked[aria-invalid=true],
[type=checkbox][role=switch]:checked:active[aria-invalid=true],
[type=checkbox][role=switch]:checked:focus[aria-invalid=true] {
  --pico-border-color: var(--pico-form-element-invalid-border-color);
}

/**
 * Input type search
 */
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] {
  padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem);
  background-image: var(--pico-icon-search);
  background-position: center left calc(var(--pico-form-element-spacing-horizontal) + 0.125rem);
  background-size: 1rem auto;
  background-repeat: no-repeat;
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] {
  padding-inline-start: calc(var(--pico-form-element-spacing-horizontal) + 1.75rem) !important;
  background-position: center left 1.125rem, center right 0.75rem;
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=false] {
  background-image: var(--pico-icon-search), var(--pico-icon-valid);
}
input:not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid=true] {
  background-image: var(--pico-icon-search), var(--pico-icon-invalid);
}

[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search] {
  background-position: center right 1.125rem;
}
[dir=rtl] :where(input):not([type=checkbox], [type=radio], [type=range], [type=file])[type=search][aria-invalid] {
  background-position: center right 1.125rem, center left 0.75rem;
}

/**
 * Accordion (<details>)
 */
details {
  display: block;
  margin-bottom: var(--pico-spacing);
}
details summary {
  line-height: 1rem;
  list-style-type: none;
  cursor: pointer;
  transition: color var(--pico-transition);
}
details summary:not([role]) {
  color: var(--pico-accordion-close-summary-color);
}
details summary::-webkit-details-marker {
  display: none;
}
details summary::marker {
  display: none;
}
details summary::-moz-list-bullet {
  list-style-type: none;
}
details summary::after {
  display: block;
  width: 1rem;
  height: 1rem;
  margin-inline-start: calc(var(--pico-spacing, 1rem) * 0.5);
  float: right;
  transform: rotate(-90deg);
  background-image: var(--pico-icon-chevron);
  background-position: right center;
  background-size: 1rem auto;
  background-repeat: no-repeat;
  content: "";
  transition: transform var(--pico-transition);
}
details summary:focus {
  outline: none;
}
details summary:focus:not([role]) {
  color: var(--pico-accordion-active-summary-color);
}
details summary:focus-visible:not([role]) {
  outline: var(--pico-outline-width) solid var(--pico-primary-focus);
  outline-offset: calc(var(--pico-spacing, 1rem) * 0.5);
  color: var(--pico-primary);
}
details summary[role=button] {
  width: 100%;
  text-align: left;
}
details summary[role=button]::after {
  height: calc(1rem * var(--pico-line-height, 1.5));
}
details[open] > summary {
  margin-bottom: var(--pico-spacing);
}
details[open] > summary:not([role]):not(:focus) {
  color: var(--pico-accordion-open-summary-color);
}
details[open] > summary::after {
  transform: rotate(0);
}

[dir=rtl] details summary {
  text-align: right;
}
[dir=rtl] details summary::after {
  float: left;
  background-position: left center;
}

/**
 * Card (<article>)
 */
article {
  margin-bottom: var(--pico-block-spacing-vertical);
  padding: var(--pico-block-spacing-vertical) var(--pico-block-spacing-horizontal);
  border-radius: var(--pico-border-radius);
  background: var(--pico-card-background-color);
  box-shadow: var(--pico-card-box-shadow);
}
article > header,
article > footer {
  margin-right: calc(var(--pico-block-spacing-horizontal) * -1);
  margin-left: calc(var(--pico-block-spacing-horizontal) * -1);
  padding: calc(var(--pico-block-spacing-vertical) * 0.66) var(--pico-block-spacing-horizontal);
  background-color: var(--pico-card-sectioning-background-color);
}
article > header {
  margin-top: calc(var(--pico-block-spacing-vertical) * -1);
  margin-bottom: var(--pico-block-spacing-vertical);
  border-bottom: var(--pico-border-width) solid var(--pico-card-border-color);
  border-top-right-radius: var(--pico-border-radius);
  border-top-left-radius: var(--pico-border-radius);
}
article > footer {
  margin-top: var(--pico-block-spacing-vertical);
  margin-bottom: calc(var(--pico-block-spacing-vertical) * -1);
  border-top: var(--pico-border-width) solid var(--pico-card-border-color);
  border-bottom-right-radius: var(--pico-border-radius);
  border-bottom-left-radius: var(--pico-border-radius);
}

/**
 * Dropdown (details.dropdown)
 */
details.dropdown {
  position: relative;
  border-bottom: none;
}
details.dropdown > summary::after,
details.dropdown > button::after,
details.dropdown > a::after {
  display: block;
  width: 1rem;
  height: calc(1rem * var(--pico-line-height, 1.5));
  margin-inline-start: 0.25rem;
  float: right;
  transform: rotate(0deg) translateX(0.2rem);
  background-image: var(--pico-icon-chevron);
  background-position: right center;
  background-size: 1rem auto;
  background-repeat: no-repeat;
  content: "";
}

nav details.dropdown {
  margin-bottom: 0;
}

details.dropdown > summary:not([role]) {
  height: calc(1rem * var(--pico-line-height) + var(--pico-form-element-spacing-vertical) * 2 + var(--pico-border-width) * 2);
  padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
  border: var(--pico-border-width) solid var(--pico-form-element-border-color);
  border-radius: var(--pico-border-radius);
  background-color: var(--pico-form-element-background-color);
  color: var(--pico-form-element-placeholder-color);
  line-height: inherit;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: background-color var(--pico-transition), border-color var(--pico-transition), color var(--pico-transition), box-shadow var(--pico-transition);
}
details.dropdown > summary:not([role]):active, details.dropdown > summary:not([role]):focus {
  border-color: var(--pico-form-element-active-border-color);
  background-color: var(--pico-form-element-active-background-color);
}
details.dropdown > summary:not([role]):focus {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-form-element-focus-color);
}
details.dropdown > summary:not([role]):focus-visible {
  outline: none;
}
details.dropdown > summary:not([role])[aria-invalid=false] {
  --pico-form-element-border-color: var(--pico-form-element-valid-border-color);
  --pico-form-element-active-border-color: var(--pico-form-element-valid-focus-color);
  --pico-form-element-focus-color: var(--pico-form-element-valid-focus-color);
}
details.dropdown > summary:not([role])[aria-invalid=true] {
  --pico-form-element-border-color: var(--pico-form-element-invalid-border-color);
  --pico-form-element-active-border-color: var(--pico-form-element-invalid-focus-color);
  --pico-form-element-focus-color: var(--pico-form-element-invalid-focus-color);
}

nav details.dropdown {
  display: inline;
  margin: calc(var(--pico-nav-element-spacing-vertical) * -1) 0;
}
nav details.dropdown > summary::after {
  transform: rotate(0deg) translateX(0rem);
}
nav details.dropdown > summary:not([role]) {
  height: calc(1rem * var(--pico-line-height) + var(--pico-nav-link-spacing-vertical) * 2);
  padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal);
}
nav details.dropdown > summary:not([role]):focus-visible {
  box-shadow: 0 0 0 var(--pico-outline-width) var(--pico-primary-focus);
}

details.dropdown > summary + ul {
  display: flex;
  z-index: 99;
  position: absolute;
  left: 0;
  flex-direction: column;
  width: 100%;
  min-width: -moz-fit-content;
  min-width: fit-content;
  margin: 0;
  margin-top: var(--pico-outline-width);
  padding: 0;
  border: var(--pico-border-width) solid var(--pico-dropdown-border-color);
  border-radius: var(--pico-border-radius);
  background-color: var(--pico-dropdown-background-color);
  box-shadow: var(--pico-dropdown-box-shadow);
  color: var(--pico-dropdown-color);
  white-space: nowrap;
  opacity: 0;
  transition: opacity var(--pico-transition), transform 0s ease-in-out 1s;
}
details.dropdown > summary + ul[dir=rtl] {
  right: 0;
  left: auto;
}
details.dropdown > summary + ul li {
  width: 100%;
  margin-bottom: 0;
  padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal);
  list-style: none;
}
details.dropdown > summary + ul li:first-of-type {
  margin-top: calc(var(--pico-form-element-spacing-vertical) * 0.5);
}
details.dropdown > summary + ul li:last-of-type {
  margin-bottom: calc(var(--pico-form-element-spacing-vertical) * 0.5);
}
details.dropdown > summary + ul li a {
  display: block;
  margin: calc(var(--pico-form-element-spacing-vertical) * -0.5) calc(var(--pico-form-element-spacing-horizontal) * -1);
  padding: calc(var(--pico-form-element-spacing-vertical) * 0.5) var(--pico-form-element-spacing-horizontal);
  overflow: hidden;
  border-radius: 0;
  color: var(--pico-dropdown-color);
  text-decoration: none;
  text-overflow: ellipsis;
}
details.dropdown > summary + ul li a:hover, details.dropdown > summary + ul li a:focus, details.dropdown > summary + ul li a:active, details.dropdown > summary + ul li a:focus-visible, details.dropdown > summary + ul li a[aria-current]:not([aria-current=false]) {
  background-color: var(--pico-dropdown-hover-background-color);
}
details.dropdown > summary + ul li label {
  width: 100%;
}
details.dropdown > summary + ul li:has(label):hover {
  background-color: var(--pico-dropdown-hover-background-color);
}

details.dropdown[open] > summary {
  margin-bottom: 0;
}

details.dropdown[open] > summary + ul {
  transform: scaleY(1);
  opacity: 1;
  transition: opacity var(--pico-transition), transform 0s ease-in-out 0s;
}

details.dropdown[open] > summary::before {
  display: block;
  z-index: 1;
  position: fixed;
  width: 100vw;
  height: 100vh;
  inset: 0;
  background: none;
  content: "";
  cursor: default;
}

label > details.dropdown {
  margin-top: calc(var(--pico-spacing) * 0.25);
}

/**
 * Group ([role="group"], [role="search"])
 */
[role=search],
[role=group] {
  display: inline-flex;
  position: relative;
  width: 100%;
  margin-bottom: var(--pico-spacing);
  border-radius: var(--pico-border-radius);
  box-shadow: var(--pico-group-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
  vertical-align: middle;
  transition: box-shadow var(--pico-transition);
}
[role=search] > *,
[role=search] input:not([type=checkbox], [type=radio]),
[role=search] select,
[role=group] > *,
[role=group] input:not([type=checkbox], [type=radio]),
[role=group] select {
  position: relative;
  flex: 1 1 auto;
  margin-bottom: 0;
}
[role=search] > *:not(:first-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=search] select:not(:first-child),
[role=group] > *:not(:first-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=group] select:not(:first-child) {
  margin-left: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
[role=search] > *:not(:last-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:last-child),
[role=search] select:not(:last-child),
[role=group] > *:not(:last-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:last-child),
[role=group] select:not(:last-child) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}
[role=search] > *:focus,
[role=search] input:not([type=checkbox], [type=radio]):focus,
[role=search] select:focus,
[role=group] > *:focus,
[role=group] input:not([type=checkbox], [type=radio]):focus,
[role=group] select:focus {
  z-index: 2;
}
[role=search] button:not(:first-child),
[role=search] [type=submit]:not(:first-child),
[role=search] [type=reset]:not(:first-child),
[role=search] [type=button]:not(:first-child),
[role=search] [role=button]:not(:first-child),
[role=search] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=search] select:not(:first-child),
[role=group] button:not(:first-child),
[role=group] [type=submit]:not(:first-child),
[role=group] [type=reset]:not(:first-child),
[role=group] [type=button]:not(:first-child),
[role=group] [role=button]:not(:first-child),
[role=group] input:not([type=checkbox], [type=radio]):not(:first-child),
[role=group] select:not(:first-child) {
  margin-left: calc(var(--pico-border-width) * -1);
}
[role=search] button,
[role=search] [type=submit],
[role=search] [type=reset],
[role=search] [type=button],
[role=search] [role=button],
[role=group] button,
[role=group] [type=submit],
[role=group] [type=reset],
[role=group] [type=button],
[role=group] [role=button] {
  width: auto;
}
@supports selector(:has(*)) {
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus),
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) {
    --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-button);
  }
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]),
  [role=search]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select,
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) input:not([type=checkbox], [type=radio]),
  [role=group]:has(button:focus, [type=submit]:focus, [type=button]:focus, [role=button]:focus) select {
    border-color: transparent;
  }
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus),
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) {
    --pico-group-box-shadow: var(--pico-group-box-shadow-focus-with-input);
  }
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) button,
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit],
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button],
  [role=search]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) button,
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=submit],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [type=button],
  [role=group]:has(input:not([type=submit], [type=button]):focus, select:focus) [role=button] {
    --pico-button-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-border);
    --pico-button-hover-box-shadow: 0 0 0 var(--pico-border-width) var(--pico-primary-hover-border);
  }
  [role=search] button:focus,
  [role=search] [type=submit]:focus,
  [role=search] [type=reset]:focus,
  [role=search] [type=button]:focus,
  [role=search] [role=button]:focus,
  [role=group] button:focus,
  [role=group] [type=submit]:focus,
  [role=group] [type=reset]:focus,
  [role=group] [type=button]:focus,
  [role=group] [role=button]:focus {
    box-shadow: none;
  }
}

[role=search] > *:first-child {
  border-top-left-radius: 5rem;
  border-bottom-left-radius: 5rem;
}
[role=search] > *:last-child {
  border-top-right-radius: 5rem;
  border-bottom-right-radius: 5rem;
}

/**
 * Nav
 */
:where(nav li)::before {
  float: left;
  content: "​";
}

nav,
nav ul {
  display: flex;
}

nav {
  justify-content: space-between;
  overflow: visible;
}
nav ol,
nav ul {
  align-items: center;
  margin-bottom: 0;
  padding: 0;
  list-style: none;
}
nav ol:first-of-type,
nav ul:first-of-type {
  margin-left: calc(var(--pico-nav-element-spacing-horizontal) * -1);
}
nav ol:last-of-type,
nav ul:last-of-type {
  margin-right: calc(var(--pico-nav-element-spacing-horizontal) * -1);
}
nav li {
  display: inline-block;
  margin: 0;
  padding: var(--pico-nav-element-spacing-vertical) var(--pico-nav-element-spacing-horizontal);
}
nav li :where(a, [role=link]) {
  display: inline-block;
  margin: calc(var(--pico-nav-link-spacing-vertical) * -1) calc(var(--pico-nav-link-spacing-horizontal) * -1);
  padding: var(--pico-nav-link-spacing-vertical) var(--pico-nav-link-spacing-horizontal);
  border-radius: var(--pico-border-radius);
}
nav li :where(a, [role=link]):not(:hover) {
  text-decoration: none;
}
nav li button,
nav li [role=button],
nav li [type=button],
nav li input:not([type=checkbox], [type=radio], [type=range], [type=file]),
nav li select {
  height: auto;
  margin-right: inherit;
  margin-bottom: 0;
  margin-left: inherit;
  padding: calc(var(--pico-nav-link-spacing-vertical) - var(--pico-border-width) * 2) var(--pico-nav-link-spacing-horizontal);
}
nav[aria-label=breadcrumb] {
  align-items: center;
  justify-content: start;
}
nav[aria-label=breadcrumb] ul li:not(:first-child) {
  margin-inline-start: var(--pico-nav-link-spacing-horizontal);
}
nav[aria-label=breadcrumb] ul li a {
  margin: calc(var(--pico-nav-link-spacing-vertical) * -1) 0;
  margin-inline-start: calc(var(--pico-nav-link-spacing-horizontal) * -1);
}
nav[aria-label=breadcrumb] ul li:not(:last-child)::after {
  display: inline-block;
  position: absolute;
  width: calc(var(--pico-nav-link-spacing-horizontal) * 4);
  margin: 0 calc(var(--pico-nav-link-spacing-horizontal) * -1);
  content: var(--pico-nav-breadcrumb-divider);
  color: var(--pico-muted-color);
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
}
nav[aria-label=breadcrumb] a[aria-current]:not([aria-current=false]) {
  background-color: transparent;
  color: inherit;
  text-decoration: none;
  pointer-events: none;
}

aside nav,
aside ol,
aside ul,
aside li {
  display: block;
}
aside li {
  padding: calc(var(--pico-nav-element-spacing-vertical) * 0.5) var(--pico-nav-element-spacing-horizontal);
}
aside li a {
  display: block;
}
aside li [role=button] {
  margin: inherit;
}

[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after {
  content: "\\";
}

/**
 * Accessibility & User interaction
 */
[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
}

[dir=rtl] {
  direction: rtl;
}

/**
 * Reduce Motion Features
 */
@media (prefers-reduced-motion: reduce) {
  *:not([aria-busy=true]),
  :not([aria-busy=true])::before,
  :not([aria-busy=true])::after {
    background-attachment: initial !important;
    animation-duration: 1ms !important;
    animation-delay: -1ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-delay: 0s !important;
    transition-duration: 0s !important;
  }
}
[data-theme=light],
:root:not([data-theme=dark]) {
  --pico-background-color: var(--mt-background-color, #fff);
  --pico-color: var(--mt-color, #373c44);
  --pico-text-selection-color: rgba(2, 154, 232, 0.25);
  --pico-muted-color: #646b79;
  --pico-muted-border-color: rgb(231, 234, 239.5);
  --pico-primary: var(--mt-primary-color, #00599c);
  --pico-primary-background: var(--mt-primary-color, #00599c);
  --pico-primary-hover-background: var(--mt-primary-color-darken, rgb(0, 59.9038461538, 105));
  --pico-primary-hover-underline: var(--mt-primary-color, #00599c);
  --pico-primary-border: var(--mt-primary-color, #00599c);
  --pico-primary-hover: var(--mt-primary-color-darken, rgb(0, 59.9038461538, 105));
  --pico-primary-underline: var(--mt-primary-color-lighten, rgb(0, 118.0961538462, 207));
  --pico-primary-focus: var(--mt-primary-color-lighten, rgb(0, 118.0961538462, 207));
  --pico-primary-inverse: var(--mt-primary-inverse-color, #ffffff);
  --pico-secondary: var(--mt-secondary-color, #737987);
  --pico-secondary-background: var(--mt-secondary-color, #737987);
  --pico-secondary-hover-background: var(--mt-secondary-color-darken, rgb(91.54, 96.316, 107.46));
  --pico-secondary-hover-underline: var(--mt-secondary-color, #737987);
  --pico-secondary-border: var(--mt-secondary-color, #737987);
  --pico-secondary-hover: var(--mt-secondary-color-darken, rgb(91.54, 96.316, 107.46));
  --pico-secondary-underline: var(--mt-secondary-color-lighten, rgb(142.14, 147.156, 158.86));
  --pico-secondary-focus: var(--mt-secondary-color-lighten, rgb(142.14, 147.156, 158.86));
  --pico-secondary-inverse: var(--mt-secondary-inverse-color, #ffffff);
  --pico-contrast: var(--mt-contrast-color, #181c25);
  --pico-contrast-background: var(--mt-contrast-color, #181c25);
  --pico-contrast-hover-background: var(--mt-contrast-color-darken, rgb(3.9344262295, 4.5901639344, 6.0655737705));
  --pico-contrast-hover-underline: var(--mt-contrast-color, #181c25);
  --pico-contrast-border: var(--mt-contrast-color, #181c25);
  --pico-contrast-hover: var(--mt-contrast-color-darken, rgb(3.9344262295, 4.5901639344, 6.0655737705));
  --pico-contrast-underline: var(--mt-contrast-color-lighten, rgb(44.0655737705, 51.4098360656, 67.9344262295));
  --pico-contrast-focus: var(--mt-contrast-color-lighten, rgb(44.0655737705, 51.4098360656, 67.9344262295));
  --pico-contrast-inverse: var(--mt-contrast-inverse-color, #ffffff);
  --pico-font-family: var(--mt-font-family, Inter, Tahoma, Verdana, sans-serif);
  --pico-font-size: var(--mt-font-size, 1rem);
  --pico-line-height: var(--mt-line-height, 1.4rem);
  --pico-font-weight: var(--mt-font-weight, 400);
  --pico-heading-font-weight: var(--mt-heading-font-weight, 700);
  --pico-letter-spacing: var(--mt-letter-spacing, normal);
  --pico-block-spacing-vertical: 1.5rem;
}

[data-theme=dark],
:root[data-theme=dark] {
  --pico-background-color: var(--mt-tdark-background-color, #1d2327);
  --pico-color: var(--mt-tdark-color, #1d2327);
  --pico-text-selection-color: rgba(2, 154, 232, 0.25);
  --pico-muted-color: #646b79;
  --pico-muted-border-color: rgb(231, 234, 239.5);
  --pico-primary: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-background: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-hover-background: var(--mt-tdark-primary-color-lighten, rgb(133.6734693878, 199.5153061224, 231.3265306122));
  --pico-primary-hover-underline: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-border: var(--mt-tdark-primary-color, #5bb4df);
  --pico-primary-hover: var(--mt-tdark-primary-color-lighten, rgb(133.6734693878, 199.5153061224, 231.3265306122));
  --pico-primary-underline: var(--mt-tdark-primary-color-darken, rgb(48.3265306122, 160.4846938776, 214.6734693878));
  --pico-primary-focus: var(--mt-tdark-primary-color-darken, rgb(48.3265306122, 160.4846938776, 214.6734693878));
  --pico-primary-inverse: var(--mt-tdark-primary-inverse-color, #121212);
  --pico-secondary: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-background: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-hover-background: var(--mt-tdark-secondary-color-lighten, rgb(191.6097560976, 195.743902439, 205.3902439024));
  --pico-secondary-hover-underline: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-border: var(--mt-tdark-secondary-color, #a3a9b7);
  --pico-secondary-hover: var(--mt-tdark-secondary-color-lighten, rgb(191.6097560976, 195.743902439, 205.3902439024));
  --pico-secondary-underline: var(--mt-tdark-secondary-color-darken, rgb(134.3902439024, 142.256097561, 160.6097560976));
  --pico-secondary-focus: var(--mt-tdark-secondary-color-darken, rgb(134.3902439024, 142.256097561, 160.6097560976));
  --pico-secondary-inverse: var(--mt-tdark-secondary-inverse-color, #121212);
  --pico-contrast: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-background: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-hover-background: var(--mt-tdark-contrast-color-lighten, hsl(216, 33.3333333333%, 107.0588235294%));
  --pico-contrast-hover-underline: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-border: var(--mt-tdark-contrast-color, #f5f7fa);
  --pico-contrast-hover: var(--mt-tdark-contrast-color-lighten, hsl(216, 33.3333333333%, 107.0588235294%));
  --pico-contrast-underline: var(--mt-tdark-contrast-color-darken, rgb(211, 219.8, 233));
  --pico-contrast-focus: var(--mt-tdark-contrast-color-darken, rgb(211, 219.8, 233));
  --pico-contrast-inverse: var(--mt-tdark-contrast-inverse-color, #121212);
  --pico-font-family: var(--mt-font-family, Inter, Tahoma, Verdana, sans-serif);
  --pico-font-size: var(--mt-font-size, 1rem);
  --pico-line-height: var(--mt-line-height, 1.4rem);
  --pico-font-weight: var(--mt-font-weight, 400);
  --pico-heading-font-weight: var(--mt-heading-font-weight, 700);
  --pico-letter-spacing: var(--mt-letter-spacing, normal);
  --pico-block-spacing-vertical: 1.5rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--mt-heading-font-family, Roboto, Georgia, serif);
}

ul li {
  list-style: disc;
}

blockquote, blockquote p {
  font-style: italic;
}

html {
  scroll-behavior: smooth;
  position: relative;
  margin-top: 0 !important;
}
html body {
  padding-top: var(--wp-admin--admin-bar--height, 0px);
}
html body > .site-header,
html body > .header-nav-menu,
html body > .main-grid,
html body > .site-footer,
html body > .top-grid,
html body > .pre-main-content {
  box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
}

.logo-light,
.logo-light-and-dark {
  display: block;
}

.logo-dark {
  display: none;
}

[data-theme=dark] .logo-light {
  display: none;
}

[data-theme=dark] .logo-dark {
  display: block;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.brid *[role=button],
.brid-close *[role=button] {
  background: initial;
  border: initial;
}

.brid *[role=button]:focus,
.brid-close *[role=button]:focus {
  outline: none;
  box-shadow: none;
}

body > .site-header {
  background-color: var(--pico-primary);
  color: var(--pico-primary-inverse);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  height: 64px;
  padding-left: calc(var(--pico-spacing) / 4);
  padding-right: calc(var(--pico-spacing) / 4);
  z-index: 9999999;
}
body > .site-header.is-sticky {
  position: fixed;
  top: var(--wp-admin--admin-bar--height, 0);
  left: 0;
  right: 0;
}
body > .site-header .header-left,
body > .site-header .header-right {
  width: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
}
body > .site-header .header-left .menu-toggle,
body > .site-header .header-right .menu-toggle {
  width: 100%;
  height: 100%;
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
body > .site-header .header-left .menu-toggle .hamburger-icon,
body > .site-header .header-right .menu-toggle .hamburger-icon {
  position: relative;
  width: 22px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  display: block;
  transition: background 0.2s ease;
}
body > .site-header .header-left .menu-toggle .hamburger-icon::before, body > .site-header .header-left .menu-toggle .hamburger-icon::after,
body > .site-header .header-right .menu-toggle .hamburger-icon::before,
body > .site-header .header-right .menu-toggle .hamburger-icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 22px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform 0.2s ease;
}
body > .site-header .header-left .menu-toggle .hamburger-icon::before,
body > .site-header .header-right .menu-toggle .hamburger-icon::before {
  top: -7px;
}
body > .site-header .header-left .menu-toggle .hamburger-icon::after,
body > .site-header .header-right .menu-toggle .hamburger-icon::after {
  top: 7px;
}
body > .site-header .header-left .menu-toggle:hover, body > .site-header .header-left .menu-toggle:focus,
body > .site-header .header-right .menu-toggle:hover,
body > .site-header .header-right .menu-toggle:focus {
  border: none;
  opacity: 0.8;
  box-shadow: none;
}
body > .site-header .header-left .menu-toggle.is-active .hamburger-icon,
body > .site-header .header-right .menu-toggle.is-active .hamburger-icon {
  background: transparent;
}
body > .site-header .header-left .menu-toggle.is-active .hamburger-icon::before,
body > .site-header .header-right .menu-toggle.is-active .hamburger-icon::before {
  top: 0;
  transform: rotate(45deg);
}
body > .site-header .header-left .menu-toggle.is-active .hamburger-icon::after,
body > .site-header .header-right .menu-toggle.is-active .hamburger-icon::after {
  top: 0;
  transform: rotate(-45deg);
}
body > .site-header .header-left .header-live-button,
body > .site-header .header-right .header-live-button {
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  line-height: 1;
}
body > .site-header .header-left .header-live-button:hover, body > .site-header .header-left .header-live-button:focus,
body > .site-header .header-right .header-live-button:hover,
body > .site-header .header-right .header-live-button:focus {
  opacity: 0.8;
  box-shadow: none;
  text-decoration: none;
}
body > .site-header .header-left .header-live-button__play,
body > .site-header .header-right .header-live-button__play {
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.15rem solid currentColor;
  margin-bottom: 0.1rem;
}
body > .site-header .header-left .header-live-button__label,
body > .site-header .header-right .header-live-button__label {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body > .site-header .header-center {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
body > .site-header .header-center > a > img {
  max-height: 50px;
  min-height: 44px;
  width: 100%;
}
body > .site-header .header-center > a strong {
  font-size: 1.2rem;
  font-weight: bold;
  color: var(--pico-primary-inverse);
}

body > .site-footer {
  padding: 0;
}
body > .site-footer .footer-separator {
  height: var(--pico-spacing);
  background-color: var(--pico-primary);
  margin-bottom: calc(var(--pico-spacing) / 2);
}
body > .site-footer .footer-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pico-spacing);
  padding: var(--pico-spacing);
}
@media (min-width: 576px) {
  body > .site-footer .footer-columns {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--pico-spacing) * 1.5);
  }
}
@media (min-width: 1024px) {
  body > .site-footer .footer-columns {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 2rem;
  }
}
body > .site-footer .footer-columns .footer-col > strong {
  margin-bottom: 0.75rem;
  display: block;
  text-align: center;
  font-size: 1.2rem;
}
@media (min-width: 576px) {
  body > .site-footer .footer-columns .footer-col > strong {
    text-align: left;
  }
}
body > .site-footer .footer-columns .footer-col .w3c-logo {
  margin-bottom: var(--pico-spacing);
}
body > .site-footer .footer-columns .footer-col ul {
  padding: 0;
}
body > .site-footer .footer-columns .footer-col ul li {
  list-style: none;
  margin-bottom: calc(var(--pico-spacing) / 2);
  font-size: 0.95rem;
}
body > .site-footer .footer-columns .footer-col ul li strong {
  display: block;
  font-size: 0.95rem;
}
body > .site-footer .footer-columns .footer-col ul a {
  text-decoration: none;
}
body > .site-footer .footer-columns .footer-col ul small {
  font-weight: bold;
}
body > .site-footer .footer-credits {
  background-color: var(--pico-background-color);
  text-align: center;
  padding: calc(var(--pico-spacing) / 4) var(--pico-spacing);
}
body > .site-footer .footer-credits small {
  font-size: 0.8rem;
}

body.admin-bar .sidebar-hamburger {
  top: 0;
}
@media (min-width: 600px) {
  body.admin-bar .sidebar-hamburger {
    top: 46px;
  }
}
@media (min-width: 782px) {
  body.admin-bar .sidebar-hamburger {
    top: 32px;
  }
}

.sidebar-hamburger {
  position: fixed;
  top: 0;
  left: 0;
  width: 85vw;
  max-width: 560px;
  height: 100vh;
  background: var(--pico-background-color);
  color: var(--pico-color);
  transform: translateX(-100%);
  transition: transform 0.3s ease;
  overflow: hidden;
  padding: var(--pico-spacing);
  display: flex;
  flex-direction: column;
  z-index: 99999999;
}
.sidebar-hamburger.open {
  transform: translateX(0);
}
.sidebar-hamburger-overlay {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1900;
  display: none;
}
.sidebar-hamburger-overlay.visible {
  display: block;
}
.sidebar-hamburger-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: calc(var(--pico-spacing) / 2);
  padding-bottom: calc(var(--pico-spacing) / 2);
  border-bottom: 1px solid var(--pico-blockquote-border-color);
}
.sidebar-hamburger-logo img {
  height: 48px;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.sidebar-hamburger-close {
  --pico-color: var(--pico-color);
  color: var(--pico-color);
  background: none;
  border: none;
  font-size: 1.5rem;
  padding: 0;
  margin-left: var(--pico-spacing);
}
.sidebar-hamburger-close:hover, .sidebar-hamburger-close:focus {
  box-shadow: none;
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-controls {
  margin: var(--pico-spacing) 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--pico-spacing);
  flex-wrap: wrap;
}
.sidebar-hamburger-controls .font-size-controls button {
  font-size: 1rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2);
}
.sidebar-hamburger-controls .theme-toggle {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}
.sidebar-hamburger-controls .theme-toggle label,
.sidebar-hamburger-controls .theme-toggle input {
  margin: 0;
}
.sidebar-hamburger-search {
  margin: var(--pico-spacing) 0;
}
.sidebar-hamburger-search > *:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.sidebar-hamburger-search > *:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}
.sidebar-hamburger-menu {
  margin: var(--pico-spacing) 0;
  flex: 1 1 auto;
  overflow-y: auto;
}
.sidebar-hamburger-menu .accordion {
  border-bottom: 1px solid var(--pico-blockquote-border-color);
}
.sidebar-hamburger-menu .accordion:last-child {
  border-bottom: none;
}
.sidebar-hamburger-menu .accordion-toggle, .sidebar-hamburger-menu .accordion-link {
  --pico-color: var(--pico-color);
  color: var(--pico-color);
  background: none;
  border: none;
  font-size: 1.1rem;
  padding: 0;
  margin: var(--pico-spacing) auto;
  display: block;
  width: 100%;
  text-align: left;
  font-weight: 700;
  transition: color 0.2s ease;
  cursor: pointer;
  text-decoration: none;
}
.sidebar-hamburger-menu .accordion-toggle:hover, .sidebar-hamburger-menu .accordion-toggle:focus, .sidebar-hamburger-menu .accordion-link:hover, .sidebar-hamburger-menu .accordion-link:focus {
  --pico-color: var(--pico-color);
  box-shadow: none;
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-menu .accordion-content {
  display: none;
  padding: 0;
  margin-bottom: var(--pico-spacing);
}
.sidebar-hamburger-menu .accordion-content.open {
  display: block;
}
.sidebar-hamburger-menu .accordion-content a {
  --pico-color: var(--pico-color);
  display: block;
  padding: 0;
  color: var(--pico-color);
  text-decoration: none;
  transition: color 0.2s ease;
}
.sidebar-hamburger-menu .accordion-content a:hover {
  --pico-color: var(--pico-color);
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-menu .accordion-content.columns-2 {
  display: none;
}
.sidebar-hamburger-menu .accordion-content.columns-2.open {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--pico-spacing);
}
.sidebar-hamburger-menu .accordion-content.social-links {
  display: none;
}
.sidebar-hamburger-menu .accordion-content.social-links.open {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: calc(var(--pico-spacing) * 1.5);
  align-items: start;
}
.sidebar-hamburger-menu .accordion-content.social-links a {
  --pico-color: var(--pico-color);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: calc(var(--pico-spacing) / 3);
  color: var(--pico-color);
  text-decoration: none;
  text-align: center;
  font-size: 0.85rem;
  line-height: 1.2;
  transition: color 0.2s ease, transform 0.2s ease;
}
.sidebar-hamburger-menu .accordion-content.social-links a:hover {
  --pico-color: var(--pico-color);
  color: color-mix(in srgb, var(--pico-color), #000 20%);
}
.sidebar-hamburger-menu .accordion-content.social-links a:hover .social-links-icon {
  transform: translateY(-2px);
}
.sidebar-hamburger-menu .accordion-content.social-links .social-links-icon {
  width: 2.9rem;
  height: 2.9rem;
  border-radius: 0.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  color: #fff;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.sidebar-hamburger-menu .accordion-content.social-links .social-links-icon svg {
  width: 1.4rem;
  height: 1.4rem;
  display: block;
  fill: currentColor;
}
.sidebar-hamburger-menu .accordion-content.social-links .social-links-label {
  display: block;
  text-align: center;
  word-break: break-word;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=facebook] .social-links-icon {
  background: #1877f2;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=facebook] .social-links-icon svg {
  transform: scale(1.18);
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=google] .social-links-icon {
  background: #f9f0f0;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=google] .social-links-icon svg {
  transform: scale(1.22);
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=x] .social-links-icon {
  background: #000;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=instagram] .social-links-icon {
  background: linear-gradient(135deg, #833ab4, #e1306c, #fd1d1d, #fcb045);
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=whatsapp] .social-links-icon {
  background: #25d366;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=telegram] .social-links-icon {
  background: #229ed9;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=tiktok] .social-links-icon {
  background: linear-gradient(135deg, #000 0%, #111 100%);
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=linkedin] .social-links-icon {
  background: #0a66c2;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=youtube] .social-links-icon {
  background: #ff0000;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=google_news] .social-links-icon {
  background: #f9f0f0;
  color: #fff;
}
.sidebar-hamburger-menu .accordion-content.social-links a[data-social=google_news] .social-links-icon svg {
  transform: scale(1.22);
}

body > .header-nav-menu {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 1.33);
  border-bottom: 1px solid var(--pico-blockquote-border-color);
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 100, 100, 0.2) transparent;
}
body > .header-nav-menu::-webkit-scrollbar {
  height: 6px;
}
body > .header-nav-menu::-webkit-scrollbar-track {
  background: transparent;
}
body > .header-nav-menu::-webkit-scrollbar-thumb {
  background-color: rgba(100, 100, 100, 0.2);
  border-radius: 5px;
}
body > .header-nav-menu .menu-scroll-wrapper {
  display: flex;
  gap: var(--pico-spacing);
  list-style: none;
  padding: 0;
  margin: 0;
  justify-content: space-between;
}
body > .header-nav-menu .menu-scroll-wrapper li {
  padding: calc(var(--pico-spacing) / 4);
}
body > .header-nav-menu .menu-scroll-wrapper li a {
  text-decoration: none;
  padding: calc(var(--pico-spacing) / 2);
  border-radius: 4px;
  transition: background 0.3s;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: -0.01rem;
}
body > .header-nav-menu .menu-scroll-wrapper li a:hover, body > .header-nav-menu .menu-scroll-wrapper li a:focus {
  background-color: var(--primary-hover);
  color: var(--contrast);
}

.main-grid {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 100vh;
  padding: var(--pico-spacing) 0 0 0;
}
.main-grid.with-sidebar {
  gap: 0;
}
@media (min-width: 1024px) {
  .main-grid.with-sidebar {
    grid-template-columns: 1fr 370px;
  }
}

.pre-main-content {
  padding: calc(var(--pico-spacing) * 2) var(--pico-spacing) 0 var(--pico-spacing);
  overflow: hidden;
}

.top-grid {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: calc(var(--pico-spacing) * -1);
  padding: var(--pico-spacing) 0 0 0;
  gap: 0;
}
@media (min-width: 1024px) {
  .top-grid {
    grid-template-columns: 1fr 370px;
  }
}
.top-grid .top-content {
  padding: var(--pico-spacing) var(--pico-spacing) 0 var(--pico-spacing);
  overflow: hidden;
  background-color: var(--pico-background-color);
}
@media (min-width: 576px) {
  .top-grid .top-content {
    padding: 0 var(--pico-spacing);
  }
}
.top-grid .top-sidebar {
  padding: 0 var(--pico-spacing);
  background-color: var(--pico-background-color);
}
@media (min-width: 576px) {
  .top-grid .top-sidebar {
    box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
  }
}

.main-content {
  padding: var(--pico-spacing) var(--pico-spacing) 0 var(--pico-spacing);
  overflow: hidden;
  background-color: var(--pico-background-color);
}
@media (min-width: 576px) {
  .main-content {
    padding: 0 var(--pico-spacing);
  }
}
.main-content .page-title {
  position: relative;
  display: flex;
  align-items: start;
  gap: 0.2rem;
  margin-bottom: 1.5rem;
  flex-direction: column;
}
@media (min-width: 576px) {
  .main-content .page-title {
    flex-direction: row;
    align-items: end;
  }
}
.main-content .page-title.has-logo {
  max-width: 75%;
  margin-left: auto;
  margin-right: auto;
  align-items: center;
}
@media (min-width: 576px) {
  .main-content .page-title.has-logo {
    max-width: 100%;
    align-items: end;
  }
}
.main-content .page-title img {
  max-height: 42px;
  width: auto;
  flex-shrink: 0;
}
@media (min-width: 576px) {
  .main-content .page-title img {
    margin-right: 0.4rem;
  }
}
.main-content .page-title h1 {
  position: relative;
  display: inline-block;
  font-size: 1.5rem;
  line-height: 1.2;
  margin: 0;
  font-weight: 700;
}
@media (min-width: 576px) {
  .main-content .page-title h1 {
    font-size: 2rem;
  }
}
.main-content .page-title .h1-subtitle {
  display: inline-block;
  margin-left: 0rem;
  font-size: 1.1rem;
  font-weight: 600;
  opacity: 0.9;
  color: var(--pico-muted-color);
}
.main-content .page-title:not(.has-logo) h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 70px;
  height: 4px;
  border-radius: 2px;
  background: var(--pico-primary-focus);
}

.main-sidebar {
  padding: 0 var(--pico-spacing);
  background-color: var(--pico-background-color);
}
@media (min-width: 576px) {
  .main-sidebar {
    box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
  }
}
.main-sidebar > .widget {
  margin-left: auto;
  margin-right: auto;
}
.main-sidebar .widget.nk-feed-reader-list-feed-rubrica {
  height: auto !important;
}
.main-sidebar .widget-sidebar-featured-poi-lista article {
  padding: 0;
  margin: 0 auto calc(var(--pico-spacing) / 2) auto;
}
.main-sidebar .widget-sidebar-featured-poi-lista article a {
  color: inherit;
  text-decoration: none;
  display: block;
}
@media (min-width: 576px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article a {
    display: flex;
  }
}
@media (min-width: 1024px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article a {
    display: block;
  }
}
.main-sidebar .widget-sidebar-featured-poi-lista article figure {
  aspect-ratio: 16/9;
  overflow: hidden;
  border-radius: var(--pico-border-radius) var(--pico-border-radius) 0 0;
}
@media (min-width: 576px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article figure {
    aspect-ratio: 16/10;
    flex: 1;
  }
}
@media (min-width: 1024px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article figure {
    flex: none;
  }
}
.main-sidebar .widget-sidebar-featured-poi-lista article figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (min-width: 576px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article .post-meta {
    flex: 3;
  }
}
@media (min-width: 1024px) {
  .main-sidebar .widget-sidebar-featured-poi-lista article .post-meta {
    flex: none;
  }
}
.main-sidebar .widget-sidebar-featured-poi-lista article .post-meta .lancio {
  padding: 0.7rem;
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  color: var(--pico-muted-color);
  margin-bottom: calc(var(--pico-spacing) * -1.5);
}
.main-sidebar .widget-sidebar-featured-poi-lista article .post-meta h3 {
  padding: 0.7rem;
  margin: 0;
  font-size: 1rem;
}
.main-sidebar .widget-sidebar-featured-poi-lista article.featured .post-meta h2 {
  font-size: 1rem;
  font-weight: bold;
}
.main-sidebar .widget-sidebar-featured-poi-lista article.compact .post-meta h2 {
  font-size: 1rem;
}

.widget .widget-title-img,
.widget .widget-title {
  position: relative;
  text-align: center;
  display: block;
  margin-bottom: calc(var(--pico-spacing) / 2);
}
.widget .widget-title-img > img,
.widget .widget-title-img > span,
.widget .widget-title > img,
.widget .widget-title > span {
  position: relative;
}
.widget .widget-title-img img,
.widget .widget-title img {
  max-width: 200px;
  max-height: 44px;
  margin: 0 auto;
  padding-left: var(--pico-spacing);
  padding-right: var(--pico-spacing);
  background-color: var(--pico-background-color);
  z-index: 10;
}
.widget .widget-title-img a,
.widget .widget-title a {
  display: block;
  background-color: transparent;
}
.widget .widget-title-img > span,
.widget .widget-title > span {
  background-color: var(--pico-background-color);
  color: var(--pico-color);
  z-index: 100;
  display: inline-block;
  position: relative;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 1.5);
  font-size: 1.2rem;
  text-transform: uppercase;
  font-weight: 700;
  max-width: 70%;
}
.widget .widget-title-img::before,
.widget .widget-title::before {
  border-top: 2px solid var(--pico-primary-focus);
  content: "";
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 50%;
  display: inline-block;
  height: 1px;
  z-index: 1;
}
.widget .widget-title-img {
  margin-bottom: var(--pico-spacing);
}
.widget .widget-footer {
  text-align: right;
  margin-top: var(--pico-spacing);
}
.widget .widget-footer a[role=button] {
  --pico-color: var(--pico-color);
  padding: calc(var(--pico-spacing) / 4) var(--pico-spacing);
  color: var(--pico-color) !important;
  border: none !important;
  background: none !important;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
}
.widget .widget-footer a[role=button]::after {
  content: "›";
  font-size: 1.25rem;
}
.widget .widget-footer a[role=button]:focus, .widget .widget-footer a[role=button]:hover {
  --pico-color: color-mix(in srgb, var(--pico-color) 10%, #000 95%);
  border: none !important;
  box-shadow: none !important;
}

.container.top-grid .top-sidebar .widget:last-child {
  position: sticky;
  top: calc(64px + var(--wp-admin--admin-bar--height, 0px) + 1rem);
}

blockquote {
  padding: 0 0 0 var(--pico-spacing);
  margin: 0;
  display: block;
  font-style: italic;
}

@keyframes blinker {
  50% {
    opacity: 0.3;
  }
}
.comment-form-url {
  display: none;
}

.wp-caption {
  max-width: 100%;
  width: auto !important;
}

.wp-caption img,
img.size-full,
img.size-large,
img.size-medium,
img.size-thumbnail {
  max-width: 100%;
  height: auto;
}

img.alignright,
figure.alignright,
div.wp-caption.alignright {
  float: none;
  margin: 0.2rem auto var(--pico-spacing);
  display: block;
  text-align: right;
}
@media (min-width: 576px) {
  img.alignright,
  figure.alignright,
  div.wp-caption.alignright {
    float: right;
    margin: 0.2rem 0 var(--pico-spacing) var(--pico-spacing);
    max-width: 100%;
    height: auto;
  }
}
img.alignleft,
figure.alignleft,
div.wp-caption.alignleft {
  float: none;
  margin: 0.2rem auto var(--pico-spacing);
  display: block;
  text-align: left;
}
@media (min-width: 576px) {
  img.alignleft,
  figure.alignleft,
  div.wp-caption.alignleft {
    float: left;
    margin: 0.2rem var(--pico-spacing) var(--pico-spacing) 0;
    max-width: 100%;
    height: auto;
  }
}
img.alignnone,
figure.alignnone,
div.wp-caption.alignnone {
  margin: 0.2rem var(--pico-spacing) var(--pico-spacing) 0;
  max-width: 100%;
  height: auto;
}
img.aligncenter,
figure.aligncenter,
div.wp-caption.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  width: 100%;
  height: auto;
  text-align: center;
}

.wp-caption-text {
  font-size: 0.8rem;
  margin: 0;
  padding: calc(var(--pico-spacing) / 2);
  text-align: center;
}

#wpadminbar {
  z-index: 9999999;
  position: fixed !important;
}

iframe {
  max-width: 100%;
}

.container.container-ldb1 {
  padding: var(--pico-spacing) var(--pico-spacing) 0 var(--pico-spacing);
  box-shadow: -1px 0 0 var(--pico-blockquote-border-color), 1px 0 0 var(--pico-blockquote-border-color);
}

.main-sidebar .widget-nk-adv-print:not(:has(> *:not(:empty))) {
  margin: 0;
}

div[id^=flx-] {
  text-align: center;
  margin: 0 auto;
}

div[id^=flx_necro] {
  margin-bottom: calc(var(--pico-spacing) * 2);
}

div[id^=flx-iniziative] {
  margin: var(--pico-spacing) auto var(--pico-spacing) auto;
}

div[id^=flx-iniziative]:not(:has(> *:not(:empty))) {
  margin: 0;
}

div[id^=flx-infeed] {
  margin: var(--pico-spacing) auto var(--pico-spacing) auto;
}

div[id^=flx-infeed]:not(:has(> *:not(:empty))) {
  margin: 0;
}

#onesignal-slidedown-container.slide-up, #onesignal-popover-container.slide-up {
  z-index: 2147483640 !important;
}

.carousel-cards {
  overflow: hidden;
  position: relative;
  container-type: inline-size;
  container-name: carousel-cards;
}
.carousel-cards__track {
  display: flex;
  gap: var(--pico-spacing);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  align-items: stretch;
  padding: var(--pico-spacing) 0;
  scrollbar-width: none;
}
.carousel-cards__track::-webkit-scrollbar {
  display: none;
}
.carousel-cards__arrow {
  position: absolute;
  top: 35%;
  z-index: 10;
  width: 3rem;
  height: 3rem;
  border: 0;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  backdrop-filter: blur(4px);
  transition: opacity 0.2s ease, background 0.2s ease, transform 0.2s ease;
  font-size: 2rem;
  line-height: 1;
  font-weight: 300;
  opacity: 0.75;
}
.carousel-cards__arrow:hover {
  opacity: 1;
  background: rgba(0, 0, 0, 0.7);
  transform: scale(1.05);
}
.carousel-cards__arrow:active {
  transform: scale(0.96);
}
.carousel-cards__arrow:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
.carousel-cards__arrow--prev {
  left: 0;
  border-radius: 0 0.5rem 0.5rem 0;
}
.carousel-cards__arrow--next {
  right: 0;
  border-radius: 0.5rem 0 0 0.5rem;
}
.carousel-cards__arrow svg {
  width: 1.4rem;
  height: 1.4rem;
  pointer-events: none;
}
.carousel-cards__item {
  flex: 0 0 100%;
  scroll-snap-align: start;
  overflow: hidden;
  margin: 0;
  padding: 0;
  display: flex;
  height: auto;
}
.carousel-cards__item a {
  display: flex;
  flex-direction: column;
  color: inherit;
  text-decoration: none;
  position: relative;
  width: 100%;
  height: 100%;
}
@container carousel-cards (min-width: 520px) {
  .carousel-cards__item {
    flex-basis: calc((100% - var(--pico-spacing)) / 2);
  }
  .carousel-cards__arrow {
    width: 3.25rem;
    height: 3.25rem;
  }
}
@container carousel-cards (min-width: 820px) {
  .carousel-cards__item {
    flex-basis: calc((100% - var(--pico-spacing) * 2) / 3);
  }
}
.carousel-cards__figure {
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
  margin: 0;
  flex-shrink: 0;
}
.carousel-cards__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.carousel-cards__meta {
  padding: calc(var(--pico-spacing) / 2) var(--pico-spacing);
  line-height: 1.3;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.carousel-cards__title {
  font-size: 1.1rem;
  line-height: 1.25;
  margin: 0;
}
.carousel-cards__cat {
  border-radius: calc(var(--pico-spacing) / 1.8);
  display: inline-block;
  background: var(--pico-primary);
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  line-height: 0.8rem;
  letter-spacing: 0.02rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 5.5);
  margin-bottom: calc(var(--pico-spacing) / 4);
  align-self: flex-start;
}
.carousel-cards__lancio {
  color: var(--pico-primary);
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  margin-top: auto;
  padding-top: calc(var(--pico-spacing) / 2);
}
.carousel-cards__item-video .carousel-cards__figure::before {
  content: "";
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.1rem solid #fff;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
}
.carousel-cards__item-gallery .carousel-cards__figure::before, .carousel-cards__item-gallery .carousel-cards__figure::after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.7rem;
  width: 1.2rem;
  height: 0.9rem;
  border-radius: 0.15rem;
  border: 2px solid #fff;
  background: #fff;
  box-sizing: border-box;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
  z-index: 3;
}
.carousel-cards__item-gallery .carousel-cards__figure::after {
  transform: translate(0.2rem, -0.2rem);
  z-index: 1;
}
.carousel-cards__item-diretta .carousel-cards__figure::before {
  content: "LIVE";
  position: absolute;
  top: 0.1rem;
  left: 0.1rem;
  background: #e53e3e;
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 0 calc(var(--pico-spacing) / 2);
}

.mosaico {
  display: grid;
  gap: var(--pico-spacing);
  grid-template-columns: 1fr;
}
.mosaico__item {
  overflow: hidden;
  padding: 0;
  margin: 0;
}
.mosaico__item figure {
  aspect-ratio: 16/10;
  overflow: hidden;
  display: block;
  position: relative;
  margin: 0;
}
.mosaico__item figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
.mosaico__item-video figure:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.1rem solid #ffffff;
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
}
.mosaico__item-gallery figure:before,
.mosaico__item-gallery figure:after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.7rem;
  width: 1.2rem;
  height: 0.9rem;
  border-radius: 0.15rem;
  border: 2px solid #fff;
  background: #fff;
  box-sizing: border-box;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
  z-index: 3;
}
.mosaico__item-gallery figure:after {
  transform: translate(0.2rem, -0.2rem);
  z-index: 1;
}
.mosaico__item-diretta figure:before {
  content: "LIVE";
  background-color: #e53e3e;
  top: 0.1rem;
  left: 0.1rem;
  display: inline-block;
  position: absolute;
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0rem calc(var(--pico-spacing) / 2);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.mosaico__item a {
  display: block;
  color: inherit;
  text-decoration: none;
  position: relative;
}
.mosaico__item h2 {
  font-size: 1.1rem;
  margin: 0;
}
.mosaico__item--main figure {
  aspect-ratio: 16/10;
}
@media (min-width: 576px) {
  .mosaico__item--main figure {
    aspect-ratio: 16/12;
  }
}
.mosaico__item--main h2 {
  font-size: 1.1rem;
}
@media (min-width: 576px) {
  .mosaico__item--main h2 {
    font-size: 1.6rem;
  }
}
.mosaico__meta {
  padding: calc(var(--pico-spacing) / 2) var(--pico-spacing);
  inset: auto 0 0 0;
  z-index: 2;
  line-height: 1.3;
}
.mosaico__cat {
  border-radius: calc(var(--pico-spacing) / 3);
  display: inline-block;
  background-color: var(--pico-primary);
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  line-height: 0.8rem;
  letter-spacing: 0.02rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 5.5);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.mosaico__lancio {
  color: var(--pico-muted-color);
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  padding: 0 0 0.15rem;
}
@media (min-width: 576px) {
  .mosaico--1 .mosaico__item--main figure {
    aspect-ratio: 16/10;
  }
}
@media (min-width: 576px) {
  .mosaico--1 .mosaico__item--main .mosaico__meta {
    padding: var(--pico-spacing);
  }
}
.mosaico--2 .mosaico__item--main figure {
  aspect-ratio: 16/10;
}
@media (min-width: 576px) {
  .mosaico--2 .mosaico__item--main h2 {
    font-size: 1.1rem;
  }
}
@media (min-width: 576px) {
  .mosaico--2 .mosaico__item .mosaico__meta {
    padding: var(--pico-spacing);
  }
}
@media (min-width: 576px) {
  .mosaico--2 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (min-width: 576px) {
  .mosaico--multi .mosaico__item--main .mosaico__meta {
    padding: var(--pico-spacing);
  }
}
@media (min-width: 576px) {
  .mosaico--multi {
    grid-template-columns: repeat(2, 2fr);
  }
  .mosaico--multi > .mosaico__item:nth-child(1) {
    grid-column: span 2;
    grid-row: span 2;
  }
}
@media (min-width: 768px) {
  .mosaico--multi {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1024px) {
  .mosaico--multi {
    grid-template-columns: repeat(2, 2fr);
  }
}
@media (min-width: 1280px) {
  .mosaico--multi {
    grid-template-columns: repeat(3, 1fr);
  }
}

.post-list-vertical__item {
  display: flex;
  flex-direction: column;
  gap: var(--pico-spacing);
  margin: 0 auto var(--pico-spacing) auto;
  padding: 0;
  overflow: hidden;
}
@media (min-width: 576px) {
  .post-list-vertical__item {
    flex-direction: row;
    align-items: flex-start;
  }
}
.post-list-vertical__item-private {
  opacity: 0.7;
  border: 1px dashed var(--pico-color);
}
.post-list-vertical__link {
  display: block;
  text-decoration: none;
  color: inherit;
  --pico-color: var(--pico-color);
}
.post-list-vertical__link:hover {
  --pico-color: var(--pico-color);
}
.post-list-vertical__link .post-list-vertical__content:first-child {
  padding-left: var(--pico-spacing);
}
@media (min-width: 576px) {
  .post-list-vertical__link {
    display: flex;
    flex-direction: row;
    gap: var(--pico-spacing);
  }
}
.post-list-vertical__thumb {
  margin-bottom: calc(var(--pico-spacing) / 2);
  flex: 0 0 220px;
  aspect-ratio: 16/10;
  overflow: hidden;
  position: relative;
}
@media (min-width: 576px) {
  .post-list-vertical__thumb {
    max-width: 220px;
    margin-bottom: 0rem;
  }
}
.post-list-vertical__thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.post-list-vertical__item-diretta .post-list-vertical__thumb:before {
  content: "LIVE";
  background-color: #e53e3e;
  top: 0.1rem;
  left: 0.1rem;
  display: inline-block;
  position: absolute;
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  padding: 0rem calc(var(--pico-spacing) / 2);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.post-list-vertical__item-gallery .post-list-vertical__thumb:before,
.post-list-vertical__item-gallery .post-list-vertical__thumb:after {
  content: "";
  position: absolute;
  bottom: 0.5rem;
  right: 0.7rem;
  width: 1.2rem;
  height: 0.9rem;
  border-radius: 0.15rem;
  border: 2px solid #fff;
  background: #fff;
  box-sizing: border-box;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
  z-index: 3;
}
.post-list-vertical__item-gallery .post-list-vertical__thumb:after {
  transform: translate(0.2rem, -0.2rem);
  z-index: 1;
}
.post-list-vertical__item-video .post-list-vertical__thumb:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 0.65rem solid transparent;
  border-bottom: 0.65rem solid transparent;
  border-left: 1.1rem solid #ffffff;
  position: absolute;
  bottom: 0.75rem;
  right: 0.75rem;
  filter: drop-shadow(0 0 0.08rem rgb(0, 0, 0));
}
.post-list-vertical__content {
  flex: 1;
  padding: 0 var(--pico-spacing) calc(var(--pico-spacing) / 2);
}
@media (min-width: 576px) {
  .post-list-vertical__content {
    padding: var(--pico-spacing) var(--pico-spacing) var(--pico-spacing) 0;
  }
}
.post-list-vertical__cat {
  border-radius: calc(var(--pico-spacing) / 3);
  display: inline-block;
  background: var(--pico-primary);
  color: var(--pico-primary-inverse);
  font-size: 0.65rem;
  font-weight: bold;
  line-height: 0.8rem;
  letter-spacing: 0.02rem;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 5.5);
  margin-bottom: calc(var(--pico-spacing) / 4);
  text-transform: uppercase;
}
.post-list-vertical__lancio {
  display: block;
  text-transform: uppercase;
  font-weight: 700;
  font-size: 0.75rem;
  color: var(--pico-muted-color);
  margin-bottom: calc(var(--pico-spacing) / 4);
}
.post-list-vertical__title {
  font-size: 1.1rem;
  margin: 0 0 calc(var(--pico-spacing) / 4);
}
@media (min-width: 576px) {
  .post-list-vertical__title {
    font-size: 1.3rem;
  }
}
.post-list-vertical__vertical__excerpt {
  font-size: 1.1rem;
  margin: 0 0 calc(var(--pico-spacing) / 4);
}
@media (min-width: 576px) {
  .post-list-vertical__vertical__excerpt {
    font-size: 1.3rem;
  }
}

.posts-pagination-container {
  display: flex;
  justify-content: center;
  text-align: center;
  margin-bottom: var(--pico-block-spacing-vertical);
}

.pagination-list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  gap: calc(var(--pico-spacing) / 2);
  justify-content: center;
}
.pagination-list li {
  list-style: none;
  list-style: none;
  padding: 0 var(--pico-nav-link-spacing-horizontal);
}
.pagination-list li .page-link {
  display: inline-block;
  padding: 0.4rem 0.75rem;
  border: 1px solid var(--pico-muted-border-color);
  border-radius: 0.3rem;
  text-decoration: none;
  font-size: 0.9rem;
  color: var(--pico-muted-color);
}
.pagination-list li .page-link.current {
  font-weight: 600;
  color: var(--pico-color);
  border: 1px solid var(--pico-color);
}
.pagination-list li .page-link:hover:not(.current) {
  background-color: var(--pico-muted-background);
}
.pagination-list li.is-hidden-mobile {
  display: none;
}
@media (min-width: 576px) {
  .pagination-list li.is-hidden-mobile {
    display: list-item;
  }
}

.mex_empty {
  padding: 2rem 0;
}
.mex_empty__header {
  text-align: center;
  margin-bottom: 2rem;
}
.mex_empty__eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 1rem;
  color: var(--pico-muted-color);
  margin: 0 0 calc(var(--pico-spacing) / 4) 0;
  display: block;
}
.mex_empty__title {
  font-size: clamp(1.8rem, 2.5vw + 1rem, 2.6rem);
  margin: 0 0 1rem 0;
  display: block;
  font-weight: 700;
  line-height: 2.4rem;
}
.mex_empty__subtitle {
  color: var(--pico-muted-color);
  margin: 0 auto 1rem;
  max-width: 60ch;
  display: block;
  font-size: 1rem;
}
.mex_empty__search {
  max-width: 680px;
  margin: 0 auto;
}
.mex_empty__search form > *:first-child {
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
}
.mex_empty__search form > *:last-child {
  border-top-right-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
}

body.archive section.empty-archive,
body.search section.empty-archive {
  text-align: center;
}
@media (min-width: 768px) {
  body.archive section.empty-archive,
  body.search section.empty-archive {
    text-align: left;
  }
}
body.archive section.empty-archive > p,
body.search section.empty-archive > p {
  margin: 2rem 0;
  font-weight: 700;
}
@media (min-width: 768px) {
  body.archive section.empty-archive > p,
  body.search section.empty-archive > p {
    font-size: 1.25rem;
    font-weight: 400;
  }
}
body.archive section.empty-archive > a[role=button],
body.search section.empty-archive > a[role=button] {
  margin-bottom: 2rem;
}
body.archive section.author-bio-container,
body.search section.author-bio-container {
  display: flex;
  gap: 0;
  flex-wrap: wrap;
  flex-direction: column;
  text-align: center;
  align-items: center;
}
@media (min-width: 768px) {
  body.archive section.author-bio-container,
  body.search section.author-bio-container {
    flex-direction: row;
    text-align: left;
    gap: calc(var(--pico-spacing) * 2);
    padding: var(--pico-spacing);
    align-items: start;
  }
}
body.archive section.author-bio-container .author-photo-wrapper,
body.search section.author-bio-container .author-photo-wrapper {
  flex-shrink: 0;
}
body.archive section.author-bio-container .author-photo,
body.search section.author-bio-container .author-photo {
  width: 150px;
  height: 150px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
  display: block;
  margin-bottom: var(--pico-spacing);
}
@media (min-width: 768px) {
  body.archive section.author-bio-container .author-photo,
  body.search section.author-bio-container .author-photo {
    margin-bottom: 0;
  }
}
body.archive section.author-bio-container .author-text,
body.search section.author-bio-container .author-text {
  flex: 1;
  min-width: 200px;
  text-align: left;
  font-size: 1.1rem;
}
body.archive section.author-bio-container .author-text .author-name,
body.search section.author-bio-container .author-text .author-name {
  margin: 0 0 0var --pico-spacing;
  text-align: center;
}
@media (min-width: 768px) {
  body.archive section.author-bio-container .author-text .author-name,
  body.search section.author-bio-container .author-text .author-name {
    text-align: left;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFyY2hpdmUuY3NzIiwiY29uZmlncy9fdmFyaWFibGVzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL2ludGVyL19pbnRlci5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvYXNzZXRzLXNyYy9mb250cy9tZXJyaXdlYXRoZXIvX21lcnJpd2VhdGhlci5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvYXNzZXRzLXNyYy9mb250cy9ub3RvLXNhbnMvX25vdG8tc2Fucy5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvYXNzZXRzLXNyYy9mb250cy9ub3RvLXNlcmlmL19ub3RvLXNlcmlmLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL29wZW4tc2Fucy9fb3Blbi1zYW5zLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL3JvYm90by9fcm9ib3RvLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2hlbHBlcnMvX2NvcHlyaWdodC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy90aGVtZXMvZGVmYXVsdC9fc3R5bGVzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3RoZW1lcy9kZWZhdWx0L19zY2hlbWVzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3RoZW1lcy9kZWZhdWx0L19saWdodC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy90aGVtZXMvZGVmYXVsdC9fZGFyay5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX2RvY3VtZW50LnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2xheW91dC9fbGFuZG1hcmtzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2xheW91dC9fc2VjdGlvbi5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX2NvbnRhaW5lci5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX2dyaWQuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvbGF5b3V0L19vdmVyZmxvdy1hdXRvLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbnRlbnQvX3R5cG9ncmFwaHkuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29udGVudC9fbGluay5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb250ZW50L19idXR0b24uc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29udGVudC9fZW1iZWRkZWQuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29udGVudC9fZmlndXJlLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbnRlbnQvX21pc2Muc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvZm9ybXMvX2Jhc2ljcy5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9mb3Jtcy9fY2hlY2tib3gtcmFkaW8tc3dpdGNoLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2Zvcm1zL19pbnB1dC1zZWFyY2guc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbXBvbmVudHMvX2NhcmQuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fZ3JvdXAuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fbmF2LnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3V0aWxpdGllcy9fYWNjZXNzaWJpbGl0eS5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy91dGlsaXRpZXMvX3JlZHVjZS1tb3Rpb24uc2NzcyIsImNvbmZpZ3MvX3BpY28tdmFyaWFibGVzLnNjc3MiLCJsYXlvdXQvX3R5cG9ncmFwaHkuc2NzcyIsImxheW91dC9fZ2xvYmFsLnNjc3MiLCJsYXlvdXQvX2hlYWRlci5zY3NzIiwibGF5b3V0L19mb290ZXIuc2NzcyIsIm1peGlucy9fbWVkaWFfbWluX3dpZHRoLnNjc3MiLCJsYXlvdXQvX3NpZGViYXItaGFtYnVyZ2VyLnNjc3MiLCJsYXlvdXQvX2hlYWRlci1uYXYtbWVudS5zY3NzIiwibGF5b3V0L19tYWluLWdyaWQuc2NzcyIsImxheW91dC9fcHJlLW1haW4tY29udGVudC5zY3NzIiwibGF5b3V0L190b3AtZ3JpZC5zY3NzIiwibGF5b3V0L19tYWluLWNvbnRlbnQuc2NzcyIsImxheW91dC9fbWFpbi1zaWRlYmFyLnNjc3MiLCJsYXlvdXQvX3dpZGdldHMuc2NzcyIsImxheW91dC9fd3Atc3RhbmRhcmQuc2NzcyIsImxheW91dC9fYWR2LnNjc3MiLCJsYXlvdXQvX29uZXNpZ25hbC1yZXNldC5zY3NzIiwicGFydGlhbHMvbGlzdC1wb3N0cy9fY2Fyb3VzZWwtY2FyZHMuc2NzcyIsInBhcnRpYWxzL2xpc3QtcG9zdHMvX21vc2FpY28uc2NzcyIsInBhcnRpYWxzL2xpc3QtcG9zdHMvX2xpc3RhLnNjc3MiLCJwYXJ0aWFscy9jb21wb25lbnRzL19wb3N0cy1wYWdpbmF0aW9uLnNjc3MiLCJwYXJ0aWFscy9jb21wb25lbnRzL19tZXhfZW1wdHkuc2NzcyIsInBhZ2UvX2FyY2hpdmUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNrRmhCOztFQUdFLHNDQUFBO0VBQ0EsdUNBQUE7RUFDQSx1RkFBQTtFQUNBLDZFQUFBO0FEakZGOztBQ3NGQTs7RUFFRSxzQ0FBQTtFQUNBLHVDQUFBO0VBQ0EsdUZBQUE7RUFDQSw2RUFBQTtBRG5GRjs7QUVmQTtFQUNFLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0VBQUE7QUZrQkY7QUVmQTtFQUNFLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsK0RBQUE7QUZpQkY7QUVkQTtFQUNFLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsNERBQUE7QUZnQkY7QUViQTtFQUNFLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0VBQUE7QUZlRjtBRzVDQTtFQUNFLGtCQUFBO0VBQ0EsMkJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsOEVBQUE7QUg4Q0Y7QUczQ0E7RUFDRSxrQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLDZFQUFBO0FINkNGO0FHMUNBO0VBQ0Usa0JBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSwwRUFBQTtBSDRDRjtBR3pDQTtFQUNFLGtCQUFBO0VBQ0EsMkJBQUE7RUFDQSxrQkFBQTtFQUNB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aXZlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbltkYXRhLXRoZW1lPWxpZ2h0XSxcbjpyb290Om5vdChbZGF0YS10aGVtZT1kYXJrXSkge1xuICAtLW10LWNvbW1lbnRpLWZvcm0tYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgLS1tdC1uZWNyb2xvcmktZm9ybS1iYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAtLW10LWhvbWVwYWdlLW9wZW5pbmctYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgMTAlLCAjZmZmIDkwJSk7XG4gIC0tbXQtZ2FsbGVyeS1iYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1wcmltYXJ5KSA1JSwgI2ZmZiA5NSUpO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSxcbjpyb290W2RhdGEtdGhlbWU9ZGFya10ge1xuICAtLW10LWNvbW1lbnRpLWZvcm0tYmFja2dyb3VuZDogIzEyMTIxMjtcbiAgLS1tdC1uZWNyb2xvcmktZm9ybS1iYWNrZ3JvdW5kOiAjMTIxMjEyO1xuICAtLW10LWhvbWVwYWdlLW9wZW5pbmctYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgMTAlLCAjMDAwIDkwJSk7XG4gIC0tbXQtZ2FsbGVyeS1iYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1wcmltYXJ5KSA1JSwgIzAwMCA5NSUpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9pbnRlci9pbnRlci1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvaW50ZXIvaW50ZXItaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvaW50ZXIvaW50ZXItNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiSW50ZXJcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvaW50ZXIvaW50ZXItNzAwaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk1lcnJpd2VhdGhlclwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLTcwMGl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNhbnMvbm90by1zYW5zLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy03MDBpdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNlcmlmXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL25vdG8tc2VyaWYvbm90by1zZXJpZi1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtNzAwaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLTcwMGl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9yb2JvdG8vcm9ib3RvLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvcm9ib3RvL3JvYm90by1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvcm9ib3RvL3JvYm90by03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIjtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvcm9ib3RvL3JvYm90by03MDBpdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG4vKiFcbiAqIFBpY28gQ1NTIOKcqCB2Mi4xLjEgKGh0dHBzOi8vcGljb2Nzcy5jb20pXG4gKiBDb3B5cmlnaHQgMjAxOS0yMDI1IC0gTGljZW5zZWQgdW5kZXIgTUlUXG4gKi9cbi8qKlxuICogU3R5bGVzXG4gKi9cbjpyb290LFxuOmhvc3Qge1xuICAtLXBpY28tZm9udC1mYW1pbHktZW1vamk6IFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIjtcbiAgLS1waWNvLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IHN5c3RlbS11aSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIEhlbHZldGljYSwgQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIiwgc2Fucy1zZXJpZiwgdmFyKC0tcGljby1mb250LWZhbWlseS1lbW9qaSk7XG4gIC0tcGljby1mb250LWZhbWlseS1tb25vc3BhY2U6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFwiU0YgTW9ub1wiLCBNZW5sbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIG1vbm9zcGFjZSwgdmFyKC0tcGljby1mb250LWZhbWlseS1lbW9qaSk7XG4gIC0tcGljby1mb250LWZhbWlseTogdmFyKC0tcGljby1mb250LWZhbWlseS1zYW5zLXNlcmlmKTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiAxLjU7XG4gIC0tcGljby1mb250LXdlaWdodDogNDAwO1xuICAtLXBpY28tZm9udC1zaXplOiAxMDAlO1xuICAtLXBpY28tdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjFyZW07XG4gIC0tcGljby1ib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAtLXBpY28tYm9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gIC0tcGljby1vdXRsaW5lLXdpZHRoOiAwLjEyNXJlbTtcbiAgLS1waWNvLXRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC0tcGljby1zcGFjaW5nOiAxcmVtO1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsOiAxcmVtO1xuICAtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgLS1waWNvLWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgLS1waWNvLWdyaWQtY29sdW1uLWdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgLS1waWNvLWdyaWQtcm93LWdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsOiAwLjc1cmVtO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMXJlbTtcbiAgLS1waWNvLWdyb3VwLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIC0tcGljby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtYnV0dG9uOiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG4gIC0tcGljby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtaW5wdXQ6IDAgMCAwIDAuMDYyNXJlbSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbDogMXJlbTtcbiAgLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMC41cmVtO1xuICAtLXBpY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbDogMC41cmVtO1xuICAtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsOiAwLjVyZW07XG4gIC0tcGljby1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyOiBcIj5cIjtcbiAgLS1waWNvLWljb24tY2hlY2tib3g6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMjU1LCAyNTUsIDI1NSknIHN0cm9rZS13aWR0aD0nNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjAgNiA5IDE3IDQgMTInJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgLS1waWNvLWljb24tbWludXM6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMjU1LCAyNTUsIDI1NSknIHN0cm9rZS13aWR0aD0nNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2xpbmUgeDE9JzUnIHkxPScxMicgeDI9JzE5JyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAtLXBpY28taWNvbi1jaGV2cm9uOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDEzNiwgMTQ1LCAxNjQpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzYgOSAxMiAxNSAxOCA5JyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcGljby1pY29uLXNlYXJjaDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigxMzYsIDE0NSwgMTY0KScgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzExJyBjeT0nMTEnIHI9JzgnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzIxJyB5MT0nMjEnIHgyPScxNi42NScgeTI9JzE2LjY1JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICA6cm9vdCxcbiAgOmhvc3Qge1xuICAgIC0tcGljby1mb250LXNpemU6IDEwNi4yNSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICA6cm9vdCxcbiAgOmhvc3Qge1xuICAgIC0tcGljby1mb250LXNpemU6IDExMi41JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICA6cm9vdCxcbiAgOmhvc3Qge1xuICAgIC0tcGljby1mb250LXNpemU6IDExOC43NSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgOnJvb3QsXG4gIDpob3N0IHtcbiAgICAtLXBpY28tZm9udC1zaXplOiAxMjUlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTUzNnB4KSB7XG4gIDpyb290LFxuICA6aG9zdCB7XG4gICAgLS1waWNvLWZvbnQtc2l6ZTogMTMxLjI1JTtcbiAgfVxufVxuXG5hIHtcbiAgLS1waWNvLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuYS5zZWNvbmRhcnksIGEuY29udHJhc3Qge1xuICAtLXBpY28tdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbnNtYWxsIHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMC44NzVlbTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmgxIHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMnJlbTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDNyZW07XG59XG5cbmgyIHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMS43NXJlbTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiAxLjE1O1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMi42MjVyZW07XG59XG5cbmgzIHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMS41cmVtO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IDEuMTc1O1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMi4yNXJlbTtcbn1cblxuaDQge1xuICAtLXBpY28tZm9udC1zaXplOiAxLjI1cmVtO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IDEuMjtcbiAgLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuODc0cmVtO1xufVxuXG5oNSB7XG4gIC0tcGljby1mb250LXNpemU6IDEuMTI1cmVtO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IDEuMjI1O1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMS42ODc1cmVtO1xufVxuXG5oNiB7XG4gIC0tcGljby1mb250LXNpemU6IDFyZW07XG4gIC0tcGljby1saW5lLWhlaWdodDogMS4yNTtcbiAgLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuNXJlbTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZmlsZV0pLFxuOndoZXJlKHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgLS1waWNvLW91dGxpbmUtd2lkdGg6IDAuMDYyNXJlbTtcbn1cblxuW3R5cGU9c2VhcmNoXSB7XG4gIC0tcGljby1ib3JkZXItcmFkaXVzOiA1cmVtO1xufVxuXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICAtLXBpY28tYm9yZGVyLXdpZHRoOiAwLjEyNXJlbTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXSB7XG4gIC0tcGljby1ib3JkZXItd2lkdGg6IDAuMTg3NXJlbTtcbn1cblxuZGV0YWlscy5kcm9wZG93biBzdW1tYXJ5Om5vdChbcm9sZT1idXR0b25dKSB7XG4gIC0tcGljby1vdXRsaW5lLXdpZHRoOiAwLjA2MjVyZW07XG59XG5cbm5hdiBkZXRhaWxzLmRyb3Bkb3duIHN1bW1hcnk6Zm9jdXMtdmlzaWJsZSB7XG4gIC0tcGljby1vdXRsaW5lLXdpZHRoOiAwLjEyNXJlbTtcbn1cblxuW3JvbGU9c2VhcmNoXSB7XG4gIC0tcGljby1ib3JkZXItcmFkaXVzOiA1cmVtO1xufVxuXG5bcm9sZT1zZWFyY2hdOmhhcyhidXR0b24uc2Vjb25kYXJ5OmZvY3VzLFxuW3R5cGU9c3VibWl0XS5zZWNvbmRhcnk6Zm9jdXMsXG5bdHlwZT1idXR0b25dLnNlY29uZGFyeTpmb2N1cyxcbltyb2xlPWJ1dHRvbl0uc2Vjb25kYXJ5OmZvY3VzKSxcbltyb2xlPWdyb3VwXTpoYXMoYnV0dG9uLnNlY29uZGFyeTpmb2N1cyxcblt0eXBlPXN1Ym1pdF0uc2Vjb25kYXJ5OmZvY3VzLFxuW3R5cGU9YnV0dG9uXS5zZWNvbmRhcnk6Zm9jdXMsXG5bcm9sZT1idXR0b25dLnNlY29uZGFyeTpmb2N1cykge1xuICAtLXBpY28tZ3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWJ1dHRvbjogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLXNlY29uZGFyeS1mb2N1cyk7XG59XG5bcm9sZT1zZWFyY2hdOmhhcyhidXR0b24uY29udHJhc3Q6Zm9jdXMsXG5bdHlwZT1zdWJtaXRdLmNvbnRyYXN0OmZvY3VzLFxuW3R5cGU9YnV0dG9uXS5jb250cmFzdDpmb2N1cyxcbltyb2xlPWJ1dHRvbl0uY29udHJhc3Q6Zm9jdXMpLFxuW3JvbGU9Z3JvdXBdOmhhcyhidXR0b24uY29udHJhc3Q6Zm9jdXMsXG5bdHlwZT1zdWJtaXRdLmNvbnRyYXN0OmZvY3VzLFxuW3R5cGU9YnV0dG9uXS5jb250cmFzdDpmb2N1cyxcbltyb2xlPWJ1dHRvbl0uY29udHJhc3Q6Zm9jdXMpIHtcbiAgLS1waWNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1jb250cmFzdC1mb2N1cyk7XG59XG5bcm9sZT1zZWFyY2hdIGJ1dHRvbixcbltyb2xlPXNlYXJjaF0gW3R5cGU9c3VibWl0XSxcbltyb2xlPXNlYXJjaF0gW3R5cGU9YnV0dG9uXSxcbltyb2xlPXNlYXJjaF0gW3JvbGU9YnV0dG9uXSxcbltyb2xlPWdyb3VwXSBidXR0b24sXG5bcm9sZT1ncm91cF0gW3R5cGU9c3VibWl0XSxcbltyb2xlPWdyb3VwXSBbdHlwZT1idXR0b25dLFxuW3JvbGU9Z3JvdXBdIFtyb2xlPWJ1dHRvbl0ge1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMnJlbTtcbn1cblxuZGV0YWlscyBzdW1tYXJ5W3JvbGU9YnV0dG9uXTpub3QoLm91dGxpbmUpOjphZnRlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG59XG5cbi8qKlxuICogQ29sb3Igc2NoZW1lc1xuICovXG5bZGF0YS10aGVtZT1saWdodF0sXG46cm9vdDpub3QoW2RhdGEtdGhlbWU9ZGFya10pLFxuOmhvc3QoOm5vdChbZGF0YS10aGVtZT1kYXJrXSkpIHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC0tcGljby1jb2xvcjogIzM3M2M0NDtcbiAgLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDIsIDE1NCwgMjMyLCAwLjI1KTtcbiAgLS1waWNvLW11dGVkLWNvbG9yOiAjNjQ2Yjc5O1xuICAtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yOiByZ2IoMjMxLCAyMzQsIDIzOS41KTtcbiAgLS1waWNvLXByaW1hcnk6ICMwMTcyYWQ7XG4gIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6ICMwMTcyYWQ7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tcHJpbWFyeS11bmRlcmxpbmU6IHJnYmEoMSwgMTE0LCAxNzMsIDAuNSk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyOiAjMDE1ODg3O1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjMDI2NTlhO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBpY28tcHJpbWFyeS1mb2N1czogcmdiYSgyLCAxNTQsIDIzMiwgMC41KTtcbiAgLS1waWNvLXByaW1hcnktaW52ZXJzZTogI2ZmZjtcbiAgLS1waWNvLXNlY29uZGFyeTogIzVkNmI4OTtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjNTI1ZjdhO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lOiByZ2JhKDkzLCAxMDcsIDEzNywgMC41KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3ZlcjogIzQ4NTM2YjtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjNDg1MzZiO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlcik7XG4gIC0tcGljby1zZWNvbmRhcnktZm9jdXM6IHJnYmEoOTMsIDEwNywgMTM3LCAwLjI1KTtcbiAgLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlOiAjZmZmO1xuICAtLXBpY28tY29udHJhc3Q6ICMxODFjMjU7XG4gIC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kOiAjMTgxYzI1O1xuICAtLXBpY28tY29udHJhc3QtYm9yZGVyOiB2YXIoLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAtLXBpY28tY29udHJhc3QtdW5kZXJsaW5lOiByZ2JhKDI0LCAyOCwgMzcsIDAuNSk7XG4gIC0tcGljby1jb250cmFzdC1ob3ZlcjogIzAwMDtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQ6ICMwMDA7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiByZ2JhKDkzLCAxMDcsIDEzNywgMC4yNSk7XG4gIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiAjZmZmO1xuICAtLXBpY28tYm94LXNoYWRvdzogMC4wMTQ1cmVtIDAuMDI5cmVtIDAuMTc0cmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wMTY5OCksIDAuMDMzNXJlbSAwLjA2N3JlbSAwLjQwMnJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDI0KSwgMC4wNjI1cmVtIDAuMTI1cmVtIDAuNzVyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjAzKSwgMC4xMTI1cmVtIDAuMjI1cmVtIDEuMzVyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjAzNiksIDAuMjA4NXJlbSAwLjQxN3JlbSAyLjUwMnJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDQzMDIpLCAwLjVyZW0gMXJlbSA2cmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wNiksIDAgMCAwIDAuMDYyNXJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDE1KTtcbiAgLS1waWNvLWgxLWNvbG9yOiAjMmQzMTM4O1xuICAtLXBpY28taDItY29sb3I6ICMzNzNjNDQ7XG4gIC0tcGljby1oMy1jb2xvcjogIzQyNDc1MTtcbiAgLS1waWNvLWg0LWNvbG9yOiAjNGQ1MzVlO1xuICAtLXBpY28taDUtY29sb3I6ICM1YzYzNzA7XG4gIC0tcGljby1oNi1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW1hcmstYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1Mi41LCAyMzAuNSwgMTkxLjUpO1xuICAtLXBpY28tbWFyay1jb2xvcjogIzBmMTExNDtcbiAgLS1waWNvLWlucy1jb2xvcjogcmdiKDI4LjUsIDEwNS41LCA4NCk7XG4gIC0tcGljby1kZWwtY29sb3I6IHJnYigxMzYsIDU2LjUsIDUzKTtcbiAgLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIC0tcGljby1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6IHJnYigyNTEsIDI1MS41LCAyNTIuMjUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6ICNkZmUzZWI7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjY2ZkNWUyO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWNvbG9yOiAjMjMyNjJjO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZGlzYWJsZWQtb3BhY2l0eTogMC41O1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yOiByZ2IoMTgzLjUsIDEwNS41LCAxMDYuNSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMjAwLjI1LCA3OS4yNSwgNzIuMjUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yOiByZ2IoNzYsIDE1NC41LCAxMzcuNSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogcmdiKDM5LCAxNTIuNzUsIDExOC43NSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tc3dpdGNoLWJhY2tncm91bmQtY29sb3I6ICNiZmM3ZDk7XG4gIC0tcGljby1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1zd2l0Y2gtY29sb3I6ICNmZmY7XG4gIC0tcGljby1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1waWNvLWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbiAgLS1waWNvLWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgLS1waWNvLWFjY29yZGlvbi1vcGVuLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAtLXBpY28tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBpY28tY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWNhcmQtYm94LXNoYWRvdzogdmFyKC0tcGljby1ib3gtc2hhZG93KTtcbiAgLS1waWNvLWNhcmQtc2VjdGlvbmluZy1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUxLCAyNTEuNSwgMjUyLjI1KTtcbiAgLS1waWNvLWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIC0tcGljby1kcm9wZG93bi1ib3JkZXItY29sb3I6ICNlZmYxZjQ7XG4gIC0tcGljby1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICAtLXBpY28tZHJvcGRvd24tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAtLXBpY28tZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogI2VmZjFmNDtcbiAgLS1waWNvLWljb24tdmFsaWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoNzYsIDE1NC41LCAxMzcuNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjAgNiA5IDE3IDQgMTInJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgLS1waWNvLWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigyMDAuMjUsIDc5LjI1LCA3Mi4yNSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nOCcgeDI9JzEyJyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzE2JyB4Mj0nMTIuMDEnIHkyPScxNiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG59XG5bZGF0YS10aGVtZT1saWdodF0gaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1maWxlXSksXG46cm9vdDpub3QoW2RhdGEtdGhlbWU9ZGFya10pIGlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZmlsZV0pLFxuOmhvc3QoOm5vdChbZGF0YS10aGVtZT1kYXJrXSkpIGlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZmlsZV0pIHtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lXSksXG4gIDpob3N0KDpub3QoW2RhdGEtdGhlbWVdKSkge1xuICAgIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5LCAyMi41LCAzMC41KTtcbiAgICAtLXBpY28tY29sb3I6ICNjMmM3ZDA7XG4gICAgLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDEsIDE3MCwgMjU1LCAwLjE4NzUpO1xuICAgIC0tcGljby1tdXRlZC1jb2xvcjogIzdiODQ5NTtcbiAgICAtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yOiAjMjAyNjMyO1xuICAgIC0tcGljby1wcmltYXJ5OiAjMDFhYWZmO1xuICAgIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6ICMwMTcyYWQ7XG4gICAgLS1waWNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiByZ2JhKDEsIDE3MCwgMjU1LCAwLjUpO1xuICAgIC0tcGljby1wcmltYXJ5LWhvdmVyOiAjNzljMGZmO1xuICAgIC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICMwMTdmYzA7XG4gICAgLS1waWNvLXByaW1hcnktaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAgIC0tcGljby1wcmltYXJ5LWZvY3VzOiByZ2JhKDEsIDE3MCwgMjU1LCAwLjM3NSk7XG4gICAgLS1waWNvLXByaW1hcnktaW52ZXJzZTogI2ZmZjtcbiAgICAtLXBpY28tc2Vjb25kYXJ5OiAjOTY5ZWFmO1xuICAgIC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZDogIzUyNWY3YTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHJnYmEoMTUwLCAxNTgsIDE3NSwgMC41KTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiAjYjNiOWM1O1xuICAgIC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogIzVkNmI4OTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWZvY3VzOiByZ2JhKDE0NCwgMTU4LCAxOTAsIDAuMjUpO1xuICAgIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogI2ZmZjtcbiAgICAtLXBpY28tY29udHJhc3Q6ICNkZmUzZWI7XG4gICAgLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQ6ICNlZmYxZjQ7XG4gICAgLS1waWNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgICAtLXBpY28tY29udHJhc3QtdW5kZXJsaW5lOiByZ2JhKDIyMywgMjI3LCAyMzUsIDAuNSk7XG4gICAgLS1waWNvLWNvbnRyYXN0LWhvdmVyOiAjZmZmO1xuICAgIC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiAjZmZmO1xuICAgIC0tcGljby1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZCk7XG4gICAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlcik7XG4gICAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiByZ2JhKDIwNywgMjEzLCAyMjYsIDAuMjUpO1xuICAgIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiAjMDAwO1xuICAgIC0tcGljby1ib3gtc2hhZG93OiAwLjAxNDVyZW0gMC4wMjlyZW0gMC4xNzRyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAxNjk4KSwgMC4wMzM1cmVtIDAuMDY3cmVtIDAuNDAycmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMjQpLCAwLjA2MjVyZW0gMC4xMjVyZW0gMC43NXJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDMpLCAwLjExMjVyZW0gMC4yMjVyZW0gMS4zNXJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDM2KSwgMC4yMDg1cmVtIDAuNDE3cmVtIDIuNTAycmVtIHJnYmEoNywgOC41LCAxMiwgMC4wNDMwMiksIDAuNXJlbSAxcmVtIDZyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjA2KSwgMCAwIDAgMC4wNjI1cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMTUpO1xuICAgIC0tcGljby1oMS1jb2xvcjogI2YwZjFmMztcbiAgICAtLXBpY28taDItY29sb3I6ICNlMGUzZTc7XG4gICAgLS1waWNvLWgzLWNvbG9yOiAjYzJjN2QwO1xuICAgIC0tcGljby1oNC1jb2xvcjogI2IzYjljNTtcbiAgICAtLXBpY28taDUtY29sb3I6ICNhNGFjYmE7XG4gICAgLS1waWNvLWg2LWNvbG9yOiAjODg5MWE0O1xuICAgIC0tcGljby1tYXJrLWJhY2tncm91bmQtY29sb3I6ICMwMTQwNjM7XG4gICAgLS1waWNvLW1hcmstY29sb3I6ICNmZmY7XG4gICAgLS1waWNvLWlucy1jb2xvcjogIzYyYWY5YTtcbiAgICAtLXBpY28tZGVsLWNvbG9yOiByZ2IoMjA1LjUsIDEyNiwgMTIzKTtcbiAgICAtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAtLXBpY28tYmxvY2txdW90ZS1mb290ZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAgIC0tcGljby1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAtLXBpY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjgsIDMzLCA0My41KTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6ICMyYTMxNDA7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6ICMyYTMxNDA7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1jb2xvcjogI2UwZTNlNztcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yOiAjODg5MWE0O1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3I6IHJnYigyNiwgMzAuNSwgNDAuMjUpO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5OiAwLjU7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcjogcmdiKDE0OS41LCA3NCwgODApO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMTgzLjI1LCA2My41LCA1OSk7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yOiAjMmE3YjZmO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogcmdiKDIyLCAxMzcsIDEwNS41KTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAtLXBpY28tc3dpdGNoLWJhY2tncm91bmQtY29sb3I6ICMzMzNjNGU7XG4gICAgLS1waWNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAtLXBpY28tc3dpdGNoLWNvbG9yOiAjZmZmO1xuICAgIC0tcGljby1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAtLXBpY28tYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgIC0tcGljby1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlcik7XG4gICAgLS1waWNvLWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAtLXBpY28tYWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gICAgLS1waWNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcjogIzE4MWMyNTtcbiAgICAtLXBpY28tY2FyZC1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAtLXBpY28tY2FyZC1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICAgIC0tcGljby1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcjogcmdiKDI2LCAzMC41LCA0MC4yNSk7XG4gICAgLS1waWNvLWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I6ICMxODFjMjU7XG4gICAgLS1waWNvLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogIzIwMjYzMjtcbiAgICAtLXBpY28tZHJvcGRvd24tYm94LXNoYWRvdzogdmFyKC0tcGljby1ib3gtc2hhZG93KTtcbiAgICAtLXBpY28tZHJvcGRvd24tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgIC0tcGljby1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMjAyNjMyO1xuICAgIC0tcGljby1pY29uLXZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDQyLCAxMjMsIDExMSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjAgNiA5IDE3IDQgMTInJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAtLXBpY28taWNvbi1pbnZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDE0OS41LCA3NCwgODApJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzgnIHgyPScxMicgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTInIHkxPScxNicgeDI9JzEyLjAxJyB5Mj0nMTYnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG4gIDpyb290Om5vdChbZGF0YS10aGVtZV0pIGlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sXG4gIFt0eXBlPWJ1dHRvbl0sXG4gIFt0eXBlPXJlc2V0XSxcbiAgW3R5cGU9Y2hlY2tib3hdLFxuICBbdHlwZT1yYWRpb10sXG4gIFt0eXBlPWZpbGVdKSxcbiAgOmhvc3QoOm5vdChbZGF0YS10aGVtZV0pKSBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLFxuICBbdHlwZT1idXR0b25dLFxuICBbdHlwZT1yZXNldF0sXG4gIFt0eXBlPWNoZWNrYm94XSxcbiAgW3R5cGU9cmFkaW9dLFxuICBbdHlwZT1maWxlXSkge1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG4gIH1cbiAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lXSkgZGV0YWlscyBzdW1tYXJ5W3JvbGU9YnV0dG9uXS5jb250cmFzdDpub3QoLm91dGxpbmUpOjphZnRlcixcbiAgOmhvc3QoOm5vdChbZGF0YS10aGVtZV0pKSBkZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dLmNvbnRyYXN0Om5vdCgub3V0bGluZSk6OmFmdGVyIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCk7XG4gIH1cbn1cbltkYXRhLXRoZW1lPWRhcmtdIHtcbiAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5LCAyMi41LCAzMC41KTtcbiAgLS1waWNvLWNvbG9yOiAjYzJjN2QwO1xuICAtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3I6IHJnYmEoMSwgMTcwLCAyNTUsIDAuMTg3NSk7XG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzdiODQ5NTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogIzIwMjYzMjtcbiAgLS1waWNvLXByaW1hcnk6ICMwMWFhZmY7XG4gIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6ICMwMTcyYWQ7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tcHJpbWFyeS11bmRlcmxpbmU6IHJnYmEoMSwgMTcwLCAyNTUsIDAuNSk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyOiAjNzljMGZmO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjMDE3ZmMwO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBpY28tcHJpbWFyeS1mb2N1czogcmdiYSgxLCAxNzAsIDI1NSwgMC4zNzUpO1xuICAtLXBpY28tcHJpbWFyeS1pbnZlcnNlOiAjZmZmO1xuICAtLXBpY28tc2Vjb25kYXJ5OiAjOTY5ZWFmO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICM1MjVmN2E7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHJnYmEoMTUwLCAxNTgsIDE3NSwgMC41KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3ZlcjogI2IzYjljNTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjNWQ2Yjg5O1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlcik7XG4gIC0tcGljby1zZWNvbmRhcnktZm9jdXM6IHJnYmEoMTQ0LCAxNTgsIDE5MCwgMC4yNSk7XG4gIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogI2ZmZjtcbiAgLS1waWNvLWNvbnRyYXN0OiAjZGZlM2ViO1xuICAtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZDogI2VmZjFmNDtcbiAgLS1waWNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogcmdiYSgyMjMsIDIyNywgMjM1LCAwLjUpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6ICNmZmY7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiAjZmZmO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyKTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiByZ2JhKDIwNywgMjEzLCAyMjYsIDAuMjUpO1xuICAtLXBpY28tY29udHJhc3QtaW52ZXJzZTogIzAwMDtcbiAgLS1waWNvLWJveC1zaGFkb3c6IDAuMDE0NXJlbSAwLjAyOXJlbSAwLjE3NHJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDE2OTgpLCAwLjAzMzVyZW0gMC4wNjdyZW0gMC40MDJyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAyNCksIDAuMDYyNXJlbSAwLjEyNXJlbSAwLjc1cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMyksIDAuMTEyNXJlbSAwLjIyNXJlbSAxLjM1cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMzYpLCAwLjIwODVyZW0gMC40MTdyZW0gMi41MDJyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjA0MzAyKSwgMC41cmVtIDFyZW0gNnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDYpLCAwIDAgMCAwLjA2MjVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAxNSk7XG4gIC0tcGljby1oMS1jb2xvcjogI2YwZjFmMztcbiAgLS1waWNvLWgyLWNvbG9yOiAjZTBlM2U3O1xuICAtLXBpY28taDMtY29sb3I6ICNjMmM3ZDA7XG4gIC0tcGljby1oNC1jb2xvcjogI2IzYjljNTtcbiAgLS1waWNvLWg1LWNvbG9yOiAjYTRhY2JhO1xuICAtLXBpY28taDYtY29sb3I6ICM4ODkxYTQ7XG4gIC0tcGljby1tYXJrLWJhY2tncm91bmQtY29sb3I6ICMwMTQwNjM7XG4gIC0tcGljby1tYXJrLWNvbG9yOiAjZmZmO1xuICAtLXBpY28taW5zLWNvbG9yOiAjNjJhZjlhO1xuICAtLXBpY28tZGVsLWNvbG9yOiByZ2IoMjA1LjUsIDEyNiwgMTIzKTtcbiAgLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIC0tcGljby1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6IHJnYigyOCwgMzMsIDQzLjUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3I6ICMyYTMxNDA7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjMmEzMTQwO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWNvbG9yOiAjZTBlM2U3O1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yOiAjODg5MWE0O1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjYsIDMwLjUsIDQwLjI1KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZGlzYWJsZWQtb3BhY2l0eTogMC41O1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yOiByZ2IoMTQ5LjUsIDc0LCA4MCk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMTgzLjI1LCA2My41LCA1OSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3I6ICMyYTdiNmY7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogcmdiKDIyLCAxMzcsIDEwNS41KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcjogIzMzM2M0ZTtcbiAgLS1waWNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXN3aXRjaC1jb2xvcjogI2ZmZjtcbiAgLS1waWNvLXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBpY28tYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tYWNjb3JkaW9uLWFjdGl2ZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBpY28tYWNjb3JkaW9uLWNsb3NlLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAtLXBpY28tYWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIC0tcGljby1jYXJkLWJhY2tncm91bmQtY29sb3I6ICMxODFjMjU7XG4gIC0tcGljby1jYXJkLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1jYXJkLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBpY28tY2FyZC1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICAtLXBpY28tY2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3I6IHJnYigyNiwgMzAuNSwgNDAuMjUpO1xuICAtLXBpY28tZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogIzE4MWMyNTtcbiAgLS1waWNvLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogIzIwMjYzMjtcbiAgLS1waWNvLWRyb3Bkb3duLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYm94LXNoYWRvdyk7XG4gIC0tcGljby1kcm9wZG93bi1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIC0tcGljby1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAjMjAyNjMyO1xuICAtLXBpY28taWNvbi12YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYig0MiwgMTIzLCAxMTEpJyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcGljby1pY29uLWludmFsaWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMTQ5LjUsIDc0LCA4MCknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nOCcgeDI9JzEyJyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzE2JyB4Mj0nMTIuMDEnIHkyPScxNiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG59XG5bZGF0YS10aGVtZT1kYXJrXSBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWZpbGVdKSB7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG59XG5bZGF0YS10aGVtZT1kYXJrXSBkZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dLmNvbnRyYXN0Om5vdCgub3V0bGluZSk6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApO1xufVxuXG5wcm9ncmVzcyxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPXJhbmdlXSB7XG4gIGFjY2VudC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbn1cblxuLyoqXG4gKiBEb2N1bWVudFxuICogQ29udGVudC1ib3ggJiBSZXNwb25zaXZlIHR5cG9ncmFwaHlcbiAqL1xuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuOjpiZWZvcmUsXG46OmFmdGVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDtcbn1cblxuOndoZXJlKDpyb290KSxcbjp3aGVyZSg6aG9zdCkge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBpY28tZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IHZhcigtLXBpY28tZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXBpY28tbGluZS1oZWlnaHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tcGljby1mb250LWZhbWlseSk7XG4gIHRleHQtdW5kZXJsaW5lLW9mZnNldDogdmFyKC0tcGljby10ZXh0LXVuZGVybGluZS1vZmZzZXQpO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB0YWItc2l6ZTogNDtcbn1cblxuLyoqXG4gKiBMYW5kbWFya3NcbiAqL1xuYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG59XG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuYm9keSA+IGhlYWRlcixcbmJvZHkgPiBtYWluLFxuYm9keSA+IGZvb3RlciB7XG4gIHBhZGRpbmctYmxvY2s6IHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbi8qKlxuICogU2VjdGlvblxuICovXG5zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuLyoqXG4gKiBDb250YWluZXJcbiAqL1xuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTI4MHB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTUzNnB4KSB7XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTI4MHB4O1xuICB9XG59XG5cbi8qKlxuICogR3JpZFxuICogTWluaW1hbCBncmlkIHN5c3RlbSB3aXRoIGF1dG8tbGF5b3V0IGNvbHVtbnNcbiAqL1xuLmdyaWQge1xuICBncmlkLWNvbHVtbi1nYXA6IHZhcigtLXBpY28tZ3JpZC1jb2x1bW4tZ2FwKTtcbiAgZ3JpZC1yb3ctZ2FwOiB2YXIoLS1waWNvLWdyaWQtcm93LWdhcCk7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDAlLCAxZnIpKTtcbiAgfVxufVxuLmdyaWQgPiAqIHtcbiAgbWluLXdpZHRoOiAwO1xufVxuXG4vKipcbiAqIE92ZXJmbG93IGF1dG9cbiAqL1xuLm92ZXJmbG93LWF1dG8ge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBUeXBvZ3JhcGh5XG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG5zdWIsXG5zdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC43NWVtO1xuICBsaW5lLWhlaWdodDogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5hZGRyZXNzLFxuYmxvY2txdW90ZSxcbmRsLFxub2wsXG5wLFxucHJlLFxudGFibGUsXG51bCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1waWNvLWZvbnQtd2VpZ2h0KTtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1waWNvLWZvbnQtd2VpZ2h0KTtcbiAgZm9udC1zaXplOiB2YXIoLS1waWNvLWZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLXBpY28tZm9udC1mYW1pbHkpO1xufVxuXG5oMSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1oMS1jb2xvcik7XG59XG5cbmgyIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWgyLWNvbG9yKTtcbn1cblxuaDMge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28taDMtY29sb3IpO1xufVxuXG5oNCB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1oNC1jb2xvcik7XG59XG5cbmg1IHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWg1LWNvbG9yKTtcbn1cblxuaDYge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28taDYtY29sb3IpO1xufVxuXG46d2hlcmUoYXJ0aWNsZSwgYWRkcmVzcywgYmxvY2txdW90ZSwgZGwsIGZpZ3VyZSwgZm9ybSwgb2wsIHAsIHByZSwgdGFibGUsIHVsKSB+IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcCk7XG59XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG59XG5cbmhncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cbmhncm91cCA+ICoge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuaGdyb3VwID4gKjpub3QoOmZpcnN0LWNoaWxkKTpsYXN0LWNoaWxkIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiB1bnNldDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG46d2hlcmUob2wsIHVsKSBsaSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpICogMC4yNSk7XG59XG5cbjp3aGVyZShkbCwgb2wsIHVsKSA6d2hlcmUoZGwsIG9sLCB1bCkge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpICogMC4yNSk7XG59XG5cbnVsIGxpIHtcbiAgbGlzdC1zdHlsZTogc3F1YXJlO1xufVxuXG5tYXJrIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1tYXJrLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1tYXJrLWNvbG9yKTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogdmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpIDA7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGJvcmRlci1yaWdodDogbm9uZTtcbiAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1pbmxpbmUtc3RhcnQ6IDAuMjVyZW0gc29saWQgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1pbmxpbmUtZW5kOiBub25lO1xufVxuYmxvY2txdW90ZSBmb290ZXIge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yKTtcbn1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuaW5zIHtcbiAgY29sb3I6IHZhcigtLXBpY28taW5zLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5kZWwge1xuICBjb2xvcjogdmFyKC0tcGljby1kZWwtY29sb3IpO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3IpO1xufVxuXG4vKipcbiAqIExpbmtcbiAqL1xuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKSxcbltyb2xlPWxpbmtdIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tcGljby11bmRlcmxpbmU6IHZhcigtLXBpY28tcHJpbWFyeS11bmRlcmxpbmUpO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogdmFyKC0tcGljby10ZXh0LWRlY29yYXRpb24pO1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigtLXBpY28tdW5kZXJsaW5lKTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjEyNWVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIHRleHQtZGVjb3JhdGlvbiB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcbltyb2xlPWxpbmtdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbiAgLS1waWNvLXVuZGVybGluZTogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyLXVuZGVybGluZSk7XG4gIC0tcGljby10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSk6Zm9jdXMtdmlzaWJsZSxcbltyb2xlPWxpbmtdOmZvY3VzLXZpc2libGUge1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpLnNlY29uZGFyeSxcbltyb2xlPWxpbmtdLnNlY29uZGFyeSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnkpO1xuICAtLXBpY28tdW5kZXJsaW5lOiB2YXIoLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmUpO1xufVxuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKS5zZWNvbmRhcnk6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3JvbGU9bGlua10uc2Vjb25kYXJ5OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXIpO1xuICAtLXBpY28tdW5kZXJsaW5lOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmUpO1xufVxuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKS5jb250cmFzdCxcbltyb2xlPWxpbmtdLmNvbnRyYXN0IHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0KTtcbiAgLS1waWNvLXVuZGVybGluZTogdmFyKC0tcGljby1jb250cmFzdC11bmRlcmxpbmUpO1xufVxuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bcm9sZT1saW5rXS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXIpO1xuICAtLXBpY28tdW5kZXJsaW5lOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZSk7XG59XG5cbmFbcm9sZT1idXR0b25dIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEJ1dHRvblxuICovXG5idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbmJ1dHRvbixcblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1idXR0b25dIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbmJ1dHRvbixcblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuW3JvbGU9YnV0dG9uXSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgLS1waWNvLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYnV0dG9uLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBib3JkZXI6IHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBpY28tYm94LXNoYWRvdyk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBpY28tZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgYm9yZGVyLWNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGJveC1zaGFkb3cgdmFyKC0tcGljby10cmFuc2l0aW9uKTtcbn1cbmJ1dHRvbjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSwgYnV0dG9uOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXN1Ym1pdF06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSksXG5bdHlwZT1zdWJtaXRdOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXJlc2V0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSxcblt0eXBlPXJlc2V0XTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1idXR0b25dOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpLFxuW3R5cGU9YnV0dG9uXTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSksXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3JvbGU9YnV0dG9uXTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSxcbltyb2xlPWJ1dHRvbl06aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyLWJvcmRlcik7XG4gIC0tcGljby1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG59XG5idXR0b246Zm9jdXMsIGJ1dHRvbjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyxcblt0eXBlPXN1Ym1pdF06Zm9jdXMsXG5bdHlwZT1zdWJtaXRdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3R5cGU9cmVzZXRdOmZvY3VzLFxuW3R5cGU9cmVzZXRdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3R5cGU9YnV0dG9uXTpmb2N1cyxcblt0eXBlPWJ1dHRvbl06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246Zm9jdXMsXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bcm9sZT1idXR0b25dOmZvY3VzLFxuW3JvbGU9YnV0dG9uXTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyB7XG4gIC0tcGljby1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSwgMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xufVxuXG5bdHlwZT1zdWJtaXRdLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9YnV0dG9uXSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLnNlY29uZGFyeSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktYm9yZGVyKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuc2Vjb25kYXJ5OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXJlc2V0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlci1ib3JkZXIpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWludmVyc2UpO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuc2Vjb25kYXJ5OmZvY3VzLCA6aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5zZWNvbmRhcnk6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1yZXNldF06Zm9jdXMsXG5bdHlwZT1yZXNldF06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246Zm9jdXMsXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b246aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMge1xuICAtLXBpY28tYm94LXNoYWRvdzogdmFyKC0tcGljby1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksIDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1zZWNvbmRhcnktZm9jdXMpO1xufVxuXG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5jb250cmFzdCB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWJvcmRlcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1pbnZlcnNlKTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLmNvbnRyYXN0OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJvcmRlcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1pbnZlcnNlKTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLmNvbnRyYXN0OmZvY3VzLCA6aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyB7XG4gIC0tcGljby1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSwgMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLWNvbnRyYXN0LWZvY3VzKTtcbn1cblxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkub3V0bGluZSxcblt0eXBlPXJlc2V0XS5vdXRsaW5lIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXJlc2V0XS5vdXRsaW5lOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xufVxuXG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lLnNlY29uZGFyeSxcblt0eXBlPXJlc2V0XS5vdXRsaW5lIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeSk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5KTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLm91dGxpbmUuc2Vjb25kYXJ5OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPXJlc2V0XS5vdXRsaW5lOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXIpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlcik7XG59XG5cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLm91dGxpbmUuY29udHJhc3Qge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0KTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLm91dGxpbmUuY29udHJhc3Q6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlcik7XG59XG5cbjp3aGVyZShidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPXJlc2V0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSlbZGlzYWJsZWRdLFxuOndoZXJlKGZpZWxkc2V0W2Rpc2FibGVkXSkgOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3R5cGU9cmVzZXRdLCBbcm9sZT1idXR0b25dKSB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qKlxuICogRW1iZWRkZWQgY29udGVudFxuICovXG46d2hlcmUoYXVkaW8sIGNhbnZhcywgaWZyYW1lLCBpbWcsIHN2ZywgdmlkZW8pIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG46d2hlcmUoaWZyYW1lKSB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuOndoZXJlKHN2Zzpub3QoW2ZpbGxdKSkge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG5cbnN2Zzpub3QoOnJvb3QpLFxuc3ZnOm5vdCg6aG9zdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKipcbiAqIEZpZ3VyZVxuICovXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuZmlndXJlIGZpZ2NhcHRpb24ge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAwLjUpIDA7XG4gIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbn1cblxuLyoqXG4gKiBNaXNjXG4gKi9cbmhyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQmFzaWNzIGZvcm0gZWxlbWVudHNcbiAqL1xuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xufVxuXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxubGVnZW5kIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbn1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dIHtcbiAgcGFkZGluZzogMDtcbn1cblxuOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xufVxuXG5bdHlwZT1zZWFyY2hdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7XG59XG5cbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuOi1tb3otdWktaW52YWxpZCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbjo6LW1zLWV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cblt0eXBlPWZpbGVdLFxuW3R5cGU9cmFuZ2VdIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSkge1xuICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigtLXBpY28tbGluZS1oZWlnaHQpICsgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyICsgdmFyKC0tcGljby1ib3JkZXItd2lkdGgpICogMik7XG59XG5cbmZpZWxkc2V0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5sYWJlbCxcbmZpZWxkc2V0IGxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAwLjM3NSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBpY28tZm9ybS1sYWJlbC1mb250LXdlaWdodCwgdmFyKC0tcGljby1mb250LXdlaWdodCkpO1xufVxuXG5maWVsZHNldCBsZWdlbmQge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAwLjUpO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pLFxuYnV0dG9uW3R5cGU9c3VibWl0XSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSksXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtY29sb3IpO1xuICAtLXBpY28tYm94LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcGljby1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGZvbnQtd2VpZ2h0OiB2YXIoLS1waWNvLWZvbnQtd2VpZ2h0KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBib3JkZXItY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgYm94LXNoYWRvdyB2YXIoLS1waWNvLXRyYW5zaXRpb24pO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bcmVhZG9ubHldKTppcyg6YWN0aXZlLCA6Zm9jdXMpLFxuOndoZXJlKHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbcmVhZG9ubHldKTppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFt0eXBlPXJlc2V0XSwgW3JvbGU9c3dpdGNoXSwgW3JlYWRvbmx5XSk6aXMoOmFjdGl2ZSwgOmZvY3VzKSxcbjp3aGVyZShzZWxlY3QsIHRleHRhcmVhKTpub3QoW3JlYWRvbmx5XSk6aXMoOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3IpO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1yYW5nZV0sXG5bdHlwZT1maWxlXSxcbltyZWFkb25seV0pOmZvY3VzLFxuOndoZXJlKHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbcmVhZG9ubHldKTpmb2N1cyB7XG4gIC0tcGljby1ib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yKTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFt0eXBlPXJlc2V0XSlbZGlzYWJsZWRdLFxuc2VsZWN0W2Rpc2FibGVkXSxcbnRleHRhcmVhW2Rpc2FibGVkXSxcbmxhYmVsW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0sXG46d2hlcmUoZmllbGRzZXRbZGlzYWJsZWRdKSA6aXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFt0eXBlPXJlc2V0XSksIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgb3BhY2l0eTogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtZGlzYWJsZWQtb3BhY2l0eSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5sYWJlbFthcmlhLWRpc2FibGVkPXRydWVdIGlucHV0W2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWRhdGVdLFxuW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuW3R5cGU9bW9udGhdLFxuW3R5cGU9dGltZV0sXG5bdHlwZT13ZWVrXSxcblt0eXBlPXJhbmdlXSlbYXJpYS1pbnZhbGlkXSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSkgIWltcG9ydGFudDtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNzVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKTpub3QoW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZGF0ZV0sXG5bdHlwZT1kYXRldGltZS1sb2NhbF0sXG5bdHlwZT1tb250aF0sXG5bdHlwZT10aW1lXSxcblt0eXBlPXdlZWtdLFxuW3R5cGU9cmFuZ2VdKVthcmlhLWludmFsaWQ9ZmFsc2VdOm5vdChzZWxlY3QpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLXZhbGlkKTtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWRhdGVdLFxuW3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLFxuW3R5cGU9bW9udGhdLFxuW3R5cGU9dGltZV0sXG5bdHlwZT13ZWVrXSxcblt0eXBlPXJhbmdlXSlbYXJpYS1pbnZhbGlkPXRydWVdOm5vdChzZWxlY3QpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLWludmFsaWQpO1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKVthcmlhLWludmFsaWQ9ZmFsc2VdIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPWZhbHNlXTppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPWZhbHNlXTppcyg6YWN0aXZlLCA6Zm9jdXMpOm5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSkge1xuICAtLXBpY28tYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcikgIWltcG9ydGFudDtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKVthcmlhLWludmFsaWQ9dHJ1ZV06aXMoOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcikgIWltcG9ydGFudDtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSlbYXJpYS1pbnZhbGlkPXRydWVdOmlzKDphY3RpdmUsIDpmb2N1cyk6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSB7XG4gIC0tcGljby1ib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbltkaXI9cnRsXSA6d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6aXMoW2FyaWEtaW52YWxpZF0sIFthcmlhLWludmFsaWQ9dHJ1ZV0sIFthcmlhLWludmFsaWQ9ZmFsc2VdKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0IDAuNzVyZW07XG59XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbmlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG5zZWxlY3Q6aW52YWxpZCB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcik7XG4gIG9wYWNpdHk6IDE7XG59XG5cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSksXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5cbnNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5zZWxlY3Q6bm90KFttdWx0aXBsZV0sIFtzaXplXSkge1xuICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1jaGV2cm9uKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNzVyZW07XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuc2VsZWN0W211bHRpcGxlXSBvcHRpb246Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtY29sb3IpO1xufVxuXG5bZGlyPXJ0bF0gc2VsZWN0Om5vdChbbXVsdGlwbGVdLCBbc2l6ZV0pIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgMC43NXJlbTtcbn1cblxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cbnRleHRhcmVhW2FyaWEtaW52YWxpZF0ge1xuICAtLXBpY28taWNvbi1oZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigtLXBpY28tbGluZS1oZWlnaHQpICsgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyICsgdmFyKC0tcGljby1ib3JkZXItd2lkdGgpICogMik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodCAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSB2YXIoLS1waWNvLWljb24taGVpZ2h0KSAhaW1wb3J0YW50O1xufVxuXG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGZpZWxkc2V0LCAuZ3JpZCkgKyBzbWFsbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogLTAuNzUpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGZpZWxkc2V0LCAuZ3JpZClbYXJpYS1pbnZhbGlkPWZhbHNlXSArIHNtYWxsIHtcbiAgY29sb3I6IHZhcigtLXBpY28taW5zLWNvbG9yKTtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgZmllbGRzZXQsIC5ncmlkKVthcmlhLWludmFsaWQ9dHJ1ZV0gKyBzbWFsbCB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWRlbC1jb2xvcik7XG59XG5cbmxhYmVsID4gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDAuMjUpO1xufVxuXG4vKipcbiAqIENoZWNrYm94ZXMsIFJhZGlvcyBhbmQgU3dpdGNoZXNcbiAqL1xubGFiZWw6aGFzKFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgd2lkdGg6IDEuMjVlbTtcbiAgaGVpZ2h0OiAxLjI1ZW07XG4gIG1hcmdpbi10b3A6IC0wLjEyNWVtO1xuICBtYXJnaW4taW5saW5lLWVuZDogMC41ZW07XG4gIGJvcmRlci13aWR0aDogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bdHlwZT1jaGVja2JveF06Oi1tcy1jaGVjayxcblt0eXBlPXJhZGlvXTo6LW1zLWNoZWNrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblt0eXBlPWNoZWNrYm94XTpjaGVja2VkLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphY3RpdmUsIFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmZvY3VzLFxuW3R5cGU9cmFkaW9dOmNoZWNrZWQsXG5bdHlwZT1yYWRpb106Y2hlY2tlZDphY3RpdmUsXG5bdHlwZT1yYWRpb106Y2hlY2tlZDpmb2N1cyB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tY2hlY2tib3gpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMC43NWVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5bdHlwZT1jaGVja2JveF0gfiBsYWJlbCxcblt0eXBlPXJhZGlvXSB+IGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5bdHlwZT1jaGVja2JveF0gfiBsYWJlbDpub3QoOmxhc3Qtb2YtdHlwZSksXG5bdHlwZT1yYWRpb10gfiBsYWJlbDpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICBtYXJnaW4taW5saW5lLWVuZDogMWVtO1xufVxuXG5bdHlwZT1jaGVja2JveF06aW5kZXRlcm1pbmF0ZSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tbWludXMpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMC43NWVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5cblt0eXBlPXJhZGlvXSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblt0eXBlPXJhZGlvXTpjaGVja2VkLCBbdHlwZT1yYWRpb106Y2hlY2tlZDphY3RpdmUsIFt0eXBlPXJhZGlvXTpjaGVja2VkOmZvY3VzIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgYm9yZGVyLXdpZHRoOiAwLjM1ZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF0ge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zd2l0Y2gtY29sb3IpO1xuICB3aWR0aDogMi4yNWVtO1xuICBoZWlnaHQ6IDEuMjVlbTtcbiAgYm9yZGVyOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcGljby1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiAxLjI1ZW07XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOm5vdChbYXJpYS1pbnZhbGlkXSkge1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGFzcGVjdC1yYXRpbzogMTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLXN3aXRjaC10aHVtYi1ib3gtc2hhZG93KTtcbiAgY29udGVudDogXCJcIjtcbiAgdHJhbnNpdGlvbjogbWFyZ2luIDAuMXMgZWFzZS1pbi1vdXQ7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmZvY3VzIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tc3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Y2hlY2tlZCB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3IpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkOjpiZWZvcmUge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKDIuMjVlbSAtIDEuMjVlbSk7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2Rpc2FibGVkXSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJvcmRlci1jb2xvcik7XG59XG5cblt0eXBlPWNoZWNrYm94XVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQsIFt0eXBlPWNoZWNrYm94XVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6YWN0aXZlLCBbdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmZvY3VzLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDphY3RpdmUsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDpmb2N1cyB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xufVxuW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDphY3RpdmVbYXJpYS1pbnZhbGlkPXRydWVdLCBbdHlwZT1jaGVja2JveF06Y2hlY2tlZDpmb2N1c1thcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkOmFjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQ6Zm9jdXNbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZCwgW3R5cGU9Y2hlY2tib3hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDphY3RpdmUsIFt0eXBlPWNoZWNrYm94XVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6Zm9jdXMsXG5bdHlwZT1yYWRpb11bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkLFxuW3R5cGU9cmFkaW9dW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDphY3RpdmUsXG5bdHlwZT1yYWRpb11bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmZvY3VzLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDphY3RpdmUsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDpmb2N1cyB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcik7XG59XG5bdHlwZT1jaGVja2JveF06Y2hlY2tlZFthcmlhLWludmFsaWQ9dHJ1ZV0sIFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmFjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV0sIFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmZvY3VzW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPXJhZGlvXTpjaGVja2VkW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPXJhZGlvXTpjaGVja2VkOmFjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1yYWRpb106Y2hlY2tlZDpmb2N1c1thcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkOmFjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQ6Zm9jdXNbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xufVxuXG4vKipcbiAqIElucHV0IHR5cGUgc2VhcmNoXG4gKi9cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSlbdHlwZT1zZWFyY2hdIHtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNzVyZW0pO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tc2VhcmNoKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMC4xMjVyZW0pO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSlbdHlwZT1zZWFyY2hdW2FyaWEtaW52YWxpZF0ge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS43NXJlbSkgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgMS4xMjVyZW0sIGNlbnRlciByaWdodCAwLjc1cmVtO1xufVxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKVt0eXBlPXNlYXJjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1zZWFyY2gpLCB2YXIoLS1waWNvLWljb24tdmFsaWQpO1xufVxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKVt0eXBlPXNlYXJjaF1bYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLXNlYXJjaCksIHZhcigtLXBpY28taWNvbi1pbnZhbGlkKTtcbn1cblxuW2Rpcj1ydGxdIDp3aGVyZShpbnB1dCk6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKVt0eXBlPXNlYXJjaF0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMS4xMjVyZW07XG59XG5bZGlyPXJ0bF0gOndoZXJlKGlucHV0KTpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXVthcmlhLWludmFsaWRdIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEuMTI1cmVtLCBjZW50ZXIgbGVmdCAwLjc1cmVtO1xufVxuXG4vKipcbiAqIEFjY29yZGlvbiAoPGRldGFpbHM+KVxuICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5kZXRhaWxzIHN1bW1hcnkge1xuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG5kZXRhaWxzIHN1bW1hcnk6bm90KFtyb2xlXSkge1xuICBjb2xvcjogdmFyKC0tcGljby1hY2NvcmRpb24tY2xvc2Utc3VtbWFyeS1jb2xvcik7XG59XG5kZXRhaWxzIHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OjptYXJrZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OjotbW96LWxpc3QtYnVsbGV0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXBpY28tc3BhY2luZywgMXJlbSkgKiAwLjUpO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1jaGV2cm9uKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29udGVudDogXCJcIjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG5kZXRhaWxzIHN1bW1hcnk6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuZGV0YWlscyBzdW1tYXJ5OmZvY3VzOm5vdChbcm9sZV0pIHtcbiAgY29sb3I6IHZhcigtLXBpY28tYWNjb3JkaW9uLWFjdGl2ZS1zdW1tYXJ5LWNvbG9yKTtcbn1cbmRldGFpbHMgc3VtbWFyeTpmb2N1cy12aXNpYmxlOm5vdChbcm9sZV0pIHtcbiAgb3V0bGluZTogdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xuICBvdXRsaW5lLW9mZnNldDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcsIDFyZW0pICogMC41KTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG59XG5kZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5kZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dOjphZnRlciB7XG4gIGhlaWdodDogY2FsYygxcmVtICogdmFyKC0tcGljby1saW5lLWhlaWdodCwgMS41KSk7XG59XG5kZXRhaWxzW29wZW5dID4gc3VtbWFyeSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5kZXRhaWxzW29wZW5dID4gc3VtbWFyeTpub3QoW3JvbGVdKTpub3QoOmZvY3VzKSB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWFjY29yZGlvbi1vcGVuLXN1bW1hcnktY29sb3IpO1xufVxuZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnk6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG59XG5cbltkaXI9cnRsXSBkZXRhaWxzIHN1bW1hcnkge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbltkaXI9cnRsXSBkZXRhaWxzIHN1bW1hcnk6OmFmdGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xufVxuXG4vKipcbiAqIENhcmQgKDxhcnRpY2xlPilcbiAqL1xuYXJ0aWNsZSB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBpY28tY2FyZC1ib3gtc2hhZG93KTtcbn1cbmFydGljbGUgPiBoZWFkZXIsXG5hcnRpY2xlID4gZm9vdGVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXBpY28tYmxvY2stc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGljby1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjY2KSB2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tY2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3IpO1xufVxuYXJ0aWNsZSA+IGhlYWRlciB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKTtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgYm9yZGVyLWJvdHRvbTogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBpY28tY2FyZC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbn1cbmFydGljbGUgPiBmb290ZXIge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSk7XG4gIGJvcmRlci10b3A6IHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG59XG5cbi8qKlxuICogRHJvcGRvd24gKGRldGFpbHMuZHJvcGRvd24pXG4gKi9cbmRldGFpbHMuZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTo6YWZ0ZXIsXG5kZXRhaWxzLmRyb3Bkb3duID4gYnV0dG9uOjphZnRlcixcbmRldGFpbHMuZHJvcGRvd24gPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0LCAxLjUpKTtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogMC4yNXJlbTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGVYKDAuMnJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1jaGV2cm9uKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgY29udGVudDogXCJcIjtcbn1cblxubmF2IGRldGFpbHMuZHJvcGRvd24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKSB7XG4gIGhlaWdodDogY2FsYygxcmVtICogdmFyKC0tcGljby1saW5lLWhlaWdodCkgKyB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDIgKyB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgKiAyKTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgYm9yZGVyOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcik7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGJvcmRlci1jb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBjb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKTphY3RpdmUsIGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSk6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yKTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pOmZvY3VzLXZpc2libGUge1xuICBvdXRsaW5lOiBub25lO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSlbYXJpYS1pbnZhbGlkPWZhbHNlXSB7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3IpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSlbYXJpYS1pbnZhbGlkPXRydWVdIHtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcik7XG59XG5cbm5hdiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBtYXJnaW46IGNhbGModmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKSAwO1xufVxubmF2IGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5OjphZnRlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVgoMHJlbSk7XG59XG5uYXYgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSkge1xuICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigtLXBpY28tbGluZS1oZWlnaHQpICsgdmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIDIpO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLSB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgKiAyKSB2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5uYXYgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSk6Zm9jdXMtdmlzaWJsZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbn1cblxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHotaW5kZXg6IDk5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IHZhcigtLXBpY28tb3V0bGluZS13aWR0aCk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBpY28tZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcGljby1kcm9wZG93bi1ib3gtc2hhZG93KTtcbiAgY29sb3I6IHZhcigtLXBpY28tZHJvcGRvd24tY29sb3IpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXBpY28tdHJhbnNpdGlvbiksIHRyYW5zZm9ybSAwcyBlYXNlLWluLW91dCAxcztcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWxbZGlyPXJ0bF0ge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaTpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAtMC41KSBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWRyb3Bkb3duLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkgYTpob3ZlciwgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBhOmZvY3VzLCBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGE6YWN0aXZlLCBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGE6Zm9jdXMtdmlzaWJsZSwgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBhW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGxhYmVsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpOmhhcyhsYWJlbCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG5kZXRhaWxzLmRyb3Bkb3duW29wZW5dID4gc3VtbWFyeSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5ICsgdWwge1xuICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCB0cmFuc2Zvcm0gMHMgZWFzZS1pbi1vdXQgMHM7XG59XG5cbmRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5OjpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb250ZW50OiBcIlwiO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmxhYmVsID4gZGV0YWlscy5kcm9wZG93biB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDAuMjUpO1xufVxuXG4vKipcbiAqIEdyb3VwIChbcm9sZT1cImdyb3VwXCJdLCBbcm9sZT1cInNlYXJjaFwiXSlcbiAqL1xuW3JvbGU9c2VhcmNoXSxcbltyb2xlPWdyb3VwXSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWdyb3VwLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG5bcm9sZT1zZWFyY2hdID4gKixcbltyb2xlPXNlYXJjaF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbltyb2xlPXNlYXJjaF0gc2VsZWN0LFxuW3JvbGU9Z3JvdXBdID4gKixcbltyb2xlPWdyb3VwXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pLFxuW3JvbGU9Z3JvdXBdIHNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5bcm9sZT1zZWFyY2hdID4gKjpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdID4gKjpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIHNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xufVxuW3JvbGU9c2VhcmNoXSA+ICo6bm90KDpsYXN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpub3QoOmxhc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBzZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSA+ICo6bm90KDpsYXN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6bGFzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gc2VsZWN0Om5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG59XG5bcm9sZT1zZWFyY2hdID4gKjpmb2N1cyxcbltyb2xlPXNlYXJjaF0gaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTpmb2N1cyxcbltyb2xlPXNlYXJjaF0gc2VsZWN0OmZvY3VzLFxuW3JvbGU9Z3JvdXBdID4gKjpmb2N1cyxcbltyb2xlPWdyb3VwXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOmZvY3VzLFxuW3JvbGU9Z3JvdXBdIHNlbGVjdDpmb2N1cyB7XG4gIHotaW5kZXg6IDI7XG59XG5bcm9sZT1zZWFyY2hdIGJ1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gW3R5cGU9c3VibWl0XTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPXNlYXJjaF0gW3R5cGU9cmVzZXRdOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1idXR0b25dOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBbcm9sZT1idXR0b25dOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBzZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPXN1Ym1pdF06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gW3R5cGU9cmVzZXRdOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPWJ1dHRvbl06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gW3JvbGU9YnV0dG9uXTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIHNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSAqIC0xKTtcbn1cbltyb2xlPXNlYXJjaF0gYnV0dG9uLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1zdWJtaXRdLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1yZXNldF0sXG5bcm9sZT1zZWFyY2hdIFt0eXBlPWJ1dHRvbl0sXG5bcm9sZT1zZWFyY2hdIFtyb2xlPWJ1dHRvbl0sXG5bcm9sZT1ncm91cF0gYnV0dG9uLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPXN1Ym1pdF0sXG5bcm9sZT1ncm91cF0gW3R5cGU9cmVzZXRdLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPWJ1dHRvbl0sXG5bcm9sZT1ncm91cF0gW3JvbGU9YnV0dG9uXSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoKikpIHtcbiAgW3JvbGU9c2VhcmNoXTpoYXMoYnV0dG9uOmZvY3VzLCBbdHlwZT1zdWJtaXRdOmZvY3VzLCBbdHlwZT1idXR0b25dOmZvY3VzLCBbcm9sZT1idXR0b25dOmZvY3VzKSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPXN1Ym1pdF06Zm9jdXMsIFt0eXBlPWJ1dHRvbl06Zm9jdXMsIFtyb2xlPWJ1dHRvbl06Zm9jdXMpIHtcbiAgICAtLXBpY28tZ3JvdXAtYm94LXNoYWRvdzogdmFyKC0tcGljby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtYnV0dG9uKTtcbiAgfVxuICBbcm9sZT1zZWFyY2hdOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPXN1Ym1pdF06Zm9jdXMsIFt0eXBlPWJ1dHRvbl06Zm9jdXMsIFtyb2xlPWJ1dHRvbl06Zm9jdXMpIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSksXG4gIFtyb2xlPXNlYXJjaF06aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3JvbGU9YnV0dG9uXTpmb2N1cykgc2VsZWN0LFxuICBbcm9sZT1ncm91cF06aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3JvbGU9YnV0dG9uXTpmb2N1cykgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPXN1Ym1pdF06Zm9jdXMsIFt0eXBlPWJ1dHRvbl06Zm9jdXMsIFtyb2xlPWJ1dHRvbl06Zm9jdXMpIHNlbGVjdCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICBbcm9sZT1zZWFyY2hdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cyksXG4gIFtyb2xlPWdyb3VwXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIHtcbiAgICAtLXBpY28tZ3JvdXAtYm94LXNoYWRvdzogdmFyKC0tcGljby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtaW5wdXQpO1xuICB9XG4gIFtyb2xlPXNlYXJjaF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBidXR0b24sXG4gIFtyb2xlPXNlYXJjaF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBbdHlwZT1zdWJtaXRdLFxuICBbcm9sZT1zZWFyY2hdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3R5cGU9YnV0dG9uXSxcbiAgW3JvbGU9c2VhcmNoXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFtyb2xlPWJ1dHRvbl0sXG4gIFtyb2xlPWdyb3VwXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIGJ1dHRvbixcbiAgW3JvbGU9Z3JvdXBdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3R5cGU9c3VibWl0XSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3R5cGU9YnV0dG9uXSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3JvbGU9YnV0dG9uXSB7XG4gICAgLS1waWNvLWJ1dHRvbi1ib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gICAgLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyLWJvcmRlcik7XG4gIH1cbiAgW3JvbGU9c2VhcmNoXSBidXR0b246Zm9jdXMsXG4gIFtyb2xlPXNlYXJjaF0gW3R5cGU9c3VibWl0XTpmb2N1cyxcbiAgW3JvbGU9c2VhcmNoXSBbdHlwZT1yZXNldF06Zm9jdXMsXG4gIFtyb2xlPXNlYXJjaF0gW3R5cGU9YnV0dG9uXTpmb2N1cyxcbiAgW3JvbGU9c2VhcmNoXSBbcm9sZT1idXR0b25dOmZvY3VzLFxuICBbcm9sZT1ncm91cF0gYnV0dG9uOmZvY3VzLFxuICBbcm9sZT1ncm91cF0gW3R5cGU9c3VibWl0XTpmb2N1cyxcbiAgW3JvbGU9Z3JvdXBdIFt0eXBlPXJlc2V0XTpmb2N1cyxcbiAgW3JvbGU9Z3JvdXBdIFt0eXBlPWJ1dHRvbl06Zm9jdXMsXG4gIFtyb2xlPWdyb3VwXSBbcm9sZT1idXR0b25dOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbltyb2xlPXNlYXJjaF0gPiAqOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXJlbTtcbn1cbltyb2xlPXNlYXJjaF0gPiAqOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVyZW07XG59XG5cbi8qKlxuICogTmF2XG4gKi9cbjp3aGVyZShuYXYgbGkpOjpiZWZvcmUge1xuICBmbG9hdDogbGVmdDtcbiAgY29udGVudDogXCLigItcIjtcbn1cblxubmF2LFxubmF2IHVsIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxubmF2IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cbm5hdiBvbCxcbm5hdiB1bCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5uYXYgb2w6Zmlyc3Qtb2YtdHlwZSxcbm5hdiB1bDpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xufVxubmF2IG9sOmxhc3Qtb2YtdHlwZSxcbm5hdiB1bDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xufVxubmF2IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xufVxubmF2IGxpIDp3aGVyZShhLCBbcm9sZT1saW5rXSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpICogLTEpIGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpIHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbn1cbm5hdiBsaSA6d2hlcmUoYSwgW3JvbGU9bGlua10pOm5vdCg6aG92ZXIpIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxubmF2IGxpIGJ1dHRvbixcbm5hdiBsaSBbcm9sZT1idXR0b25dLFxubmF2IGxpIFt0eXBlPWJ1dHRvbl0sXG5uYXYgbGkgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKSxcbm5hdiBsaSBzZWxlY3Qge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogaW5oZXJpdDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IGluaGVyaXQ7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAtIHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSAqIDIpIHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIHVsIGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xufVxubmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0gdWwgbGkgYSB7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpICogLTEpIDA7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xufVxubmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0gdWwgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogNCk7XG4gIG1hcmdpbjogMCBjYWxjKHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgY29udGVudDogdmFyKC0tcGljby1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbm5hdlthcmlhLWxhYmVsPWJyZWFkY3J1bWJdIGFbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5hc2lkZSBuYXYsXG5hc2lkZSBvbCxcbmFzaWRlIHVsLFxuYXNpZGUgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmFzaWRlIGxpIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KSB2YXIoLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5hc2lkZSBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5hc2lkZSBsaSBbcm9sZT1idXR0b25dIHtcbiAgbWFyZ2luOiBpbmhlcml0O1xufVxuXG5bZGlyPXJ0bF0gbmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0gdWwgbGk6bm90KDpsYXN0LWNoaWxkKSA6OmFmdGVyIHtcbiAgY29udGVudDogXCJcXFxcXCI7XG59XG5cbi8qKlxuICogQWNjZXNzaWJpbGl0eSAmIFVzZXIgaW50ZXJhY3Rpb25cbiAqL1xuW2FyaWEtY29udHJvbHNdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5bYXJpYS1kaXNhYmxlZD10cnVlXSxcbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5bYXJpYS1oaWRkZW49ZmFsc2VdW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBpbml0aWFsO1xufVxuXG5bYXJpYS1oaWRkZW49ZmFsc2VdW2hpZGRlbl06bm90KDpmb2N1cykge1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbmEsXG5hcmVhLFxuYnV0dG9uLFxuaW5wdXQsXG5sYWJlbCxcbnNlbGVjdCxcbnN1bW1hcnksXG50ZXh0YXJlYSxcblt0YWJpbmRleF0ge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbltkaXI9cnRsXSB7XG4gIGRpcmVjdGlvbjogcnRsO1xufVxuXG4vKipcbiAqIFJlZHVjZSBNb3Rpb24gRmVhdHVyZXNcbiAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgKjpub3QoW2FyaWEtYnVzeT10cnVlXSksXG4gIDpub3QoW2FyaWEtYnVzeT10cnVlXSk6OmJlZm9yZSxcbiAgOm5vdChbYXJpYS1idXN5PXRydWVdKTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMW1zICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogYXV0byAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDtcbiAgfVxufVxuW2RhdGEtdGhlbWU9bGlnaHRdLFxuOnJvb3Q6bm90KFtkYXRhLXRoZW1lPWRhcmtdKSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tdC1iYWNrZ3JvdW5kLWNvbG9yLCAjZmZmKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1tdC1jb2xvciwgIzM3M2M0NCk7XG4gIC0tcGljby10ZXh0LXNlbGVjdGlvbi1jb2xvcjogcmdiYSgyLCAxNTQsIDIzMiwgMC4yNSk7XG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogcmdiKDIzMSwgMjM0LCAyMzkuNSk7XG4gIC0tcGljby1wcmltYXJ5OiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLCAjMDA1OTljKTtcbiAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgIzAwNTk5Yyk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXByaW1hcnktY29sb3ItZGFya2VuLCByZ2IoMCwgNTkuOTAzODQ2MTUzOCwgMTA1KSk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgIzAwNTk5Yyk7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgIzAwNTk5Yyk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDAsIDU5LjkwMzg0NjE1MzgsIDEwNSkpO1xuICAtLXBpY28tcHJpbWFyeS11bmRlcmxpbmU6IHZhcigtLW10LXByaW1hcnktY29sb3ItbGlnaHRlbiwgcmdiKDAsIDExOC4wOTYxNTM4NDYyLCAyMDcpKTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHZhcigtLW10LXByaW1hcnktY29sb3ItbGlnaHRlbiwgcmdiKDAsIDExOC4wOTYxNTM4NDYyLCAyMDcpKTtcbiAgLS1waWNvLXByaW1hcnktaW52ZXJzZTogdmFyKC0tbXQtcHJpbWFyeS1pbnZlcnNlLWNvbG9yLCAjZmZmZmZmKTtcbiAgLS1waWNvLXNlY29uZGFyeTogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLCAjNzM3OTg3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICM3Mzc5ODcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1kYXJrZW4sIHJnYig5MS41NCwgOTYuMzE2LCAxMDcuNDYpKTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvciwgIzczNzk4Nyk7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICM3Mzc5ODcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItZGFya2VuLCByZ2IoOTEuNTQsIDk2LjMxNiwgMTA3LjQ2KSk7XG4gIC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgcmdiKDE0Mi4xNCwgMTQ3LjE1NiwgMTU4Ljg2KSk7XG4gIC0tcGljby1zZWNvbmRhcnktZm9jdXM6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1saWdodGVuLCByZ2IoMTQyLjE0LCAxNDcuMTU2LCAxNTguODYpKTtcbiAgLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlOiB2YXIoLS1tdC1zZWNvbmRhcnktaW52ZXJzZS1jb2xvciwgI2ZmZmZmZik7XG4gIC0tcGljby1jb250cmFzdDogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICMxODFjMjUpO1xuICAtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZDogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICMxODFjMjUpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItZGFya2VuLCByZ2IoMy45MzQ0MjYyMjk1LCA0LjU5MDE2MzkzNDQsIDYuMDY1NTczNzcwNSkpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvciwgIzE4MWMyNSk7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjMTgxYzI1KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvci1kYXJrZW4sIHJnYigzLjkzNDQyNjIyOTUsIDQuNTkwMTYzOTM0NCwgNi4wNjU1NzM3NzA1KSk7XG4gIC0tcGljby1jb250cmFzdC11bmRlcmxpbmU6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sIHJnYig0NC4wNjU1NzM3NzA1LCA1MS40MDk4MzYwNjU2LCA2Ny45MzQ0MjYyMjk1KSk7XG4gIC0tcGljby1jb250cmFzdC1mb2N1czogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItbGlnaHRlbiwgcmdiKDQ0LjA2NTU3Mzc3MDUsIDUxLjQwOTgzNjA2NTYsIDY3LjkzNDQyNjIyOTUpKTtcbiAgLS1waWNvLWNvbnRyYXN0LWludmVyc2U6IHZhcigtLW10LWNvbnRyYXN0LWludmVyc2UtY29sb3IsICNmZmZmZmYpO1xuICAtLXBpY28tZm9udC1mYW1pbHk6IHZhcigtLW10LWZvbnQtZmFtaWx5LCBJbnRlciwgVGFob21hLCBWZXJkYW5hLCBzYW5zLXNlcmlmKTtcbiAgLS1waWNvLWZvbnQtc2l6ZTogdmFyKC0tbXQtZm9udC1zaXplLCAxcmVtKTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiB2YXIoLS1tdC1saW5lLWhlaWdodCwgMS40cmVtKTtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1mb250LXdlaWdodCwgNDAwKTtcbiAgLS1waWNvLWhlYWRpbmctZm9udC13ZWlnaHQ6IHZhcigtLW10LWhlYWRpbmctZm9udC13ZWlnaHQsIDcwMCk7XG4gIC0tcGljby1sZXR0ZXItc3BhY2luZzogdmFyKC0tbXQtbGV0dGVyLXNwYWNpbmcsIG5vcm1hbCk7XG4gIC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsOiAxLjVyZW07XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdLFxuOnJvb3RbZGF0YS10aGVtZT1kYXJrXSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tdC10ZGFyay1iYWNrZ3JvdW5kLWNvbG9yLCAjMWQyMzI3KTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1tdC10ZGFyay1jb2xvciwgIzFkMjMyNyk7XG4gIC0tcGljby10ZXh0LXNlbGVjdGlvbi1jb2xvcjogcmdiYSgyLCAxNTQsIDIzMiwgMC4yNSk7XG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogcmdiKDIzMSwgMjM0LCAyMzkuNSk7XG4gIC0tcGljby1wcmltYXJ5OiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjNWJiNGRmKTtcbiAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgIzViYjRkZik7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3ItbGlnaHRlbiwgcmdiKDEzMy42NzM0NjkzODc4LCAxOTkuNTE1MzA2MTIyNCwgMjMxLjMyNjUzMDYxMjIpKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjNWJiNGRmKTtcbiAgLS1waWNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjNWJiNGRmKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXI6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3ItbGlnaHRlbiwgcmdiKDEzMy42NzM0NjkzODc4LCAxOTkuNTE1MzA2MTIyNCwgMjMxLjMyNjUzMDYxMjIpKTtcbiAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDQ4LjMyNjUzMDYxMjIsIDE2MC40ODQ2OTM4Nzc2LCAyMTQuNjczNDY5Mzg3OCkpO1xuICAtLXBpY28tcHJpbWFyeS1mb2N1czogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1kYXJrZW4sIHJnYig0OC4zMjY1MzA2MTIyLCAxNjAuNDg0NjkzODc3NiwgMjE0LjY3MzQ2OTM4NzgpKTtcbiAgLS1waWNvLXByaW1hcnktaW52ZXJzZTogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1pbnZlcnNlLWNvbG9yLCAjMTIxMjEyKTtcbiAgLS1waWNvLXNlY29uZGFyeTogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjYTNhOWI3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICNhM2E5YjcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1saWdodGVuLCByZ2IoMTkxLjYwOTc1NjA5NzYsIDE5NS43NDM5MDI0MzksIDIwNS4zOTAyNDM5MDI0KSk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICNhM2E5YjcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJvcmRlcjogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjYTNhOWI3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3ZlcjogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW4sIHJnYigxOTEuNjA5NzU2MDk3NiwgMTk1Ljc0MzkwMjQzOSwgMjA1LjM5MDI0MzkwMjQpKTtcbiAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW4sIHJnYigxMzQuMzkwMjQzOTAyNCwgMTQyLjI1NjA5NzU2MSwgMTYwLjYwOTc1NjA5NzYpKTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDEzNC4zOTAyNDM5MDI0LCAxNDIuMjU2MDk3NTYxLCAxNjAuNjA5NzU2MDk3NikpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWludmVyc2U6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yLCAjMTIxMjEyKTtcbiAgLS1waWNvLWNvbnRyYXN0OiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI2Y1ZjdmYSk7XG4gIC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI2Y1ZjdmYSk7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvci1saWdodGVuLCBoc2woMjE2LCAzMy4zMzMzMzMzMzMzJSwgMTA3LjA1ODgyMzUyOTQlKSk7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAjZjVmN2ZhKTtcbiAgLS1waWNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICNmNWY3ZmEpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sIGhzbCgyMTYsIDMzLjMzMzMzMzMzMzMlLCAxMDcuMDU4ODIzNTI5NCUpKTtcbiAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItZGFya2VuLCByZ2IoMjExLCAyMTkuOCwgMjMzKSk7XG4gIC0tcGljby1jb250cmFzdC1mb2N1czogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItZGFya2VuLCByZ2IoMjExLCAyMTkuOCwgMjMzKSk7XG4gIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1pbnZlcnNlLWNvbG9yLCAjMTIxMjEyKTtcbiAgLS1waWNvLWZvbnQtZmFtaWx5OiB2YXIoLS1tdC1mb250LWZhbWlseSwgSW50ZXIsIFRhaG9tYSwgVmVyZGFuYSwgc2Fucy1zZXJpZik7XG4gIC0tcGljby1mb250LXNpemU6IHZhcigtLW10LWZvbnQtc2l6ZSwgMXJlbSk7XG4gIC0tcGljby1saW5lLWhlaWdodDogdmFyKC0tbXQtbGluZS1oZWlnaHQsIDEuNHJlbSk7XG4gIC0tcGljby1mb250LXdlaWdodDogdmFyKC0tbXQtZm9udC13ZWlnaHQsIDQwMCk7XG4gIC0tcGljby1oZWFkaW5nLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1oZWFkaW5nLWZvbnQtd2VpZ2h0LCA3MDApO1xuICAtLXBpY28tbGV0dGVyLXNwYWNpbmc6IHZhcigtLW10LWxldHRlci1zcGFjaW5nLCBub3JtYWwpO1xuICAtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbDogMS41cmVtO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogdmFyKC0tbXQtaGVhZGluZy1mb250LWZhbWlseSwgUm9ib3RvLCBHZW9yZ2lhLCBzZXJpZik7XG59XG5cbnVsIGxpIHtcbiAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5odG1sIHtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuaHRtbCBib2R5IHtcbiAgcGFkZGluZy10b3A6IHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCwgMHB4KTtcbn1cbmh0bWwgYm9keSA+IC5zaXRlLWhlYWRlcixcbmh0bWwgYm9keSA+IC5oZWFkZXItbmF2LW1lbnUsXG5odG1sIGJvZHkgPiAubWFpbi1ncmlkLFxuaHRtbCBib2R5ID4gLnNpdGUtZm9vdGVyLFxuaHRtbCBib2R5ID4gLnRvcC1ncmlkLFxuaHRtbCBib2R5ID4gLnByZS1tYWluLWNvbnRlbnQge1xuICBib3gtc2hhZG93OiAtMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKSwgMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbn1cblxuLmxvZ28tbGlnaHQsXG4ubG9nby1saWdodC1hbmQtZGFyayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubG9nby1kYXJrIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLmxvZ28tbGlnaHQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAubG9nby1kYXJrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLmJyaWQgKltyb2xlPWJ1dHRvbl0sXG4uYnJpZC1jbG9zZSAqW3JvbGU9YnV0dG9uXSB7XG4gIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gIGJvcmRlcjogaW5pdGlhbDtcbn1cblxuLmJyaWQgKltyb2xlPWJ1dHRvbl06Zm9jdXMsXG4uYnJpZC1jbG9zZSAqW3JvbGU9YnV0dG9uXTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbmJvZHkgPiAuc2l0ZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBoZWlnaHQ6IDY0cHg7XG4gIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICB6LWluZGV4OiA5OTk5OTk5O1xufVxuYm9keSA+IC5zaXRlLWhlYWRlci5pcy1zdGlja3kge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwKTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCxcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCB7XG4gIHdpZHRoOiA2NHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZSxcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlIC5oYW1idXJnZXItaWNvbixcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGUgLmhhbWJ1cmdlci1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGUgLmhhbWJ1cmdlci1pY29uOjpiZWZvcmUsIGJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZSAuaGFtYnVyZ2VyLWljb246OmFmdGVyLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZSAuaGFtYnVyZ2VyLWljb246OmJlZm9yZSxcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGUgLmhhbWJ1cmdlci1pY29uOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDIycHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZSAuaGFtYnVyZ2VyLWljb246OmJlZm9yZSxcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGUgLmhhbWJ1cmdlci1pY29uOjpiZWZvcmUge1xuICB0b3A6IC03cHg7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGUgLmhhbWJ1cmdlci1pY29uOjphZnRlcixcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGUgLmhhbWJ1cmdlci1pY29uOjphZnRlciB7XG4gIHRvcDogN3B4O1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlOmhvdmVyLCBib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGU6Zm9jdXMsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlOmhvdmVyLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZTpmb2N1cyB7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3BhY2l0eTogMC44O1xuICBib3gtc2hhZG93OiBub25lO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWljb24sXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWljb24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pY29uOjpiZWZvcmUsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWljb246OmJlZm9yZSB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWljb246OmFmdGVyLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZS5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pY29uOjphZnRlciB7XG4gIHRvcDogMDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5oZWFkZXItbGl2ZS1idXR0b24sXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLmhlYWRlci1saXZlLWJ1dHRvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IDNweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAuaGVhZGVyLWxpdmUtYnV0dG9uOmhvdmVyLCBib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAuaGVhZGVyLWxpdmUtYnV0dG9uOmZvY3VzLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5oZWFkZXItbGl2ZS1idXR0b246aG92ZXIsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLmhlYWRlci1saXZlLWJ1dHRvbjpmb2N1cyB7XG4gIG9wYWNpdHk6IDAuODtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLmhlYWRlci1saXZlLWJ1dHRvbl9fcGxheSxcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAuaGVhZGVyLWxpdmUtYnV0dG9uX19wbGF5IHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEuMTVyZW0gc29saWQgY3VycmVudENvbG9yO1xuICBtYXJnaW4tYm90dG9tOiAwLjFyZW07XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAuaGVhZGVyLWxpdmUtYnV0dG9uX19sYWJlbCxcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAuaGVhZGVyLWxpdmUtYnV0dG9uX19sYWJlbCB7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1jZW50ZXIge1xuICBmbGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1jZW50ZXIgPiBhID4gaW1nIHtcbiAgbWF4LWhlaWdodDogNTBweDtcbiAgbWluLWhlaWdodDogNDRweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItY2VudGVyID4gYSBzdHJvbmcge1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG59XG5cbmJvZHkgPiAuc2l0ZS1mb290ZXIge1xuICBwYWRkaW5nOiAwO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLXNlcGFyYXRvciB7XG4gIGhlaWdodDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAxLjUpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIGJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgICBnYXA6IDJyZW07XG4gIH1cbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sID4gc3Ryb25nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMgLmZvb3Rlci1jb2wgPiBzdHJvbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sIC53M2MtbG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCB1bCB7XG4gIHBhZGRpbmc6IDA7XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCB1bCBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBmb250LXNpemU6IDAuOTVyZW07XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCB1bCBsaSBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMgLmZvb3Rlci1jb2wgdWwgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sIHVsIHNtYWxsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY3JlZGl0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jcmVkaXRzIHNtYWxsIHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG59XG5cbmJvZHkuYWRtaW4tYmFyIC5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gIHRvcDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2MDBweCkge1xuICBib2R5LmFkbWluLWJhciAuc2lkZWJhci1oYW1idXJnZXIge1xuICAgIHRvcDogNDZweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc4MnB4KSB7XG4gIGJvZHkuYWRtaW4tYmFyIC5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gICAgdG9wOiAzMnB4O1xuICB9XG59XG5cbi5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogODV2dztcbiAgbWF4LXdpZHRoOiA1NjBweDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiA5OTk5OTk5OTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci5vcGVuIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW92ZXJsYXkge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGluc2V0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIHotaW5kZXg6IDE5MDA7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2lkZWJhci1oYW1idXJnZXItb3ZlcmxheS52aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2lkZWJhci1oYW1idXJnZXItaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLWxvZ28gaW1nIHtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1jbG9zZSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWxlZnQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItY2xvc2U6aG92ZXIsIC5zaWRlYmFyLWhhbWJ1cmdlci1jbG9zZTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1jb250cm9scyB7XG4gIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLWNvbnRyb2xzIC5mb250LXNpemUtY29udHJvbHMgYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1jb250cm9scyAudGhlbWUtdG9nZ2xlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjJyZW07XG59XG4uc2lkZWJhci1oYW1idXJnZXItY29udHJvbHMgLnRoZW1lLXRvZ2dsZSBsYWJlbCxcbi5zaWRlYmFyLWhhbWJ1cmdlci1jb250cm9scyAudGhlbWUtdG9nZ2xlIGlucHV0IHtcbiAgbWFyZ2luOiAwO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLXNlYXJjaCB7XG4gIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLXNlYXJjaCA+ICo6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwLjVyZW07XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDAuNXJlbTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1zZWFyY2ggPiAqOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC41cmVtO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUge1xuICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgZmxleDogMSAxIGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tdG9nZ2xlLCAuc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWxpbmsge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLXRvZ2dsZTpob3ZlciwgLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi10b2dnbGU6Zm9jdXMsIC5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tbGluazpob3ZlciwgLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1saW5rOmZvY3VzIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSwgIzAwMCAyMCUpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5vcGVuIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQgYSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50IGE6aG92ZXIge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuY29sdW1ucy0yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5jb2x1bW5zLTIub3BlbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzLm9wZW4ge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMDBweCwgMWZyKSk7XG4gIGdhcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMS41KTtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAzKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGE6aG92ZXIge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGE6aG92ZXIgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyAuc29jaWFsLWxpbmtzLWljb24ge1xuICB3aWR0aDogMi45cmVtO1xuICBoZWlnaHQ6IDIuOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC44cmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleDogMCAwIGF1dG87XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgLnNvY2lhbC1saW5rcy1pY29uIHN2ZyB7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmlsbDogY3VycmVudENvbG9yO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyAuc29jaWFsLWxpbmtzLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD1mYWNlYm9va10gLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgYmFja2dyb3VuZDogIzE4NzdmMjtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9ZmFjZWJvb2tdIC5zb2NpYWwtbGlua3MtaWNvbiBzdmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMTgpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPWdvb2dsZV0gLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgYmFja2dyb3VuZDogI2Y5ZjBmMDtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9Z29vZ2xlXSAuc29jaWFsLWxpbmtzLWljb24gc3ZnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIyKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD14XSAuc29jaWFsLWxpbmtzLWljb24ge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD1pbnN0YWdyYW1dIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM4MzNhYjQsICNlMTMwNmMsICNmZDFkMWQsICNmY2IwNDUpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD13aGF0c2FwcF0gLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgYmFja2dyb3VuZDogIzI1ZDM2NjtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9dGVsZWdyYW1dIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIGJhY2tncm91bmQ6ICMyMjllZDk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPXRpa3Rva10gLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwMCAwJSwgIzExMSAxMDAlKTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9bGlua2VkaW5dIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIGJhY2tncm91bmQ6ICMwYTY2YzI7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPXlvdXR1YmVdIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIGJhY2tncm91bmQ6ICNmZjAwMDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPWdvb2dsZV9uZXdzXSAuc29jaWFsLWxpbmtzLWljb24ge1xuICBiYWNrZ3JvdW5kOiAjZjlmMGYwO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD1nb29nbGVfbmV3c10gLnNvY2lhbC1saW5rcy1pY29uIHN2ZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4yMik7XG59XG5cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51IHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAxLjMzKTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICBzY3JvbGxiYXItd2lkdGg6IHRoaW47XG4gIHNjcm9sbGJhci1jb2xvcjogcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjIpIHRyYW5zcGFyZW50O1xufVxuYm9keSA+IC5oZWFkZXItbmF2LW1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgaGVpZ2h0OiA2cHg7XG59XG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuYm9keSA+IC5oZWFkZXItbmF2LW1lbnUgLm1lbnUtc2Nyb2xsLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuYm9keSA+IC5oZWFkZXItbmF2LW1lbnUgLm1lbnUtc2Nyb2xsLXdyYXBwZXIgbGkge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbn1cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51IC5tZW51LXNjcm9sbC13cmFwcGVyIGxpIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbiAgZm9udC1zaXplOiAwLjk1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDFyZW07XG59XG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudSAubWVudS1zY3JvbGwtd3JhcHBlciBsaSBhOmhvdmVyLCBib2R5ID4gLmhlYWRlci1uYXYtbWVudSAubWVudS1zY3JvbGwtd3JhcHBlciBsaSBhOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1ob3Zlcik7XG4gIGNvbG9yOiB2YXIoLS1jb250cmFzdCk7XG59XG5cbi5tYWluLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgMCAwIDA7XG59XG4ubWFpbi1ncmlkLndpdGgtc2lkZWJhciB7XG4gIGdhcDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1haW4tZ3JpZC53aXRoLXNpZGViYXIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDM3MHB4O1xuICB9XG59XG5cbi5wcmUtbWFpbi1jb250ZW50IHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMikgdmFyKC0tcGljby1zcGFjaW5nKSAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi50b3AtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAtMSk7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgMCAwIDA7XG4gIGdhcDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnRvcC1ncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzNzBweDtcbiAgfVxufVxuLnRvcC1ncmlkIC50b3AtY29udGVudCB7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnRvcC1ncmlkIC50b3AtY29udGVudCB7XG4gICAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG4udG9wLWdyaWQgLnRvcC1zaWRlYmFyIHtcbiAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC50b3AtZ3JpZCAudG9wLXNpZGViYXIge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLCAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICB9XG59XG5cbi5tYWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgfVxufVxuLm1haW4tY29udGVudCAucGFnZS10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICBnYXA6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLWNvbnRlbnQgLnBhZ2UtdGl0bGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgfVxufVxuLm1haW4tY29udGVudCAucGFnZS10aXRsZS5oYXMtbG9nbyB7XG4gIG1heC13aWR0aDogNzUlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLWNvbnRlbnQgLnBhZ2UtdGl0bGUuaGFzLWxvZ28ge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICB9XG59XG4ubWFpbi1jb250ZW50IC5wYWdlLXRpdGxlIGltZyB7XG4gIG1heC1oZWlnaHQ6IDQycHg7XG4gIHdpZHRoOiBhdXRvO1xuICBmbGV4LXNocmluazogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubWFpbi1jb250ZW50IC5wYWdlLXRpdGxlIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjRyZW07XG4gIH1cbn1cbi5tYWluLWNvbnRlbnQgLnBhZ2UtdGl0bGUgaDEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubWFpbi1jb250ZW50IC5wYWdlLXRpdGxlIGgxIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cbi5tYWluLWNvbnRlbnQgLnBhZ2UtdGl0bGUgLmgxLXN1YnRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMHJlbTtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG9wYWNpdHk6IDAuOTtcbiAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xufVxuLm1haW4tY29udGVudCAucGFnZS10aXRsZTpub3QoLmhhcy1sb2dvKSBoMTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogLThweDtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogNHB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG59XG5cbi5tYWluLXNpZGViYXIge1xuICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1haW4tc2lkZWJhciB7XG4gICAgYm94LXNoYWRvdzogLTFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvciksIDFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cbi5tYWluLXNpZGViYXIgPiAud2lkZ2V0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC5uay1mZWVkLXJlYWRlci1saXN0LWZlZWQtcnVicmljYSB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgYXV0byBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBhdXRvO1xufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIGZpZ3VyZSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKSB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpIDAgMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSBmaWd1cmUge1xuICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgZmxleDogMTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSBmaWd1cmUge1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIGZpZ3VyZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgLnBvc3QtbWV0YSB7XG4gICAgZmxleDogMztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSAucG9zdC1tZXRhIHtcbiAgICBmbGV4OiBub25lO1xuICB9XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSAucG9zdC1tZXRhIC5sYW5jaW8ge1xuICBwYWRkaW5nOiAwLjdyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogLTEuNSk7XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSAucG9zdC1tZXRhIGgzIHtcbiAgcGFkZGluZzogMC43cmVtO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlLmZlYXR1cmVkIC5wb3N0LW1ldGEgaDIge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUuY29tcGFjdCAucG9zdC1tZXRhIGgyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbn1cbi53aWRnZXQgLndpZGdldC10aXRsZS1pbWcgPiBpbWcsXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nID4gc3Bhbixcbi53aWRnZXQgLndpZGdldC10aXRsZSA+IGltZyxcbi53aWRnZXQgLndpZGdldC10aXRsZSA+IHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nIGltZyxcbi53aWRnZXQgLndpZGdldC10aXRsZSBpbWcge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBtYXgtaGVpZ2h0OiA0NHB4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICB6LWluZGV4OiAxMDtcbn1cbi53aWRnZXQgLndpZGdldC10aXRsZS1pbWcgYSxcbi53aWRnZXQgLndpZGdldC10aXRsZSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLndpZGdldCAud2lkZ2V0LXRpdGxlLWltZyA+IHNwYW4sXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUgPiBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICB6LWluZGV4OiAxMDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAxLjUpO1xuICBmb250LXNpemU6IDEuMnJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWF4LXdpZHRoOiA3MCU7XG59XG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nOjpiZWZvcmUsXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGU6OmJlZm9yZSB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xuICBjb250ZW50OiBcIlwiO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDUwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgei1pbmRleDogMTtcbn1cbi53aWRnZXQgLndpZGdldC10aXRsZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuLndpZGdldCAud2lkZ2V0LWZvb3RlciB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuLndpZGdldCAud2lkZ2V0LWZvb3RlciBhW3JvbGU9YnV0dG9uXSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNjAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwLjZyZW07XG59XG4ud2lkZ2V0IC53aWRnZXQtZm9vdGVyIGFbcm9sZT1idXR0b25dOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi4oC6XCI7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbn1cbi53aWRnZXQgLndpZGdldC1mb290ZXIgYVtyb2xlPWJ1dHRvbl06Zm9jdXMsIC53aWRnZXQgLndpZGdldC1mb290ZXIgYVtyb2xlPWJ1dHRvbl06aG92ZXIge1xuICAtLXBpY28tY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSAxMCUsICMwMDAgOTUlKTtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNvbnRhaW5lci50b3AtZ3JpZCAudG9wLXNpZGViYXIgLndpZGdldDpsYXN0LWNoaWxkIHtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiBjYWxjKDY0cHggKyB2YXIoLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQsIDBweCkgKyAxcmVtKTtcbn1cblxuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IDAgMCAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuQGtleWZyYW1lcyBibGlua2VyIHtcbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cbn1cbi5jb21tZW50LWZvcm0tdXJsIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLndwLWNhcHRpb24ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi53cC1jYXB0aW9uIGltZyxcbmltZy5zaXplLWZ1bGwsXG5pbWcuc2l6ZS1sYXJnZSxcbmltZy5zaXplLW1lZGl1bSxcbmltZy5zaXplLXRodW1ibmFpbCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5pbWcuYWxpZ25yaWdodCxcbmZpZ3VyZS5hbGlnbnJpZ2h0LFxuZGl2LndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDAuMnJlbSBhdXRvIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICBpbWcuYWxpZ25yaWdodCxcbiAgZmlndXJlLmFsaWducmlnaHQsXG4gIGRpdi53cC1jYXB0aW9uLmFsaWducmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDAuMnJlbSAwIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5pbWcuYWxpZ25sZWZ0LFxuZmlndXJlLmFsaWdubGVmdCxcbmRpdi53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW46IDAuMnJlbSBhdXRvIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGltZy5hbGlnbmxlZnQsXG4gIGZpZ3VyZS5hbGlnbmxlZnQsXG4gIGRpdi53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwLjJyZW0gdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuaW1nLmFsaWdubm9uZSxcbmZpZ3VyZS5hbGlnbm5vbmUsXG5kaXYud3AtY2FwdGlvbi5hbGlnbm5vbmUge1xuICBtYXJnaW46IDAuMnJlbSB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5pbWcuYWxpZ25jZW50ZXIsXG5maWd1cmUuYWxpZ25jZW50ZXIsXG5kaXYud3AtY2FwdGlvbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiN3cGFkbWluYmFyIHtcbiAgei1pbmRleDogOTk5OTk5OTtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbmlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLmNvbnRhaW5lci5jb250YWluZXItbGRiMSB7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGJveC1zaGFkb3c6IC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLCAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xufVxuXG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtbmstYWR2LXByaW50Om5vdCg6aGFzKD4gKjpub3QoOmVtcHR5KSkpIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5kaXZbaWRePWZseC1dIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuZGl2W2lkXj1mbHhfbmVjcm9dIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMik7XG59XG5cbmRpdltpZF49Zmx4LWluaXppYXRpdmVdIHtcbiAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xufVxuXG5kaXZbaWRePWZseC1pbml6aWF0aXZlXTpub3QoOmhhcyg+ICo6bm90KDplbXB0eSkpKSB7XG4gIG1hcmdpbjogMDtcbn1cblxuZGl2W2lkXj1mbHgtaW5mZWVkXSB7XG4gIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvIHZhcigtLXBpY28tc3BhY2luZykgYXV0bztcbn1cblxuZGl2W2lkXj1mbHgtaW5mZWVkXTpub3QoOmhhcyg+ICo6bm90KDplbXB0eSkpKSB7XG4gIG1hcmdpbjogMDtcbn1cblxuI29uZXNpZ25hbC1zbGlkZWRvd24tY29udGFpbmVyLnNsaWRlLXVwLCAjb25lc2lnbmFsLXBvcG92ZXItY29udGFpbmVyLnNsaWRlLXVwIHtcbiAgei1pbmRleDogMjE0NzQ4MzY0MCAhaW1wb3J0YW50O1xufVxuXG4uY2Fyb3VzZWwtY2FyZHMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgY29udGFpbmVyLW5hbWU6IGNhcm91c2VsLWNhcmRzO1xufVxuLmNhcm91c2VsLWNhcmRzX190cmFjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeCBtYW5kYXRvcnk7XG4gIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbn1cbi5jYXJvdXNlbC1jYXJkc19fdHJhY2s6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5jYXJvdXNlbC1jYXJkc19fYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzUlO1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogM3JlbTtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40NSk7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoNHB4KTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICBmb250LXNpemU6IDJyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogMzAwO1xuICBvcGFjaXR5OiAwLjc1O1xufVxuLmNhcm91c2VsLWNhcmRzX19hcnJvdzpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbn1cbi5jYXJvdXNlbC1jYXJkc19fYXJyb3c6YWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjk2KTtcbn1cbi5jYXJvdXNlbC1jYXJkc19fYXJyb3c6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCAjZmZmO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuLmNhcm91c2VsLWNhcmRzX19hcnJvdy0tcHJldiB7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAgMC41cmVtIDAuNXJlbSAwO1xufVxuLmNhcm91c2VsLWNhcmRzX19hcnJvdy0tbmV4dCB7XG4gIHJpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiAwLjVyZW0gMCAwIDAuNXJlbTtcbn1cbi5jYXJvdXNlbC1jYXJkc19fYXJyb3cgc3ZnIHtcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuLmNhcm91c2VsLWNhcmRzX19pdGVtIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IGF1dG87XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2l0ZW0gYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBjb250YWluZXIgY2Fyb3VzZWwtY2FyZHMgKG1pbi13aWR0aDogNTIwcHgpIHtcbiAgLmNhcm91c2VsLWNhcmRzX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCgxMDAlIC0gdmFyKC0tcGljby1zcGFjaW5nKSkgLyAyKTtcbiAgfVxuICAuY2Fyb3VzZWwtY2FyZHNfX2Fycm93IHtcbiAgICB3aWR0aDogMy4yNXJlbTtcbiAgICBoZWlnaHQ6IDMuMjVyZW07XG4gIH1cbn1cbkBjb250YWluZXIgY2Fyb3VzZWwtY2FyZHMgKG1pbi13aWR0aDogODIwcHgpIHtcbiAgLmNhcm91c2VsLWNhcmRzX19pdGVtIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKCgxMDAlIC0gdmFyKC0tcGljby1zcGFjaW5nKSAqIDIpIC8gMyk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jYXJkc19fZmlndXJlIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuLmNhcm91c2VsLWNhcmRzX19maWd1cmUgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5jYXJvdXNlbC1jYXJkc19fbWV0YSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG4uY2Fyb3VzZWwtY2FyZHNfX3RpdGxlIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBtYXJnaW46IDA7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2NhdCB7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuOCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMC44cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMnJlbTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNS41KTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2xhbmNpbyB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuICBwYWRkaW5nLXRvcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2l0ZW0tdmlkZW8gLmNhcm91c2VsLWNhcmRzX19maWd1cmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjc1cmVtO1xuICByaWdodDogMC43NXJlbTtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6IDEuMXJlbSBzb2xpZCAjZmZmO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwLjA4cmVtIHJnYigwLCAwLCAwKSk7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2l0ZW0tZ2FsbGVyeSAuY2Fyb3VzZWwtY2FyZHNfX2ZpZ3VyZTo6YmVmb3JlLCAuY2Fyb3VzZWwtY2FyZHNfX2l0ZW0tZ2FsbGVyeSAuY2Fyb3VzZWwtY2FyZHNfX2ZpZ3VyZTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMC41cmVtO1xuICByaWdodDogMC43cmVtO1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDAuOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xuICB6LWluZGV4OiAzO1xufVxuLmNhcm91c2VsLWNhcmRzX19pdGVtLWdhbGxlcnkgLmNhcm91c2VsLWNhcmRzX19maWd1cmU6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC4ycmVtLCAtMC4ycmVtKTtcbiAgei1pbmRleDogMTtcbn1cbi5jYXJvdXNlbC1jYXJkc19faXRlbS1kaXJldHRhIC5jYXJvdXNlbC1jYXJkc19fZmlndXJlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIkxJVkVcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDAuMXJlbTtcbiAgbGVmdDogMC4xcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTUzZTNlO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG59XG5cbi5tb3NhaWNvIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbn1cbi5tb3NhaWNvX19pdGVtIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuLm1vc2FpY29fX2l0ZW0gZmlndXJlIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xufVxuLm1vc2FpY29fX2l0ZW0gZmlndXJlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubW9zYWljb19faXRlbS12aWRlbyBmaWd1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxLjFyZW0gc29saWQgI2ZmZmZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDAuNzVyZW07XG4gIHJpZ2h0OiAwLjc1cmVtO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwLjA4cmVtIHJnYigwLCAwLCAwKSk7XG59XG4ubW9zYWljb19faXRlbS1nYWxsZXJ5IGZpZ3VyZTpiZWZvcmUsXG4ubW9zYWljb19faXRlbS1nYWxsZXJ5IGZpZ3VyZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjVyZW07XG4gIHJpZ2h0OiAwLjdyZW07XG4gIHdpZHRoOiAxLjJyZW07XG4gIGhlaWdodDogMC45cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjE1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwLjA4cmVtIHJnYigwLCAwLCAwKSk7XG4gIHotaW5kZXg6IDM7XG59XG4ubW9zYWljb19faXRlbS1nYWxsZXJ5IGZpZ3VyZTphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAuMnJlbSwgLTAuMnJlbSk7XG4gIHotaW5kZXg6IDE7XG59XG4ubW9zYWljb19faXRlbS1kaXJldHRhIGZpZ3VyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIkxJVkVcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1M2UzZTtcbiAgdG9wOiAwLjFyZW07XG4gIGxlZnQ6IDAuMXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDByZW0gY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm1vc2FpY29fX2l0ZW0gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ubW9zYWljb19faXRlbSBoMiB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBtYXJnaW46IDA7XG59XG4ubW9zYWljb19faXRlbS0tbWFpbiBmaWd1cmUge1xuICBhc3BlY3QtcmF0aW86IDE2LzEwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tb3NhaWNvX19pdGVtLS1tYWluIGZpZ3VyZSB7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi8xMjtcbiAgfVxufVxuLm1vc2FpY29fX2l0ZW0tLW1haW4gaDIge1xuICBmb250LXNpemU6IDEuMXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubW9zYWljb19faXRlbS0tbWFpbiBoMiB7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gIH1cbn1cbi5tb3NhaWNvX19tZXRhIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgaW5zZXQ6IGF1dG8gMCAwIDA7XG4gIHotaW5kZXg6IDI7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG4ubW9zYWljb19fY2F0IHtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMyk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDAuOHJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJyZW07XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDUuNSk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLm1vc2FpY29fX2xhbmNpbyB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgcGFkZGluZzogMCAwIDAuMTVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vc2FpY28tLTEgLm1vc2FpY29fX2l0ZW0tLW1haW4gZmlndXJlIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vc2FpY28tLTEgLm1vc2FpY29fX2l0ZW0tLW1haW4gLm1vc2FpY29fX21ldGEge1xuICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIH1cbn1cbi5tb3NhaWNvLS0yIC5tb3NhaWNvX19pdGVtLS1tYWluIGZpZ3VyZSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvMTA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vc2FpY28tLTIgLm1vc2FpY29fX2l0ZW0tLW1haW4gaDIge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vc2FpY28tLTIgLm1vc2FpY29fX2l0ZW0gLm1vc2FpY29fX21ldGEge1xuICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubW9zYWljby0tMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vc2FpY28tLW11bHRpIC5tb3NhaWNvX19pdGVtLS1tYWluIC5tb3NhaWNvX19tZXRhIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1vc2FpY28tLW11bHRpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAyZnIpO1xuICB9XG4gIC5tb3NhaWNvLS1tdWx0aSA+IC5tb3NhaWNvX19pdGVtOm50aC1jaGlsZCgxKSB7XG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICBncmlkLXJvdzogc3BhbiAyO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1vc2FpY28tLW11bHRpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5tb3NhaWNvLS1tdWx0aSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMmZyKTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAubW9zYWljby0tbXVsdGkge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIH1cbn1cblxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0tcHJpdmF0ZSB7XG4gIG9wYWNpdHk6IDAuNztcbiAgYm9yZGVyOiAxcHggZGFzaGVkIHZhcigtLXBpY28tY29sb3IpO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fbGluazpob3ZlciB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19saW5rIC5wb3N0LWxpc3QtdmVydGljYWxfX2NvbnRlbnQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgfVxufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWIge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgZmxleDogMCAwIDIyMHB4O1xuICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWIge1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgfVxufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9faXRlbS1kaXJldHRhIC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiTElWRVwiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUzZTNlO1xuICB0b3A6IDAuMXJlbTtcbiAgbGVmdDogMC4xcmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcGFkZGluZzogMHJlbSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtLWdhbGxlcnkgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YmVmb3JlLFxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9faXRlbS1nYWxsZXJ5IC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDAuNXJlbTtcbiAgcmlnaHQ6IDAuN3JlbTtcbiAgd2lkdGg6IDEuMnJlbTtcbiAgaGVpZ2h0OiAwLjlyZW07XG4gIGJvcmRlci1yYWRpdXM6IDAuMTVyZW07XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDAuMDhyZW0gcmdiKDAsIDAsIDApKTtcbiAgei1pbmRleDogMztcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0tZ2FsbGVyeSAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAuMnJlbSwgLTAuMnJlbSk7XG4gIHotaW5kZXg6IDE7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtLXZpZGVvIC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMS4xcmVtIHNvbGlkICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjc1cmVtO1xuICByaWdodDogMC43NXJlbTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fY29udGVudCB7XG4gIGZsZXg6IDE7XG4gIHBhZGRpbmc6IDAgdmFyKC0tcGljby1zcGFjaW5nKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAucG9zdC1saXN0LXZlcnRpY2FsX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICB9XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19jYXQge1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAzKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMC44cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMnJlbTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNS41KTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19sYW5jaW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGl0bGUge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICB9XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX192ZXJ0aWNhbF9fZXhjZXJwdCB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAucG9zdC1saXN0LXZlcnRpY2FsX192ZXJ0aWNhbF9fZXhjZXJwdCB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gIH1cbn1cblxuLnBvc3RzLXBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuLnBhZ2luYXRpb24tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4ucGFnaW5hdGlvbi1saXN0IGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMCB2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG4ucGFnaW5hdGlvbi1saXN0IGxpIC5wYWdlLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNHJlbSAwLjc1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xufVxuLnBhZ2luYXRpb24tbGlzdCBsaSAucGFnZS1saW5rLmN1cnJlbnQge1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXBpY28tY29sb3IpO1xufVxuLnBhZ2luYXRpb24tbGlzdCBsaSAucGFnZS1saW5rOmhvdmVyOm5vdCguY3VycmVudCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWJhY2tncm91bmQpO1xufVxuLnBhZ2luYXRpb24tbGlzdCBsaS5pcy1oaWRkZW4tbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAucGFnaW5hdGlvbi1saXN0IGxpLmlzLWhpZGRlbi1tb2JpbGUge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgfVxufVxuXG4ubWV4X2VtcHR5IHtcbiAgcGFkZGluZzogMnJlbSAwO1xufVxuLm1leF9lbXB0eV9faGVhZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xufVxuLm1leF9lbXB0eV9fZXllYnJvdyB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSAwO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5tZXhfZW1wdHlfX3RpdGxlIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxLjhyZW0sIDIuNXZ3ICsgMXJlbSwgMi42cmVtKTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbn1cbi5tZXhfZW1wdHlfX3N1YnRpdGxlIHtcbiAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICBtYXJnaW46IDAgYXV0byAxcmVtO1xuICBtYXgtd2lkdGg6IDYwY2g7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFyZW07XG59XG4ubWV4X2VtcHR5X19zZWFyY2gge1xuICBtYXgtd2lkdGg6IDY4MHB4O1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5tZXhfZW1wdHlfX3NlYXJjaCBmb3JtID4gKjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC41cmVtO1xufVxuLm1leF9lbXB0eV9fc2VhcmNoIGZvcm0gPiAqOmxhc3QtY2hpbGQge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMC41cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMC41cmVtO1xufVxuXG5ib2R5LmFyY2hpdmUgc2VjdGlvbi5lbXB0eS1hcmNoaXZlLFxuYm9keS5zZWFyY2ggc2VjdGlvbi5lbXB0eS1hcmNoaXZlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkuYXJjaGl2ZSBzZWN0aW9uLmVtcHR5LWFyY2hpdmUsXG4gIGJvZHkuc2VhcmNoIHNlY3Rpb24uZW1wdHktYXJjaGl2ZSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuYm9keS5hcmNoaXZlIHNlY3Rpb24uZW1wdHktYXJjaGl2ZSA+IHAsXG5ib2R5LnNlYXJjaCBzZWN0aW9uLmVtcHR5LWFyY2hpdmUgPiBwIHtcbiAgbWFyZ2luOiAycmVtIDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keS5hcmNoaXZlIHNlY3Rpb24uZW1wdHktYXJjaGl2ZSA+IHAsXG4gIGJvZHkuc2VhcmNoIHNlY3Rpb24uZW1wdHktYXJjaGl2ZSA+IHAge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG59XG5ib2R5LmFyY2hpdmUgc2VjdGlvbi5lbXB0eS1hcmNoaXZlID4gYVtyb2xlPWJ1dHRvbl0sXG5ib2R5LnNlYXJjaCBzZWN0aW9uLmVtcHR5LWFyY2hpdmUgPiBhW3JvbGU9YnV0dG9uXSB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG59XG5ib2R5LmFyY2hpdmUgc2VjdGlvbi5hdXRob3ItYmlvLWNvbnRhaW5lcixcbmJvZHkuc2VhcmNoIHNlY3Rpb24uYXV0aG9yLWJpby1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDA7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkuYXJjaGl2ZSBzZWN0aW9uLmF1dGhvci1iaW8tY29udGFpbmVyLFxuICBib2R5LnNlYXJjaCBzZWN0aW9uLmF1dGhvci1iaW8tY29udGFpbmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAyKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgfVxufVxuYm9keS5hcmNoaXZlIHNlY3Rpb24uYXV0aG9yLWJpby1jb250YWluZXIgLmF1dGhvci1waG90by13cmFwcGVyLFxuYm9keS5zZWFyY2ggc2VjdGlvbi5hdXRob3ItYmlvLWNvbnRhaW5lciAuYXV0aG9yLXBob3RvLXdyYXBwZXIge1xuICBmbGV4LXNocmluazogMDtcbn1cbmJvZHkuYXJjaGl2ZSBzZWN0aW9uLmF1dGhvci1iaW8tY29udGFpbmVyIC5hdXRob3ItcGhvdG8sXG5ib2R5LnNlYXJjaCBzZWN0aW9uLmF1dGhvci1iaW8tY29udGFpbmVyIC5hdXRob3ItcGhvdG8ge1xuICB3aWR0aDogMTUwcHg7XG4gIGhlaWdodDogMTUwcHg7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkuYXJjaGl2ZSBzZWN0aW9uLmF1dGhvci1iaW8tY29udGFpbmVyIC5hdXRob3ItcGhvdG8sXG4gIGJvZHkuc2VhcmNoIHNlY3Rpb24uYXV0aG9yLWJpby1jb250YWluZXIgLmF1dGhvci1waG90byB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuYm9keS5hcmNoaXZlIHNlY3Rpb24uYXV0aG9yLWJpby1jb250YWluZXIgLmF1dGhvci10ZXh0LFxuYm9keS5zZWFyY2ggc2VjdGlvbi5hdXRob3ItYmlvLWNvbnRhaW5lciAuYXV0aG9yLXRleHQge1xuICBmbGV4OiAxO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBmb250LXNpemU6IDEuMXJlbTtcbn1cbmJvZHkuYXJjaGl2ZSBzZWN0aW9uLmF1dGhvci1iaW8tY29udGFpbmVyIC5hdXRob3ItdGV4dCAuYXV0aG9yLW5hbWUsXG5ib2R5LnNlYXJjaCBzZWN0aW9uLmF1dGhvci1iaW8tY29udGFpbmVyIC5hdXRob3ItdGV4dCAuYXV0aG9yLW5hbWUge1xuICBtYXJnaW46IDAgMCAwdmFyIC0tcGljby1zcGFjaW5nO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keS5hcmNoaXZlIHNlY3Rpb24uYXV0aG9yLWJpby1jb250YWluZXIgLmF1dGhvci10ZXh0IC5hdXRob3ItbmFtZSxcbiAgYm9keS5zZWFyY2ggc2VjdGlvbi5hdXRob3ItYmlvLWNvbnRhaW5lciAuYXV0aG9yLXRleHQgLmF1dGhvci1uYW1lIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59IiwiQHVzZSAnc2Fzczpjb2xvcic7XG5cbiRtdC1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXG4kbXQtY29sb3I6ICMzNzNjNDQ7XG5cbiRtdC1wcmltYXJ5LWNvbG9yOiAjMDA1OTljO1xuJG10LXByaW1hcnktY29sb3ItZGFya2VuOiBjb2xvci5hZGp1c3QoJG10LXByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LXByaW1hcnktY29sb3ItbGlnaHRlbjogY29sb3IuYWRqdXN0KCRtdC1wcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiArMTAlKTtcbiRtdC1wcmltYXJ5LWludmVyc2UtY29sb3I6ICNmZmZmZmY7XG5cbiRtdC1zZWNvbmRhcnktY29sb3I6ICM3Mzc5ODc7XG4kbXQtc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbjogY29sb3IuYWRqdXN0KCRtdC1zZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LXNlY29uZGFyeS1jb2xvci1saWdodGVuOiBjb2xvci5hZGp1c3QoJG10LXNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogKzEwJSk7XG4kbXQtc2Vjb25kYXJ5LWludmVyc2UtY29sb3I6ICNmZmZmZmY7XG5cbiRtdC1jb250cmFzdC1jb2xvcjogIzE4MWMyNTtcbiRtdC1jb250cmFzdC1jb2xvci1kYXJrZW46IGNvbG9yLmFkanVzdCgkbXQtY29udHJhc3QtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW46IGNvbG9yLmFkanVzdCgkbXQtY29udHJhc3QtY29sb3IsICRsaWdodG5lc3M6ICsxMCUpO1xuJG10LWNvbnRyYXN0LWludmVyc2UtY29sb3I6ICNmZmZmZmY7XG5cblxuXG5cbiRtdC10ZGFyay1iYWNrZ3JvdW5kLWNvbG9yOiAjMWQyMzI3O1xuXG4kbXQtdGRhcmstY29sb3I6ICMxZDIzMjc7XG5cbiRtdC10ZGFyay1wcmltYXJ5LWNvbG9yOiAjNWJiNGRmO1xuJG10LXRkYXJrLXByaW1hcnktY29sb3ItZGFya2VuOiBjb2xvci5hZGp1c3QoJG10LXRkYXJrLXByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LXRkYXJrLXByaW1hcnktY29sb3ItbGlnaHRlbjogY29sb3IuYWRqdXN0KCRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiArMTAlKTtcbiRtdC10ZGFyay1wcmltYXJ5LWludmVyc2UtY29sb3I6ICMxMjEyMTI7XG5cbiRtdC10ZGFyay1zZWNvbmRhcnktY29sb3I6ICNhM2E5Yjc7XG4kbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbjogY29sb3IuYWRqdXN0KCRtdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1saWdodGVuOiBjb2xvci5hZGp1c3QoJG10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogKzEwJSk7XG4kbXQtdGRhcmstc2Vjb25kYXJ5LWludmVyc2UtY29sb3I6ICMxMjEyMTI7XG5cbiRtdC10ZGFyay1jb250cmFzdC1jb2xvcjogI2Y1ZjdmYTtcbiRtdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW46IGNvbG9yLmFkanVzdCgkbXQtdGRhcmstY29udHJhc3QtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpO1xuJG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW46IGNvbG9yLmFkanVzdCgkbXQtdGRhcmstY29udHJhc3QtY29sb3IsICRsaWdodG5lc3M6ICsxMCUpO1xuJG10LXRkYXJrLWNvbnRyYXN0LWludmVyc2UtY29sb3I6ICMxMjEyMTI7XG5cblxuJG10LWZvbnQtZmFtaWx5OiAnSW50ZXInLCBUYWhvbWEsIFZlcmRhbmEsIHNhbnMtc2VyaWY7XG4kbXQtZm9udC1zaXplOiAxcmVtO1xuJG10LWxpbmUtaGVpZ2h0OiAxLjRyZW07XG4kbXQtZm9udC13ZWlnaHQ6IDQwMDtcbiRtdC1sZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuJG10LWhlYWRpbmctZm9udC1mYW1pbHk6ICdSb2JvdG8nLCBHZW9yZ2lhLCBzZXJpZjtcbiRtdC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDA7XG5cbiRtdC1zaXRlLWhlYWRlci1oZWlnaHQ6IDY0cHg7XG5cbiRtdC16aW5kZXgtaGVhZGVyOiA5OTk5OTk5O1xuJG10LXppbmRleC1zaWRlYmFyLWhhbWJ1cmdlcjogOTk5OTk5OTk7XG4kbXQtemluZGV4LXBvcHVwOiA5OTk5OTk5OTk7XG5cbiRtdC1icmVha3BvaW50czogKFxuICBzbTogKGJyZWFrcG9pbnQ6IDU3NnB4LFxuICAgIHZpZXdwb3J0OiAxMDAlLFxuICAgIHJvb3QtZm9udC1zaXplOiAxMDYuMjUlLFxuICApLFxuICBtZDogKGJyZWFrcG9pbnQ6IDc2OHB4LFxuICAgIHZpZXdwb3J0OiAxMDAlLFxuICAgIHJvb3QtZm9udC1zaXplOiAxMTIuNSUsXG4gICksXG4gIGxnOiAoYnJlYWtwb2ludDogMTAyNHB4LFxuICAgIHZpZXdwb3J0OiAxMjgwcHgsXG4gICAgcm9vdC1mb250LXNpemU6IDExOC43NSUsXG4gICksXG4gIHhsOiAoYnJlYWtwb2ludDogMTI4MHB4LFxuICAgIHZpZXdwb3J0OiAxMjgwcHgsXG4gICAgcm9vdC1mb250LXNpemU6IDEyNSUsXG4gICksXG4gIHh4bDogKGJyZWFrcG9pbnQ6IDE1MzZweCxcbiAgICB2aWV3cG9ydDogMTI4MHB4LFxuICAgIHJvb3QtZm9udC1zaXplOiAxMzEuMjUlLFxuICApXG4pO1xuXG4vLyBUZW1hIFNvbGl0b1xuW2RhdGEtdGhlbWU9XCJsaWdodFwiXSxcbjpyb290Om5vdChbZGF0YS10aGVtZT1cImRhcmtcIl0pIHtcblxuICAtLW10LWNvbW1lbnRpLWZvcm0tYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgLS1tdC1uZWNyb2xvcmktZm9ybS1iYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAtLW10LWhvbWVwYWdlLW9wZW5pbmctYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgMTAlLCAjZmZmIDkwJSk7XG4gIC0tbXQtZ2FsbGVyeS1iYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1wcmltYXJ5KSA1JSwgI2ZmZiA5NSUpO1xuXG59XG5cbi8vIFRlbWEgRGFya1xuW2RhdGEtdGhlbWU9XCJkYXJrXCJdLFxuOnJvb3RbZGF0YS10aGVtZT1cImRhcmtcIl0ge1xuICAtLW10LWNvbW1lbnRpLWZvcm0tYmFja2dyb3VuZDogIzEyMTIxMjtcbiAgLS1tdC1uZWNyb2xvcmktZm9ybS1iYWNrZ3JvdW5kOiAjMTIxMjEyO1xuICAtLW10LWhvbWVwYWdlLW9wZW5pbmctYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgMTAlLCAjMDAwIDkwJSk7XG4gIC0tbXQtZ2FsbGVyeS1iYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1wcmltYXJ5KSA1JSwgIzAwMCA5NSUpO1xuXG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvaW50ZXIvaW50ZXItcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvaW50ZXIvaW50ZXItaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9pbnRlci9pbnRlci03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL2ludGVyL2ludGVyLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ01lcnJpd2VhdGhlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbWVycml3ZWF0aGVyL21lcnJpd2VhdGhlci1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ01lcnJpd2VhdGhlcic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbWVycml3ZWF0aGVyL21lcnJpd2VhdGhlci1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdNZXJyaXdlYXRoZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufSIsIkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9ub3RvLXNhbnMvbm90by1zYW5zLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9ub3RvLXNhbnMvbm90by1zYW5zLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL25vdG8tc2Fucy9ub3RvLXNhbnMtNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL25vdG8tc2VyaWYvbm90by1zZXJpZi03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvb3Blbi1zYW5zL29wZW4tc2Fucy1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvb3Blbi1zYW5zL29wZW4tc2Fucy1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufSIsIkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9yb2JvdG8vcm9ib3RvLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9yb2JvdG8vcm9ib3RvLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL3JvYm90by9yb2JvdG8tNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvcm9ib3RvL3JvYm90by03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59IiwiLyohXG4gKiBQaWNvIENTUyDinKggdjIuMS4xIChodHRwczovL3BpY29jc3MuY29tKVxuICogQ29weXJpZ2h0IDIwMTktMjAyNSAtIExpY2Vuc2VkIHVuZGVyIE1JVFxuICovXG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi9jb2xvcnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3NldHRpbmdzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9oZWxwZXJzL2Z1bmN0aW9uc1wiO1xuQHVzZSBcInRoZW1lLWNvbG9yc1wiO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJ0aGVtZXMvZGVmYXVsdFwiKSB7XG4gIC8qKlxuICAgKiBTdHlsZXNcbiAgICovXG5cbiAgOnJvb3QsXG4gIDpob3N0IHtcbiAgICAvLyBUeXBvZ3JhcGh5XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1mYW1pbHktZW1vamk6XG4gICAgICBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCI7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1mYW1pbHktc2Fucy1zZXJpZjpcbiAgICAgIHN5c3RlbS11aSwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsIEhlbHZldGljYSwgQXJpYWwsIFwiSGVsdmV0aWNhIE5ldWVcIixcbiAgICAgIHNhbnMtc2VyaWYsIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseS1lbW9qaSk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1mYW1pbHktbW9ub3NwYWNlOlxuICAgICAgdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgXCJTRiBNb25vXCIsIE1lbmxvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgbW9ub3NwYWNlLFxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LWVtb2ppKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQ6IDQwMDtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IDEwMCU7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjFyZW07XG5cbiAgICAvLyBCb3JkZXJzXG4gICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGg6IDAuMDYyNXJlbTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoOiAwLjEyNXJlbTtcblxuICAgIC8vIFRyYW5zaXRpb25zXG4gICAgI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcblxuICAgIC8vIFNwYWNpbmdzXG4gICAgI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZzogMXJlbTtcblxuICAgIC8vIFNwYWNpbmdzIGZvciB0eXBvZ3JhcGh5IGVsZW1lbnRzXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC90eXBvZ3JhcGh5XCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbDogMXJlbTtcbiAgICB9XG5cbiAgICAvLyBTcGFjaW5ncyBmb3IgYm9keSA+IGhlYWRlciwgYm9keSA+IG1haW4sIGJvZHkgPiBmb290ZXIsIHNlY3Rpb24sIGFydGljbGVcbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvbGFuZG1hcmtzXCIpIG9yXG4gICAgICBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9zZWN0aW9uXCIpIG9yXG4gICAgICBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvY2FyZFwiKSBvclxuICAgICAgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL21vZGFsXCIpXG4gICAge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy1ob3Jpem9udGFsOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgfVxuXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2dyaWRcIikgYW5kICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncmlkLWNvbHVtbi1nYXA6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWdyaWQtcm93LWdhcDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgIH1cblxuICAgIC8vIFNwYWNpbmdzIGZvciBmb3JtIGVsZW1lbnRzIGFuZCBidXR0b25cbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L2J1dHRvblwiKSBvciBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsOiAwLjc1cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMXJlbTtcbiAgICB9XG5cbiAgICAvLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMgJiBmaWVsZHNldHMgbGVnZW5kXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1sYWJlbC1mb250LXdlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KTtcbiAgICB9XG5cbiAgICAvLyBHcm91cCAocm9sZT1cImdyb3VwXCIpXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9ncm91cFwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWJ1dHRvbjogMFxuICAgICAgICAwXG4gICAgICAgIDBcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1pbnB1dDogMFxuICAgICAgICAwXG4gICAgICAgIDBcbiAgICAgICAgMC4wNjI1cmVtXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAvLyBNb2RhbCAoPGRpYWxvZz4pXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9tb2RhbFwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1tb2RhbC1vdmVybGF5LWJhY2tkcm9wLWZpbHRlcjogYmx1cigwLjM3NXJlbSk7XG4gICAgfVxuXG4gICAgLy8gU3BhY2luZ3MgZm9yIG5hdiBjb21wb25lbnRcbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL25hdlwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsOiAxcmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsOiAwLjVyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsOiAwLjVyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWw6IDAuNXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fW5hdi1icmVhZGNydW1iLWRpdmlkZXI6IFwiPlwiO1xuICAgIH1cblxuICAgIC8vIENoZWNrYm94ZXMgaWNvbnNcbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGVja2JveDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR3aGl0ZSl9JyBzdHJva2Utd2lkdGg9JzQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLW1pbnVzOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tmdW5jdGlvbnMuZGlzcGxheS1yZ2IoJHdoaXRlKX0nIHN0cm9rZS13aWR0aD0nNCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2xpbmUgeDE9JzUnIHkxPScxMicgeDI9JzE5JyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIENoZXZyb24gaWNvbnNcbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9iYXNpY3NcIikgb3JcbiAgICAgIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikgb3JcbiAgICAgIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9kcm9wZG93blwiKVxuICAgIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tY2hldnJvbjogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR6aW5jLTQwMCl9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzYgOSAxMiAxNSAxOCA5JyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gICAgfVxuXG4gICAgLy8gRGF0ZXRpbWUgaWNvbnNcbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9pbnB1dC1kYXRlXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tZGF0ZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR6aW5jLTQwMCl9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NyZWN0IHg9JzMnIHk9JzQnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgcng9JzInIHJ5PScyJyUzRSUzQy9yZWN0JTNFJTNDbGluZSB4MT0nMTYnIHkxPScyJyB4Mj0nMTYnIHkyPSc2JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nOCcgeTE9JzInIHgyPSc4JyB5Mj0nNiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzMnIHkxPScxMCcgeDI9JzIxJyB5Mj0nMTAnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi10aW1lOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tmdW5jdGlvbnMuZGlzcGxheS1yZ2IoJHppbmMtNDAwKX0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMTIgNiAxMiAxMiAxNiAxNCclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIFNlYXJjaCBpY29uXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvaW5wdXQtc2VhcmNoXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tc2VhcmNoOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tmdW5jdGlvbnMuZGlzcGxheS1yZ2IoJHppbmMtNDAwKX0nIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMScgY3k9JzExJyByPSc4JyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScyMScgeTE9JzIxJyB4Mj0nMTYuNjUnIHkyPScxNi42NSclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG4gICAgfVxuXG4gICAgLy8gQ2xvc2UgaWNvblxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbW9kYWxcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jbG9zZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR6aW5jLTQwMCl9JyBzdHJva2Utd2lkdGg9JzMnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NsaW5lIHgxPScxOCcgeTE9JzYnIHgyPSc2JyB5Mj0nMTgnJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPSc2JyB5MT0nNicgeDI9JzE4JyB5Mj0nMTgnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIExvYWRpbmcgaWNvbiAoYW5pbWF0ZWQpXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9sb2FkaW5nXCIpIHtcbiAgICAgIC8vIEluc3BpcmVkIGJ5IGh0dHBzOi8vY29kZXBlbi5pby9hbGVrc2FuZGVyMzUxL3Blbi9LemdLUG9cbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tbG9hZGluZzogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyBmaWxsPSdub25lJyBoZWlnaHQ9JzI0JyB3aWR0aD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyAlM0UlM0NzdHlsZSUzRSBnICU3QiBhbmltYXRpb246IHJvdGF0ZSAycyBsaW5lYXIgaW5maW5pdGU7IHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7ICU3RCBjaXJjbGUgJTdCIHN0cm9rZS1kYXNoYXJyYXk6IDc1LDEwMDsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC01OyBhbmltYXRpb246IGRhc2ggMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTsgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOyAlN0QgQGtleWZyYW1lcyByb3RhdGUgJTdCIDAlMjUgJTdCIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyAlN0QgMTAwJTI1ICU3QiB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyAlN0QgJTdEIEBrZXlmcmFtZXMgZGFzaCAlN0IgMCUyNSAlN0Igc3Ryb2tlLWRhc2hhcnJheTogMSwxMDA7IHN0cm9rZS1kYXNob2Zmc2V0OiAwOyAlN0QgNTAlMjUgJTdCIHN0cm9rZS1kYXNoYXJyYXk6IDQ0LjUsMTAwOyBzdHJva2UtZGFzaG9mZnNldDogLTE3LjU7ICU3RCAxMDAlMjUgJTdCIHN0cm9rZS1kYXNoYXJyYXk6IDQ0LjUsMTAwOyBzdHJva2UtZGFzaG9mZnNldDogLTYyOyAlN0QgJTdEICUzQy9zdHlsZSUzRSUzQ2clM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR6aW5jLTQwMCl9JyBzdHJva2Utd2lkdGg9JzQnIC8lM0UlM0MvZyUzRSUzQy9zdmclM0VcIik7XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSByb290IGZvbnQgc2l6ZVxuICAgIEBpZiAkZW5hYmxlLXJlc3BvbnNpdmUtdHlwb2dyYXBoeSB7XG4gICAgICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRicmVha3BvaW50cyB7XG4gICAgICAgIEBpZiAkdmFsdWVzIHtcbiAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZTogbWFwLmdldCgkdmFsdWVzLCBcInJvb3QtZm9udC1zaXplXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgc3BhY2luZ3NcbiAgQGlmICRlbmFibGUtcmVzcG9uc2l2ZS1zcGFjaW5ncyB7XG4gICAgLy8gTGFuZG1hcmtzIGFuZCBzZWN0aW9uXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2xhbmRtYXJrc1wiKSBvciBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9zZWN0aW9uXCIpIHtcbiAgICAgICN7JHNlbWFudGljLXJvb3QtZWxlbWVudH0gPiBoZWFkZXIsXG4gICAgICAjeyRzZW1hbnRpYy1yb290LWVsZW1lbnR9ID4gbWFpbixcbiAgICAgICN7JHNlbWFudGljLXJvb3QtZWxlbWVudH0gPiBmb290ZXIsXG4gICAgICBzZWN0aW9uIHtcbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgICAgIEBpZiAkdmFsdWVzIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCR2YWx1ZXMsIFwiYnJlYWtwb2ludFwiKSkge1xuICAgICAgICAgICAgICAkbXVsdGlwbGllcjogMTtcbiAgICAgICAgICAgICAgQGlmICRrZXkgPT0gXCJzbVwiIHtcbiAgICAgICAgICAgICAgICAkbXVsdGlwbGllcjogMS4yNTtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwibWRcIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDEuNTtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwibGdcIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDEuNzU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcInhsXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAyO1xuICAgICAgICAgICAgICB9IEBlbHNlIGlmICRrZXkgPT0gXCJ4eGxcIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDIuMjU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLXZlcnRpY2FsOiBjYWxjKFxuICAgICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqICRtdWx0aXBsaWVyXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2FyZCAoPGFydGljbGU+KVxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvY2FyZFwiKSB7XG4gICAgICBhcnRpY2xlIHtcbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgICAgIEBpZiAkdmFsdWVzIHtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCR2YWx1ZXMsIFwiYnJlYWtwb2ludFwiKSkge1xuICAgICAgICAgICAgICAkbXVsdGlwbGllcjogMTtcbiAgICAgICAgICAgICAgQGlmICRrZXkgPT0gXCJzbVwiIHtcbiAgICAgICAgICAgICAgICAkbXVsdGlwbGllcjogMS4yNTtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwibWRcIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDEuNTtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwibGdcIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDEuNzU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcInhsXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAyO1xuICAgICAgICAgICAgICB9IEBlbHNlIGlmICRrZXkgPT0gXCJ4eGxcIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDIuMjU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLXZlcnRpY2FsOiBjYWxjKFxuICAgICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqICRtdWx0aXBsaWVyXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbDogY2FsYyhcbiAgICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAkbXVsdGlwbGllclxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9saW5rXCIpIHtcbiAgICBhIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAvLyBTZWNvbmRhcnkgJiBDb250cmFzdFxuICAgICAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAgICYuc2Vjb25kYXJ5LFxuICAgICAgICAmLmNvbnRyYXN0IHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFR5cG9ncmFwaHlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC90eXBvZ3JhcGh5XCIpIHtcbiAgICAvLyBTbWFsbFxuICAgIHNtYWxsIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZTogMC44NzVlbTtcbiAgICB9XG5cbiAgICAvLyBIZWFkaW5nc1xuICAgIGgxLFxuICAgIGgyLFxuICAgIGgzLFxuICAgIGg0LFxuICAgIGg1LFxuICAgIGg2IHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAycmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMTI1O1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogM3JlbTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IDEuNzVyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodDogMS4xNTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDIuNjI1cmVtO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMTc1O1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMi4yNXJlbTtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IDEuMjVyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodDogMS4yO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMS44NzRyZW07XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0OiAxLjIyNTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuNjg3NXJlbTtcbiAgICB9XG5cbiAgICBoNiB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IDFyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodDogMS4yNTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuNXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L3RhYmxlXCIpIHtcbiAgICB0aGVhZCxcbiAgICB0Zm9vdCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoOiAwLjE4NzVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L2NvZGVcIikge1xuICAgIHByZSxcbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC1mYW1pbHktbW9ub3NwYWNlKTtcbiAgICB9XG5cbiAgICBrYmQge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBJbnB1dHMgYW5kIFNlbGVjdHNcbiAgaW5wdXQ6bm90KFxuICAgICAgW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgW3R5cGU9XCJyYWRpb1wiXSxcbiAgICAgIFt0eXBlPVwiZmlsZVwiXVxuICAgICksXG4gIDp3aGVyZShzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aDogMC4wNjI1cmVtO1xuICB9XG5cbiAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXM6IDVyZW07XG4gIH1cblxuICAvLyBDaGVja2JveGVzLCBSYWRpb3MgYW5kIFN3aXRjaGVzXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2NoZWNrYm94LXJhZGlvLXN3aXRjaFwiKSB7XG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aDogMC4xMjVyZW07XG4gICAgfVxuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXVtyb2xlPVwic3dpdGNoXCJdIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aDogMC4xODc1cmVtO1xuICAgIH1cbiAgfVxuXG4gIC8vIERyb3Bkb3duIChkZXRhaWxzLmRyb3Bkb3duKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAgIGRldGFpbHMuZHJvcGRvd24ge1xuICAgICAgc3VtbWFyeTpub3QoW3JvbGU9XCJidXR0b25cIl0pIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aDogMC4wNjI1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgICBuYXYge1xuICAgICAgZGV0YWlscy5kcm9wZG93biB7XG4gICAgICAgIHN1bW1hcnk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aDogMC4xMjVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBHcm91cCAocm9sZT1cImdyb3VwXCIpXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZ3JvdXBcIikge1xuICAgIFtyb2xlPVwic2VhcmNoXCJdIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXM6IDVyZW07XG4gICAgfVxuXG4gICAgW3JvbGU9XCJzZWFyY2hcIl0sXG4gICAgW3JvbGU9XCJncm91cFwiXSB7XG4gICAgICBAaWYgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAgICAgJjpoYXMoXG4gICAgICAgICAgICBidXR0b24uc2Vjb25kYXJ5OmZvY3VzLFxuICAgICAgICAgICAgW3R5cGU9XCJzdWJtaXRcIl0uc2Vjb25kYXJ5OmZvY3VzLFxuICAgICAgICAgICAgW3R5cGU9XCJidXR0b25cIl0uc2Vjb25kYXJ5OmZvY3VzLFxuICAgICAgICAgICAgW3JvbGU9XCJidXR0b25cIl0uc2Vjb25kYXJ5OmZvY3VzXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWJ1dHRvbjogMFxuICAgICAgICAgICAgMFxuICAgICAgICAgICAgMFxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWZvY3VzKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aGFzKFxuICAgICAgICAgICAgYnV0dG9uLmNvbnRyYXN0OmZvY3VzLFxuICAgICAgICAgICAgW3R5cGU9XCJzdWJtaXRcIl0uY29udHJhc3Q6Zm9jdXMsXG4gICAgICAgICAgICBbdHlwZT1cImJ1dHRvblwiXS5jb250cmFzdDpmb2N1cyxcbiAgICAgICAgICAgIFtyb2xlPVwiYnV0dG9uXCJdLmNvbnRyYXN0OmZvY3VzXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWJ1dHRvbjogMFxuICAgICAgICAgICAgMFxuICAgICAgICAgICAgMFxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtZm9jdXMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbixcbiAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICBbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWw6IDJyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hldnJvbiBpY29uc1xuICAvLyBDaGFuZ2UgdGhlIGljb24gY29sb3IgdG8gd2hpdGUgZm9yIGFjY29yZGlvbiBhbmQgZHJvcGRvd24gYnV0dG9uc1xuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2FjY29yZGlvblwiKSBvciBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZHJvcGRvd25cIikge1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscyB7XG4gICAgICBzdW1tYXJ5IHtcbiAgICAgICAgJHNlbGVjdG9yOiAnJltyb2xlPVwiYnV0dG9uXCJdJztcbiAgICAgICAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAgICAgJHNlbGVjdG9yOiBcIiN7JHNlbGVjdG9yfTpub3QoLm91dGxpbmUpXCI7XG4gICAgICAgIH1cbiAgICAgICAgI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExvYWRpbmcgaWNvbiAoYW5pbWF0ZWQpXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbG9hZGluZ1wiKSB7XG4gICAgLy8gQ2hhbmdlIHRoZSBpY29uIGNvbG9yIHRvIHdoaXRlIGZvciBidXR0b25zXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1idXN5PVwidHJ1ZVwiXTpub3QoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgICAgICRzZWxlY3RvcjogJyY6aXMoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFtyb2xlPVwiYnV0dG9uXCJdKSc7XG4gICAgICBAaWYgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAgICAgJHNlbGVjdG9yOiBcIiN7JHNlbGVjdG9yfTpub3QoLm91dGxpbmUpXCI7XG4gICAgICB9XG4gICAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIEBpZiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1pbnZlcnNlXCIsIFwiZGFya1wiKSA9PSAkd2hpdGUge1xuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5cbkB1c2UgXCJsaWdodFwiO1xuQHVzZSBcImRhcmtcIjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwidGhlbWVzL2RlZmF1bHRcIikge1xuICAvKipcbiAgICogQ29sb3Igc2NoZW1lc1xuICAgKi9cblxuICAvLyBMaWdodCBjb2xvciBzY2hlbWUgKERlZmF1bHQpXG4gIC8vIENhbiBiZSBmb3JjZWQgd2l0aCBkYXRhLXRoZW1lPVwibGlnaHRcIlxuICBbZGF0YS10aGVtZT1cImxpZ2h0XCJdLFxuICA6cm9vdDpub3QoW2RhdGEtdGhlbWU9XCJkYXJrXCJdKSxcbiAgOmhvc3QoOm5vdChbZGF0YS10aGVtZT1cImRhcmtcIl0pKSB7XG4gICAgQGluY2x1ZGUgbGlnaHQudGhlbWU7XG4gIH1cblxuICAvLyBEYXJrIGNvbG9yIHNjaGVtZSAoQXV0bylcbiAgLy8gQXV0b21hdGljYWxseSBlbmFibGVkIGlmIHVzZXIgaGFzIERhcmsgbW9kZSBlbmFibGVkXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gICAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lXSksXG4gICAgOmhvc3QoOm5vdChbZGF0YS10aGVtZV0pKSB7XG4gICAgICBAaW5jbHVkZSBkYXJrLnRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIC8vIERhcmsgY29sb3Igc2NoZW1lIChGb3JjZWQpXG4gIC8vIEVuYWJsZWQgaWYgZm9yY2VkIHdpdGggZGF0YS10aGVtZT1cImRhcmtcIlxuICBbZGF0YS10aGVtZT1cImRhcmtcIl0ge1xuICAgIEBpbmNsdWRlIGRhcmsudGhlbWU7XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHByb2dyZXNzLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyYWRpb1wiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJhbmdlXCJdIHtcbiAgICBhY2NlbnQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5KTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6Y29sb3JcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uLy4uL2NvbG9yc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2hlbHBlcnMvZnVuY3Rpb25zXCI7XG5AdXNlIFwidGhlbWUtY29sb3JzXCI7XG5cbi8vIERlZmF1bHQ6IExpZ2h0IHRoZW1lXG5AbWl4aW4gdGhlbWUge1xuICBjb2xvci1zY2hlbWU6IGxpZ2h0O1xuICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiAjeyR3aGl0ZX07XG5cbiAgLy8gVGV4dCBjb2xvclxuICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogI3skemluYy03NTB9O1xuXG4gIC8vIFRleHQgc2VsZWN0aW9uIGNvbG9yXG4gICN7JGNzcy12YXItcHJlZml4fXRleHQtc2VsZWN0aW9uLWNvbG9yOiB0aGVtZS1jb2xvcnMuZ2V0KFwidGV4dC1zZWxlY3Rpb24tY29sb3JcIiwgXCJsaWdodFwiKTtcblxuICAvLyBNdXRlZCBjb2xvcnNcbiAgI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3I6ICN7JHppbmMtNTUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtYm9yZGVyLWNvbG9yOiAje2NvbG9yLm1peCgkc2xhdGUtMTAwLCAkc2xhdGUtNTApfTtcblxuICAvLyBQcmltYXJ5IGNvbG9yc1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5OiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeVwiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQ6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWJhY2tncm91bmRcIiwgXCJsaWdodFwiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LXVuZGVybGluZTogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktdW5kZXJsaW5lXCIsIFwibGlnaHRcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXI6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWhvdmVyXCIsIFwibGlnaHRcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktaG92ZXItYmFja2dyb3VuZFwiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlcik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXM6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWZvY3VzXCIsIFwibGlnaHRcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZTogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktaW52ZXJzZVwiLCBcImxpZ2h0XCIpO1xuXG4gIC8vIFNlY29uZGFyeSBjb2xvcnNcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5OiAjeyRzbGF0ZS01NTB9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZDogI3skc2xhdGUtNjAwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LXVuZGVybGluZTogI3tyZ2JhKCRzbGF0ZS01NTAsIDAuNSl9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXI6ICN7JHNsYXRlLTY1MH07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjeyRzbGF0ZS02NTB9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWZvY3VzOiAje3JnYmEoJHNsYXRlLTU1MCwgMC4yNSl9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaW52ZXJzZTogI3skd2hpdGV9O1xuXG4gIC8vIENvbnRyYXN0IGNvbG9yc1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdDogI3skc2xhdGUtOTAwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYmFja2dyb3VuZDogI3skc2xhdGUtOTAwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LXVuZGVybGluZTogI3tyZ2JhKCRzbGF0ZS05MDAsIDAuNSl9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3ZlcjogI3skYmxhY2t9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiAjeyRibGFja307XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci11bmRlcmxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1mb2N1czogI3tyZ2JhKCRzbGF0ZS01NTAsIDAuMjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaW52ZXJzZTogI3skd2hpdGV9O1xuXG4gIC8vIEJveCBzaGFkb3dcbiAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogZnVuY3Rpb25zLnNoYWRvdygkc2xhdGUtNDAwKTtcblxuICAvLyBUeXBvZ3JhcGh5XG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gICAgLy8gSGVhZGluZ3MgY29sb3JzXG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDEtY29sb3I6ICN7JHppbmMtODAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oMi1jb2xvcjogI3skemluYy03NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWgzLWNvbG9yOiAjeyR6aW5jLTcwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDQtY29sb3I6ICN7JHppbmMtNjUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oNS1jb2xvcjogI3skemluYy02MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWg2LWNvbG9yOiAjeyR6aW5jLTU1MH07XG5cbiAgICAvLyBIaWdobGlnaHRlZCB0ZXh0ICg8bWFyaz4pXG4gICAgI3skY3NzLXZhci1wcmVmaXh9bWFyay1iYWNrZ3JvdW5kLWNvbG9yOiAje2NvbG9yLm1peCgkYW1iZXItMTAwLCAkYW1iZXItNTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1tYXJrLWNvbG9yOiAjeyR6aW5jLTk1MH07XG5cbiAgICAvLyBJbnNlcnRlZCAoPGlucz4pICYgRGVsZXRlZCAoPGRlbD4pXG4gICAgI3skY3NzLXZhci1wcmVmaXh9aW5zLWNvbG9yOiAje2NvbG9yLm1peCgkamFkZS00NTAsICR6aW5jLTc1MCl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWRlbC1jb2xvcjogI3tjb2xvci5taXgoJHJlZC01MDAsICR6aW5jLTc1MCl9O1xuXG4gICAgLy8gQmxvY2txdW90ZVxuICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgfVxuXG4gIC8vIEJ1dHRvblxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L2J1dHRvblwiKSB7XG4gICAgLy8gVG8gZGlzYWJsZSBib3gtc2hhZG93LCByZW1vdmUgdGhlIHZhciBvciBzZXQgdG8gJzAgMCAwIHJnYmEoMCwgMCwgMCwgMCknXG4gICAgLy8gRG9uJ3QgdXNlLCAnbm9uZSwgJ2ZhbHNlLCAnbnVsbCcsICcwJywgZXRjLlxuICAgICN7JGNzcy12YXItcHJlZml4fWJ1dHRvbi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG5cbiAgLy8gVGFibGVcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC90YWJsZVwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dGFibGUtYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10YWJsZS1yb3ctc3RyaXBwZWQtYmFja2dyb3VuZC1jb2xvcjogI3tyZ2JhKCR6aW5jLTUwMCwgMC4wMzc1KX07XG4gIH1cblxuICAvLyBDb2RlXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvY29kZVwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29kZS1iYWNrZ3JvdW5kLWNvbG9yOiAje2NvbG9yLm1peCgkc2xhdGUtNTAsICR3aGl0ZSwgNzUlKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29kZS1jb2xvcjogI3skemluYy01NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUta2JkLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29kZS1rYmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxuXG4gIC8vIEZvcm0gZWxlbWVudHNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTUwLCAkd2hpdGUsIDI1JSl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS0xMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6ICN7JHNsYXRlLTE1MH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWNvbG9yOiAjeyR6aW5jLTg1MH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogI3skd2hpdGV9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ib3JkZXIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZGlzYWJsZWQtb3BhY2l0eTogMC41O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoJHJlZC01MDAsICR6aW5jLTM1MCl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KFxuICAgICAgICAkcmVkLTUwMCxcbiAgICAgICAgJHppbmMtMzUwLFxuICAgICAgICA3NSVcbiAgICAgICl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoXG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yOiAje2NvbG9yLm1peCgkamFkZS00NTAsICR6aW5jLTM1MCl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAje2NvbG9yLm1peChcbiAgICAgICAgJGphZGUtNDUwLFxuICAgICAgICAkemluYy0zNTAsXG4gICAgICAgIDc1JVxuICAgICAgKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoXG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICk7XG4gIH1cblxuICAvLyBTd2l0Y2ggKGlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtyb2xlPVwic3dpdGNoXCJdKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS0yMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1jb2xvcjogI3skd2hpdGV9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiB0aGVtZS1jb2xvcnMuZ2V0KFwic3dpdGNoLXRodW1iLWJveC1zaGFkb3dcIiwgXCJsaWdodFwiKTtcbiAgfVxuXG4gIC8vIFJhbmdlIChpbnB1dFt0eXBlPVwicmFuZ2VcIl0pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2lucHV0LXJhbmdlXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1yYW5nZS1ib3JkZXItY29sb3I6ICN7JHNsYXRlLTEwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtYWN0aXZlLWJvcmRlci1jb2xvcjogI3skc2xhdGUtMjAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1yYW5nZS10aHVtYi1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1yYW5nZS10aHVtYi1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1yYW5nZS10aHVtYi1hY3RpdmUtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICB9XG5cbiAgLy8gQWNjb3JkaW9uICg8ZGV0YWlscz4pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvYWNjb3JkaW9uXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1hY2NvcmRpb24tY2xvc2Utc3VtbWFyeS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1hY2NvcmRpb24tb3Blbi1zdW1tYXJ5LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3IpO1xuICB9XG5cbiAgLy8gQ2FyZCAoPGFydGljbGU+KVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2NhcmRcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNhcmQtYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93KTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTUwLCAkd2hpdGUsIDI1JSl9O1xuICB9XG5cbiAgLy8gRHJvcGRvd24gKGRldGFpbHMuZHJvcGRvd24pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZHJvcGRvd25cIikgYW5kICRlbmFibGUtY2xhc3NlcyB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogI3skd2hpdGV9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skc2xhdGUtNTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93KTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS01MH07XG4gIH1cblxuICAvLyBMb2FkaW5nIChbYXJpYS1idXN5PXRydWVdKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2xvYWRpbmdcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fWxvYWRpbmctc3Bpbm5lci1vcGFjaXR5OiAwLjU7XG4gIH1cblxuICAvLyBNb2RhbCAoPGRpYWxvZz4pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbW9kYWxcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fW1vZGFsLW92ZXJsYXktYmFja2dyb3VuZC1jb2xvcjogI3tyZ2JhKGNvbG9yLm1peCgkemluYy0xMDAsICR6aW5jLTUwKSwgMC43NSl9O1xuICB9XG5cbiAgLy8gUHJvZ3Jlc3NcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9wcm9ncmVzc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtMTAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1wcm9ncmVzcy1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gIH1cblxuICAvLyBUb29sdGlwIChbZGF0YS10b29sdGlwXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy90b29sdGlwXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10b29sdGlwLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10b29sdGlwLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaW52ZXJzZSk7XG4gIH1cblxuICAvLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLXZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tmdW5jdGlvbnMuZGlzcGxheS1yZ2IoY29sb3IubWl4KCRqYWRlLTQ1MCwgJHppbmMtMzUwKSl9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi1pbnZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tmdW5jdGlvbnMuZGlzcGxheS1yZ2IoY29sb3IubWl4KCRyZWQtNTAwLCAkemluYy0zNTAsIDc1JSkpfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMi4wMScgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gIC8vIEZvY3VzIGZvciBidXR0b25zLCByYWRpbyBhbmQgc2VsZWN0XG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgaW5wdXQ6aXMoXG4gICAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXSxcbiAgICAgICAgW3R5cGU9XCJmaWxlXCJdXG4gICAgICApIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6Y29sb3JcIjtcbkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uLy4uL2NvbG9yc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL2hlbHBlcnMvZnVuY3Rpb25zXCI7XG5AdXNlIFwidGhlbWUtY29sb3JzXCI7XG5cbi8vIERlZmF1bHQ6IERhcmsgdGhlbWVcbkBtaXhpbiB0aGVtZSB7XG4gIGNvbG9yLXNjaGVtZTogZGFyaztcbiAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTk1MCwgJHNsYXRlLTkwMCl9O1xuXG4gIC8vIFRleHQgY29sb3JcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6ICN7JHppbmMtMjAwfTtcblxuICAvLyBUZXh0IHNlbGVjdGlvbiBjb2xvclxuICAjeyRjc3MtdmFyLXByZWZpeH10ZXh0LXNlbGVjdGlvbi1jb2xvcjogdGhlbWUtY29sb3JzLmdldChcInRleHQtc2VsZWN0aW9uLWNvbG9yXCIsIFwiZGFya1wiKTtcblxuICAvLyBNdXRlZCBjb2xvcnNcbiAgI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3I6ICN7JHppbmMtNDUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS04NTB9O1xuXG4gIC8vIFByaW1hcnkgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnk6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5XCIsIFwiZGFya1wiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1iYWNrZ3JvdW5kXCIsIFwiZGFya1wiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LXVuZGVybGluZTogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktdW5kZXJsaW5lXCIsIFwiZGFya1wiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3ZlcjogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktaG92ZXJcIiwgXCJkYXJrXCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWhvdmVyLWJhY2tncm91bmRcIiwgXCJkYXJrXCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlcik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXM6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWZvY3VzXCIsIFwiZGFya1wiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1pbnZlcnNlOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1pbnZlcnNlXCIsIFwiZGFya1wiKTtcblxuICAvLyBTZWNvbmRhcnkgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeTogI3skemluYy0zNTB9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZDogI3skc2xhdGUtNjAwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LXVuZGVybGluZTogI3tyZ2JhKCR6aW5jLTM1MCwgMC41KX07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3ZlcjogI3skemluYy0yNTB9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogI3skc2xhdGUtNTUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1mb2N1czogI3tyZ2JhKCRzbGF0ZS0zNTAsIDAuMjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2U6ICN7JHdoaXRlfTtcblxuICAvLyBDb250cmFzdCBjb2xvcnNcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3Q6ICN7JHNsYXRlLTEwMH07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQ6ICN7JHNsYXRlLTUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LXVuZGVybGluZTogI3tyZ2JhKCRzbGF0ZS0xMDAsIDAuNSl9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3ZlcjogI3skd2hpdGV9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiAjeyR3aGl0ZX07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci11bmRlcmxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlcik7XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWZvY3VzOiAje3JnYmEoJHNsYXRlLTE1MCwgMC4yNSl9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1pbnZlcnNlOiAjeyRibGFja307XG5cbiAgLy8gQm94IHNoYWRvd1xuICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OiBmdW5jdGlvbnMuc2hhZG93KGNvbG9yLm1peCgkYmxhY2ssICRzbGF0ZS05NTApKTtcblxuICAvLyBUeXBvZ3JhcGh5XG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gICAgLy8gSGVhZGluZ3MgY29sb3JzXG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDEtY29sb3I6ICN7JHppbmMtNTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWgyLWNvbG9yOiAjeyR6aW5jLTEwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDMtY29sb3I6ICN7JHppbmMtMjAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oNC1jb2xvcjogI3skemluYy0yNTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWg1LWNvbG9yOiAjeyR6aW5jLTMwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDYtY29sb3I6ICN7JHppbmMtNDAwfTtcblxuICAgIC8vIEhpZ2hsaWdodGVkIHRleHQgKDxtYXJrPilcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1tYXJrLWJhY2tncm91bmQtY29sb3I6ICN7JGF6dXJlLTc1MH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9bWFyay1jb2xvcjogI3skd2hpdGV9O1xuXG4gICAgLy8gSW5zZXJ0ZWQgKDxpbnM+KSAmIERlbGV0ZWQgKDxkZWw+KVxuICAgICN7JGNzcy12YXItcHJlZml4fWlucy1jb2xvcjogI3tjb2xvci5taXgoJGphZGUtNDUwLCAkemluYy0yMDApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kZWwtY29sb3I6ICN7Y29sb3IubWl4KCRyZWQtNTAwLCAkemluYy0yMDApfTtcblxuICAgIC8vIEJsb2NrcXVvdGVcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2txdW90ZS1mb290ZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gIH1cblxuICAvLyBCdXR0b25cbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9idXR0b25cIikge1xuICAgIC8vIFRvIGRpc2FibGUgYm94LXNoYWRvdywgcmVtb3ZlIHRoZSB2YXIgb3Igc2V0IHRvICcwIDAgMCByZ2JhKDAsIDAsIDAsIDApJ1xuICAgIC8vIERvbid0IHVzZSwgJ25vbmUsICdmYWxzZSwgJ251bGwnLCAnMCcsIGV0Yy5cbiAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIC8vIFRhYmxlXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdGFibGVcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dGFibGUtcm93LXN0cmlwcGVkLWJhY2tncm91bmQtY29sb3I6ICN7cmdiYSgkemluYy01MDAsIDAuMDM3NSl9O1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L2NvZGVcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUtYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTkwMCwgJHNsYXRlLTg1MCwgNzUlKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29kZS1jb2xvcjogI3skemluYy00MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUta2JkLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29kZS1rYmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgfVxuXG4gIC8vIEZvcm0gZWxlbWVudHNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTkwMCwgJHNsYXRlLTg1MCl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS04MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6ICN7JHNsYXRlLTgwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWNvbG9yOiAjeyR6aW5jLTEwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yOiAjeyR6aW5jLTQwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiAje2NvbG9yLm1peChcbiAgICAgICAgJHNsYXRlLTkwMCxcbiAgICAgICAgJHNsYXRlLTg1MCxcbiAgICAgICAgNzUlXG4gICAgICApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWRpc2FibGVkLW9wYWNpdHk6IDAuNTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KCRyZWQtNTAwLCAkc2xhdGUtNjAwKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoXG4gICAgICAgICRyZWQtNTAwLFxuICAgICAgICAkc2xhdGUtNjAwLFxuICAgICAgICA3NSVcbiAgICAgICl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoXG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yOiAje2NvbG9yLm1peCgkamFkZS00NTAsICRzbGF0ZS02MDApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoXG4gICAgICAgICRqYWRlLTQ1MCxcbiAgICAgICAgJHNsYXRlLTYwMCxcbiAgICAgICAgNzUlXG4gICAgICApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3I6IHZhcihcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgKTtcbiAgfVxuXG4gIC8vIFN3aXRjaCAoaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdW3JvbGU9XCJzd2l0Y2hcIl0pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2NoZWNrYm94LXJhZGlvLXN3aXRjaFwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWJhY2tncm91bmQtY29sb3I6ICN7JHNsYXRlLTc1MH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWNvbG9yOiAjeyR3aGl0ZX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLXRodW1iLWJveC1zaGFkb3c6IHRoZW1lLWNvbG9ycy5nZXQoXCJzd2l0Y2gtdGh1bWItYm94LXNoYWRvd1wiLCBcImRhcmtcIik7XG4gIH1cblxuICAvLyBSYW5nZSAoaW5wdXRbdHlwZT1cInJhbmdlXCJdKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9pbnB1dC1yYW5nZVwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS04NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JHNsYXRlLTgwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItYWN0aXZlLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIC8vIEFjY29yZGlvbiAoPGRldGFpbHM+KVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2FjY29yZGlvblwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1zdW1tYXJ5LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWNsb3NlLXN1bW1hcnktY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgfVxuXG4gIC8vIENhcmQgKDxhcnRpY2xlPilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9jYXJkXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJhY2tncm91bmQtY29sb3I6ICN7JHNsYXRlLTkwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJhY2tncm91bmQtY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWNhcmQtYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3cpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWNhcmQtc2VjdGlvbmluZy1iYWNrZ3JvdW5kLWNvbG9yOiAje2NvbG9yLm1peCgkc2xhdGUtOTAwLCAkc2xhdGUtODUwLCA3NSUpfTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIChkZXRhaWxzLmRyb3Bkb3duKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAgICN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I6ICN7JHNsYXRlLTkwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS04NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93KTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS04NTB9O1xuICB9XG5cbiAgLy8gTG9hZGluZyAoW2FyaWEtYnVzeT10cnVlXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9sb2FkaW5nXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1sb2FkaW5nLXNwaW5uZXItb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLy8gTW9kYWwgKDxkaWFsb2c+KVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL21vZGFsXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1tb2RhbC1vdmVybGF5LWJhY2tncm91bmQtY29sb3I6ICN7cmdiYShjb2xvci5taXgoJGJsYWNrLCAkemluYy05NTApLCAwLjc1KX07XG4gIH1cblxuICAvLyBQcm9ncmVzc1xuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL3Byb2dyZXNzXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1wcm9ncmVzcy1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS04NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXByb2dyZXNzLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIC8vIFRvb2x0aXAgKFtkYXRhLXRvb2x0aXBdKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL3Rvb2x0aXBcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXRvb2x0aXAtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1pbnZlcnNlKTtcbiAgfVxuXG4gIC8vIEZvcm0gdmFsaWRhdGlvbiBpY29uc1xuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9iYXNpY3NcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fWljb24tdmFsaWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYihjb2xvci5taXgoJGphZGUtNDUwLCAkc2xhdGUtNjAwKSl9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0Nwb2x5bGluZSBwb2ludHM9JzIwIDYgOSAxNyA0IDEyJyUzRSUzQy9wb2x5bGluZSUzRSUzQy9zdmclM0VcIik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi1pbnZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tmdW5jdGlvbnMuZGlzcGxheS1yZ2IoY29sb3IubWl4KCRyZWQtNTAwLCAkc2xhdGUtNjAwKSl9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzgnIHgyPScxMicgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nMTInIHkxPScxNicgeDI9JzEyLjAxJyB5Mj0nMTYnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICB9XG5cbiAgLy8gRm9jdXMgZm9yIGJ1dHRvbnMsIHJhZGlvIGFuZCBzZWxlY3RcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIHtcbiAgICBpbnB1dDppcyhcbiAgICAgICAgW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgICBbdHlwZT1cInJhZGlvXCJdLFxuICAgICAgICBbdHlwZT1cImZpbGVcIl1cbiAgICAgICkge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1mb2N1cyk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hldnJvbiBpY29uc1xuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2FjY29yZGlvblwiKSBvciBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZHJvcGRvd25cIikge1xuICAgIC8vIENoYW5nZSB0aGUgaWNvbiBjb2xvciB0byBibGFjayBmb3IgYWNjb3JkaW9uIGFuZCBkcm9wZG93biAuY29udHJhc3QgYnV0dG9uc1xuICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzIHtcbiAgICAgICAgc3VtbWFyeSB7XG4gICAgICAgICAgJltyb2xlPVwiYnV0dG9uXCJdLmNvbnRyYXN0Om5vdCgub3V0bGluZSkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTG9hZGluZyBpY29uIChhbmltYXRlZClcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9sb2FkaW5nXCIpIHtcbiAgICAvLyBDaGFuZ2UgdGhlIGljb24gY29sb3IgdG8gYmxhY2sgZm9yIC5jb250cmFzdCBidXR0b25zXG4gICAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IFthcmlhLWJ1c3k9XCJ0cnVlXCJdOm5vdChpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSkge1xuICAgICAgICAmLmNvbnRyYXN0OmlzKFxuICAgICAgICAgICAgYnV0dG9uLFxuICAgICAgICAgICAgW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgICAgICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgICAgICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgICAgICAgICBbcm9sZT1cImJ1dHRvblwiXVxuICAgICAgICAgICk6bm90KC5vdXRsaW5lKSB7XG4gICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2RvY3VtZW50XCIpIHtcbiAgLyoqXG4gICAqIERvY3VtZW50XG4gICAqIENvbnRlbnQtYm94ICYgUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5XG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIDEuIEFkZCBib3JkZXIgYm94IHNpemluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICAvLyAyLiBCYWNrZ3JvdW5kcyBkbyBub3QgcmVwZWF0IGJ5IGRlZmF1bHQgKG9waW5pb25hdGVkKVxuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQWRkIHRleHQgZGVjb3JhdGlvbiBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICAvLyAyLiBBZGQgdmVydGljYWwgYWxpZ25tZW50IGluaGVyaXRhbmNlIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gIDo6YmVmb3JlLFxuICA6OmFmdGVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7IC8vIDFcbiAgICB2ZXJ0aWNhbC1hbGlnbjogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICAvLyAyLiBCcmVha3Mgd29yZHMgdG8gcHJldmVudCBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICAvLyAzLiBVc2UgYSA0LXNwYWNlIHRhYiB3aWR0aCBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICAvLyA0LiBSZW1vdmUgdGhlIGdyZXkgaGlnaGxpZ2h0IG9uIGxpbmtzIGluIGlPUyAob3BpbmlvbmF0ZWQpXG4gIC8vIDUuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TXG4gIDp3aGVyZSg6cm9vdCksXG4gIDp3aGVyZSg6aG9zdCkge1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIDRcbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDVcbiAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA1XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCk7IC8vIDFcbiAgICBmb250LWZhbWlseTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5KTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH10ZXh0LXVuZGVybGluZS1vZmZzZXQpO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDsgLy8gMlxuICAgIHRhYi1zaXplOiA0OyAvLyAzXG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2xhbmRtYXJrc1wiKSB7XG4gIC8qKlxuICAgKiBMYW5kbWFya3NcbiAgICovXG5cbiAgLy8gUmVib290IGJhc2VkIG9uIDpcbiAgLy8gLSBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gMS4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgYm9keSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyAvLyAxXG4gIH1cblxuICAvLyBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRVxuICBtYWluIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIFBpY29cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gI3skc2VtYW50aWMtcm9vdC1lbGVtZW50fSB7XG4gICAgPiBoZWFkZXIsXG4gICAgPiBtYWluLFxuICAgID4gZm9vdGVyIHtcbiAgICAgIC8vIDxoZWFkZXI+LCA8bWFpbj4sIDxmb290ZXI+IGFzIGNvbnRhaW5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXNlbWFudGljLWNvbnRhaW5lciB7XG4gICAgICAgICRmaXJzdC1icmVha3BvaW50OiB0cnVlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpXG4gICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCk7XG5cbiAgICAgICAgQGlmICRlbmFibGUtdmlld3BvcnQge1xuICAgICAgICAgIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgIEBpZiAkdmFsdWVzIHtcbiAgICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJHZhbHVlcywgXCJicmVha3BvaW50XCIpKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAuZ2V0KCR2YWx1ZXMsIFwidmlld3BvcnRcIik7XG4gICAgICAgICAgICAgICAgQGlmICRmaXJzdC1icmVha3BvaW50IHtcbiAgICAgICAgICAgICAgICAgICRmaXJzdC1icmVha3BvaW50OiBmYWxzZTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFJlZ3VsYXIgdmVydGljYWwgc3BhY2luZ3MgZm9yIDxoZWFkZXI+LCA8bWFpbj4sIDxmb290ZXI+XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHBhZGRpbmctYmxvY2s6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L3NlY3Rpb25cIikge1xuICAvKipcbiAgICogU2VjdGlvblxuICAgKi9cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvY29udGFpbmVyXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAvKipcbiAgICogQ29udGFpbmVyXG4gICAqL1xuXG4gIC5jb250YWluZXIsXG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICAkZmlyc3QtYnJlYWtwb2ludDogdHJ1ZTtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCR2YWx1ZXMsIFwiYnJlYWtwb2ludFwiKSkge1xuICAgICAgICAgIG1heC13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcInZpZXdwb3J0XCIpO1xuICAgICAgICAgIEBpZiAkZmlyc3QtYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAkZmlyc3QtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvZ3JpZFwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgLyoqXG4gICAqIEdyaWRcbiAgICogTWluaW1hbCBncmlkIHN5c3RlbSB3aXRoIGF1dG8tbGF5b3V0IGNvbHVtbnNcbiAgICovXG5cbiAgLmdyaWQge1xuICAgIGdyaWQtY29sdW1uLWdhcDogdmFyKCN7JGNzcy12YXItcHJlZml4fWdyaWQtY29sdW1uLWdhcCk7XG4gICAgZ3JpZC1yb3ctZ2FwOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Z3JpZC1yb3ctZ2FwKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuXG4gICAgQGlmIG1hcC5nZXQoJGJyZWFrcG9pbnRzLCBcIm1kXCIpIHtcbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KG1hcC5nZXQoJGJyZWFrcG9pbnRzLCBcIm1kXCIpLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgwJSwgMWZyKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+ICoge1xuICAgICAgbWluLXdpZHRoOiAwOyAvLyBIQUNLIGZvciBjaGlsZHJlbiBpbiBvdmVyZmxvd1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvb3ZlcmZsb3ctYXV0b1wiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgLyoqXG4gICAqIE92ZXJmbG93IGF1dG9cbiAgICovXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSAub3ZlcmZsb3ctYXV0byB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC90eXBvZ3JhcGh5XCIpIHtcbiAgLyoqXG4gICAqIFR5cG9ncmFwaHlcbiAgICovXG5cbiAgLy8gUmVib290IGJhc2VkIG9uIDpcbiAgLy8gLSBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vyc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHN1YixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYWRkcmVzcyxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBibG9ja3F1b3RlLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRsLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG9sLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHAsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gcHJlLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRhYmxlLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHVsIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KTtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDEsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDMsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDQsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDUsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDYge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0KTtcbiAgICBmb250LWZhbWlseTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5KTtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDEge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aDEtY29sb3IpO1xuICB9XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDIge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aDItY29sb3IpO1xuICB9XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDMge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aDMtY29sb3IpO1xuICB9XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDQge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aDQtY29sb3IpO1xuICB9XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDUge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aDUtY29sb3IpO1xuICB9XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaDYge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aDYtY29sb3IpO1xuICB9XG5cbiAgLy8gTWFyZ2luLXRvcCBmb3IgaGVhZGluZ3MgYWZ0ZXIgYSBibG9ja1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9XG4gICAgOndoZXJlKGFydGljbGUsIGFkZHJlc3MsIGJsb2NrcXVvdGUsIGRsLCBmaWd1cmUsIGZvcm0sIG9sLCBwLCBwcmUsIHRhYmxlLCB1bCkge1xuICAgIH4gOmlzKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdG9wKTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG4gIH1cblxuICAvLyBIZWFkaW5nIGdyb3VwXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaGdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcblxuICAgID4gKiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICA+ICo6bm90KDpmaXJzdC1jaGlsZCk6bGFzdC1jaGlsZCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiB1bnNldDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBMaXN0c1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShvbCwgdWwpIHtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpICogMC4yNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFyZ2luLXRvcCBmb3IgbmVzdGVkIGxpc3RzXG4gIC8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIG9uIG5lc3RlZCBsaXN0cyBpbiBDaHJvbWUsIEVkZ2UsIElFLCBhbmQgU2FmYXJpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGRsLCBvbCwgdWwpIDp3aGVyZShkbCwgb2wsIHVsKSB7XG4gICAgbWFyZ2luOiAwOyAvLyAxXG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuMjUpO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSB1bCBsaSB7XG4gICAgbGlzdC1zdHlsZTogc3F1YXJlO1xuICB9XG5cbiAgLy8gSGlnaGxpZ2h0ZWQgdGV4dFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG1hcmsge1xuICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW1hcmstYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tYXJrLWNvbG9yKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICAvLyBCbG9ja3F1b3RlXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYmxvY2txdW90ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAwO1xuICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItaW5saW5lLXN0YXJ0OiAwLjI1cmVtIHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLWlubGluZS1lbmQ6IG5vbmU7XG5cbiAgICBmb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSk7XG4gICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBBYmJyZXZpYXRpb25zXG4gIC8vIDEuIFJlbW92ZSB1bmRlcmxpbmUgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgLy8gMVxuICAgIGN1cnNvcjogaGVscDtcbiAgfVxuXG4gIC8vIEluc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucyB7XG4gICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pbnMtY29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIGRlbFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRlbCB7XG4gICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1kZWwtY29sb3IpO1xuICB9XG5cbiAgLy8gc2VsZWN0aW9uXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH10ZXh0LXNlbGVjdGlvbi1jb2xvcik7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9saW5rXCIpIHtcbiAgLyoqXG4gICAqIExpbmtcbiAgICovXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoYTpub3QoW3JvbGU9XCJidXR0b25cIl0pKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbcm9sZT1cImxpbmtcIl0ge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeSk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS11bmRlcmxpbmUpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3IpOyAvLyAxXG4gICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dGV4dC1kZWNvcmF0aW9uKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH11bmRlcmxpbmUpO1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xMjVlbTtcblxuICAgIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBjb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbiksXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbiksXG4gICAgICAgIGJveC1zaGFkb3cgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pO1xuICAgIH1cblxuICAgICY6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9XCJmYWxzZVwiXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci11bmRlcmxpbmUpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKSB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1mb2N1cyk7XG4gICAgfVxuXG4gICAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAvLyBTZWNvbmRhcnlcbiAgICAgICYuc2Vjb25kYXJ5IHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnkpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH11bmRlcmxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktdW5kZXJsaW5lKTtcblxuICAgICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyKTtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH11bmRlcmxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItdW5kZXJsaW5lKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBDb250cmFzdFxuICAgICAgJi5jb250cmFzdCB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH11bmRlcmxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC11bmRlcmxpbmUpO1xuXG4gICAgICAgICY6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9XCJmYWxzZVwiXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlcik7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItdW5kZXJsaW5lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYSB7XG4gICAgJltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9idXR0b25cIikge1xuICAvKipcbiAgICogQnV0dG9uXG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIG9uIGNvbnRyb2xzIGluIFNhZmFyaVxuICAvLyAzLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgLy8gM1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IC8vIDFcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBidXR0b25zIGluIGlPUyBhbmQgU2FmYXJpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYnV0dG9uLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwic3VibWl0XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmVzZXRcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJidXR0b25cIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICB9XG5cbiAgLy8gUGljb1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvbixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJlc2V0XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiYnV0dG9uXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZSk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWJ1dHRvbi1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgICBwYWRkaW5nOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpXG4gICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3cpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3JkZXItY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBjb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbiksXG4gICAgICAgIGJveC1zaGFkb3cgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pO1xuICAgIH1cblxuICAgICY6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9XCJmYWxzZVwiXSkpLFxuICAgICY6aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1ib3JkZXIpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogdmFyKFxuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdyxcbiAgICAgICAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKVxuICAgICAgKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1pbnZlcnNlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9XCJmYWxzZVwiXSkpOmZvY3VzIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6XG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksXG4gICAgICAgIDAgMCAwIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKSB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1mb2N1cyk7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJlc2V0XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gIH1cblxuICAvLyAuc2Vjb25kYXJ5LCAuY29udHJhc3QgJiAub3V0bGluZVxuICBAaWYgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAvLyBTZWNvbmRhcnlcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3JvbGU9XCJidXR0b25cIl0pLnNlY29uZGFyeSxcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmVzZXRcIl0sXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYm9yZGVyKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2UpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYm9yZGVyKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaW52ZXJzZSk7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pKTpmb2N1cyB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6XG4gICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSxcbiAgICAgICAgICAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aCkgdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1mb2N1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29udHJhc3RcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3JvbGU9XCJidXR0b25cIl0pLmNvbnRyYXN0IHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJvcmRlcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWludmVyc2UpO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItYmFja2dyb3VuZCk7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLWJvcmRlcik7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaW52ZXJzZSk7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pKTpmb2N1cyB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6XG4gICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSxcbiAgICAgICAgICAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aCkgdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWZvY3VzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdXRsaW5lIChwcmltYXJ5KVxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gOmlzKGJ1dHRvbiwgW3R5cGU9XCJzdWJtaXRcIl0sIFt0eXBlPVwiYnV0dG9uXCJdLCBbcm9sZT1cImJ1dHRvblwiXSkub3V0bGluZSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLm91dGxpbmUge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnkpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeSk7XG5cbiAgICAgICY6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9XCJmYWxzZVwiXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdXRsaW5lIChzZWNvbmRhcnkpXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgICAgOmlzKGJ1dHRvbiwgW3R5cGU9XCJzdWJtaXRcIl0sIFt0eXBlPVwiYnV0dG9uXCJdLCBbcm9sZT1cImJ1dHRvblwiXSkub3V0bGluZS5zZWNvbmRhcnksXG4gICAgW3R5cGU9XCJyZXNldFwiXS5vdXRsaW5lIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5KTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeSk7XG5cbiAgICAgICY6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9XCJmYWxzZVwiXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBPdXRsaW5lIChjb250cmFzdClcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9XG4gICAgICA6aXMoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFtyb2xlPVwiYnV0dG9uXCJdKS5vdXRsaW5lLmNvbnRyYXN0IHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QpO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXIpO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgLy8gU2Vjb25kYXJ5IGJ1dHRvbiB3aXRob3V0IC5jbGFzc1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyZXNldFwiXSxcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiZmlsZVwiXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24ge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ib3JkZXIpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaW52ZXJzZSk7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9XCJmYWxzZVwiXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1ib3JkZXIpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1pbnZlcnNlKTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6XG4gICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSxcbiAgICAgICAgICAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aCkgdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1mb2N1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnV0dG9uIFtkaXNhYmxlZF1cbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIDp3aGVyZShidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3JvbGU9XCJidXR0b25cIl0pW2Rpc2FibGVkXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIDp3aGVyZShmaWVsZHNldFtkaXNhYmxlZF0pXG4gICAgOmlzKGJ1dHRvbiwgW3R5cGU9XCJzdWJtaXRcIl0sIFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbcm9sZT1cImJ1dHRvblwiXSkge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L2VtYmVkZGVkXCIpIHtcbiAgLyoqXG4gICAqIEVtYmVkZGVkIGNvbnRlbnRcbiAgICovXG5cbiAgLy8gUmVib290IGJhc2VkIG9uIDpcbiAgLy8gLSBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gQ2hhbmdlIHRoZSBhbGlnbm1lbnQgb24gbWVkaWEgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoYXVkaW8sIGNhbnZhcywgaWZyYW1lLCBpbWcsIHN2ZywgdmlkZW8pIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS1cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhdWRpbyxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB2aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtN1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGJvcmRlciBvbiBpZnJhbWVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGlmcmFtZSkge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gIC8vIDIuIFJlc3BvbnNpdmUgYnkgZGVmYXVsdFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAyXG4gICAgaGVpZ2h0OiBhdXRvOyAvLyAyXG4gICAgYm9yZGVyLXN0eWxlOiBub25lOyAvLyAxXG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIGZpbGwgY29sb3IgdG8gbWF0Y2ggdGhlIHRleHQgY29sb3IgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoc3ZnOm5vdChbZmlsbF0pKSB7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUVcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdmc6bm90KDpyb290KSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdmc6bm90KDpob3N0KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L2ZpZ3VyZVwiKSB7XG4gIC8qKlxuICAgKiBGaWd1cmVcbiAgICovXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBmaWd1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgZmlnY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqIDAuNSkgMDtcbiAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L21pc2NcIikge1xuICAvKipcbiAgICogTWlzY1xuICAgKi9cblxuICAvLyBSZWJvb3QgYmFzZWQgb24gOlxuICAvLyAtIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuICAvLyAtIHNhbml0aXplLmNzcyB2MTMuMC4wIHwgQ0MwIDEuMCBVbml2ZXJzYWwgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzc1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBvZiBib3JkZXIgY29sb3IgaW4gRmlyZWZveFxuICAvLyAyLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaHIge1xuICAgIGhlaWdodDogMDsgLy8gMlxuICAgIG1hcmdpbjogdmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgIGNvbG9yOiBpbmhlcml0OyAvLyAxXG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMCtcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbaGlkZGVuXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZW1wbGF0ZSB7XG4gICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS1cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBjYW52YXMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9iYXNpY3NcIikge1xuICAvLyBIZWxwZXJcbiAgJGhlbHBlci1wcmV2aW91cy10YWdzOiBcImlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBmaWVsZHNldFwiO1xuICAvKipcbiAgICogQmFzaWNzIGZvcm0gZWxlbWVudHNcbiAgICovXG5cbiAgLy8gUmVib290IGJhc2VkIG9uIDpcbiAgLy8gLSBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnNcbiAgLy8gMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gb3B0Z3JvdXAsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc2VsZWN0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhIHtcbiAgICBtYXJnaW46IDA7IC8vIDJcbiAgICBmb250LXNpemU6IDFyZW07IC8vIDFcbiAgICBsaW5lLWhlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0KTsgLy8gMVxuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvLyAxXG4gICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc2VsZWN0IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUVcbiAgLy8gMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFXG4gIC8vIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgLy8gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsZWdlbmQge1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDNcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUVcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87IC8vIDFcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPU1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpXG4gIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG4gICAgZm9udDogaW5oZXJpdDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgb2YgZm9jdXMgb3V0bGluZXMgaW4gRmlyZWZveFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyAgUmVtb3ZlIHRoZSBmb2N1cyBvdXRsaW5lIGluIEZpcmVmb3hcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGFkZGl0aW9uYWwgOmludmFsaWQgc3R5bGVzIGluIEZpcmVmb3hcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6LW1vei11aS1pbnZhbGlkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSBpbmNvbnNpc3RlbnQgYXBwZWFyYW5jZSBpbiBJRSAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImZpbGVcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyYW5nZVwiXSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIEZvcmNlIGhlaWdodCBmb3IgYWx0ZXJuYXRpdmVzIGlucHV0IHR5cGVzXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0sIFt0eXBlPVwicmFuZ2VcIl0pIHtcbiAgICBoZWlnaHQ6IGNhbGMoXG4gICAgICAoMXJlbSAqIHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCkpICtcbiAgICAgICAgKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyKSArXG4gICAgICAgICh2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSAqIDIpXG4gICAgKTtcbiAgfVxuXG4gIC8vIEZpZWxkc2V0XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZmllbGRzZXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBMYWJlbCAmIGxlZ2VuZFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGxhYmVsLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAwLjM3NSk7XG4gICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWxhYmVsLWZvbnQtd2VpZ2h0LCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQpKTtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqIDAuNSk7XG4gIH1cblxuICAvLyBCbG9ja3MsIDEwMCVcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSksXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc2VsZWN0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFJlc2V0IGFwcGVhcmFuY2UgKE5vdCBDaGVja2JveGVzLCBSYWRpb3MsIFJhbmdlIGFuZCBGaWxlKVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdLCBbdHlwZT1cInJhbmdlXCJdLCBbdHlwZT1cImZpbGVcIl0pLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBwYWRkaW5nOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpXG4gICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIH1cblxuICAvLyBDb21tb25zIHN0eWxlc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodCk7XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgYm9yZGVyLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvLyBBY3RpdmUgJiBGb2N1c1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9XG4gICAgaW5wdXQ6bm90KFxuICAgICAgW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgICBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAgICAgW3R5cGU9XCJyYWRpb1wiXSxcbiAgICAgIFtyZWFkb25seV1cbiAgICApLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShzZWxlY3QsIHRleHRhcmVhKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICY6aXMoOmFjdGl2ZSwgOmZvY3VzKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvclxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBBY3RpdmUgJiBGb2N1c1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9XG4gICAgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3JvbGU9XCJzd2l0Y2hcIl0sIFtyZWFkb25seV0pLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShzZWxlY3QsIHRleHRhcmVhKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICY6aXMoOmFjdGl2ZSwgOmZvY3VzKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9jdXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIGlucHV0Om5vdChcbiAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgW3R5cGU9XCJyYW5nZVwiXSxcbiAgICAgIFt0eXBlPVwiZmlsZVwiXSxcbiAgICAgIFtyZWFkb25seV1cbiAgICApLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShzZWxlY3QsIHRleHRhcmVhKTpub3QoW3JlYWRvbmx5XSkge1xuICAgICY6Zm9jdXMge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogMFxuICAgICAgICAwXG4gICAgICAgIDBcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSlbZGlzYWJsZWRdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdFtkaXNhYmxlZF0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWFbZGlzYWJsZWRdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGxhYmVsW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9XG4gICAgOndoZXJlKGZpZWxkc2V0W2Rpc2FibGVkXSlcbiAgICA6aXMoaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSksIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgICBvcGFjaXR5OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWRpc2FibGVkLW9wYWNpdHkpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBBcmlhLWludmFsaWRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgICAmOm5vdChcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXSxcbiAgICAgICAgW3R5cGU9XCJkYXRlXCJdLFxuICAgICAgICBbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICAgICAgICBbdHlwZT1cIm1vbnRoXCJdLFxuICAgICAgICBbdHlwZT1cInRpbWVcIl0sXG4gICAgICAgIFt0eXBlPVwid2Vla1wiXSxcbiAgICAgICAgW3R5cGU9XCJyYW5nZVwiXVxuICAgICAgKSB7XG4gICAgICAmW2FyaWEtaW52YWxpZF0ge1xuICAgICAgICBAaWYgJGVuYWJsZS1pbXBvcnRhbnQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW1cbiAgICAgICAgICApICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyhcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbVxuICAgICAgICAgICkgIWltcG9ydGFudDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSk7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNzVyZW07XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdOm5vdChzZWxlY3QpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tdmFsaWQpO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl06bm90KHNlbGVjdCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1pbnZhbGlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xuXG4gICAgICAmOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICBAaWYgJGVuYWJsZS1pbXBvcnRhbnQge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKFxuICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3JcbiAgICAgICAgICApICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOm5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSB7XG4gICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OiAwXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aClcbiAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKFxuICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3JcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgJjpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xuXG4gICAgICAmOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICBAaWYgJGVuYWJsZS1pbXBvcnRhbnQge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKFxuICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICAgICAgICkgIWltcG9ydGFudDtcblxuICAgICAgICAgICY6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pIHtcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3JcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgJjpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgICAgICY6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pIHtcbiAgICAgICAgJjppcyhbYXJpYS1pbnZhbGlkXSwgW2FyaWEtaW52YWxpZD1cInRydWVcIl0sIFthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSkge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBsZWZ0IDAuNzVyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQbGFjZWhvbGRlclxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0OjpwbGFjZWhvbGRlcixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc2VsZWN0OmludmFsaWQge1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gTWFyZ2luIGJvdHRvbSAoTm90IENoZWNrYm94ZXMgYW5kIFJhZGlvcylcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSksXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc2VsZWN0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gIH1cblxuICAvLyBTZWxlY3RcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3Qge1xuICAgIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAgICY6Oi1tcy1leHBhbmQge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpub3QoW211bHRpcGxlXSwgW3NpemVdKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pY29uLWNoZXZyb24pO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDAuNzVyZW07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuXG4gICAgJlttdWx0aXBsZV0ge1xuICAgICAgb3B0aW9uIHtcbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNlbGVjdGVkLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFtkaXI9XCJydGxcIl0ge1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gc2VsZWN0IHtcbiAgICAgICY6bm90KFttdWx0aXBsZV0sIFtzaXplXSkge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAwLjc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRleHRhcmVhXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG5cbiAgICAmW2FyaWEtaW52YWxpZF0ge1xuICAgICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi1oZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgKDFyZW0gKiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpKSArXG4gICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDIpICtcbiAgICAgICAgICAgICh2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSAqIDIpXG4gICAgICAgICk7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodCAwLjc1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1oZWlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9ncmlkXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAgICRoZWxwZXItcHJldmlvdXMtdGFnczogJGhlbHBlci1wcmV2aW91cy10YWdzICsgXCIsIC5ncmlkXCI7XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZSgjeyRoZWxwZXItcHJldmlvdXMtdGFnc30pIHtcbiAgICArIHNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqIC0wLjc1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcbiAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3IpO1xuICAgIH1cbiAgICAmW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICsgc21hbGwge1xuICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWlucy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICArIHNtYWxsIHtcbiAgICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1kZWwtY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgSW5wdXQgaW5zaWRlIGEgbGFiZWxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCB7XG4gICAgPiA6d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpICogMC4yNSk7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2NoZWNrYm94LXJhZGlvLXN3aXRjaFwiKSB7XG4gIC8qKlxuICAgKiBDaGVja2JveGVzLCBSYWRpb3MgYW5kIFN3aXRjaGVzXG4gICAqL1xuXG4gIC8vIExhYmVsc1xuICAvLyBOb3Qgd29ya2luZyBpbiBGaXJlZm94LCB3aGljaCBkb2Vzbid0IHN1cHBvcnQgdGhlIGA6aGFzKClgIHBzZXVkby1jbGFzc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGxhYmVsIHtcbiAgICAmOmhhcyhbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB3aWR0aDogMS4yNWVtO1xuICAgIGhlaWdodDogMS4yNWVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjEyNWVtO1xuICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAwLjVlbTtcbiAgICBib3JkZXItd2lkdGg6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjo6LW1zLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IC8vIHVuc3R5bGUgSUUgY2hlY2tib3hlc1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCxcbiAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICY6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pY29uLWNoZWNrYm94KTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMC43NWVtIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgICYgfiBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiAxZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2tib3hlc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICY6aW5kZXRlcm1pbmF0ZSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pY29uLW1pbnVzKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMC43NWVtIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJhZGlvc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgICY6Y2hlY2tlZCxcbiAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICY6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1pbnZlcnNlKTtcbiAgICAgIGJvcmRlci13aWR0aDogMC4zNWVtO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBTd2l0Y2hlc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1jb2xvcik7XG5cbiAgICAvLyBDb25maWdcbiAgICAkc3dpdGNoLWhlaWdodDogMS4yNWVtO1xuICAgICRzd2l0Y2gtd2lkdGg6IDIuMjVlbTtcbiAgICAkc3dpdGNoLXRyYW5zaXRpb246IDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAvLyBTdHlsZXNcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAgICY6bm90KFthcmlhLWludmFsaWRdKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhc3BlY3QtcmF0aW86IDE7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fXN3aXRjaC10aHVtYi1ib3gtc2hhZG93KTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luICRzd2l0Y2gtdHJhbnNpdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYygjeyRzd2l0Y2gtd2lkdGh9IC0gI3skc3dpdGNoLWhlaWdodH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFyaWEtaW52YWxpZFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJjaGVja2JveFwiXVtyb2xlPVwic3dpdGNoXCJdIHtcbiAgICAmW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICY6Y2hlY2tlZCxcbiAgICAgICY6Y2hlY2tlZDphY3RpdmUsXG4gICAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICAgICY6Y2hlY2tlZCxcbiAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICY6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoXG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFkaW9cIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJjaGVja2JveFwiXVtyb2xlPVwic3dpdGNoXCJdIHtcbiAgICAmW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICY6Y2hlY2tlZCxcbiAgICAgICY6Y2hlY2tlZDphY3RpdmUsXG4gICAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpjaGVja2VkLFxuICAgICY6Y2hlY2tlZDphY3RpdmUsXG4gICAgJjpjaGVja2VkOmZvY3VzIHtcbiAgICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2lucHV0LXNlYXJjaFwiKSB7XG4gIC8qKlxuICAgKiBJbnB1dCB0eXBlIHNlYXJjaFxuICAgKi9cblxuICAvLyA6bm90KCkgYXJlIG5lZWRlZCB0byBhZGQgU3BlY2lmaWNpdHkgYW5kIGF2b2lkICFpbXBvcnRhbnQgb24gcGFkZGluZ1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdLCBbdHlwZT1cInJhbmdlXCJdLCBbdHlwZT1cImZpbGVcIl0pIHtcbiAgICAmW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS43NXJlbSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1zZWFyY2gpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyXG4gICAgICAgIGxlZnRcbiAgICAgICAgY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAwLjEyNXJlbSk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICZbYXJpYS1pbnZhbGlkXSB7XG4gICAgICAgIEBpZiAkZW5hYmxlLWltcG9ydGFudCB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjc1cmVtXG4gICAgICAgICAgKSAhaW1wb3J0YW50O1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyhcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNzVyZW1cbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246XG4gICAgICAgICAgY2VudGVyIGxlZnQgMS4xMjVyZW0sXG4gICAgICAgICAgY2VudGVyIHJpZ2h0IDAuNzVyZW07XG4gICAgICB9XG5cbiAgICAgICZbYXJpYS1pbnZhbGlkPVwiZmFsc2VcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1zZWFyY2gpLCB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi12YWxpZCk7XG4gICAgICB9XG5cbiAgICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pY29uLXNlYXJjaCksIHZhcigjeyRjc3MtdmFyLXByZWZpeH1pY29uLWludmFsaWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFtkaXI9XCJydGxcIl0ge1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGlucHV0KSB7XG4gICAgICAmOm5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdLCBbdHlwZT1cInJhbmdlXCJdLCBbdHlwZT1cImZpbGVcIl0pIHtcbiAgICAgICAgJlt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMS4xMjVyZW07XG5cbiAgICAgICAgICAmW2FyaWEtaW52YWxpZF0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgICAgICAgICAgY2VudGVyIHJpZ2h0IDEuMTI1cmVtLFxuICAgICAgICAgICAgICBjZW50ZXIgbGVmdCAwLjc1cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2FjY29yZGlvblwiKSB7XG4gIC8qKlxuICAgKiBBY2NvcmRpb24gKDxkZXRhaWxzPilcbiAgICovXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoW3JvbGVdKSB7XG4gICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWNsb3NlLXN1bW1hcnktY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNldCBtYXJrZXJcbiAgICAgICY6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjptYXJrZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjotbW96LWxpc3QtYnVsbGV0IHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgfVxuXG4gICAgICAvLyBNYXJrZXJcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcsIDFyZW0pICogMC41KTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGV2cm9uKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgY29udGVudDogXCJcIjtcblxuICAgICAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOm5vdChbcm9sZV0pIHtcbiAgICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgJjpub3QoW3JvbGVdKSB7XG4gICAgICAgICAgb3V0bGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpIHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzKTtcbiAgICAgICAgICBvdXRsaW5lLW9mZnNldDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZywgMXJlbSkgKiAwLjUpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVHlwZSBidXR0b25cbiAgICAgICZbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgIC8vIE1hcmtlclxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQsIDEuNSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3BlblxuICAgICZbb3Blbl0ge1xuICAgICAgPiBzdW1tYXJ5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuXG4gICAgICAgICY6bm90KFtyb2xlXSkge1xuICAgICAgICAgICY6bm90KDpmb2N1cykge1xuICAgICAgICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1hY2NvcmRpb24tb3Blbi1zdW1tYXJ5LWNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGlyPVwicnRsXCJdIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRldGFpbHMge1xuICAgICAgc3VtbWFyeSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2NhcmRcIikge1xuICAvKipcbiAgICogQ2FyZCAoPGFydGljbGU+KVxuICAgKi9cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGFydGljbGUge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgICBwYWRkaW5nOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbClcbiAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1ib3gtc2hhZG93KTtcblxuICAgID4gaGVhZGVyLFxuICAgID4gZm9vdGVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjY2KVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4gICAgPiBoZWFkZXIge1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgICBib3JkZXItYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKVxuICAgICAgICBzb2xpZFxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IGZvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKTtcbiAgICAgIGJvcmRlci10b3A6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpXG4gICAgICAgIHNvbGlkXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJvcmRlci1jb2xvcik7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAvKipcbiAgICogRHJvcGRvd24gKGRldGFpbHMuZHJvcGRvd24pXG4gICAqL1xuXG4gIC8vIENvbnRhaW5lclxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcblxuICAgIC8vIE1hcmtlclxuICAgIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAgID4gc3VtbWFyeSxcbiAgICA+IGJ1dHRvbixcbiAgICA+IGEge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgIGhlaWdodDogY2FsYygxcmVtICogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0LCAxLjUpKTtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMC4yNXJlbTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAvLyBUT0RPOiBmaW5kIG91dCB3aHkgd2UgbmVlZCB0aGlzIG1hZ2ljIG51bWJlciAoMC4yIHJlbSlcbiAgICAgICAgLy8gZm9yIHRoZSBtYXJrZXIgdG8gYmUgYWxpZ25lZCB3aXRoIHRoZSByZWd1bGFyIHNlbGVjdFxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKSB0cmFuc2xhdGVYKDAuMnJlbSk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pY29uLWNoZXZyb24pO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbnRhaW5lciB0eXBlIGFjY29yZGlvblxuICAvLyBpbnNpZGUgYSBuYXZcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbmF2IGRldGFpbHMuZHJvcGRvd24ge1xuICAgIC8vIE92ZXJyaWRlIGhlaWdodFxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBCdXR0b24gYXMgYSBzZWxlY3RcbiAgLy8gaW5zaWRlIGNvbnRhaW5lciB0eXBlIGFjY29yZGlvblxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKSB7XG4gICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgMXJlbSAqXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCkgK1xuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICpcbiAgICAgICAgMiArXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpICpcbiAgICAgICAgMlxuICAgICk7XG4gICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgIGJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aClcbiAgICAgIHNvbGlkXG4gICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtcGxhY2Vob2xkZXItY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIGJhY2tncm91bmQtY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3JkZXItY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBjb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbiksXG4gICAgICAgIGJveC1zaGFkb3cgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiAwXG4gICAgICAgIDBcbiAgICAgICAgMFxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aClcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcik7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgZm9jdXMgdmlzaWJsZSBmcm9tIGFjY29yZGlvbiBjb21wb25lbnRcbiAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBBcmlhLWludmFsaWRcbiAgICAmW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvclxuICAgICAgKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvclxuICAgICAgKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKFxuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3JcbiAgICAgICk7XG4gICAgfVxuXG4gICAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yXG4gICAgICApO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3JcbiAgICAgICk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcihcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3JcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gRHJvcGRvd24gaW5zaWRlIGEgbmF2XG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG5hdiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKSAwO1xuXG4gICAgPiBzdW1tYXJ5IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWCgwcmVtKTtcbiAgICAgIH1cblxuICAgICAgJjpub3QoW3JvbGVdKSB7XG4gICAgICAgIC8vIE92ZXJyaWRlIGhlaWdodFxuICAgICAgICBoZWlnaHQ6IGNhbGMoXG4gICAgICAgICAgKDFyZW0gKiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpKSArXG4gICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpICogMilcbiAgICAgICAgKTtcbiAgICAgICAgcGFkZGluZzogY2FsYyhcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAtXG4gICAgICAgICAgICAgICh2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSAqIDIpXG4gICAgICAgICAgKVxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xuXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMFxuICAgICAgICAgICAgMFxuICAgICAgICAgICAgMFxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1mb2N1cyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWJtZW51XG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgei1pbmRleDogOTk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IGZpdC1jb250ZW50O1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJveC1zaGFkb3cpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tY29sb3IpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICAgIHRyYW5zaXRpb246XG4gICAgICAgIG9wYWNpdHkgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICB0cmFuc2Zvcm0gMHMgZWFzZS1pbi1vdXQgMXM7XG4gICAgfVxuXG4gICAgJltkaXI9XCJydGxcIl0ge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSlcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogLTAuNSlcbiAgICAgICAgICBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KVxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1jb2xvcik7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6Zm9jdXMtdmlzaWJsZSxcbiAgICAgICAgJlthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLy8gTm90IHdvcmtpbmcgaW4gRmlyZWZveCwgd2hpY2ggZG9lc24ndCBzdXBwb3J0IHRoZSBgOmhhcygpYCBwc2V1ZG8tY2xhc3NcbiAgICAgICY6aGFzKGxhYmVsKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCdXR0b24gb3BlbmVkXG4gIC8vIGluc2lkZSBjb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscy5kcm9wZG93bltvcGVuXSA+IHN1bW1hcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBNZW51IG9wZW5lZFxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgLy8gMS4gSW5zaWRlIGNvbnRhaW5lciB0eXBlIGFjY29yZGlvblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5IHtcbiAgICArIHVsIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgIG9wYWNpdHkgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICAgIHRyYW5zZm9ybSAwcyBlYXNlLWluLW91dCAwcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDbG9zZSBmb3IgZHJvcGRvd25cbiAgLy8gaW5zaWRlIGNvbnRhaW5lciB0eXBlIGFjY29yZGlvblxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzLmRyb3Bkb3duW29wZW5dID4gc3VtbWFyeSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBpbnNldDogMDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbiAgfVxuICAvLyBMYWJlbFxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCA+IGRldGFpbHMuZHJvcGRvd24ge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpICogMC4yNSk7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9ncm91cFwiKSB7XG4gIC8qKlxuICAgKiBHcm91cCAoW3JvbGU9XCJncm91cFwiXSwgW3JvbGU9XCJzZWFyY2hcIl0pXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3JvbGU9XCJzZWFyY2hcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3JvbGU9XCJncm91cFwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbik7XG5cbiAgICA+ICosXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAgIHNlbGVjdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgIH1cblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbcm9sZT1cImJ1dHRvblwiXSxcbiAgICBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSksXG4gICAgc2VsZWN0IHtcbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSAqIC0xKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICBAc3VwcG9ydHMgc2VsZWN0b3IoOmhhcygqKSkge1xuICAgICAgLy8gR3JvdXAgYm94IHNoYWRvdyB3aGVuIGEgYnV0dG9uIGlzIGZvY3VzZWRcbiAgICAgICY6aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9XCJzdWJtaXRcIl06Zm9jdXMsIFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLCBbcm9sZT1cImJ1dHRvblwiXTpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93OiB2YXIoXG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWJ1dHRvblxuICAgICAgICApO1xuXG4gICAgICAgIGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSxcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEdyb3VwIGJveCBzaGFkb3cgd2hlbiBhbiBpbnB1dCBpcyBmb2N1c2VkXG4gICAgICAmOmhhcyhpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0sIFt0eXBlPVwiYnV0dG9uXCJdKTpmb2N1cywgc2VsZWN0OmZvY3VzKSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3c6IHZhcihcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtaW5wdXRcbiAgICAgICAgKTtcblxuICAgICAgICAvLyBBZGFwdCBib3ggc2hhZG93IGZvciBidXR0b25zXG4gICAgICAgIGJ1dHRvbixcbiAgICAgICAgW3R5cGU9XCJzdWJtaXRcIl0sXG4gICAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgICBbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ib3JkZXIpO1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93OiAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItYm9yZGVyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgYnV0dG9uIGJveCBzaGFkb3cgaWYgd2UgaGF2ZSBhIGdyb3VwIGJveCBzaGFkb3dcbiAgICAgIGJ1dHRvbixcbiAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbcm9sZT1cInNlYXJjaFwiXSB7XG4gICAgPiAqIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cmVtO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbmF2XCIpIHtcbiAgLyoqXG4gICAqIE5hdlxuICAgKi9cblxuICAvLyBSZWJvb3QgYmFzZWQgb24gOlxuICAvLyAtIHNhbml0aXplLmNzcyB2MTMuMC4wIHwgQ0MwIDEuMCBVbml2ZXJzYWwgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzc1xuXG4gIC8vIFByZXZlbnQgVm9pY2VPdmVyIGZyb20gaWdub3JpbmcgbGlzdCBzZW1hbnRpY3MgaW4gU2FmYXJpIChvcGluaW9uYXRlZClcbiAgOndoZXJlKG5hdiBsaSk6OmJlZm9yZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29udGVudDogXCJcXDIwMEJcIjtcbiAgfVxuXG4gIC8vIFBpY29cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBuYXYsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbmF2IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBuYXYge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgIG9sLFxuICAgIHVsIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICAgICAgfVxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuXG4gICAgICA6d2hlcmUoYSwgW3JvbGU9XCJsaW5rXCJdKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKVxuICAgICAgICAgIGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICAgJjpub3QoOmhvdmVyKSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE1pbmltYWwgc3VwcG9ydCBmb3IgYnV0dG9ucyBhbmQgZm9ybXMgZWxlbWVudHNcbiAgICAgIGJ1dHRvbixcbiAgICAgIFtyb2xlPVwiYnV0dG9uXCJdLFxuICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSwgW3R5cGU9XCJyYW5nZVwiXSwgW3R5cGU9XCJmaWxlXCJdKSxcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBpbmhlcml0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogY2FsYyhcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAtXG4gICAgICAgICAgICAgICh2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSAqIDIpXG4gICAgICAgICAgKVxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJyZWFkY3J1bWJcbiAgICAmW2FyaWEtbGFiZWw9XCJicmVhZGNydW1iXCJdIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuXG4gICAgICAmIHVsIGxpIHtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBtYXJnaW46IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpICogLTEpIDA7XG4gICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCkgKiA0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICAgICAgICAgICAgY29udGVudDogdmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1icmVhZGNydW1iLWRpdmlkZXIpO1xuICAgICAgICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNaW5pbWFsIHN1cHBvcnQgZm9yIGFyaWEtY3VycmVudFxuICAgICAgJiBhW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9XCJmYWxzZVwiXSkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgTmF2XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYXNpZGUge1xuICAgIG5hdixcbiAgICBvbCxcbiAgICB1bCxcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSlcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLy8gTWluaW1hbCBzdXBwb3J0IGZvciBsaW5rcyBhcyBidXR0b25zXG4gICAgICBbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgICAgIG1hcmdpbjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBCcmVhZGNydW1iIFJUTFxuICBbZGlyPVwicnRsXCJdIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IG5hdiB7XG4gICAgICAmW2FyaWEtbGFiZWw9XCJicmVhZGNydW1iXCJdIHtcbiAgICAgICAgJiB1bCBsaSB7XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIDo6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlxcXFxcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwidXRpbGl0aWVzL2FjY2Vzc2liaWxpdHlcIikge1xuICAvKipcbiAgICogQWNjZXNzaWJpbGl0eSAmIFVzZXIgaW50ZXJhY3Rpb25cbiAgICovXG5cbiAgLy8gQmFzZWQgb24gOlxuICAvLyAtIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuICAvLyAtIHNhbml0aXplLmNzcyB2MTMuMC4wIHwgQ0MwIDEuMCBVbml2ZXJzYWwgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzc1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyBBY2Nlc3NpYmlsaXR5XG5cbiAgLy8gQ2hhbmdlIHRoZSBjdXJzb3Igb24gY29udHJvbCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFthcmlhLWNvbnRyb2xzXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSBjdXJzb3Igb24gZGlzYWJsZWQsIG5vdC1lZGl0YWJsZSwgb3Igb3RoZXJ3aXNlIGlub3BlcmFibGUgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFthcmlhLWhpZGRlbj1cImZhbHNlXCJdW2hpZGRlbl0ge1xuICAgIGRpc3BsYXk6IGluaXRpYWw7XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFthcmlhLWhpZGRlbj1cImZhbHNlXCJdW2hpZGRlbl06bm90KDpmb2N1cykge1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICB9XG5cbiAgLy8gVXNlciBpbnRlcmFjdGlvblxuICAvLyBSZW1vdmUgdGhlIHRhcHBpbmcgZGVsYXkgaW4gSUUgMTBcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGFyZWEsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYnV0dG9uLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGxhYmVsLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdW1tYXJ5LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0YWJpbmRleF0ge1xuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC8vIFBpY29cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbZGlyPVwicnRsXCJdIHtcbiAgICBkaXJlY3Rpb246IHJ0bDtcbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJ1dGlsaXRpZXMvcmVkdWNlLW1vdGlvblwiKSBhbmQgZW5hYmxlLXRyYW5zaXRpb25zIGFuZCBlbmFibGUtaW1wb3J0YW50IHtcbiAgLyoqXG4gICAqIFJlZHVjZSBNb3Rpb24gRmVhdHVyZXNcbiAgICovXG5cbiAgLy8gQmFzZWQgb24gOlxuICAvLyAtIHNhbml0aXplLmNzcyB2MTMuMC4wIHwgQ0MwIDEuMCBVbml2ZXJzYWwgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzc1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyAxLiBSZW1vdmUgYW5pbWF0aW9ucyB3aGVuIG1vdGlvbiBpcyByZWR1Y2VkIChvcGluaW9uYXRlZClcbiAgLy8gMi4gUmVtb3ZlIGZpeGVkIGJhY2tncm91bmQgYXR0YWNobWVudHMgd2hlbiBtb3Rpb24gaXMgcmVkdWNlZCAob3BpbmlvbmF0ZWQpXG4gIC8vIDMuIFJlbW92ZSB0aW1lZCBzY3JvbGxpbmcgYmVoYXZpb3JzIHdoZW4gbW90aW9uIGlzIHJlZHVjZWQgKG9waW5pb25hdGVkKVxuICAvLyA0LiBSZW1vdmUgdHJhbnNpdGlvbnMgd2hlbiBtb3Rpb24gaXMgcmVkdWNlZCAob3BpbmlvbmF0ZWQpXG4gIEBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSAqOm5vdChbYXJpYS1idXN5PVwidHJ1ZVwiXSksXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSA6bm90KFthcmlhLWJ1c3k9XCJ0cnVlXCJdKTo6YmVmb3JlLFxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gOm5vdChbYXJpYS1idXN5PVwidHJ1ZVwiXSk6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogaW5pdGlhbCAhaW1wb3J0YW50OyAvLyAyXG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50OyAvLyAxXG4gICAgICBhbmltYXRpb24tZGVsYXk6IC0xbXMgIWltcG9ydGFudDsgLy8gMVxuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50OyAvLyAxXG4gICAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDsgLy8gM1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHMgIWltcG9ydGFudDsgLy8gNFxuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMHMgIWltcG9ydGFudDsgLy8gNFxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSAnY29uZmlncy92YXJpYWJsZXMnIGFzICo7XG5cbi8vIFRlbWEgU29saXRvXG5bZGF0YS10aGVtZT1cImxpZ2h0XCJdLFxuOnJvb3Q6bm90KFtkYXRhLXRoZW1lPVwiZGFya1wiXSkge1xuXG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tdC1iYWNrZ3JvdW5kLWNvbG9yLCAjeyRtdC1iYWNrZ3JvdW5kLWNvbG9yfSk7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tbXQtY29sb3IsICN7JG10LWNvbG9yfSk7XG4gIC0tcGljby10ZXh0LXNlbGVjdGlvbi1jb2xvcjogcmdiYSgyLCAxNTQsIDIzMiwgMC4yNSk7XG5cbiAgLS1waWNvLW11dGVkLWNvbG9yOiAjNjQ2Yjc5O1xuICAtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yOiByZ2IoMjMxLCAyMzQsIDIzOS41KTtcblxuICAtLXBpY28tcHJpbWFyeTogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgI3skbXQtcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLCAjeyRtdC1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXByaW1hcnktY29sb3ItZGFya2VuLCAjeyRtdC1wcmltYXJ5LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXByaW1hcnktY29sb3IsICN7JG10LXByaW1hcnktY29sb3J9KTtcbiAgLS1waWNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLCAjeyRtdC1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtcHJpbWFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXByaW1hcnktY29sb3ItbGlnaHRlbn0pO1xuICAtLXBpY28tcHJpbWFyeS1mb2N1czogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1saWdodGVuLCAjeyRtdC1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXByaW1hcnktaW52ZXJzZTogdmFyKC0tbXQtcHJpbWFyeS1pbnZlcnNlLWNvbG9yLCAjeyRtdC1wcmltYXJ5LWludmVyc2UtY29sb3J9KTtcblxuICAtLXBpY28tc2Vjb25kYXJ5OiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICN7JG10LXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQ6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvciwgI3skbXQtc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLCAjeyRtdC1zZWNvbmRhcnktY29sb3J9KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ib3JkZXI6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvciwgI3skbXQtc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXI6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1kYXJrZW4sICN7JG10LXNlY29uZGFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1saWdodGVuLCAjeyRtdC1zZWNvbmRhcnktY29sb3ItbGlnaHRlbn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWZvY3VzOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgI3skbXQtc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlOiB2YXIoLS1tdC1zZWNvbmRhcnktaW52ZXJzZS1jb2xvciwgI3skbXQtc2Vjb25kYXJ5LWludmVyc2UtY29sb3J9KTtcblxuICAtLXBpY28tY29udHJhc3Q6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjeyRtdC1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZDogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICN7JG10LWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvci1kYXJrZW4sICN7JG10LWNvbnRyYXN0LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvciwgI3skbXQtY29udHJhc3QtY29sb3J9KTtcbiAgLS1waWNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICN7JG10LWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1ob3ZlcjogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItZGFya2VuLCAjeyRtdC1jb250cmFzdC1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItbGlnaHRlbiwgI3skbXQtY29udHJhc3QtY29sb3ItbGlnaHRlbn0pO1xuICAtLXBpY28tY29udHJhc3QtZm9jdXM6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sICN7JG10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWludmVyc2U6IHZhcigtLW10LWNvbnRyYXN0LWludmVyc2UtY29sb3IsICN7JG10LWNvbnRyYXN0LWludmVyc2UtY29sb3J9KTtcblxuICAtLXBpY28tZm9udC1mYW1pbHk6IHZhcigtLW10LWZvbnQtZmFtaWx5LCAjeyRtdC1mb250LWZhbWlseX0pO1xuICAtLXBpY28tZm9udC1zaXplOiB2YXIoLS1tdC1mb250LXNpemUsICN7JG10LWZvbnQtc2l6ZX0pO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IHZhcigtLW10LWxpbmUtaGVpZ2h0LCAjeyRtdC1saW5lLWhlaWdodH0pO1xuICAtLXBpY28tZm9udC13ZWlnaHQ6IHZhcigtLW10LWZvbnQtd2VpZ2h0LCAjeyRtdC1mb250LXdlaWdodH0pO1xuICAtLXBpY28taGVhZGluZy1mb250LXdlaWdodDogdmFyKC0tbXQtaGVhZGluZy1mb250LXdlaWdodCwgI3skbXQtaGVhZGluZy1mb250LXdlaWdodH0pO1xuICAtLXBpY28tbGV0dGVyLXNwYWNpbmc6IHZhcigtLW10LWxldHRlci1zcGFjaW5nLCAjeyRtdC1sZXR0ZXItc3BhY2luZ30pO1xuXG4gIC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsOiAxLjVyZW07XG5cbn1cblxuLy8gVGVtYSBEYXJrXG5bZGF0YS10aGVtZT1cImRhcmtcIl0sXG46cm9vdFtkYXRhLXRoZW1lPVwiZGFya1wiXSB7XG5cblxuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXQtdGRhcmstYmFja2dyb3VuZC1jb2xvciwgI3skbXQtdGRhcmstYmFja2dyb3VuZC1jb2xvcn0pO1xuICAtLXBpY28tY29sb3I6IHZhcigtLW10LXRkYXJrLWNvbG9yLCAjeyRtdC10ZGFyay1jb2xvcn0pO1xuICAtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3I6IHJnYmEoMiwgMTU0LCAyMzIsIDAuMjUpO1xuXG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogcmdiKDIzMSwgMjM0LCAyMzkuNSk7XG5cbiAgLS1waWNvLXByaW1hcnk6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3IsICN7JG10LXRkYXJrLXByaW1hcnktY29sb3J9KTtcbiAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgI3skbXQtdGRhcmstcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXRkYXJrLXByaW1hcnktY29sb3ItbGlnaHRlbn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3IsICN7JG10LXRkYXJrLXByaW1hcnktY29sb3J9KTtcbiAgLS1waWNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXRkYXJrLXByaW1hcnktY29sb3ItbGlnaHRlbn0pO1xuICAtLXBpY28tcHJpbWFyeS11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3ItZGFya2VuLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tcHJpbWFyeS1mb2N1czogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1kYXJrZW4sICN7JG10LXRkYXJrLXByaW1hcnktY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1wcmltYXJ5LWludmVyc2U6IHZhcigtLW10LXRkYXJrLXByaW1hcnktaW52ZXJzZS1jb2xvciwgI3skbXQtdGRhcmstcHJpbWFyeS1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLXNlY29uZGFyeTogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktY29sb3J9KTtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICN7JG10LXRkYXJrLXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1saWdodGVuLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktY29sb3J9KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ib3JkZXI6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXI6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1saWdodGVuLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWZvY3VzOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItZGFya2VuLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWludmVyc2UtY29sb3IsICN7JG10LXRkYXJrLXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLWNvbnRyYXN0OiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI3skbXQtdGRhcmstY29udHJhc3QtY29sb3J9KTtcbiAgLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAjeyRtdC10ZGFyay1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItbGlnaHRlbiwgI3skbXQtdGRhcmstY29udHJhc3QtY29sb3ItbGlnaHRlbn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI3skbXQtdGRhcmstY29udHJhc3QtY29sb3J9KTtcbiAgLS1waWNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1ob3ZlcjogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItbGlnaHRlbiwgI3skbXQtdGRhcmstY29udHJhc3QtY29sb3ItbGlnaHRlbn0pO1xuICAtLXBpY28tY29udHJhc3QtdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW4sICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tY29udHJhc3QtZm9jdXM6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWRhcmtlbiwgI3skbXQtdGRhcmstY29udHJhc3QtY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1pbnZlcnNlLWNvbG9yLCAjeyRtdC10ZGFyay1jb250cmFzdC1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLWZvbnQtZmFtaWx5OiB2YXIoLS1tdC1mb250LWZhbWlseSwgI3skbXQtZm9udC1mYW1pbHl9KTtcbiAgLS1waWNvLWZvbnQtc2l6ZTogdmFyKC0tbXQtZm9udC1zaXplLCAjeyRtdC1mb250LXNpemV9KTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiB2YXIoLS1tdC1saW5lLWhlaWdodCwgI3skbXQtbGluZS1oZWlnaHR9KTtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1mb250LXdlaWdodCwgI3skbXQtZm9udC13ZWlnaHR9KTtcbiAgLS1waWNvLWhlYWRpbmctZm9udC13ZWlnaHQ6IHZhcigtLW10LWhlYWRpbmctZm9udC13ZWlnaHQsICN7JG10LWhlYWRpbmctZm9udC13ZWlnaHR9KTtcbiAgLS1waWNvLWxldHRlci1zcGFjaW5nOiB2YXIoLS1tdC1sZXR0ZXItc3BhY2luZywgI3skbXQtbGV0dGVyLXNwYWNpbmd9KTtcblxuICAtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbDogMS41cmVtO1xuXG59XG5cbiIsIkB1c2UgJ2NvbmZpZ3MvdmFyaWFibGVzJyBhcyAqO1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1tdC1oZWFkaW5nLWZvbnQtZmFtaWx5LCAjeyRtdC1oZWFkaW5nLWZvbnQtZmFtaWx5fSk7XG59XG5cbnVsIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xufVxuXG5ibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn0iLCJodG1sIHtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIGJvZHkge1xuICAgICAgICBwYWRkaW5nLXRvcDogdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwcHgpO1xuICAgICAgICA+LnNpdGUtaGVhZGVyLFxuICAgICAgICA+LmhlYWRlci1uYXYtbWVudSxcbiAgICAgICAgPi5tYWluLWdyaWQsXG4gICAgICAgID4uc2l0ZS1mb290ZXIsXG4gICAgICAgID4udG9wLWdyaWQsXG4gICAgICAgID4ucHJlLW1haW4tY29udGVudCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgICAgIC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLFxuICAgICAgICAgICAgICAgIDFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvZ28tbGlnaHQsXG4ubG9nby1saWdodC1hbmQtZGFyayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5sb2dvLWRhcmsge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAubG9nby1saWdodCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuW2RhdGEtdGhlbWU9XCJkYXJrXCJdIC5sb2dvLWRhcmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4uYnJpZCAqW3JvbGU9XCJidXR0b25cIl0sXG4uYnJpZC1jbG9zZSAqW3JvbGU9XCJidXR0b25cIl0ge1xuICAgIGJhY2tncm91bmQ6IGluaXRpYWw7XG4gICAgYm9yZGVyOiBpbml0aWFsO1xufVxuXG4uYnJpZCAqW3JvbGU9XCJidXR0b25cIl06Zm9jdXMsXG4uYnJpZC1jbG9zZSAqW3JvbGU9XCJidXR0b25cIl06Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn0iLCJAdXNlICdjb25maWdzL3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG5cbmJvZHk+LnNpdGUtaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgaGVpZ2h0OiAkbXQtc2l0ZS1oZWFkZXItaGVpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gICAgei1pbmRleDogJG10LXppbmRleC1oZWFkZXI7XG5cbiAgICAmLmlzLXN0aWNreSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiB2YXIoLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG5cblxuICAgIC5oZWFkZXItbGVmdCxcbiAgICAuaGVhZGVyLXJpZ2h0IHtcbiAgICAgICAgd2lkdGg6ICRtdC1zaXRlLWhlYWRlci1oZWlnaHQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAuaGFtYnVyZ2VyLWljb24ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC03cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIC5oYW1idXJnZXItaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1saXZlLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBnYXA6IDNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX3BsYXkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxLjE1cmVtIHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuMXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9fbGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuXG4gICAgLmhlYWRlci1jZW50ZXIge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICA+YT5pbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNTBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ0cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgID5hIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuYm9keSA+IC5zaXRlLWZvb3RlciB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5mb290ZXItc2VwYXJhdG9yIHtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICB9XG5cbiAgICAuZm9vdGVyLWNvbHVtbnMge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAxLjUpO1xuICAgICAgICB9XG4gICAgICBcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICB9XG4gICAgICBcbiAgICAgICAgLmZvb3Rlci1jb2wge1xuICAgICAgICAgID4gc3Ryb25nIHtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICBcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIFxuICAgICAgICAgIC53M2MtbG9nbyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBcbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45NXJlbTtcbiAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC45NXJlbTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgXG4gICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgLmZvb3Rlci1jcmVkaXRzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSB2YXIoLS1waWNvLXNwYWNpbmcpO1xuXG4gICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJy4uLy4uL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvX3NldHRpbmdzLnNjc3MnIGFzIHBpY28tc2V0dGluZ3M7XG5AdXNlICdzYXNzOm1hcCc7XG5cbkBtaXhpbiBtZWRpYV9taW5fd2lkdGgoJHNpemUpIHtcbiAgQGlmIG1hcC5oYXMta2V5KHBpY28tc2V0dGluZ3MuJGJyZWFrcG9pbnRzLCAkc2l6ZSkge1xuICAgICRicDogbWFwLmdldChtYXAuZ2V0KHBpY28tc2V0dGluZ3MuJGJyZWFrcG9pbnRzLCAkc2l6ZSksICdicmVha3BvaW50Jyk7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRicCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAd2FybiBcIuKaoO+4jyBCcmVha3BvaW50IGAjeyRzaXplfWAgbm9uIHRyb3ZhdG8gaW4gUGljby5cIjtcbiAgfVxufVxuIiwiQHVzZSAnY29uZmlncy92YXJpYWJsZXMnIGFzICo7XG5cbmJvZHkuYWRtaW4tYmFyIHtcbiAgLnNpZGViYXItaGFtYnVyZ2VyIHtcbiAgICB0b3A6IDA7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjAwcHgpIHtcbiAgICAgIHRvcDogNDZweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzgycHgpIHtcbiAgICAgIHRvcDogMzJweDtcbiAgICB9XG4gIH1cbn1cblxuLnNpZGViYXItaGFtYnVyZ2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiA4NXZ3O1xuICBtYXgtd2lkdGg6IDU2MHB4O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHotaW5kZXg6ICRtdC16aW5kZXgtc2lkZWJhci1oYW1idXJnZXI7XG5cbiAgJi5vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAmLW92ZXJsYXkge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGluc2V0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB6LWluZGV4OiAxOTAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLnZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmLWxvZ28ge1xuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYtY2xvc2Uge1xuICAgIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRyb2xzIHtcbiAgICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAuZm9udC1zaXplLWNvbnRyb2xzIHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgICAgIDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGhlbWUtdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ2FwOiAwLjJyZW07XG5cbiAgICAgIGxhYmVsLFxuICAgICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1zZWFyY2gge1xuICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuXG4gICAgJj4qOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IC41cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjVyZW07XG4gICAgfVxuXG4gICAgJj4qOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IC41cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC41cmVtO1xuICAgIH1cbiAgfVxuXG4gICYtbWVudSB7XG4gICAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC5hY2NvcmRpb24ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuXG4gICAgICAmLXRvZ2dsZSxcbiAgICAgICYtbGluayB7XG4gICAgICAgIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSwgIzAwMCAyMCUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG5cbiAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNvbHVtbnMtMiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgICAgICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc29jaWFsLWxpbmtzIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMDBweCwgMWZyKSk7XG4gICAgICAgICAgICBnYXA6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDEuNSk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICBnYXA6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDMpO1xuXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgIGNvbG9yIC4ycyBlYXNlLFxuICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjJzIGVhc2U7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuXG4gICAgICAgICAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciAuc29jaWFsLWxpbmtzLWljb24ge1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgIHdpZHRoOiAyLjlyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuOXJlbTtcblxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjhyZW07XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICAgICAgdHJhbnNmb3JtIC4ycyBlYXNlLFxuICAgICAgICAgICAgICBvcGFjaXR5IC4ycyBlYXNlO1xuXG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICB3aWR0aDogMS40cmVtO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDEuNHJlbTtcblxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNvY2lhbC1saW5rcy1sYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cImZhY2Vib29rXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxODc3ZjI7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE4KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGFbZGF0YS1zb2NpYWw9XCJnb29nbGVcIl0ge1xuICAgICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y5ZjBmMDtcblxuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yMik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhW2RhdGEtc29jaWFsPVwieFwiXSB7XG4gICAgICAgICAgICAuc29jaWFsLWxpbmtzLWljb24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhW2RhdGEtc29jaWFsPVwiaW5zdGFncmFtXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6XG4gICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDEzNWRlZyxcbiAgICAgICAgICAgICAgICAgICM4MzNhYjQsXG4gICAgICAgICAgICAgICAgICAjZTEzMDZjLFxuICAgICAgICAgICAgICAgICAgI2ZkMWQxZCxcbiAgICAgICAgICAgICAgICAgICNmY2IwNDUpO1xuXG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGFbZGF0YS1zb2NpYWw9XCJ3aGF0c2FwcFwiXSB7XG4gICAgICAgICAgICAuc29jaWFsLWxpbmtzLWljb24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjVkMzY2O1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhW2RhdGEtc29jaWFsPVwidGVsZWdyYW1cIl0ge1xuICAgICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzIyOWVkOTtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cInRpa3Rva1wiXSB7XG4gICAgICAgICAgICAuc29jaWFsLWxpbmtzLWljb24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsXG4gICAgICAgICAgICAgICAgICAjMDAwIDAlLFxuICAgICAgICAgICAgICAgICAgIzExMSAxMDAlKTtcblxuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhW2RhdGEtc29jaWFsPVwibGlua2VkaW5cIl0ge1xuICAgICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzBhNjZjMjtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cInlvdXR1YmVcIl0ge1xuICAgICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmMDAwMDtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cImdvb2dsZV9uZXdzXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWYwZjA7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIyKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsImJvZHk+LmhlYWRlci1uYXYtbWVudSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMS4zMyk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcblxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDZweDtcbiAgfVxuICAmOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIH1cbiAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluO1xuICBzY3JvbGxiYXItY29sb3I6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4yKSB0cmFuc3BhcmVudDtcblxuICAubWVudS1zY3JvbGwtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuICAgICAgICBmb250LXNpemU6IC45NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMDFyZW07XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktaG92ZXIpO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jb250cmFzdCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLm1haW4tZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIDAgMCAwO1xuICBcbiAgICAmLndpdGgtc2lkZWJhciB7XG4gICAgICAgIGdhcDogMDtcbiAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzcwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gIH0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLnByZS1tYWluLWNvbnRlbnQge1xuICAgXG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMikgIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgXG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi50b3AtZ3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKi0xKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIDAgMCAwO1xuICAgIGdhcDogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAzNzBweDtcbiAgICB9XG5cbiAgICAudG9wLWNvbnRlbnQge1xuXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLXNpZGViYXIge1xuXG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgICAgICAgLTFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvciksXG4gICAgICAgICAgICAgICAgMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgIH1cblxufSIsIkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG4ubWFpbi1jb250ZW50IHtcblxuICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICBnYXA6IC4ycmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5oYXMtbG9nbyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDJweDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjRyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaDEtc3VidGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDByZW07XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAuOTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5oYXMtbG9nbykge1xuICAgICAgICAgICAgaDE6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLThweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICB9XG5cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLm1haW4tc2lkZWJhciB7XG5cbiAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgLTFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvciksXG4gICAgICAgICAgICAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgID4ud2lkZ2V0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAud2lkZ2V0Lm5rLWZlZWQtcmVhZGVyLWxpc3QtZmVlZC1ydWJyaWNhIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSB7XG5cbiAgICAgICAgYXJ0aWNsZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgYXV0bztcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKSB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpIDAgMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gMTA7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBvc3QtbWV0YSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDM7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmxhbmNpbyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IC43cmVtO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIC0xLjUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogLjdyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5mZWF0dXJlZCAucG9zdC1tZXRhIGgyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY29tcGFjdCAucG9zdC1tZXRhIGgyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCJAdXNlICdjb25maWdzL3ZhcmlhYmxlcycgYXMgKjtcbkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG4ud2lkZ2V0IHtcblxuICAgIC53aWRnZXQtdGl0bGUtaW1nLFxuICAgIC53aWRnZXQtdGl0bGUge1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG5cbiAgICAgICAgPmltZyxcbiAgICAgICAgPnNwYW4ge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICA+c3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgICAgO1xuICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMS41KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC53aWRnZXQtdGl0bGUtaW1nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAud2lkZ2V0LWZvb3RlciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuXG4gICAgICAgIGFbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAuNnJlbTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICfigLonO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIC0tcGljby1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpIDEwJSwgIzAwMCA5NSUpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRhaW5lci50b3AtZ3JpZCAudG9wLXNpZGViYXIgLndpZGdldDpsYXN0LWNoaWxkIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogY2FsYygkbXQtc2l0ZS1oZWFkZXItaGVpZ2h0ICsgdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwcHgpICsgMXJlbSk7XG59XG4iLCJcbkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG5ibG9ja3F1b3RlIHtcbiAgICBwYWRkaW5nOiAwIDAgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbkBrZXlmcmFtZXMgYmxpbmtlciB7XG41MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbn1cbn1cbi5jb21tZW50LWZvcm0tdXJsIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi53cC1jYXB0aW9uIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLndwLWNhcHRpb24gaW1nLFxuaW1nLnNpemUtZnVsbCxcbmltZy5zaXplLWxhcmdlLFxuaW1nLnNpemUtbWVkaXVtLFxuaW1nLnNpemUtdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG5pbWcsIFxuZmlndXJlLFxuZGl2LndwLWNhcHRpb24ge1xuICAgICYuYWxpZ25yaWdodCB7XG4gICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIG1hcmdpbjogLjJyZW0gYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtYXJnaW46IC4ycmVtIDAgdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuICAgICYuYWxpZ25sZWZ0IHtcbiAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICAgICAgbWFyZ2luOiAuMnJlbSBhdXRvIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IC4ycmVtIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfSAgIFxuICAgICYuYWxpZ25ub25lIHtcbiAgICAgICAgbWFyZ2luOiAuMnJlbSB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfSAgICBcbiAgICAmLmFsaWduY2VudGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgfVxufVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgICBmb250LXNpemU6IC44cmVtO1xuICAgIG1hcmdpbjowO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3dwYWRtaW5iYXIge1xuICAgIHotaW5kZXg6IDk5OTk5OTk7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG59XG5cbmlmcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufSIsIi5jb250YWluZXIuY29udGFpbmVyLWxkYjEge1xuICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgYm94LXNoYWRvdzogLTFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvciksIDFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG59XG5cblxuLm1haW4tc2lkZWJhciAud2lkZ2V0LW5rLWFkdi1wcmludDpub3QoOmhhcyg+ICo6bm90KDplbXB0eSkpKSB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5kaXZbaWRePWZseC1dIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOjAgYXV0bztcbn1cblxuZGl2W2lkXj1mbHhfbmVjcm9dIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAyKTtcbn1cblxuZGl2W2lkXj1mbHgtaW5pemlhdGl2ZV0ge1xuICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvIHZhcigtLXBpY28tc3BhY2luZykgYXV0bztcbn1cblxuZGl2W2lkXj1mbHgtaW5pemlhdGl2ZV06bm90KDpoYXMoPiAqOm5vdCg6ZW1wdHkpKSkgIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbmRpdltpZF49Zmx4LWluZmVlZF0ge1xuICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvIHZhcigtLXBpY28tc3BhY2luZykgYXV0bztcbn1cblxuZGl2W2lkXj1mbHgtaW5mZWVkXTpub3QoOmhhcyg+ICo6bm90KDplbXB0eSkpKSAge1xuICAgIG1hcmdpbjogMDtcbn0iLCIjb25lc2lnbmFsLXNsaWRlZG93bi1jb250YWluZXIuc2xpZGUtdXAsICNvbmVzaWduYWwtcG9wb3Zlci1jb250YWluZXIuc2xpZGUtdXAge1xuICAgIHotaW5kZXg6IDIxNDc0ODM2NDAgIWltcG9ydGFudDtcbn0iLCIuY2Fyb3VzZWwtY2FyZHMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgY29udGFpbmVyLW5hbWU6IGNhcm91c2VsLWNhcmRzO1xuXG4gICZfX3RyYWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5O1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmX19hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMzUlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC40NSk7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDRweCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnMgZWFzZSwgYmFja2dyb3VuZCAuMnMgZWFzZSwgdHJhbnNmb3JtIC4ycyBlYXNlO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG9wYWNpdHk6IC43NTtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgLjcpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC45Nik7XG4gICAgfVxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZmZmO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG5cbiAgICAmLS1wcmV2IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIC41cmVtIC41cmVtIDA7XG4gICAgfVxuXG4gICAgJi0tbmV4dCB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IC41cmVtIDAgMCAuNXJlbTtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDEuNHJlbTtcbiAgICAgIGhlaWdodDogMS40cmVtO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyIGNhcm91c2VsLWNhcmRzIChtaW4td2lkdGg6IDUyMHB4KSB7XG4gICAgJl9faXRlbSB7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKCgxMDAlIC0gdmFyKC0tcGljby1zcGFjaW5nKSkgLyAyKTtcbiAgICB9XG5cbiAgICAmX19hcnJvdyB7XG4gICAgICB3aWR0aDogMy4yNXJlbTtcbiAgICAgIGhlaWdodDogMy4yNXJlbTtcbiAgICB9XG4gIH1cblxuICBAY29udGFpbmVyIGNhcm91c2VsLWNhcmRzIChtaW4td2lkdGg6IDgyMHB4KSB7XG4gICAgJl9faXRlbSB7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKCgxMDAlIC0gKHZhcigtLXBpY28tc3BhY2luZykgKiAyKSkgLyAzKTtcbiAgICB9XG4gIH1cblxuICAmX19maWd1cmUge1xuICAgIGFzcGVjdC1yYXRpbzogMTYgLyAxMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJl9fbWV0YSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgJl9fY2F0IHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAxLjgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gICAgZm9udC1zaXplOiAuNjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAuOHJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjAycmVtO1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDUuNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgfVxuXG4gICZfX2xhbmNpbyB7XG4gICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICB9XG5cbiAgJl9faXRlbS12aWRlbyAmX19maWd1cmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAuNzVyZW07XG4gICAgcmlnaHQ6IC43NXJlbTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogMS4xcmVtIHNvbGlkICNmZmY7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgLjA4cmVtIHJnYmEoMCwgMCwgMCwgMSkpO1xuICB9XG5cbiAgJl9faXRlbS1nYWxsZXJ5ICZfX2ZpZ3VyZTo6YmVmb3JlLFxuICAmX19pdGVtLWdhbGxlcnkgJl9fZmlndXJlOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAuNXJlbTtcbiAgICByaWdodDogLjdyZW07XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IC45cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IC4xNXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAuMDhyZW0gcmdiYSgwLCAwLCAwLCAxKSk7XG4gICAgei1pbmRleDogMztcbiAgfVxuXG4gICZfX2l0ZW0tZ2FsbGVyeSAmX19maWd1cmU6OmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSguMnJlbSwgLS4ycmVtKTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgJl9faXRlbS1kaXJldHRhICZfX2ZpZ3VyZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIkxJVkVcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuMXJlbTtcbiAgICBsZWZ0OiAuMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZTUzZTNlO1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gICAgZm9udC1zaXplOiAuNjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIH1cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLm1vc2FpY28ge1xuICBkaXNwbGF5OiBncmlkO1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyAvLyBNb2JpbGU6IHVubyBzb3R0byBsJ2FsdHJvXG5cbiAgJl9faXRlbSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGZpZ3VyZSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDA7XG5cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IC8vIGZpbnRvIGNyb3BcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7IC8vIGNlbnRyYXRvXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi12aWRlbyB7XG4gICAgICBmaWd1cmU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxLjFyZW0gc29saWQgI2ZmZmZmZjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC43NXJlbTtcbiAgICAgICAgcmlnaHQ6IC43NXJlbTtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgLjA4cmVtIHJnYmEoMCwgMCwgMCwgMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtZ2FsbGVyeSB7XG5cbiAgICAgIGZpZ3VyZTpiZWZvcmUsXG4gICAgICBmaWd1cmU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLjVyZW07XG4gICAgICAgIHJpZ2h0OiAuN3JlbTtcbiAgICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjlyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4xNXJlbTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgLjA4cmVtIHJnYmEoMCwgMCwgMCwgMSkpO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgfVxuXG4gICAgICBmaWd1cmU6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSguMnJlbSwgLS4ycmVtKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRpcmV0dGEge1xuICAgICAgZmlndXJlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiTElWRVwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUzZTNlO1xuICAgICAgICB0b3A6IC4xcmVtO1xuICAgICAgICBsZWZ0OiAuMXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBhZGRpbmc6IDByZW0gY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLS1tYWluIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMjtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIGgyIHtcblxuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fbWV0YSB7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpLzIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgaW5zZXQ6IGF1dG8gMCAwIDA7XG4gICAgei1pbmRleDogMjtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICB9XG5cbiAgJl9fY2F0IHtcbiAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAzKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBsaW5lLWhlaWdodDogLjhyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMnJlbTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAmX19sYW5jaW8ge1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMCAuMTVyZW07XG4gIH1cblxuICAmLS0xIHtcbiAgICAubW9zYWljb19faXRlbS0tbWFpbiB7XG4gICAgICBmaWd1cmUge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tb3NhaWNvX19tZXRhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLTIge1xuICAgIC5tb3NhaWNvX19pdGVtLS1tYWluIHtcbiAgICAgIGZpZ3VyZSB7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5tb3NhaWNvX19pdGVtIHtcbiAgICAgIC5tb3NhaWNvX19tZXRhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIH1cbiAgfVxuXG4gICYtLW11bHRpIHtcblxuICAgIC5tb3NhaWNvX19pdGVtLS1tYWluIHtcbiAgICAgIC5tb3NhaWNvX19tZXRhIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMmZyKTtcblxuICAgICAgJj4ubW9zYWljb19faXRlbTpudGgtY2hpbGQoMSkge1xuICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgICAgICBncmlkLXJvdzogc3BhbiAyO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKG1kKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKGxnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAyZnIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aCh4bCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG4gIH1cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLnBvc3QtbGlzdC12ZXJ0aWNhbCB7XG5cbiAgIFxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1wcml2YXRlIHtcbiAgICAgICAgb3BhY2l0eTogLjc7XG4gICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICB9XG5cbiAgICAmX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX2NvbnRlbnQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3RodW1iIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgICAgIGZsZXg6IDAgMCAyMjBweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX2l0ZW0tZGlyZXR0YSB7XG4gICAgICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIkxJVkVcIjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNTNlM2U7XG4gICAgICAgICAgICB0b3A6IC4xcmVtO1xuICAgICAgICAgICAgbGVmdDogLjFyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcmVtIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbS1nYWxsZXJ5IHtcblxuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjpiZWZvcmUsXG4gICAgICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC41cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IC43cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMC45cmVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjE1cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgLjA4cmVtIHJnYmEoMCwgMCwgMCwgMSkpO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmFmdGVyIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC4ycmVtLCAtLjJyZW0pO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tdmlkZW8ge1xuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxLjFyZW0gc29saWQgI2ZmZmZmZjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLjc1cmVtO1xuICAgICAgICAgICAgcmlnaHQ6IC43NXJlbTtcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIC4wOHJlbSByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZykgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY2F0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMyk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgICAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IC44cmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjAycmVtO1xuICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgICAgICAgIFxuICAgIH1cblxuICAgICZfX2xhbmNpbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdmVydGljYWxfX2V4Y2VycHQge1xuICAgICAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcblxuICAgICAgICB9XG4gICAgfVxuXG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5wb3N0cy1wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuLnBhZ2luYXRpb24tbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGdhcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xuXG4gICAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMC40cmVtIDAuNzVyZW07XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjNyZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLWxpbmsuY3VycmVudCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnZS1saW5rOmhvdmVyOm5vdCguY3VycmVudCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1iYWNrZ3JvdW5kKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtaGlkZGVuLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLm1leF9lbXB0eSB7XG4gICAgcGFkZGluZzogMnJlbSAwO1xuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cblxuICAgICZfX2V5ZWJyb3cge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjA4ZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMS44cmVtLCAyLjV2dyArIDFyZW0sIDIuNnJlbSk7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDFyZW07XG4gICAgICAgIG1heC13aWR0aDogNjBjaDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cbiAgICAmX19zZWFyY2gge1xuICAgICAgICBtYXgtd2lkdGg6IDY4MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICY+KjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogLjVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY+KjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogLjVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbmJvZHkuYXJjaGl2ZSxcbmJvZHkuc2VhcmNoIHtcbiAgICBzZWN0aW9uLmVtcHR5LWFyY2hpdmUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKG1kKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgPnAge1xuICAgICAgICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgobWQpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID5hW3JvbGU9YnV0dG9uXSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtXG4gICAgICAgIH1cbiAgICB9XG5cblxuICAgIHNlY3Rpb24uYXV0aG9yLWJpby1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChtZCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBnYXA6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDIpO1xuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLmF1dGhvci1waG90by13cmFwcGVyIHtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF1dGhvci1waG90byB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChtZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXV0aG9yLXRleHQge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG5cbiAgICAgICAgICAgIC5hdXRob3ItbmFtZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSJdfQ== */
