@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);
}

body.single main.main-content,
body.page main.main-content {
  padding: 0;
}
body.single main.main-content .single-post,
body.page main.main-content .single-post {
  flex: 1;
  width: 100%;
  padding: var(--pico-spacing);
  margin: 0 auto;
  box-shadow: none;
}
body.single main.main-content .single-post-thumbnail-wrapper,
body.page main.main-content .single-post-thumbnail-wrapper {
  position: relative;
  margin-bottom: var(--pico-spacing);
}
body.single main.main-content .single-post-thumbnail,
body.page main.main-content .single-post-thumbnail {
  aspect-ratio: 16/9;
}
body.single main.main-content .single-post-thumbnail img,
body.page main.main-content .single-post-thumbnail img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}
body.single main.main-content .single-post-header.with-thumbnail,
body.page main.main-content .single-post-header.with-thumbnail {
  background: none;
  padding: 0 0 var(--pico-spacing) 0;
  margin: 0 auto;
  text-shadow: none;
}
body.single main.main-content .single-post-header.with-thumbnail .single-post-lancio,
body.page main.main-content .single-post-header.with-thumbnail .single-post-lancio {
  color: var(--pico-primary);
}
body.single main.main-content .single-post-header.with-thumbnail .single-post-title,
body.single main.main-content .single-post-header.with-thumbnail .single-post-subtitle,
body.page main.main-content .single-post-header.with-thumbnail .single-post-title,
body.page main.main-content .single-post-header.with-thumbnail .single-post-subtitle {
  color: var(--pico-color);
}
body.single main.main-content .single-post-header.no-thumbnail,
body.page main.main-content .single-post-header.no-thumbnail {
  background: none;
  margin: 0 auto var(--pico-spacing);
}
body.single main.main-content .single-post-header.no-thumbnail .single-post-lancio,
body.page main.main-content .single-post-header.no-thumbnail .single-post-lancio {
  color: var(--pico-primary);
}
body.single main.main-content .single-post-header.no-thumbnail .single-post-title,
body.single main.main-content .single-post-header.no-thumbnail .single-post-subtitle,
body.page main.main-content .single-post-header.no-thumbnail .single-post-title,
body.page main.main-content .single-post-header.no-thumbnail .single-post-subtitle {
  color: var(--pico-color);
}
body.single main.main-content .single-post-lancio,
body.page main.main-content .single-post-lancio {
  font-weight: bold;
  text-transform: uppercase;
  margin-bottom: calc(var(--pico-spacing) / 2);
  font-size: 1rem;
  line-height: 1.1rem;
}
body.single main.main-content .single-post-title,
body.page main.main-content .single-post-title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 0;
  line-height: 2.1rem;
}
body.single main.main-content .single-post-subtitle,
body.page main.main-content .single-post-subtitle {
  font-size: 1.2rem;
  font-weight: 400;
  margin-top: var(--pico-spacing);
  margin-bottom: 0;
}
body.single main.main-content .single-post-meta,
body.page main.main-content .single-post-meta {
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  body.single main.main-content .single-post-meta,
  body.page main.main-content .single-post-meta {
    flex-direction: row;
    justify-content: space-between;
  }
}
body.single main.main-content .single-post-date,
body.page main.main-content .single-post-date {
  font-size: 1rem;
  margin-bottom: calc(var(--pico-spacing) / 2);
}
body.single main.main-content .single-post-date strong,
body.page main.main-content .single-post-date strong {
  color: var(--pico-primary);
}
body.single main.main-content .single-post-author,
body.page main.main-content .single-post-author {
  font-size: 1rem;
  text-align: right;
  margin-bottom: calc(var(--pico-spacing) / 2);
  font-style: italic;
}
body.single main.main-content .single-post-author a,
body.page main.main-content .single-post-author a {
  font-weight: bold;
  color: inherit;
  text-decoration: none;
}
body.single main.main-content .single-post-body,
body.page main.main-content .single-post-body {
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--pico-color);
}
body.single main.main-content .single-post-body .podcast_player,
body.page main.main-content .single-post-body .podcast_player {
  margin: var(--pico-spacing) auto;
}
@media (min-width: 768px) {
  body.single main.main-content .single-post-body .podcast_player,
  body.page main.main-content .single-post-body .podcast_player {
    width: 90%;
  }
}
body.single main.main-content .single-post-body .podcast_meta,
body.page main.main-content .single-post-body .podcast_meta {
  margin-top: var(--pico-spacing);
}
body.single main.main-content .single-post-body .podcast_meta p, body.single main.main-content .single-post-body .podcast_meta a,
body.page main.main-content .single-post-body .podcast_meta p,
body.page main.main-content .single-post-body .podcast_meta a {
  font-size: 1rem;
}
body.single main.main-content .single-post-body .wp-block-video video,
body.page main.main-content .single-post-body .wp-block-video video {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
}
body.single main.main-content .single-post-body .wp-block-image img,
body.page main.main-content .single-post-body .wp-block-image img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
}
body.single main.main-content .single-post-body > blockquote,
body.page main.main-content .single-post-body > blockquote {
  padding-left: calc(var(--pico-spacing) / 2);
}
@media (min-width: 768px) {
  body.single main.main-content .single-post-body > blockquote,
  body.page main.main-content .single-post-body > blockquote {
    padding-left: var(--pico-spacing);
  }
}
body.single main.main-content .single-post-body .wp-audio-shortcode,
body.page main.main-content .single-post-body .wp-audio-shortcode {
  margin-bottom: var(--pico-spacing);
}
body.single main.main-content .single-post-body p,
body.single main.main-content .single-post-body h4,
body.single main.main-content .single-post-body h5,
body.single main.main-content .single-post-body h6,
body.single main.main-content .single-post-body i,
body.single main.main-content .single-post-body b,
body.single main.main-content .single-post-body strong,
body.single main.main-content .single-post-body italic,
body.single main.main-content .single-post-body a,
body.single main.main-content .single-post-body li,
body.single main.main-content .single-post-body blockquote,
body.page main.main-content .single-post-body p,
body.page main.main-content .single-post-body h4,
body.page main.main-content .single-post-body h5,
body.page main.main-content .single-post-body h6,
body.page main.main-content .single-post-body i,
body.page main.main-content .single-post-body b,
body.page main.main-content .single-post-body strong,
body.page main.main-content .single-post-body italic,
body.page main.main-content .single-post-body a,
body.page main.main-content .single-post-body li,
body.page main.main-content .single-post-body blockquote {
  font-size: 1.2rem;
  line-height: 2rem;
}
body.single main.main-content .single-post-body ul,
body.single main.main-content .single-post-body ol,
body.page main.main-content .single-post-body ul,
body.page main.main-content .single-post-body ol {
  padding-left: calc(var(--pico-spacing) * 2);
}
body.single main.main-content .single-post-body li,
body.page main.main-content .single-post-body li {
  padding-bottom: 0.3rem;
}
body.single main.main-content .single-post-body li:last-child,
body.page main.main-content .single-post-body li:last-child {
  padding-bottom: 0;
}
body.single main.main-content .single-post-body p,
body.single main.main-content .single-post-body ul,
body.single main.main-content .single-post-body ol,
body.single main.main-content .single-post-body blockquote,
body.page main.main-content .single-post-body p,
body.page main.main-content .single-post-body ul,
body.page main.main-content .single-post-body ol,
body.page main.main-content .single-post-body blockquote {
  margin-bottom: var(--pico-spacing);
}
body.single main.main-content .single-post-body a,
body.page main.main-content .single-post-body a {
  text-decoration: underline;
  text-underline-position: under;
}
body.single main.main-content .single-post-body small,
body.page main.main-content .single-post-body small {
  font-size: 90%;
}
body.single main.main-content .single-post-body h1,
body.single main.main-content .single-post-body h2,
body.single main.main-content .single-post-body h3,
body.single main.main-content .single-post-body h4,
body.single main.main-content .single-post-body h5,
body.single main.main-content .single-post-body h6,
body.page main.main-content .single-post-body h1,
body.page main.main-content .single-post-body h2,
body.page main.main-content .single-post-body h3,
body.page main.main-content .single-post-body h4,
body.page main.main-content .single-post-body h5,
body.page main.main-content .single-post-body h6 {
  display: block;
  margin-bottom: calc(var(--pico-spacing) * 0.5);
  margin-top: calc(var(--pico-spacing) * 1.5);
}
body.single main.main-content .single-post-body h1,
body.single main.main-content .single-post-body h2,
body.single main.main-content .single-post-body h1 *,
body.single main.main-content .single-post-body h2 *,
body.page main.main-content .single-post-body h1,
body.page main.main-content .single-post-body h2,
body.page main.main-content .single-post-body h1 *,
body.page main.main-content .single-post-body h2 * {
  font-size: 1.4rem;
  line-height: 2.1rem;
}
body.single main.main-content .single-post-body h3,
body.single main.main-content .single-post-body h3 *,
body.page main.main-content .single-post-body h3,
body.page main.main-content .single-post-body h3 * {
  font-size: 1.3rem;
  line-height: 2.1rem;
}
body.single main.main-content .single-post-body iframe,
body.page main.main-content .single-post-body iframe {
  max-width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
body.single main.main-content .single-post-body iframe[src*="player.vimeo"],
body.page main.main-content .single-post-body iframe[src*="player.vimeo"] {
  aspect-ratio: 16/9;
  width: 100%;
  height: 100%;
}
body.single main.main-content .comments-link,
body.page main.main-content .comments-link {
  background: var(--pico-card-background-color);
  text-align: center;
  margin-bottom: calc(var(--pico-spacing) * 2);
  padding: var(--pico-spacing);
}
@media (min-width: 768px) {
  body.single main.main-content .comments-link,
  body.page main.main-content .comments-link {
    text-align: right;
  }
}
body.single main.main-content .comments-link > a,
body.page main.main-content .comments-link > a {
  text-transform: uppercase;
  font-weight: 700;
  padding: calc(var(--pico-spacing) / 2) var(--pico-spacing);
  font-size: 1rem;
  line-height: 1rem;
}
body.single main.main-content .comments-link > a small,
body.page main.main-content .comments-link > a small {
  font-weight: 400;
  text-transform: lowercase;
}
body.single main.main-content .news-plus > article,
body.page main.main-content .news-plus > article {
  border-top: 0.25rem solid var(--pico-primary);
  padding-top: calc(var(--pico-spacing) * 2);
  background: var(--pico-background-color);
  border-radius: 0;
}

.gallery-carousel {
  position: relative;
  overflow: hidden;
  background-color: var(--mt-gallery-background);
  padding: calc(var(--pico-spacing) / 2) 0;
}
.gallery-carousel h5 {
  color: var(--pico-primary);
  text-align: center;
  margin-bottom: 0 !important;
  padding: calc(var(--pico-spacing) / 2) 0 calc(var(--pico-spacing) / 2) 0;
}
.gallery-carousel .carousel-track {
  display: flex;
  max-height: 500px;
  min-height: 200px;
  transition: transform 0.3s ease-in-out;
}
.gallery-carousel .carousel-slide {
  width: 100%;
  flex-shrink: 0;
  padding: calc(var(--pico-spacing) / 2);
  display: flex;
  flex-direction: column;
  gap: calc(var(--pico-spacing) / 2);
  align-items: center;
  justify-content: center;
}
.gallery-carousel .carousel-slide img {
  max-height: 90%;
  width: auto;
  max-width: 100%;
  display: block;
  border-radius: 0.4rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.gallery-carousel .carousel-controls {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  transform: translateY(-50%);
  padding: 0 var(--pico-spacing);
}
.gallery-carousel .carousel-controls button {
  background: rgba(255, 255, 255, 0.8);
  font-size: 1.5rem;
  cursor: pointer;
  color: black;
  line-height: 1.5rem;
  padding: calc(var(--pico-spacing) / 2) calc(var(--pico-spacing) / 2) var(--pico-spacing);
  font-weight: 700;
}

body.single-post .live-blog {
  background: var(--pico-background-color);
  padding: 0 calc(var(--pico-spacing) / 2);
  margin-bottom: var(--pico-spacing);
}
@media (min-width: 576px) {
  body.single-post .live-blog {
    padding: 0 var(--pico-spacing);
  }
}
body.single-post .live-blog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--pico-spacing);
  gap: var(--pico-spacing);
}
body.single-post .live-blog-header .widget-title {
  position: relative;
  flex-grow: 1;
  padding-left: var(--pico-spacing);
}
body.single-post .live-blog-header .widget-title span {
  background-color: var(--pico-background-color);
  color: var(--pico-primary);
  z-index: 100;
  display: inline-block;
  padding: calc(var(--pico-spacing) / 4) calc(var(--pico-spacing) / 2);
  font-size: 1.25rem;
  text-transform: uppercase;
  font-weight: 700;
  position: relative;
}
body.single-post .live-blog-header .widget-title::before {
  border-top: 1px solid var(--pico-primary);
  content: "";
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 50%;
  display: inline-block;
  height: 1px;
  z-index: 1;
}
body.single-post .live-blog-header .live-blog-refresh {
  margin-top: calc(var(--pico-spacing) / 2);
}
body.single-post .live-blog-header .live-blog-refresh a {
  font-size: 0.9rem;
  padding: 0.4rem 0.7rem;
}
body.single-post .live-blog-entries {
  display: flex;
  flex-direction: column;
}
body.single-post .live-blog-timeline {
  display: flex;
  position: relative;
  background: var(--pico-background-color);
  border-radius: 0.5rem;
  padding: 0;
  gap: calc(var(--pico-spacing) / 2);
}
@media (min-width: 576px) {
  body.single-post .live-blog-timeline {
    gap: var(--pico-spacing);
  }
}
body.single-post .live-blog-timeline:last-child .live-blog-entry {
  margin-bottom: 0;
}
body.single-post .live-blog-timeline-aside {
  width: 1.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: calc(var(--pico-spacing) / 4);
}
body.single-post .live-blog-timeline-aside-point {
  width: 0.7rem;
  height: 0.7rem;
  background: var(--pico-primary);
  border-radius: 50%;
  margin-bottom: 0.3rem;
}
body.single-post .live-blog-timeline-aside-line {
  flex-grow: 1;
  width: 2px;
  background: var(--pico-muted-border-color);
  margin-top: calc(var(--pico-spacing) / 4);
}
body.single-post .live-blog-entry {
  flex: 1;
  background: var(--pico-background-color);
  border-radius: 0.5rem;
  padding: var(--pico-spacing);
  box-shadow: var(--pico-box-shadow);
  margin-bottom: calc(var(--pico-spacing) * 1.5);
  position: relative;
  top: -0.25rem;
}
body.single-post .live-blog-entry .live-blog-time {
  font-size: 0.85rem;
  color: var(--pico-muted-color);
  margin-bottom: calc(var(--pico-spacing) / 2);
}
body.single-post .live-blog-entry .live-blog-entry-headline {
  font-weight: 600;
  font-size: 1.3rem;
  margin-bottom: calc(var(--pico-spacing) / 2);
}
body.single-post .live-blog-entry .live-blog-entry-content {
  font-size: 1rem;
}
body.single-post .live-blog-entry .live-blog-entry-content h1,
body.single-post .live-blog-entry .live-blog-entry-content h2,
body.single-post .live-blog-entry .live-blog-entry-content h3,
body.single-post .live-blog-entry .live-blog-entry-content h4,
body.single-post .live-blog-entry .live-blog-entry-content h5,
body.single-post .live-blog-entry .live-blog-entry-content h6 {
  font-size: 1.3rem;
}
body.single-post .live-blog-entry .live-blog-entry-content *:last-child {
  margin-bottom: 0;
}
body.single-post .live-blog-entry .live-blog-entry-content .gallery-carousel h5 {
  font-size: var(--pico-font-size);
}
body.single-post .live-blog-empty {
  text-align: center;
  font-size: 1rem;
  background: var(--pico-background-color);
  padding: var(--pico-spacing);
  border-radius: 0.5rem;
  box-shadow: var(--pico-box-shadow);
}
body.single-post .live-blog-empty p {
  margin: 0;
  font-size: 1.1rem;
}

.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;
  }
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpbmdsZS5jc3MiLCJjb25maWdzL192YXJpYWJsZXMuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL2Fzc2V0cy1zcmMvZm9udHMvaW50ZXIvX2ludGVyLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL21lcnJpd2VhdGhlci9fbWVycml3ZWF0aGVyLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL25vdG8tc2Fucy9fbm90by1zYW5zLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9hc3NldHMtc3JjL2ZvbnRzL25vdG8tc2VyaWYvX25vdG8tc2VyaWYuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL2Fzc2V0cy1zcmMvZm9udHMvb3Blbi1zYW5zL19vcGVuLXNhbnMuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL2Fzc2V0cy1zcmMvZm9udHMvcm9ib3RvL19yb2JvdG8uc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvaGVscGVycy9fY29weXJpZ2h0LnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3RoZW1lcy9kZWZhdWx0L19zdHlsZXMuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvdGhlbWVzL2RlZmF1bHQvX3NjaGVtZXMuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvdGhlbWVzL2RlZmF1bHQvX2xpZ2h0LnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3RoZW1lcy9kZWZhdWx0L19kYXJrLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2xheW91dC9fZG9jdW1lbnQuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvbGF5b3V0L19sYW5kbWFya3Muc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvbGF5b3V0L19zZWN0aW9uLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2xheW91dC9fY29udGFpbmVyLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2xheW91dC9fZ3JpZC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9sYXlvdXQvX292ZXJmbG93LWF1dG8uc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29udGVudC9fdHlwb2dyYXBoeS5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb250ZW50L19saW5rLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2NvbnRlbnQvX2J1dHRvbi5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb250ZW50L19lbWJlZGRlZC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb250ZW50L19maWd1cmUuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29udGVudC9fbWlzYy5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9mb3Jtcy9fYmFzaWNzLnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL2Zvcm1zL19jaGVja2JveC1yYWRpby1zd2l0Y2guc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvZm9ybXMvX2lucHV0LXNlYXJjaC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb21wb25lbnRzL19ncm91cC5zY3NzIiwiaG9tZS9hY2FnbGlhbmkvUHJvZ2V0dGkvU2Npc2Npb25lL3F1b3RpZGlhbmktd3Avc2l0ZXMvcXVvdGlkaWFuby13cC9jb250ZW50cy90aGVtZXMvbXktdGhlbWUvbm9kZV9tb2R1bGVzL0BwaWNvY3NzL3BpY28vc2Nzcy9jb21wb25lbnRzL19uYXYuc2NzcyIsImhvbWUvYWNhZ2xpYW5pL1Byb2dldHRpL1NjaXNjaW9uZS9xdW90aWRpYW5pLXdwL3NpdGVzL3F1b3RpZGlhbm8td3AvY29udGVudHMvdGhlbWVzL215LXRoZW1lL25vZGVfbW9kdWxlcy9AcGljb2Nzcy9waWNvL3Njc3MvdXRpbGl0aWVzL19hY2Nlc3NpYmlsaXR5LnNjc3MiLCJob21lL2FjYWdsaWFuaS9Qcm9nZXR0aS9TY2lzY2lvbmUvcXVvdGlkaWFuaS13cC9zaXRlcy9xdW90aWRpYW5vLXdwL2NvbnRlbnRzL3RoZW1lcy9teS10aGVtZS9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL3V0aWxpdGllcy9fcmVkdWNlLW1vdGlvbi5zY3NzIiwiY29uZmlncy9fcGljby12YXJpYWJsZXMuc2NzcyIsImxheW91dC9fdHlwb2dyYXBoeS5zY3NzIiwibGF5b3V0L19nbG9iYWwuc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwibWl4aW5zL19tZWRpYV9taW5fd2lkdGguc2NzcyIsImxheW91dC9fc2lkZWJhci1oYW1idXJnZXIuc2NzcyIsImxheW91dC9faGVhZGVyLW5hdi1tZW51LnNjc3MiLCJsYXlvdXQvX21haW4tZ3JpZC5zY3NzIiwibGF5b3V0L19wcmUtbWFpbi1jb250ZW50LnNjc3MiLCJsYXlvdXQvX3RvcC1ncmlkLnNjc3MiLCJsYXlvdXQvX21haW4tY29udGVudC5zY3NzIiwibGF5b3V0L19tYWluLXNpZGViYXIuc2NzcyIsImxheW91dC9fd2lkZ2V0cy5zY3NzIiwibGF5b3V0L193cC1zdGFuZGFyZC5zY3NzIiwibGF5b3V0L19hZHYuc2NzcyIsImxheW91dC9fb25lc2lnbmFsLXJlc2V0LnNjc3MiLCJwYXJ0aWFscy9saXN0LXBvc3RzL19jYXJvdXNlbC1jYXJkcy5zY3NzIiwicGFnZS9fc2luZ2xlLnNjc3MiLCJwYXJ0aWFscy9jb21wb25lbnRzL19nYWxsZXJ5LWNhcm91c2VsLnNjc3MiLCJwYXJ0aWFscy9jb21wb25lbnRzL19saXZlLWJsb2cuc2NzcyIsInBhcnRpYWxzL2xpc3QtcG9zdHMvX2xpc3RhLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDa0ZoQjs7RUFHRSxzQ0FBQTtFQUNBLHVDQUFBO0VBQ0EsdUZBQUE7RUFDQSw2RUFBQTtBRGpGRjs7QUNzRkE7O0VBRUUsc0NBQUE7RUFDQSx1Q0FBQTtFQUNBLHVGQUFBO0VBQ0EsNkVBQUE7QURuRkY7O0FFZkE7RUFDRSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdFQUFBO0FGa0JGO0FFZkE7RUFDRSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLCtEQUFBO0FGaUJGO0FFZEE7RUFDRSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLDREQUFBO0FGZ0JGO0FFYkE7RUFDRSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtFQUFBO0FGZUY7QUc1Q0E7RUFDRSxrQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLDhFQUFBO0FIOENGO0FHM0NBO0VBQ0Usa0JBQUE7RUFDQSwyQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSw2RUFBQTtBSDZDRjtBRzFDQTtFQUNFLGtCQUFBO0VBQ0EsMkJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsMEVBQUE7QUg0Q0Y7QUd6Q0E7RUFDRSxrQkFBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGdGQUFBO0FIMkNGO0FJeEVBO0VBQ0Usa0JB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ZXQgXCJVVEYtOFwiO1xuW2RhdGEtdGhlbWU9bGlnaHRdLFxuOnJvb3Q6bm90KFtkYXRhLXRoZW1lPWRhcmtdKSB7XG4gIC0tbXQtY29tbWVudGktZm9ybS1iYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAtLW10LW5lY3JvbG9yaS1mb3JtLWJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIC0tbXQtaG9tZXBhZ2Utb3BlbmluZy1iYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1wcmltYXJ5KSAxMCUsICNmZmYgOTAlKTtcbiAgLS1tdC1nYWxsZXJ5LWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDUlLCAjZmZmIDk1JSk7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdLFxuOnJvb3RbZGF0YS10aGVtZT1kYXJrXSB7XG4gIC0tbXQtY29tbWVudGktZm9ybS1iYWNrZ3JvdW5kOiAjMTIxMjEyO1xuICAtLW10LW5lY3JvbG9yaS1mb3JtLWJhY2tncm91bmQ6ICMxMjEyMTI7XG4gIC0tbXQtaG9tZXBhZ2Utb3BlbmluZy1iYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1wcmltYXJ5KSAxMCUsICMwMDAgOTAlKTtcbiAgLS1tdC1nYWxsZXJ5LWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDUlLCAjMDAwIDk1JSk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIkludGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL2ludGVyL2ludGVyLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9pbnRlci9pbnRlci1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9pbnRlci9pbnRlci03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJJbnRlclwiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9pbnRlci9pbnRlci03MDBpdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJNZXJyaXdlYXRoZXJcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbWVycml3ZWF0aGVyL21lcnJpd2VhdGhlci1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTWVycml3ZWF0aGVyXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItNzAwaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL25vdG8tc2Fucy9ub3RvLXNhbnMtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNhbnMvbm90by1zYW5zLWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNhbnMvbm90by1zYW5zLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2Fuc1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9ub3RvLXNhbnMvbm90by1zYW5zLTcwMGl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIk5vdG8gU2VyaWZcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLXJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNlcmlmXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL25vdG8tc2VyaWYvbm90by1zZXJpZi1pdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNlcmlmXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL25vdG8tc2VyaWYvbm90by1zZXJpZi03MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJOb3RvIFNlcmlmXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL25vdG8tc2VyaWYvbm90by1zZXJpZi03MDBpdGFsaWMud29mZjJcIikgZm9ybWF0KFwid29mZjJcIik7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogXCJPcGVuIFNhbnNcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBzcmM6IHVybChcIi4vLi4vZm9udHMvb3Blbi1zYW5zL29wZW4tc2Fucy1yZWd1bGFyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtNzAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtNzAwaXRhbGljLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoXCIuLy4uL2ZvbnRzL3JvYm90by9yb2JvdG8tcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9yb2JvdG8vcm9ib3RvLWl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9yb2JvdG8vcm9ib3RvLTcwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKFwiLi8uLi9mb250cy9yb2JvdG8vcm9ib3RvLTcwMGl0YWxpYy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbn1cbi8qIVxuICogUGljbyBDU1Mg4pyoIHYyLjEuMSAoaHR0cHM6Ly9waWNvY3NzLmNvbSlcbiAqIENvcHlyaWdodCAyMDE5LTIwMjUgLSBMaWNlbnNlZCB1bmRlciBNSVRcbiAqL1xuLyoqXG4gKiBTdHlsZXNcbiAqL1xuOnJvb3QsXG46aG9zdCB7XG4gIC0tcGljby1mb250LWZhbWlseS1lbW9qaTogXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAtLXBpY28tZm9udC1mYW1pbHktc2Fucy1zZXJpZjogc3lzdGVtLXVpLCBcIlNlZ29lIFVJXCIsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgSGVsdmV0aWNhLCBBcmlhbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBzYW5zLXNlcmlmLCB2YXIoLS1waWNvLWZvbnQtZmFtaWx5LWVtb2ppKTtcbiAgLS1waWNvLWZvbnQtZmFtaWx5LW1vbm9zcGFjZTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgXCJTRiBNb25vXCIsIE1lbmxvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgbW9ub3NwYWNlLCB2YXIoLS1waWNvLWZvbnQtZmFtaWx5LWVtb2ppKTtcbiAgLS1waWNvLWZvbnQtZmFtaWx5OiB2YXIoLS1waWNvLWZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IDEuNTtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiA0MDA7XG4gIC0tcGljby1mb250LXNpemU6IDEwMCU7XG4gIC0tcGljby10ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMXJlbTtcbiAgLS1waWNvLWJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIC0tcGljby1ib3JkZXItd2lkdGg6IDAuMDYyNXJlbTtcbiAgLS1waWNvLW91dGxpbmUtd2lkdGg6IDAuMTI1cmVtO1xuICAtLXBpY28tdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgLS1waWNvLXNwYWNpbmc6IDFyZW07XG4gIC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWw6IDFyZW07XG4gIC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAtLXBpY28tYmxvY2stc3BhY2luZy1ob3Jpem9udGFsOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAtLXBpY28tZ3JpZC1jb2x1bW4tZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAtLXBpY28tZ3JpZC1yb3ctZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWw6IDAuNzVyZW07XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsOiAxcmVtO1xuICAtLXBpY28tZ3JvdXAtYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgLS1waWNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbiAgLS1waWNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1pbnB1dDogMCAwIDAgMC4wNjI1cmVtIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsOiAxcmVtO1xuICAtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsOiAwLjVyZW07XG4gIC0tcGljby1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsOiAwLjVyZW07XG4gIC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWw6IDAuNXJlbTtcbiAgLS1waWNvLW5hdi1icmVhZGNydW1iLWRpdmlkZXI6IFwiPlwiO1xuICAtLXBpY28taWNvbi1jaGVja2JveDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigyNTUsIDI1NSwgMjU1KScgc3Ryb2tlLXdpZHRoPSc0JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAtLXBpY28taWNvbi1taW51czogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigyNTUsIDI1NSwgMjU1KScgc3Ryb2tlLXdpZHRoPSc0JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDbGluZSB4MT0nNScgeTE9JzEyJyB4Mj0nMTknIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG4gIC0tcGljby1pY29uLWNoZXZyb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMTM2LCAxNDUsIDE2NCknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nNiA5IDEyIDE1IDE4IDknJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgLS1waWNvLWljb24tc2VhcmNoOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDEzNiwgMTQ1LCAxNjQpJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMjEnIHkxPScyMScgeDI9JzE2LjY1JyB5Mj0nMTYuNjUnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIDpyb290LFxuICA6aG9zdCB7XG4gICAgLS1waWNvLWZvbnQtc2l6ZTogMTA2LjI1JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIDpyb290LFxuICA6aG9zdCB7XG4gICAgLS1waWNvLWZvbnQtc2l6ZTogMTEyLjUlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIDpyb290LFxuICA6aG9zdCB7XG4gICAgLS1waWNvLWZvbnQtc2l6ZTogMTE4Ljc1JTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICA6cm9vdCxcbiAgOmhvc3Qge1xuICAgIC0tcGljby1mb250LXNpemU6IDEyNSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNTM2cHgpIHtcbiAgOnJvb3QsXG4gIDpob3N0IHtcbiAgICAtLXBpY28tZm9udC1zaXplOiAxMzEuMjUlO1xuICB9XG59XG5cbmEge1xuICAtLXBpY28tdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5hLnNlY29uZGFyeSwgYS5jb250cmFzdCB7XG4gIC0tcGljby10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuc21hbGwge1xuICAtLXBpY28tZm9udC1zaXplOiAwLjg3NWVtO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICAtLXBpY28tZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuaDEge1xuICAtLXBpY28tZm9udC1zaXplOiAycmVtO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IDEuMTI1O1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogM3JlbTtcbn1cblxuaDIge1xuICAtLXBpY28tZm9udC1zaXplOiAxLjc1cmVtO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAyLjYyNXJlbTtcbn1cblxuaDMge1xuICAtLXBpY28tZm9udC1zaXplOiAxLjVyZW07XG4gIC0tcGljby1saW5lLWhlaWdodDogMS4xNzU7XG4gIC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAyLjI1cmVtO1xufVxuXG5oNCB7XG4gIC0tcGljby1mb250LXNpemU6IDEuMjVyZW07XG4gIC0tcGljby1saW5lLWhlaWdodDogMS4yO1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMS44NzRyZW07XG59XG5cbmg1IHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIC0tcGljby1saW5lLWhlaWdodDogMS4yMjU7XG4gIC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAxLjY4NzVyZW07XG59XG5cbmg2IHtcbiAgLS1waWNvLWZvbnQtc2l6ZTogMXJlbTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiAxLjI1O1xuICAtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXRvcDogMS41cmVtO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1maWxlXSksXG46d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSkge1xuICAtLXBpY28tb3V0bGluZS13aWR0aDogMC4wNjI1cmVtO1xufVxuXG5bdHlwZT1zZWFyY2hdIHtcbiAgLS1waWNvLWJvcmRlci1yYWRpdXM6IDVyZW07XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIC0tcGljby1ib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xufVxuXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdIHtcbiAgLS1waWNvLWJvcmRlci13aWR0aDogMC4xODc1cmVtO1xufVxuXG5kZXRhaWxzLmRyb3Bkb3duIHN1bW1hcnk6bm90KFtyb2xlPWJ1dHRvbl0pIHtcbiAgLS1waWNvLW91dGxpbmUtd2lkdGg6IDAuMDYyNXJlbTtcbn1cblxubmF2IGRldGFpbHMuZHJvcGRvd24gc3VtbWFyeTpmb2N1cy12aXNpYmxlIHtcbiAgLS1waWNvLW91dGxpbmUtd2lkdGg6IDAuMTI1cmVtO1xufVxuXG5bcm9sZT1zZWFyY2hdIHtcbiAgLS1waWNvLWJvcmRlci1yYWRpdXM6IDVyZW07XG59XG5cbltyb2xlPXNlYXJjaF06aGFzKGJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMsXG5bdHlwZT1zdWJtaXRdLnNlY29uZGFyeTpmb2N1cyxcblt0eXBlPWJ1dHRvbl0uc2Vjb25kYXJ5OmZvY3VzLFxuW3JvbGU9YnV0dG9uXS5zZWNvbmRhcnk6Zm9jdXMpLFxuW3JvbGU9Z3JvdXBdOmhhcyhidXR0b24uc2Vjb25kYXJ5OmZvY3VzLFxuW3R5cGU9c3VibWl0XS5zZWNvbmRhcnk6Zm9jdXMsXG5bdHlwZT1idXR0b25dLnNlY29uZGFyeTpmb2N1cyxcbltyb2xlPWJ1dHRvbl0uc2Vjb25kYXJ5OmZvY3VzKSB7XG4gIC0tcGljby1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtYnV0dG9uOiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tc2Vjb25kYXJ5LWZvY3VzKTtcbn1cbltyb2xlPXNlYXJjaF06aGFzKGJ1dHRvbi5jb250cmFzdDpmb2N1cyxcblt0eXBlPXN1Ym1pdF0uY29udHJhc3Q6Zm9jdXMsXG5bdHlwZT1idXR0b25dLmNvbnRyYXN0OmZvY3VzLFxuW3JvbGU9YnV0dG9uXS5jb250cmFzdDpmb2N1cyksXG5bcm9sZT1ncm91cF06aGFzKGJ1dHRvbi5jb250cmFzdDpmb2N1cyxcblt0eXBlPXN1Ym1pdF0uY29udHJhc3Q6Zm9jdXMsXG5bdHlwZT1idXR0b25dLmNvbnRyYXN0OmZvY3VzLFxuW3JvbGU9YnV0dG9uXS5jb250cmFzdDpmb2N1cykge1xuICAtLXBpY28tZ3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWJ1dHRvbjogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLWNvbnRyYXN0LWZvY3VzKTtcbn1cbltyb2xlPXNlYXJjaF0gYnV0dG9uLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1zdWJtaXRdLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1idXR0b25dLFxuW3JvbGU9c2VhcmNoXSBbcm9sZT1idXR0b25dLFxuW3JvbGU9Z3JvdXBdIGJ1dHRvbixcbltyb2xlPWdyb3VwXSBbdHlwZT1zdWJtaXRdLFxuW3JvbGU9Z3JvdXBdIFt0eXBlPWJ1dHRvbl0sXG5bcm9sZT1ncm91cF0gW3JvbGU9YnV0dG9uXSB7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsOiAycmVtO1xufVxuXG5kZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dOm5vdCgub3V0bGluZSk6OmFmdGVyIHtcbiAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbn1cblxuLyoqXG4gKiBDb2xvciBzY2hlbWVzXG4gKi9cbltkYXRhLXRoZW1lPWxpZ2h0XSxcbjpyb290Om5vdChbZGF0YS10aGVtZT1kYXJrXSksXG46aG9zdCg6bm90KFtkYXRhLXRoZW1lPWRhcmtdKSkge1xuICBjb2xvci1zY2hlbWU6IGxpZ2h0O1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLS1waWNvLWNvbG9yOiAjMzczYzQ0O1xuICAtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3I6IHJnYmEoMiwgMTU0LCAyMzIsIDAuMjUpO1xuICAtLXBpY28tbXV0ZWQtY29sb3I6ICM2NDZiNzk7XG4gIC0tcGljby1tdXRlZC1ib3JkZXItY29sb3I6IHJnYigyMzEsIDIzNCwgMjM5LjUpO1xuICAtLXBpY28tcHJpbWFyeTogIzAxNzJhZDtcbiAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogIzAxNzJhZDtcbiAgLS1waWNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1wcmltYXJ5LXVuZGVybGluZTogcmdiYSgxLCAxMTQsIDE3MywgMC41KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXI6ICMwMTU4ODc7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICMwMjY1OWE7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlcik7XG4gIC0tcGljby1wcmltYXJ5LWZvY3VzOiByZ2JhKDIsIDE1NCwgMjMyLCAwLjUpO1xuICAtLXBpY28tcHJpbWFyeS1pbnZlcnNlOiAjZmZmO1xuICAtLXBpY28tc2Vjb25kYXJ5OiAjNWQ2Yjg5O1xuICAtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICM1MjVmN2E7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHJnYmEoOTMsIDEwNywgMTM3LCAwLjUpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiAjNDg1MzZiO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICM0ODUzNmI7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogcmdiYSg5MywgMTA3LCAxMzcsIDAuMjUpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWludmVyc2U6ICNmZmY7XG4gIC0tcGljby1jb250cmFzdDogIzE4MWMyNTtcbiAgLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQ6ICMxODFjMjU7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZCk7XG4gIC0tcGljby1jb250cmFzdC11bmRlcmxpbmU6IHJnYmEoMjQsIDI4LCAzNywgMC41KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyOiAjMDAwO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogIzAwMDtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXIpO1xuICAtLXBpY28tY29udHJhc3QtZm9jdXM6IHJnYmEoOTMsIDEwNywgMTM3LCAwLjI1KTtcbiAgLS1waWNvLWNvbnRyYXN0LWludmVyc2U6ICNmZmY7XG4gIC0tcGljby1ib3gtc2hhZG93OiAwLjAxNDVyZW0gMC4wMjlyZW0gMC4xNzRyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjAxNjk4KSwgMC4wMzM1cmVtIDAuMDY3cmVtIDAuNDAycmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wMjQpLCAwLjA2MjVyZW0gMC4xMjVyZW0gMC43NXJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDMpLCAwLjExMjVyZW0gMC4yMjVyZW0gMS4zNXJlbSByZ2JhKDEyOSwgMTQ1LCAxODEsIDAuMDM2KSwgMC4yMDg1cmVtIDAuNDE3cmVtIDIuNTAycmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wNDMwMiksIDAuNXJlbSAxcmVtIDZyZW0gcmdiYSgxMjksIDE0NSwgMTgxLCAwLjA2KSwgMCAwIDAgMC4wNjI1cmVtIHJnYmEoMTI5LCAxNDUsIDE4MSwgMC4wMTUpO1xuICAtLXBpY28taDEtY29sb3I6ICMyZDMxMzg7XG4gIC0tcGljby1oMi1jb2xvcjogIzM3M2M0NDtcbiAgLS1waWNvLWgzLWNvbG9yOiAjNDI0NzUxO1xuICAtLXBpY28taDQtY29sb3I6ICM0ZDUzNWU7XG4gIC0tcGljby1oNS1jb2xvcjogIzVjNjM3MDtcbiAgLS1waWNvLWg2LWNvbG9yOiAjNjQ2Yjc5O1xuICAtLXBpY28tbWFyay1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUyLjUsIDIzMC41LCAxOTEuNSk7XG4gIC0tcGljby1tYXJrLWNvbG9yOiAjMGYxMTE0O1xuICAtLXBpY28taW5zLWNvbG9yOiByZ2IoMjguNSwgMTA1LjUsIDg0KTtcbiAgLS1waWNvLWRlbC1jb2xvcjogcmdiKDEzNiwgNTYuNSwgNTMpO1xuICAtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgLS1waWNvLWJ1dHRvbi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBpY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MSwgMjUxLjUsIDI1Mi4yNSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogI2RmZTNlYjtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6ICNjZmQ1ZTI7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtY29sb3I6ICMyMzI2MmM7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtcGxhY2Vob2xkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5OiAwLjU7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3I6IHJnYigxODMuNSwgMTA1LjUsIDEwNi41KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6IHJnYigyMDAuMjUsIDc5LjI1LCA3Mi4yNSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3I6IHJnYig3NiwgMTU0LjUsIDEzNy41KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMzksIDE1Mi43NSwgMTE4Ljc1KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcjogI2JmYzdkOTtcbiAgLS1waWNvLXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXN3aXRjaC1jb2xvcjogI2ZmZjtcbiAgLS1waWNvLXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBpY28tYWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tYWNjb3JkaW9uLWFjdGl2ZS1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBpY28tYWNjb3JkaW9uLWNsb3NlLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAtLXBpY28tYWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIC0tcGljby1jYXJkLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcGljby1jYXJkLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tY2FyZC1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICAtLXBpY28tY2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3I6IHJnYigyNTEsIDI1MS41LCAyNTIuMjUpO1xuICAtLXBpY28tZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLS1waWNvLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI2VmZjFmNDtcbiAgLS1waWNvLWRyb3Bkb3duLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYm94LXNoYWRvdyk7XG4gIC0tcGljby1kcm9wZG93bi1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIC0tcGljby1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAjZWZmMWY0O1xuICAtLXBpY28taWNvbi12YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYig3NiwgMTU0LjUsIDEzNy41KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAtLXBpY28taWNvbi1pbnZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDIwMC4yNSwgNzkuMjUsIDcyLjI1KScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMi4wMScgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbltkYXRhLXRoZW1lPWxpZ2h0XSBpbnB1dDppcyhbdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcblt0eXBlPWZpbGVdKSxcbjpyb290Om5vdChbZGF0YS10aGVtZT1kYXJrXSkgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1maWxlXSksXG46aG9zdCg6bm90KFtkYXRhLXRoZW1lPWRhcmtdKSkgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1maWxlXSkge1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICA6cm9vdDpub3QoW2RhdGEtdGhlbWVdKSxcbiAgOmhvc3QoOm5vdChbZGF0YS10aGVtZV0pKSB7XG4gICAgY29sb3Itc2NoZW1lOiBkYXJrO1xuICAgIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTksIDIyLjUsIDMwLjUpO1xuICAgIC0tcGljby1jb2xvcjogI2MyYzdkMDtcbiAgICAtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3I6IHJnYmEoMSwgMTcwLCAyNTUsIDAuMTg3NSk7XG4gICAgLS1waWNvLW11dGVkLWNvbG9yOiAjN2I4NDk1O1xuICAgIC0tcGljby1tdXRlZC1ib3JkZXItY29sb3I6ICMyMDI2MzI7XG4gICAgLS1waWNvLXByaW1hcnk6ICMwMWFhZmY7XG4gICAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogIzAxNzJhZDtcbiAgICAtLXBpY28tcHJpbWFyeS1ib3JkZXI6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAtLXBpY28tcHJpbWFyeS11bmRlcmxpbmU6IHJnYmEoMSwgMTcwLCAyNTUsIDAuNSk7XG4gICAgLS1waWNvLXByaW1hcnktaG92ZXI6ICM3OWMwZmY7XG4gICAgLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogIzAxN2ZjMDtcbiAgICAtLXBpY28tcHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAtLXBpY28tcHJpbWFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlcik7XG4gICAgLS1waWNvLXByaW1hcnktZm9jdXM6IHJnYmEoMSwgMTcwLCAyNTUsIDAuMzc1KTtcbiAgICAtLXBpY28tcHJpbWFyeS1pbnZlcnNlOiAjZmZmO1xuICAgIC0tcGljby1zZWNvbmRhcnk6ICM5NjllYWY7XG4gICAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjNTI1ZjdhO1xuICAgIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kKTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LXVuZGVybGluZTogcmdiYSgxNTAsIDE1OCwgMTc1LCAwLjUpO1xuICAgIC0tcGljby1zZWNvbmRhcnktaG92ZXI6ICNiM2I5YzU7XG4gICAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAjNWQ2Yjg5O1xuICAgIC0tcGljby1zZWNvbmRhcnktaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXIpO1xuICAgIC0tcGljby1zZWNvbmRhcnktZm9jdXM6IHJnYmEoMTQ0LCAxNTgsIDE5MCwgMC4yNSk7XG4gICAgLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlOiAjZmZmO1xuICAgIC0tcGljby1jb250cmFzdDogI2RmZTNlYjtcbiAgICAtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZDogI2VmZjFmNDtcbiAgICAtLXBpY28tY29udHJhc3QtYm9yZGVyOiB2YXIoLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAgIC0tcGljby1jb250cmFzdC11bmRlcmxpbmU6IHJnYmEoMjIzLCAyMjcsIDIzNSwgMC41KTtcbiAgICAtLXBpY28tY29udHJhc3QtaG92ZXI6ICNmZmY7XG4gICAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQ6ICNmZmY7XG4gICAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAtLXBpY28tY29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyKTtcbiAgICAtLXBpY28tY29udHJhc3QtZm9jdXM6IHJnYmEoMjA3LCAyMTMsIDIyNiwgMC4yNSk7XG4gICAgLS1waWNvLWNvbnRyYXN0LWludmVyc2U6ICMwMDA7XG4gICAgLS1waWNvLWJveC1zaGFkb3c6IDAuMDE0NXJlbSAwLjAyOXJlbSAwLjE3NHJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDE2OTgpLCAwLjAzMzVyZW0gMC4wNjdyZW0gMC40MDJyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAyNCksIDAuMDYyNXJlbSAwLjEyNXJlbSAwLjc1cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMyksIDAuMTEyNXJlbSAwLjIyNXJlbSAxLjM1cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMzYpLCAwLjIwODVyZW0gMC40MTdyZW0gMi41MDJyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjA0MzAyKSwgMC41cmVtIDFyZW0gNnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDYpLCAwIDAgMCAwLjA2MjVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAxNSk7XG4gICAgLS1waWNvLWgxLWNvbG9yOiAjZjBmMWYzO1xuICAgIC0tcGljby1oMi1jb2xvcjogI2UwZTNlNztcbiAgICAtLXBpY28taDMtY29sb3I6ICNjMmM3ZDA7XG4gICAgLS1waWNvLWg0LWNvbG9yOiAjYjNiOWM1O1xuICAgIC0tcGljby1oNS1jb2xvcjogI2E0YWNiYTtcbiAgICAtLXBpY28taDYtY29sb3I6ICM4ODkxYTQ7XG4gICAgLS1waWNvLW1hcmstYmFja2dyb3VuZC1jb2xvcjogIzAxNDA2MztcbiAgICAtLXBpY28tbWFyay1jb2xvcjogI2ZmZjtcbiAgICAtLXBpY28taW5zLWNvbG9yOiAjNjJhZjlhO1xuICAgIC0tcGljby1kZWwtY29sb3I6IHJnYigyMDUuNSwgMTI2LCAxMjMpO1xuICAgIC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgIC0tcGljby1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gICAgLS1waWNvLWJ1dHRvbi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIC0tcGljby1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6IHJnYigyOCwgMzMsIDQzLjUpO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogIzJhMzE0MDtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcjogIzJhMzE0MDtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWNvbG9yOiAjZTBlM2U3O1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtcGxhY2Vob2xkZXItY29sb3I6ICM4ODkxYTQ7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogcmdiKDI2LCAzMC41LCA0MC4yNSk7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWRpc2FibGVkLW9wYWNpdHk6IDAuNTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yOiByZ2IoMTQ5LjUsIDc0LCA4MCk7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6IHJnYigxODMuMjUsIDYzLjUsIDU5KTtcbiAgICAtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3I6ICMyYTdiNmY7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMjIsIDEzNywgMTA1LjUpO1xuICAgIC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIC0tcGljby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcjogIzMzM2M0ZTtcbiAgICAtLXBpY28tc3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAgIC0tcGljby1zd2l0Y2gtY29sb3I6ICNmZmY7XG4gICAgLS1waWNvLXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAgIC0tcGljby1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgLS1waWNvLWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyKTtcbiAgICAtLXBpY28tYWNjb3JkaW9uLWNsb3NlLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgIC0tcGljby1hY2NvcmRpb24tb3Blbi1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgICAtLXBpY28tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiAjMTgxYzI1O1xuICAgIC0tcGljby1jYXJkLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1jYXJkLWJhY2tncm91bmQtY29sb3IpO1xuICAgIC0tcGljby1jYXJkLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYm94LXNoYWRvdyk7XG4gICAgLS1waWNvLWNhcmQtc2VjdGlvbmluZy1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjYsIDMwLjUsIDQwLjI1KTtcbiAgICAtLXBpY28tZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogIzE4MWMyNTtcbiAgICAtLXBpY28tZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjMjAyNjMyO1xuICAgIC0tcGljby1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICAgIC0tcGljby1kcm9wZG93bi1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgLS1waWNvLWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3I6ICMyMDI2MzI7XG4gICAgLS1waWNvLWljb24tdmFsaWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoNDIsIDEyMywgMTExKScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIC0tcGljby1pY29uLWludmFsaWQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdyZ2IoMTQ5LjUsIDc0LCA4MCknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nOCcgeDI9JzEyJyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzE2JyB4Mj0nMTIuMDEnIHkyPScxNiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG4gIH1cbiAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lXSkgaW5wdXQ6aXMoW3R5cGU9c3VibWl0XSxcbiAgW3R5cGU9YnV0dG9uXSxcbiAgW3R5cGU9cmVzZXRdLFxuICBbdHlwZT1jaGVja2JveF0sXG4gIFt0eXBlPXJhZGlvXSxcbiAgW3R5cGU9ZmlsZV0pLFxuICA6aG9zdCg6bm90KFtkYXRhLXRoZW1lXSkpIGlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sXG4gIFt0eXBlPWJ1dHRvbl0sXG4gIFt0eXBlPXJlc2V0XSxcbiAgW3R5cGU9Y2hlY2tib3hdLFxuICBbdHlwZT1yYWRpb10sXG4gIFt0eXBlPWZpbGVdKSB7XG4gICAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbiAgfVxuICA6cm9vdDpub3QoW2RhdGEtdGhlbWVdKSBkZXRhaWxzIHN1bW1hcnlbcm9sZT1idXR0b25dLmNvbnRyYXN0Om5vdCgub3V0bGluZSk6OmFmdGVyLFxuICA6aG9zdCg6bm90KFtkYXRhLXRoZW1lXSkpIGRldGFpbHMgc3VtbWFyeVtyb2xlPWJ1dHRvbl0uY29udHJhc3Q6bm90KC5vdXRsaW5lKTo6YWZ0ZXIge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKTtcbiAgfVxufVxuW2RhdGEtdGhlbWU9ZGFya10ge1xuICBjb2xvci1zY2hlbWU6IGRhcms7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTksIDIyLjUsIDMwLjUpO1xuICAtLXBpY28tY29sb3I6ICNjMmM3ZDA7XG4gIC0tcGljby10ZXh0LXNlbGVjdGlvbi1jb2xvcjogcmdiYSgxLCAxNzAsIDI1NSwgMC4xODc1KTtcbiAgLS1waWNvLW11dGVkLWNvbG9yOiAjN2I4NDk1O1xuICAtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yOiAjMjAyNjMyO1xuICAtLXBpY28tcHJpbWFyeTogIzAxYWFmZjtcbiAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogIzAxNzJhZDtcbiAgLS1waWNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1waWNvLXByaW1hcnktYmFja2dyb3VuZCk7XG4gIC0tcGljby1wcmltYXJ5LXVuZGVybGluZTogcmdiYSgxLCAxNzAsIDI1NSwgMC41KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXI6ICM3OWMwZmY7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICMwMTdmYzA7XG4gIC0tcGljby1wcmltYXJ5LWhvdmVyLWJvcmRlcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlcik7XG4gIC0tcGljby1wcmltYXJ5LWZvY3VzOiByZ2JhKDEsIDE3MCwgMjU1LCAwLjM3NSk7XG4gIC0tcGljby1wcmltYXJ5LWludmVyc2U6ICNmZmY7XG4gIC0tcGljby1zZWNvbmRhcnk6ICM5NjllYWY7XG4gIC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZDogIzUyNWY3YTtcbiAgLS1waWNvLXNlY29uZGFyeS1ib3JkZXI6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tc2Vjb25kYXJ5LXVuZGVybGluZTogcmdiYSgxNTAsIDE1OCwgMTc1LCAwLjUpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiAjYjNiOWM1O1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICM1ZDZiODk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItYm9yZGVyOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyKTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogcmdiYSgxNDQsIDE1OCwgMTkwLCAwLjI1KTtcbiAgLS1waWNvLXNlY29uZGFyeS1pbnZlcnNlOiAjZmZmO1xuICAtLXBpY28tY29udHJhc3Q6ICNkZmUzZWI7XG4gIC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kOiAjZWZmMWY0O1xuICAtLXBpY28tY29udHJhc3QtYm9yZGVyOiB2YXIoLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAtLXBpY28tY29udHJhc3QtdW5kZXJsaW5lOiByZ2JhKDIyMywgMjI3LCAyMzUsIDAuNSk7XG4gIC0tcGljby1jb250cmFzdC1ob3ZlcjogI2ZmZjtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQ6ICNmZmY7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci11bmRlcmxpbmU6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXIpO1xuICAtLXBpY28tY29udHJhc3QtZm9jdXM6IHJnYmEoMjA3LCAyMTMsIDIyNiwgMC4yNSk7XG4gIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiAjMDAwO1xuICAtLXBpY28tYm94LXNoYWRvdzogMC4wMTQ1cmVtIDAuMDI5cmVtIDAuMTc0cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wMTY5OCksIDAuMDMzNXJlbSAwLjA2N3JlbSAwLjQwMnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDI0KSwgMC4wNjI1cmVtIDAuMTI1cmVtIDAuNzVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAzKSwgMC4xMTI1cmVtIDAuMjI1cmVtIDEuMzVyZW0gcmdiYSg3LCA4LjUsIDEyLCAwLjAzNiksIDAuMjA4NXJlbSAwLjQxN3JlbSAyLjUwMnJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDQzMDIpLCAwLjVyZW0gMXJlbSA2cmVtIHJnYmEoNywgOC41LCAxMiwgMC4wNiksIDAgMCAwIDAuMDYyNXJlbSByZ2JhKDcsIDguNSwgMTIsIDAuMDE1KTtcbiAgLS1waWNvLWgxLWNvbG9yOiAjZjBmMWYzO1xuICAtLXBpY28taDItY29sb3I6ICNlMGUzZTc7XG4gIC0tcGljby1oMy1jb2xvcjogI2MyYzdkMDtcbiAgLS1waWNvLWg0LWNvbG9yOiAjYjNiOWM1O1xuICAtLXBpY28taDUtY29sb3I6ICNhNGFjYmE7XG4gIC0tcGljby1oNi1jb2xvcjogIzg4OTFhNDtcbiAgLS1waWNvLW1hcmstYmFja2dyb3VuZC1jb2xvcjogIzAxNDA2MztcbiAgLS1waWNvLW1hcmstY29sb3I6ICNmZmY7XG4gIC0tcGljby1pbnMtY29sb3I6ICM2MmFmOWE7XG4gIC0tcGljby1kZWwtY29sb3I6IHJnYigyMDUuNSwgMTI2LCAxMjMpO1xuICAtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgLS1waWNvLWJ1dHRvbi1ib3gtc2hhZG93OiAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICAtLXBpY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcjogcmdiKDI4LCAzMywgNDMuNSk7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogIzJhMzE0MDtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6ICMyYTMxNDA7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtY29sb3I6ICNlMGUzZTc7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtcGxhY2Vob2xkZXItY29sb3I6ICM4ODkxYTQ7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3I6IHJnYigyNiwgMzAuNSwgNDAuMjUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ib3JkZXIpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5OiAwLjU7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3I6IHJnYigxNDkuNSwgNzQsIDgwKTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6IHJnYigxODMuMjUsIDYzLjUsIDU5KTtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcjogIzJhN2I2ZjtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiByZ2IoMjIsIDEzNywgMTA1LjUpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yOiAjMzMzYzRlO1xuICAtLXBpY28tc3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tc3dpdGNoLWNvbG9yOiAjZmZmO1xuICAtLXBpY28tc3dpdGNoLXRodW1iLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIC0tcGljby1hY2NvcmRpb24tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlcik7XG4gIC0tcGljby1hY2NvcmRpb24tY2xvc2Utc3VtbWFyeS1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIC0tcGljby1hY2NvcmRpb24tb3Blbi1zdW1tYXJ5LWNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgLS1waWNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcjogIzE4MWMyNTtcbiAgLS1waWNvLWNhcmQtYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcGljby1jYXJkLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYm94LXNoYWRvdyk7XG4gIC0tcGljby1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcjogcmdiKDI2LCAzMC41LCA0MC4yNSk7XG4gIC0tcGljby1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yOiAjMTgxYzI1O1xuICAtLXBpY28tZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAjMjAyNjMyO1xuICAtLXBpY28tZHJvcGRvd24tYm94LXNoYWRvdzogdmFyKC0tcGljby1ib3gtc2hhZG93KTtcbiAgLS1waWNvLWRyb3Bkb3duLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgLS1waWNvLWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3I6ICMyMDI2MzI7XG4gIC0tcGljby1pY29uLXZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0ncmdiKDQyLCAxMjMsIDExMSknIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ3BvbHlsaW5lIHBvaW50cz0nMjAgNiA5IDE3IDQgMTInJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgLS1waWNvLWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J3JnYigxNDkuNSwgNzQsIDgwKScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMi4wMScgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIGlucHV0OmlzKFt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1idXR0b25dLFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZmlsZV0pIHtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbn1cbltkYXRhLXRoZW1lPWRhcmtdIGRldGFpbHMgc3VtbWFyeVtyb2xlPWJ1dHRvbl0uY29udHJhc3Q6bm90KC5vdXRsaW5lKTo6YWZ0ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMCk7XG59XG5cbnByb2dyZXNzLFxuW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9cmFuZ2VdIHtcbiAgYWNjZW50LWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xufVxuXG4vKipcbiAqIERvY3VtZW50XG4gKiBDb250ZW50LWJveCAmIFJlc3BvbnNpdmUgdHlwb2dyYXBoeVxuICovXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG46OmJlZm9yZSxcbjo6YWZ0ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBpbmhlcml0O1xufVxuXG46d2hlcmUoOnJvb3QpLFxuOndoZXJlKDpob3N0KSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBmb250LXdlaWdodDogdmFyKC0tcGljby1mb250LXdlaWdodCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tcGljby1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogdmFyKC0tcGljby1saW5lLWhlaWdodCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1waWNvLWZvbnQtZmFtaWx5KTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiB2YXIoLS1waWNvLXRleHQtdW5kZXJsaW5lLW9mZnNldCk7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHRhYi1zaXplOiA0O1xufVxuXG4vKipcbiAqIExhbmRtYXJrc1xuICovXG5ib2R5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbn1cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5ib2R5ID4gaGVhZGVyLFxuYm9keSA+IG1haW4sXG5ib2R5ID4gZm9vdGVyIHtcbiAgcGFkZGluZy1ibG9jazogdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuLyoqXG4gKiBTZWN0aW9uXG4gKi9cbnNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xufVxuXG4vKipcbiAqIENvbnRhaW5lclxuICovXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxNTM2cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIH1cbn1cblxuLyoqXG4gKiBHcmlkXG4gKiBNaW5pbWFsIGdyaWQgc3lzdGVtIHdpdGggYXV0by1sYXlvdXQgY29sdW1uc1xuICovXG4uZ3JpZCB7XG4gIGdyaWQtY29sdW1uLWdhcDogdmFyKC0tcGljby1ncmlkLWNvbHVtbi1nYXApO1xuICBncmlkLXJvdy1nYXA6IHZhcigtLXBpY28tZ3JpZC1yb3ctZ2FwKTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMCUsIDFmcikpO1xuICB9XG59XG4uZ3JpZCA+ICoge1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi8qKlxuICogT3ZlcmZsb3cgYXV0b1xuICovXG4ub3ZlcmZsb3ctYXV0byB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIFR5cG9ncmFwaHlcbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbnN1YixcbnN1cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbmFkZHJlc3MsXG5ibG9ja3F1b3RlLFxuZGwsXG5vbCxcbnAsXG5wcmUsXG50YWJsZSxcbnVsIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBpY28tZm9udC13ZWlnaHQpO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBpY28tZm9udC13ZWlnaHQpO1xuICBmb250LXNpemU6IHZhcigtLXBpY28tZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXBpY28tbGluZS1oZWlnaHQpO1xuICBmb250LWZhbWlseTogdmFyKC0tcGljby1mb250LWZhbWlseSk7XG59XG5cbmgxIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWgxLWNvbG9yKTtcbn1cblxuaDIge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28taDItY29sb3IpO1xufVxuXG5oMyB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1oMy1jb2xvcik7XG59XG5cbmg0IHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWg0LWNvbG9yKTtcbn1cblxuaDUge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28taDUtY29sb3IpO1xufVxuXG5oNiB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1oNi1jb2xvcik7XG59XG5cbjp3aGVyZShhcnRpY2xlLCBhZGRyZXNzLCBibG9ja3F1b3RlLCBkbCwgZmlndXJlLCBmb3JtLCBvbCwgcCwgcHJlLCB0YWJsZSwgdWwpIH4gOmlzKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHtcbiAgbWFyZ2luLXRvcDogdmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdG9wKTtcbn1cblxucCB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tdHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbn1cblxuaGdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xufVxuaGdyb3VwID4gKiB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5oZ3JvdXAgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpOmxhc3QtY2hpbGQge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAtLXBpY28tZm9udC13ZWlnaHQ6IHVuc2V0O1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbjp3aGVyZShvbCwgdWwpIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjI1KTtcbn1cblxuOndoZXJlKGRsLCBvbCwgdWwpIDp3aGVyZShkbCwgb2wsIHVsKSB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjI1KTtcbn1cblxudWwgbGkge1xuICBsaXN0LXN0eWxlOiBzcXVhcmU7XG59XG5cbm1hcmsge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLW1hcmstYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLW1hcmstY29sb3IpO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbmJsb2NrcXVvdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiB2YXIoLS1waWNvLXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgMDtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogMC4yNXJlbSBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLWlubGluZS1zdGFydDogMC4yNXJlbSBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLWlubGluZS1lbmQ6IG5vbmU7XG59XG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpICogMC41KTtcbiAgY29sb3I6IHZhcigtLXBpY28tYmxvY2txdW90ZS1mb290ZXItY29sb3IpO1xufVxuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5pbnMge1xuICBjb2xvcjogdmFyKC0tcGljby1pbnMtY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmRlbCB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWRlbC1jb2xvcik7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby10ZXh0LXNlbGVjdGlvbi1jb2xvcik7XG59XG5cbi8qKlxuICogTGlua1xuICovXG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpLFxuW3JvbGU9bGlua10ge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1waWNvLXVuZGVybGluZTogdmFyKC0tcGljby1wcmltYXJ5LXVuZGVybGluZSk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiB2YXIoLS1waWNvLXRleHQtZGVjb3JhdGlvbik7XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogdmFyKC0tcGljby11bmRlcmxpbmUpO1xuICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMTI1ZW07XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgdGV4dC1kZWNvcmF0aW9uIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGJveC1zaGFkb3cgdmFyKC0tcGljby10cmFuc2l0aW9uKTtcbn1cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSk6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3JvbGU9bGlua106aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXIpO1xuICAtLXBpY28tdW5kZXJsaW5lOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lKTtcbiAgLS1waWNvLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuOndoZXJlKGE6bm90KFtyb2xlPWJ1dHRvbl0pKTpmb2N1cy12aXNpYmxlLFxuW3JvbGU9bGlua106Zm9jdXMtdmlzaWJsZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbn1cbjp3aGVyZShhOm5vdChbcm9sZT1idXR0b25dKSkuc2Vjb25kYXJ5LFxuW3JvbGU9bGlua10uc2Vjb25kYXJ5IHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeSk7XG4gIC0tcGljby11bmRlcmxpbmU6IHZhcigtLXBpY28tc2Vjb25kYXJ5LXVuZGVybGluZSk7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpLnNlY29uZGFyeTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bcm9sZT1saW5rXS5zZWNvbmRhcnk6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlcik7XG4gIC0tcGljby11bmRlcmxpbmU6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZSk7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpLmNvbnRyYXN0LFxuW3JvbGU9bGlua10uY29udHJhc3Qge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QpO1xuICAtLXBpY28tdW5kZXJsaW5lOiB2YXIoLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZSk7XG59XG46d2hlcmUoYTpub3QoW3JvbGU9YnV0dG9uXSkpLmNvbnRyYXN0OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcbltyb2xlPWxpbmtdLmNvbnRyYXN0OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdC1ob3Zlcik7XG4gIC0tcGljby11bmRlcmxpbmU6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXItdW5kZXJsaW5lKTtcbn1cblxuYVtyb2xlPWJ1dHRvbl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQnV0dG9uXG4gKi9cbmJ1dHRvbiB7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuYnV0dG9uLFxuW3R5cGU9c3VibWl0XSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWJ1dHRvbl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuYnV0dG9uLFxuW3R5cGU9c3VibWl0XSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWJ1dHRvbl0sXG5bdHlwZT1maWxlXTo6ZmlsZS1zZWxlY3Rvci1idXR0b24sXG5bcm9sZT1idXR0b25dIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAtLXBpY28tYm94LXNoYWRvdzogdmFyKC0tcGljby1idXR0b24tYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIGJvcmRlcjogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBpY28tYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcGljby1ib3gtc2hhZG93KTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBmb250LXdlaWdodDogdmFyKC0tcGljby1mb250LXdlaWdodCk7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXBpY28tbGluZS1oZWlnaHQpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBib3JkZXItY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgYm94LXNoYWRvdyB2YXIoLS1waWNvLXRyYW5zaXRpb24pO1xufVxuYnV0dG9uOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpLCBidXR0b246aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3R5cGU9c3VibWl0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSxcblt0eXBlPXN1Ym1pdF06aXMoOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3R5cGU9cmVzZXRdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpLFxuW3R5cGU9cmVzZXRdOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPWJ1dHRvbl06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSksXG5bdHlwZT1idXR0b25dOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKSxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cyksXG5bcm9sZT1idXR0b25dOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpLFxuW3JvbGU9YnV0dG9uXTppcyg6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaG92ZXItYm9yZGVyKTtcbiAgLS1waWNvLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbn1cbmJ1dHRvbjpmb2N1cywgYnV0dG9uOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzLFxuW3R5cGU9c3VibWl0XTpmb2N1cyxcblt0eXBlPXN1Ym1pdF06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1yZXNldF06Zm9jdXMsXG5bdHlwZT1yZXNldF06aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSk6Zm9jdXMsXG5bdHlwZT1idXR0b25dOmZvY3VzLFxuW3R5cGU9YnV0dG9uXTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpmb2N1cyxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyxcbltyb2xlPWJ1dHRvbl06Zm9jdXMsXG5bcm9sZT1idXR0b25dOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzIHtcbiAgLS1waWNvLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpLCAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG59XG5cblt0eXBlPXN1Ym1pdF0sXG5bdHlwZT1yZXNldF0sXG5bdHlwZT1idXR0b25dIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cblxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuc2Vjb25kYXJ5LFxuW3R5cGU9cmVzZXRdLFxuW3R5cGU9ZmlsZV06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ib3JkZXIpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWludmVyc2UpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5zZWNvbmRhcnk6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3R5cGU9cmVzZXRdOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSksIDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJvcmRlcik7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnktaW52ZXJzZSk7XG59XG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5zZWNvbmRhcnk6Zm9jdXMsIDppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLnNlY29uZGFyeTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyxcblt0eXBlPXJlc2V0XTpmb2N1cyxcblt0eXBlPXJlc2V0XTppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjpmb2N1cyxcblt0eXBlPWZpbGVdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pKTpmb2N1cyB7XG4gIC0tcGljby1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWJ1dHRvbi1ob3Zlci1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKSwgMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLXNlY29uZGFyeS1mb2N1cyk7XG59XG5cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLmNvbnRyYXN0IHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QtYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QtYm9yZGVyKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWludmVyc2UpO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuY29udHJhc3Q6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXItYm9yZGVyKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWludmVyc2UpO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkuY29udHJhc3Q6Zm9jdXMsIDppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLmNvbnRyYXN0OmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkpOmZvY3VzIHtcbiAgLS1waWNvLWJveC1zaGFkb3c6IHZhcigtLXBpY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpLCAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tY29udHJhc3QtZm9jdXMpO1xufVxuXG46aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKS5vdXRsaW5lLFxuW3R5cGU9cmVzZXRdLm91dGxpbmUge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbn1cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLm91dGxpbmU6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3R5cGU9cmVzZXRdLm91dGxpbmU6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlcik7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1ob3Zlcik7XG59XG5cbjppcyhidXR0b24sIFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0sIFtyb2xlPWJ1dHRvbl0pLm91dGxpbmUuc2Vjb25kYXJ5LFxuW3R5cGU9cmVzZXRdLm91dGxpbmUge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5KTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1zZWNvbmRhcnkpO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkub3V0bGluZS5zZWNvbmRhcnk6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpLFxuW3R5cGU9cmVzZXRdLm91dGxpbmU6aXMoW2FyaWEtY3VycmVudF06bm90KFthcmlhLWN1cnJlbnQ9ZmFsc2VdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXNlY29uZGFyeS1ob3Zlcik7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tc2Vjb25kYXJ5LWhvdmVyKTtcbn1cblxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkub3V0bGluZS5jb250cmFzdCB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb250cmFzdCk7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QpO1xufVxuOmlzKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3JvbGU9YnV0dG9uXSkub3V0bGluZS5jb250cmFzdDppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29udHJhc3QtaG92ZXIpO1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWNvbnRyYXN0LWhvdmVyKTtcbn1cblxuOndoZXJlKGJ1dHRvbiwgW3R5cGU9c3VibWl0XSwgW3R5cGU9cmVzZXRdLCBbdHlwZT1idXR0b25dLCBbcm9sZT1idXR0b25dKVtkaXNhYmxlZF0sXG46d2hlcmUoZmllbGRzZXRbZGlzYWJsZWRdKSA6aXMoYnV0dG9uLCBbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dLCBbdHlwZT1yZXNldF0sIFtyb2xlPWJ1dHRvbl0pIHtcbiAgb3BhY2l0eTogMC41O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyoqXG4gKiBFbWJlZGRlZCBjb250ZW50XG4gKi9cbjp3aGVyZShhdWRpbywgY2FudmFzLCBpZnJhbWUsIGltZywgc3ZnLCB2aWRlbykge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbjp3aGVyZShpZnJhbWUpIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG46d2hlcmUoc3ZnOm5vdChbZmlsbF0pKSB7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbn1cblxuc3ZnOm5vdCg6cm9vdCksXG5zdmc6bm90KDpob3N0KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qKlxuICogRmlndXJlXG4gKi9cbmZpZ3VyZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5maWd1cmUgZmlnY2FwdGlvbiB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDAuNSkgMDtcbiAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xufVxuXG4vKipcbiAqIE1pc2NcbiAqL1xuaHIge1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogdmFyKC0tcGljby10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpIDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBCYXNpY3MgZm9ybSBlbGVtZW50c1xuICovXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLXBpY28tbGluZS1oZWlnaHQpO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG59XG5cbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5bdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10ge1xuICBwYWRkaW5nOiAwO1xufVxuXG46Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG46Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPXNlYXJjaF0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cblt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuOjotbW96LWZvY3VzLWlubmVyIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG46LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG46LW1vei11aS1pbnZhbGlkIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuOjotbXMtZXhwYW5kIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuW3R5cGU9ZmlsZV0sXG5bdHlwZT1yYW5nZV0ge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItd2lkdGg6IDA7XG59XG5cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdKSB7XG4gIGhlaWdodDogY2FsYygxcmVtICogdmFyKC0tcGljby1saW5lLWhlaWdodCkgKyB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDIgKyB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgKiAyKTtcbn1cblxuZmllbGRzZXQge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbmxhYmVsLFxuZmllbGRzZXQgbGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDAuMzc1KTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBmb250LXdlaWdodDogdmFyKC0tcGljby1mb3JtLWxhYmVsLWZvbnQtd2VpZ2h0LCB2YXIoLS1waWNvLWZvbnQtd2VpZ2h0KSk7XG59XG5cbmZpZWxkc2V0IGxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDAuNSk7XG59XG5cbmlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSksXG5idXR0b25bdHlwZT1zdWJtaXRdLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICB3aWR0aDogMTAwJTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1jb2xvcik7XG4gIC0tcGljby1ib3gtc2hhZG93OiBub25lO1xuICBib3JkZXI6IHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBpY28tYm94LXNoYWRvdyk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZm9udC13ZWlnaHQ6IHZhcigtLXBpY28tZm9udC13ZWlnaHQpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGJvcmRlci1jb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBjb2xvciB2YXIoLS1waWNvLXRyYW5zaXRpb24pLCBib3gtc2hhZG93IHZhcigtLXBpY28tdHJhbnNpdGlvbik7XG59XG5cbmlucHV0Om5vdChbdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSxcbltyZWFkb25seV0pOmlzKDphY3RpdmUsIDpmb2N1cyksXG46d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3R5cGU9cmVzZXRdLCBbcm9sZT1zd2l0Y2hdLCBbcmVhZG9ubHldKTppcyg6YWN0aXZlLCA6Zm9jdXMpLFxuOndoZXJlKHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbcmVhZG9ubHldKTppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcik7XG59XG5cbmlucHV0Om5vdChbdHlwZT1zdWJtaXRdLFxuW3R5cGU9YnV0dG9uXSxcblt0eXBlPXJlc2V0XSxcblt0eXBlPXJhbmdlXSxcblt0eXBlPWZpbGVdLFxuW3JlYWRvbmx5XSk6Zm9jdXMsXG46d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pOmZvY3VzIHtcbiAgLS1waWNvLWJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3IpO1xufVxuXG5pbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3R5cGU9cmVzZXRdKVtkaXNhYmxlZF0sXG5zZWxlY3RbZGlzYWJsZWRdLFxudGV4dGFyZWFbZGlzYWJsZWRdLFxubGFiZWxbYXJpYS1kaXNhYmxlZD10cnVlXSxcbjp3aGVyZShmaWVsZHNldFtkaXNhYmxlZF0pIDppcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSwgW3R5cGU9cmVzZXRdKSwgc2VsZWN0LCB0ZXh0YXJlYSkge1xuICBvcGFjaXR5OiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmxhYmVsW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0gaW5wdXRbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKTpub3QoW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZGF0ZV0sXG5bdHlwZT1kYXRldGltZS1sb2NhbF0sXG5bdHlwZT1tb250aF0sXG5bdHlwZT10aW1lXSxcblt0eXBlPXdlZWtdLFxuW3R5cGU9cmFuZ2VdKVthcmlhLWludmFsaWRdIHtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtKSAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMC43NXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpOm5vdChbdHlwZT1jaGVja2JveF0sXG5bdHlwZT1yYWRpb10sXG5bdHlwZT1kYXRlXSxcblt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcblt0eXBlPW1vbnRoXSxcblt0eXBlPXRpbWVdLFxuW3R5cGU9d2Vla10sXG5bdHlwZT1yYW5nZV0pW2FyaWEtaW52YWxpZD1mYWxzZV06bm90KHNlbGVjdCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tdmFsaWQpO1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKTpub3QoW3R5cGU9Y2hlY2tib3hdLFxuW3R5cGU9cmFkaW9dLFxuW3R5cGU9ZGF0ZV0sXG5bdHlwZT1kYXRldGltZS1sb2NhbF0sXG5bdHlwZT1tb250aF0sXG5bdHlwZT10aW1lXSxcblt0eXBlPXdlZWtdLFxuW3R5cGU9cmFuZ2VdKVthcmlhLWludmFsaWQ9dHJ1ZV06bm90KHNlbGVjdCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24taW52YWxpZCk7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpW2FyaWEtaW52YWxpZD1mYWxzZV0ge1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKVthcmlhLWludmFsaWQ9ZmFsc2VdOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKVthcmlhLWludmFsaWQ9ZmFsc2VdOmlzKDphY3RpdmUsIDpmb2N1cyk6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSB7XG4gIC0tcGljby1ib3gtc2hhZG93OiAwIDAgMCB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKVthcmlhLWludmFsaWQ9dHJ1ZV0ge1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG59XG46d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpW2FyaWEtaW52YWxpZD10cnVlXTppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yKSAhaW1wb3J0YW50O1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKVthcmlhLWludmFsaWQ9dHJ1ZV06aXMoOmFjdGl2ZSwgOmZvY3VzKTpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pIHtcbiAgLS1waWNvLWJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcikgIWltcG9ydGFudDtcbn1cblxuW2Rpcj1ydGxdIDp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKTppcyhbYXJpYS1pbnZhbGlkXSwgW2FyaWEtaW52YWxpZD10cnVlXSwgW2FyaWEtaW52YWxpZD1mYWxzZV0pIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgMC43NXJlbTtcbn1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxuaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6cGxhY2Vob2xkZXIsXG50ZXh0YXJlYTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbnNlbGVjdDppbnZhbGlkIHtcbiAgY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgb3BhY2l0eTogMTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cblxuc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbnNlbGVjdDpub3QoW211bHRpcGxlXSwgW3NpemVdKSB7XG4gIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLWNoZXZyb24pO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMC43NXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5zZWxlY3RbbXVsdGlwbGVdIG9wdGlvbjpjaGVja2VkIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1jb2xvcik7XG59XG5cbltkaXI9cnRsXSBzZWxlY3Q6bm90KFttdWx0aXBsZV0sIFtzaXplXSkge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAwLjc1cmVtO1xufVxuXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxudGV4dGFyZWFbYXJpYS1pbnZhbGlkXSB7XG4gIC0tcGljby1pY29uLWhlaWdodDogY2FsYygxcmVtICogdmFyKC0tcGljby1saW5lLWhlaWdodCkgKyB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDIgKyB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgKiAyKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIHJpZ2h0IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1zaXplOiAxcmVtIHZhcigtLXBpY28taWNvbi1oZWlnaHQpICFpbXBvcnRhbnQ7XG59XG5cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgZmllbGRzZXQsIC5ncmlkKSArIHNtYWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAtMC43NSk7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbn1cbjp3aGVyZShpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgZmllbGRzZXQsIC5ncmlkKVthcmlhLWludmFsaWQ9ZmFsc2VdICsgc21hbGwge1xuICBjb2xvcjogdmFyKC0tcGljby1pbnMtY29sb3IpO1xufVxuOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBmaWVsZHNldCwgLmdyaWQpW2FyaWEtaW52YWxpZD10cnVlXSArIHNtYWxsIHtcbiAgY29sb3I6IHZhcigtLXBpY28tZGVsLWNvbG9yKTtcbn1cblxubGFiZWwgPiA6d2hlcmUoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMC4yNSk7XG59XG5cbi8qKlxuICogQ2hlY2tib3hlcywgUmFkaW9zIGFuZCBTd2l0Y2hlc1xuICovXG5sYWJlbDpoYXMoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblt0eXBlPWNoZWNrYm94XSxcblt0eXBlPXJhZGlvXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMS4yNWVtO1xuICBoZWlnaHQ6IDEuMjVlbTtcbiAgbWFyZ2luLXRvcDogLTAuMTI1ZW07XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAwLjVlbTtcbiAgYm9yZGVyLXdpZHRoOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblt0eXBlPWNoZWNrYm94XTo6LW1zLWNoZWNrLFxuW3R5cGU9cmFkaW9dOjotbXMtY2hlY2sge1xuICBkaXNwbGF5OiBub25lO1xufVxuW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQsIFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmFjdGl2ZSwgW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6Zm9jdXMsXG5bdHlwZT1yYWRpb106Y2hlY2tlZCxcblt0eXBlPXJhZGlvXTpjaGVja2VkOmFjdGl2ZSxcblt0eXBlPXJhZGlvXTpjaGVja2VkOmZvY3VzIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1jaGVja2JveCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjc1ZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblt0eXBlPWNoZWNrYm94XSB+IGxhYmVsLFxuW3R5cGU9cmFkaW9dIH4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblt0eXBlPWNoZWNrYm94XSB+IGxhYmVsOm5vdCg6bGFzdC1vZi10eXBlKSxcblt0eXBlPXJhZGlvXSB+IGxhYmVsOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi1pbmxpbmUtZW5kOiAxZW07XG59XG5cblt0eXBlPWNoZWNrYm94XTppbmRldGVybWluYXRlIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWJvcmRlcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1taW51cyk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAwLjc1ZW0gYXV0bztcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuW3R5cGU9cmFkaW9dIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuW3R5cGU9cmFkaW9dOmNoZWNrZWQsIFt0eXBlPXJhZGlvXTpjaGVja2VkOmFjdGl2ZSwgW3R5cGU9cmFkaW9dOmNoZWNrZWQ6Zm9jdXMge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBib3JkZXItd2lkdGg6IDAuMzVlbTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXSB7XG4gIC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLXN3aXRjaC1jb2xvcik7XG4gIHdpZHRoOiAyLjI1ZW07XG4gIGhlaWdodDogMS4yNWVtO1xuICBib3JkZXI6IHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IDEuMjVlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbn1cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06bm90KFthcmlhLWludmFsaWRdKSB7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tc3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xufVxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpiZWZvcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYXNwZWN0LXJhdGlvOiAxO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBpY28tc3dpdGNoLXRodW1iLWJveC1zaGFkb3cpO1xuICBjb250ZW50OiBcIlwiO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMC4xcyBlYXNlLWluLW91dDtcbn1cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Zm9jdXMge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tc3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xufVxuW3R5cGU9Y2hlY2tib3hdW3JvbGU9c3dpdGNoXTpjaGVja2VkIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tc3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcik7XG4gIC0tcGljby1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tc3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQ6OmJlZm9yZSB7XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoMi4yNWVtIC0gMS4yNWVtKTtcbn1cblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bZGlzYWJsZWRdIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYm9yZGVyLWNvbG9yKTtcbn1cblxuW3R5cGU9Y2hlY2tib3hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZCwgW3R5cGU9Y2hlY2tib3hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDphY3RpdmUsIFt0eXBlPWNoZWNrYm94XVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6Zm9jdXMsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZCxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmFjdGl2ZSxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmZvY3VzIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcik7XG59XG5bdHlwZT1jaGVja2JveF06Y2hlY2tlZFthcmlhLWludmFsaWQ9dHJ1ZV0sIFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmFjdGl2ZVthcmlhLWludmFsaWQ9dHJ1ZV0sIFt0eXBlPWNoZWNrYm94XTpjaGVja2VkOmZvY3VzW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Y2hlY2tlZFthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQ6YWN0aXZlW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Y2hlY2tlZDpmb2N1c1thcmlhLWludmFsaWQ9dHJ1ZV0ge1xuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xufVxuXG5bdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkLCBbdHlwZT1jaGVja2JveF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmFjdGl2ZSwgW3R5cGU9Y2hlY2tib3hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZDpmb2N1cyxcblt0eXBlPXJhZGlvXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQsXG5bdHlwZT1yYWRpb11bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmFjdGl2ZSxcblt0eXBlPXJhZGlvXVthcmlhLWludmFsaWQ9ZmFsc2VdOmNoZWNrZWQ6Zm9jdXMsXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdW2FyaWEtaW52YWxpZD1mYWxzZV06Y2hlY2tlZCxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmFjdGl2ZSxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF1bYXJpYS1pbnZhbGlkPWZhbHNlXTpjaGVja2VkOmZvY3VzIHtcbiAgLS1waWNvLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yKTtcbn1cblt0eXBlPWNoZWNrYm94XTpjaGVja2VkW2FyaWEtaW52YWxpZD10cnVlXSwgW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6YWN0aXZlW2FyaWEtaW52YWxpZD10cnVlXSwgW3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQ6Zm9jdXNbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9cmFkaW9dOmNoZWNrZWRbYXJpYS1pbnZhbGlkPXRydWVdLFxuW3R5cGU9cmFkaW9dOmNoZWNrZWQ6YWN0aXZlW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPXJhZGlvXTpjaGVja2VkOmZvY3VzW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Y2hlY2tlZFthcmlhLWludmFsaWQ9dHJ1ZV0sXG5bdHlwZT1jaGVja2JveF1bcm9sZT1zd2l0Y2hdOmNoZWNrZWQ6YWN0aXZlW2FyaWEtaW52YWxpZD10cnVlXSxcblt0eXBlPWNoZWNrYm94XVtyb2xlPXN3aXRjaF06Y2hlY2tlZDpmb2N1c1thcmlhLWludmFsaWQ9dHJ1ZV0ge1xuICAtLXBpY28tYm9yZGVyLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvcik7XG59XG5cbi8qKlxuICogSW5wdXQgdHlwZSBzZWFyY2hcbiAqL1xuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKVt0eXBlPXNlYXJjaF0ge1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS43NXJlbSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLXBpY28taWNvbi1zZWFyY2gpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAwLjEyNXJlbSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dLCBbdHlwZT1yYW5nZV0sIFt0eXBlPWZpbGVdKVt0eXBlPXNlYXJjaF1bYXJpYS1pbnZhbGlkXSB7XG4gIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjc1cmVtKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAxLjEyNXJlbSwgY2VudGVyIHJpZ2h0IDAuNzVyZW07XG59XG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXVthcmlhLWludmFsaWQ9ZmFsc2VdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLXNlYXJjaCksIHZhcigtLXBpY28taWNvbi12YWxpZCk7XG59XG5pbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXVthcmlhLWludmFsaWQ9dHJ1ZV0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1waWNvLWljb24tc2VhcmNoKSwgdmFyKC0tcGljby1pY29uLWludmFsaWQpO1xufVxuXG5bZGlyPXJ0bF0gOndoZXJlKGlucHV0KTpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pW3R5cGU9c2VhcmNoXSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAxLjEyNXJlbTtcbn1cbltkaXI9cnRsXSA6d2hlcmUoaW5wdXQpOm5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSwgW3R5cGU9cmFuZ2VdLCBbdHlwZT1maWxlXSlbdHlwZT1zZWFyY2hdW2FyaWEtaW52YWxpZF0ge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgMS4xMjVyZW0sIGNlbnRlciBsZWZ0IDAuNzVyZW07XG59XG5cbi8qKlxuICogQWNjb3JkaW9uICg8ZGV0YWlscz4pXG4gKi9cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbmRldGFpbHMgc3VtbWFyeSB7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKTtcbn1cbmRldGFpbHMgc3VtbWFyeTpub3QoW3JvbGVdKSB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yKTtcbn1cbmRldGFpbHMgc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5kZXRhaWxzIHN1bW1hcnk6Om1hcmtlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5kZXRhaWxzIHN1bW1hcnk6Oi1tb3otbGlzdC1idWxsZXQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5kZXRhaWxzIHN1bW1hcnk6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nLCAxcmVtKSAqIDAuNSk7XG4gIGZsb2F0OiByaWdodDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLWNoZXZyb24pO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb250ZW50OiBcIlwiO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gdmFyKC0tcGljby10cmFuc2l0aW9uKTtcbn1cbmRldGFpbHMgc3VtbWFyeTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5kZXRhaWxzIHN1bW1hcnk6Zm9jdXM6bm90KFtyb2xlXSkge1xuICBjb2xvcjogdmFyKC0tcGljby1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3IpO1xufVxuZGV0YWlscyBzdW1tYXJ5OmZvY3VzLXZpc2libGU6bm90KFtyb2xlXSkge1xuICBvdXRsaW5lOiB2YXIoLS1waWNvLW91dGxpbmUtd2lkdGgpIHNvbGlkIHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG4gIG91dGxpbmUtb2Zmc2V0OiBjYWxjKHZhcigtLXBpY28tc3BhY2luZywgMXJlbSkgKiAwLjUpO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbn1cbmRldGFpbHMgc3VtbWFyeVtyb2xlPWJ1dHRvbl0ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbmRldGFpbHMgc3VtbWFyeVtyb2xlPWJ1dHRvbl06OmFmdGVyIHtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0LCAxLjUpKTtcbn1cbmRldGFpbHNbb3Blbl0gPiBzdW1tYXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbmRldGFpbHNbb3Blbl0gPiBzdW1tYXJ5Om5vdChbcm9sZV0pOm5vdCg6Zm9jdXMpIHtcbiAgY29sb3I6IHZhcigtLXBpY28tYWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcik7XG59XG5kZXRhaWxzW29wZW5dID4gc3VtbWFyeTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbn1cblxuW2Rpcj1ydGxdIGRldGFpbHMgc3VtbWFyeSB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuW2Rpcj1ydGxdIGRldGFpbHMgc3VtbWFyeTo6YWZ0ZXIge1xuICBmbG9hdDogbGVmdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG59XG5cbi8qKlxuICogQ2FyZCAoPGFydGljbGU+KVxuICovXG5hcnRpY2xlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKSB2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBpY28tY2FyZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tcGljby1jYXJkLWJveC1zaGFkb3cpO1xufVxuYXJ0aWNsZSA+IGhlYWRlcixcbmFydGljbGUgPiBmb290ZXIge1xuICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tcGljby1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNjYpIHZhcigtLXBpY28tYmxvY2stc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcik7XG59XG5hcnRpY2xlID4gaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpICogLTEpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcGljby1jYXJkLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xufVxuYXJ0aWNsZSA+IGZvb3RlciB7XG4gIG1hcmdpbi10b3A6IHZhcigtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKTtcbiAgYm9yZGVyLXRvcDogdmFyKC0tcGljby1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLXBpY28tY2FyZC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKTtcbn1cblxuLyoqXG4gKiBEcm9wZG93biAoZGV0YWlscy5kcm9wZG93bilcbiAqL1xuZGV0YWlscy5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5OjphZnRlcixcbmRldGFpbHMuZHJvcGRvd24gPiBidXR0b246OmFmdGVyLFxuZGV0YWlscy5kcm9wZG93biA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigtLXBpY28tbGluZS1oZWlnaHQsIDEuNSkpO1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAwLjI1cmVtO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVgoMC4ycmVtKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tcGljby1pY29uLWNoZXZyb24pO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMXJlbSBhdXRvO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb250ZW50OiBcIlwiO1xufVxuXG5uYXYgZGV0YWlscy5kcm9wZG93biB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pIHtcbiAgaGVpZ2h0OiBjYWxjKDFyZW0gKiB2YXIoLS1waWNvLWxpbmUtaGVpZ2h0KSArIHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMiArIHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSAqIDIpO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBib3JkZXI6IHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgYm9yZGVyLWNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGNvbG9yIHZhcigtLXBpY28tdHJhbnNpdGlvbiksIGJveC1zaGFkb3cgdmFyKC0tcGljby10cmFuc2l0aW9uKTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5Om5vdChbcm9sZV0pOmFjdGl2ZSwgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSk6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcik7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKTpmb2N1cyB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBpY28tb3V0bGluZS13aWR0aCkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3IpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSk6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKVthcmlhLWludmFsaWQ9ZmFsc2VdIHtcbiAgLS1waWNvLWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcik7XG4gIC0tcGljby1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3IpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcik7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKVthcmlhLWludmFsaWQ9dHJ1ZV0ge1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcjogdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigtLXBpY28tZm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3IpO1xuICAtLXBpY28tZm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yKTtcbn1cblxubmF2IGRldGFpbHMuZHJvcGRvd24ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogLTEpIDA7XG59XG5uYXYgZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWCgwcmVtKTtcbn1cbm5hdiBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKSB7XG4gIGhlaWdodDogY2FsYygxcmVtICogdmFyKC0tcGljby1saW5lLWhlaWdodCkgKyB2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpICogMik7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAtIHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSAqIDIpIHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cbm5hdiBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeTpub3QoW3JvbGVdKTpmb2N1cy12aXNpYmxlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKSB2YXIoLS1waWNvLXByaW1hcnktZm9jdXMpO1xufVxuXG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgei1pbmRleDogOTk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogZml0LWNvbnRlbnQ7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLXRvcDogdmFyKC0tcGljby1vdXRsaW5lLXdpZHRoKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiB2YXIoLS1waWNvLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tcGljby1kcm9wZG93bi1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3IpO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWRyb3Bkb3duLWJveC1zaGFkb3cpO1xuICBjb2xvcjogdmFyKC0tcGljby1kcm9wZG93bi1jb2xvcik7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tcGljby10cmFuc2l0aW9uKSwgdHJhbnNmb3JtIDBzIGVhc2UtaW4tb3V0IDFzO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bFtkaXI9cnRsXSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tZm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KSB2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaTpmaXJzdC1vZi10eXBlIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSk7XG59XG5kZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIC0wLjUpIGNhbGModmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSkgdmFyKC0tcGljby1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IHZhcigtLXBpY28tZHJvcGRvd24tY29sb3IpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnkgKyB1bCBsaSBhOmhvdmVyLCBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGE6Zm9jdXMsIGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkgYTphY3RpdmUsIGRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkgYTpmb2N1cy12aXNpYmxlLCBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIGxpIGFbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1mYWxzZV0pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1kcm9wZG93bi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGkgbGFiZWwge1xuICB3aWR0aDogMTAwJTtcbn1cbmRldGFpbHMuZHJvcGRvd24gPiBzdW1tYXJ5ICsgdWwgbGk6aGFzKGxhYmVsKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG59XG5cbmRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuZGV0YWlscy5kcm9wZG93bltvcGVuXSA+IHN1bW1hcnkgKyB1bCB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKDEpO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXBpY28tdHJhbnNpdGlvbiksIHRyYW5zZm9ybSAwcyBlYXNlLWluLW91dCAwcztcbn1cblxuZGV0YWlscy5kcm9wZG93bltvcGVuXSA+IHN1bW1hcnk6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxubGFiZWwgPiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMC4yNSk7XG59XG5cbi8qKlxuICogR3JvdXAgKFtyb2xlPVwiZ3JvdXBcIl0sIFtyb2xlPVwic2VhcmNoXCJdKVxuICovXG5bcm9sZT1zZWFyY2hdLFxuW3JvbGU9Z3JvdXBdIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cyk7XG4gIGJveC1zaGFkb3c6IHZhcigtLXBpY28tZ3JvdXAtYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKC0tcGljby10cmFuc2l0aW9uKTtcbn1cbltyb2xlPXNlYXJjaF0gPiAqLFxuW3JvbGU9c2VhcmNoXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pLFxuW3JvbGU9c2VhcmNoXSBzZWxlY3QsXG5bcm9sZT1ncm91cF0gPiAqLFxuW3JvbGU9Z3JvdXBdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSksXG5bcm9sZT1ncm91cF0gc2VsZWN0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbltyb2xlPXNlYXJjaF0gPiAqOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBzZWxlY3Q6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gPiAqOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG5bcm9sZT1zZWFyY2hdID4gKjpub3QoOmxhc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOm5vdCg6bGFzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIHNlbGVjdDpub3QoOmxhc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdID4gKjpub3QoOmxhc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6bm90KDpsYXN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBzZWxlY3Q6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbn1cbltyb2xlPXNlYXJjaF0gPiAqOmZvY3VzLFxuW3JvbGU9c2VhcmNoXSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pOmZvY3VzLFxuW3JvbGU9c2VhcmNoXSBzZWxlY3Q6Zm9jdXMsXG5bcm9sZT1ncm91cF0gPiAqOmZvY3VzLFxuW3JvbGU9Z3JvdXBdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6Zm9jdXMsXG5bcm9sZT1ncm91cF0gc2VsZWN0OmZvY3VzIHtcbiAgei1pbmRleDogMjtcbn1cbltyb2xlPXNlYXJjaF0gYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1zdWJtaXRdOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9c2VhcmNoXSBbdHlwZT1yZXNldF06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIFt0eXBlPWJ1dHRvbl06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIFtyb2xlPWJ1dHRvbl06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1zZWFyY2hdIHNlbGVjdDpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBidXR0b246bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gW3R5cGU9c3VibWl0XTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBbdHlwZT1yZXNldF06bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gW3R5cGU9YnV0dG9uXTpub3QoOmZpcnN0LWNoaWxkKSxcbltyb2xlPWdyb3VwXSBbcm9sZT1idXR0b25dOm5vdCg6Zmlyc3QtY2hpbGQpLFxuW3JvbGU9Z3JvdXBdIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0sIFt0eXBlPXJhZGlvXSk6bm90KDpmaXJzdC1jaGlsZCksXG5bcm9sZT1ncm91cF0gc2VsZWN0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tcGljby1ib3JkZXItd2lkdGgpICogLTEpO1xufVxuW3JvbGU9c2VhcmNoXSBidXR0b24sXG5bcm9sZT1zZWFyY2hdIFt0eXBlPXN1Ym1pdF0sXG5bcm9sZT1zZWFyY2hdIFt0eXBlPXJlc2V0XSxcbltyb2xlPXNlYXJjaF0gW3R5cGU9YnV0dG9uXSxcbltyb2xlPXNlYXJjaF0gW3JvbGU9YnV0dG9uXSxcbltyb2xlPWdyb3VwXSBidXR0b24sXG5bcm9sZT1ncm91cF0gW3R5cGU9c3VibWl0XSxcbltyb2xlPWdyb3VwXSBbdHlwZT1yZXNldF0sXG5bcm9sZT1ncm91cF0gW3R5cGU9YnV0dG9uXSxcbltyb2xlPWdyb3VwXSBbcm9sZT1idXR0b25dIHtcbiAgd2lkdGg6IGF1dG87XG59XG5Ac3VwcG9ydHMgc2VsZWN0b3IoOmhhcygqKSkge1xuICBbcm9sZT1zZWFyY2hdOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPXN1Ym1pdF06Zm9jdXMsIFt0eXBlPWJ1dHRvbl06Zm9jdXMsIFtyb2xlPWJ1dHRvbl06Zm9jdXMpLFxuICBbcm9sZT1ncm91cF06aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3JvbGU9YnV0dG9uXTpmb2N1cykge1xuICAgIC0tcGljby1ncm91cC1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b24pO1xuICB9XG4gIFtyb2xlPXNlYXJjaF06aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3JvbGU9YnV0dG9uXTpmb2N1cykgaW5wdXQ6bm90KFt0eXBlPWNoZWNrYm94XSwgW3R5cGU9cmFkaW9dKSxcbiAgW3JvbGU9c2VhcmNoXTpoYXMoYnV0dG9uOmZvY3VzLCBbdHlwZT1zdWJtaXRdOmZvY3VzLCBbdHlwZT1idXR0b25dOmZvY3VzLCBbcm9sZT1idXR0b25dOmZvY3VzKSBzZWxlY3QsXG4gIFtyb2xlPWdyb3VwXTpoYXMoYnV0dG9uOmZvY3VzLCBbdHlwZT1zdWJtaXRdOmZvY3VzLCBbdHlwZT1idXR0b25dOmZvY3VzLCBbcm9sZT1idXR0b25dOmZvY3VzKSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10pLFxuICBbcm9sZT1ncm91cF06aGFzKGJ1dHRvbjpmb2N1cywgW3R5cGU9c3VibWl0XTpmb2N1cywgW3R5cGU9YnV0dG9uXTpmb2N1cywgW3JvbGU9YnV0dG9uXTpmb2N1cykgc2VsZWN0IHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIFtyb2xlPXNlYXJjaF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykge1xuICAgIC0tcGljby1ncm91cC1ib3gtc2hhZG93OiB2YXIoLS1waWNvLWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1pbnB1dCk7XG4gIH1cbiAgW3JvbGU9c2VhcmNoXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIGJ1dHRvbixcbiAgW3JvbGU9c2VhcmNoXTpoYXMoaW5wdXQ6bm90KFt0eXBlPXN1Ym1pdF0sIFt0eXBlPWJ1dHRvbl0pOmZvY3VzLCBzZWxlY3Q6Zm9jdXMpIFt0eXBlPXN1Ym1pdF0sXG4gIFtyb2xlPXNlYXJjaF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBbdHlwZT1idXR0b25dLFxuICBbcm9sZT1zZWFyY2hdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgW3JvbGU9YnV0dG9uXSxcbiAgW3JvbGU9Z3JvdXBdOmhhcyhpbnB1dDpub3QoW3R5cGU9c3VibWl0XSwgW3R5cGU9YnV0dG9uXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykgYnV0dG9uLFxuICBbcm9sZT1ncm91cF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBbdHlwZT1zdWJtaXRdLFxuICBbcm9sZT1ncm91cF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBbdHlwZT1idXR0b25dLFxuICBbcm9sZT1ncm91cF06aGFzKGlucHV0Om5vdChbdHlwZT1zdWJtaXRdLCBbdHlwZT1idXR0b25dKTpmb2N1cywgc2VsZWN0OmZvY3VzKSBbcm9sZT1idXR0b25dIHtcbiAgICAtLXBpY28tYnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSB2YXIoLS1waWNvLXByaW1hcnktYm9yZGVyKTtcbiAgICAtLXBpY28tYnV0dG9uLWhvdmVyLWJveC1zaGFkb3c6IDAgMCAwIHZhcigtLXBpY28tYm9yZGVyLXdpZHRoKSB2YXIoLS1waWNvLXByaW1hcnktaG92ZXItYm9yZGVyKTtcbiAgfVxuICBbcm9sZT1zZWFyY2hdIGJ1dHRvbjpmb2N1cyxcbiAgW3JvbGU9c2VhcmNoXSBbdHlwZT1zdWJtaXRdOmZvY3VzLFxuICBbcm9sZT1zZWFyY2hdIFt0eXBlPXJlc2V0XTpmb2N1cyxcbiAgW3JvbGU9c2VhcmNoXSBbdHlwZT1idXR0b25dOmZvY3VzLFxuICBbcm9sZT1zZWFyY2hdIFtyb2xlPWJ1dHRvbl06Zm9jdXMsXG4gIFtyb2xlPWdyb3VwXSBidXR0b246Zm9jdXMsXG4gIFtyb2xlPWdyb3VwXSBbdHlwZT1zdWJtaXRdOmZvY3VzLFxuICBbcm9sZT1ncm91cF0gW3R5cGU9cmVzZXRdOmZvY3VzLFxuICBbcm9sZT1ncm91cF0gW3R5cGU9YnV0dG9uXTpmb2N1cyxcbiAgW3JvbGU9Z3JvdXBdIFtyb2xlPWJ1dHRvbl06Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuW3JvbGU9c2VhcmNoXSA+ICo6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cmVtO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cmVtO1xufVxuW3JvbGU9c2VhcmNoXSA+ICo6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cmVtO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXJlbTtcbn1cblxuLyoqXG4gKiBOYXZcbiAqL1xuOndoZXJlKG5hdiBsaSk6OmJlZm9yZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBjb250ZW50OiBcIuKAi1wiO1xufVxuXG5uYXYsXG5uYXYgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG5uYXYge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxubmF2IG9sLFxubmF2IHVsIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbm5hdiBvbDpmaXJzdC1vZi10eXBlLFxubmF2IHVsOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG59XG5uYXYgb2w6bGFzdC1vZi10eXBlLFxubmF2IHVsOmxhc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG59XG5uYXYgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogdmFyKC0tcGljby1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSB2YXIoLS1waWNvLW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5uYXYgbGkgOndoZXJlKGEsIFtyb2xlPWxpbmtdKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiBjYWxjKHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSkgY2FsYyh2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgdmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpO1xufVxubmF2IGxpIDp3aGVyZShhLCBbcm9sZT1saW5rXSk6bm90KDpob3Zlcikge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5uYXYgbGkgYnV0dG9uLFxubmF2IGxpIFtyb2xlPWJ1dHRvbl0sXG5uYXYgbGkgW3R5cGU9YnV0dG9uXSxcbm5hdiBsaSBpbnB1dDpub3QoW3R5cGU9Y2hlY2tib3hdLCBbdHlwZT1yYWRpb10sIFt0eXBlPXJhbmdlXSwgW3R5cGU9ZmlsZV0pLFxubmF2IGxpIHNlbGVjdCB7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tbGVmdDogaW5oZXJpdDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctdmVydGljYWwpIC0gdmFyKC0tcGljby1ib3JkZXItd2lkdGgpICogMikgdmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xufVxubmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xufVxubmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0gdWwgbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCk7XG59XG5uYXZbYXJpYS1sYWJlbD1icmVhZGNydW1iXSB1bCBsaSBhIHtcbiAgbWFyZ2luOiBjYWxjKHZhcigtLXBpY28tbmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSkgMDtcbiAgbWFyZ2luLWlubGluZS1zdGFydDogY2FsYyh2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG59XG5uYXZbYXJpYS1sYWJlbD1icmVhZGNydW1iXSB1bCBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogY2FsYyh2YXIoLS1waWNvLW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCkgKiA0KTtcbiAgbWFyZ2luOiAwIGNhbGModmFyKC0tcGljby1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICBjb250ZW50OiB2YXIoLS1waWNvLW5hdi1icmVhZGNydW1iLWRpdmlkZXIpO1xuICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxubmF2W2FyaWEtbGFiZWw9YnJlYWRjcnVtYl0gYVthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PWZhbHNlXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmFzaWRlIG5hdixcbmFzaWRlIG9sLFxuYXNpZGUgdWwsXG5hc2lkZSBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuYXNpZGUgbGkge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpIHZhcigtLXBpY28tbmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbn1cbmFzaWRlIGxpIGEge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmFzaWRlIGxpIFtyb2xlPWJ1dHRvbl0ge1xuICBtYXJnaW46IGluaGVyaXQ7XG59XG5cbltkaXI9cnRsXSBuYXZbYXJpYS1sYWJlbD1icmVhZGNydW1iXSB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcXFxcIjtcbn1cblxuLyoqXG4gKiBBY2Nlc3NpYmlsaXR5ICYgVXNlciBpbnRlcmFjdGlvblxuICovXG5bYXJpYS1jb250cm9sc10ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cblthcmlhLWRpc2FibGVkPXRydWVdLFxuW2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cblthcmlhLWhpZGRlbj1mYWxzZV1baGlkZGVuXSB7XG4gIGRpc3BsYXk6IGluaXRpYWw7XG59XG5cblthcmlhLWhpZGRlbj1mYWxzZV1baGlkZGVuXTpub3QoOmZvY3VzKSB7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhLFxuW3RhYmluZGV4XSB7XG4gIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuW2Rpcj1ydGxdIHtcbiAgZGlyZWN0aW9uOiBydGw7XG59XG5cbi8qKlxuICogUmVkdWNlIE1vdGlvbiBGZWF0dXJlc1xuICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAqOm5vdChbYXJpYS1idXN5PXRydWVdKSxcbiAgOm5vdChbYXJpYS1idXN5PXRydWVdKTo6YmVmb3JlLFxuICA6bm90KFthcmlhLWJ1c3k9dHJ1ZV0pOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBpbml0aWFsICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0xbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHMgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcyAhaW1wb3J0YW50O1xuICB9XG59XG5bZGF0YS10aGVtZT1saWdodF0sXG46cm9vdDpub3QoW2RhdGEtdGhlbWU9ZGFya10pIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLW10LWJhY2tncm91bmQtY29sb3IsICNmZmYpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLW10LWNvbG9yLCAjMzczYzQ0KTtcbiAgLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDIsIDE1NCwgMjMyLCAwLjI1KTtcbiAgLS1waWNvLW11dGVkLWNvbG9yOiAjNjQ2Yjc5O1xuICAtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yOiByZ2IoMjMxLCAyMzQsIDIzOS41KTtcbiAgLS1waWNvLXByaW1hcnk6IHZhcigtLW10LXByaW1hcnktY29sb3IsICMwMDU5OWMpO1xuICAtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLCAjMDA1OTljKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1kYXJrZW4sIHJnYigwLCA1OS45MDM4NDYxNTM4LCAxMDUpKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLCAjMDA1OTljKTtcbiAgLS1waWNvLXByaW1hcnktYm9yZGVyOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLCAjMDA1OTljKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXI6IHZhcigtLW10LXByaW1hcnktY29sb3ItZGFya2VuLCByZ2IoMCwgNTkuOTAzODQ2MTUzOCwgMTA1KSk7XG4gIC0tcGljby1wcmltYXJ5LXVuZGVybGluZTogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1saWdodGVuLCByZ2IoMCwgMTE4LjA5NjE1Mzg0NjIsIDIwNykpO1xuICAtLXBpY28tcHJpbWFyeS1mb2N1czogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1saWdodGVuLCByZ2IoMCwgMTE4LjA5NjE1Mzg0NjIsIDIwNykpO1xuICAtLXBpY28tcHJpbWFyeS1pbnZlcnNlOiB2YXIoLS1tdC1wcmltYXJ5LWludmVyc2UtY29sb3IsICNmZmZmZmYpO1xuICAtLXBpY28tc2Vjb25kYXJ5OiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICM3Mzc5ODcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQ6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvciwgIzczNzk4Nyk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDkxLjU0LCA5Ni4zMTYsIDEwNy40NikpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLCAjNzM3OTg3KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ib3JkZXI6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvciwgIzczNzk4Nyk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXI6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1kYXJrZW4sIHJnYig5MS41NCwgOTYuMzE2LCAxMDcuNDYpKTtcbiAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1saWdodGVuLCByZ2IoMTQyLjE0LCAxNDcuMTU2LCAxNTguODYpKTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW4sIHJnYigxNDIuMTQsIDE0Ny4xNTYsIDE1OC44NikpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWludmVyc2U6IHZhcigtLW10LXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yLCAjZmZmZmZmKTtcbiAgLS1waWNvLWNvbnRyYXN0OiB2YXIoLS1tdC1jb250cmFzdC1jb2xvciwgIzE4MWMyNSk7XG4gIC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvciwgIzE4MWMyNSk7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvci1kYXJrZW4sIHJnYigzLjkzNDQyNjIyOTUsIDQuNTkwMTYzOTM0NCwgNi4wNjU1NzM3NzA1KSk7XG4gIC0tcGljby1jb250cmFzdC1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjMTgxYzI1KTtcbiAgLS1waWNvLWNvbnRyYXN0LWJvcmRlcjogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICMxODFjMjUpO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWRhcmtlbiwgcmdiKDMuOTM0NDI2MjI5NSwgNC41OTAxNjM5MzQ0LCA2LjA2NTU3Mzc3MDUpKTtcbiAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItbGlnaHRlbiwgcmdiKDQ0LjA2NTU3Mzc3MDUsIDUxLjQwOTgzNjA2NTYsIDY3LjkzNDQyNjIyOTUpKTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvci1saWdodGVuLCByZ2IoNDQuMDY1NTczNzcwNSwgNTEuNDA5ODM2MDY1NiwgNjcuOTM0NDI2MjI5NSkpO1xuICAtLXBpY28tY29udHJhc3QtaW52ZXJzZTogdmFyKC0tbXQtY29udHJhc3QtaW52ZXJzZS1jb2xvciwgI2ZmZmZmZik7XG4gIC0tcGljby1mb250LWZhbWlseTogdmFyKC0tbXQtZm9udC1mYW1pbHksIEludGVyLCBUYWhvbWEsIFZlcmRhbmEsIHNhbnMtc2VyaWYpO1xuICAtLXBpY28tZm9udC1zaXplOiB2YXIoLS1tdC1mb250LXNpemUsIDFyZW0pO1xuICAtLXBpY28tbGluZS1oZWlnaHQ6IHZhcigtLW10LWxpbmUtaGVpZ2h0LCAxLjRyZW0pO1xuICAtLXBpY28tZm9udC13ZWlnaHQ6IHZhcigtLW10LWZvbnQtd2VpZ2h0LCA0MDApO1xuICAtLXBpY28taGVhZGluZy1mb250LXdlaWdodDogdmFyKC0tbXQtaGVhZGluZy1mb250LXdlaWdodCwgNzAwKTtcbiAgLS1waWNvLWxldHRlci1zcGFjaW5nOiB2YXIoLS1tdC1sZXR0ZXItc3BhY2luZywgbm9ybWFsKTtcbiAgLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWw6IDEuNXJlbTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10sXG46cm9vdFtkYXRhLXRoZW1lPWRhcmtdIHtcbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLW10LXRkYXJrLWJhY2tncm91bmQtY29sb3IsICMxZDIzMjcpO1xuICAtLXBpY28tY29sb3I6IHZhcigtLW10LXRkYXJrLWNvbG9yLCAjMWQyMzI3KTtcbiAgLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDIsIDE1NCwgMjMyLCAwLjI1KTtcbiAgLS1waWNvLW11dGVkLWNvbG9yOiAjNjQ2Yjc5O1xuICAtLXBpY28tbXV0ZWQtYm9yZGVyLWNvbG9yOiByZ2IoMjMxLCAyMzQsIDIzOS41KTtcbiAgLS1waWNvLXByaW1hcnk6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3IsICM1YmI0ZGYpO1xuICAtLXBpY28tcHJpbWFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjNWJiNGRmKTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1saWdodGVuLCByZ2IoMTMzLjY3MzQ2OTM4NzgsIDE5OS41MTUzMDYxMjI0LCAyMzEuMzI2NTMwNjEyMikpO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3IsICM1YmI0ZGYpO1xuICAtLXBpY28tcHJpbWFyeS1ib3JkZXI6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3IsICM1YmI0ZGYpO1xuICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1saWdodGVuLCByZ2IoMTMzLjY3MzQ2OTM4NzgsIDE5OS41MTUzMDYxMjI0LCAyMzEuMzI2NTMwNjEyMikpO1xuICAtLXBpY28tcHJpbWFyeS11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3ItZGFya2VuLCByZ2IoNDguMzI2NTMwNjEyMiwgMTYwLjQ4NDY5Mzg3NzYsIDIxNC42NzM0NjkzODc4KSk7XG4gIC0tcGljby1wcmltYXJ5LWZvY3VzOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDQ4LjMyNjUzMDYxMjIsIDE2MC40ODQ2OTM4Nzc2LCAyMTQuNjczNDY5Mzg3OCkpO1xuICAtLXBpY28tcHJpbWFyeS1pbnZlcnNlOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWludmVyc2UtY29sb3IsICMxMjEyMTIpO1xuICAtLXBpY28tc2Vjb25kYXJ5OiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICNhM2E5YjcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI2EzYTliNyk7XG4gIC0tcGljby1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW4sIHJnYigxOTEuNjA5NzU2MDk3NiwgMTk1Ljc0MzkwMjQzOSwgMjA1LjM5MDI0MzkwMjQpKTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI2EzYTliNyk7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICNhM2E5YjcpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgcmdiKDE5MS42MDk3NTYwOTc2LCAxOTUuNzQzOTAyNDM5LCAyMDUuMzkwMjQzOTAyNCkpO1xuICAtLXBpY28tc2Vjb25kYXJ5LXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbiwgcmdiKDEzNC4zOTAyNDM5MDI0LCAxNDIuMjU2MDk3NTYxLCAxNjAuNjA5NzU2MDk3NikpO1xuICAtLXBpY28tc2Vjb25kYXJ5LWZvY3VzOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItZGFya2VuLCByZ2IoMTM0LjM5MDI0MzkwMjQsIDE0Mi4yNTYwOTc1NjEsIDE2MC42MDk3NTYwOTc2KSk7XG4gIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWludmVyc2UtY29sb3IsICMxMjEyMTIpO1xuICAtLXBpY28tY29udHJhc3Q6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAjZjVmN2ZhKTtcbiAgLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAjZjVmN2ZhKTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sIGhzbCgyMTYsIDMzLjMzMzMzMzMzMzMlLCAxMDcuMDU4ODIzNTI5NCUpKTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICNmNWY3ZmEpO1xuICAtLXBpY28tY29udHJhc3QtYm9yZGVyOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI2Y1ZjdmYSk7XG4gIC0tcGljby1jb250cmFzdC1ob3ZlcjogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItbGlnaHRlbiwgaHNsKDIxNiwgMzMuMzMzMzMzMzMzMyUsIDEwNy4wNTg4MjM1Mjk0JSkpO1xuICAtLXBpY28tY29udHJhc3QtdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW4sIHJnYigyMTEsIDIxOS44LCAyMzMpKTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW4sIHJnYigyMTEsIDIxOS44LCAyMzMpKTtcbiAgLS1waWNvLWNvbnRyYXN0LWludmVyc2U6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWludmVyc2UtY29sb3IsICMxMjEyMTIpO1xuICAtLXBpY28tZm9udC1mYW1pbHk6IHZhcigtLW10LWZvbnQtZmFtaWx5LCBJbnRlciwgVGFob21hLCBWZXJkYW5hLCBzYW5zLXNlcmlmKTtcbiAgLS1waWNvLWZvbnQtc2l6ZTogdmFyKC0tbXQtZm9udC1zaXplLCAxcmVtKTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiB2YXIoLS1tdC1saW5lLWhlaWdodCwgMS40cmVtKTtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1mb250LXdlaWdodCwgNDAwKTtcbiAgLS1waWNvLWhlYWRpbmctZm9udC13ZWlnaHQ6IHZhcigtLW10LWhlYWRpbmctZm9udC13ZWlnaHQsIDcwMCk7XG4gIC0tcGljby1sZXR0ZXItc3BhY2luZzogdmFyKC0tbXQtbGV0dGVyLXNwYWNpbmcsIG5vcm1hbCk7XG4gIC0tcGljby1ibG9jay1zcGFjaW5nLXZlcnRpY2FsOiAxLjVyZW07XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1tdC1oZWFkaW5nLWZvbnQtZmFtaWx5LCBSb2JvdG8sIEdlb3JnaWEsIHNlcmlmKTtcbn1cblxudWwgbGkge1xuICBsaXN0LXN0eWxlOiBkaXNjO1xufVxuXG5ibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbmh0bWwge1xuICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5odG1sIGJvZHkge1xuICBwYWRkaW5nLXRvcDogdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwcHgpO1xufVxuaHRtbCBib2R5ID4gLnNpdGUtaGVhZGVyLFxuaHRtbCBib2R5ID4gLmhlYWRlci1uYXYtbWVudSxcbmh0bWwgYm9keSA+IC5tYWluLWdyaWQsXG5odG1sIGJvZHkgPiAuc2l0ZS1mb290ZXIsXG5odG1sIGJvZHkgPiAudG9wLWdyaWQsXG5odG1sIGJvZHkgPiAucHJlLW1haW4tY29udGVudCB7XG4gIGJveC1zaGFkb3c6IC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLCAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xufVxuXG4ubG9nby1saWdodCxcbi5sb2dvLWxpZ2h0LWFuZC1kYXJrIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5sb2dvLWRhcmsge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAubG9nby1saWdodCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5sb2dvLWRhcmsge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4uYnJpZCAqW3JvbGU9YnV0dG9uXSxcbi5icmlkLWNsb3NlICpbcm9sZT1idXR0b25dIHtcbiAgYmFja2dyb3VuZDogaW5pdGlhbDtcbiAgYm9yZGVyOiBpbml0aWFsO1xufVxuXG4uYnJpZCAqW3JvbGU9YnV0dG9uXTpmb2N1cyxcbi5icmlkLWNsb3NlICpbcm9sZT1idXR0b25dOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuYm9keSA+IC5zaXRlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGhlaWdodDogNjRweDtcbiAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gIHotaW5kZXg6IDk5OTk5OTk7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyLmlzLXN0aWNreSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiB2YXIoLS13cC1hZG1pbi0tYWRtaW4tYmFyLS1oZWlnaHQsIDApO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0LFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IHtcbiAgd2lkdGg6IDY0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGUgLmhhbWJ1cmdlci1pY29uLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZSAuaGFtYnVyZ2VyLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZSAuaGFtYnVyZ2VyLWljb246OmJlZm9yZSwgYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlIC5oYW1idXJnZXItaWNvbjo6YWZ0ZXIsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlIC5oYW1idXJnZXItaWNvbjo6YmVmb3JlLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZSAuaGFtYnVyZ2VyLWljb246OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjJweDtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlIC5oYW1idXJnZXItaWNvbjo6YmVmb3JlLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZSAuaGFtYnVyZ2VyLWljb246OmJlZm9yZSB7XG4gIHRvcDogLTdweDtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZSAuaGFtYnVyZ2VyLWljb246OmFmdGVyLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5tZW51LXRvZ2dsZSAuaGFtYnVyZ2VyLWljb246OmFmdGVyIHtcbiAgdG9wOiA3cHg7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGU6aG92ZXIsIGJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5tZW51LXRvZ2dsZTpmb2N1cyxcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGU6aG92ZXIsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlOmZvY3VzIHtcbiAgYm9yZGVyOiBub25lO1xuICBvcGFjaXR5OiAwLjg7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItaWNvbixcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItaWNvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLm1lbnUtdG9nZ2xlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWljb246OmJlZm9yZSxcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAubWVudS10b2dnbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItaWNvbjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAubWVudS10b2dnbGUuaXMtYWN0aXZlIC5oYW1idXJnZXItaWNvbjo6YWZ0ZXIsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLm1lbnUtdG9nZ2xlLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWljb246OmFmdGVyIHtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWxlZnQgLmhlYWRlci1saXZlLWJ1dHRvbixcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAuaGVhZGVyLWxpdmUtYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogM3B4O1xuICBsaW5lLWhlaWdodDogMTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5oZWFkZXItbGl2ZS1idXR0b246aG92ZXIsIGJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5oZWFkZXItbGl2ZS1idXR0b246Zm9jdXMsXG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItcmlnaHQgLmhlYWRlci1saXZlLWJ1dHRvbjpob3ZlcixcbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1yaWdodCAuaGVhZGVyLWxpdmUtYnV0dG9uOmZvY3VzIHtcbiAgb3BhY2l0eTogMC44O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5ib2R5ID4gLnNpdGUtaGVhZGVyIC5oZWFkZXItbGVmdCAuaGVhZGVyLWxpdmUtYnV0dG9uX19wbGF5LFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5oZWFkZXItbGl2ZS1idXR0b25fX3BsYXkge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMS4xNXJlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gIG1hcmdpbi1ib3R0b206IDAuMXJlbTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1sZWZ0IC5oZWFkZXItbGl2ZS1idXR0b25fX2xhYmVsLFxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLXJpZ2h0IC5oZWFkZXItbGl2ZS1idXR0b25fX2xhYmVsIHtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWNlbnRlciB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuYm9keSA+IC5zaXRlLWhlYWRlciAuaGVhZGVyLWNlbnRlciA+IGEgPiBpbWcge1xuICBtYXgtaGVpZ2h0OiA1MHB4O1xuICBtaW4taGVpZ2h0OiA0NHB4O1xuICB3aWR0aDogMTAwJTtcbn1cbmJvZHkgPiAuc2l0ZS1oZWFkZXIgLmhlYWRlci1jZW50ZXIgPiBhIHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbn1cblxuYm9keSA+IC5zaXRlLWZvb3RlciB7XG4gIHBhZGRpbmc6IDA7XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItc2VwYXJhdG9yIHtcbiAgaGVpZ2h0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICBib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDEuNSk7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjIwcHgsIDFmcikpO1xuICAgIGdhcDogMnJlbTtcbiAgfVxufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMgLmZvb3Rlci1jb2wgPiBzdHJvbmcge1xuICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMnJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICBib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCA+IHN0cm9uZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMgLmZvb3Rlci1jb2wgLnczYy1sb2dvIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sIHVsIHtcbiAgcGFkZGluZzogMDtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sIHVsIGxpIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIGZvbnQtc2l6ZTogMC45NXJlbTtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jb2x1bW5zIC5mb290ZXItY29sIHVsIGxpIHN0cm9uZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuOTVyZW07XG59XG5ib2R5ID4gLnNpdGUtZm9vdGVyIC5mb290ZXItY29sdW1ucyAuZm9vdGVyLWNvbCB1bCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNvbHVtbnMgLmZvb3Rlci1jb2wgdWwgc21hbGwge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbmJvZHkgPiAuc2l0ZS1mb290ZXIgLmZvb3Rlci1jcmVkaXRzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuYm9keSA+IC5zaXRlLWZvb3RlciAuZm9vdGVyLWNyZWRpdHMgc21hbGwge1xuICBmb250LXNpemU6IDAuOHJlbTtcbn1cblxuYm9keS5hZG1pbi1iYXIgLnNpZGViYXItaGFtYnVyZ2VyIHtcbiAgdG9wOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gIGJvZHkuYWRtaW4tYmFyIC5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gICAgdG9wOiA0NnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzgycHgpIHtcbiAgYm9keS5hZG1pbi1iYXIgLnNpZGViYXItaGFtYnVyZ2VyIHtcbiAgICB0b3A6IDMycHg7XG4gIH1cbn1cblxuLnNpZGViYXItaGFtYnVyZ2VyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiA4NXZ3O1xuICBtYXgtd2lkdGg6IDU2MHB4O1xuICBoZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHotaW5kZXg6IDk5OTk5OTk5O1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLm9wZW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItb3ZlcmxheSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgei1pbmRleDogMTkwMDtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1vdmVybGF5LnZpc2libGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbG9nbyBpbWcge1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLWNsb3NlIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1jbG9zZTpob3ZlciwgLnNpZGViYXItaGFtYnVyZ2VyLWNsb3NlOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSwgIzAwMCAyMCUpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLWNvbnRyb2xzIHtcbiAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG4uc2lkZWJhci1oYW1idXJnZXItY29udHJvbHMgLmZvbnQtc2l6ZS1jb250cm9scyBidXR0b24ge1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLWNvbnRyb2xzIC50aGVtZS10b2dnbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuMnJlbTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1jb250cm9scyAudGhlbWUtdG9nZ2xlIGxhYmVsLFxuLnNpZGViYXItaGFtYnVyZ2VyLWNvbnRyb2xzIC50aGVtZS10b2dnbGUgaW5wdXQge1xuICBtYXJnaW46IDA7XG59XG4uc2lkZWJhci1oYW1idXJnZXItc2VhcmNoIHtcbiAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG59XG4uc2lkZWJhci1oYW1idXJnZXItc2VhcmNoID4gKjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDAuNXJlbTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMC41cmVtO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLXNlYXJjaCA+ICo6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwLjVyZW07XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwLjVyZW07XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSB7XG4gIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24ge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi10b2dnbGUsIC5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tbGluayB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tdG9nZ2xlOmhvdmVyLCAuc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLXRvZ2dsZTpmb2N1cywgLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1saW5rOmhvdmVyLCAuc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWxpbms6Zm9jdXMge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50Lm9wZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudCBhIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQgYTpob3ZlciB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5jb2x1bW5zLTIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LmNvbHVtbnMtMi5vcGVuIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3Mub3BlbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEwMHB4LCAxZnIpKTtcbiAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAxLjUpO1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGEge1xuICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDMpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYTpob3ZlciB7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYTpob3ZlciAuc29jaWFsLWxpbmtzLWljb24ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIHdpZHRoOiAyLjlyZW07XG4gIGhlaWdodDogMi45cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjhyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4OiAwIDAgYXV0bztcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyAuc29jaWFsLWxpbmtzLWljb24gc3ZnIHtcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIC5zb2NpYWwtbGlua3MtbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPWZhY2Vib29rXSAuc29jaWFsLWxpbmtzLWljb24ge1xuICBiYWNrZ3JvdW5kOiAjMTg3N2YyO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD1mYWNlYm9va10gLnNvY2lhbC1saW5rcy1pY29uIHN2ZyB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS4xOCk7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9Z29vZ2xlXSAuc29jaWFsLWxpbmtzLWljb24ge1xuICBiYWNrZ3JvdW5kOiAjZjlmMGYwO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD1nb29nbGVdIC5zb2NpYWwtbGlua3MtaWNvbiBzdmcge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMjIpO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPXhdIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPWluc3RhZ3JhbV0gLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzgzM2FiNCwgI2UxMzA2YywgI2ZkMWQxZCwgI2ZjYjA0NSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPXdoYXRzYXBwXSAuc29jaWFsLWxpbmtzLWljb24ge1xuICBiYWNrZ3JvdW5kOiAjMjVkMzY2O1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD10ZWxlZ3JhbV0gLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgYmFja2dyb3VuZDogIzIyOWVkOTtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9dGlrdG9rXSAuc29jaWFsLWxpbmtzLWljb24ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDAwIDAlLCAjMTExIDEwMCUpO1xuICBjb2xvcjogI2ZmZjtcbn1cbi5zaWRlYmFyLWhhbWJ1cmdlci1tZW51IC5hY2NvcmRpb24tY29udGVudC5zb2NpYWwtbGlua3MgYVtkYXRhLXNvY2lhbD1saW5rZWRpbl0gLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgYmFja2dyb3VuZDogIzBhNjZjMjtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9eW91dHViZV0gLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgYmFja2dyb3VuZDogI2ZmMDAwMDtcbiAgY29sb3I6ICNmZmY7XG59XG4uc2lkZWJhci1oYW1idXJnZXItbWVudSAuYWNjb3JkaW9uLWNvbnRlbnQuc29jaWFsLWxpbmtzIGFbZGF0YS1zb2NpYWw9Z29vZ2xlX25ld3NdIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gIGJhY2tncm91bmQ6ICNmOWYwZjA7XG4gIGNvbG9yOiAjZmZmO1xufVxuLnNpZGViYXItaGFtYnVyZ2VyLW1lbnUgLmFjY29yZGlvbi1jb250ZW50LnNvY2lhbC1saW5rcyBhW2RhdGEtc29jaWFsPWdvb2dsZV9uZXdzXSAuc29jaWFsLWxpbmtzLWljb24gc3ZnIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjIyKTtcbn1cblxuYm9keSA+IC5oZWFkZXItbmF2LW1lbnUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuMzMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMikgdHJhbnNwYXJlbnQ7XG59XG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudTo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBoZWlnaHQ6IDZweDtcbn1cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuYm9keSA+IC5oZWFkZXItbmF2LW1lbnU6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDAsIDEwMCwgMTAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudSAubWVudS1zY3JvbGwtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5ib2R5ID4gLmhlYWRlci1uYXYtbWVudSAubWVudS1zY3JvbGwtd3JhcHBlciBsaSB7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xufVxuYm9keSA+IC5oZWFkZXItbmF2LW1lbnUgLm1lbnUtc2Nyb2xsLXdyYXBwZXIgbGkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzO1xuICBmb250LXNpemU6IDAuOTVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMXJlbTtcbn1cbmJvZHkgPiAuaGVhZGVyLW5hdi1tZW51IC5tZW51LXNjcm9sbC13cmFwcGVyIGxpIGE6aG92ZXIsIGJvZHkgPiAuaGVhZGVyLW5hdi1tZW51IC5tZW51LXNjcm9sbC13cmFwcGVyIGxpIGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLWNvbnRyYXN0KTtcbn1cblxuLm1haW4tZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSAwIDAgMDtcbn1cbi5tYWluLWdyaWQud2l0aC1zaWRlYmFyIHtcbiAgZ2FwOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWFpbi1ncmlkLndpdGgtc2lkZWJhciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzcwcHg7XG4gIH1cbn1cblxuLnByZS1tYWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAyKSB2YXIoLS1waWNvLXNwYWNpbmcpIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRvcC1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIC0xKTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSAwIDAgMDtcbiAgZ2FwOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudG9wLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDM3MHB4O1xuICB9XG59XG4udG9wLWdyaWQgLnRvcC1jb250ZW50IHtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAudG9wLWdyaWQgLnRvcC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIH1cbn1cbi50b3AtZ3JpZCAudG9wLXNpZGViYXIge1xuICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnRvcC1ncmlkIC50b3Atc2lkZWJhciB7XG4gICAgYm94LXNoYWRvdzogLTFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvciksIDFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gIH1cbn1cblxuLm1haW4tY29udGVudCB7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1haW4tY29udGVudCB7XG4gICAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG4ubWFpbi1jb250ZW50IC5wYWdlLXRpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gIGdhcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1haW4tY29udGVudCAucGFnZS10aXRsZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICB9XG59XG4ubWFpbi1jb250ZW50IC5wYWdlLXRpdGxlLmhhcy1sb2dvIHtcbiAgbWF4LXdpZHRoOiA3NSU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1haW4tY29udGVudCAucGFnZS10aXRsZS5oYXMtbG9nbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gIH1cbn1cbi5tYWluLWNvbnRlbnQgLnBhZ2UtdGl0bGUgaW1nIHtcbiAgbWF4LWhlaWdodDogNDJweDtcbiAgd2lkdGg6IGF1dG87XG4gIGZsZXgtc2hyaW5rOiAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLWNvbnRlbnQgLnBhZ2UtdGl0bGUgaW1nIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNHJlbTtcbiAgfVxufVxuLm1haW4tY29udGVudCAucGFnZS10aXRsZSBoMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLWNvbnRlbnQgLnBhZ2UtdGl0bGUgaDEge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxufVxuLm1haW4tY29udGVudCAucGFnZS10aXRsZSAuaDEtc3VidGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwcmVtO1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgb3BhY2l0eTogMC45O1xuICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG59XG4ubWFpbi1jb250ZW50IC5wYWdlLXRpdGxlOm5vdCguaGFzLWxvZ28pIGgxOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAtOHB4O1xuICB3aWR0aDogNzBweDtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5LWZvY3VzKTtcbn1cblxuLm1haW4tc2lkZWJhciB7XG4gIHBhZGRpbmc6IDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubWFpbi1zaWRlYmFyIHtcbiAgICBib3gtc2hhZG93OiAtMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKSwgMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgfVxufVxuLm1haW4tc2lkZWJhciA+IC53aWRnZXQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0Lm5rLWZlZWQtcmVhZGVyLWxpc3QtZmVlZC1ydWJyaWNhIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCBhdXRvIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGF1dG87XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgZmlndXJlIHtcbiAgYXNwZWN0LXJhdGlvOiAxNi85O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1waWNvLWJvcmRlci1yYWRpdXMpIHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cykgMCAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIGZpZ3VyZSB7XG4gICAgYXNwZWN0LXJhdGlvOiAxNi8xMDtcbiAgICBmbGV4OiAxO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIGZpZ3VyZSB7XG4gICAgZmxleDogbm9uZTtcbiAgfVxufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUgZmlndXJlIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBkaXNwbGF5OiBibG9jaztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZSAucG9zdC1tZXRhIHtcbiAgICBmbGV4OiAzO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIC5wb3N0LW1ldGEge1xuICAgIGZsZXg6IG5vbmU7XG4gIH1cbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIC5wb3N0LW1ldGEgLmxhbmNpbyB7XG4gIHBhZGRpbmc6IDAuN3JlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAtMS41KTtcbn1cbi5tYWluLXNpZGViYXIgLndpZGdldC1zaWRlYmFyLWZlYXR1cmVkLXBvaS1saXN0YSBhcnRpY2xlIC5wb3N0LW1ldGEgaDMge1xuICBwYWRkaW5nOiAwLjdyZW07XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuLm1haW4tc2lkZWJhciAud2lkZ2V0LXNpZGViYXItZmVhdHVyZWQtcG9pLWxpc3RhIGFydGljbGUuZmVhdHVyZWQgLnBvc3QtbWV0YSBoMiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4ubWFpbi1zaWRlYmFyIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEgYXJ0aWNsZS5jb21wYWN0IC5wb3N0LW1ldGEgaDIge1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbi53aWRnZXQgLndpZGdldC10aXRsZS1pbWcsXG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuLndpZGdldCAud2lkZ2V0LXRpdGxlLWltZyA+IGltZyxcbi53aWRnZXQgLndpZGdldC10aXRsZS1pbWcgPiBzcGFuLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlID4gaW1nLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlID4gc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi53aWRnZXQgLndpZGdldC10aXRsZS1pbWcgaW1nLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlIGltZyB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIG1heC1oZWlnaHQ6IDQ0cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gIHotaW5kZXg6IDEwO1xufVxuLndpZGdldCAud2lkZ2V0LXRpdGxlLWltZyBhLFxuLndpZGdldCAud2lkZ2V0LXRpdGxlIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ud2lkZ2V0IC53aWRnZXQtdGl0bGUtaW1nID4gc3Bhbixcbi53aWRnZXQgLndpZGdldC10aXRsZSA+IHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gIHotaW5kZXg6IDEwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuNSk7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXgtd2lkdGg6IDcwJTtcbn1cbi53aWRnZXQgLndpZGdldC10aXRsZS1pbWc6OmJlZm9yZSxcbi53aWRnZXQgLndpZGdldC10aXRsZTo6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICB6LWluZGV4OiAxO1xufVxuLndpZGdldCAud2lkZ2V0LXRpdGxlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG4ud2lkZ2V0IC53aWRnZXQtZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG4ud2lkZ2V0IC53aWRnZXQtZm9vdGVyIGFbcm9sZT1idXR0b25dIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDAuNnJlbTtcbn1cbi53aWRnZXQgLndpZGdldC1mb290ZXIgYVtyb2xlPWJ1dHRvbl06OmFmdGVyIHtcbiAgY29udGVudDogXCLigLpcIjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xufVxuLndpZGdldCAud2lkZ2V0LWZvb3RlciBhW3JvbGU9YnV0dG9uXTpmb2N1cywgLndpZGdldCAud2lkZ2V0LWZvb3RlciBhW3JvbGU9YnV0dG9uXTpob3ZlciB7XG4gIC0tcGljby1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpIDEwJSwgIzAwMCA5NSUpO1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY29udGFpbmVyLnRvcC1ncmlkIC50b3Atc2lkZWJhciAud2lkZ2V0Omxhc3QtY2hpbGQge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IGNhbGMoNjRweCArIHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCwgMHB4KSArIDFyZW0pO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogMCAwIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rZXIge1xuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxufVxuLmNvbW1lbnQtZm9ybS11cmwge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbn1cblxuLndwLWNhcHRpb24gaW1nLFxuaW1nLnNpemUtZnVsbCxcbmltZy5zaXplLWxhcmdlLFxuaW1nLnNpemUtbWVkaXVtLFxuaW1nLnNpemUtdGh1bWJuYWlsIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmltZy5hbGlnbnJpZ2h0LFxuZmlndXJlLmFsaWducmlnaHQsXG5kaXYud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMC4ycmVtIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGltZy5hbGlnbnJpZ2h0LFxuICBmaWd1cmUuYWxpZ25yaWdodCxcbiAgZGl2LndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMC4ycmVtIDAgdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbmltZy5hbGlnbmxlZnQsXG5maWd1cmUuYWxpZ25sZWZ0LFxuZGl2LndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIG1hcmdpbjogMC4ycmVtIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgaW1nLmFsaWdubGVmdCxcbiAgZmlndXJlLmFsaWdubGVmdCxcbiAgZGl2LndwLWNhcHRpb24uYWxpZ25sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDAuMnJlbSB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5pbWcuYWxpZ25ub25lLFxuZmlndXJlLmFsaWdubm9uZSxcbmRpdi53cC1jYXB0aW9uLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogMC4ycmVtIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbmltZy5hbGlnbmNlbnRlcixcbmZpZ3VyZS5hbGlnbmNlbnRlcixcbmRpdi53cC1jYXB0aW9uLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuI3dwYWRtaW5iYXIge1xuICB6LWluZGV4OiA5OTk5OTk5O1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbn1cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY29udGFpbmVyLmNvbnRhaW5lci1sZGIxIHtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgYm94LXNoYWRvdzogLTFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvciksIDFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG59XG5cbi5tYWluLXNpZGViYXIgLndpZGdldC1uay1hZHYtcHJpbnQ6bm90KDpoYXMoPiAqOm5vdCg6ZW1wdHkpKSkge1xuICBtYXJnaW46IDA7XG59XG5cbmRpdltpZF49Zmx4LV0ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuXG5kaXZbaWRePWZseF9uZWNyb10ge1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAyKTtcbn1cblxuZGl2W2lkXj1mbHgtaW5pemlhdGl2ZV0ge1xuICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG59XG5cbmRpdltpZF49Zmx4LWluaXppYXRpdmVdOm5vdCg6aGFzKD4gKjpub3QoOmVtcHR5KSkpIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5kaXZbaWRePWZseC1pbmZlZWRdIHtcbiAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xufVxuXG5kaXZbaWRePWZseC1pbmZlZWRdOm5vdCg6aGFzKD4gKjpub3QoOmVtcHR5KSkpIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4jb25lc2lnbmFsLXNsaWRlZG93bi1jb250YWluZXIuc2xpZGUtdXAsICNvbmVzaWduYWwtcG9wb3Zlci1jb250YWluZXIuc2xpZGUtdXAge1xuICB6LWluZGV4OiAyMTQ3NDgzNjQwICFpbXBvcnRhbnQ7XG59XG5cbi5jYXJvdXNlbC1jYXJkcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplO1xuICBjb250YWluZXItbmFtZTogY2Fyb3VzZWwtY2FyZHM7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX3RyYWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgc2Nyb2xsYmFyLXdpZHRoOiBub25lO1xufVxuLmNhcm91c2VsLWNhcmRzX190cmFjazo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmNhcm91c2VsLWNhcmRzX19hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzNSU7XG4gIHotaW5kZXg6IDEwO1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQ1KTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgYmFja2dyb3VuZCAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG9wYWNpdHk6IDAuNzU7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2Fycm93OmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuLmNhcm91c2VsLWNhcmRzX19hcnJvdzphY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTYpO1xufVxuLmNhcm91c2VsLWNhcmRzX19hcnJvdzpmb2N1cy12aXNpYmxlIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICNmZmY7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2Fycm93LS1wcmV2IHtcbiAgbGVmdDogMDtcbiAgYm9yZGVyLXJhZGl1czogMCAwLjVyZW0gMC41cmVtIDA7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2Fycm93LS1uZXh0IHtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDAuNXJlbSAwIDAgMC41cmVtO1xufVxuLmNhcm91c2VsLWNhcmRzX19hcnJvdyBzdmcge1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2l0ZW0ge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogYXV0bztcbn1cbi5jYXJvdXNlbC1jYXJkc19faXRlbSBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQGNvbnRhaW5lciBjYXJvdXNlbC1jYXJkcyAobWluLXdpZHRoOiA1MjBweCkge1xuICAuY2Fyb3VzZWwtY2FyZHNfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoKDEwMCUgLSB2YXIoLS1waWNvLXNwYWNpbmcpKSAvIDIpO1xuICB9XG4gIC5jYXJvdXNlbC1jYXJkc19fYXJyb3cge1xuICAgIHdpZHRoOiAzLjI1cmVtO1xuICAgIGhlaWdodDogMy4yNXJlbTtcbiAgfVxufVxuQGNvbnRhaW5lciBjYXJvdXNlbC1jYXJkcyAobWluLXdpZHRoOiA4MjBweCkge1xuICAuY2Fyb3VzZWwtY2FyZHNfX2l0ZW0ge1xuICAgIGZsZXgtYmFzaXM6IGNhbGMoKDEwMCUgLSB2YXIoLS1waWNvLXNwYWNpbmcpICogMikgLyAzKTtcbiAgfVxufVxuLmNhcm91c2VsLWNhcmRzX19maWd1cmUge1xuICBhc3BlY3QtcmF0aW86IDE2LzEwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgZmxleC1zaHJpbms6IDA7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2ZpZ3VyZSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuLmNhcm91c2VsLWNhcmRzX19tZXRhIHtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5jYXJvdXNlbC1jYXJkc19fdGl0bGUge1xuICBmb250LXNpemU6IDEuMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIG1hcmdpbjogMDtcbn1cbi5jYXJvdXNlbC1jYXJkc19fY2F0IHtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMS44KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAwLjhyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjAycmVtO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbn1cbi5jYXJvdXNlbC1jYXJkc19fbGFuY2lvIHtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbn1cbi5jYXJvdXNlbC1jYXJkc19faXRlbS12aWRlbyAuY2Fyb3VzZWwtY2FyZHNfX2ZpZ3VyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDAuNzVyZW07XG4gIHJpZ2h0OiAwLjc1cmVtO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMS4xcmVtIHNvbGlkICNmZmY7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDAuMDhyZW0gcmdiKDAsIDAsIDApKTtcbn1cbi5jYXJvdXNlbC1jYXJkc19faXRlbS1nYWxsZXJ5IC5jYXJvdXNlbC1jYXJkc19fZmlndXJlOjpiZWZvcmUsIC5jYXJvdXNlbC1jYXJkc19faXRlbS1nYWxsZXJ5IC5jYXJvdXNlbC1jYXJkc19fZmlndXJlOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwLjVyZW07XG4gIHJpZ2h0OiAwLjdyZW07XG4gIHdpZHRoOiAxLjJyZW07XG4gIGhlaWdodDogMC45cmVtO1xuICBib3JkZXItcmFkaXVzOiAwLjE1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwLjA4cmVtIHJnYigwLCAwLCAwKSk7XG4gIHotaW5kZXg6IDM7XG59XG4uY2Fyb3VzZWwtY2FyZHNfX2l0ZW0tZ2FsbGVyeSAuY2Fyb3VzZWwtY2FyZHNfX2ZpZ3VyZTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLjJyZW0sIC0wLjJyZW0pO1xuICB6LWluZGV4OiAxO1xufVxuLmNhcm91c2VsLWNhcmRzX19pdGVtLWRpcmV0dGEgLmNhcm91c2VsLWNhcmRzX19maWd1cmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiTElWRVwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMC4xcmVtO1xuICBsZWZ0OiAwLjFyZW07XG4gIGJhY2tncm91bmQ6ICNlNTNlM2U7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMCBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbn1cblxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdCB7XG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC10aHVtYm5haWwtd3JhcHBlcixcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtdGh1bWJuYWlsLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtdGh1bWJuYWlsLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC10aHVtYm5haWwge1xuICBhc3BlY3QtcmF0aW86IDE2Lzk7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtdGh1bWJuYWlsIGltZyxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtdGh1bWJuYWlsIGltZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtaGVhZGVyLndpdGgtdGh1bWJuYWlsLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1oZWFkZXIud2l0aC10aHVtYm5haWwge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBwYWRkaW5nOiAwIDAgdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtaGVhZGVyLndpdGgtdGh1bWJuYWlsIC5zaW5nbGUtcG9zdC1sYW5jaW8sXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWhlYWRlci53aXRoLXRodW1ibmFpbCAuc2luZ2xlLXBvc3QtbGFuY2lvIHtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtaGVhZGVyLndpdGgtdGh1bWJuYWlsIC5zaW5nbGUtcG9zdC10aXRsZSxcbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1oZWFkZXIud2l0aC10aHVtYm5haWwgLnNpbmdsZS1wb3N0LXN1YnRpdGxlLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1oZWFkZXIud2l0aC10aHVtYm5haWwgLnNpbmdsZS1wb3N0LXRpdGxlLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1oZWFkZXIud2l0aC10aHVtYm5haWwgLnNpbmdsZS1wb3N0LXN1YnRpdGxlIHtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWhlYWRlci5uby10aHVtYm5haWwsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWhlYWRlci5uby10aHVtYm5haWwge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBtYXJnaW46IDAgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWhlYWRlci5uby10aHVtYm5haWwgLnNpbmdsZS1wb3N0LWxhbmNpbyxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtaGVhZGVyLm5vLXRodW1ibmFpbCAuc2luZ2xlLXBvc3QtbGFuY2lvIHtcbiAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeSk7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtaGVhZGVyLm5vLXRodW1ibmFpbCAuc2luZ2xlLXBvc3QtdGl0bGUsXG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtaGVhZGVyLm5vLXRodW1ibmFpbCAuc2luZ2xlLXBvc3Qtc3VidGl0bGUsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWhlYWRlci5uby10aHVtYm5haWwgLnNpbmdsZS1wb3N0LXRpdGxlLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1oZWFkZXIubm8tdGh1bWJuYWlsIC5zaW5nbGUtcG9zdC1zdWJ0aXRsZSB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1sYW5jaW8sXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWxhbmNpbyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4xcmVtO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LXRpdGxlLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAyLjFyZW07XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3Qtc3VidGl0bGUsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LXN1YnRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjJyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi10b3A6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtbWV0YSxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtbWV0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LW1ldGEsXG4gIGJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtbWV0YSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1kYXRlLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1kYXRlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1kYXRlIHN0cm9uZyxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtZGF0ZSBzdHJvbmcge1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1hdXRob3IsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWF1dGhvciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYXV0aG9yIGEsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWF1dGhvciBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMS43O1xuICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSAucG9kY2FzdF9wbGF5ZXIsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgLnBvZGNhc3RfcGxheWVyIHtcbiAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgLnBvZGNhc3RfcGxheWVyLFxuICBib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgLnBvZGNhc3RfcGxheWVyIHtcbiAgICB3aWR0aDogOTAlO1xuICB9XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSAucG9kY2FzdF9tZXRhLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IC5wb2RjYXN0X21ldGEge1xuICBtYXJnaW4tdG9wOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgLnBvZGNhc3RfbWV0YSBwLCBib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSAucG9kY2FzdF9tZXRhIGEsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgLnBvZGNhc3RfbWV0YSBwLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IC5wb2RjYXN0X21ldGEgYSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IC53cC1ibG9jay12aWRlbyB2aWRlbyxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSAud3AtYmxvY2stdmlkZW8gdmlkZW8ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgLndwLWJsb2NrLWltYWdlIGltZyxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSAud3AtYmxvY2staW1hZ2UgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5ID4gYmxvY2txdW90ZSxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSA+IGJsb2NrcXVvdGUge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5ID4gYmxvY2txdW90ZSxcbiAgYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5ID4gYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSAud3AtYXVkaW8tc2hvcnRjb2RlLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IC53cC1hdWRpby1zaG9ydGNvZGUge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgcCxcbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGg0LFxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaDUsXG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBoNixcbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGksXG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBiLFxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgc3Ryb25nLFxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaXRhbGljLFxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgYSxcbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGxpLFxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgYmxvY2txdW90ZSxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBwLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGg0LFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGg1LFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGg2LFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGksXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgYixcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBzdHJvbmcsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaXRhbGljLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGEsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgbGksXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgYmxvY2txdW90ZSB7XG4gIGZvbnQtc2l6ZTogMS4ycmVtO1xuICBsaW5lLWhlaWdodDogMnJlbTtcbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IHVsLFxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgb2wsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgdWwsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgb2wge1xuICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDIpO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgbGksXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgbGkge1xuICBwYWRkaW5nLWJvdHRvbTogMC4zcmVtO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgbGk6bGFzdC1jaGlsZCxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBsaTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBwLFxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgdWwsXG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBvbCxcbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGJsb2NrcXVvdGUsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgcCxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSB1bCxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBvbCxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBibG9ja3F1b3RlIHtcbiAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGEsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBzbWFsbCxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBzbWFsbCB7XG4gIGZvbnQtc2l6ZTogOTAlO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaDEsXG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBoMixcbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGgzLFxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaDQsXG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBoNSxcbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGg2LFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGgxLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGgyLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGgzLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGg0LFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGg1LFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGg2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDAuNSk7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDEuNSk7XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBoMSxcbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGgyLFxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaDEgKixcbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGgyICosXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaDEsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaDIsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaDEgKixcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBoMiAqIHtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjFyZW07XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBoMyxcbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGgzICosXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaDMsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaDMgKiB7XG4gIGZvbnQtc2l6ZTogMS4zcmVtO1xuICBsaW5lLWhlaWdodDogMi4xcmVtO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLnNpbmdsZS1wb3N0LWJvZHkgaWZyYW1lLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5zaW5nbGUtcG9zdC1ib2R5IGlmcmFtZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBpZnJhbWVbc3JjKj1cInBsYXllci52aW1lb1wiXSxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuc2luZ2xlLXBvc3QtYm9keSBpZnJhbWVbc3JjKj1cInBsYXllci52aW1lb1wiXSB7XG4gIGFzcGVjdC1yYXRpbzogMTYvOTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5jb21tZW50cy1saW5rLFxuYm9keS5wYWdlIG1haW4ubWFpbi1jb250ZW50IC5jb21tZW50cy1saW5rIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1jYXJkLWJhY2tncm91bmQtY29sb3IpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDIpO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5jb21tZW50cy1saW5rLFxuICBib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLmNvbW1lbnRzLWxpbmsge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5ib2R5LnNpbmdsZSBtYWluLm1haW4tY29udGVudCAuY29tbWVudHMtbGluayA+IGEsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLmNvbW1lbnRzLWxpbmsgPiBhIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMXJlbTtcbn1cbmJvZHkuc2luZ2xlIG1haW4ubWFpbi1jb250ZW50IC5jb21tZW50cy1saW5rID4gYSBzbWFsbCxcbmJvZHkucGFnZSBtYWluLm1haW4tY29udGVudCAuY29tbWVudHMtbGluayA+IGEgc21hbGwge1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuYm9keS5zaW5nbGUgbWFpbi5tYWluLWNvbnRlbnQgLm5ld3MtcGx1cyA+IGFydGljbGUsXG5ib2R5LnBhZ2UgbWFpbi5tYWluLWNvbnRlbnQgLm5ld3MtcGx1cyA+IGFydGljbGUge1xuICBib3JkZXItdG9wOiAwLjI1cmVtIHNvbGlkIHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAyKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLmdhbGxlcnktY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW10LWdhbGxlcnktYmFja2dyb3VuZCk7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIDA7XG59XG4uZ2FsbGVyeS1jYXJvdXNlbCBoNSB7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgMCBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSAwO1xufVxuLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXRyYWNrIHtcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbn1cbi5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LXNocmluazogMDtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLXNsaWRlIGltZyB7XG4gIG1heC1oZWlnaHQ6IDkwJTtcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cbi5nYWxsZXJ5LWNhcm91c2VsIC5jYXJvdXNlbC1jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuLmdhbGxlcnktY2Fyb3VzZWwgLmNhcm91c2VsLWNvbnRyb2xzIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6IGJsYWNrO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2cge1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBwYWRkaW5nOiAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZyB7XG4gICAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2ctaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG59XG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2ctaGVhZGVyIC53aWRnZXQtdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xufVxuYm9keS5zaW5nbGUtcG9zdCAubGl2ZS1ibG9nLWhlYWRlciAud2lkZ2V0LXRpdGxlIHNwYW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgei1pbmRleDogMTAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbmJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZy1oZWFkZXIgLndpZGdldC10aXRsZTo6YmVmb3JlIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogNTAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICB6LWluZGV4OiAxO1xufVxuYm9keS5zaW5nbGUtcG9zdCAubGl2ZS1ibG9nLWhlYWRlciAubGl2ZS1ibG9nLXJlZnJlc2gge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbn1cbmJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZy1oZWFkZXIgLmxpdmUtYmxvZy1yZWZyZXNoIGEge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgcGFkZGluZzogMC40cmVtIDAuN3JlbTtcbn1cbmJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZy1lbnRyaWVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbmJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZy10aW1lbGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBwYWRkaW5nOiAwO1xuICBnYXA6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIGJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZy10aW1lbGluZSB7XG4gICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2ctdGltZWxpbmU6bGFzdC1jaGlsZCAubGl2ZS1ibG9nLWVudHJ5IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbmJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZy10aW1lbGluZS1hc2lkZSB7XG4gIHdpZHRoOiAxLjJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbn1cbmJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZy10aW1lbGluZS1hc2lkZS1wb2ludCB7XG4gIHdpZHRoOiAwLjdyZW07XG4gIGhlaWdodDogMC43cmVtO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbn1cbmJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZy10aW1lbGluZS1hc2lkZS1saW5lIHtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMnB4O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcik7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xufVxuYm9keS5zaW5nbGUtcG9zdCAubGl2ZS1ibG9nLWVudHJ5IHtcbiAgZmxleDogMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAxLjUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTAuMjVyZW07XG59XG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2ctZW50cnkgLmxpdmUtYmxvZy10aW1lIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuYm9keS5zaW5nbGUtcG9zdCAubGl2ZS1ibG9nLWVudHJ5IC5saXZlLWJsb2ctZW50cnktaGVhZGxpbmUge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEuM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG59XG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2ctZW50cnkgLmxpdmUtYmxvZy1lbnRyeS1jb250ZW50IHtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuYm9keS5zaW5nbGUtcG9zdCAubGl2ZS1ibG9nLWVudHJ5IC5saXZlLWJsb2ctZW50cnktY29udGVudCBoMSxcbmJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZy1lbnRyeSAubGl2ZS1ibG9nLWVudHJ5LWNvbnRlbnQgaDIsXG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2ctZW50cnkgLmxpdmUtYmxvZy1lbnRyeS1jb250ZW50IGgzLFxuYm9keS5zaW5nbGUtcG9zdCAubGl2ZS1ibG9nLWVudHJ5IC5saXZlLWJsb2ctZW50cnktY29udGVudCBoNCxcbmJvZHkuc2luZ2xlLXBvc3QgLmxpdmUtYmxvZy1lbnRyeSAubGl2ZS1ibG9nLWVudHJ5LWNvbnRlbnQgaDUsXG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2ctZW50cnkgLmxpdmUtYmxvZy1lbnRyeS1jb250ZW50IGg2IHtcbiAgZm9udC1zaXplOiAxLjNyZW07XG59XG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2ctZW50cnkgLmxpdmUtYmxvZy1lbnRyeS1jb250ZW50ICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2ctZW50cnkgLmxpdmUtYmxvZy1lbnRyeS1jb250ZW50IC5nYWxsZXJ5LWNhcm91c2VsIGg1IHtcbiAgZm9udC1zaXplOiB2YXIoLS1waWNvLWZvbnQtc2l6ZSk7XG59XG5ib2R5LnNpbmdsZS1wb3N0IC5saXZlLWJsb2ctZW1wdHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xufVxuYm9keS5zaW5nbGUtcG9zdCAubGl2ZS1ibG9nLWVtcHR5IHAge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xufVxuXG4ucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBtYXJnaW46IDAgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9faXRlbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9faXRlbS1wcml2YXRlIHtcbiAgb3BhY2l0eTogMC43O1xuICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tcGljby1jb2xvcik7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19saW5rOmhvdmVyIHtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2xpbmsgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fY29udGVudDpmaXJzdC1jaGlsZCB7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAucG9zdC1saXN0LXZlcnRpY2FsX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICB9XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYiB7XG4gIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBmbGV4OiAwIDAgMjIwcHg7XG4gIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYiB7XG4gICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICB9XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYiBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtLWRpcmV0dGEgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJMSVZFXCI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNTNlM2U7XG4gIHRvcDogMC4xcmVtO1xuICBsZWZ0OiAwLjFyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAwcmVtIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0tZ2FsbGVyeSAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjpiZWZvcmUsXG4ucG9zdC1saXN0LXZlcnRpY2FsX19pdGVtLWdhbGxlcnkgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMC41cmVtO1xuICByaWdodDogMC43cmVtO1xuICB3aWR0aDogMS4ycmVtO1xuICBoZWlnaHQ6IDAuOXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMC4xNXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgMC4wOHJlbSByZ2IoMCwgMCwgMCkpO1xuICB6LWluZGV4OiAzO1xufVxuLnBvc3QtbGlzdC12ZXJ0aWNhbF9faXRlbS1nYWxsZXJ5IC5wb3N0LWxpc3QtdmVydGljYWxfX3RodW1iOmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMC4ycmVtLCAtMC4ycmVtKTtcbiAgei1pbmRleDogMTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2l0ZW0tdmlkZW8gLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxLjFyZW0gc29saWQgI2ZmZmZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDAuNzVyZW07XG4gIHJpZ2h0OiAwLjc1cmVtO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAwLjA4cmVtIHJnYigwLCAwLCAwKSk7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX19jb250ZW50IHtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wb3N0LWxpc3QtdmVydGljYWxfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gIH1cbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2NhdCB7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDMpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAwLjhyZW07XG4gIGxldHRlci1zcGFjaW5nOiAwLjAycmVtO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX2xhbmNpbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiB2YXIoLS1waWNvLW11dGVkLWNvbG9yKTtcbiAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG59XG4ucG9zdC1saXN0LXZlcnRpY2FsX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAucG9zdC1saXN0LXZlcnRpY2FsX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjNyZW07XG4gIH1cbn1cbi5wb3N0LWxpc3QtdmVydGljYWxfX3ZlcnRpY2FsX19leGNlcnB0IHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIG1hcmdpbjogMCAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5wb3N0LWxpc3QtdmVydGljYWxfX3ZlcnRpY2FsX19leGNlcnB0IHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgfVxufSIsIkB1c2UgJ3Nhc3M6Y29sb3InO1xuXG4kbXQtYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblxuJG10LWNvbG9yOiAjMzczYzQ0O1xuXG4kbXQtcHJpbWFyeS1jb2xvcjogIzAwNTk5YztcbiRtdC1wcmltYXJ5LWNvbG9yLWRhcmtlbjogY29sb3IuYWRqdXN0KCRtdC1wcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW46IGNvbG9yLmFkanVzdCgkbXQtcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogKzEwJSk7XG4kbXQtcHJpbWFyeS1pbnZlcnNlLWNvbG9yOiAjZmZmZmZmO1xuXG4kbXQtc2Vjb25kYXJ5LWNvbG9yOiAjNzM3OTg3O1xuJG10LXNlY29uZGFyeS1jb2xvci1kYXJrZW46IGNvbG9yLmFkanVzdCgkbXQtc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC1zZWNvbmRhcnktY29sb3ItbGlnaHRlbjogY29sb3IuYWRqdXN0KCRtdC1zZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICsxMCUpO1xuJG10LXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yOiAjZmZmZmZmO1xuXG4kbXQtY29udHJhc3QtY29sb3I6ICMxODFjMjU7XG4kbXQtY29udHJhc3QtY29sb3ItZGFya2VuOiBjb2xvci5hZGp1c3QoJG10LWNvbnRyYXN0LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC1jb250cmFzdC1jb2xvci1saWdodGVuOiBjb2xvci5hZGp1c3QoJG10LWNvbnRyYXN0LWNvbG9yLCAkbGlnaHRuZXNzOiArMTAlKTtcbiRtdC1jb250cmFzdC1pbnZlcnNlLWNvbG9yOiAjZmZmZmZmO1xuXG5cblxuXG4kbXQtdGRhcmstYmFja2dyb3VuZC1jb2xvcjogIzFkMjMyNztcblxuJG10LXRkYXJrLWNvbG9yOiAjMWQyMzI3O1xuXG4kbXQtdGRhcmstcHJpbWFyeS1jb2xvcjogIzViYjRkZjtcbiRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbjogY29sb3IuYWRqdXN0KCRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW46IGNvbG9yLmFkanVzdCgkbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogKzEwJSk7XG4kbXQtdGRhcmstcHJpbWFyeS1pbnZlcnNlLWNvbG9yOiAjMTIxMjEyO1xuXG4kbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yOiAjYTNhOWI3O1xuJG10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW46IGNvbG9yLmFkanVzdCgkbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbjogY29sb3IuYWRqdXN0KCRtdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICsxMCUpO1xuJG10LXRkYXJrLXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yOiAjMTIxMjEyO1xuXG4kbXQtdGRhcmstY29udHJhc3QtY29sb3I6ICNmNWY3ZmE7XG4kbXQtdGRhcmstY29udHJhc3QtY29sb3ItZGFya2VuOiBjb2xvci5hZGp1c3QoJG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTAlKTtcbiRtdC10ZGFyay1jb250cmFzdC1jb2xvci1saWdodGVuOiBjb2xvci5hZGp1c3QoJG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAkbGlnaHRuZXNzOiArMTAlKTtcbiRtdC10ZGFyay1jb250cmFzdC1pbnZlcnNlLWNvbG9yOiAjMTIxMjEyO1xuXG5cbiRtdC1mb250LWZhbWlseTogJ0ludGVyJywgVGFob21hLCBWZXJkYW5hLCBzYW5zLXNlcmlmO1xuJG10LWZvbnQtc2l6ZTogMXJlbTtcbiRtdC1saW5lLWhlaWdodDogMS40cmVtO1xuJG10LWZvbnQtd2VpZ2h0OiA0MDA7XG4kbXQtbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiRtdC1oZWFkaW5nLWZvbnQtZmFtaWx5OiAnUm9ib3RvJywgR2VvcmdpYSwgc2VyaWY7XG4kbXQtaGVhZGluZy1mb250LXdlaWdodDogNzAwO1xuXG4kbXQtc2l0ZS1oZWFkZXItaGVpZ2h0OiA2NHB4O1xuXG4kbXQtemluZGV4LWhlYWRlcjogOTk5OTk5OTtcbiRtdC16aW5kZXgtc2lkZWJhci1oYW1idXJnZXI6IDk5OTk5OTk5O1xuJG10LXppbmRleC1wb3B1cDogOTk5OTk5OTk5O1xuXG4kbXQtYnJlYWtwb2ludHM6IChcbiAgc206IChicmVha3BvaW50OiA1NzZweCxcbiAgICB2aWV3cG9ydDogMTAwJSxcbiAgICByb290LWZvbnQtc2l6ZTogMTA2LjI1JSxcbiAgKSxcbiAgbWQ6IChicmVha3BvaW50OiA3NjhweCxcbiAgICB2aWV3cG9ydDogMTAwJSxcbiAgICByb290LWZvbnQtc2l6ZTogMTEyLjUlLFxuICApLFxuICBsZzogKGJyZWFrcG9pbnQ6IDEwMjRweCxcbiAgICB2aWV3cG9ydDogMTI4MHB4LFxuICAgIHJvb3QtZm9udC1zaXplOiAxMTguNzUlLFxuICApLFxuICB4bDogKGJyZWFrcG9pbnQ6IDEyODBweCxcbiAgICB2aWV3cG9ydDogMTI4MHB4LFxuICAgIHJvb3QtZm9udC1zaXplOiAxMjUlLFxuICApLFxuICB4eGw6IChicmVha3BvaW50OiAxNTM2cHgsXG4gICAgdmlld3BvcnQ6IDEyODBweCxcbiAgICByb290LWZvbnQtc2l6ZTogMTMxLjI1JSxcbiAgKVxuKTtcblxuLy8gVGVtYSBTb2xpdG9cbltkYXRhLXRoZW1lPVwibGlnaHRcIl0sXG46cm9vdDpub3QoW2RhdGEtdGhlbWU9XCJkYXJrXCJdKSB7XG5cbiAgLS1tdC1jb21tZW50aS1mb3JtLWJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIC0tbXQtbmVjcm9sb3JpLWZvcm0tYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgLS1tdC1ob21lcGFnZS1vcGVuaW5nLWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDEwJSwgI2ZmZiA5MCUpO1xuICAtLW10LWdhbGxlcnktYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgNSUsICNmZmYgOTUlKTtcblxufVxuXG4vLyBUZW1hIERhcmtcbltkYXRhLXRoZW1lPVwiZGFya1wiXSxcbjpyb290W2RhdGEtdGhlbWU9XCJkYXJrXCJdIHtcbiAgLS1tdC1jb21tZW50aS1mb3JtLWJhY2tncm91bmQ6ICMxMjEyMTI7XG4gIC0tbXQtbmVjcm9sb3JpLWZvcm0tYmFja2dyb3VuZDogIzEyMTIxMjtcbiAgLS1tdC1ob21lcGFnZS1vcGVuaW5nLWJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLXByaW1hcnkpIDEwJSwgIzAwMCA5MCUpO1xuICAtLW10LWdhbGxlcnktYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tcHJpbWFyeSkgNSUsICMwMDAgOTUlKTtcblxufSIsIkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL2ludGVyL2ludGVyLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnSW50ZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL2ludGVyL2ludGVyLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdJbnRlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvaW50ZXIvaW50ZXItNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ0ludGVyJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9pbnRlci9pbnRlci03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdNZXJyaXdlYXRoZXInO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdNZXJyaXdlYXRoZXInO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL21lcnJpd2VhdGhlci9tZXJyaXdlYXRoZXItaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ01lcnJpd2VhdGhlcic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbWVycml3ZWF0aGVyL21lcnJpd2VhdGhlci03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTWVycml3ZWF0aGVyJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9tZXJyaXdlYXRoZXIvbWVycml3ZWF0aGVyLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zYW5zL25vdG8tc2Fucy1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTYW5zJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9ub3RvLXNhbnMvbm90by1zYW5zLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL25vdG8tc2Fucy9ub3RvLXNhbnMtNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufSIsIkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZic7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLXJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnTm90byBTZXJpZic7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvbm90by1zZXJpZi9ub3RvLXNlcmlmLWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdOb3RvIFNlcmlmJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9ub3RvLXNlcmlmL25vdG8tc2VyaWYtNzAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ05vdG8gU2VyaWYnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL25vdG8tc2VyaWYvbm90by1zZXJpZi03MDBpdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtcmVndWxhci53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL29wZW4tc2Fucy9vcGVuLXNhbnMtaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvb3Blbi1zYW5zL29wZW4tc2Fucy03MDAud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9vcGVuLXNhbnMvb3Blbi1zYW5zLTcwMGl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvcm9ib3RvL3JvYm90by1yZWd1bGFyLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBmb250LWZhbWlseTogJ1JvYm90byc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgc3JjOiB1cmwoJy4vLi4vZm9udHMvcm9ib3RvL3JvYm90by1pdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIGZvbnQtZmFtaWx5OiAnUm9ib3RvJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBzcmM6IHVybCgnLi8uLi9mb250cy9yb2JvdG8vcm9ib3RvLTcwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgZm9udC1mYW1pbHk6ICdSb2JvdG8nO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHNyYzogdXJsKCcuLy4uL2ZvbnRzL3JvYm90by9yb2JvdG8tNzAwaXRhbGljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufSIsIi8qIVxuICogUGljbyBDU1Mg4pyoIHYyLjEuMSAoaHR0cHM6Ly9waWNvY3NzLmNvbSlcbiAqIENvcHlyaWdodCAyMDE5LTIwMjUgLSBMaWNlbnNlZCB1bmRlciBNSVRcbiAqL1xuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vY29sb3JzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9zZXR0aW5nc1wiIGFzICo7XG5AdXNlIFwiLi4vLi4vaGVscGVycy9mdW5jdGlvbnNcIjtcbkB1c2UgXCJ0aGVtZS1jb2xvcnNcIjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwidGhlbWVzL2RlZmF1bHRcIikge1xuICAvKipcbiAgICogU3R5bGVzXG4gICAqL1xuXG4gIDpyb290LFxuICA6aG9zdCB7XG4gICAgLy8gVHlwb2dyYXBoeVxuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LWVtb2ppOlxuICAgICAgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6XG4gICAgICBzeXN0ZW0tdWksIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCBIZWx2ZXRpY2EsIEFyaWFsLCBcIkhlbHZldGljYSBOZXVlXCIsXG4gICAgICBzYW5zLXNlcmlmLCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC1mYW1pbHktZW1vamkpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LW1vbm9zcGFjZTpcbiAgICAgIHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIFwiU0YgTW9ub1wiLCBNZW5sbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIG1vbm9zcGFjZSxcbiAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseS1lbW9qaSk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1mYW1pbHk6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseS1zYW5zLXNlcmlmKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodDogMS41O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxMDAlO1xuICAgICN7JGNzcy12YXItcHJlZml4fXRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xcmVtO1xuXG4gICAgLy8gQm9yZGVyc1xuICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoOiAwLjA2MjVyZW07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aDogMC4xMjVyZW07XG5cbiAgICAvLyBUcmFuc2l0aW9uc1xuICAgICN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb246IDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAvLyBTcGFjaW5nc1xuICAgICN7JGNzcy12YXItcHJlZml4fXNwYWNpbmc6IDFyZW07XG5cbiAgICAvLyBTcGFjaW5ncyBmb3IgdHlwb2dyYXBoeSBlbGVtZW50c1xuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWw6IDFyZW07XG4gICAgfVxuXG4gICAgLy8gU3BhY2luZ3MgZm9yIGJvZHkgPiBoZWFkZXIsIGJvZHkgPiBtYWluLCBib2R5ID4gZm9vdGVyLCBzZWN0aW9uLCBhcnRpY2xlXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2xhbmRtYXJrc1wiKSBvclxuICAgICAgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvc2VjdGlvblwiKSBvclxuICAgICAgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2NhcmRcIikgb3JcbiAgICAgIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9tb2RhbFwiKVxuICAgIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWw6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgIH1cblxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9ncmlkXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JpZC1jb2x1bW4tZ2FwOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncmlkLXJvdy1nYXA6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcbiAgICB9XG5cbiAgICAvLyBTcGFjaW5ncyBmb3IgZm9ybSBlbGVtZW50cyBhbmQgYnV0dG9uXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9idXR0b25cIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9iYXNpY1wiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbDogMC43NXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWw6IDFyZW07XG4gICAgfVxuXG4gICAgLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzICYgZmllbGRzZXRzIGxlZ2VuZFxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodCk7XG4gICAgfVxuXG4gICAgLy8gR3JvdXAgKHJvbGU9XCJncm91cFwiKVxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZ3JvdXBcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDBcbiAgICAgICAgMFxuICAgICAgICAwXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1mb2N1cyk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93LWZvY3VzLXdpdGgtaW5wdXQ6IDBcbiAgICAgICAgMFxuICAgICAgICAwXG4gICAgICAgIDAuMDYyNXJlbVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLy8gTW9kYWwgKDxkaWFsb2c+KVxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbW9kYWxcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bW9kYWwtb3ZlcmxheS1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMC4zNzVyZW0pO1xuICAgIH1cblxuICAgIC8vIFNwYWNpbmdzIGZvciBuYXYgY29tcG9uZW50XG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9uYXZcIikge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbDogMXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fW5hdi1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbDogMC41cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbDogMC41cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsOiAwLjVyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyOiBcIj5cIjtcbiAgICB9XG5cbiAgICAvLyBDaGVja2JveGVzIGljb25zXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvY2hlY2tib3gtcmFkaW8tc3dpdGNoXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tY2hlY2tib3g6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkd2hpdGUpfScgc3Ryb2tlLXdpZHRoPSc0JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi1taW51czogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR3aGl0ZSl9JyBzdHJva2Utd2lkdGg9JzQnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NsaW5lIHgxPSc1JyB5MT0nMTInIHgyPScxOScgeTI9JzEyJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG5cbiAgICAvLyBDaGV2cm9uIGljb25zXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIG9yXG4gICAgICBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvYWNjb3JkaW9uXCIpIG9yXG4gICAgICBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZHJvcGRvd25cIilcbiAgICB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLWNoZXZyb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPSc2IDkgMTIgMTUgMTggOSclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIERhdGV0aW1lIGljb25zXG4gICAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvaW5wdXQtZGF0ZVwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLWRhdGU6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcmVjdCB4PSczJyB5PSc0JyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHJ4PScyJyByeT0nMiclM0UlM0MvcmVjdCUzRSUzQ2xpbmUgeDE9JzE2JyB5MT0nMicgeDI9JzE2JyB5Mj0nNiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzgnIHkxPScyJyB4Mj0nOCcgeTI9JzYnJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPSczJyB5MT0nMTAnIHgyPScyMScgeTI9JzEwJyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tdGltZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR6aW5jLTQwMCl9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzEwJyUzRSUzQy9jaXJjbGUlM0UlM0Nwb2x5bGluZSBwb2ludHM9JzEyIDYgMTIgMTIgMTYgMTQnJTNFJTNDL3BvbHlsaW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG5cbiAgICAvLyBTZWFyY2ggaWNvblxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2lucHV0LXNlYXJjaFwiKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLXNlYXJjaDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKCR6aW5jLTQwMCl9JyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTEnIGN5PScxMScgcj0nOCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMjEnIHkxPScyMScgeDI9JzE2LjY1JyB5Mj0nMTYuNjUnJTNFJTNDL2xpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIENsb3NlIGljb25cbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL21vZGFsXCIpIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24tY2xvc2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjQnIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPSczJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDbGluZSB4MT0nMTgnIHkxPSc2JyB4Mj0nNicgeTI9JzE4JyUzRSUzQy9saW5lJTNFJTNDbGluZSB4MT0nNicgeTE9JzYnIHgyPScxOCcgeTI9JzE4JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgICB9XG5cbiAgICAvLyBMb2FkaW5nIGljb24gKGFuaW1hdGVkKVxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbG9hZGluZ1wiKSB7XG4gICAgICAvLyBJbnNwaXJlZCBieSBodHRwczovL2NvZGVwZW4uaW8vYWxla3NhbmRlcjM1MS9wZW4vS3pnS1BvXG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLWxvYWRpbmc6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgZmlsbD0nbm9uZScgaGVpZ2h0PScyNCcgd2lkdGg9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgJTNFJTNDc3R5bGUlM0UgZyAlN0IgYW5pbWF0aW9uOiByb3RhdGUgMnMgbGluZWFyIGluZmluaXRlOyB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOyAlN0QgY2lyY2xlICU3QiBzdHJva2UtZGFzaGFycmF5OiA3NSwxMDA7IHN0cm9rZS1kYXNob2Zmc2V0OiAtNTsgYW5pbWF0aW9uOiBkYXNoIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgJTdEIEBrZXlmcmFtZXMgcm90YXRlICU3QiAwJTI1ICU3QiB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgJTdEIDEwMCUyNSAlN0IgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgJTdEICU3RCBAa2V5ZnJhbWVzIGRhc2ggJTdCIDAlMjUgJTdCIHN0cm9rZS1kYXNoYXJyYXk6IDEsMTAwOyBzdHJva2UtZGFzaG9mZnNldDogMDsgJTdEIDUwJTI1ICU3QiBzdHJva2UtZGFzaGFycmF5OiA0NC41LDEwMDsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0xNy41OyAlN0QgMTAwJTI1ICU3QiBzdHJva2UtZGFzaGFycmF5OiA0NC41LDEwMDsgc3Ryb2tlLWRhc2hvZmZzZXQ6IC02MjsgJTdEICU3RCAlM0Mvc3R5bGUlM0UlM0NnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCcgZmlsbD0nbm9uZScgc3Ryb2tlPScje2Z1bmN0aW9ucy5kaXNwbGF5LXJnYigkemluYy00MDApfScgc3Ryb2tlLXdpZHRoPSc0JyAvJTNFJTNDL2clM0UlM0Mvc3ZnJTNFXCIpO1xuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgcm9vdCBmb250IHNpemVcbiAgICBAaWYgJGVuYWJsZS1yZXNwb25zaXZlLXR5cG9ncmFwaHkge1xuICAgICAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC5nZXQoJHZhbHVlcywgXCJicmVha3BvaW50XCIpKSB7XG4gICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IG1hcC5nZXQoJHZhbHVlcywgXCJyb290LWZvbnQtc2l6ZVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHNwYWNpbmdzXG4gIEBpZiAkZW5hYmxlLXJlc3BvbnNpdmUtc3BhY2luZ3Mge1xuICAgIC8vIExhbmRtYXJrcyBhbmQgc2VjdGlvblxuICAgIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9sYW5kbWFya3NcIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvc2VjdGlvblwiKSB7XG4gICAgICAjeyRzZW1hbnRpYy1yb290LWVsZW1lbnR9ID4gaGVhZGVyLFxuICAgICAgI3skc2VtYW50aWMtcm9vdC1lbGVtZW50fSA+IG1haW4sXG4gICAgICAjeyRzZW1hbnRpYy1yb290LWVsZW1lbnR9ID4gZm9vdGVyLFxuICAgICAgc2VjdGlvbiB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDE7XG4gICAgICAgICAgICAgIEBpZiAka2V5ID09IFwic21cIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDEuMjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcIm1kXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcImxnXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjc1O1xuICAgICAgICAgICAgICB9IEBlbHNlIGlmICRrZXkgPT0gXCJ4bFwiIHtcbiAgICAgICAgICAgICAgICAkbXVsdGlwbGllcjogMjtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwieHhsXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAyLjI1O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbDogY2FsYyhcbiAgICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAkbXVsdGlwbGllclxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENhcmQgKDxhcnRpY2xlPilcbiAgICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2NhcmRcIikge1xuICAgICAgYXJ0aWNsZSB7XG4gICAgICAgIEBlYWNoICRrZXksICR2YWx1ZXMgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDE7XG4gICAgICAgICAgICAgIEBpZiAka2V5ID09IFwic21cIiB7XG4gICAgICAgICAgICAgICAgJG11bHRpcGxpZXI6IDEuMjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcIm1kXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjU7XG4gICAgICAgICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcImxnXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAxLjc1O1xuICAgICAgICAgICAgICB9IEBlbHNlIGlmICRrZXkgPT0gXCJ4bFwiIHtcbiAgICAgICAgICAgICAgICAkbXVsdGlwbGllcjogMjtcbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAka2V5ID09IFwieHhsXCIge1xuICAgICAgICAgICAgICAgICRtdWx0aXBsaWVyOiAyLjI1O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbDogY2FsYyhcbiAgICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAkbXVsdGlwbGllclxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLWhvcml6b250YWw6IGNhbGMoXG4gICAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpICogJG11bHRpcGxpZXJcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMaW5rXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvbGlua1wiKSB7XG4gICAgYSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgLy8gU2Vjb25kYXJ5ICYgQ29udHJhc3RcbiAgICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgICAmLnNlY29uZGFyeSxcbiAgICAgICAgJi5jb250cmFzdCB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUeXBvZ3JhcGh5XG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gICAgLy8gU21hbGxcbiAgICBzbWFsbCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IDAuODc1ZW07XG4gICAgfVxuXG4gICAgLy8gSGVhZGluZ3NcbiAgICBoMSxcbiAgICBoMixcbiAgICBoMyxcbiAgICBoNCxcbiAgICBoNSxcbiAgICBoNiB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDNyZW07XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAyLjYyNXJlbTtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemU6IDEuNXJlbTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0OiAxLjE3NTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDIuMjVyZW07XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy10b3A6IDEuODc0cmVtO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodDogMS4yMjU7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAxLjY4NzVyZW07XG4gICAgfVxuXG4gICAgaDYge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9udC1zaXplOiAxcmVtO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdG9wOiAxLjVyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGVcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC90YWJsZVwiKSB7XG4gICAgdGhlYWQsXG4gICAgdGZvb3Qge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aDogMC4xODc1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9jb2RlXCIpIHtcbiAgICBwcmUsXG4gICAgY29kZSxcbiAgICBrYmQsXG4gICAgc2FtcCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtZmFtaWx5LW1vbm9zcGFjZSk7XG4gICAgfVxuXG4gICAga2JkIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5wdXRzIGFuZCBTZWxlY3RzXG4gIGlucHV0Om5vdChcbiAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICBbdHlwZT1cImZpbGVcIl1cbiAgICApLFxuICA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSkge1xuICAgICN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGg6IDAuMDYyNXJlbTtcbiAgfVxuXG4gIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzOiA1cmVtO1xuICB9XG5cbiAgLy8gQ2hlY2tib3hlcywgUmFkaW9zIGFuZCBTd2l0Y2hlc1xuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGg6IDAuMTI1cmVtO1xuICAgIH1cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGg6IDAuMTg3NXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBEcm9wZG93biAoZGV0YWlscy5kcm9wZG93bilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9kcm9wZG93blwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICAgIHN1bW1hcnk6bm90KFtyb2xlPVwiYnV0dG9uXCJdKSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGg6IDAuMDYyNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgbmF2IHtcbiAgICAgIGRldGFpbHMuZHJvcGRvd24ge1xuICAgICAgICBzdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGg6IDAuMTI1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gR3JvdXAgKHJvbGU9XCJncm91cFwiKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2dyb3VwXCIpIHtcbiAgICBbcm9sZT1cInNlYXJjaFwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzOiA1cmVtO1xuICAgIH1cblxuICAgIFtyb2xlPVwic2VhcmNoXCJdLFxuICAgIFtyb2xlPVwiZ3JvdXBcIl0ge1xuICAgICAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAgICY6aGFzKFxuICAgICAgICAgICAgYnV0dG9uLnNlY29uZGFyeTpmb2N1cyxcbiAgICAgICAgICAgIFt0eXBlPVwic3VibWl0XCJdLnNlY29uZGFyeTpmb2N1cyxcbiAgICAgICAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLnNlY29uZGFyeTpmb2N1cyxcbiAgICAgICAgICAgIFtyb2xlPVwiYnV0dG9uXCJdLnNlY29uZGFyeTpmb2N1c1xuICAgICAgICAgICkge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1mb2N1cyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhhcyhcbiAgICAgICAgICAgIGJ1dHRvbi5jb250cmFzdDpmb2N1cyxcbiAgICAgICAgICAgIFt0eXBlPVwic3VibWl0XCJdLmNvbnRyYXN0OmZvY3VzLFxuICAgICAgICAgICAgW3R5cGU9XCJidXR0b25cIl0uY29udHJhc3Q6Zm9jdXMsXG4gICAgICAgICAgICBbcm9sZT1cImJ1dHRvblwiXS5jb250cmFzdDpmb2N1c1xuICAgICAgICAgICkge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b246IDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWZvY3VzKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBidXR0b24sXG4gICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsOiAycmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENoZXZyb24gaWNvbnNcbiAgLy8gQ2hhbmdlIHRoZSBpY29uIGNvbG9yIHRvIHdoaXRlIGZvciBhY2NvcmRpb24gYW5kIGRyb3Bkb3duIGJ1dHRvbnNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRldGFpbHMge1xuICAgICAgc3VtbWFyeSB7XG4gICAgICAgICRzZWxlY3RvcjogJyZbcm9sZT1cImJ1dHRvblwiXSc7XG4gICAgICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgICAgICRzZWxlY3RvcjogXCIjeyRzZWxlY3Rvcn06bm90KC5vdXRsaW5lKVwiO1xuICAgICAgICB9XG4gICAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApIGludmVydCgxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMb2FkaW5nIGljb24gKGFuaW1hdGVkKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2xvYWRpbmdcIikge1xuICAgIC8vIENoYW5nZSB0aGUgaWNvbiBjb2xvciB0byB3aGl0ZSBmb3IgYnV0dG9uc1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gW2FyaWEtYnVzeT1cInRydWVcIl06bm90KGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgICAkc2VsZWN0b3I6ICcmOmlzKGJ1dHRvbiwgW3R5cGU9XCJzdWJtaXRcIl0sIFt0eXBlPVwiYnV0dG9uXCJdLCBbdHlwZT1cInJlc2V0XCJdLCBbcm9sZT1cImJ1dHRvblwiXSknO1xuICAgICAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgICAgICRzZWxlY3RvcjogXCIjeyRzZWxlY3Rvcn06bm90KC5vdXRsaW5lKVwiO1xuICAgICAgfVxuICAgICAgI3skc2VsZWN0b3J9IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBAaWYgdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktaW52ZXJzZVwiLCBcImRhcmtcIikgPT0gJHdoaXRlIHtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygwKSBpbnZlcnQoMSk7XG4gICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCkgaW52ZXJ0KDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AdXNlIFwibGlnaHRcIjtcbkB1c2UgXCJkYXJrXCI7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcInRoZW1lcy9kZWZhdWx0XCIpIHtcbiAgLyoqXG4gICAqIENvbG9yIHNjaGVtZXNcbiAgICovXG5cbiAgLy8gTGlnaHQgY29sb3Igc2NoZW1lIChEZWZhdWx0KVxuICAvLyBDYW4gYmUgZm9yY2VkIHdpdGggZGF0YS10aGVtZT1cImxpZ2h0XCJcbiAgW2RhdGEtdGhlbWU9XCJsaWdodFwiXSxcbiAgOnJvb3Q6bm90KFtkYXRhLXRoZW1lPVwiZGFya1wiXSksXG4gIDpob3N0KDpub3QoW2RhdGEtdGhlbWU9XCJkYXJrXCJdKSkge1xuICAgIEBpbmNsdWRlIGxpZ2h0LnRoZW1lO1xuICB9XG5cbiAgLy8gRGFyayBjb2xvciBzY2hlbWUgKEF1dG8pXG4gIC8vIEF1dG9tYXRpY2FsbHkgZW5hYmxlZCBpZiB1c2VyIGhhcyBEYXJrIG1vZGUgZW5hYmxlZFxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgIDpyb290Om5vdChbZGF0YS10aGVtZV0pLFxuICAgIDpob3N0KDpub3QoW2RhdGEtdGhlbWVdKSkge1xuICAgICAgQGluY2x1ZGUgZGFyay50aGVtZTtcbiAgICB9XG4gIH1cblxuICAvLyBEYXJrIGNvbG9yIHNjaGVtZSAoRm9yY2VkKVxuICAvLyBFbmFibGVkIGlmIGZvcmNlZCB3aXRoIGRhdGEtdGhlbWU9XCJkYXJrXCJcbiAgW2RhdGEtdGhlbWU9XCJkYXJrXCJdIHtcbiAgICBAaW5jbHVkZSBkYXJrLnRoZW1lO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBwcm9ncmVzcyxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFkaW9cIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyYW5nZVwiXSB7XG4gICAgYWNjZW50LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeSk7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi9jb2xvcnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3NldHRpbmdzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9oZWxwZXJzL2Z1bmN0aW9uc1wiO1xuQHVzZSBcInRoZW1lLWNvbG9yc1wiO1xuXG4vLyBEZWZhdWx0OiBMaWdodCB0aGVtZVxuQG1peGluIHRoZW1lIHtcbiAgY29sb3Itc2NoZW1lOiBsaWdodDtcbiAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogI3skd2hpdGV9O1xuXG4gIC8vIFRleHQgY29sb3JcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6ICN7JHppbmMtNzUwfTtcblxuICAvLyBUZXh0IHNlbGVjdGlvbiBjb2xvclxuICAjeyRjc3MtdmFyLXByZWZpeH10ZXh0LXNlbGVjdGlvbi1jb2xvcjogdGhlbWUtY29sb3JzLmdldChcInRleHQtc2VsZWN0aW9uLWNvbG9yXCIsIFwibGlnaHRcIik7XG5cbiAgLy8gTXV0ZWQgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yOiAjeyR6aW5jLTU1MH07XG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTEwMCwgJHNsYXRlLTUwKX07XG5cbiAgLy8gUHJpbWFyeSBjb2xvcnNcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeTogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnlcIiwgXCJsaWdodFwiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1iYWNrZ3JvdW5kXCIsIFwibGlnaHRcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS11bmRlcmxpbmU6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LXVuZGVybGluZVwiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1ob3ZlclwiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWhvdmVyLWJhY2tncm91bmRcIiwgXCJsaWdodFwiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1mb2N1c1wiLCBcImxpZ2h0XCIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWludmVyc2U6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWludmVyc2VcIiwgXCJsaWdodFwiKTtcblxuICAvLyBTZWNvbmRhcnkgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeTogI3skc2xhdGUtNTUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQ6ICN7JHNsYXRlLTYwMH07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS11bmRlcmxpbmU6ICN7cmdiYSgkc2xhdGUtNTUwLCAwLjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyOiAjeyRzbGF0ZS02NTB9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogI3skc2xhdGUtNjUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1mb2N1czogI3tyZ2JhKCRzbGF0ZS01NTAsIDAuMjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2U6ICN7JHdoaXRlfTtcblxuICAvLyBDb250cmFzdCBjb2xvcnNcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3Q6ICN7JHNsYXRlLTkwMH07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQ6ICN7JHNsYXRlLTkwMH07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC11bmRlcmxpbmU6ICN7cmdiYSgkc2xhdGUtOTAwLCAwLjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXI6ICN7JGJsYWNrfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogI3skYmxhY2t9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtZm9jdXM6ICN7cmdiYSgkc2xhdGUtNTUwLCAwLjI1KX07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWludmVyc2U6ICN7JHdoaXRlfTtcblxuICAvLyBCb3ggc2hhZG93XG4gICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IGZ1bmN0aW9ucy5zaGFkb3coJHNsYXRlLTQwMCk7XG5cbiAgLy8gVHlwb2dyYXBoeVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L3R5cG9ncmFwaHlcIikge1xuICAgIC8vIEhlYWRpbmdzIGNvbG9yc1xuICAgICN7JGNzcy12YXItcHJlZml4fWgxLWNvbG9yOiAjeyR6aW5jLTgwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDItY29sb3I6ICN7JHppbmMtNzUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oMy1jb2xvcjogI3skemluYy03MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWg0LWNvbG9yOiAjeyR6aW5jLTY1MH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDUtY29sb3I6ICN7JHppbmMtNjAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oNi1jb2xvcjogI3skemluYy01NTB9O1xuXG4gICAgLy8gSGlnaGxpZ2h0ZWQgdGV4dCAoPG1hcms+KVxuICAgICN7JGNzcy12YXItcHJlZml4fW1hcmstYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJGFtYmVyLTEwMCwgJGFtYmVyLTUwKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9bWFyay1jb2xvcjogI3skemluYy05NTB9O1xuXG4gICAgLy8gSW5zZXJ0ZWQgKDxpbnM+KSAmIERlbGV0ZWQgKDxkZWw+KVxuICAgICN7JGNzcy12YXItcHJlZml4fWlucy1jb2xvcjogI3tjb2xvci5taXgoJGphZGUtNDUwLCAkemluYy03NTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kZWwtY29sb3I6ICN7Y29sb3IubWl4KCRyZWQtNTAwLCAkemluYy03NTApfTtcblxuICAgIC8vIEJsb2NrcXVvdGVcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2txdW90ZS1mb290ZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gIH1cblxuICAvLyBCdXR0b25cbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9idXR0b25cIikge1xuICAgIC8vIFRvIGRpc2FibGUgYm94LXNoYWRvdywgcmVtb3ZlIHRoZSB2YXIgb3Igc2V0IHRvICcwIDAgMCByZ2JhKDAsIDAsIDAsIDApJ1xuICAgIC8vIERvbid0IHVzZSwgJ25vbmUsICdmYWxzZSwgJ251bGwnLCAnMCcsIGV0Yy5cbiAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24tYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIC8vIFRhYmxlXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdGFibGVcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXRhYmxlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dGFibGUtcm93LXN0cmlwcGVkLWJhY2tncm91bmQtY29sb3I6ICN7cmdiYSgkemluYy01MDAsIDAuMDM3NSl9O1xuICB9XG5cbiAgLy8gQ29kZVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L2NvZGVcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUtYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTUwLCAkd2hpdGUsIDc1JSl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUtY29sb3I6ICN7JHppbmMtNTUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2RlLWtiZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUta2JkLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gIH1cblxuICAvLyBGb3JtIGVsZW1lbnRzXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS01MCwgJHdoaXRlLCAyNSUpfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtMTAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS0xNTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1jb2xvcjogI3skemluYy04NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3I6ICN7JHdoaXRlfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWRpc2FibGVkLW9wYWNpdHk6IDAuNTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KCRyZWQtNTAwLCAkemluYy0zNTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAje2NvbG9yLm1peChcbiAgICAgICAgJHJlZC01MDAsXG4gICAgICAgICR6aW5jLTM1MCxcbiAgICAgICAgNzUlXG4gICAgICApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKFxuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoJGphZGUtNDUwLCAkemluYy0zNTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoXG4gICAgICAgICRqYWRlLTQ1MCxcbiAgICAgICAgJHppbmMtMzUwLFxuICAgICAgICA3NSVcbiAgICAgICl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1mb2N1cy1jb2xvcjogdmFyKFxuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3JcbiAgICApO1xuICB9XG5cbiAgLy8gU3dpdGNoIChpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvY2hlY2tib3gtcmFkaW8tc3dpdGNoXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtMjAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY29sb3I6ICN7JHdoaXRlfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdzogdGhlbWUtY29sb3JzLmdldChcInN3aXRjaC10aHVtYi1ib3gtc2hhZG93XCIsIFwibGlnaHRcIik7XG4gIH1cblxuICAvLyBSYW5nZSAoaW5wdXRbdHlwZT1cInJhbmdlXCJdKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9pbnB1dC1yYW5nZVwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS0xMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7JHNsYXRlLTIwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cmFuZ2UtdGh1bWItYWN0aXZlLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIC8vIEFjY29yZGlvbiAoPGRldGFpbHM+KVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2FjY29yZGlvblwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWFjdGl2ZS1zdW1tYXJ5LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLWNsb3NlLXN1bW1hcnktY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgfVxuXG4gIC8vIENhcmQgKDxhcnRpY2xlPilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9jYXJkXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1ib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS01MCwgJHdoaXRlLCAyNSUpfTtcbiAgfVxuXG4gIC8vIERyb3Bkb3duIChkZXRhaWxzLmRyb3Bkb3duKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIGFuZCAkZW5hYmxlLWNsYXNzZXMge1xuICAgICN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3I6ICN7JHdoaXRlfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3JkZXItY29sb3I6ICN7JHNsYXRlLTUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtNTB9O1xuICB9XG5cbiAgLy8gTG9hZGluZyAoW2FyaWEtYnVzeT10cnVlXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9sb2FkaW5nXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1sb2FkaW5nLXNwaW5uZXItb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLy8gTW9kYWwgKDxkaWFsb2c+KVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL21vZGFsXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1tb2RhbC1vdmVybGF5LWJhY2tncm91bmQtY29sb3I6ICN7cmdiYShjb2xvci5taXgoJHppbmMtMTAwLCAkemluYy01MCksIDAuNzUpfTtcbiAgfVxuXG4gIC8vIFByb2dyZXNzXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvcHJvZ3Jlc3NcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXByb2dyZXNzLWJhY2tncm91bmQtY29sb3I6ICN7JHNsYXRlLTEwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cHJvZ3Jlc3MtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICB9XG5cbiAgLy8gVG9vbHRpcCAoW2RhdGEtdG9vbHRpcF0pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvdG9vbHRpcFwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYmFja2dyb3VuZCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9dG9vbHRpcC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWludmVyc2UpO1xuICB9XG5cbiAgLy8gRm9ybSB2YWxpZGF0aW9uIGljb25zXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aWNvbi12YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKGNvbG9yLm1peCgkamFkZS00NTAsICR6aW5jLTM1MCkpfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKGNvbG9yLm1peCgkcmVkLTUwMCwgJHppbmMtMzUwLCA3NSUpKX0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyUzRSUzQ2NpcmNsZSBjeD0nMTInIGN5PScxMicgcj0nMTAnJTNFJTNDL2NpcmNsZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nOCcgeDI9JzEyJyB5Mj0nMTInJTNFJTNDL2xpbmUlM0UlM0NsaW5lIHgxPScxMicgeTE9JzE2JyB4Mj0nMTIuMDEnIHkyPScxNiclM0UlM0MvbGluZSUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAvLyBGb2N1cyBmb3IgYnV0dG9ucywgcmFkaW8gYW5kIHNlbGVjdFxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9iYXNpY3NcIikge1xuICAgIGlucHV0OmlzKFxuICAgICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICAgIFt0eXBlPVwiZmlsZVwiXVxuICAgICAgKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOmNvbG9yXCI7XG5AdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi8uLi9jb2xvcnNcIiBhcyAqO1xuQHVzZSBcIi4uLy4uL3NldHRpbmdzXCIgYXMgKjtcbkB1c2UgXCIuLi8uLi9oZWxwZXJzL2Z1bmN0aW9uc1wiO1xuQHVzZSBcInRoZW1lLWNvbG9yc1wiO1xuXG4vLyBEZWZhdWx0OiBEYXJrIHRoZW1lXG5AbWl4aW4gdGhlbWUge1xuICBjb2xvci1zY2hlbWU6IGRhcms7XG4gICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS05NTAsICRzbGF0ZS05MDApfTtcblxuICAvLyBUZXh0IGNvbG9yXG4gICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiAjeyR6aW5jLTIwMH07XG5cbiAgLy8gVGV4dCBzZWxlY3Rpb24gY29sb3JcbiAgI3skY3NzLXZhci1wcmVmaXh9dGV4dC1zZWxlY3Rpb24tY29sb3I6IHRoZW1lLWNvbG9ycy5nZXQoXCJ0ZXh0LXNlbGVjdGlvbi1jb2xvclwiLCBcImRhcmtcIik7XG5cbiAgLy8gTXV0ZWQgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yOiAjeyR6aW5jLTQ1MH07XG4gICN7JGNzcy12YXItcHJlZml4fW11dGVkLWJvcmRlci1jb2xvcjogI3skc2xhdGUtODUwfTtcblxuICAvLyBQcmltYXJ5IGNvbG9yc1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5OiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeVwiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZDogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktYmFja2dyb3VuZFwiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS11bmRlcmxpbmU6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LXVuZGVybGluZVwiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXI6IHRoZW1lLWNvbG9ycy5nZXQoXCJwcmltYXJ5LWhvdmVyXCIsIFwiZGFya1wiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kXCIsIFwiZGFya1wiKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWZvY3VzOiB0aGVtZS1jb2xvcnMuZ2V0KFwicHJpbWFyeS1mb2N1c1wiLCBcImRhcmtcIik7XG4gICN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZTogdGhlbWUtY29sb3JzLmdldChcInByaW1hcnktaW52ZXJzZVwiLCBcImRhcmtcIik7XG5cbiAgLy8gU2Vjb25kYXJ5IGNvbG9yc1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnk6ICN7JHppbmMtMzUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQ6ICN7JHNsYXRlLTYwMH07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS11bmRlcmxpbmU6ICN7cmdiYSgkemluYy0zNTAsIDAuNSl9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXI6ICN7JHppbmMtMjUwfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICN7JHNsYXRlLTU1MH07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZCk7XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktZm9jdXM6ICN7cmdiYSgkc2xhdGUtMzUwLCAwLjI1KX07XG4gICN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1pbnZlcnNlOiAjeyR3aGl0ZX07XG5cbiAgLy8gQ29udHJhc3QgY29sb3JzXG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0OiAjeyRzbGF0ZS0xMDB9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1iYWNrZ3JvdW5kOiAjeyRzbGF0ZS01MH07XG4gICN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWJhY2tncm91bmQpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC11bmRlcmxpbmU6ICN7cmdiYSgkc2xhdGUtMTAwLCAwLjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXI6ICN7JHdoaXRlfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogI3skd2hpdGV9O1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1ib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXItdW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXIpO1xuICAjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1mb2N1czogI3tyZ2JhKCRzbGF0ZS0xNTAsIDAuMjUpfTtcbiAgI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaW52ZXJzZTogI3skYmxhY2t9O1xuXG4gIC8vIEJveCBzaGFkb3dcbiAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogZnVuY3Rpb25zLnNoYWRvdyhjb2xvci5taXgoJGJsYWNrLCAkc2xhdGUtOTUwKSk7XG5cbiAgLy8gVHlwb2dyYXBoeVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L3R5cG9ncmFwaHlcIikge1xuICAgIC8vIEhlYWRpbmdzIGNvbG9yc1xuICAgICN7JGNzcy12YXItcHJlZml4fWgxLWNvbG9yOiAjeyR6aW5jLTUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oMi1jb2xvcjogI3skemluYy0xMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWgzLWNvbG9yOiAjeyR6aW5jLTIwMH07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9aDQtY29sb3I6ICN7JHppbmMtMjUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1oNS1jb2xvcjogI3skemluYy0zMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWg2LWNvbG9yOiAjeyR6aW5jLTQwMH07XG5cbiAgICAvLyBIaWdobGlnaHRlZCB0ZXh0ICg8bWFyaz4pXG4gICAgI3skY3NzLXZhci1wcmVmaXh9bWFyay1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRhenVyZS03NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fW1hcmstY29sb3I6ICN7JHdoaXRlfTtcblxuICAgIC8vIEluc2VydGVkICg8aW5zPikgJiBEZWxldGVkICg8ZGVsPilcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1pbnMtY29sb3I6ICN7Y29sb3IubWl4KCRqYWRlLTQ1MCwgJHppbmMtMjAwKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZGVsLWNvbG9yOiAje2NvbG9yLm1peCgkcmVkLTUwMCwgJHppbmMtMjAwKX07XG5cbiAgICAvLyBCbG9ja3F1b3RlXG4gICAgI3skY3NzLXZhci1wcmVmaXh9YmxvY2txdW90ZS1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJsb2NrcXVvdGUtZm9vdGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3IpO1xuICB9XG5cbiAgLy8gQnV0dG9uXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvYnV0dG9uXCIpIHtcbiAgICAvLyBUbyBkaXNhYmxlIGJveC1zaGFkb3csIHJlbW92ZSB0aGUgdmFyIG9yIHNldCB0byAnMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSdcbiAgICAvLyBEb24ndCB1c2UsICdub25lLCAnZmFsc2UsICdudWxsJywgJzAnLCBldGMuXG4gICAgI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWhvdmVyLWJveC1zaGFkb3c6IDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cblxuICAvLyBUYWJsZVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb250ZW50L3RhYmxlXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10YWJsZS1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXRhYmxlLXJvdy1zdHJpcHBlZC1iYWNrZ3JvdW5kLWNvbG9yOiAje3JnYmEoJHppbmMtNTAwLCAwLjAzNzUpfTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9jb2RlXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2RlLWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS05MDAsICRzbGF0ZS04NTAsIDc1JSl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUtY29sb3I6ICN7JHppbmMtNDAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2RlLWtiZC1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWNvZGUta2JkLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gIH1cblxuICAvLyBGb3JtIGVsZW1lbnRzXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3I6ICN7Y29sb3IubWl4KCRzbGF0ZS05MDAsICRzbGF0ZS04NTApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc2VsZWN0ZWQtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtODAwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS04MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1jb2xvcjogI3skemluYy0xMDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcjogI3skemluYy00MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoXG4gICAgICAgICRzbGF0ZS05MDAsXG4gICAgICAgICRzbGF0ZS04NTAsXG4gICAgICAgIDc1JVxuICAgICAgKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ib3JkZXIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5OiAwLjU7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yOiAje2NvbG9yLm1peCgkcmVkLTUwMCwgJHNsYXRlLTYwMCl9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KFxuICAgICAgICAkcmVkLTUwMCxcbiAgICAgICAgJHNsYXRlLTYwMCxcbiAgICAgICAgNzUlXG4gICAgICApfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1mb2N1cy1jb2xvcjogdmFyKFxuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcjogI3tjb2xvci5taXgoJGphZGUtNDUwLCAkc2xhdGUtNjAwKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3I6ICN7Y29sb3IubWl4KFxuICAgICAgICAkamFkZS00NTAsXG4gICAgICAgICRzbGF0ZS02MDAsXG4gICAgICAgIDc1JVxuICAgICAgKX07XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yOiB2YXIoXG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYWN0aXZlLWJvcmRlci1jb2xvclxuICAgICk7XG4gIH1cblxuICAvLyBTd2l0Y2ggKGlucHV0W3R5cGU9XCJjaGVja2JveFwiXVtyb2xlPVwic3dpdGNoXCJdKVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS03NTB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1jaGVja2VkLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJhY2tncm91bmQpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC1jb2xvcjogI3skd2hpdGV9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXN3aXRjaC10aHVtYi1ib3gtc2hhZG93OiB0aGVtZS1jb2xvcnMuZ2V0KFwic3dpdGNoLXRodW1iLWJveC1zaGFkb3dcIiwgXCJkYXJrXCIpO1xuICB9XG5cbiAgLy8gUmFuZ2UgKGlucHV0W3R5cGU9XCJyYW5nZVwiXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvaW5wdXQtcmFuZ2VcIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLWJvcmRlci1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1yYW5nZS1hY3RpdmUtYm9yZGVyLWNvbG9yOiAjeyRzbGF0ZS04MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLXRodW1iLWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLXRodW1iLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAgICN7JGNzcy12YXItcHJlZml4fXJhbmdlLXRodW1iLWFjdGl2ZS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gIH1cblxuICAvLyBBY2NvcmRpb24gKDxkZXRhaWxzPilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikge1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1hY3RpdmUtc3VtbWFyeS1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1vcGVuLXN1bW1hcnktY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gIH1cblxuICAvLyBDYXJkICg8YXJ0aWNsZT4pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvY2FyZFwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS05MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLWJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93KTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jYXJkLXNlY3Rpb25pbmctYmFja2dyb3VuZC1jb2xvcjogI3tjb2xvci5taXgoJHNsYXRlLTkwMCwgJHNsYXRlLTg1MCwgNzUlKX07XG4gIH1cblxuICAvLyBEcm9wZG93biAoZGV0YWlscy5kcm9wZG93bilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9kcm9wZG93blwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1iYWNrZ3JvdW5kLWNvbG9yOiAjeyRzbGF0ZS05MDB9O1xuICAgICN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJvcmRlci1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdyk7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgfVxuXG4gIC8vIExvYWRpbmcgKFthcmlhLWJ1c3k9dHJ1ZV0pXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbG9hZGluZ1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9bG9hZGluZy1zcGlubmVyLW9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIC8vIE1vZGFsICg8ZGlhbG9nPilcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9tb2RhbFwiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9bW9kYWwtb3ZlcmxheS1iYWNrZ3JvdW5kLWNvbG9yOiAje3JnYmEoY29sb3IubWl4KCRibGFjaywgJHppbmMtOTUwKSwgMC43NSl9O1xuICB9XG5cbiAgLy8gUHJvZ3Jlc3NcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9wcm9ncmVzc1wiKSB7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9cHJvZ3Jlc3MtYmFja2dyb3VuZC1jb2xvcjogI3skc2xhdGUtODUwfTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1wcm9ncmVzcy1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gIH1cblxuICAvLyBUb29sdGlwIChbZGF0YS10b29sdGlwXSlcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy90b29sdGlwXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10b29sdGlwLWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH10b29sdGlwLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaW52ZXJzZSk7XG4gIH1cblxuICAvLyBGb3JtIHZhbGlkYXRpb24gaWNvbnNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1pY29uLXZhbGlkOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzI0JyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMjQgMjQnIGZpbGw9J25vbmUnIHN0cm9rZT0nI3tmdW5jdGlvbnMuZGlzcGxheS1yZ2IoY29sb3IubWl4KCRqYWRlLTQ1MCwgJHNsYXRlLTYwMCkpfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDcG9seWxpbmUgcG9pbnRzPScyMCA2IDkgMTcgNCAxMiclM0UlM0MvcG9seWxpbmUlM0UlM0Mvc3ZnJTNFXCIpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWljb24taW52YWxpZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9JyN7ZnVuY3Rpb25zLmRpc3BsYXktcmdiKGNvbG9yLm1peCgkcmVkLTUwMCwgJHNsYXRlLTYwMCkpfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNFJTNDY2lyY2xlIGN4PScxMicgY3k9JzEyJyByPScxMCclM0UlM0MvY2lyY2xlJTNFJTNDbGluZSB4MT0nMTInIHkxPSc4JyB4Mj0nMTInIHkyPScxMiclM0UlM0MvbGluZSUzRSUzQ2xpbmUgeDE9JzEyJyB5MT0nMTYnIHgyPScxMi4wMScgeTI9JzE2JyUzRSUzQy9saW5lJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gIC8vIEZvY3VzIGZvciBidXR0b25zLCByYWRpbyBhbmQgc2VsZWN0XG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImZvcm1zL2Jhc2ljc1wiKSB7XG4gICAgaW5wdXQ6aXMoXG4gICAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgICAgW3R5cGU9XCJyYWRpb1wiXSxcbiAgICAgICAgW3R5cGU9XCJmaWxlXCJdXG4gICAgICApIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1mb2N1cy1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENoZXZyb24gaWNvbnNcbiAgQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikgb3IgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL2Ryb3Bkb3duXCIpIHtcbiAgICAvLyBDaGFuZ2UgdGhlIGljb24gY29sb3IgdG8gYmxhY2sgZm9yIGFjY29yZGlvbiBhbmQgZHJvcGRvd24gLmNvbnRyYXN0IGJ1dHRvbnNcbiAgICBAaWYgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscyB7XG4gICAgICAgIHN1bW1hcnkge1xuICAgICAgICAgICZbcm9sZT1cImJ1dHRvblwiXS5jb250cmFzdDpub3QoLm91dGxpbmUpIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExvYWRpbmcgaWNvbiAoYW5pbWF0ZWQpXG4gIEBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvbG9hZGluZ1wiKSB7XG4gICAgLy8gQ2hhbmdlIHRoZSBpY29uIGNvbG9yIHRvIGJsYWNrIGZvciAuY29udHJhc3QgYnV0dG9uc1xuICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1idXN5PVwidHJ1ZVwiXTpub3QoaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEpIHtcbiAgICAgICAgJi5jb250cmFzdDppcyhcbiAgICAgICAgICAgIGJ1dHRvbixcbiAgICAgICAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICAgICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgICAgICAgW3JvbGU9XCJidXR0b25cIl1cbiAgICAgICAgICApOm5vdCgub3V0bGluZSkge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9kb2N1bWVudFwiKSB7XG4gIC8qKlxuICAgKiBEb2N1bWVudFxuICAgKiBDb250ZW50LWJveCAmIFJlc3BvbnNpdmUgdHlwb2dyYXBoeVxuICAgKi9cblxuICAvLyBSZWJvb3QgYmFzZWQgb24gOlxuICAvLyAtIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuICAvLyAtIHNhbml0aXplLmNzcyB2MTMuMC4wIHwgQ0MwIDEuMCBVbml2ZXJzYWwgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzc1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyAxLiBBZGQgYm9yZGVyIGJveCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMi4gQmFja2dyb3VuZHMgZG8gbm90IHJlcGVhdCBieSBkZWZhdWx0IChvcGluaW9uYXRlZClcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIEFkZCB0ZXh0IGRlY29yYXRpb24gaW5oZXJpdGFuY2UgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMi4gQWRkIHZlcnRpY2FsIGFsaWdubWVudCBpbmhlcml0YW5jZSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICA6OmJlZm9yZSxcbiAgOjphZnRlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyAvLyAxXG4gICAgdmVydGljYWwtYWxpZ246IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENoYW5nZSB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMi4gQnJlYWtzIHdvcmRzIHRvIHByZXZlbnQgb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gMy4gVXNlIGEgNC1zcGFjZSB0YWIgd2lkdGggaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgLy8gNC4gUmVtb3ZlIHRoZSBncmV5IGhpZ2hsaWdodCBvbiBsaW5rcyBpbiBpT1MgKG9waW5pb25hdGVkKVxuICAvLyA1LiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPU1xuICA6d2hlcmUoOnJvb3QpLFxuICA6d2hlcmUoOmhvc3QpIHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyA0XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA1XG4gICAgdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gNVxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpOyAvLyAxXG4gICAgZm9udC1mYW1pbHk6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseSk7XG4gICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dGV4dC11bmRlcmxpbmUtb2Zmc2V0KTtcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7IC8vIDJcbiAgICB0YWItc2l6ZTogNDsgLy8gM1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9sYW5kbWFya3NcIikge1xuICAvKipcbiAgICogTGFuZG1hcmtzXG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIDEuIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gIGJvZHkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDsgLy8gMVxuICB9XG5cbiAgLy8gUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUVcbiAgbWFpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9ICN7JHNlbWFudGljLXJvb3QtZWxlbWVudH0ge1xuICAgID4gaGVhZGVyLFxuICAgID4gbWFpbixcbiAgICA+IGZvb3RlciB7XG4gICAgICAvLyA8aGVhZGVyPiwgPG1haW4+LCA8Zm9vdGVyPiBhcyBjb250YWluZXJzXG4gICAgICBAaWYgJGVuYWJsZS1zZW1hbnRpYy1jb250YWluZXIge1xuICAgICAgICAkZmlyc3QtYnJlYWtwb2ludDogdHJ1ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9jay1zcGFjaW5nLWhvcml6b250YWwpO1xuXG4gICAgICAgIEBpZiAkZW5hYmxlLXZpZXdwb3J0IHtcbiAgICAgICAgICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRicmVha3BvaW50cyB7XG4gICAgICAgICAgICBAaWYgJHZhbHVlcyB7XG4gICAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAuZ2V0KCR2YWx1ZXMsIFwiYnJlYWtwb2ludFwiKSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcInZpZXdwb3J0XCIpO1xuICAgICAgICAgICAgICAgIEBpZiAkZmlyc3QtYnJlYWtwb2ludCB7XG4gICAgICAgICAgICAgICAgICAkZmlyc3QtYnJlYWtwb2ludDogZmFsc2U7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBSZWd1bGFyIHZlcnRpY2FsIHNwYWNpbmdzIGZvciA8aGVhZGVyPiwgPG1haW4+LCA8Zm9vdGVyPlxuICAgICAgQGVsc2Uge1xuICAgICAgICBwYWRkaW5nLWJsb2NrOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImxheW91dC9zZWN0aW9uXCIpIHtcbiAgLyoqXG4gICAqIFNlY3Rpb25cbiAgICovXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWN0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2NvbnRhaW5lclwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgLyoqXG4gICAqIENvbnRhaW5lclxuICAgKi9cblxuICAuY29udGFpbmVyLFxuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgJGZpcnN0LWJyZWFrcG9pbnQ6IHRydWU7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlcyBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmICR2YWx1ZXMge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldCgkdmFsdWVzLCBcImJyZWFrcG9pbnRcIikpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG1hcC5nZXQoJHZhbHVlcywgXCJ2aWV3cG9ydFwiKTtcbiAgICAgICAgICBAaWYgJGZpcnN0LWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgJGZpcnN0LWJyZWFrcG9pbnQ6IGZhbHNlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L2dyaWRcIikgYW5kICRlbmFibGUtY2xhc3NlcyB7XG4gIC8qKlxuICAgKiBHcmlkXG4gICAqIE1pbmltYWwgZ3JpZCBzeXN0ZW0gd2l0aCBhdXRvLWxheW91dCBjb2x1bW5zXG4gICAqL1xuXG4gIC5ncmlkIHtcbiAgICBncmlkLWNvbHVtbi1nYXA6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ncmlkLWNvbHVtbi1nYXApO1xuICAgIGdyaWQtcm93LWdhcDogdmFyKCN7JGNzcy12YXItcHJlZml4fWdyaWQtcm93LWdhcCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcblxuICAgIEBpZiBtYXAuZ2V0KCRicmVha3BvaW50cywgXCJtZFwiKSB7XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogbWFwLmdldChtYXAuZ2V0KCRicmVha3BvaW50cywgXCJtZFwiKSwgXCJicmVha3BvaW50XCIpKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMCUsIDFmcikpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAqIHtcbiAgICAgIG1pbi13aWR0aDogMDsgLy8gSEFDSyBmb3IgY2hpbGRyZW4gaW4gb3ZlcmZsb3dcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwibGF5b3V0L292ZXJmbG93LWF1dG9cIikgYW5kICRlbmFibGUtY2xhc3NlcyB7XG4gIC8qKlxuICAgKiBPdmVyZmxvdyBhdXRvXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gLm92ZXJmbG93LWF1dG8ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvdHlwb2dyYXBoeVwiKSB7XG4gIC8qKlxuICAgKiBUeXBvZ3JhcGh5XG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBiLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdWIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG4gIH1cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzdXAge1xuICAgIHRvcDogLTAuNWVtO1xuICB9XG5cbiAgLy8gUGljb1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGFkZHJlc3MsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYmxvY2txdW90ZSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBvbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBwLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHByZSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0YWJsZSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB1bCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodCk7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgxLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgyLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgzLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg1LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQpO1xuICAgIGZvbnQtc2l6ZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb250LWZhbWlseSk7XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgxIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWgxLWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgyIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWgyLWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGgzIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWgzLWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg0IHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWg0LWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg1IHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWg1LWNvbG9yKTtcbiAgfVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGg2IHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWg2LWNvbG9yKTtcbiAgfVxuXG4gIC8vIE1hcmdpbi10b3AgZm9yIGhlYWRpbmdzIGFmdGVyIGEgYmxvY2tcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIDp3aGVyZShhcnRpY2xlLCBhZGRyZXNzLCBibG9ja3F1b3RlLCBkbCwgZmlndXJlLCBmb3JtLCBvbCwgcCwgcHJlLCB0YWJsZSwgdWwpIHtcbiAgICB+IDppcyhoMSwgaDIsIGgzLCBoNCwgaDUsIGg2KSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXRvcCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHAge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpO1xuICB9XG5cbiAgLy8gSGVhZGluZyBncm91cFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGhncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCk7XG5cbiAgICA+ICoge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpOmxhc3QtY2hpbGQge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tdXRlZC1jb2xvcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb250LXdlaWdodDogdW5zZXQ7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gTGlzdHNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUob2wsIHVsKSB7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9dHlwb2dyYXBoeS1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuMjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1hcmdpbi10b3AgZm9yIG5lc3RlZCBsaXN0c1xuICAvLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBvbiBuZXN0ZWQgbGlzdHMgaW4gQ2hyb21lLCBFZGdlLCBJRSwgYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShkbCwgb2wsIHVsKSA6d2hlcmUoZGwsIG9sLCB1bCkge1xuICAgIG1hcmdpbjogMDsgLy8gMVxuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjI1KTtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdWwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IHNxdWFyZTtcbiAgfVxuXG4gIC8vIEhpZ2hsaWdodGVkIHRleHRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBtYXJrIHtcbiAgICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1tYXJrLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bWFyay1jb2xvcik7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgLy8gQmxvY2txdW90ZVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJsb2NrcXVvdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogdmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgMDtcbiAgICBwYWRkaW5nOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAwLjI1cmVtIHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLWlubGluZS1zdGFydDogMC4yNXJlbSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1pbmxpbmUtZW5kOiBub25lO1xuXG4gICAgZm9vdGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXR5cG9ncmFwaHktc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpO1xuICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ibG9ja3F1b3RlLWZvb3Rlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICAvLyAxLiBSZW1vdmUgdW5kZXJsaW5lIGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhYmJyW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IC8vIDFcbiAgICBjdXJzb3I6IGhlbHA7XG4gIH1cblxuICAvLyBJbnNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnMge1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aW5zLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBkZWxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZWwge1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZGVsLWNvbG9yKTtcbiAgfVxuXG4gIC8vIHNlbGVjdGlvblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dGV4dC1zZWxlY3Rpb24tY29sb3IpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvbGlua1wiKSB7XG4gIC8qKlxuICAgKiBMaW5rXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGE6bm90KFtyb2xlPVwiYnV0dG9uXCJdKSksXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3JvbGU9XCJsaW5rXCJdIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnkpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICN7JGNzcy12YXItcHJlZml4fXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktdW5kZXJsaW5lKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTsgLy8gMVxuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdmFyKCN7JGNzcy12YXItcHJlZml4fXRleHQtZGVjb3JhdGlvbik7XG4gICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lKTtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6IDAuMTI1ZW07XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICB0ZXh0LWRlY29yYXRpb24gdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICB9XG5cbiAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItdW5kZXJsaW5lKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aCkgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgIH1cblxuICAgIEBpZiAkZW5hYmxlLWNsYXNzZXMge1xuICAgICAgLy8gU2Vjb25kYXJ5XG4gICAgICAmLnNlY29uZGFyeSB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5KTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LXVuZGVybGluZSk7XG5cbiAgICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLXVuZGVybGluZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ29udHJhc3RcbiAgICAgICYuY29udHJhc3Qge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0KTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9dW5kZXJsaW5lOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtdW5kZXJsaW5lKTtcblxuICAgICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtaG92ZXIpO1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fXVuZGVybGluZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGEge1xuICAgICZbcm9sZT1cImJ1dHRvblwiXSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbnRlbnQvYnV0dG9uXCIpIHtcbiAgLyoqXG4gICAqIEJ1dHRvblxuICAgKi9cblxuICAvLyBSZWJvb3QgYmFzZWQgb24gOlxuICAvLyAtIG5vcm1hbGl6ZS5jc3MgdjguMC4xIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuICAvLyAtIHNhbml0aXplLmNzcyB2MTMuMC4wIHwgQ0MwIDEuMCBVbml2ZXJzYWwgfCBnaXRodWIuY29tL2Nzc3Rvb2xzL3Nhbml0aXplLmNzc1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2Vyc1xuICAvLyAyLiBSZW1vdmUgdGhlIG1hcmdpbiBvbiBjb250cm9scyBpbiBTYWZhcmlcbiAgLy8gMy4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDNcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyAxXG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgYnV0dG9ucyBpbiBpT1MgYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvbixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJlc2V0XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFBpY29cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBidXR0b24sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJzdWJtaXRcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyZXNldFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImJ1dHRvblwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1iYWNrZ3JvdW5kKTtcbiAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWludmVyc2UpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24tYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSk7XG4gICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgIGJvcmRlcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgc29saWQgdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93KTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgYm9yZGVyLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICB9XG5cbiAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pKSxcbiAgICAmOmlzKDpob3ZlciwgOmFjdGl2ZSwgOmZvY3VzKSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaG92ZXItYm9yZGVyKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IHZhcihcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWhvdmVyLWJveC1zaGFkb3csXG4gICAgICAgIDAgMCAwIHJnYmEoMCwgMCwgMCwgMClcbiAgICAgICk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pKTpmb2N1cyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9YnV0dG9uLWhvdmVyLWJveC1zaGFkb3csIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCkpLFxuICAgICAgICAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aCkgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJzdWJtaXRcIl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJyZXNldFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICB9XG5cbiAgLy8gLnNlY29uZGFyeSwgLmNvbnRyYXN0ICYgLm91dGxpbmVcbiAgQGlmICRlbmFibGUtY2xhc3NlcyB7XG4gICAgLy8gU2Vjb25kYXJ5XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSA6aXMoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFtyb2xlPVwiYnV0dG9uXCJdKS5zZWNvbmRhcnksXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJlc2V0XCJdLFxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJmaWxlXCJdOjpmaWxlLXNlbGVjdG9yLWJ1dHRvbiB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJhY2tncm91bmQpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWJvcmRlcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1pbnZlcnNlKTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJvcmRlcik7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2UpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSk6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksXG4gICAgICAgICAgMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpIHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktZm9jdXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENvbnRyYXN0XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSA6aXMoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFtyb2xlPVwiYnV0dG9uXCJdKS5jb250cmFzdCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29udHJhc3QtYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ib3JkZXIpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1pbnZlcnNlKTtcblxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlci1ib3JkZXIpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWludmVyc2UpO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSk6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksXG4gICAgICAgICAgMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpIHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1mb2N1cyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZSAocHJpbWFyeSlcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3JvbGU9XCJidXR0b25cIl0pLm91dGxpbmUsXG4gICAgW3R5cGU9XCJyZXNldFwiXS5vdXRsaW5lIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5KTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnkpO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZSAoc2Vjb25kYXJ5KVxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICAgIDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3JvbGU9XCJidXR0b25cIl0pLm91dGxpbmUuc2Vjb25kYXJ5LFxuICAgIFt0eXBlPVwicmVzZXRcIl0ub3V0bGluZSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeSk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnkpO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXNlY29uZGFyeS1ob3Zlcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gT3V0bGluZSAoY29udHJhc3QpXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgICAgOmlzKGJ1dHRvbiwgW3R5cGU9XCJzdWJtaXRcIl0sIFt0eXBlPVwiYnV0dG9uXCJdLCBbcm9sZT1cImJ1dHRvblwiXSkub3V0bGluZS5jb250cmFzdCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0KTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0KTtcblxuICAgICAgJjppcyhbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSwgOmhvdmVyLCA6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1jb250cmFzdC1ob3Zlcik7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbnRyYXN0LWhvdmVyKTtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIC8vIFNlY29uZGFyeSBidXR0b24gd2l0aG91dCAuY2xhc3NcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmVzZXRcIl0sXG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImZpbGVcIl06OmZpbGUtc2VsZWN0b3ItYnV0dG9uIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktYm9yZGVyKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWludmVyc2UpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmlzKFthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pLCA6aG92ZXIsIDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQpO1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaG92ZXItYm9yZGVyKTtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktaW52ZXJzZSk7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OlxuICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdywgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKSksXG4gICAgICAgICAgMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpIHZhcigjeyRjc3MtdmFyLXByZWZpeH1zZWNvbmRhcnktZm9jdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJ1dHRvbiBbZGlzYWJsZWRdXG4gICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICA6d2hlcmUoYnV0dG9uLCBbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFtyb2xlPVwiYnV0dG9uXCJdKVtkaXNhYmxlZF0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICA6d2hlcmUoZmllbGRzZXRbZGlzYWJsZWRdKVxuICAgIDppcyhidXR0b24sIFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSwgW3R5cGU9XCJyZXNldFwiXSwgW3JvbGU9XCJidXR0b25cIl0pIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9lbWJlZGRlZFwiKSB7XG4gIC8qKlxuICAgKiBFbWJlZGRlZCBjb250ZW50XG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIENoYW5nZSB0aGUgYWxpZ25tZW50IG9uIG1lZGlhIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGF1ZGlvLCBjYW52YXMsIGlmcmFtZSwgaW1nLCBzdmcsIHZpZGVvKSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYXVkaW8sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTdcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaWZyYW1lcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShpZnJhbWUpIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICAvLyAyLiBSZXNwb25zaXZlIGJ5IGRlZmF1bHRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgLy8gMlxuICAgIGhlaWdodDogYXV0bzsgLy8gMlxuICAgIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gMVxuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSBmaWxsIGNvbG9yIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG9yIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKHN2Zzpub3QoW2ZpbGxdKSkge1xuICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIG92ZXJmbG93IGluIElFXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3ZnOm5vdCg6cm9vdCksXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3ZnOm5vdCg6aG9zdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9maWd1cmVcIikge1xuICAvKipcbiAgICogRmlndXJlXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZmlndXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAwLjUpIDA7XG4gICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29udGVudC9taXNjXCIpIHtcbiAgLyoqXG4gICAqIE1pc2NcbiAgICovXG5cbiAgLy8gUmVib290IGJhc2VkIG9uIDpcbiAgLy8gLSBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2Ugb2YgYm9yZGVyIGNvbG9yIGluIEZpcmVmb3hcbiAgLy8gMi4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGhyIHtcbiAgICBoZWlnaHQ6IDA7IC8vIDJcbiAgICBtYXJnaW46IHZhcigjeyRjc3MtdmFyLXByZWZpeH10eXBvZ3JhcGh5LXNwYWNpbmctdmVydGljYWwpIDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtYm9yZGVyLWNvbG9yKTtcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMVxuICB9XG5cbiAgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW2hpZGRlbl0sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGVtcGxhdGUge1xuICAgIEBpZiAkZW5hYmxlLWltcG9ydGFudCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gY2FudmFzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiZm9ybXMvYmFzaWNzXCIpIHtcbiAgLy8gSGVscGVyXG4gICRoZWxwZXItcHJldmlvdXMtdGFnczogXCJpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgZmllbGRzZXRcIjtcbiAgLyoqXG4gICAqIEJhc2ljcyBmb3JtIGVsZW1lbnRzXG4gICAqL1xuXG4gIC8vIFJlYm9vdCBiYXNlZCBvbiA6XG4gIC8vIC0gbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4gIC8vIC0gc2FuaXRpemUuY3NzIHYxMy4wLjAgfCBDQzAgMS4wIFVuaXZlcnNhbCB8IGdpdGh1Yi5jb20vY3NzdG9vbHMvc2FuaXRpemUuY3NzXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gIC8vIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG9wdGdyb3VwLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiAwOyAvLyAyXG4gICAgZm9udC1zaXplOiAxcmVtOyAvLyAxXG4gICAgbGluZS1oZWlnaHQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCk7IC8vIDFcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDsgLy8gMVxuICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRVxuICAvLyAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gIC8vIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBwYWRkaW5nOiAwOyAvLyAzXG4gICAgY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyAxLiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvOyAvLyAxXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTBcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvLyAyXG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1NcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaVxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMVxuICAgIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIG9mIGZvY3VzIG91dGxpbmVzIGluIEZpcmVmb3hcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICB9XG5cbiAgLy8gIFJlbW92ZSB0aGUgZm9jdXMgb3V0bGluZSBpbiBGaXJlZm94XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBhZGRpdGlvbmFsIDppbnZhbGlkIHN0eWxlcyBpbiBGaXJlZm94XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOi1tb3otdWktaW52YWxpZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgaW5jb25zaXN0ZW50IGFwcGVhcmFuY2UgaW4gSUUgKG9waW5pb25hdGVkKVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgYm9yZGVyIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJmaWxlXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwicmFuZ2VcIl0ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gUGljb1xuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcblxuICAvLyBGb3JjZSBoZWlnaHQgZm9yIGFsdGVybmF0aXZlcyBpbnB1dCB0eXBlc1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdLCBbdHlwZT1cInJhbmdlXCJdKSB7XG4gICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgKDFyZW0gKiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpKSArXG4gICAgICAgICh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMikgK1xuICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICk7XG4gIH1cblxuICAvLyBGaWVsZHNldFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGZpZWxkc2V0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gTGFiZWwgJiBsZWdlbmRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBmaWVsZHNldCBsZWdlbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpICogMC4zNzUpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1sYWJlbC1mb250LXdlaWdodCwgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvbnQtd2VpZ2h0KSk7XG4gIH1cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAwLjUpO1xuICB9XG5cbiAgLy8gQmxvY2tzLCAxMDAlXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvblt0eXBlPVwic3VibWl0XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBSZXNldCBhcHBlYXJhbmNlIChOb3QgQ2hlY2tib3hlcywgUmFkaW9zLCBSYW5nZSBhbmQgRmlsZSlcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSwgW3R5cGU9XCJyYW5nZVwiXSwgW3R5cGU9XCJmaWxlXCJdKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3QsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWEge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICB9XG5cbiAgLy8gQ29tbW9ucyBzdHlsZXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3QsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWEge1xuICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJvcmRlci1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtY29sb3IpO1xuICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3cpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9udC13ZWlnaHQpO1xuXG4gICAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbiksXG4gICAgICAgIGJvcmRlci1jb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbiksXG4gICAgICAgIGNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgYm94LXNoYWRvdyB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbik7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlICYgRm9jdXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIGlucHV0Om5vdChcbiAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICBbcmVhZG9ubHldXG4gICAgKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pIHtcbiAgICAmOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3JcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlICYgRm9jdXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0sIFtyb2xlPVwic3dpdGNoXCJdLCBbcmVhZG9ubHldKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pIHtcbiAgICAmOmlzKDphY3RpdmUsIDpmb2N1cykge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWFjdGl2ZS1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvY3VzXG4gICN7JHBhcmVudC1zZWxlY3Rvcn1cbiAgICBpbnB1dDpub3QoXG4gICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICAgIFt0eXBlPVwicmFuZ2VcIl0sXG4gICAgICBbdHlwZT1cImZpbGVcIl0sXG4gICAgICBbcmVhZG9ubHldXG4gICAgKSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoc2VsZWN0LCB0ZXh0YXJlYSk6bm90KFtyZWFkb25seV0pIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IDBcbiAgICAgICAgMFxuICAgICAgICAwXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0pW2Rpc2FibGVkXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3RbZGlzYWJsZWRdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhW2Rpc2FibGVkXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfVxuICAgIDp3aGVyZShmaWVsZHNldFtkaXNhYmxlZF0pXG4gICAgOmlzKGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSwgW3R5cGU9XCJidXR0b25cIl0sIFt0eXBlPVwicmVzZXRcIl0pLCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgb3BhY2l0eTogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1kaXNhYmxlZC1vcGFjaXR5KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGFiZWxbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0gaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gQXJpYS1pbnZhbGlkXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgJjpub3QoXG4gICAgICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICAgIFt0eXBlPVwicmFkaW9cIl0sXG4gICAgICAgIFt0eXBlPVwiZGF0ZVwiXSxcbiAgICAgICAgW3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgICAgICAgW3R5cGU9XCJtb250aFwiXSxcbiAgICAgICAgW3R5cGU9XCJ0aW1lXCJdLFxuICAgICAgICBbdHlwZT1cIndlZWtcIl0sXG4gICAgICAgIFt0eXBlPVwicmFuZ2VcIl1cbiAgICAgICkge1xuICAgICAgJlthcmlhLWludmFsaWRdIHtcbiAgICAgICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKFxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtXG4gICAgICAgICAgKSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgIWltcG9ydGFudDtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1lbmQ6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW1cbiAgICAgICAgICApICFpbXBvcnRhbnQ7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS41cmVtKTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLWVuZDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICAgICAgICB9XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAwLjc1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIH1cblxuICAgICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXTpub3Qoc2VsZWN0KSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pY29uLXZhbGlkKTtcbiAgICAgIH1cblxuICAgICAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdOm5vdChzZWxlY3QpIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24taW52YWxpZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtYm9yZGVyLWNvbG9yKTtcblxuICAgICAgJjppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgICAgICAgKSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgJjpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym94LXNoYWRvdzogMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3IpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgICAgICAgKTtcblxuICAgICAgICAgICY6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pIHtcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtYm9yZGVyLWNvbG9yKTtcblxuICAgICAgJjppcyg6YWN0aXZlLCA6Zm9jdXMpIHtcbiAgICAgICAgQGlmICRlbmFibGUtaW1wb3J0YW50IHtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcihcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWFjdGl2ZS1ib3JkZXItY29sb3JcbiAgICAgICAgICApICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOm5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSB7XG4gICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3gtc2hhZG93OiAwXG4gICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9b3V0bGluZS13aWR0aClcbiAgICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yKSAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1hY3RpdmUtYm9yZGVyLWNvbG9yXG4gICAgICAgICAgKTtcblxuICAgICAgICAgICY6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pIHtcbiAgICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJveC1zaGFkb3c6IDBcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWludmFsaWQtZm9jdXMtY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIFtkaXI9XCJydGxcIl0ge1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgICAmOm5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSB7XG4gICAgICAgICY6aXMoW2FyaWEtaW52YWxpZF0sIFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdLCBbYXJpYS1pbnZhbGlkPVwiZmFsc2VcIl0pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgbGVmdCAwLjc1cmVtO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXJcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDo6cGxhY2Vob2xkZXIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gdGV4dGFyZWE6OnBsYWNlaG9sZGVyLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdDppbnZhbGlkIHtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBib3R0b20gKE5vdCBDaGVja2JveGVzIGFuZCBSYWRpb3MpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuICB9XG5cbiAgLy8gU2VsZWN0XG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc2VsZWN0IHtcbiAgICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6bm90KFttdWx0aXBsZV0sIFtzaXplXSkge1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjVyZW0pO1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICBwYWRkaW5nLWlubGluZS1zdGFydDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgcGFkZGluZy1pbmxpbmUtZW5kOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNXJlbSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGV2cm9uKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciByaWdodCAwLjc1cmVtO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgICZbbXVsdGlwbGVdIHtcbiAgICAgIG9wdGlvbiB7XG4gICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zZWxlY3RlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGlyPVwicnRsXCJdIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IHNlbGVjdCB7XG4gICAgICAmOm5vdChbbXVsdGlwbGVdLCBbc2l6ZV0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQgMC43NXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUZXh0YXJlYVxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IHRleHRhcmVhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuXG4gICAgJlthcmlhLWludmFsaWRdIHtcbiAgICAgIEBpZiAkZW5hYmxlLWltcG9ydGFudCB7XG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWljb24taGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICgxcmVtICogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0KSkgK1xuICAgICAgICAgICAgKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAyKSArXG4gICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICAgICApO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgcmlnaHQgMC43NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24taGVpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgbWFwLmdldCgkbW9kdWxlcywgXCJsYXlvdXQvZ3JpZFwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgICAkaGVscGVyLXByZXZpb3VzLXRhZ3M6ICRoZWxwZXItcHJldmlvdXMtdGFncyArIFwiLCAuZ3JpZFwiO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSA6d2hlcmUoI3skaGVscGVyLXByZXZpb3VzLXRhZ3N9KSB7XG4gICAgKyBzbWFsbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZykgKiAtMC43NSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fW11dGVkLWNvbG9yKTtcbiAgICB9XG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICArIHNtYWxsIHtcbiAgICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1pbnMtY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgKyBzbWFsbCB7XG4gICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZGVsLWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIElucHV0IGluc2lkZSBhIGxhYmVsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGFiZWwge1xuICAgID4gOndoZXJlKGlucHV0LCBzZWxlY3QsIHRleHRhcmVhKSB7XG4gICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqIDAuMjUpO1xuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9jaGVja2JveC1yYWRpby1zd2l0Y2hcIikge1xuICAvKipcbiAgICogQ2hlY2tib3hlcywgUmFkaW9zIGFuZCBTd2l0Y2hlc1xuICAgKi9cblxuICAvLyBMYWJlbHNcbiAgLy8gTm90IHdvcmtpbmcgaW4gRmlyZWZveCwgd2hpY2ggZG9lc24ndCBzdXBwb3J0IHRoZSBgOmhhcygpYCBwc2V1ZG8tY2xhc3NcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCB7XG4gICAgJjpoYXMoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSkge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDEuMjVlbTtcbiAgICBoZWlnaHQ6IDEuMjVlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC4xMjVlbTtcbiAgICBtYXJnaW4taW5saW5lLWVuZDogMC41ZW07XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6Oi1tcy1jaGVjayB7XG4gICAgICBkaXNwbGF5OiBub25lOyAvLyB1bnN0eWxlIElFIGNoZWNrYm94ZXNcbiAgICB9XG5cbiAgICAmOmNoZWNrZWQsXG4gICAgJjpjaGVja2VkOmFjdGl2ZSxcbiAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGVja2JveCk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVlbSBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAmIH4gbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4taW5saW5lLWVuZDogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENoZWNrYm94ZXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAmOmluZGV0ZXJtaW5hdGUge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYmFja2dyb3VuZCk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWJvcmRlcik7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1taW51cyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDAuNzVlbSBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG4gIH1cblxuICAvLyBSYWRpb3NcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmOmNoZWNrZWQsXG4gICAgJjpjaGVja2VkOmFjdGl2ZSxcbiAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktaW52ZXJzZSk7XG4gICAgICBib3JkZXItd2lkdGg6IDAuMzVlbTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3dpdGNoZXNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdW3JvbGU9XCJzd2l0Y2hcIl0ge1xuICAgICN7JGNzcy12YXItcHJlZml4fWJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgI3skY3NzLXZhci1wcmVmaXh9Y29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY29sb3IpO1xuXG4gICAgLy8gQ29uZmlnXG4gICAgJHN3aXRjaC1oZWlnaHQ6IDEuMjVlbTtcbiAgICAkc3dpdGNoLXdpZHRoOiAyLjI1ZW07XG4gICAgJHN3aXRjaC10cmFuc2l0aW9uOiAwLjFzIGVhc2UtaW4tb3V0O1xuXG4gICAgLy8gU3R5bGVzXG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgICAmOm5vdChbYXJpYS1pbnZhbGlkXSkge1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYXNwZWN0LXJhdGlvOiAxO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtdGh1bWItYm94LXNoYWRvdyk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbiAkc3dpdGNoLXRyYW5zaXRpb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZCB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3dpdGNoLWNoZWNrZWQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zd2l0Y2gtY2hlY2tlZC1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGMoI3skc3dpdGNoLXdpZHRofSAtICN7JHN3aXRjaC1oZWlnaHR9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1iYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBBcmlhLWludmFsaWRcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cImNoZWNrYm94XCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSB7XG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAmOmNoZWNrZWQsXG4gICAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICAgJjpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmNoZWNrZWQsXG4gICAgJjpjaGVja2VkOmFjdGl2ZSxcbiAgICAmOmNoZWNrZWQ6Zm9jdXMge1xuICAgICAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9YmFja2dyb3VuZC1jb2xvcjogdmFyKFxuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvclxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdHlwZT1cInJhZGlvXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFt0eXBlPVwiY2hlY2tib3hcIl1bcm9sZT1cInN3aXRjaFwiXSB7XG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAmOmNoZWNrZWQsXG4gICAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICAgJjpjaGVja2VkOmZvY3VzIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICAgICY6Y2hlY2tlZCxcbiAgICAmOmNoZWNrZWQ6YWN0aXZlLFxuICAgICY6Y2hlY2tlZDpmb2N1cyB7XG4gICAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtaW52YWxpZC1ib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJmb3Jtcy9pbnB1dC1zZWFyY2hcIikge1xuICAvKipcbiAgICogSW5wdXQgdHlwZSBzZWFyY2hcbiAgICovXG5cbiAgLy8gOm5vdCgpIGFyZSBuZWVkZWQgdG8gYWRkIFNwZWNpZmljaXR5IGFuZCBhdm9pZCAhaW1wb3J0YW50IG9uIHBhZGRpbmdcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSwgW3R5cGU9XCJyYW5nZVwiXSwgW3R5cGU9XCJmaWxlXCJdKSB7XG4gICAgJlt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSArIDEuNzVyZW0pO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tc2VhcmNoKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlclxuICAgICAgICBsZWZ0XG4gICAgICAgIGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMC4xMjVyZW0pO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAmW2FyaWEtaW52YWxpZF0ge1xuICAgICAgICBAaWYgJGVuYWJsZS1pbXBvcnRhbnQge1xuICAgICAgICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiBjYWxjKFxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICsgMS43NXJlbVxuICAgICAgICAgICkgIWltcG9ydGFudDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKyAxLjc1cmVtXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOlxuICAgICAgICAgIGNlbnRlciBsZWZ0IDEuMTI1cmVtLFxuICAgICAgICAgIGNlbnRlciByaWdodCAwLjc1cmVtO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtaW52YWxpZD1cImZhbHNlXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tc2VhcmNoKSwgdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tdmFsaWQpO1xuICAgICAgfVxuXG4gICAgICAmW2FyaWEtaW52YWxpZD1cInRydWVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1zZWFyY2gpLCB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1pbnZhbGlkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBbZGlyPVwicnRsXCJdIHtcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDp3aGVyZShpbnB1dCkge1xuICAgICAgJjpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSwgW3R5cGU9XCJyYW5nZVwiXSwgW3R5cGU9XCJmaWxlXCJdKSB7XG4gICAgICAgICZbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0IDEuMTI1cmVtO1xuXG4gICAgICAgICAgJlthcmlhLWludmFsaWRdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246XG4gICAgICAgICAgICAgIGNlbnRlciByaWdodCAxLjEyNXJlbSxcbiAgICAgICAgICAgICAgY2VudGVyIGxlZnQgMC43NXJlbTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9hY2NvcmRpb25cIikge1xuICAvKipcbiAgICogQWNjb3JkaW9uICg8ZGV0YWlscz4pXG4gICAqL1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcpO1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbik7XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtyb2xlXSkge1xuICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWFjY29yZGlvbi1jbG9zZS1zdW1tYXJ5LWNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgLy8gUmVzZXQgbWFya2VyXG4gICAgICAmOjotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6bWFya2VyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjo6LW1vei1saXN0LWJ1bGxldCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLy8gTWFya2VyXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nLCAxcmVtKSAqIDAuNSk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKCN7JGNzcy12YXItcHJlZml4fWljb24tY2hldnJvbik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxcmVtIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICAgICAgQGlmICRlbmFibGUtdHJhbnNpdGlvbnMge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSB2YXIoI3skY3NzLXZhci1wcmVmaXh9dHJhbnNpdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJjpub3QoW3JvbGVdKSB7XG4gICAgICAgICAgY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1hY2NvcmRpb24tYWN0aXZlLXN1bW1hcnktY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgICY6bm90KFtyb2xlXSkge1xuICAgICAgICAgIG91dGxpbmU6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9cHJpbWFyeS1mb2N1cyk7XG4gICAgICAgICAgb3V0bGluZS1vZmZzZXQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fXNwYWNpbmcsIDFyZW0pICogMC41KTtcbiAgICAgICAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIFR5cGUgYnV0dG9uXG4gICAgICAmW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAvLyBNYXJrZXJcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGhlaWdodDogY2FsYygxcmVtICogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0LCAxLjUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9wZW5cbiAgICAmW29wZW5dIHtcbiAgICAgID4gc3VtbWFyeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKTtcblxuICAgICAgICAmOm5vdChbcm9sZV0pIHtcbiAgICAgICAgICAmOm5vdCg6Zm9jdXMpIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YWNjb3JkaW9uLW9wZW4tc3VtbWFyeS1jb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzIHtcbiAgICAgIHN1bW1hcnkge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9jYXJkXCIpIHtcbiAgLyoqXG4gICAqIENhcmQgKDxhcnRpY2xlPilcbiAgICovXG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhcnRpY2xlIHtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCk7XG4gICAgcGFkZGluZzogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpXG4gICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKCN7JGNzcy12YXItcHJlZml4fWNhcmQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKCN7JGNzcy12YXItcHJlZml4fWNhcmQtYm94LXNoYWRvdyk7XG5cbiAgICA+IGhlYWRlcixcbiAgICA+IGZvb3RlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgIHBhZGRpbmc6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpICogMC42NilcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1zZWN0aW9uaW5nLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgID4gaGVhZGVyIHtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpICogLTEpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aClcbiAgICAgICAgc29saWRcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiBmb290ZXIge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKCN7JGNzcy12YXItcHJlZml4fWJsb2NrLXNwYWNpbmctdmVydGljYWwpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9YmxvY2stc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSk7XG4gICAgICBib3JkZXItdG9wOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKVxuICAgICAgICBzb2xpZFxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Y2FyZC1ib3JkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwiY29tcG9uZW50cy9kcm9wZG93blwiKSBhbmQgJGVuYWJsZS1jbGFzc2VzIHtcbiAgLyoqXG4gICAqIERyb3Bkb3duIChkZXRhaWxzLmRyb3Bkb3duKVxuICAgKi9cblxuICAvLyBDb250YWluZXJcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscy5kcm9wZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAvLyBNYXJrZXJcbiAgICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgICA+IHN1bW1hcnksXG4gICAgPiBidXR0b24sXG4gICAgPiBhIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMXJlbSAqIHZhcigjeyRjc3MtdmFyLXByZWZpeH1saW5lLWhlaWdodCwgMS41KSk7XG4gICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IDAuMjVyZW07XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgLy8gVE9ETzogZmluZCBvdXQgd2h5IHdlIG5lZWQgdGhpcyBtYWdpYyBudW1iZXIgKDAuMiByZW0pXG4gICAgICAgIC8vIGZvciB0aGUgbWFya2VyIHRvIGJlIGFsaWduZWQgd2l0aCB0aGUgcmVndWxhciBzZWxlY3RcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZykgdHJhbnNsYXRlWCgwLjJyZW0pO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9aWNvbi1jaGV2cm9uKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDFyZW0gYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBDb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgLy8gaW5zaWRlIGEgbmF2XG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG5hdiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICAvLyBPdmVycmlkZSBoZWlnaHRcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gQnV0dG9uIGFzIGEgc2VsZWN0XG4gIC8vIGluc2lkZSBjb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscy5kcm9wZG93biA+IHN1bW1hcnk6bm90KFtyb2xlXSkge1xuICAgIGhlaWdodDogY2FsYyhcbiAgICAgIDFyZW0gKlxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bGluZS1oZWlnaHQpICtcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqXG4gICAgICAgIDIgK1xuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSAqXG4gICAgICAgIDJcbiAgICApO1xuICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbClcbiAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICBib3JkZXI6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItd2lkdGgpXG4gICAgICBzb2xpZFxuICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ib3JkZXItcmFkaXVzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWJhY2tncm91bmQtY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXBsYWNlaG9sZGVyLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgYm9yZGVyLWNvbG9yIHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgY29sb3IgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3IpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogMFxuICAgICAgICAwXG4gICAgICAgIDBcbiAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3IpO1xuICAgIH1cblxuICAgIC8vIFJlc2V0IGZvY3VzIHZpc2libGUgZnJvbSBhY2NvcmRpb24gY29tcG9uZW50XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQXJpYS1pbnZhbGlkXG4gICAgJlthcmlhLWludmFsaWQ9XCJmYWxzZVwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC12YWxpZC1ib3JkZXItY29sb3JcbiAgICAgICk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYWN0aXZlLWJvcmRlci1jb2xvcjogdmFyKFxuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtdmFsaWQtZm9jdXMtY29sb3JcbiAgICAgICk7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtZm9jdXMtY29sb3I6IHZhcihcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXZhbGlkLWZvY3VzLWNvbG9yXG4gICAgICApO1xuICAgIH1cblxuICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWJvcmRlci1jb2xvclxuICAgICAgKTtcbiAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1hY3RpdmUtYm9yZGVyLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yXG4gICAgICApO1xuICAgICAgI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LWZvY3VzLWNvbG9yOiB2YXIoXG4gICAgICAgICN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1pbnZhbGlkLWZvY3VzLWNvbG9yXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIERyb3Bkb3duIGluc2lkZSBhIG5hdlxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBuYXYgZGV0YWlscy5kcm9wZG93biB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSkgMDtcblxuICAgID4gc3VtbWFyeSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpIHRyYW5zbGF0ZVgoMHJlbSk7XG4gICAgICB9XG5cbiAgICAgICY6bm90KFtyb2xlXSkge1xuICAgICAgICAvLyBPdmVycmlkZSBoZWlnaHRcbiAgICAgICAgaGVpZ2h0OiBjYWxjKFxuICAgICAgICAgICgxcmVtICogdmFyKCN7JGNzcy12YXItcHJlZml4fWxpbmUtaGVpZ2h0KSkgK1xuICAgICAgICAgICAgKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIDIpXG4gICAgICAgICk7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLVxuICAgICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICAgICAgIClcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcblxuICAgICAgICAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIDBcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1vdXRsaW5lLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktZm9jdXMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3VibWVudVxuICAvLyDigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJPigJNcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzLmRyb3Bkb3duID4gc3VtbWFyeSArIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHotaW5kZXg6IDk5O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiBmaXQtY29udGVudDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogdmFyKCN7JGNzcy12YXItcHJlZml4fW91dGxpbmUtd2lkdGgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXJhZGl1cyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1kcm9wZG93bi1ib3gtc2hhZG93KTtcbiAgICBjb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWNvbG9yKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgICB0cmFuc2l0aW9uOlxuICAgICAgICBvcGFjaXR5IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgdHJhbnNmb3JtIDBzIGVhc2UtaW4tb3V0IDFzO1xuICAgIH1cblxuICAgICZbZGlyPVwicnRsXCJdIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1mb3JtLWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSk7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctdmVydGljYWwpICogMC41KTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIC0wLjUpXG4gICAgICAgICAgY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWZvcm0tZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKSAqIDAuNSlcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9Zm9ybS1lbGVtZW50LXNwYWNpbmctaG9yaXpvbnRhbCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24tY29sb3IpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlLFxuICAgICAgICAmOmZvY3VzLXZpc2libGUsXG4gICAgICAgICZbYXJpYS1jdXJyZW50XTpub3QoW2FyaWEtY3VycmVudD1cImZhbHNlXCJdKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7JGNzcy12YXItcHJlZml4fWRyb3Bkb3duLWhvdmVyLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC8vIE5vdCB3b3JraW5nIGluIEZpcmVmb3gsIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgYDpoYXMoKWAgcHNldWRvLWNsYXNzXG4gICAgICAmOmhhcyhsYWJlbCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9ZHJvcGRvd24taG92ZXItYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnV0dG9uIG9wZW5lZFxuICAvLyBpbnNpZGUgY29udGFpbmVyIHR5cGUgYWNjb3JkaW9uXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGRldGFpbHMuZHJvcGRvd25bb3Blbl0gPiBzdW1tYXJ5IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gTWVudSBvcGVuZWRcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gIC8vIDEuIEluc2lkZSBjb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBkZXRhaWxzLmRyb3Bkb3duW29wZW5dID4gc3VtbWFyeSB7XG4gICAgKyB1bCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgxKTtcbiAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICAgICAgdHJhbnNpdGlvbjpcbiAgICAgICAgICBvcGFjaXR5IHZhcigjeyRjc3MtdmFyLXByZWZpeH10cmFuc2l0aW9uKSxcbiAgICAgICAgICB0cmFuc2Zvcm0gMHMgZWFzZS1pbi1vdXQgMHM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xvc2UgZm9yIGRyb3Bkb3duXG4gIC8vIGluc2lkZSBjb250YWluZXIgdHlwZSBhY2NvcmRpb25cbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gZGV0YWlscy5kcm9wZG93bltvcGVuXSA+IHN1bW1hcnkge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgaW5zZXQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cbiAgLy8gTGFiZWxcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbGFiZWwgPiBkZXRhaWxzLmRyb3Bkb3duIHtcbiAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1zcGFjaW5nKSAqIDAuMjUpO1xuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcImNvbXBvbmVudHMvZ3JvdXBcIikge1xuICAvKipcbiAgICogR3JvdXAgKFtyb2xlPVwiZ3JvdXBcIl0sIFtyb2xlPVwic2VhcmNoXCJdKVxuICAgKi9cblxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtyb2xlPVwic2VhcmNoXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtyb2xlPVwiZ3JvdXBcIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9c3BhY2luZyk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93LCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgdmFyKCN7JGNzcy12YXItcHJlZml4fXRyYW5zaXRpb24pO1xuXG4gICAgPiAqLFxuICAgIGlucHV0Om5vdChbdHlwZT1cImNoZWNrYm94XCJdLCBbdHlwZT1cInJhZGlvXCJdKSxcbiAgICBzZWxlY3Qge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3JvbGU9XCJidXR0b25cIl0sXG4gICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0pLFxuICAgIHNlbGVjdCB7XG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgQHN1cHBvcnRzIHNlbGVjdG9yKDpoYXMoKikpIHtcbiAgICAgIC8vIEdyb3VwIGJveCBzaGFkb3cgd2hlbiBhIGJ1dHRvbiBpcyBmb2N1c2VkXG4gICAgICAmOmhhcyhidXR0b246Zm9jdXMsIFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLCBbdHlwZT1cImJ1dHRvblwiXTpmb2N1cywgW3JvbGU9XCJidXR0b25cIl06Zm9jdXMpIHtcbiAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdzogdmFyKFxuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWdyb3VwLWJveC1zaGFkb3ctZm9jdXMtd2l0aC1idXR0b25cbiAgICAgICAgKTtcblxuICAgICAgICBpbnB1dDpub3QoW3R5cGU9XCJjaGVja2JveFwiXSwgW3R5cGU9XCJyYWRpb1wiXSksXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBHcm91cCBib3ggc2hhZG93IHdoZW4gYW4gaW5wdXQgaXMgZm9jdXNlZFxuICAgICAgJjpoYXMoaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdLCBbdHlwZT1cImJ1dHRvblwiXSk6Zm9jdXMsIHNlbGVjdDpmb2N1cykge1xuICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1ncm91cC1ib3gtc2hhZG93OiB2YXIoXG4gICAgICAgICAgI3skY3NzLXZhci1wcmVmaXh9Z3JvdXAtYm94LXNoYWRvdy1mb2N1cy13aXRoLWlucHV0XG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQWRhcHQgYm94IHNoYWRvdyBmb3IgYnV0dG9uc1xuICAgICAgICBidXR0b24sXG4gICAgICAgIFt0eXBlPVwic3VibWl0XCJdLFxuICAgICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICAgICN7JGNzcy12YXItcHJlZml4fWJ1dHRvbi1ib3gtc2hhZG93OiAwIDAgMCB2YXIoI3skY3NzLXZhci1wcmVmaXh9Ym9yZGVyLXdpZHRoKVxuICAgICAgICAgICAgdmFyKCN7JGNzcy12YXItcHJlZml4fXByaW1hcnktYm9yZGVyKTtcbiAgICAgICAgICAjeyRjc3MtdmFyLXByZWZpeH1idXR0b24taG92ZXItYm94LXNoYWRvdzogMCAwIDAgdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aClcbiAgICAgICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1wcmltYXJ5LWhvdmVyLWJvcmRlcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIGJ1dHRvbiBib3ggc2hhZG93IGlmIHdlIGhhdmUgYSBncm91cCBib3ggc2hhZG93XG4gICAgICBidXR0b24sXG4gICAgICBbdHlwZT1cInN1Ym1pdFwiXSxcbiAgICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICAgIFtyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW3JvbGU9XCJzZWFyY2hcIl0ge1xuICAgID4gKiB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXJlbTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cmVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQHVzZSBcInNhc3M6bWFwXCI7XG5AdXNlIFwiLi4vc2V0dGluZ3NcIiBhcyAqO1xuXG5AaWYgbWFwLmdldCgkbW9kdWxlcywgXCJjb21wb25lbnRzL25hdlwiKSB7XG4gIC8qKlxuICAgKiBOYXZcbiAgICovXG5cbiAgLy8gUmVib290IGJhc2VkIG9uIDpcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcblxuICAvLyBQcmV2ZW50IFZvaWNlT3ZlciBmcm9tIGlnbm9yaW5nIGxpc3Qgc2VtYW50aWNzIGluIFNhZmFyaSAob3BpbmlvbmF0ZWQpXG4gIDp3aGVyZShuYXYgbGkpOjpiZWZvcmUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbnRlbnQ6IFwiXFwyMDBCXCI7XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbmF2LFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IG5hdiB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gbmF2IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICBvbCxcbiAgICB1bCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLXZlcnRpY2FsKVxuICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy1ob3Jpem9udGFsKTtcblxuICAgICAgOndoZXJlKGEsIFtyb2xlPVwibGlua1wiXSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgKiAtMSlcbiAgICAgICAgICBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogLTEpO1xuICAgICAgICBwYWRkaW5nOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbClcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci1yYWRpdXMpO1xuXG4gICAgICAgICY6bm90KDpob3Zlcikge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBNaW5pbWFsIHN1cHBvcnQgZm9yIGJ1dHRvbnMgYW5kIGZvcm1zIGVsZW1lbnRzXG4gICAgICBidXR0b24sXG4gICAgICBbcm9sZT1cImJ1dHRvblwiXSxcbiAgICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgICAgaW5wdXQ6bm90KFt0eXBlPVwiY2hlY2tib3hcIl0sIFt0eXBlPVwicmFkaW9cIl0sIFt0eXBlPVwicmFuZ2VcIl0sIFt0eXBlPVwiZmlsZVwiXSksXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IGNhbGMoXG4gICAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy12ZXJ0aWNhbCkgLVxuICAgICAgICAgICAgICAodmFyKCN7JGNzcy12YXItcHJlZml4fWJvcmRlci13aWR0aCkgKiAyKVxuICAgICAgICAgIClcbiAgICAgICAgICB2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCcmVhZGNydW1iXG4gICAgJlthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiXSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcblxuICAgICAgJiB1bCBsaSB7XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgbWFyZ2luOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLXZlcnRpY2FsKSAqIC0xKSAwO1xuICAgICAgICAgIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IGNhbGModmFyKCN7JGNzcy12YXItcHJlZml4fW5hdi1saW5rLXNwYWNpbmctaG9yaXpvbnRhbCkgKiAtMSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtbGluay1zcGFjaW5nLWhvcml6b250YWwpICogNCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWxpbmstc3BhY2luZy1ob3Jpem9udGFsKSAqIC0xKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtYnJlYWRjcnVtYi1kaXZpZGVyKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoI3skY3NzLXZhci1wcmVmaXh9bXV0ZWQtY29sb3IpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gTWluaW1hbCBzdXBwb3J0IGZvciBhcmlhLWN1cnJlbnRcbiAgICAgICYgYVthcmlhLWN1cnJlbnRdOm5vdChbYXJpYS1jdXJyZW50PVwiZmFsc2VcIl0pIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIE5hdlxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGFzaWRlIHtcbiAgICBuYXYsXG4gICAgb2wsXG4gICAgdWwsXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoI3skY3NzLXZhci1wcmVmaXh9bmF2LWVsZW1lbnQtc3BhY2luZy12ZXJ0aWNhbCkgKiAwLjUpXG4gICAgICAgIHZhcigjeyRjc3MtdmFyLXByZWZpeH1uYXYtZWxlbWVudC1zcGFjaW5nLWhvcml6b250YWwpO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC8vIE1pbmltYWwgc3VwcG9ydCBmb3IgbGlua3MgYXMgYnV0dG9uc1xuICAgICAgW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICBtYXJnaW46IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQnJlYWRjcnVtYiBSVExcbiAgW2Rpcj1cInJ0bFwiXSB7XG4gICAgI3skcGFyZW50LXNlbGVjdG9yfSBuYXYge1xuICAgICAgJlthcmlhLWxhYmVsPVwiYnJlYWRjcnVtYlwiXSB7XG4gICAgICAgICYgdWwgbGkge1xuICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICA6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCJcXFxcXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAdXNlIFwic2FzczptYXBcIjtcbkB1c2UgXCIuLi9zZXR0aW5nc1wiIGFzICo7XG5cbkBpZiBtYXAuZ2V0KCRtb2R1bGVzLCBcInV0aWxpdGllcy9hY2Nlc3NpYmlsaXR5XCIpIHtcbiAgLyoqXG4gICAqIEFjY2Vzc2liaWxpdHkgJiBVc2VyIGludGVyYWN0aW9uXG4gICAqL1xuXG4gIC8vIEJhc2VkIG9uIDpcbiAgLy8gLSBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gQWNjZXNzaWJpbGl0eVxuXG4gIC8vIENoYW5nZSB0aGUgY3Vyc29yIG9uIGNvbnRyb2wgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1jb250cm9sc10ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgY3Vyc29yIG9uIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZSBpbm9wZXJhYmxlIGVsZW1lbnRzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIGRpc3BsYXkgb24gdmlzdWFsbHkgaGlkZGVuIGFjY2Vzc2libGUgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZClcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1oaWRkZW49XCJmYWxzZVwiXVtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBpbml0aWFsO1xuICB9XG5cbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbYXJpYS1oaWRkZW49XCJmYWxzZVwiXVtoaWRkZW5dOm5vdCg6Zm9jdXMpIHtcbiAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgfVxuXG4gIC8vIFVzZXIgaW50ZXJhY3Rpb25cbiAgLy8gUmVtb3ZlIHRoZSB0YXBwaW5nIGRlbGF5IGluIElFIDEwXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gYSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBhcmVhLFxuICAjeyRwYXJlbnQtc2VsZWN0b3J9IGJ1dHRvbixcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBpbnB1dCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBsYWJlbCxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBzZWxlY3QsXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gc3VtbWFyeSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSB0ZXh0YXJlYSxcbiAgI3skcGFyZW50LXNlbGVjdG9yfSBbdGFiaW5kZXhdIHtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAvLyBQaWNvXG4gIC8vIOKAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk+KAk1xuXG4gICN7JHBhcmVudC1zZWxlY3Rvcn0gW2Rpcj1cInJ0bFwiXSB7XG4gICAgZGlyZWN0aW9uOiBydGw7XG4gIH1cbn1cbiIsIkB1c2UgXCJzYXNzOm1hcFwiO1xuQHVzZSBcIi4uL3NldHRpbmdzXCIgYXMgKjtcblxuQGlmIG1hcC5nZXQoJG1vZHVsZXMsIFwidXRpbGl0aWVzL3JlZHVjZS1tb3Rpb25cIikgYW5kIGVuYWJsZS10cmFuc2l0aW9ucyBhbmQgZW5hYmxlLWltcG9ydGFudCB7XG4gIC8qKlxuICAgKiBSZWR1Y2UgTW90aW9uIEZlYXR1cmVzXG4gICAqL1xuXG4gIC8vIEJhc2VkIG9uIDpcbiAgLy8gLSBzYW5pdGl6ZS5jc3MgdjEzLjAuMCB8IENDMCAxLjAgVW5pdmVyc2FsIHwgZ2l0aHViLmNvbS9jc3N0b29scy9zYW5pdGl6ZS5jc3NcbiAgLy8g4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCT4oCTXG5cbiAgLy8gMS4gUmVtb3ZlIGFuaW1hdGlvbnMgd2hlbiBtb3Rpb24gaXMgcmVkdWNlZCAob3BpbmlvbmF0ZWQpXG4gIC8vIDIuIFJlbW92ZSBmaXhlZCBiYWNrZ3JvdW5kIGF0dGFjaG1lbnRzIHdoZW4gbW90aW9uIGlzIHJlZHVjZWQgKG9waW5pb25hdGVkKVxuICAvLyAzLiBSZW1vdmUgdGltZWQgc2Nyb2xsaW5nIGJlaGF2aW9ycyB3aGVuIG1vdGlvbiBpcyByZWR1Y2VkIChvcGluaW9uYXRlZClcbiAgLy8gNC4gUmVtb3ZlIHRyYW5zaXRpb25zIHdoZW4gbW90aW9uIGlzIHJlZHVjZWQgKG9waW5pb25hdGVkKVxuICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gKjpub3QoW2FyaWEtYnVzeT1cInRydWVcIl0pLFxuICAgICN7JHBhcmVudC1zZWxlY3Rvcn0gOm5vdChbYXJpYS1idXN5PVwidHJ1ZVwiXSk6OmJlZm9yZSxcbiAgICAjeyRwYXJlbnQtc2VsZWN0b3J9IDpub3QoW2FyaWEtYnVzeT1cInRydWVcIl0pOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGluaXRpYWwgIWltcG9ydGFudDsgLy8gMlxuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDsgLy8gMVxuICAgICAgYW5pbWF0aW9uLWRlbGF5OiAtMW1zICFpbXBvcnRhbnQ7IC8vIDFcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDsgLy8gMVxuICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBhdXRvICFpbXBvcnRhbnQ7IC8vIDNcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzICFpbXBvcnRhbnQ7IC8vIDRcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDBzICFpbXBvcnRhbnQ7IC8vIDRcbiAgICB9XG4gIH1cbn1cbiIsIkB1c2UgJ2NvbmZpZ3MvdmFyaWFibGVzJyBhcyAqO1xuXG4vLyBUZW1hIFNvbGl0b1xuW2RhdGEtdGhlbWU9XCJsaWdodFwiXSxcbjpyb290Om5vdChbZGF0YS10aGVtZT1cImRhcmtcIl0pIHtcblxuICAtLXBpY28tYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXQtYmFja2dyb3VuZC1jb2xvciwgI3skbXQtYmFja2dyb3VuZC1jb2xvcn0pO1xuICAtLXBpY28tY29sb3I6IHZhcigtLW10LWNvbG9yLCAjeyRtdC1jb2xvcn0pO1xuICAtLXBpY28tdGV4dC1zZWxlY3Rpb24tY29sb3I6IHJnYmEoMiwgMTU0LCAyMzIsIDAuMjUpO1xuXG4gIC0tcGljby1tdXRlZC1jb2xvcjogIzY0NmI3OTtcbiAgLS1waWNvLW11dGVkLWJvcmRlci1jb2xvcjogcmdiKDIzMSwgMjM0LCAyMzkuNSk7XG5cbiAgLS1waWNvLXByaW1hcnk6IHZhcigtLW10LXByaW1hcnktY29sb3IsICN7JG10LXByaW1hcnktY29sb3J9KTtcbiAgLS1waWNvLXByaW1hcnktYmFja2dyb3VuZDogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgI3skbXQtcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtcHJpbWFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC1wcmltYXJ5LWNvbG9yLCAjeyRtdC1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tbXQtcHJpbWFyeS1jb2xvciwgI3skbXQtcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1kYXJrZW4sICN7JG10LXByaW1hcnktY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1wcmltYXJ5LXVuZGVybGluZTogdmFyKC0tbXQtcHJpbWFyeS1jb2xvci1saWdodGVuLCAjeyRtdC1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHZhcigtLW10LXByaW1hcnktY29sb3ItbGlnaHRlbiwgI3skbXQtcHJpbWFyeS1jb2xvci1saWdodGVufSk7XG4gIC0tcGljby1wcmltYXJ5LWludmVyc2U6IHZhcigtLW10LXByaW1hcnktaW52ZXJzZS1jb2xvciwgI3skbXQtcHJpbWFyeS1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLXNlY29uZGFyeTogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLCAjeyRtdC1zZWNvbmRhcnktY29sb3J9KTtcbiAgLS1waWNvLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICN7JG10LXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvci1kYXJrZW4sICN7JG10LXNlY29uZGFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXNlY29uZGFyeS1jb2xvciwgI3skbXQtc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3IsICN7JG10LXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItZGFya2VuLCAjeyRtdC1zZWNvbmRhcnktY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1zZWNvbmRhcnktdW5kZXJsaW5lOiB2YXIoLS1tdC1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgI3skbXQtc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogdmFyKC0tbXQtc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXNlY29uZGFyeS1jb2xvci1saWdodGVufSk7XG4gIC0tcGljby1zZWNvbmRhcnktaW52ZXJzZTogdmFyKC0tbXQtc2Vjb25kYXJ5LWludmVyc2UtY29sb3IsICN7JG10LXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLWNvbnRyYXN0OiB2YXIoLS1tdC1jb250cmFzdC1jb2xvciwgI3skbXQtY29udHJhc3QtY29sb3J9KTtcbiAgLS1waWNvLWNvbnRyYXN0LWJhY2tncm91bmQ6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjeyRtdC1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtY29udHJhc3QtY29sb3ItZGFya2VuLCAjeyRtdC1jb250cmFzdC1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtY29udHJhc3QtY29sb3IsICN7JG10LWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLCAjeyRtdC1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWRhcmtlbiwgI3skbXQtY29udHJhc3QtY29sb3ItZGFya2VufSk7XG4gIC0tcGljby1jb250cmFzdC11bmRlcmxpbmU6IHZhcigtLW10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sICN7JG10LWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiB2YXIoLS1tdC1jb250cmFzdC1jb2xvci1saWdodGVuLCAjeyRtdC1jb250cmFzdC1jb2xvci1saWdodGVufSk7XG4gIC0tcGljby1jb250cmFzdC1pbnZlcnNlOiB2YXIoLS1tdC1jb250cmFzdC1pbnZlcnNlLWNvbG9yLCAjeyRtdC1jb250cmFzdC1pbnZlcnNlLWNvbG9yfSk7XG5cbiAgLS1waWNvLWZvbnQtZmFtaWx5OiB2YXIoLS1tdC1mb250LWZhbWlseSwgI3skbXQtZm9udC1mYW1pbHl9KTtcbiAgLS1waWNvLWZvbnQtc2l6ZTogdmFyKC0tbXQtZm9udC1zaXplLCAjeyRtdC1mb250LXNpemV9KTtcbiAgLS1waWNvLWxpbmUtaGVpZ2h0OiB2YXIoLS1tdC1saW5lLWhlaWdodCwgI3skbXQtbGluZS1oZWlnaHR9KTtcbiAgLS1waWNvLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1mb250LXdlaWdodCwgI3skbXQtZm9udC13ZWlnaHR9KTtcbiAgLS1waWNvLWhlYWRpbmctZm9udC13ZWlnaHQ6IHZhcigtLW10LWhlYWRpbmctZm9udC13ZWlnaHQsICN7JG10LWhlYWRpbmctZm9udC13ZWlnaHR9KTtcbiAgLS1waWNvLWxldHRlci1zcGFjaW5nOiB2YXIoLS1tdC1sZXR0ZXItc3BhY2luZywgI3skbXQtbGV0dGVyLXNwYWNpbmd9KTtcblxuICAtLXBpY28tYmxvY2stc3BhY2luZy12ZXJ0aWNhbDogMS41cmVtO1xuXG59XG5cbi8vIFRlbWEgRGFya1xuW2RhdGEtdGhlbWU9XCJkYXJrXCJdLFxuOnJvb3RbZGF0YS10aGVtZT1cImRhcmtcIl0ge1xuXG5cbiAgLS1waWNvLWJhY2tncm91bmQtY29sb3I6IHZhcigtLW10LXRkYXJrLWJhY2tncm91bmQtY29sb3IsICN7JG10LXRkYXJrLWJhY2tncm91bmQtY29sb3J9KTtcbiAgLS1waWNvLWNvbG9yOiB2YXIoLS1tdC10ZGFyay1jb2xvciwgI3skbXQtdGRhcmstY29sb3J9KTtcbiAgLS1waWNvLXRleHQtc2VsZWN0aW9uLWNvbG9yOiByZ2JhKDIsIDE1NCwgMjMyLCAwLjI1KTtcblxuICAtLXBpY28tbXV0ZWQtY29sb3I6ICM2NDZiNzk7XG4gIC0tcGljby1tdXRlZC1ib3JkZXItY29sb3I6IHJnYigyMzEsIDIzNCwgMjM5LjUpO1xuXG4gIC0tcGljby1wcmltYXJ5OiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3IsICN7JG10LXRkYXJrLXByaW1hcnktY29sb3J9KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1saWdodGVuLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXByaW1hcnktaG92ZXItdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1wcmltYXJ5LWJvcmRlcjogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvciwgI3skbXQtdGRhcmstcHJpbWFyeS1jb2xvcn0pO1xuICAtLXBpY28tcHJpbWFyeS1ob3ZlcjogdmFyKC0tbXQtdGRhcmstcHJpbWFyeS1jb2xvci1saWdodGVuLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXByaW1hcnktdW5kZXJsaW5lOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtdGRhcmstcHJpbWFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXByaW1hcnktZm9jdXM6IHZhcigtLW10LXRkYXJrLXByaW1hcnktY29sb3ItZGFya2VuLCAjeyRtdC10ZGFyay1wcmltYXJ5LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tcHJpbWFyeS1pbnZlcnNlOiB2YXIoLS1tdC10ZGFyay1wcmltYXJ5LWludmVyc2UtY29sb3IsICN7JG10LXRkYXJrLXByaW1hcnktaW52ZXJzZS1jb2xvcn0pO1xuXG4gIC0tcGljby1zZWNvbmRhcnk6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktYmFja2dyb3VuZDogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktY29sb3J9KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1ob3Zlci11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvciwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yfSk7XG4gIC0tcGljby1zZWNvbmRhcnktYm9yZGVyOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3IsICN7JG10LXRkYXJrLXNlY29uZGFyeS1jb2xvcn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWhvdmVyOiB2YXIoLS1tdC10ZGFyay1zZWNvbmRhcnktY29sb3ItbGlnaHRlbiwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS11bmRlcmxpbmU6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW4sICN7JG10LXRkYXJrLXNlY29uZGFyeS1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLXNlY29uZGFyeS1mb2N1czogdmFyKC0tbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbiwgI3skbXQtdGRhcmstc2Vjb25kYXJ5LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tc2Vjb25kYXJ5LWludmVyc2U6IHZhcigtLW10LXRkYXJrLXNlY29uZGFyeS1pbnZlcnNlLWNvbG9yLCAjeyRtdC10ZGFyay1zZWNvbmRhcnktaW52ZXJzZS1jb2xvcn0pO1xuXG4gIC0tcGljby1jb250cmFzdDogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1iYWNrZ3JvdW5kOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvciwgI3skbXQtdGRhcmstY29udHJhc3QtY29sb3J9KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLWJhY2tncm91bmQ6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWhvdmVyLXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3IsICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yfSk7XG4gIC0tcGljby1jb250cmFzdC1ib3JkZXI6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLCAjeyRtdC10ZGFyay1jb250cmFzdC1jb2xvcn0pO1xuICAtLXBpY28tY29udHJhc3QtaG92ZXI6IHZhcigtLW10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW4sICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWxpZ2h0ZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LXVuZGVybGluZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtY29sb3ItZGFya2VuLCAjeyRtdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW59KTtcbiAgLS1waWNvLWNvbnRyYXN0LWZvY3VzOiB2YXIoLS1tdC10ZGFyay1jb250cmFzdC1jb2xvci1kYXJrZW4sICN7JG10LXRkYXJrLWNvbnRyYXN0LWNvbG9yLWRhcmtlbn0pO1xuICAtLXBpY28tY29udHJhc3QtaW52ZXJzZTogdmFyKC0tbXQtdGRhcmstY29udHJhc3QtaW52ZXJzZS1jb2xvciwgI3skbXQtdGRhcmstY29udHJhc3QtaW52ZXJzZS1jb2xvcn0pO1xuXG4gIC0tcGljby1mb250LWZhbWlseTogdmFyKC0tbXQtZm9udC1mYW1pbHksICN7JG10LWZvbnQtZmFtaWx5fSk7XG4gIC0tcGljby1mb250LXNpemU6IHZhcigtLW10LWZvbnQtc2l6ZSwgI3skbXQtZm9udC1zaXplfSk7XG4gIC0tcGljby1saW5lLWhlaWdodDogdmFyKC0tbXQtbGluZS1oZWlnaHQsICN7JG10LWxpbmUtaGVpZ2h0fSk7XG4gIC0tcGljby1mb250LXdlaWdodDogdmFyKC0tbXQtZm9udC13ZWlnaHQsICN7JG10LWZvbnQtd2VpZ2h0fSk7XG4gIC0tcGljby1oZWFkaW5nLWZvbnQtd2VpZ2h0OiB2YXIoLS1tdC1oZWFkaW5nLWZvbnQtd2VpZ2h0LCAjeyRtdC1oZWFkaW5nLWZvbnQtd2VpZ2h0fSk7XG4gIC0tcGljby1sZXR0ZXItc3BhY2luZzogdmFyKC0tbXQtbGV0dGVyLXNwYWNpbmcsICN7JG10LWxldHRlci1zcGFjaW5nfSk7XG5cbiAgLS1waWNvLWJsb2NrLXNwYWNpbmctdmVydGljYWw6IDEuNXJlbTtcblxufVxuXG4iLCJAdXNlICdjb25maWdzL3ZhcmlhYmxlcycgYXMgKjtcblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbXQtaGVhZGluZy1mb250LWZhbWlseSwgI3skbXQtaGVhZGluZy1mb250LWZhbWlseX0pO1xufVxuXG51bCBsaSB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbn1cblxuYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59IiwiaHRtbCB7XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBib2R5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCwgMHB4KTtcbiAgICAgICAgPi5zaXRlLWhlYWRlcixcbiAgICAgICAgPi5oZWFkZXItbmF2LW1lbnUsXG4gICAgICAgID4ubWFpbi1ncmlkLFxuICAgICAgICA+LnNpdGUtZm9vdGVyLFxuICAgICAgICA+LnRvcC1ncmlkLFxuICAgICAgICA+LnByZS1tYWluLWNvbnRlbnQge1xuICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgICAtMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKSxcbiAgICAgICAgICAgICAgICAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2dvLWxpZ2h0LFxuLmxvZ28tbGlnaHQtYW5kLWRhcmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubG9nby1kYXJrIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5bZGF0YS10aGVtZT1cImRhcmtcIl0gLmxvZ28tbGlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbltkYXRhLXRoZW1lPVwiZGFya1wiXSAubG9nby1kYXJrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIGJvcmRlcjogMDtcbn1cblxuLmJyaWQgKltyb2xlPVwiYnV0dG9uXCJdLFxuLmJyaWQtY2xvc2UgKltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgIGJvcmRlcjogaW5pdGlhbDtcbn1cblxuLmJyaWQgKltyb2xlPVwiYnV0dG9uXCJdOmZvY3VzLFxuLmJyaWQtY2xvc2UgKltyb2xlPVwiYnV0dG9uXCJdOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59IiwiQHVzZSAnY29uZmlncy92YXJpYWJsZXMnIGFzICo7XG5AdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuXG5ib2R5Pi5zaXRlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGhlaWdodDogJG10LXNpdGUtaGVhZGVyLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIHotaW5kZXg6ICRtdC16aW5kZXgtaGVhZGVyO1xuXG4gICAgJi5pcy1zdGlja3kge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogdmFyKC0td3AtYWRtaW4tLWFkbWluLWJhci0taGVpZ2h0LCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuXG5cbiAgICAuaGVhZGVyLWxlZnQsXG4gICAgLmhlYWRlci1yaWdodCB7XG4gICAgICAgIHdpZHRoOiAkbXQtc2l0ZS1oZWFkZXItaGVpZ2h0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAubWVudS10b2dnbGUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgLmhhbWJ1cmdlci1pY29uIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzIGVhc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuaGFtYnVyZ2VyLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItbGl2ZS1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC44O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19wbGF5IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogLjY1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMS4xNXJlbSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IC42NXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wNGVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cblxuICAgIC5oZWFkZXItY2VudGVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgPmE+aW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0NHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICA+YSBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbmJvZHkgPiAuc2l0ZS1mb290ZXIge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAuZm9vdGVyLXNlcGFyYXRvciB7XG4gICAgICAgIGhlaWdodDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgfVxuXG4gICAgLmZvb3Rlci1jb2x1bW5zIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMS41KTtcbiAgICAgICAgfVxuICAgICAgXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjIwcHgsIDFmcikpO1xuICAgICAgICAgIGdhcDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgXG4gICAgICAgIC5mb290ZXItY29sIHtcbiAgICAgICAgICA+IHN0cm9uZyB7XG5cbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICBcbiAgICAgICAgICAudzNjLWxvZ28ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTVyZW07XG4gICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAuOTVyZW07XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgIFxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgIFxuICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIC5mb290ZXItY3JlZGl0cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgdmFyKC0tcGljby1zcGFjaW5nKTtcblxuICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCJAdXNlICcuLi8uLi9ub2RlX21vZHVsZXMvQHBpY29jc3MvcGljby9zY3NzL19zZXR0aW5ncy5zY3NzJyBhcyBwaWNvLXNldHRpbmdzO1xuQHVzZSAnc2FzczptYXAnO1xuXG5AbWl4aW4gbWVkaWFfbWluX3dpZHRoKCRzaXplKSB7XG4gIEBpZiBtYXAuaGFzLWtleShwaWNvLXNldHRpbmdzLiRicmVha3BvaW50cywgJHNpemUpIHtcbiAgICAkYnA6IG1hcC5nZXQobWFwLmdldChwaWNvLXNldHRpbmdzLiRicmVha3BvaW50cywgJHNpemUpLCAnYnJlYWtwb2ludCcpO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkYnApIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gXCLimqDvuI8gQnJlYWtwb2ludCBgI3skc2l6ZX1gIG5vbiB0cm92YXRvIGluIFBpY28uXCI7XG4gIH1cbn1cbiIsIkB1c2UgJ2NvbmZpZ3MvdmFyaWFibGVzJyBhcyAqO1xuXG5ib2R5LmFkbWluLWJhciB7XG4gIC5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gICAgdG9wOiAwO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwMHB4KSB7XG4gICAgICB0b3A6IDQ2cHg7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc4MnB4KSB7XG4gICAgICB0b3A6IDMycHg7XG4gICAgfVxuICB9XG59XG5cbi5zaWRlYmFyLWhhbWJ1cmdlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogODV2dztcbiAgbWF4LXdpZHRoOiA1NjBweDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiAkbXQtemluZGV4LXNpZGViYXItaGFtYnVyZ2VyO1xuXG4gICYub3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgJi1vdmVybGF5IHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBpbnNldDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgei1pbmRleDogMTkwMDtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi52aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi1sb2dvIHtcbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAmLWNsb3NlIHtcbiAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG4gICAgfVxuICB9XG5cbiAgJi1jb250cm9scyB7XG4gICAgbWFyZ2luOiB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLmZvbnQtc2l6ZS1jb250cm9scyB7XG4gICAgICBidXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRoZW1lLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMC4ycmVtO1xuXG4gICAgICBsYWJlbCxcbiAgICAgIGlucHV0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtc2VhcmNoIHtcbiAgICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgMDtcblxuICAgICY+KjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAuNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IC41cmVtO1xuICAgIH1cblxuICAgICY+KjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAuNXJlbTtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAuNXJlbTtcbiAgICB9XG4gIH1cblxuICAmLW1lbnUge1xuICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi10b2dnbGUsXG4gICAgICAmLWxpbmsge1xuICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgZWFzZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tcGljby1jb2xvciksICMwMDAgMjAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuXG4gICAgICAgICYub3BlbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzIGVhc2U7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC0tcGljby1jb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb2x1bW5zLTIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgICAgIGdhcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNvY2lhbC1saW5rcyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICYub3BlbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTAwcHgsIDFmcikpO1xuICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAxLjUpO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcblxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAzKTtcblxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuXG4gICAgICAgICAgICB0cmFuc2l0aW9uOlxuICAgICAgICAgICAgICBjb2xvciAuMnMgZWFzZSxcbiAgICAgICAgICAgICAgdHJhbnNmb3JtIC4ycyBlYXNlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcblxuICAgICAgICAgICAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLXBpY28tY29sb3IpLCAjMDAwIDIwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICB3aWR0aDogMi45cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjlyZW07XG5cbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC44cmVtO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgIHRyYW5zaXRpb246XG4gICAgICAgICAgICAgIHRyYW5zZm9ybSAuMnMgZWFzZSxcbiAgICAgICAgICAgICAgb3BhY2l0eSAuMnMgZWFzZTtcblxuICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEuNHJlbTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxLjRyZW07XG5cbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5zb2NpYWwtbGlua3MtbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGFbZGF0YS1zb2NpYWw9XCJmYWNlYm9va1wiXSB7XG4gICAgICAgICAgICAuc29jaWFsLWxpbmtzLWljb24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTg3N2YyO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xOCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhW2RhdGEtc29jaWFsPVwiZ29vZ2xlXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWYwZjA7XG5cbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG5cbiAgICAgICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cInhcIl0ge1xuICAgICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cImluc3RhZ3JhbVwiXSB7XG4gICAgICAgICAgICAuc29jaWFsLWxpbmtzLWljb24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOlxuICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgxMzVkZWcsXG4gICAgICAgICAgICAgICAgICAjODMzYWI0LFxuICAgICAgICAgICAgICAgICAgI2UxMzA2YyxcbiAgICAgICAgICAgICAgICAgICNmZDFkMWQsXG4gICAgICAgICAgICAgICAgICAjZmNiMDQ1KTtcblxuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhW2RhdGEtc29jaWFsPVwid2hhdHNhcHBcIl0ge1xuICAgICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzI1ZDM2NjtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cInRlbGVncmFtXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMjllZDk7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGFbZGF0YS1zb2NpYWw9XCJ0aWt0b2tcIl0ge1xuICAgICAgICAgICAgLnNvY2lhbC1saW5rcy1pY29uIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDpcbiAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLFxuICAgICAgICAgICAgICAgICAgIzAwMCAwJSxcbiAgICAgICAgICAgICAgICAgICMxMTEgMTAwJSk7XG5cbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYVtkYXRhLXNvY2lhbD1cImxpbmtlZGluXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwYTY2YzI7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGFbZGF0YS1zb2NpYWw9XCJ5b3V0dWJlXCJdIHtcbiAgICAgICAgICAgIC5zb2NpYWwtbGlua3MtaWNvbiB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZjAwMDA7XG4gICAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGFbZGF0YS1zb2NpYWw9XCJnb29nbGVfbmV3c1wiXSB7XG4gICAgICAgICAgICAuc29jaWFsLWxpbmtzLWljb24ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjlmMGYwO1xuICAgICAgICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yMik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCJib2R5Pi5oZWFkZXItbmF2LW1lbnUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuMzMpO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG5cblxuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgaGVpZ2h0OiA2cHg7XG4gIH1cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB9XG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuMikgdHJhbnNwYXJlbnQ7XG5cbiAgLm1lbnUtc2Nyb2xsLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zcztcbiAgICAgICAgZm9udC1zaXplOiAuOTVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjAxcmVtO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWhvdmVyKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29udHJhc3QpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5tYWluLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgXG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSAwIDAgMDtcbiAgXG4gICAgJi53aXRoLXNpZGViYXIge1xuICAgICAgICBnYXA6IDA7XG4gIFxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgobGcpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDM3MHB4O1xuICAgICAgICB9XG4gICAgfVxuICB9IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5wcmUtbWFpbi1jb250ZW50IHtcbiAgIFxuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDIpICB2YXIoLS1waWNvLXNwYWNpbmcpIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIFxufSIsIkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG4udG9wLWdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICotMSk7XG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSAwIDAgMDtcbiAgICBnYXA6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgobGcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMzcwcHg7XG4gICAgfVxuXG4gICAgLnRvcC1jb250ZW50IHtcblxuICAgICAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1zaWRlYmFyIHtcblxuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgICAgIC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLFxuICAgICAgICAgICAgICAgIDFweCAwIDAgdmFyKC0tcGljby1ibG9ja3F1b3RlLWJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbn0iLCJAdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLm1haW4tY29udGVudCB7XG5cbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICAgICAgZ2FwOiAuMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaGFzLWxvZ28ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQycHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC40cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmgxLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgb3BhY2l0eTogLjk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguaGFzLWxvZ28pIHtcbiAgICAgICAgICAgIGgxOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IC04cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgfVxuXG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5tYWluLXNpZGViYXIge1xuXG4gICAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgIC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLFxuICAgICAgICAgICAgMXB4IDAgMCB2YXIoLS1waWNvLWJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICA+LndpZGdldCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLndpZGdldC5uay1mZWVkLXJlYWRlci1saXN0LWZlZWQtcnVicmljYSB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC53aWRnZXQtc2lkZWJhci1mZWF0dXJlZC1wb2ktbGlzdGEge1xuXG4gICAgICAgIGFydGljbGUge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGF1dG87XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXBpY28tYm9yZGVyLXJhZGl1cykgdmFyKC0tcGljby1ib3JkZXItcmFkaXVzKSAwIDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAxNiAvIDEwO1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3N0LW1ldGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAzO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChsZykge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5sYW5jaW8ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAuN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAtMS41KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IC43cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuZmVhdHVyZWQgLnBvc3QtbWV0YSBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbXBhY3QgLnBvc3QtbWV0YSBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59IiwiQHVzZSAnY29uZmlncy92YXJpYWJsZXMnIGFzICo7XG5AdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuLndpZGdldCB7XG5cbiAgICAud2lkZ2V0LXRpdGxlLWltZyxcbiAgICAud2lkZ2V0LXRpdGxlIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuXG4gICAgICAgID5pbWcsXG4gICAgICAgID5zcGFuIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDRweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgPnNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDEuNSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLXBpY28tcHJpbWFyeS1mb2N1cyk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2lkZ2V0LXRpdGxlLWltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgfVxuXG4gICAgLndpZGdldC1mb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tcGljby1zcGFjaW5nKTtcblxuICAgICAgICBhW3JvbGU9XCJidXR0b25cIl0ge1xuICAgICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcikgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogLjZyZW07XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAn4oC6JztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAtLXBpY28tY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1waWNvLWNvbG9yKSAxMCUsICMwMDAgOTUlKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb250YWluZXIudG9wLWdyaWQgLnRvcC1zaWRlYmFyIC53aWRnZXQ6bGFzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IGNhbGMoJG10LXNpdGUtaGVhZGVyLWhlaWdodCArIHZhcigtLXdwLWFkbWluLS1hZG1pbi1iYXItLWhlaWdodCwgMHB4KSArIDFyZW0pO1xufVxuIiwiXG5AdXNlICdtaXhpbnMvX21lZGlhX21pbl93aWR0aCcgYXMgKjtcblxuYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZzogMCAwIDAgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5Aa2V5ZnJhbWVzIGJsaW5rZXIge1xuNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG59XG59XG4uY29tbWVudC1mb3JtLXVybCB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4ud3AtY2FwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi53cC1jYXB0aW9uIGltZyxcbmltZy5zaXplLWZ1bGwsXG5pbWcuc2l6ZS1sYXJnZSxcbmltZy5zaXplLW1lZGl1bSxcbmltZy5zaXplLXRodW1ibmFpbCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuaW1nLCBcbmZpZ3VyZSxcbmRpdi53cC1jYXB0aW9uIHtcbiAgICAmLmFsaWducmlnaHQge1xuICAgICAgICBmbG9hdDpub25lO1xuICAgICAgICBtYXJnaW46IC4ycmVtIGF1dG8gdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWFyZ2luOiAuMnJlbSAwIHZhcigtLXBpY28tc3BhY2luZykgdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmFsaWdubGVmdCB7XG4gICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIG1hcmdpbjogLjJyZW0gYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAuMnJlbSB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgIH0gICBcbiAgICAmLmFsaWdubm9uZSB7XG4gICAgICAgIG1hcmdpbjogLjJyZW0gdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH0gICAgXG4gICAgJi5hbGlnbmNlbnRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIH1cbn1cblxuLndwLWNhcHRpb24tdGV4dCB7XG4gICAgZm9udC1zaXplOiAuOHJlbTtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbiN3cGFkbWluYmFyIHtcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xufVxuXG5pZnJhbWUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbn0iLCIuY29udGFpbmVyLmNvbnRhaW5lci1sZGIxIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMCB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgIGJveC1zaGFkb3c6IC0xcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpLCAxcHggMCAwIHZhcigtLXBpY28tYmxvY2txdW90ZS1ib3JkZXItY29sb3IpO1xufVxuXG5cbi5tYWluLXNpZGViYXIgLndpZGdldC1uay1hZHYtcHJpbnQ6bm90KDpoYXMoPiAqOm5vdCg6ZW1wdHkpKSkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuZGl2W2lkXj1mbHgtXSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjowIGF1dG87XG59XG5cbmRpdltpZF49Zmx4X25lY3JvXSB7XG4gICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMik7XG59XG5cbmRpdltpZF49Zmx4LWluaXppYXRpdmVdIHtcbiAgICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG59XG5cbmRpdltpZF49Zmx4LWluaXppYXRpdmVdOm5vdCg6aGFzKD4gKjpub3QoOmVtcHR5KSkpICB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5kaXZbaWRePWZseC1pbmZlZWRdIHtcbiAgICBtYXJnaW46IHZhcigtLXBpY28tc3BhY2luZykgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpIGF1dG87XG59XG5cbmRpdltpZF49Zmx4LWluZmVlZF06bm90KDpoYXMoPiAqOm5vdCg6ZW1wdHkpKSkgIHtcbiAgICBtYXJnaW46IDA7XG59IiwiI29uZXNpZ25hbC1zbGlkZWRvd24tY29udGFpbmVyLnNsaWRlLXVwLCAjb25lc2lnbmFsLXBvcG92ZXItY29udGFpbmVyLnNsaWRlLXVwIHtcbiAgICB6LWluZGV4OiAyMTQ3NDgzNjQwICFpbXBvcnRhbnQ7XG59IiwiLmNhcm91c2VsLWNhcmRzIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGNvbnRhaW5lci1uYW1lOiBjYXJvdXNlbC1jYXJkcztcblxuICAmX190cmFjayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSAwO1xuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDM1JTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDNyZW07XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuNDUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig0cHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGVhc2UsIGJhY2tncm91bmQgLjJzIGVhc2UsIHRyYW5zZm9ybSAuMnMgZWFzZTtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBvcGFjaXR5OiAuNzU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIC43KTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSguOTYpO1xuICAgIH1cblxuICAgICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiAycHggc29saWQgI2ZmZjtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gICAgfVxuXG4gICAgJi0tcHJldiB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAuNXJlbSAuNXJlbSAwO1xuICAgIH1cblxuICAgICYtLW5leHQge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAuNXJlbSAwIDAgLjVyZW07XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAxLjRyZW07XG4gICAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW0ge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciBjYXJvdXNlbC1jYXJkcyAobWluLXdpZHRoOiA1MjBweCkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgZmxleC1iYXNpczogY2FsYygoMTAwJSAtIHZhcigtLXBpY28tc3BhY2luZykpIC8gMik7XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuICAgICAgd2lkdGg6IDMuMjVyZW07XG4gICAgICBoZWlnaHQ6IDMuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgQGNvbnRhaW5lciBjYXJvdXNlbC1jYXJkcyAobWluLXdpZHRoOiA4MjBweCkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgZmxleC1iYXNpczogY2FsYygoMTAwJSAtICh2YXIoLS1waWNvLXNwYWNpbmcpICogMikpIC8gMyk7XG4gICAgfVxuICB9XG5cbiAgJl9fZmlndXJlIHtcbiAgICBhc3BlY3QtcmF0aW86IDE2IC8gMTA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICZfX21ldGEge1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2NhdCB7XG4gICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMS44KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogLjhyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMnJlbTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA1LjUpO1xuICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX19sYW5jaW8ge1xuICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgfVxuXG4gICZfX2l0ZW0tdmlkZW8gJl9fZmlndXJlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLjc1cmVtO1xuICAgIHJpZ2h0OiAuNzVyZW07XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDEuMXJlbSBzb2xpZCAjZmZmO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIC4wOHJlbSByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgfVxuXG4gICZfX2l0ZW0tZ2FsbGVyeSAmX19maWd1cmU6OmJlZm9yZSxcbiAgJl9faXRlbS1nYWxsZXJ5ICZfX2ZpZ3VyZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLjVyZW07XG4gICAgcmlnaHQ6IC43cmVtO1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAuOXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAuMTVyZW07XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDAgLjA4cmVtIHJnYmEoMCwgMCwgMCwgMSkpO1xuICAgIHotaW5kZXg6IDM7XG4gIH1cblxuICAmX19pdGVtLWdhbGxlcnkgJl9fZmlndXJlOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLjJyZW0sIC0uMnJlbSk7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICZfX2l0ZW0tZGlyZXR0YSAmX19maWd1cmU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJMSVZFXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLjFyZW07XG4gICAgbGVmdDogLjFyZW07XG4gICAgYmFja2dyb3VuZDogI2U1M2UzZTtcbiAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5LWludmVyc2UpO1xuICAgIGZvbnQtc2l6ZTogLjY1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICB9XG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbmJvZHkuc2luZ2xlLFxuYm9keS5wYWdlIHtcblxuICAgIG1haW4ubWFpbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuc2luZ2xlLXBvc3Qge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgJi10aHVtYm5haWwtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtdGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOyAvLyBmaW50byBjcm9wXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyAvLyBjZW50cmF0b1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1oZWFkZXIud2l0aC10aHVtYm5haWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgICAgIC5zaW5nbGUtcG9zdC1sYW5jaW8ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1wcmltYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2luZ2xlLXBvc3QtdGl0bGUsXG4gICAgICAgICAgICAgICAgLnNpbmdsZS1wb3N0LXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtaGVhZGVyLm5vLXRodW1ibmFpbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byB2YXIoLS1waWNvLXNwYWNpbmcpO1xuXG4gICAgICAgICAgICAgICAgLnNpbmdsZS1wb3N0LWxhbmNpbyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zaW5nbGUtcG9zdC10aXRsZSxcbiAgICAgICAgICAgICAgICAuc2luZ2xlLXBvc3Qtc3VidGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1sYW5jaW8ge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjFyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLW1ldGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgICAgXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLWRhdGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcblxuICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtYXV0aG9yIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtYm9keSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcGljby1jb2xvcik7XG5cblxuICAgICAgICAgICAgICAgIC5wb2RjYXN0X3BsYXllciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tcGljby1zcGFjaW5nKSBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAucG9kY2FzdF9tZXRhIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tcGljby1zcGFjaW5nKTs7XG4gICAgICAgICAgICAgICAgICAgIHAsIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC53cC1ibG9jay12aWRlbyB7XG4gICAgICAgICAgICAgICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAud3AtYmxvY2staW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID5ibG9ja3F1b3RlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLndwLWF1ZGlvLXNob3J0Y29kZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcCxcbiAgICAgICAgICAgICAgICBoNCxcbiAgICAgICAgICAgICAgICBoNSxcbiAgICAgICAgICAgICAgICBoNixcbiAgICAgICAgICAgICAgICBpLFxuICAgICAgICAgICAgICAgIGIsXG4gICAgICAgICAgICAgICAgc3Ryb25nLFxuICAgICAgICAgICAgICAgIGl0YWxpYyxcbiAgICAgICAgICAgICAgICBhLFxuICAgICAgICAgICAgICAgIGxpLFxuICAgICAgICAgICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdWwsXG4gICAgICAgICAgICAgICAgb2wge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDIpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC4zcmVtO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAsXG4gICAgICAgICAgICAgICAgdWwsXG4gICAgICAgICAgICAgICAgb2wsXG4gICAgICAgICAgICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXVuZGVybGluZS1wb3NpdGlvbjogdW5kZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDkwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoMSxcbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICBoMyxcbiAgICAgICAgICAgICAgICBoNCxcbiAgICAgICAgICAgICAgICBoNSxcbiAgICAgICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAuNSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAqIDEuNSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDEsXG4gICAgICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICAgICAgaDEgKixcbiAgICAgICAgICAgICAgICBoMiAqIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjFyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDMsXG4gICAgICAgICAgICAgICAgaDMgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMi4xcmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWZyYW1lW3NyYyo9XCJwbGF5ZXIudmltZW9cIl0ge1xuICAgICAgICAgICAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29tbWVudHMtbGluayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLWNhcmQtYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAyKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChtZCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+YSB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uZXdzLXBsdXMge1xuICAgICAgICAgICAgPmFydGljbGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IC4yNXJlbSBzb2xpZCB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgKiAyKTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbn0iLCIuZ2FsbGVyeS1jYXJvdXNlbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbXQtZ2FsbGVyeS1iYWNrZ3JvdW5kKTtcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLzIpIDA7XG5cbiAgICBoNSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgMCBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKSAwO1xuICAgIFxuICAgIH1cbiAgICAuY2Fyb3VzZWwtdHJhY2sge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyAgICBcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLWluLW91dDtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtc2xpZGUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgIFxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyBcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwJTtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyAgXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtY29udHJvbHMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHBhZGRpbmc6IDAgdmFyKC0tcGljby1zcGFjaW5nKTtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG4gICAgfVxufSIsIkB1c2UgJ21peGlucy9fbWVkaWFfbWluX3dpZHRoJyBhcyAqO1xuXG5ib2R5LnNpbmdsZS1wb3N0IHtcbiAgICAubGl2ZS1ibG9nIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLXBpY28tc3BhY2luZykvMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG5cbiAgICAgICAgICAgIC53aWRnZXQtdGl0bGUge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXBpY28tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMik7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLXBpY28tcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogNTAlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpdmUtYmxvZy1yZWZyZXNoIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuOXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMC40cmVtIDAuN3JlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWVudHJpZXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICAmLXRpbWVsaW5lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLWJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpLzIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWFfbWluX3dpZHRoKHNtKSB7XG4gICAgICAgICAgICAgICAgZ2FwOiB2YXIoLS1waWNvLXNwYWNpbmcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIC5saXZlLWJsb2ctZW50cnkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdGltZWxpbmUtYXNpZGUge1xuICAgICAgICAgICAgd2lkdGg6IDEuMnJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyA0KTtcblxuICAgICAgICAgICAgJi1wb2ludCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDAuN3JlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDAuN3JlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1waWNvLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtbGluZSB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1tdXRlZC1ib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1lbnRyeSB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpICogMS41KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogLS4yNXJlbTtcblxuICAgICAgICAgICAgLmxpdmUtYmxvZy10aW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tbXV0ZWQtY29sb3IpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGl2ZS1ibG9nLWVudHJ5LWhlYWRsaW5lIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGl2ZS1ibG9nLWVudHJ5LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcblxuICAgICAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgICAgIGgzLFxuICAgICAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgICAgIGg1LFxuICAgICAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmdhbGxlcnktY2Fyb3VzZWwge1xuICAgICAgICAgICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLXBpY28tZm9udC1zaXplKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtZW1wdHkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tcGljby1iYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1waWNvLWJveC1zaGFkb3cpO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQHVzZSAnbWl4aW5zL19tZWRpYV9taW5fd2lkdGgnIGFzICo7XG5cbi5wb3N0LWxpc3QtdmVydGljYWwge1xuXG4gICBcblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIHZhcigtLXBpY28tc3BhY2luZykgYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYV9taW5fd2lkdGgoc20pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tcHJpdmF0ZSB7XG4gICAgICAgIG9wYWNpdHk6IC43O1xuICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgdmFyKC0tcGljby1jb2xvcik7XG4gICAgfVxuXG4gICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAtLXBpY28tY29sb3I6IHZhcigtLXBpY28tY29sb3IpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLS1waWNvLWNvbG9yOiB2YXIoLS1waWNvLWNvbG9yKTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX19jb250ZW50OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcGljby1zcGFjaW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICBnYXA6IHZhcigtLXBpY28tc3BhY2luZyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aHVtYiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuICAgICAgICBmbGV4OiAwIDAgMjIwcHg7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMTYvMTA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDByZW07XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19pdGVtLWRpcmV0dGEge1xuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJMSVZFXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTUzZTNlO1xuICAgICAgICAgICAgdG9wOiAuMXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IC4xcmVtO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXBpY28tcHJpbWFyeS1pbnZlcnNlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZzogMHJlbSBjYWxjKHZhcigtLXBpY28tc3BhY2luZykgLyAyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0tZ2FsbGVyeSB7XG5cbiAgICAgICAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YmVmb3JlLFxuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAuNXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAuN3JlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjJyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDAuOXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IC4xNXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIC4wOHJlbSByZ2JhKDAsIDAsIDAsIDEpKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdC1saXN0LXZlcnRpY2FsX190aHVtYjphZnRlciB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSguMnJlbSwgLS4ycmVtKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pdGVtLXZpZGVvIHtcbiAgICAgICAgLnBvc3QtbGlzdC12ZXJ0aWNhbF9fdGh1bWI6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMC42NXJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuNjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMS4xcmVtIHNvbGlkICNmZmZmZmY7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IC43NXJlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAuNzVyZW07XG4gICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMCAuMDhyZW0gcmdiYSgwLCAwLCAwLCAxKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgcGFkZGluZzogMCB2YXIoLS1waWNvLXNwYWNpbmcpIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDIpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgcGFkZGluZzogdmFyKC0tcGljby1zcGFjaW5nKSB2YXIoLS1waWNvLXNwYWNpbmcpIHZhcigtLXBpY28tc3BhY2luZykgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NhdCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDMpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXBpY28tcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1waWNvLXByaW1hcnktaW52ZXJzZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuOHJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMnJlbTtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCkgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gMikgY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNS41KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1waWNvLXNwYWNpbmcpIC8gNCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7ICAgICAgICBcbiAgICB9XG5cbiAgICAmX19sYW5jaW8ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogdmFyKC0tcGljby1tdXRlZC1jb2xvcik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuICAgIH1cblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3ZlcnRpY2FsX19leGNlcnB0IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tcGljby1zcGFjaW5nKSAvIDQpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhX21pbl93aWR0aChzbSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjNyZW07XG5cbiAgICAgICAgfVxuICAgIH1cblxufSJdfQ== */
