@charset "UTF-8";
/* Material Symbols Outlined — instanced variable font, conjunto COMPLETO de ícones (FILL 0..1, wght 300..400). */
@font-face {
  font-family: "Material Symbols Outlined";
  font-style: normal;
  font-weight: 300 400;
  font-display: swap;
  src: url('material-symbols-outlined.d05e704de68269986e95.woff2') format("woff2");
}
.material-symbols-outlined,
.material-icons {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}
/* Geist — UI body type, variable weight 100-900. Same 5 subsets Google ships. */
/* cyrillic-ext */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-cyrillic-ext.141916beb91c487496c8.woff2') format("woff2");
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-cyrillic.e1e85cd9eab54096528f.woff2') format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-vietnamese.ed8ddc5c3f2df573fa57.woff2') format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-latin-ext.b29dbc4234e76289a5b9.woff2') format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('geist-latin.ee5d167b615cdb197f4a.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Inconsolata — monospace, used in code blocks. Single weight (400). 3 subsets matching Google's split. */
/* vietnamese */
@font-face {
  font-family: "Inconsolata";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('inconsolata-vietnamese.3f9b99a54031f490de68.woff2') format("woff2");
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: "Inconsolata";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('inconsolata-latin-ext.2c2a00f6d14c2d972e5e.woff2') format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Inconsolata";
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url('inconsolata-latin.36e89c56c8ef1ba7c54b.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Cairo — used in one chair-UI component (events.component.scss). Single weight (400). Arabic + Latin subsets. */
/* arabic */
@font-face {
  font-family: "Cairo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('cairo-arabic.058cbf3782fbcd1fa0b4.woff2') format("woff2");
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC, U+102E0-102FB, U+10E60-10E7E, U+10EC2-10EC4, U+10EFC-10EFF, U+1EE00-1EE03, U+1EE05-1EE1F, U+1EE21-1EE22, U+1EE24, U+1EE27, U+1EE29-1EE32, U+1EE34-1EE37, U+1EE39, U+1EE3B, U+1EE42, U+1EE47, U+1EE49, U+1EE4B, U+1EE4D-1EE4F, U+1EE51-1EE52, U+1EE54, U+1EE57, U+1EE59, U+1EE5B, U+1EE5D, U+1EE5F, U+1EE61-1EE62, U+1EE64, U+1EE67-1EE6A, U+1EE6C-1EE72, U+1EE74-1EE77, U+1EE79-1EE7C, U+1EE7E, U+1EE80-1EE89, U+1EE8B-1EE9B, U+1EEA1-1EEA3, U+1EEA5-1EEA9, U+1EEAB-1EEBB, U+1EEF0-1EEF1;
}
/* latin-ext */
@font-face {
  font-family: "Cairo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('cairo-latin-ext.32c4aa2581621bf09b6f.woff2') format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: "Cairo";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('cairo-latin.115755d5d85ea3aa10e4.woff2') format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Colors for the ripple elements.*/
/* stylelint-disable-next-line material/theme-mixin-api */
/* stylelint-disable-next-line material/theme-mixin-api */
/* stylelint-disable material/no-prefixes */
/* stylelint-enable */
.mat-badge-content {
  font-weight: 600;
  font-size: 12px;
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-badge-small .mat-badge-content {
  font-size: 9px;
}
.mat-badge-large .mat-badge-content {
  font-size: 24px;
}
.mat-h1, .mat-headline, .mat-typography h1 {
  font: 400 24px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h2, .mat-title, .mat-typography h2, .mat-typography mat-card.base-card mat-card-header, mat-card.base-card .mat-typography mat-card-header, .mat-typography mat-card.admin-event mat-card-header, mat-card.admin-event .mat-typography mat-card-header {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h3, .mat-subheading-2, .mat-typography h3, .mat-typography .section .section-title, .section .mat-typography .section-title, .mat-typography .card-title {
  font: 400 16px/28px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h4, .mat-subheading-1, .mat-typography h4, .mat-typography .card-subtitle {
  font: 400 15px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h5, .mat-typography h5, .mat-typography .card-content, .mat-typography mat-card.event a .warning-public-at, mat-card.event a .mat-typography .warning-public-at {
  font: 400 calc(14px * 0.83)/20px Roboto, "Helvetica Neue", sans-serif;
  margin: 0 0 12px;
}
.mat-h6, .mat-typography h6 {
  font: 400 calc(14px * 0.67)/20px Roboto, "Helvetica Neue", sans-serif;
  margin: 0 0 12px;
}
.mat-body-strong, .mat-body-2 {
  font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-body, .mat-body-1, .mat-typography {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-body p, .mat-body-1 p, .mat-typography p {
  margin: 0 0 12px;
}
.mat-small, .mat-caption {
  font: 400 12px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-display-4, .mat-typography .mat-display-4 {
  font: 300 112px/112px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.05em;
  margin: 0 0 56px;
}
.mat-display-3, .mat-typography .mat-display-3 {
  font: 400 56px/56px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.02em;
  margin: 0 0 64px;
}
.mat-display-2, .mat-typography .mat-display-2 {
  font: 400 45px/48px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: -0.005em;
  margin: 0 0 64px;
}
.mat-display-1, .mat-typography .mat-display-1 {
  font: 400 34px/40px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0 0 64px;
}
.mat-bottom-sheet-container {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,
.mat-flat-button, .mat-fab, .mat-mini-fab {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-button-toggle {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-card {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-card-title {
  font-size: 24px;
  font-weight: 500;
}
.mat-card-header .mat-card-title {
  font-size: 20px;
}
.mat-card-subtitle,
.mat-card-content {
  font-size: 14px;
}
.mat-checkbox {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-checkbox-layout .mat-checkbox-label {
  line-height: 24px;
}
.mat-chip {
  font-size: 14px;
  font-weight: 500;
}
.mat-chip .mat-chip-trailing-icon.mat-icon,
.mat-chip .mat-chip-remove.mat-icon {
  font-size: 18px;
}
.mat-table {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-header-cell {
  font-size: 12px;
  font-weight: 500;
}
.mat-cell, .mat-footer-cell {
  font-size: 14px;
}
.mat-calendar {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-calendar-body {
  font-size: 13px;
}
.mat-calendar-body-label,
.mat-calendar-period-button {
  font-size: 14px;
  font-weight: 500;
}
.mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 400;
}
.mat-dialog-title {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-expansion-panel-header {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 15px;
  font-weight: 400;
}
.mat-expansion-panel-content {
  font: 400 14px/20px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-form-field {
  font-size: inherit;
  font-weight: 400;
  line-height: 1.125;
  font-family: Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-form-field-wrapper {
  padding-bottom: 1.34375em;
}
.mat-form-field-prefix .mat-icon,
.mat-form-field-suffix .mat-icon {
  font-size: 150%;
  line-height: 1.125;
}
.mat-form-field-prefix .mat-icon-button,
.mat-form-field-suffix .mat-icon-button {
  height: 1.5em;
  width: 1.5em;
}
.mat-form-field-prefix .mat-icon-button .mat-icon,
.mat-form-field-suffix .mat-icon-button .mat-icon {
  height: 1.125em;
  line-height: 1.125;
}
.mat-form-field-infix {
  padding: 0.5em 0;
  border-top: 0.84375em solid transparent;
}
.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-label-wrapper {
  top: -0.84375em;
  padding-top: 0.84375em;
}
.mat-form-field-label {
  top: 1.34375em;
}
.mat-form-field-underline {
  bottom: 1.34375em;
}
.mat-form-field-subscript-wrapper {
  font-size: 75%;
  margin-top: 0.6666666667em;
  top: calc(100% - 1.7916666667em);
}
.mat-form-field-appearance-legacy .mat-form-field-wrapper {
  padding-bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-infix {
  padding: 0.4375em 0;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.001px);
  -ms-transform: translateY(-1.28125em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00101px);
  -ms-transform: translateY(-1.28124em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00102px);
  -ms-transform: translateY(-1.28123em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-appearance-legacy .mat-form-field-label {
  top: 1.28125em;
}
.mat-form-field-appearance-legacy .mat-form-field-underline {
  bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {
  margin-top: 0.5416666667em;
  top: calc(100% - 1.6666666667em);
}
@media print {
  .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28122em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28121em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.2812em) scale(0.75);
  }
}
.mat-form-field-appearance-fill .mat-form-field-infix {
  padding: 0.25em 0 0.75em 0;
}
.mat-form-field-appearance-fill .mat-form-field-label {
  top: 1.09375em;
  margin-top: -0.5em;
}
.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-form-field-appearance-outline .mat-form-field-infix {
  padding: 1em 0 1em 0;
}
.mat-form-field-appearance-outline .mat-form-field-label {
  top: 1.84375em;
  margin-top: -0.25em;
}
.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59375em) scale(0.75);
  width: 133.3333333333%;
}
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59374em) scale(0.75);
  width: 133.3333433333%;
}
.mat-grid-tile-header,
.mat-grid-tile-footer {
  font-size: 14px;
}
.mat-grid-tile-header .mat-line,
.mat-grid-tile-footer .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-grid-tile-header .mat-line:nth-child(n+2),
.mat-grid-tile-footer .mat-line:nth-child(n+2) {
  font-size: 12px;
}
input.mat-input-element {
  margin-top: -0.0625em;
}
.mat-menu-item {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 400;
}
.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
}
.mat-radio-button {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-select {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-select-trigger {
  height: 1.125em;
}
.mat-slide-toggle-content {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-slider-thumb-label-text {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 500;
}
.mat-stepper-vertical, .mat-stepper-horizontal {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-step-label {
  font-size: 14px;
  font-weight: 400;
}
.mat-step-sub-label-error {
  font-weight: normal;
}
.mat-step-label-error {
  font-size: 14px;
}
.mat-step-label-selected {
  font-size: 14px;
  font-weight: 500;
}
.mat-tab-group {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-tab-label, .mat-tab-link {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-toolbar,
.mat-toolbar h1,
.mat-toolbar h2,
.mat-toolbar mat-card.base-card mat-card-header,
mat-card.base-card .mat-toolbar mat-card-header,
.mat-toolbar mat-card.admin-event mat-card-header,
mat-card.admin-event .mat-toolbar mat-card-header,
.mat-toolbar h3,
.mat-toolbar .section .section-title,
.section .mat-toolbar .section-title,
.mat-toolbar .card-title,
.mat-toolbar h4,
.mat-toolbar .card-subtitle,
.mat-toolbar h5,
.mat-toolbar .card-content,
.mat-toolbar mat-card.event a .warning-public-at,
mat-card.event a .mat-toolbar .warning-public-at,
.mat-toolbar h6 {
  font: 500 20px/32px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
  margin: 0;
}
.mat-tooltip {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 10px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.mat-tooltip-handset {
  font-size: 14px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.mat-list-item {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-list-option {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-list-base .mat-list-item {
  font-size: 16px;
}
.mat-list-base .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-list-option {
  font-size: 16px;
}
.mat-list-base .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-subheader {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
  font-weight: 500;
}
.mat-list-base[dense] .mat-list-item {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-subheader {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 12px;
  font-weight: 500;
}
.mat-option {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 16px;
}
.mat-optgroup-label {
  font: 500 14px/24px Roboto, "Helvetica Neue", sans-serif;
  letter-spacing: normal;
}
.mat-simple-snackbar {
  font-family: Roboto, "Helvetica Neue", sans-serif;
  font-size: 14px;
}
.mat-simple-snackbar-action {
  line-height: 1;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
}
.mat-tree {
  font-family: Roboto, "Helvetica Neue", sans-serif;
}
.mat-tree-node,
.mat-nested-tree-node {
  font-weight: 400;
  font-size: 14px;
}
.mat-ripple {
  overflow: hidden;
  position: relative;
}
.mat-ripple:not(:empty) {
  transform: translateZ(0);
}
.mat-ripple.mat-ripple-unbounded {
  overflow: visible;
}
.mat-ripple-element {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);
  transform: scale(0);
}
.cdk-high-contrast-active .mat-ripple-element {
  display: none;
}
.cdk-visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
}
.cdk-overlay-container, .cdk-global-overlay-wrapper {
  pointer-events: none;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}
.cdk-overlay-container {
  position: fixed;
  z-index: 1000;
}
.cdk-overlay-container:empty {
  display: none;
}
.cdk-global-overlay-wrapper {
  display: flex;
  position: absolute;
  z-index: 1000;
}
.cdk-overlay-pane {
  position: absolute;
  pointer-events: auto;
  box-sizing: border-box;
  z-index: 1000;
  display: flex;
  max-width: 100%;
  max-height: 100%;
}
.cdk-overlay-backdrop {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
  transition: opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);
  opacity: 0;
}
.cdk-overlay-backdrop.cdk-overlay-backdrop-showing {
  opacity: 1;
}
.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0.6;
}
.cdk-overlay-dark-backdrop {
  background: rgba(0, 0, 0, 0.32);
}
.cdk-overlay-transparent-backdrop, .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing {
  opacity: 0;
}
.cdk-overlay-connected-position-bounding-box {
  position: absolute;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  min-width: 1px;
  min-height: 1px;
}
.cdk-global-scrollblock {
  position: fixed;
  width: 100%;
  overflow-y: scroll;
}
@-webkit-keyframes cdk-text-field-autofill-start {
  /*!*/
}
@keyframes cdk-text-field-autofill-start {
  /*!*/
}
@-webkit-keyframes cdk-text-field-autofill-end {
  /*!*/
}
@keyframes cdk-text-field-autofill-end {
  /*!*/
}
.cdk-text-field-autofill-monitored:-webkit-autofill {
  -webkit-animation: cdk-text-field-autofill-start 0s 1ms;
          animation: cdk-text-field-autofill-start 0s 1ms;
}
.cdk-text-field-autofill-monitored:not(:-webkit-autofill) {
  -webkit-animation: cdk-text-field-autofill-end 0s 1ms;
          animation: cdk-text-field-autofill-end 0s 1ms;
}
textarea.cdk-textarea-autosize {
  resize: none;
}
textarea.cdk-textarea-autosize-measuring {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: auto !important;
  overflow: hidden !important;
}
textarea.cdk-textarea-autosize-measuring-firefox {
  padding: 2px 0 !important;
  box-sizing: content-box !important;
  height: 0 !important;
}
.mat-focus-indicator {
  position: relative;
}
.mat-mdc-focus-indicator {
  position: relative;
}
/* For use in src/lib/core/theming/_palette.scss */
.light-theme .mat-ripple-element {
  background-color: rgba(0, 0, 0, 0.1);
}
.light-theme .mat-option {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-option:hover:not(.mat-option-disabled), .light-theme .mat-option:focus:not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-option.mat-active {
  background: rgba(0, 0, 0, 0.04);
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-option.mat-option-disabled {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #1e40af;
}
.light-theme .mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #1e40af;
}
.light-theme .mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #e91414;
}
.light-theme .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-optgroup-disabled .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-pseudo-checkbox {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-pseudo-checkbox::after {
  color: #fafafa;
}
.light-theme .mat-pseudo-checkbox-disabled {
  color: #b0b0b0;
}
.light-theme .mat-primary .mat-pseudo-checkbox-checked,
.light-theme .mat-primary .mat-pseudo-checkbox-indeterminate {
  background: #1e40af;
}
.light-theme .mat-pseudo-checkbox-checked,
.light-theme .mat-pseudo-checkbox-indeterminate,
.light-theme .mat-accent .mat-pseudo-checkbox-checked,
.light-theme .mat-accent .mat-pseudo-checkbox-indeterminate {
  background: #1e40af;
}
.light-theme .mat-warn .mat-pseudo-checkbox-checked,
.light-theme .mat-warn .mat-pseudo-checkbox-indeterminate {
  background: #e91414;
}
.light-theme .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,
.light-theme .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {
  background: #b0b0b0;
}
.light-theme .mat-app-background, .light-theme.mat-app-background {
  background-color: #fafafa;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-elevation-z0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z4 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-elevation-z24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}
.mat-theme-loaded-marker {
  display: none;
}
.light-theme .mat-autocomplete-panel {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-autocomplete-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {
  background: white;
}
.light-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-badge-content {
  color: white;
  background: #1e40af;
}
.cdk-high-contrast-active .light-theme .mat-badge-content {
  outline: solid 1px;
  border-radius: 0;
}
.light-theme .mat-badge-accent .mat-badge-content {
  background: #1e40af;
  color: white;
}
.light-theme .mat-badge-warn .mat-badge-content {
  color: white;
  background: #e91414;
}
.light-theme .mat-badge {
  position: relative;
}
.light-theme .mat-badge-hidden .mat-badge-content {
  display: none;
}
.light-theme .mat-badge-disabled .mat-badge-content {
  background: #b9b9b9;
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-badge-content {
  position: absolute;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.6);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}
.light-theme .ng-animate-disabled .mat-badge-content,
.light-theme .mat-badge-content._mat-animation-noopable {
  transition: none;
}
.light-theme .mat-badge-content.mat-badge-active {
  transform: none;
}
.light-theme .mat-badge-small .mat-badge-content {
  width: 16px;
  height: 16px;
  line-height: 16px;
}
.light-theme .mat-badge-small.mat-badge-above .mat-badge-content {
  top: -8px;
}
.light-theme .mat-badge-small.mat-badge-below .mat-badge-content {
  bottom: -8px;
}
.light-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: -16px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: auto;
  right: -16px;
}
.light-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: -16px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: auto;
  left: -16px;
}
.light-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -8px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -8px;
}
.light-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -8px;
}
[dir=rtl] .light-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -8px;
}
.light-theme .mat-badge-medium .mat-badge-content {
  width: 22px;
  height: 22px;
  line-height: 22px;
}
.light-theme .mat-badge-medium.mat-badge-above .mat-badge-content {
  top: -11px;
}
.light-theme .mat-badge-medium.mat-badge-below .mat-badge-content {
  bottom: -11px;
}
.light-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: -22px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: auto;
  right: -22px;
}
.light-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: -22px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: auto;
  left: -22px;
}
.light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -11px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -11px;
}
.light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -11px;
}
[dir=rtl] .light-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -11px;
}
.light-theme .mat-badge-large .mat-badge-content {
  width: 28px;
  height: 28px;
  line-height: 28px;
}
.light-theme .mat-badge-large.mat-badge-above .mat-badge-content {
  top: -14px;
}
.light-theme .mat-badge-large.mat-badge-below .mat-badge-content {
  bottom: -14px;
}
.light-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: -28px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: auto;
  right: -28px;
}
.light-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: -28px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: auto;
  left: -28px;
}
.light-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -14px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -14px;
}
.light-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -14px;
}
[dir=rtl] .light-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -14px;
}
.light-theme .mat-bottom-sheet-container {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-button, .light-theme .mat-icon-button, .light-theme .mat-stroked-button {
  color: inherit;
  background: transparent;
}
.light-theme .mat-button.mat-primary, .light-theme .mat-icon-button.mat-primary, .light-theme .mat-stroked-button.mat-primary {
  color: #1e40af;
}
.light-theme .mat-button.mat-accent, .light-theme .mat-icon-button.mat-accent, .light-theme .mat-stroked-button.mat-accent {
  color: #1e40af;
}
.light-theme .mat-button.mat-warn, .light-theme .mat-icon-button.mat-warn, .light-theme .mat-stroked-button.mat-warn {
  color: #e91414;
}
.light-theme .mat-button.mat-primary.mat-button-disabled, .light-theme .mat-button.mat-accent.mat-button-disabled, .light-theme .mat-button.mat-warn.mat-button-disabled, .light-theme .mat-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-icon-button.mat-primary.mat-button-disabled, .light-theme .mat-icon-button.mat-accent.mat-button-disabled, .light-theme .mat-icon-button.mat-warn.mat-button-disabled, .light-theme .mat-icon-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-stroked-button.mat-primary.mat-button-disabled, .light-theme .mat-stroked-button.mat-accent.mat-button-disabled, .light-theme .mat-stroked-button.mat-warn.mat-button-disabled, .light-theme .mat-stroked-button.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-button.mat-primary .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-primary .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-primary .mat-button-focus-overlay {
  background-color: #1e40af;
}
.light-theme .mat-button.mat-accent .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-accent .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-accent .mat-button-focus-overlay {
  background-color: #1e40af;
}
.light-theme .mat-button.mat-warn .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-warn .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-warn .mat-button-focus-overlay {
  background-color: #e91414;
}
.light-theme .mat-button.mat-button-disabled .mat-button-focus-overlay, .light-theme .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .light-theme .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {
  background-color: transparent;
}
.light-theme .mat-button .mat-ripple-element, .light-theme .mat-icon-button .mat-ripple-element, .light-theme .mat-stroked-button .mat-ripple-element {
  opacity: 0.1;
  background-color: currentColor;
}
.light-theme .mat-button-focus-overlay {
  background: black;
}
.light-theme .mat-stroked-button:not(.mat-button-disabled) {
  border-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-flat-button, .light-theme .mat-raised-button, .light-theme .mat-fab, .light-theme .mat-mini-fab {
  color: rgba(0, 0, 0, 0.87);
  background-color: white;
}
.light-theme .mat-flat-button.mat-primary, .light-theme .mat-raised-button.mat-primary, .light-theme .mat-fab.mat-primary, .light-theme .mat-mini-fab.mat-primary {
  color: white;
}
.light-theme .mat-flat-button.mat-accent, .light-theme .mat-raised-button.mat-accent, .light-theme .mat-fab.mat-accent, .light-theme .mat-mini-fab.mat-accent {
  color: white;
}
.light-theme .mat-flat-button.mat-warn, .light-theme .mat-raised-button.mat-warn, .light-theme .mat-fab.mat-warn, .light-theme .mat-mini-fab.mat-warn {
  color: white;
}
.light-theme .mat-flat-button.mat-primary.mat-button-disabled, .light-theme .mat-flat-button.mat-accent.mat-button-disabled, .light-theme .mat-flat-button.mat-warn.mat-button-disabled, .light-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-raised-button.mat-primary.mat-button-disabled, .light-theme .mat-raised-button.mat-accent.mat-button-disabled, .light-theme .mat-raised-button.mat-warn.mat-button-disabled, .light-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-fab.mat-primary.mat-button-disabled, .light-theme .mat-fab.mat-accent.mat-button-disabled, .light-theme .mat-fab.mat-warn.mat-button-disabled, .light-theme .mat-fab.mat-button-disabled.mat-button-disabled, .light-theme .mat-mini-fab.mat-primary.mat-button-disabled, .light-theme .mat-mini-fab.mat-accent.mat-button-disabled, .light-theme .mat-mini-fab.mat-warn.mat-button-disabled, .light-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-flat-button.mat-primary, .light-theme .mat-raised-button.mat-primary, .light-theme .mat-fab.mat-primary, .light-theme .mat-mini-fab.mat-primary {
  background-color: #1e40af;
}
.light-theme .mat-flat-button.mat-accent, .light-theme .mat-raised-button.mat-accent, .light-theme .mat-fab.mat-accent, .light-theme .mat-mini-fab.mat-accent {
  background-color: #1e40af;
}
.light-theme .mat-flat-button.mat-warn, .light-theme .mat-raised-button.mat-warn, .light-theme .mat-fab.mat-warn, .light-theme .mat-mini-fab.mat-warn {
  background-color: #e91414;
}
.light-theme .mat-flat-button.mat-primary.mat-button-disabled, .light-theme .mat-flat-button.mat-accent.mat-button-disabled, .light-theme .mat-flat-button.mat-warn.mat-button-disabled, .light-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-raised-button.mat-primary.mat-button-disabled, .light-theme .mat-raised-button.mat-accent.mat-button-disabled, .light-theme .mat-raised-button.mat-warn.mat-button-disabled, .light-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .light-theme .mat-fab.mat-primary.mat-button-disabled, .light-theme .mat-fab.mat-accent.mat-button-disabled, .light-theme .mat-fab.mat-warn.mat-button-disabled, .light-theme .mat-fab.mat-button-disabled.mat-button-disabled, .light-theme .mat-mini-fab.mat-primary.mat-button-disabled, .light-theme .mat-mini-fab.mat-accent.mat-button-disabled, .light-theme .mat-mini-fab.mat-warn.mat-button-disabled, .light-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  background-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-flat-button.mat-primary .mat-ripple-element, .light-theme .mat-raised-button.mat-primary .mat-ripple-element, .light-theme .mat-fab.mat-primary .mat-ripple-element, .light-theme .mat-mini-fab.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-flat-button.mat-accent .mat-ripple-element, .light-theme .mat-raised-button.mat-accent .mat-ripple-element, .light-theme .mat-fab.mat-accent .mat-ripple-element, .light-theme .mat-mini-fab.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-flat-button.mat-warn .mat-ripple-element, .light-theme .mat-raised-button.mat-warn .mat-ripple-element, .light-theme .mat-fab.mat-warn .mat-ripple-element, .light-theme .mat-mini-fab.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-stroked-button:not([class*=mat-elevation-z]), .light-theme .mat-flat-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-raised-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-fab:not([class*=mat-elevation-z]), .light-theme .mat-mini-fab:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .light-theme .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .light-theme .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-standalone,
.light-theme .mat-button-toggle-group {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.light-theme .mat-button-toggle-group-appearance-standard {
  box-shadow: none;
}
.light-theme .mat-button-toggle {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-button-toggle .mat-button-toggle-focus-overlay {
  background-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-appearance-standard {
  color: rgba(0, 0, 0, 0.87);
  background: white;
}
.light-theme .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
  background-color: black;
}
.light-theme .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: none;
  border-top: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-button-toggle-checked {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-button-toggle-checked.mat-button-toggle-appearance-standard {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-button-toggle-disabled {
  color: rgba(0, 0, 0, 0.26);
  background-color: #eeeeee;
}
.light-theme .mat-button-toggle-disabled.mat-button-toggle-appearance-standard {
  background: white;
}
.light-theme .mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #bdbdbd;
}
.light-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.light-theme .mat-button-toggle-group-appearance-standard {
  border: solid 1px rgba(0, 0, 0, 0.12);
}
.mat-button-toggle-appearance-standard .mat-button-toggle-label-content {
  line-height: 48px;
}
.light-theme .mat-card {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-card:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-card.mat-card-flat:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-card-subtitle {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-checkbox-frame {
  border-color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-checkbox-checkmark {
  fill: #fafafa;
}
.light-theme .mat-checkbox-checkmark-path {
  stroke: #fafafa !important;
}
.light-theme .mat-checkbox-mixedmark {
  background-color: #fafafa;
}
.light-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .light-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #1e40af;
}
.light-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .light-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #1e40af;
}
.light-theme .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .light-theme .mat-checkbox-checked.mat-warn .mat-checkbox-background {
  background-color: #e91414;
}
.light-theme .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .light-theme .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #b0b0b0;
}
.light-theme .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {
  border-color: #b0b0b0;
}
.light-theme .mat-checkbox-disabled .mat-checkbox-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-checkbox .mat-ripple-element {
  background-color: black;
}
.light-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.light-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {
  background: #1e40af;
}
.light-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.light-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: #1e40af;
}
.light-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,
.light-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {
  background: #e91414;
}
.light-theme .mat-chip.mat-standard-chip {
  background-color: #e0e0e0;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-chip.mat-standard-chip .mat-chip-remove {
  color: rgba(0, 0, 0, 0.87);
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {
  opacity: 0.54;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-disabled {
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip::after {
  background: black;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {
  background-color: #e91414;
  color: white;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.light-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .mat-table {
  background: white;
}
.light-theme .mat-table thead, .light-theme .mat-table tbody, .light-theme .mat-table tfoot,
.light-theme mat-header-row, .light-theme mat-row, .light-theme mat-footer-row,
.light-theme [mat-header-row], .light-theme [mat-row], .light-theme [mat-footer-row],
.light-theme .mat-table-sticky {
  background: inherit;
}
.light-theme mat-row, .light-theme mat-header-row, .light-theme mat-footer-row,
.light-theme th.mat-header-cell, .light-theme td.mat-cell, .light-theme td.mat-footer-cell {
  border-bottom-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-header-cell {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-cell, .light-theme .mat-footer-cell {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-calendar-arrow {
  border-top-color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-datepicker-toggle,
.light-theme .mat-datepicker-content .mat-calendar-next-button,
.light-theme .mat-datepicker-content .mat-calendar-previous-button {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-calendar-table-header {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-calendar-table-header-divider::after {
  background: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-calendar-body-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-calendar-body-cell-content,
.light-theme .mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.87);
  border-color: transparent;
}
.light-theme .mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-form-field-disabled .mat-date-range-input-separator {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-calendar-body-in-preview {
  color: rgba(0, 0, 0, 0.24);
}
.light-theme .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(0, 0, 0, 0.18);
}
.light-theme .mat-calendar-body-in-range::before {
  background: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-calendar-body-comparison-identical,
.light-theme .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.light-theme .mat-calendar-body-comparison-bridge-start::before,
.light-theme [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-calendar-body-comparison-bridge-end::before,
.light-theme [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.light-theme .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.light-theme .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.light-theme .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.light-theme .mat-calendar-body-selected {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(30, 64, 175, 0.4);
}
.light-theme .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.light-theme .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(30, 64, 175, 0.3);
}
.light-theme .mat-datepicker-content {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
  background-color: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {
  background: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,
.light-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,
.light-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(30, 64, 175, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-selected {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(30, 64, 175, 0.4);
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.light-theme .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(30, 64, 175, 0.3);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {
  background: rgba(233, 20, 20, 0.2);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,
.light-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,
.light-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-selected {
  background-color: #e91414;
  color: white;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(233, 20, 20, 0.4);
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.light-theme .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.light-theme .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(233, 20, 20, 0.3);
}
.light-theme .mat-datepicker-content-touch {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-datepicker-toggle-active {
  color: #1e40af;
}
.light-theme .mat-datepicker-toggle-active.mat-accent {
  color: #1e40af;
}
.light-theme .mat-datepicker-toggle-active.mat-warn {
  color: #e91414;
}
.light-theme .mat-date-range-input-inner[disabled] {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-dialog-container {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-divider {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-divider-vertical {
  border-right-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-expansion-panel {
  background: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-expansion-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-action-row {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .light-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .light-theme .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {
  background: rgba(0, 0, 0, 0.04);
}
@media (hover: none) {
  .light-theme .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {
    background: white;
  }
}
.light-theme .mat-expansion-panel-header-title {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-expansion-panel-header-description,
.light-theme .mat-expansion-indicator::after {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-expansion-panel-header[aria-disabled=true] {
  color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
.light-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
  color: inherit;
}
.mat-expansion-panel-header {
  height: 48px;
}
.mat-expansion-panel-header.mat-expanded {
  height: 64px;
}
.light-theme .mat-form-field-label {
  color: rgba(0, 0, 0, 0.6);
}
.light-theme .mat-hint {
  color: rgba(0, 0, 0, 0.6);
}
.light-theme .mat-form-field.mat-focused .mat-form-field-label {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-label.mat-accent {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-label.mat-warn {
  color: #e91414;
}
.light-theme .mat-focused .mat-form-field-required-marker {
  color: #1e40af;
}
.light-theme .mat-form-field-ripple {
  background-color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-form-field.mat-focused .mat-form-field-ripple {
  background-color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {
  background-color: #1e40af;
}
.light-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {
  background-color: #e91414;
}
.light-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {
  color: #1e40af;
}
.light-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {
  color: #1e40af;
}
.light-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {
  color: #e91414;
}
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label {
  color: #e91414;
}
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {
  color: #e91414;
}
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,
.light-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {
  background-color: #e91414;
}
.light-theme .mat-error {
  color: #e91414;
}
.light-theme .mat-form-field-appearance-legacy .mat-form-field-label {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-form-field-appearance-legacy .mat-hint {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-form-field-appearance-legacy .mat-form-field-underline {
  background-color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.light-theme .mat-form-field-appearance-standard .mat-form-field-underline {
  background-color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.42) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.light-theme .mat-form-field-appearance-fill .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
  background-color: rgba(0, 0, 0, 0.02);
}
.light-theme .mat-form-field-appearance-fill .mat-form-field-underline::before {
  background-color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {
  background-color: transparent;
}
.light-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-form-field-appearance-outline .mat-form-field-outline-thick {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #1e40af;
}
.light-theme .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {
  color: #1e40af;
}
.light-theme .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {
  color: #e91414;
}
.light-theme .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {
  color: #e91414;
}
.light-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {
  color: rgba(0, 0, 0, 0.06);
}
.light-theme .mat-icon.mat-primary {
  color: #1e40af;
}
.light-theme .mat-icon.mat-accent {
  color: #1e40af;
}
.light-theme .mat-icon.mat-warn {
  color: #e91414;
}
.light-theme .mat-form-field-type-mat-native-select .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-input-element:disabled,
.light-theme .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-input-element {
  caret-color: #1e40af;
}
.light-theme .mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element::placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element::-moz-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element::-webkit-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-form-field.mat-accent .mat-input-element {
  caret-color: #1e40af;
}
.light-theme .mat-form-field.mat-warn .mat-input-element,
.light-theme .mat-form-field-invalid .mat-input-element {
  caret-color: #e91414;
}
.light-theme .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {
  color: #e91414;
}
.light-theme .mat-list-base .mat-list-item {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-list-base .mat-list-option {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-list-base .mat-subheader {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-list-item-disabled {
  background-color: #eeeeee;
}
.light-theme .mat-list-option:hover, .light-theme .mat-list-option:focus,
.light-theme .mat-nav-list .mat-list-item:hover,
.light-theme .mat-nav-list .mat-list-item:focus,
.light-theme .mat-action-list .mat-list-item:hover,
.light-theme .mat-action-list .mat-list-item:focus {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-list-single-selected-option, .light-theme .mat-list-single-selected-option:hover, .light-theme .mat-list-single-selected-option:focus {
  background: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-menu-panel {
  background: white;
}
.light-theme .mat-menu-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-menu-item {
  background: transparent;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-menu-item[disabled], .light-theme .mat-menu-item[disabled]::after,
.light-theme .mat-menu-item[disabled] .mat-icon-no-color {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-menu-item .mat-icon-no-color,
.light-theme .mat-menu-item-submenu-trigger::after {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-menu-item:hover:not([disabled]),
.light-theme .mat-menu-item.cdk-program-focused:not([disabled]),
.light-theme .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .mat-menu-item-highlighted:not([disabled]) {
  background: rgba(0, 0, 0, 0.04);
}
.light-theme .mat-paginator {
  background: white;
}
.light-theme .mat-paginator,
.light-theme .mat-paginator-page-size .mat-select-trigger {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-paginator-decrement,
.light-theme .mat-paginator-increment {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
  border-right: 2px solid rgba(0, 0, 0, 0.54);
}
.light-theme .mat-paginator-first,
.light-theme .mat-paginator-last {
  border-top: 2px solid rgba(0, 0, 0, 0.54);
}
.light-theme .mat-icon-button[disabled] .mat-paginator-decrement,
.light-theme .mat-icon-button[disabled] .mat-paginator-increment,
.light-theme .mat-icon-button[disabled] .mat-paginator-first,
.light-theme .mat-icon-button[disabled] .mat-paginator-last {
  border-color: rgba(0, 0, 0, 0.38);
}
.mat-paginator-container {
  min-height: 56px;
}
.light-theme .mat-progress-bar-background {
  fill: #dbeafe;
}
.light-theme .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.light-theme .mat-progress-bar-fill::after {
  background-color: #1e40af;
}
.light-theme .mat-progress-bar.mat-accent .mat-progress-bar-background {
  fill: #dbeafe;
}
.light-theme .mat-progress-bar.mat-accent .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.light-theme .mat-progress-bar.mat-accent .mat-progress-bar-fill::after {
  background-color: #1e40af;
}
.light-theme .mat-progress-bar.mat-warn .mat-progress-bar-background {
  fill: #f0b9b9;
}
.light-theme .mat-progress-bar.mat-warn .mat-progress-bar-buffer {
  background-color: #f0b9b9;
}
.light-theme .mat-progress-bar.mat-warn .mat-progress-bar-fill::after {
  background-color: #e91414;
}
.light-theme .mat-progress-spinner circle, .light-theme .mat-spinner circle {
  stroke: #1e40af;
}
.light-theme .mat-progress-spinner.mat-accent circle, .light-theme .mat-spinner.mat-accent circle {
  stroke: #1e40af;
}
.light-theme .mat-progress-spinner.mat-warn circle, .light-theme .mat-spinner.mat-warn circle {
  stroke: #e91414;
}
.light-theme .mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {
  border-color: #1e40af;
}
.light-theme .mat-radio-button.mat-primary .mat-radio-inner-circle,
.light-theme .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .light-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple, .light-theme .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {
  background-color: #1e40af;
}
.light-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
  border-color: #1e40af;
}
.light-theme .mat-radio-button.mat-accent .mat-radio-inner-circle,
.light-theme .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .light-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple, .light-theme .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {
  background-color: #1e40af;
}
.light-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {
  border-color: #e91414;
}
.light-theme .mat-radio-button.mat-warn .mat-radio-inner-circle,
.light-theme .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .light-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .light-theme .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {
  background-color: #e91414;
}
.light-theme .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {
  background-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-radio-button.mat-radio-disabled .mat-radio-label-content {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-radio-button .mat-ripple-element {
  background-color: black;
}
.light-theme .mat-select-value {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-select-placeholder {
  color: rgba(0, 0, 0, 0.42);
}
.light-theme .mat-select-disabled .mat-select-value {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-select-arrow {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-select-panel {
  background: white;
}
.light-theme .mat-select-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  background: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-form-field.mat-focused.mat-primary .mat-select-arrow {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused.mat-accent .mat-select-arrow {
  color: #1e40af;
}
.light-theme .mat-form-field.mat-focused.mat-warn .mat-select-arrow {
  color: #e91414;
}
.light-theme .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {
  color: #e91414;
}
.light-theme .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-drawer-container {
  background-color: #fafafa;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-drawer {
  background-color: white;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-drawer.mat-drawer-push {
  background-color: white;
}
.light-theme .mat-drawer:not(.mat-drawer-side) {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-drawer-side {
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-drawer-side.mat-drawer-end {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
  border-right: none;
}
.light-theme [dir=rtl] .mat-drawer-side {
  border-left: solid 1px rgba(0, 0, 0, 0.12);
  border-right: none;
}
.light-theme [dir=rtl] .mat-drawer-side.mat-drawer-end {
  border-left: none;
  border-right: solid 1px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-drawer-backdrop.mat-drawer-shown {
  background-color: rgba(0, 0, 0, 0.6);
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(30, 64, 175, 0.54);
}
.light-theme .mat-slide-toggle.mat-checked .mat-ripple-element {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(30, 64, 175, 0.54);
}
.light-theme .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {
  background-color: #1e40af;
}
.light-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {
  background-color: #e91414;
}
.light-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(233, 20, 20, 0.54);
}
.light-theme .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {
  background-color: #e91414;
}
.light-theme .mat-slide-toggle:not(.mat-checked) .mat-ripple-element {
  background-color: black;
}
.light-theme .mat-slide-toggle-thumb {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  background-color: #fafafa;
}
.light-theme .mat-slide-toggle-bar {
  background-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-primary .mat-slider-track-fill,
.light-theme .mat-primary .mat-slider-thumb,
.light-theme .mat-primary .mat-slider-thumb-label {
  background-color: #1e40af;
}
.light-theme .mat-primary .mat-slider-thumb-label-text {
  color: white;
}
.light-theme .mat-primary .mat-slider-focus-ring {
  background-color: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-accent .mat-slider-track-fill,
.light-theme .mat-accent .mat-slider-thumb,
.light-theme .mat-accent .mat-slider-thumb-label {
  background-color: #1e40af;
}
.light-theme .mat-accent .mat-slider-thumb-label-text {
  color: white;
}
.light-theme .mat-accent .mat-slider-focus-ring {
  background-color: rgba(30, 64, 175, 0.2);
}
.light-theme .mat-warn .mat-slider-track-fill,
.light-theme .mat-warn .mat-slider-thumb,
.light-theme .mat-warn .mat-slider-thumb-label {
  background-color: #e91414;
}
.light-theme .mat-warn .mat-slider-thumb-label-text {
  color: white;
}
.light-theme .mat-warn .mat-slider-focus-ring {
  background-color: rgba(233, 20, 20, 0.2);
}
.light-theme .mat-slider:hover .mat-slider-track-background,
.light-theme .cdk-focused .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-slider-disabled .mat-slider-track-background,
.light-theme .mat-slider-disabled .mat-slider-track-fill,
.light-theme .mat-slider-disabled .mat-slider-thumb {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-disabled:hover .mat-slider-track-background {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-min-value .mat-slider-focus-ring {
  background-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {
  background-color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,
.light-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {
  background-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
  background-color: transparent;
}
.light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .light-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {
  border-color: rgba(0, 0, 0, 0.26);
}
.light-theme .mat-slider-has-ticks .mat-slider-wrapper::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.light-theme .mat-slider-horizontal .mat-slider-ticks {
  background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
}
.light-theme .mat-slider-vertical .mat-slider-ticks {
  background-image: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7) 2px, transparent 0, transparent);
}
.light-theme .mat-step-header.cdk-keyboard-focused, .light-theme .mat-step-header.cdk-program-focused, .light-theme .mat-step-header:hover {
  background-color: rgba(0, 0, 0, 0.04);
}
@media (hover: none) {
  .light-theme .mat-step-header:hover {
    background: none;
  }
}
.light-theme .mat-step-header .mat-step-label,
.light-theme .mat-step-header .mat-step-optional {
  color: rgba(0, 0, 0, 0.54);
}
.light-theme .mat-step-header .mat-step-icon {
  background-color: rgba(0, 0, 0, 0.54);
  color: white;
}
.light-theme .mat-step-header .mat-step-icon-selected,
.light-theme .mat-step-header .mat-step-icon-state-done,
.light-theme .mat-step-header .mat-step-icon-state-edit {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-step-header.mat-accent .mat-step-icon {
  color: white;
}
.light-theme .mat-step-header.mat-accent .mat-step-icon-selected,
.light-theme .mat-step-header.mat-accent .mat-step-icon-state-done,
.light-theme .mat-step-header.mat-accent .mat-step-icon-state-edit {
  background-color: #1e40af;
  color: white;
}
.light-theme .mat-step-header.mat-warn .mat-step-icon {
  color: white;
}
.light-theme .mat-step-header.mat-warn .mat-step-icon-selected,
.light-theme .mat-step-header.mat-warn .mat-step-icon-state-done,
.light-theme .mat-step-header.mat-warn .mat-step-icon-state-edit {
  background-color: #e91414;
  color: white;
}
.light-theme .mat-step-header .mat-step-icon-state-error {
  background-color: transparent;
  color: #e91414;
}
.light-theme .mat-step-header .mat-step-label.mat-step-label-active {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-step-header .mat-step-label.mat-step-label-error {
  color: #e91414;
}
.light-theme .mat-stepper-horizontal, .light-theme .mat-stepper-vertical {
  background-color: white;
}
.light-theme .mat-stepper-vertical-line::before {
  border-left-color: rgba(0, 0, 0, 0.12);
}
.light-theme .mat-horizontal-stepper-header::before,
.light-theme .mat-horizontal-stepper-header::after,
.light-theme .mat-stepper-horizontal-line {
  border-top-color: rgba(0, 0, 0, 0.12);
}
.mat-horizontal-stepper-header {
  height: 72px;
}
.mat-stepper-label-position-bottom .mat-horizontal-stepper-header,
.mat-vertical-stepper-header {
  padding: 24px 24px;
}
.mat-stepper-vertical-line::before {
  top: -16px;
  bottom: -16px;
}
.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after, .mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before {
  top: 36px;
}
.mat-stepper-label-position-bottom .mat-stepper-horizontal-line {
  top: 36px;
}
.light-theme .mat-sort-header-arrow {
  color: #757575;
}
.light-theme .mat-tab-nav-bar,
.light-theme .mat-tab-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}
.light-theme .mat-tab-group-inverted-header .mat-tab-nav-bar,
.light-theme .mat-tab-group-inverted-header .mat-tab-header {
  border-top: 1px solid rgba(0, 0, 0, 0.12);
  border-bottom: none;
}
.light-theme .mat-tab-label, .light-theme .mat-tab-link {
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-link.mat-tab-disabled {
  color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-tab-header-pagination-chevron {
  border-color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(0, 0, 0, 0.38);
}
.light-theme .mat-tab-group[class*=mat-background-] .mat-tab-header,
.light-theme .mat-tab-nav-bar[class*=mat-background-] {
  border-bottom: none;
  border-top: none;
}
.light-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-primary .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-primary .mat-ink-bar {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.light-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-accent .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-accent .mat-ink-bar {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.light-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.light-theme .mat-tab-group.mat-warn .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-warn .mat-ink-bar {
  background-color: #e91414;
}
.light-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .light-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.light-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-focus-indicator::before, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-ripple-element, .light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.light-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination {
  background-color: #1e40af;
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-focus-indicator::before, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-ripple-element, .light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.light-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.light-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination {
  background-color: #e91414;
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-focus-indicator::before, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-ripple-element, .light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-ripple-element,
.light-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.light-theme .mat-toolbar {
  background: whitesmoke;
  color: rgba(0, 0, 0, 0.87);
}
.light-theme .mat-toolbar.mat-primary {
  background: #1e40af;
  color: white;
}
.light-theme .mat-toolbar.mat-accent {
  background: #1e40af;
  color: white;
}
.light-theme .mat-toolbar.mat-warn {
  background: #e91414;
  color: white;
}
.light-theme .mat-toolbar .mat-form-field-underline,
.light-theme .mat-toolbar .mat-form-field-ripple,
.light-theme .mat-toolbar .mat-focused .mat-form-field-ripple {
  background-color: currentColor;
}
.light-theme .mat-toolbar .mat-form-field-label,
.light-theme .mat-toolbar .mat-focused .mat-form-field-label,
.light-theme .mat-toolbar .mat-select-value,
.light-theme .mat-toolbar .mat-select-arrow,
.light-theme .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {
  color: inherit;
}
.light-theme .mat-toolbar .mat-input-element {
  caret-color: currentColor;
}
.mat-toolbar-multiple-rows {
  min-height: 64px;
}
.mat-toolbar-row, .mat-toolbar-single-row {
  height: 64px;
}
@media (max-width: 599px) {
  .mat-toolbar-multiple-rows {
    min-height: 56px;
  }

  .mat-toolbar-row, .mat-toolbar-single-row {
    height: 56px;
  }
}
.light-theme .mat-tooltip {
  background: rgba(97, 97, 97, 0.9);
}
.light-theme .mat-tree {
  background: white;
}
.light-theme .mat-tree-node,
.light-theme .mat-nested-tree-node {
  color: rgba(0, 0, 0, 0.87);
}
.mat-tree-node {
  min-height: 48px;
}
.light-theme .mat-snack-bar-container {
  color: rgba(255, 255, 255, 0.7);
  background: #323232;
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.light-theme .mat-simple-snackbar-action {
  color: #1e40af;
}
.dark-theme .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-option {
  color: white;
}
.dark-theme .mat-option:hover:not(.mat-option-disabled), .dark-theme .mat-option:focus:not(.mat-option-disabled) {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled) {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-option.mat-active {
  background: rgba(255, 255, 255, 0.04);
  color: white;
}
.dark-theme .mat-option.mat-option-disabled {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-primary .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #60a5fa;
}
.dark-theme .mat-accent .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #60a5fa;
}
.dark-theme .mat-warn .mat-option.mat-selected:not(.mat-option-disabled) {
  color: #e91414;
}
.dark-theme .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-optgroup-disabled .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-pseudo-checkbox {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-pseudo-checkbox::after {
  color: #303030;
}
.dark-theme .mat-pseudo-checkbox-disabled {
  color: #686868;
}
.dark-theme .mat-primary .mat-pseudo-checkbox-checked,
.dark-theme .mat-primary .mat-pseudo-checkbox-indeterminate {
  background: #60a5fa;
}
.dark-theme .mat-pseudo-checkbox-checked,
.dark-theme .mat-pseudo-checkbox-indeterminate,
.dark-theme .mat-accent .mat-pseudo-checkbox-checked,
.dark-theme .mat-accent .mat-pseudo-checkbox-indeterminate {
  background: #60a5fa;
}
.dark-theme .mat-warn .mat-pseudo-checkbox-checked,
.dark-theme .mat-warn .mat-pseudo-checkbox-indeterminate {
  background: #e91414;
}
.dark-theme .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,
.dark-theme .mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {
  background: #686868;
}
.dark-theme .mat-app-background, .dark-theme.mat-app-background {
  background-color: #303030;
  color: white;
}
.dark-theme .mat-elevation-z0 {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z1 {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z2 {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z3 {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z4 {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z5 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 5px 8px 0px rgba(0, 0, 0, 0.14), 0px 1px 14px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z6 {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z7 {
  box-shadow: 0px 4px 5px -2px rgba(0, 0, 0, 0.2), 0px 7px 10px 1px rgba(0, 0, 0, 0.14), 0px 2px 16px 1px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z8 {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z9 {
  box-shadow: 0px 5px 6px -3px rgba(0, 0, 0, 0.2), 0px 9px 12px 1px rgba(0, 0, 0, 0.14), 0px 3px 16px 2px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z10 {
  box-shadow: 0px 6px 6px -3px rgba(0, 0, 0, 0.2), 0px 10px 14px 1px rgba(0, 0, 0, 0.14), 0px 4px 18px 3px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z11 {
  box-shadow: 0px 6px 7px -4px rgba(0, 0, 0, 0.2), 0px 11px 15px 1px rgba(0, 0, 0, 0.14), 0px 4px 20px 3px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z12 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z13 {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 13px 19px 2px rgba(0, 0, 0, 0.14), 0px 5px 24px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z14 {
  box-shadow: 0px 7px 9px -4px rgba(0, 0, 0, 0.2), 0px 14px 21px 2px rgba(0, 0, 0, 0.14), 0px 5px 26px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z15 {
  box-shadow: 0px 8px 9px -5px rgba(0, 0, 0, 0.2), 0px 15px 22px 2px rgba(0, 0, 0, 0.14), 0px 6px 28px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z16 {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z17 {
  box-shadow: 0px 8px 11px -5px rgba(0, 0, 0, 0.2), 0px 17px 26px 2px rgba(0, 0, 0, 0.14), 0px 6px 32px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z18 {
  box-shadow: 0px 9px 11px -5px rgba(0, 0, 0, 0.2), 0px 18px 28px 2px rgba(0, 0, 0, 0.14), 0px 7px 34px 6px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z19 {
  box-shadow: 0px 9px 12px -6px rgba(0, 0, 0, 0.2), 0px 19px 29px 2px rgba(0, 0, 0, 0.14), 0px 7px 36px 6px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z20 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 20px 31px 3px rgba(0, 0, 0, 0.14), 0px 8px 38px 7px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z21 {
  box-shadow: 0px 10px 13px -6px rgba(0, 0, 0, 0.2), 0px 21px 33px 3px rgba(0, 0, 0, 0.14), 0px 8px 40px 7px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z22 {
  box-shadow: 0px 10px 14px -6px rgba(0, 0, 0, 0.2), 0px 22px 35px 3px rgba(0, 0, 0, 0.14), 0px 8px 42px 7px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z23 {
  box-shadow: 0px 11px 14px -7px rgba(0, 0, 0, 0.2), 0px 23px 36px 3px rgba(0, 0, 0, 0.14), 0px 9px 44px 8px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-elevation-z24 {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
}
.mat-theme-loaded-marker {
  display: none;
}
.dark-theme .mat-autocomplete-panel {
  background: #424242;
  color: white;
}
.dark-theme .mat-autocomplete-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover) {
  background: #424242;
}
.dark-theme .mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled) {
  color: white;
}
.dark-theme .mat-badge-content {
  color: white;
  background: #60a5fa;
}
.cdk-high-contrast-active .dark-theme .mat-badge-content {
  outline: solid 1px;
  border-radius: 0;
}
.dark-theme .mat-badge-accent .mat-badge-content {
  background: #60a5fa;
  color: white;
}
.dark-theme .mat-badge-warn .mat-badge-content {
  color: white;
  background: #e91414;
}
.dark-theme .mat-badge {
  position: relative;
}
.dark-theme .mat-badge-hidden .mat-badge-content {
  display: none;
}
.dark-theme .mat-badge-disabled .mat-badge-content {
  background: #6e6e6e;
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-badge-content {
  position: absolute;
  text-align: center;
  display: inline-block;
  border-radius: 50%;
  transition: transform 200ms ease-in-out;
  transform: scale(0.6);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  pointer-events: none;
}
.dark-theme .ng-animate-disabled .mat-badge-content,
.dark-theme .mat-badge-content._mat-animation-noopable {
  transition: none;
}
.dark-theme .mat-badge-content.mat-badge-active {
  transform: none;
}
.dark-theme .mat-badge-small .mat-badge-content {
  width: 16px;
  height: 16px;
  line-height: 16px;
}
.dark-theme .mat-badge-small.mat-badge-above .mat-badge-content {
  top: -8px;
}
.dark-theme .mat-badge-small.mat-badge-below .mat-badge-content {
  bottom: -8px;
}
.dark-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: -16px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-before .mat-badge-content {
  left: auto;
  right: -16px;
}
.dark-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: -16px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-after .mat-badge-content {
  right: auto;
  left: -16px;
}
.dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -8px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -8px;
}
.dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -8px;
}
[dir=rtl] .dark-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -8px;
}
.dark-theme .mat-badge-medium .mat-badge-content {
  width: 22px;
  height: 22px;
  line-height: 22px;
}
.dark-theme .mat-badge-medium.mat-badge-above .mat-badge-content {
  top: -11px;
}
.dark-theme .mat-badge-medium.mat-badge-below .mat-badge-content {
  bottom: -11px;
}
.dark-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: -22px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-before .mat-badge-content {
  left: auto;
  right: -22px;
}
.dark-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: -22px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-after .mat-badge-content {
  right: auto;
  left: -22px;
}
.dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -11px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -11px;
}
.dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -11px;
}
[dir=rtl] .dark-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -11px;
}
.dark-theme .mat-badge-large .mat-badge-content {
  width: 28px;
  height: 28px;
  line-height: 28px;
}
.dark-theme .mat-badge-large.mat-badge-above .mat-badge-content {
  top: -14px;
}
.dark-theme .mat-badge-large.mat-badge-below .mat-badge-content {
  bottom: -14px;
}
.dark-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: -28px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-before .mat-badge-content {
  left: auto;
  right: -28px;
}
.dark-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: -28px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-after .mat-badge-content {
  right: auto;
  left: -28px;
}
.dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: -14px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content {
  left: auto;
  right: -14px;
}
.dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: -14px;
}
[dir=rtl] .dark-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content {
  right: auto;
  left: -14px;
}
.dark-theme .mat-bottom-sheet-container {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
  background: #424242;
  color: white;
}
.dark-theme .mat-button, .dark-theme .mat-icon-button, .dark-theme .mat-stroked-button {
  color: inherit;
  background: transparent;
}
.dark-theme .mat-button.mat-primary, .dark-theme .mat-icon-button.mat-primary, .dark-theme .mat-stroked-button.mat-primary {
  color: #60a5fa;
}
.dark-theme .mat-button.mat-accent, .dark-theme .mat-icon-button.mat-accent, .dark-theme .mat-stroked-button.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-button.mat-warn, .dark-theme .mat-icon-button.mat-warn, .dark-theme .mat-stroked-button.mat-warn {
  color: #e91414;
}
.dark-theme .mat-button.mat-primary.mat-button-disabled, .dark-theme .mat-button.mat-accent.mat-button-disabled, .dark-theme .mat-button.mat-warn.mat-button-disabled, .dark-theme .mat-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-icon-button.mat-primary.mat-button-disabled, .dark-theme .mat-icon-button.mat-accent.mat-button-disabled, .dark-theme .mat-icon-button.mat-warn.mat-button-disabled, .dark-theme .mat-icon-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-stroked-button.mat-primary.mat-button-disabled, .dark-theme .mat-stroked-button.mat-accent.mat-button-disabled, .dark-theme .mat-stroked-button.mat-warn.mat-button-disabled, .dark-theme .mat-stroked-button.mat-button-disabled.mat-button-disabled {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-button.mat-primary .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-primary .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-primary .mat-button-focus-overlay {
  background-color: #60a5fa;
}
.dark-theme .mat-button.mat-accent .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-accent .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-accent .mat-button-focus-overlay {
  background-color: #60a5fa;
}
.dark-theme .mat-button.mat-warn .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-warn .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-warn .mat-button-focus-overlay {
  background-color: #e91414;
}
.dark-theme .mat-button.mat-button-disabled .mat-button-focus-overlay, .dark-theme .mat-icon-button.mat-button-disabled .mat-button-focus-overlay, .dark-theme .mat-stroked-button.mat-button-disabled .mat-button-focus-overlay {
  background-color: transparent;
}
.dark-theme .mat-button .mat-ripple-element, .dark-theme .mat-icon-button .mat-ripple-element, .dark-theme .mat-stroked-button .mat-ripple-element {
  opacity: 0.1;
  background-color: currentColor;
}
.dark-theme .mat-button-focus-overlay {
  background: white;
}
.dark-theme .mat-stroked-button:not(.mat-button-disabled) {
  border-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-flat-button, .dark-theme .mat-raised-button, .dark-theme .mat-fab, .dark-theme .mat-mini-fab {
  color: white;
  background-color: #424242;
}
.dark-theme .mat-flat-button.mat-primary, .dark-theme .mat-raised-button.mat-primary, .dark-theme .mat-fab.mat-primary, .dark-theme .mat-mini-fab.mat-primary {
  color: white;
}
.dark-theme .mat-flat-button.mat-accent, .dark-theme .mat-raised-button.mat-accent, .dark-theme .mat-fab.mat-accent, .dark-theme .mat-mini-fab.mat-accent {
  color: white;
}
.dark-theme .mat-flat-button.mat-warn, .dark-theme .mat-raised-button.mat-warn, .dark-theme .mat-fab.mat-warn, .dark-theme .mat-mini-fab.mat-warn {
  color: white;
}
.dark-theme .mat-flat-button.mat-primary.mat-button-disabled, .dark-theme .mat-flat-button.mat-accent.mat-button-disabled, .dark-theme .mat-flat-button.mat-warn.mat-button-disabled, .dark-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-raised-button.mat-primary.mat-button-disabled, .dark-theme .mat-raised-button.mat-accent.mat-button-disabled, .dark-theme .mat-raised-button.mat-warn.mat-button-disabled, .dark-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-fab.mat-primary.mat-button-disabled, .dark-theme .mat-fab.mat-accent.mat-button-disabled, .dark-theme .mat-fab.mat-warn.mat-button-disabled, .dark-theme .mat-fab.mat-button-disabled.mat-button-disabled, .dark-theme .mat-mini-fab.mat-primary.mat-button-disabled, .dark-theme .mat-mini-fab.mat-accent.mat-button-disabled, .dark-theme .mat-mini-fab.mat-warn.mat-button-disabled, .dark-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-flat-button.mat-primary, .dark-theme .mat-raised-button.mat-primary, .dark-theme .mat-fab.mat-primary, .dark-theme .mat-mini-fab.mat-primary {
  background-color: #60a5fa;
}
.dark-theme .mat-flat-button.mat-accent, .dark-theme .mat-raised-button.mat-accent, .dark-theme .mat-fab.mat-accent, .dark-theme .mat-mini-fab.mat-accent {
  background-color: #60a5fa;
}
.dark-theme .mat-flat-button.mat-warn, .dark-theme .mat-raised-button.mat-warn, .dark-theme .mat-fab.mat-warn, .dark-theme .mat-mini-fab.mat-warn {
  background-color: #e91414;
}
.dark-theme .mat-flat-button.mat-primary.mat-button-disabled, .dark-theme .mat-flat-button.mat-accent.mat-button-disabled, .dark-theme .mat-flat-button.mat-warn.mat-button-disabled, .dark-theme .mat-flat-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-raised-button.mat-primary.mat-button-disabled, .dark-theme .mat-raised-button.mat-accent.mat-button-disabled, .dark-theme .mat-raised-button.mat-warn.mat-button-disabled, .dark-theme .mat-raised-button.mat-button-disabled.mat-button-disabled, .dark-theme .mat-fab.mat-primary.mat-button-disabled, .dark-theme .mat-fab.mat-accent.mat-button-disabled, .dark-theme .mat-fab.mat-warn.mat-button-disabled, .dark-theme .mat-fab.mat-button-disabled.mat-button-disabled, .dark-theme .mat-mini-fab.mat-primary.mat-button-disabled, .dark-theme .mat-mini-fab.mat-accent.mat-button-disabled, .dark-theme .mat-mini-fab.mat-warn.mat-button-disabled, .dark-theme .mat-mini-fab.mat-button-disabled.mat-button-disabled {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-flat-button.mat-primary .mat-ripple-element, .dark-theme .mat-raised-button.mat-primary .mat-ripple-element, .dark-theme .mat-fab.mat-primary .mat-ripple-element, .dark-theme .mat-mini-fab.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-flat-button.mat-accent .mat-ripple-element, .dark-theme .mat-raised-button.mat-accent .mat-ripple-element, .dark-theme .mat-fab.mat-accent .mat-ripple-element, .dark-theme .mat-mini-fab.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-flat-button.mat-warn .mat-ripple-element, .dark-theme .mat-raised-button.mat-warn .mat-ripple-element, .dark-theme .mat-fab.mat-warn .mat-ripple-element, .dark-theme .mat-mini-fab.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-stroked-button:not([class*=mat-elevation-z]), .dark-theme .mat-flat-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-raised-button:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-raised-button:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-raised-button.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-fab:not([class*=mat-elevation-z]), .dark-theme .mat-mini-fab:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]), .dark-theme .mat-mini-fab:not(.mat-button-disabled):active:not([class*=mat-elevation-z]) {
  box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-fab.mat-button-disabled:not([class*=mat-elevation-z]), .dark-theme .mat-mini-fab.mat-button-disabled:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-button-toggle-standalone,
.dark-theme .mat-button-toggle-group {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.dark-theme .mat-button-toggle-group-appearance-standard {
  box-shadow: none;
}
.dark-theme .mat-button-toggle {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-button-toggle .mat-button-toggle-focus-overlay {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-button-toggle-appearance-standard {
  color: white;
  background: #424242;
}
.dark-theme .mat-button-toggle-appearance-standard .mat-button-toggle-focus-overlay {
  background-color: white;
}
.dark-theme .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme [dir=rtl] .mat-button-toggle-group-appearance-standard .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-button-toggle-group-appearance-standard.mat-button-toggle-vertical .mat-button-toggle + .mat-button-toggle {
  border-left: none;
  border-right: none;
  border-top: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-button-toggle-checked {
  background-color: #212121;
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-button-toggle-checked.mat-button-toggle-appearance-standard {
  color: white;
}
.dark-theme .mat-button-toggle-disabled {
  color: rgba(255, 255, 255, 0.3);
  background-color: black;
}
.dark-theme .mat-button-toggle-disabled.mat-button-toggle-appearance-standard {
  background: #424242;
}
.dark-theme .mat-button-toggle-disabled.mat-button-toggle-checked {
  background-color: #424242;
}
.dark-theme .mat-button-toggle-standalone.mat-button-toggle-appearance-standard,
.dark-theme .mat-button-toggle-group-appearance-standard {
  border: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-card {
  background: #424242;
  color: white;
}
.dark-theme .mat-card:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-card.mat-card-flat:not([class*=mat-elevation-z]) {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-card-subtitle {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-checkbox-frame {
  border-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-checkbox-checkmark {
  fill: #303030;
}
.dark-theme .mat-checkbox-checkmark-path {
  stroke: #303030 !important;
}
.dark-theme .mat-checkbox-mixedmark {
  background-color: #303030;
}
.dark-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background, .dark-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #60a5fa;
}
.dark-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background, .dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #60a5fa;
}
.dark-theme .mat-checkbox-indeterminate.mat-warn .mat-checkbox-background, .dark-theme .mat-checkbox-checked.mat-warn .mat-checkbox-background {
  background-color: #e91414;
}
.dark-theme .mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background, .dark-theme .mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #686868;
}
.dark-theme .mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame {
  border-color: #686868;
}
.dark-theme .mat-checkbox-disabled .mat-checkbox-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-checkbox .mat-ripple-element {
  background-color: white;
}
.dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element,
.dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-primary .mat-ripple-element {
  background: #60a5fa;
}
.dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element,
.dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-accent .mat-ripple-element {
  background: #60a5fa;
}
.dark-theme .mat-checkbox-checked:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element,
.dark-theme .mat-checkbox:active:not(.mat-checkbox-disabled).mat-warn .mat-ripple-element {
  background: #e91414;
}
.dark-theme .mat-chip.mat-standard-chip {
  background-color: #616161;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled):active {
  box-shadow: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-chip.mat-standard-chip:not(.mat-chip-disabled) .mat-chip-remove:hover {
  opacity: 0.54;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-disabled {
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip::after {
  background: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-primary .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn {
  background-color: #e91414;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-warn .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-chip-remove {
  color: white;
  opacity: 0.4;
}
.dark-theme .mat-chip.mat-standard-chip.mat-chip-selected.mat-accent .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-table {
  background: #424242;
}
.dark-theme .mat-table thead, .dark-theme .mat-table tbody, .dark-theme .mat-table tfoot,
.dark-theme mat-header-row, .dark-theme mat-row, .dark-theme mat-footer-row,
.dark-theme [mat-header-row], .dark-theme [mat-row], .dark-theme [mat-footer-row],
.dark-theme .mat-table-sticky {
  background: inherit;
}
.dark-theme mat-row, .dark-theme mat-header-row, .dark-theme mat-footer-row,
.dark-theme th.mat-header-cell, .dark-theme td.mat-cell, .dark-theme td.mat-footer-cell {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-header-cell {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-cell, .dark-theme .mat-footer-cell {
  color: white;
}
.dark-theme .mat-calendar-arrow {
  border-top-color: white;
}
.dark-theme .mat-datepicker-toggle,
.dark-theme .mat-datepicker-content .mat-calendar-next-button,
.dark-theme .mat-datepicker-content .mat-calendar-previous-button {
  color: white;
}
.dark-theme .mat-calendar-table-header {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-calendar-table-header-divider::after {
  background: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-calendar-body-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-calendar-body-cell-content,
.dark-theme .mat-date-range-input-separator {
  color: white;
  border-color: transparent;
}
.dark-theme .mat-calendar-body-disabled > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-disabled .mat-date-range-input-separator {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-calendar-body-in-preview {
  color: rgba(255, 255, 255, 0.24);
}
.dark-theme .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-calendar-body-disabled > .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-calendar-body-in-range::before {
  background: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-calendar-body-comparison-identical,
.dark-theme .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.dark-theme .mat-calendar-body-comparison-bridge-start::before,
.dark-theme [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-calendar-body-comparison-bridge-end::before,
.dark-theme [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.dark-theme .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.dark-theme .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.dark-theme .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.dark-theme .mat-calendar-body-selected {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(96, 165, 250, 0.4);
}
.dark-theme .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.dark-theme .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(96, 165, 250, 0.3);
}
.dark-theme .mat-datepicker-content {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
  background-color: #424242;
  color: white;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range::before {
  background: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-start::before,
.dark-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-bridge-end::before,
.dark-theme .mat-datepicker-content.mat-accent [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(96, 165, 250, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-selected {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(96, 165, 250, 0.4);
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.dark-theme .mat-datepicker-content.mat-accent .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-accent .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-accent .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(96, 165, 250, 0.3);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range::before {
  background: rgba(233, 20, 20, 0.2);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range::before {
  background: rgba(249, 171, 0, 0.2);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-start::before,
.dark-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-end::before {
  background: linear-gradient(to right, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-bridge-end::before,
.dark-theme .mat-datepicker-content.mat-warn [dir=rtl] .mat-calendar-body-comparison-bridge-start::before {
  background: linear-gradient(to left, rgba(233, 20, 20, 0.2) 50%, rgba(249, 171, 0, 0.2) 50%);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-range > .mat-calendar-body-comparison-identical,
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range.mat-calendar-body-in-range::after {
  background: #a8dab5;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-comparison-identical.mat-calendar-body-selected,
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-in-comparison-range > .mat-calendar-body-selected {
  background: #46a35e;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-selected {
  background-color: #e91414;
  color: white;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-disabled > .mat-calendar-body-selected {
  background-color: rgba(233, 20, 20, 0.4);
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-today.mat-calendar-body-selected {
  box-shadow: inset 0 0 0 1px white;
}
.dark-theme .mat-datepicker-content.mat-warn .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-warn .cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.dark-theme .mat-datepicker-content.mat-warn .cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(233, 20, 20, 0.3);
}
.dark-theme .mat-datepicker-content-touch {
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-datepicker-toggle-active {
  color: #60a5fa;
}
.dark-theme .mat-datepicker-toggle-active.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-datepicker-toggle-active.mat-warn {
  color: #e91414;
}
.dark-theme .mat-date-range-input-inner[disabled] {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-dialog-container {
  box-shadow: 0px 11px 15px -7px rgba(0, 0, 0, 0.2), 0px 24px 38px 3px rgba(0, 0, 0, 0.14), 0px 9px 46px 8px rgba(0, 0, 0, 0.12);
  background: #424242;
  color: white;
}
.dark-theme .mat-divider {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-divider-vertical {
  border-right-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-expansion-panel {
  background: #424242;
  color: white;
}
.dark-theme .mat-expansion-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-action-row {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-keyboard-focused:not([aria-disabled=true]), .dark-theme .mat-expansion-panel .mat-expansion-panel-header.cdk-program-focused:not([aria-disabled=true]), .dark-theme .mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:hover:not([aria-disabled=true]) {
  background: rgba(255, 255, 255, 0.04);
}
@media (hover: none) {
  .dark-theme .mat-expansion-panel:not(.mat-expanded):not([aria-disabled=true]) .mat-expansion-panel-header:hover {
    background: #424242;
  }
}
.dark-theme .mat-expansion-panel-header-title {
  color: white;
}
.dark-theme .mat-expansion-panel-header-description,
.dark-theme .mat-expansion-indicator::after {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-expansion-panel-header[aria-disabled=true] {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-title,
.dark-theme .mat-expansion-panel-header[aria-disabled=true] .mat-expansion-panel-header-description {
  color: inherit;
}
.dark-theme .mat-form-field-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-hint {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-label {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-label.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-label.mat-warn {
  color: #e91414;
}
.dark-theme .mat-focused .mat-form-field-required-marker {
  color: #60a5fa;
}
.dark-theme .mat-form-field-ripple {
  background-color: white;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-ripple {
  background-color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent {
  background-color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn {
  background-color: #e91414;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix::after {
  color: #60a5fa;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix::after {
  color: #60a5fa;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix::after {
  color: #e91414;
}
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label {
  color: #e91414;
}
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker {
  color: #e91414;
}
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,
.dark-theme .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent {
  background-color: #e91414;
}
.dark-theme .mat-error {
  color: #e91414;
}
.dark-theme .mat-form-field-appearance-legacy .mat-form-field-label {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-legacy .mat-hint {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-legacy .mat-form-field-underline {
  background-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.dark-theme .mat-form-field-appearance-standard .mat-form-field-underline {
  background-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline {
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0.7) 33%, transparent 0%);
  background-size: 4px 100%;
  background-repeat: repeat-x;
}
.dark-theme .mat-form-field-appearance-fill .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.1);
}
.dark-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.05);
}
.dark-theme .mat-form-field-appearance-fill .mat-form-field-underline::before {
  background-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline::before {
  background-color: transparent;
}
.dark-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-form-field-appearance-outline .mat-form-field-outline-thick {
  color: white;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #60a5fa;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick {
  color: #60a5fa;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick {
  color: #e91414;
}
.dark-theme .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick {
  color: #e91414;
}
.dark-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline {
  color: rgba(255, 255, 255, 0.15);
}
.dark-theme .mat-icon.mat-primary {
  color: #60a5fa;
}
.dark-theme .mat-icon.mat-accent {
  color: #60a5fa;
}
.dark-theme .mat-icon.mat-warn {
  color: #e91414;
}
.dark-theme .mat-form-field-type-mat-native-select .mat-form-field-infix::after {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-input-element:disabled,
.dark-theme .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element {
  caret-color: #60a5fa;
}
.dark-theme .mat-input-element::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-input-element option {
  color: rgba(0, 0, 0, 0.87);
}
.dark-theme .mat-input-element option:disabled {
  color: rgba(0, 0, 0, 0.38);
}
.dark-theme .mat-form-field.mat-accent .mat-input-element {
  caret-color: #60a5fa;
}
.dark-theme .mat-form-field.mat-warn .mat-input-element,
.dark-theme .mat-form-field-invalid .mat-input-element {
  caret-color: #e91414;
}
.dark-theme .mat-form-field-type-mat-native-select.mat-form-field-invalid .mat-form-field-infix::after {
  color: #e91414;
}
.dark-theme .mat-list-base .mat-list-item {
  color: white;
}
.dark-theme .mat-list-base .mat-list-option {
  color: white;
}
.dark-theme .mat-list-base .mat-subheader {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-list-item-disabled {
  background-color: black;
}
.dark-theme .mat-list-option:hover, .dark-theme .mat-list-option:focus,
.dark-theme .mat-nav-list .mat-list-item:hover,
.dark-theme .mat-nav-list .mat-list-item:focus,
.dark-theme .mat-action-list .mat-list-item:hover,
.dark-theme .mat-action-list .mat-list-item:focus {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-list-single-selected-option, .dark-theme .mat-list-single-selected-option:hover, .dark-theme .mat-list-single-selected-option:focus {
  background: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-menu-panel {
  background: #424242;
}
.dark-theme .mat-menu-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-menu-item {
  background: transparent;
  color: white;
}
.dark-theme .mat-menu-item[disabled], .dark-theme .mat-menu-item[disabled]::after,
.dark-theme .mat-menu-item[disabled] .mat-icon-no-color {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-menu-item .mat-icon-no-color,
.dark-theme .mat-menu-item-submenu-trigger::after {
  color: white;
}
.dark-theme .mat-menu-item:hover:not([disabled]),
.dark-theme .mat-menu-item.cdk-program-focused:not([disabled]),
.dark-theme .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .mat-menu-item-highlighted:not([disabled]) {
  background: rgba(255, 255, 255, 0.04);
}
.dark-theme .mat-paginator {
  background: #424242;
}
.dark-theme .mat-paginator,
.dark-theme .mat-paginator-page-size .mat-select-trigger {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-paginator-decrement,
.dark-theme .mat-paginator-increment {
  border-top: 2px solid white;
  border-right: 2px solid white;
}
.dark-theme .mat-paginator-first,
.dark-theme .mat-paginator-last {
  border-top: 2px solid white;
}
.dark-theme .mat-icon-button[disabled] .mat-paginator-decrement,
.dark-theme .mat-icon-button[disabled] .mat-paginator-increment,
.dark-theme .mat-icon-button[disabled] .mat-paginator-first,
.dark-theme .mat-icon-button[disabled] .mat-paginator-last {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-progress-bar-background {
  fill: #dbeafe;
}
.dark-theme .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.dark-theme .mat-progress-bar-fill::after {
  background-color: #60a5fa;
}
.dark-theme .mat-progress-bar.mat-accent .mat-progress-bar-background {
  fill: #dbeafe;
}
.dark-theme .mat-progress-bar.mat-accent .mat-progress-bar-buffer {
  background-color: #dbeafe;
}
.dark-theme .mat-progress-bar.mat-accent .mat-progress-bar-fill::after {
  background-color: #60a5fa;
}
.dark-theme .mat-progress-bar.mat-warn .mat-progress-bar-background {
  fill: #f0b9b9;
}
.dark-theme .mat-progress-bar.mat-warn .mat-progress-bar-buffer {
  background-color: #f0b9b9;
}
.dark-theme .mat-progress-bar.mat-warn .mat-progress-bar-fill::after {
  background-color: #e91414;
}
.dark-theme .mat-progress-spinner circle, .dark-theme .mat-spinner circle {
  stroke: #60a5fa;
}
.dark-theme .mat-progress-spinner.mat-accent circle, .dark-theme .mat-spinner.mat-accent circle {
  stroke: #60a5fa;
}
.dark-theme .mat-progress-spinner.mat-warn circle, .dark-theme .mat-spinner.mat-warn circle {
  stroke: #e91414;
}
.dark-theme .mat-radio-outer-circle {
  border-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle {
  border-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-primary .mat-radio-inner-circle,
.dark-theme .mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .dark-theme .mat-radio-button.mat-primary.mat-radio-checked .mat-radio-persistent-ripple, .dark-theme .mat-radio-button.mat-primary:active .mat-radio-persistent-ripple {
  background-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle {
  border-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-accent .mat-radio-inner-circle,
.dark-theme .mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .dark-theme .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-persistent-ripple, .dark-theme .mat-radio-button.mat-accent:active .mat-radio-persistent-ripple {
  background-color: #60a5fa;
}
.dark-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle {
  border-color: #e91414;
}
.dark-theme .mat-radio-button.mat-warn .mat-radio-inner-circle,
.dark-theme .mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element:not(.mat-radio-persistent-ripple), .dark-theme .mat-radio-button.mat-warn.mat-radio-checked .mat-radio-persistent-ripple, .dark-theme .mat-radio-button.mat-warn:active .mat-radio-persistent-ripple {
  background-color: #e91414;
}
.dark-theme .mat-radio-button.mat-radio-disabled.mat-radio-checked .mat-radio-outer-circle,
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-outer-circle {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-inner-circle {
  background-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-radio-button.mat-radio-disabled .mat-radio-label-content {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-radio-button .mat-ripple-element {
  background-color: white;
}
.dark-theme .mat-select-value {
  color: white;
}
.dark-theme .mat-select-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-select-disabled .mat-select-value {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-select-arrow {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-select-panel {
  background: #424242;
}
.dark-theme .mat-select-panel:not([class*=mat-elevation-z]) {
  box-shadow: 0px 2px 4px -1px rgba(0, 0, 0, 0.2), 0px 4px 5px 0px rgba(0, 0, 0, 0.14), 0px 1px 10px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  background: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-form-field.mat-focused.mat-primary .mat-select-arrow {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused.mat-accent .mat-select-arrow {
  color: #60a5fa;
}
.dark-theme .mat-form-field.mat-focused.mat-warn .mat-select-arrow {
  color: #e91414;
}
.dark-theme .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow {
  color: #e91414;
}
.dark-theme .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-drawer-container {
  background-color: #303030;
  color: white;
}
.dark-theme .mat-drawer {
  background-color: #424242;
  color: white;
}
.dark-theme .mat-drawer.mat-drawer-push {
  background-color: #424242;
}
.dark-theme .mat-drawer:not(.mat-drawer-side) {
  box-shadow: 0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-drawer-side {
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-drawer-side.mat-drawer-end {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
  border-right: none;
}
.dark-theme [dir=rtl] .mat-drawer-side {
  border-left: solid 1px rgba(255, 255, 255, 0.12);
  border-right: none;
}
.dark-theme [dir=rtl] .mat-drawer-side.mat-drawer-end {
  border-left: none;
  border-right: solid 1px rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-drawer-backdrop.mat-drawer-shown {
  background-color: rgba(189, 189, 189, 0.6);
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(96, 165, 250, 0.54);
}
.dark-theme .mat-slide-toggle.mat-checked .mat-ripple-element {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-thumb {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-primary.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(96, 165, 250, 0.54);
}
.dark-theme .mat-slide-toggle.mat-primary.mat-checked .mat-ripple-element {
  background-color: #60a5fa;
}
.dark-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-thumb {
  background-color: #e91414;
}
.dark-theme .mat-slide-toggle.mat-warn.mat-checked .mat-slide-toggle-bar {
  background-color: rgba(233, 20, 20, 0.54);
}
.dark-theme .mat-slide-toggle.mat-warn.mat-checked .mat-ripple-element {
  background-color: #e91414;
}
.dark-theme .mat-slide-toggle:not(.mat-checked) .mat-ripple-element {
  background-color: white;
}
.dark-theme .mat-slide-toggle-thumb {
  box-shadow: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);
  background-color: #bdbdbd;
}
.dark-theme .mat-slide-toggle-bar {
  background-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-primary .mat-slider-track-fill,
.dark-theme .mat-primary .mat-slider-thumb,
.dark-theme .mat-primary .mat-slider-thumb-label {
  background-color: #60a5fa;
}
.dark-theme .mat-primary .mat-slider-thumb-label-text {
  color: white;
}
.dark-theme .mat-primary .mat-slider-focus-ring {
  background-color: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-accent .mat-slider-track-fill,
.dark-theme .mat-accent .mat-slider-thumb,
.dark-theme .mat-accent .mat-slider-thumb-label {
  background-color: #60a5fa;
}
.dark-theme .mat-accent .mat-slider-thumb-label-text {
  color: white;
}
.dark-theme .mat-accent .mat-slider-focus-ring {
  background-color: rgba(96, 165, 250, 0.2);
}
.dark-theme .mat-warn .mat-slider-track-fill,
.dark-theme .mat-warn .mat-slider-thumb,
.dark-theme .mat-warn .mat-slider-thumb-label {
  background-color: #e91414;
}
.dark-theme .mat-warn .mat-slider-thumb-label-text {
  color: white;
}
.dark-theme .mat-warn .mat-slider-focus-ring {
  background-color: rgba(233, 20, 20, 0.2);
}
.dark-theme .mat-slider:hover .mat-slider-track-background,
.dark-theme .cdk-focused .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-disabled .mat-slider-track-background,
.dark-theme .mat-slider-disabled .mat-slider-track-fill,
.dark-theme .mat-slider-disabled .mat-slider-thumb {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-disabled:hover .mat-slider-track-background {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-min-value .mat-slider-focus-ring {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb-label {
  background-color: white;
}
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,
.dark-theme .mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label {
  background-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
  background-color: transparent;
}
.dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb, .dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb, .dark-theme .mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb {
  border-color: rgba(255, 255, 255, 0.3);
}
.dark-theme .mat-slider-has-ticks .mat-slider-wrapper::after {
  border-color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-slider-horizontal .mat-slider-ticks {
  background-image: repeating-linear-gradient(to right, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
  background-image: -moz-repeating-linear-gradient(0.0001deg, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
}
.dark-theme .mat-slider-vertical .mat-slider-ticks {
  background-image: repeating-linear-gradient(to bottom, rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0.7) 2px, transparent 0, transparent);
}
.dark-theme .mat-step-header.cdk-keyboard-focused, .dark-theme .mat-step-header.cdk-program-focused, .dark-theme .mat-step-header:hover {
  background-color: rgba(255, 255, 255, 0.04);
}
@media (hover: none) {
  .dark-theme .mat-step-header:hover {
    background: none;
  }
}
.dark-theme .mat-step-header .mat-step-label,
.dark-theme .mat-step-header .mat-step-optional {
  color: rgba(255, 255, 255, 0.7);
}
.dark-theme .mat-step-header .mat-step-icon {
  background-color: rgba(255, 255, 255, 0.7);
  color: white;
}
.dark-theme .mat-step-header .mat-step-icon-selected,
.dark-theme .mat-step-header .mat-step-icon-state-done,
.dark-theme .mat-step-header .mat-step-icon-state-edit {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-step-header.mat-accent .mat-step-icon {
  color: white;
}
.dark-theme .mat-step-header.mat-accent .mat-step-icon-selected,
.dark-theme .mat-step-header.mat-accent .mat-step-icon-state-done,
.dark-theme .mat-step-header.mat-accent .mat-step-icon-state-edit {
  background-color: #60a5fa;
  color: white;
}
.dark-theme .mat-step-header.mat-warn .mat-step-icon {
  color: white;
}
.dark-theme .mat-step-header.mat-warn .mat-step-icon-selected,
.dark-theme .mat-step-header.mat-warn .mat-step-icon-state-done,
.dark-theme .mat-step-header.mat-warn .mat-step-icon-state-edit {
  background-color: #e91414;
  color: white;
}
.dark-theme .mat-step-header .mat-step-icon-state-error {
  background-color: transparent;
  color: #e91414;
}
.dark-theme .mat-step-header .mat-step-label.mat-step-label-active {
  color: white;
}
.dark-theme .mat-step-header .mat-step-label.mat-step-label-error {
  color: #e91414;
}
.dark-theme .mat-stepper-horizontal, .dark-theme .mat-stepper-vertical {
  background-color: #424242;
}
.dark-theme .mat-stepper-vertical-line::before {
  border-left-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-horizontal-stepper-header::before,
.dark-theme .mat-horizontal-stepper-header::after,
.dark-theme .mat-stepper-horizontal-line {
  border-top-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-sort-header-arrow {
  color: #c6c6c6;
}
.dark-theme .mat-tab-nav-bar,
.dark-theme .mat-tab-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-tab-group-inverted-header .mat-tab-nav-bar,
.dark-theme .mat-tab-group-inverted-header .mat-tab-header {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: none;
}
.dark-theme .mat-tab-label, .dark-theme .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-tab-header-pagination-chevron {
  border-color: white;
}
.dark-theme .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.5);
}
.dark-theme .mat-tab-group[class*=mat-background-] .mat-tab-header,
.dark-theme .mat-tab-nav-bar[class*=mat-background-] {
  border-bottom: none;
  border-top: none;
}
.dark-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-primary .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-primary .mat-ink-bar {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-group.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-primary.mat-background-primary > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.dark-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-accent .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-accent .mat-ink-bar {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-group.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-accent.mat-background-accent > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.dark-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.dark-theme .mat-tab-group.mat-warn .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-warn .mat-ink-bar {
  background-color: #e91414;
}
.dark-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-group.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-header .mat-ink-bar, .dark-theme .mat-tab-nav-bar.mat-warn.mat-background-warn > .mat-tab-link-container .mat-ink-bar {
  background-color: white;
}
.dark-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-primary .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-focus-indicator::before, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-group.mat-background-primary > .mat-tab-link-container .mat-ripple-element, .dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-nav-bar.mat-background-primary > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-accent .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(219, 234, 254, 0.3);
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination {
  background-color: #60a5fa;
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-focus-indicator::before, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-group.mat-background-accent > .mat-tab-link-container .mat-ripple-element, .dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-nav-bar.mat-background-accent > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-group.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-group.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-keyboard-focused:not(.mat-tab-disabled), .dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-label.cdk-program-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-keyboard-focused:not(.mat-tab-disabled),
.dark-theme .mat-tab-nav-bar.mat-background-warn .mat-tab-link.cdk-program-focused:not(.mat-tab-disabled) {
  background-color: rgba(240, 185, 185, 0.3);
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination {
  background-color: #e91414;
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link {
  color: white;
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-tab-label.mat-tab-disabled, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-tab-link.mat-tab-disabled {
  color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-focus-indicator::before, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination .mat-tab-header-pagination-chevron,
.dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-links .mat-focus-indicator::before,
.dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-focus-indicator::before {
  border-color: white;
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron {
  border-color: rgba(255, 255, 255, 0.4);
}
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-group.mat-background-warn > .mat-tab-link-container .mat-ripple-element, .dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-header .mat-ripple-element,
.dark-theme .mat-tab-nav-bar.mat-background-warn > .mat-tab-link-container .mat-ripple-element {
  background-color: rgba(255, 255, 255, 0.12);
}
.dark-theme .mat-toolbar {
  background: #212121;
  color: white;
}
.dark-theme .mat-toolbar.mat-primary {
  background: #60a5fa;
  color: white;
}
.dark-theme .mat-toolbar.mat-accent {
  background: #60a5fa;
  color: white;
}
.dark-theme .mat-toolbar.mat-warn {
  background: #e91414;
  color: white;
}
.dark-theme .mat-toolbar .mat-form-field-underline,
.dark-theme .mat-toolbar .mat-form-field-ripple,
.dark-theme .mat-toolbar .mat-focused .mat-form-field-ripple {
  background-color: currentColor;
}
.dark-theme .mat-toolbar .mat-form-field-label,
.dark-theme .mat-toolbar .mat-focused .mat-form-field-label,
.dark-theme .mat-toolbar .mat-select-value,
.dark-theme .mat-toolbar .mat-select-arrow,
.dark-theme .mat-toolbar .mat-form-field.mat-focused .mat-select-arrow {
  color: inherit;
}
.dark-theme .mat-toolbar .mat-input-element {
  caret-color: currentColor;
}
.dark-theme .mat-tooltip {
  background: rgba(97, 97, 97, 0.9);
}
.dark-theme .mat-tree {
  background: #424242;
}
.dark-theme .mat-tree-node,
.dark-theme .mat-nested-tree-node {
  color: white;
}
.dark-theme .mat-snack-bar-container {
  color: rgba(0, 0, 0, 0.87);
  background: #fafafa;
  box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);
}
.dark-theme .mat-simple-snackbar-action {
  color: inherit;
}
.mat-badge-content {
  font-weight: 600;
  font-size: 12px;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-badge-small .mat-badge-content {
  font-size: 9px;
}
.mat-badge-large .mat-badge-content {
  font-size: 24px;
}
.mat-h1, .mat-headline, .mat-typography h1 {
  font: 400 24px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h2, .mat-title, .mat-typography h2, .mat-typography mat-card.base-card mat-card-header, mat-card.base-card .mat-typography mat-card-header, .mat-typography mat-card.admin-event mat-card-header, mat-card.admin-event .mat-typography mat-card-header {
  font: 500 20px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h3, .mat-subheading-2, .mat-typography h3, .mat-typography .section .section-title, .section .mat-typography .section-title, .mat-typography .card-title {
  font: 400 16px/28px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h4, .mat-subheading-1, .mat-typography h4, .mat-typography .card-subtitle {
  font: 400 15px/24px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 16px;
}
.mat-h5, .mat-typography h5, .mat-typography .card-content, .mat-typography mat-card.event a .warning-public-at, mat-card.event a .mat-typography .warning-public-at {
  font: 400 calc(14px * 0.83)/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  margin: 0 0 12px;
}
.mat-h6, .mat-typography h6 {
  font: 400 calc(14px * 0.67)/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  margin: 0 0 12px;
}
.mat-body-strong, .mat-body-2 {
  font: 500 14px/24px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-body, .mat-body-1, .mat-typography {
  font: 400 14px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-body p, .mat-body-1 p, .mat-typography p {
  margin: 0 0 12px;
}
.mat-small, .mat-caption {
  font: 400 12px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-display-4, .mat-typography .mat-display-4 {
  font: 300 112px/112px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: -0.05em;
  margin: 0 0 56px;
}
.mat-display-3, .mat-typography .mat-display-3 {
  font: 400 56px/56px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: -0.02em;
  margin: 0 0 64px;
}
.mat-display-2, .mat-typography .mat-display-2 {
  font: 400 45px/48px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: -0.005em;
  margin: 0 0 64px;
}
.mat-display-1, .mat-typography .mat-display-1 {
  font: 400 34px/40px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0 0 64px;
}
.mat-bottom-sheet-container {
  font: 400 14px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-button, .mat-raised-button, .mat-icon-button, .mat-stroked-button,
.mat-flat-button, .mat-fab, .mat-mini-fab {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 500;
}
.mat-button-toggle {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-card {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-card-title {
  font-size: 24px;
  font-weight: 500;
}
.mat-card-header .mat-card-title {
  font-size: 20px;
}
.mat-card-subtitle,
.mat-card-content {
  font-size: 14px;
}
.mat-checkbox {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-checkbox-layout .mat-checkbox-label {
  line-height: 24px;
}
.mat-chip {
  font-size: 14px;
  font-weight: 500;
}
.mat-chip .mat-chip-trailing-icon.mat-icon,
.mat-chip .mat-chip-remove.mat-icon {
  font-size: 18px;
}
.mat-table {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-header-cell {
  font-size: 12px;
  font-weight: 500;
}
.mat-cell, .mat-footer-cell {
  font-size: 14px;
}
.mat-calendar {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-calendar-body {
  font-size: 13px;
}
.mat-calendar-body-label,
.mat-calendar-period-button {
  font-size: 14px;
  font-weight: 500;
}
.mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 400;
}
.mat-dialog-title {
  font: 500 20px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-expansion-panel-header {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 15px;
  font-weight: 400;
}
.mat-expansion-panel-content {
  font: 400 14px/20px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-form-field {
  font-size: inherit;
  font-weight: 400;
  line-height: 1.125;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-form-field-wrapper {
  padding-bottom: 1.34375em;
}
.mat-form-field-prefix .mat-icon,
.mat-form-field-suffix .mat-icon {
  font-size: 150%;
  line-height: 1.125;
}
.mat-form-field-prefix .mat-icon-button,
.mat-form-field-suffix .mat-icon-button {
  height: 1.5em;
  width: 1.5em;
}
.mat-form-field-prefix .mat-icon-button .mat-icon,
.mat-form-field-suffix .mat-icon-button .mat-icon {
  height: 1.125em;
  line-height: 1.125;
}
.mat-form-field-infix {
  padding: 0.5em 0;
  border-top: 0.84375em solid transparent;
}
.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34373em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.34372em) scale(0.75);
  width: 133.3333633333%;
}
.mat-form-field-label-wrapper {
  top: -0.84375em;
  padding-top: 0.84375em;
}
.mat-form-field-label {
  top: 1.34375em;
}
.mat-form-field-underline {
  bottom: 1.34375em;
}
.mat-form-field-subscript-wrapper {
  font-size: 75%;
  margin-top: 0.6666666667em;
  top: calc(100% - 1.7916666667em);
}
.mat-form-field-appearance-legacy .mat-form-field-wrapper {
  padding-bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-infix {
  padding: 0.4375em 0;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00106px);
  -ms-transform: translateY(-1.28119em) scale(0.75);
  width: 133.3333933333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00107px);
  -ms-transform: translateY(-1.28118em) scale(0.75);
  width: 133.3334033333%;
}
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.28125em) scale(0.75) perspective(100px) translateZ(0.00108px);
  -ms-transform: translateY(-1.28117em) scale(0.75);
  width: 133.3334133333%;
}
.mat-form-field-appearance-legacy .mat-form-field-label {
  top: 1.28125em;
}
.mat-form-field-appearance-legacy .mat-form-field-underline {
  bottom: 1.25em;
}
.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper {
  margin-top: 0.5416666667em;
  top: calc(100% - 1.6666666667em);
}
@media print {
  .mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28116em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28115em) scale(0.75);
  }
  .mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
    transform: translateY(-1.28114em) scale(0.75);
  }
}
.mat-form-field-appearance-fill .mat-form-field-infix {
  padding: 0.25em 0 0.75em 0;
}
.mat-form-field-appearance-fill .mat-form-field-label {
  top: 1.09375em;
  margin-top: -0.5em;
}
.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59373em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-0.59372em) scale(0.75);
  width: 133.3333633333%;
}
.mat-form-field-appearance-outline .mat-form-field-infix {
  padding: 1em 0 1em 0;
}
.mat-form-field-appearance-outline .mat-form-field-label {
  top: 1.84375em;
  margin-top: -0.25em;
}
.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59373em) scale(0.75);
  width: 133.3333533333%;
}
.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown) + .mat-form-field-label-wrapper .mat-form-field-label {
  transform: translateY(-1.59372em) scale(0.75);
  width: 133.3333633333%;
}
.mat-grid-tile-header,
.mat-grid-tile-footer {
  font-size: 14px;
}
.mat-grid-tile-header .mat-line,
.mat-grid-tile-footer .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-grid-tile-header .mat-line:nth-child(n+2),
.mat-grid-tile-footer .mat-line:nth-child(n+2) {
  font-size: 12px;
}
input.mat-input-element {
  margin-top: -0.0625em;
}
.mat-menu-item {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 400;
}
.mat-paginator,
.mat-paginator-page-size .mat-select-trigger {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
}
.mat-radio-button {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-select {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-select-trigger {
  height: 1.125em;
}
.mat-slide-toggle-content {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-slider-thumb-label-text {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
  font-weight: 500;
}
.mat-stepper-vertical, .mat-stepper-horizontal {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-step-label {
  font-size: 14px;
  font-weight: 400;
}
.mat-step-sub-label-error {
  font-weight: normal;
}
.mat-step-label-error {
  font-size: 14px;
}
.mat-step-label-selected {
  font-size: 14px;
  font-weight: 500;
}
.mat-tab-group {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-tab-label, .mat-tab-link {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 500;
}
.mat-toolbar,
.mat-toolbar h1,
.mat-toolbar h2,
.mat-toolbar mat-card.base-card mat-card-header,
mat-card.base-card .mat-toolbar mat-card-header,
.mat-toolbar mat-card.admin-event mat-card-header,
mat-card.admin-event .mat-toolbar mat-card-header,
.mat-toolbar h3,
.mat-toolbar .section .section-title,
.section .mat-toolbar .section-title,
.mat-toolbar .card-title,
.mat-toolbar h4,
.mat-toolbar .card-subtitle,
.mat-toolbar h5,
.mat-toolbar .card-content,
.mat-toolbar mat-card.event a .warning-public-at,
mat-card.event a .mat-toolbar .warning-public-at,
.mat-toolbar h6 {
  font: 500 20px/32px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
  margin: 0;
}
.mat-tooltip {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 10px;
  padding-top: 6px;
  padding-bottom: 6px;
}
.mat-tooltip-handset {
  font-size: 14px;
  padding-top: 8px;
  padding-bottom: 8px;
}
.mat-list-item {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-list-option {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-list-base .mat-list-item {
  font-size: 16px;
}
.mat-list-base .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-list-option {
  font-size: 16px;
}
.mat-list-base .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 14px;
}
.mat-list-base .mat-subheader {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 500;
}
.mat-list-base[dense] .mat-list-item {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-item .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option {
  font-size: 12px;
}
.mat-list-base[dense] .mat-list-option .mat-line {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  box-sizing: border-box;
}
.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2) {
  font-size: 12px;
}
.mat-list-base[dense] .mat-subheader {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
  font-weight: 500;
}
.mat-option {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 16px;
}
.mat-optgroup-label {
  font: 500 14px/24px "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  letter-spacing: normal;
}
.mat-simple-snackbar {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
}
.mat-simple-snackbar-action {
  line-height: 1;
  font-family: inherit;
  font-size: inherit;
  font-weight: 500;
}
.mat-tree {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.mat-tree-node,
.mat-nested-tree-node {
  font-weight: 400;
  font-size: 14px;
}
@-webkit-keyframes spinAround {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
@keyframes spinAround {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(359deg);
  }
}
.is-unselectable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.navbar-link:not(.is-arrowless)::after {
  border: 3px solid transparent;
  border-radius: 2px;
  border-right: 0;
  border-top: 0;
  content: " ";
  display: block;
  height: 0.625em;
  margin-top: -0.4375em;
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: rotate(-45deg);
  transform-origin: center;
  width: 0.625em;
}
.title:not(:last-child),
.subtitle:not(:last-child) {
  margin-bottom: 1.5rem;
}
.is-overlay {
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
/*! minireset.css v0.0.6 | MIT License | github.com/jgthms/minireset.css */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
mat-card.base-card mat-card-header,
mat-card.admin-event mat-card-header,
h3,
.section .section-title,
.card-title,
h4,
.card-subtitle,
h5,
.card-content,
mat-card.event a .warning-public-at,
h6 {
  margin: 0;
  padding: 0;
}
h1,
h2,
mat-card.base-card mat-card-header,
mat-card.admin-event mat-card-header,
h3,
.section .section-title,
.card-title,
h4,
.card-subtitle,
h5,
.card-content,
mat-card.event a .warning-public-at,
h6 {
  font-size: 100%;
  font-weight: normal;
}
ul {
  list-style: none;
}
button,
input,
select,
textarea {
  margin: 0;
}
html {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}
img,
video {
  height: auto;
  max-width: 100%;
}
iframe {
  border: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
td:not([align]),
th:not([align]) {
  text-align: left;
}
html {
  background-color: white;
  font-size: 16px;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  min-width: 300px;
  overflow-x: hidden;
  overflow-y: scroll;
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
}
article,
aside,
figure,
footer,
header,
hgroup,
section {
  display: block;
}
body,
button,
input,
select,
textarea {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif;
}
code,
pre {
  -moz-osx-font-smoothing: auto;
  -webkit-font-smoothing: auto;
  font-family: monospace;
}
body {
  color: #4a4a4a;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
}
a {
  color: #3273dc;
  cursor: pointer;
  text-decoration: none;
}
a strong {
  color: currentColor;
}
a:hover {
  color: #363636;
}
code {
  background-color: whitesmoke;
  color: #f14668;
  font-size: 0.875em;
  font-weight: normal;
  padding: 0.25em 0.5em 0.25em;
}
hr {
  background-color: whitesmoke;
  border: none;
  display: block;
  height: 2px;
  margin: 1.5rem 0;
}
img {
  height: auto;
  max-width: 100%;
}
input[type=checkbox],
input[type=radio] {
  vertical-align: baseline;
}
small {
  font-size: 0.875em;
}
span {
  font-style: inherit;
  font-weight: inherit;
}
strong {
  color: #363636;
  font-weight: 700;
}
fieldset {
  border: none;
}
pre {
  -webkit-overflow-scrolling: touch;
  background-color: whitesmoke;
  color: #4a4a4a;
  font-size: 0.875em;
  overflow-x: auto;
  padding: 1.25rem 1.5rem;
  white-space: pre;
  word-wrap: normal;
}
pre code {
  background-color: transparent;
  color: currentColor;
  font-size: 1em;
  padding: 0;
}
table td,
table th {
  vertical-align: top;
}
table td:not([align]),
table th:not([align]) {
  text-align: left;
}
table th {
  color: #363636;
}
.is-clearfix::after {
  clear: both;
  content: " ";
  display: table;
}
.is-pulled-left {
  float: left !important;
}
.is-pulled-right {
  float: right !important;
}
.is-clipped {
  overflow: hidden !important;
}
.is-size-1 {
  font-size: 3rem !important;
}
.is-size-2 {
  font-size: 2.5rem !important;
}
.is-size-3 {
  font-size: 2rem !important;
}
.is-size-4 {
  font-size: 1.5rem !important;
}
.is-size-5 {
  font-size: 1.25rem !important;
}
.is-size-6 {
  font-size: 1rem !important;
}
.is-size-7 {
  font-size: 0.75rem !important;
}
@media screen and (max-width: 768px) {
  .is-size-1-mobile {
    font-size: 3rem !important;
  }

  .is-size-2-mobile {
    font-size: 2.5rem !important;
  }

  .is-size-3-mobile {
    font-size: 2rem !important;
  }

  .is-size-4-mobile {
    font-size: 1.5rem !important;
  }

  .is-size-5-mobile {
    font-size: 1.25rem !important;
  }

  .is-size-6-mobile {
    font-size: 1rem !important;
  }

  .is-size-7-mobile {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-size-1-tablet {
    font-size: 3rem !important;
  }

  .is-size-2-tablet {
    font-size: 2.5rem !important;
  }

  .is-size-3-tablet {
    font-size: 2rem !important;
  }

  .is-size-4-tablet {
    font-size: 1.5rem !important;
  }

  .is-size-5-tablet {
    font-size: 1.25rem !important;
  }

  .is-size-6-tablet {
    font-size: 1rem !important;
  }

  .is-size-7-tablet {
    font-size: 0.75rem !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-size-1-touch {
    font-size: 3rem !important;
  }

  .is-size-2-touch {
    font-size: 2.5rem !important;
  }

  .is-size-3-touch {
    font-size: 2rem !important;
  }

  .is-size-4-touch {
    font-size: 1.5rem !important;
  }

  .is-size-5-touch {
    font-size: 1.25rem !important;
  }

  .is-size-6-touch {
    font-size: 1rem !important;
  }

  .is-size-7-touch {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-size-1-desktop {
    font-size: 3rem !important;
  }

  .is-size-2-desktop {
    font-size: 2.5rem !important;
  }

  .is-size-3-desktop {
    font-size: 2rem !important;
  }

  .is-size-4-desktop {
    font-size: 1.5rem !important;
  }

  .is-size-5-desktop {
    font-size: 1.25rem !important;
  }

  .is-size-6-desktop {
    font-size: 1rem !important;
  }

  .is-size-7-desktop {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-size-1-widescreen {
    font-size: 3rem !important;
  }

  .is-size-2-widescreen {
    font-size: 2.5rem !important;
  }

  .is-size-3-widescreen {
    font-size: 2rem !important;
  }

  .is-size-4-widescreen {
    font-size: 1.5rem !important;
  }

  .is-size-5-widescreen {
    font-size: 1.25rem !important;
  }

  .is-size-6-widescreen {
    font-size: 1rem !important;
  }

  .is-size-7-widescreen {
    font-size: 0.75rem !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-size-1-fullhd {
    font-size: 3rem !important;
  }

  .is-size-2-fullhd {
    font-size: 2.5rem !important;
  }

  .is-size-3-fullhd {
    font-size: 2rem !important;
  }

  .is-size-4-fullhd {
    font-size: 1.5rem !important;
  }

  .is-size-5-fullhd {
    font-size: 1.25rem !important;
  }

  .is-size-6-fullhd {
    font-size: 1rem !important;
  }

  .is-size-7-fullhd {
    font-size: 0.75rem !important;
  }
}
.has-text-centered {
  text-align: center !important;
}
.has-text-justified {
  text-align: justify !important;
}
.has-text-left {
  text-align: left !important;
}
.has-text-right {
  text-align: right !important;
}
@media screen and (max-width: 768px) {
  .has-text-centered-mobile {
    text-align: center !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-centered-tablet {
    text-align: center !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-centered-tablet-only {
    text-align: center !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-centered-touch {
    text-align: center !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-centered-desktop {
    text-align: center !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-centered-desktop-only {
    text-align: center !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-centered-widescreen {
    text-align: center !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-centered-widescreen-only {
    text-align: center !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-centered-fullhd {
    text-align: center !important;
  }
}
@media screen and (max-width: 768px) {
  .has-text-justified-mobile {
    text-align: justify !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-justified-tablet {
    text-align: justify !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-justified-tablet-only {
    text-align: justify !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-justified-touch {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-justified-desktop {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-justified-desktop-only {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-justified-widescreen {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-justified-widescreen-only {
    text-align: justify !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-justified-fullhd {
    text-align: justify !important;
  }
}
@media screen and (max-width: 768px) {
  .has-text-left-mobile {
    text-align: left !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-left-tablet {
    text-align: left !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-left-tablet-only {
    text-align: left !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-left-touch {
    text-align: left !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-left-desktop {
    text-align: left !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-left-desktop-only {
    text-align: left !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-left-widescreen {
    text-align: left !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-left-widescreen-only {
    text-align: left !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-left-fullhd {
    text-align: left !important;
  }
}
@media screen and (max-width: 768px) {
  .has-text-right-mobile {
    text-align: right !important;
  }
}
@media screen and (min-width: 769px), print {
  .has-text-right-tablet {
    text-align: right !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .has-text-right-tablet-only {
    text-align: right !important;
  }
}
@media screen and (max-width: 1023px) {
  .has-text-right-touch {
    text-align: right !important;
  }
}
@media screen and (min-width: 1024px) {
  .has-text-right-desktop {
    text-align: right !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .has-text-right-desktop-only {
    text-align: right !important;
  }
}
@media screen and (min-width: 1216px) {
  .has-text-right-widescreen {
    text-align: right !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .has-text-right-widescreen-only {
    text-align: right !important;
  }
}
@media screen and (min-width: 1408px) {
  .has-text-right-fullhd {
    text-align: right !important;
  }
}
.is-capitalized {
  text-transform: capitalize !important;
}
.is-lowercase {
  text-transform: lowercase !important;
}
.is-uppercase {
  text-transform: uppercase !important;
}
.is-italic {
  font-style: italic !important;
}
.has-text-white {
  color: white !important;
}
a.has-text-white:hover, a.has-text-white:focus {
  color: #e6e6e6 !important;
}
.has-background-white {
  background-color: white !important;
}
.has-text-black {
  color: #0a0a0a !important;
}
a.has-text-black:hover, a.has-text-black:focus {
  color: black !important;
}
.has-background-black {
  background-color: #0a0a0a !important;
}
.has-text-light {
  color: whitesmoke !important;
}
a.has-text-light:hover, a.has-text-light:focus {
  color: #dbdbdb !important;
}
.has-background-light {
  background-color: whitesmoke !important;
}
.has-text-dark {
  color: #363636 !important;
}
a.has-text-dark:hover, a.has-text-dark:focus {
  color: #1c1c1c !important;
}
.has-background-dark {
  background-color: #363636 !important;
}
.has-text-primary {
  color: #00d1b2 !important;
}
a.has-text-primary:hover, a.has-text-primary:focus {
  color: #009e86 !important;
}
.has-background-primary {
  background-color: #00d1b2 !important;
}
.has-text-link {
  color: #3273dc !important;
}
a.has-text-link:hover, a.has-text-link:focus {
  color: #205bbc !important;
}
.has-background-link {
  background-color: #3273dc !important;
}
.has-text-info {
  color: #3298dc !important;
}
a.has-text-info:hover, a.has-text-info:focus {
  color: #207dbc !important;
}
.has-background-info {
  background-color: #3298dc !important;
}
.has-text-success {
  color: #48c774 !important;
}
a.has-text-success:hover, a.has-text-success:focus {
  color: #34a85c !important;
}
.has-background-success {
  background-color: #48c774 !important;
}
.has-text-warning {
  color: #ffdd57 !important;
}
a.has-text-warning:hover, a.has-text-warning:focus {
  color: #ffd324 !important;
}
.has-background-warning {
  background-color: #ffdd57 !important;
}
.has-text-danger {
  color: #f14668 !important;
}
a.has-text-danger:hover, a.has-text-danger:focus {
  color: #ee1742 !important;
}
.has-background-danger {
  background-color: #f14668 !important;
}
.has-text-black-bis {
  color: #121212 !important;
}
.has-background-black-bis {
  background-color: #121212 !important;
}
.has-text-black-ter {
  color: #242424 !important;
}
.has-background-black-ter {
  background-color: #242424 !important;
}
.has-text-grey-darker {
  color: #363636 !important;
}
.has-background-grey-darker {
  background-color: #363636 !important;
}
.has-text-grey-dark {
  color: #4a4a4a !important;
}
.has-background-grey-dark {
  background-color: #4a4a4a !important;
}
.has-text-grey {
  color: #7a7a7a !important;
}
.has-background-grey {
  background-color: #7a7a7a !important;
}
.has-text-grey-light {
  color: #b5b5b5 !important;
}
.has-background-grey-light {
  background-color: #b5b5b5 !important;
}
.has-text-grey-lighter {
  color: #dbdbdb !important;
}
.has-background-grey-lighter {
  background-color: #dbdbdb !important;
}
.has-text-white-ter {
  color: whitesmoke !important;
}
.has-background-white-ter {
  background-color: whitesmoke !important;
}
.has-text-white-bis {
  color: #fafafa !important;
}
.has-background-white-bis {
  background-color: #fafafa !important;
}
.has-text-weight-light {
  font-weight: 300 !important;
}
.has-text-weight-normal {
  font-weight: 400 !important;
}
.has-text-weight-medium {
  font-weight: 500 !important;
}
.has-text-weight-semibold {
  font-weight: 600 !important;
}
.has-text-weight-bold {
  font-weight: 700 !important;
}
.is-family-primary {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
}
.is-family-secondary {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
}
.is-family-sans-serif {
  font-family: BlinkMacSystemFont, -apple-system, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica", "Arial", sans-serif !important;
}
.is-family-monospace {
  font-family: monospace !important;
}
.is-family-code {
  font-family: monospace !important;
}
.is-block {
  display: block !important;
}
@media screen and (max-width: 768px) {
  .is-block-mobile {
    display: block !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-block-tablet {
    display: block !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-block-tablet-only {
    display: block !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-block-touch {
    display: block !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-block-desktop {
    display: block !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-block-desktop-only {
    display: block !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-block-widescreen {
    display: block !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-block-widescreen-only {
    display: block !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-block-fullhd {
    display: block !important;
  }
}
.is-flex {
  display: flex !important;
}
@media screen and (max-width: 768px) {
  .is-flex-mobile {
    display: flex !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-flex-tablet {
    display: flex !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-flex-tablet-only {
    display: flex !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-flex-touch {
    display: flex !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-flex-desktop {
    display: flex !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-flex-desktop-only {
    display: flex !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-flex-widescreen {
    display: flex !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-flex-widescreen-only {
    display: flex !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-flex-fullhd {
    display: flex !important;
  }
}
.is-inline {
  display: inline !important;
}
@media screen and (max-width: 768px) {
  .is-inline-mobile {
    display: inline !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-inline-tablet {
    display: inline !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-tablet-only {
    display: inline !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-inline-touch {
    display: inline !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-inline-desktop {
    display: inline !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-desktop-only {
    display: inline !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-inline-widescreen {
    display: inline !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-widescreen-only {
    display: inline !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-inline-fullhd {
    display: inline !important;
  }
}
.is-inline-block {
  display: inline-block !important;
}
@media screen and (max-width: 768px) {
  .is-inline-block-mobile {
    display: inline-block !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-inline-block-tablet {
    display: inline-block !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-block-tablet-only {
    display: inline-block !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-inline-block-touch {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-inline-block-desktop {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-block-desktop-only {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-inline-block-widescreen {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-block-widescreen-only {
    display: inline-block !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-inline-block-fullhd {
    display: inline-block !important;
  }
}
.is-inline-flex {
  display: inline-flex !important;
}
@media screen and (max-width: 768px) {
  .is-inline-flex-mobile {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-inline-flex-tablet {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-inline-flex-tablet-only {
    display: inline-flex !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-inline-flex-touch {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-inline-flex-desktop {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-inline-flex-desktop-only {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-inline-flex-widescreen {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-inline-flex-widescreen-only {
    display: inline-flex !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-inline-flex-fullhd {
    display: inline-flex !important;
  }
}
.is-hidden {
  display: none !important;
}
.is-sr-only {
  border: none !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 0.01em !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 0.01em !important;
}
@media screen and (max-width: 768px) {
  .is-hidden-mobile {
    display: none !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-hidden-tablet {
    display: none !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-hidden-tablet-only {
    display: none !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-hidden-touch {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-hidden-desktop {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-hidden-desktop-only {
    display: none !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-hidden-widescreen {
    display: none !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-hidden-widescreen-only {
    display: none !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-hidden-fullhd {
    display: none !important;
  }
}
.is-invisible {
  visibility: hidden !important;
}
@media screen and (max-width: 768px) {
  .is-invisible-mobile {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 769px), print {
  .is-invisible-tablet {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .is-invisible-tablet-only {
    visibility: hidden !important;
  }
}
@media screen and (max-width: 1023px) {
  .is-invisible-touch {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1024px) {
  .is-invisible-desktop {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .is-invisible-desktop-only {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1216px) {
  .is-invisible-widescreen {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .is-invisible-widescreen-only {
    visibility: hidden !important;
  }
}
@media screen and (min-width: 1408px) {
  .is-invisible-fullhd {
    visibility: hidden !important;
  }
}
.is-marginless {
  margin: 0 !important;
}
.is-paddingless {
  padding: 0 !important;
}
.is-radiusless {
  border-radius: 0 !important;
}
.is-shadowless {
  box-shadow: none !important;
}
.is-relative {
  position: relative !important;
}
.column {
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  padding: 0.75rem;
}
.columns.is-mobile > .column.is-narrow {
  flex: none;
}
.columns.is-mobile > .column.is-full {
  flex: none;
  width: 100%;
}
.columns.is-mobile > .column.is-three-quarters {
  flex: none;
  width: 75%;
}
.columns.is-mobile > .column.is-two-thirds {
  flex: none;
  width: 66.6666%;
}
.columns.is-mobile > .column.is-half {
  flex: none;
  width: 50%;
}
.columns.is-mobile > .column.is-one-third {
  flex: none;
  width: 33.3333%;
}
.columns.is-mobile > .column.is-one-quarter {
  flex: none;
  width: 25%;
}
.columns.is-mobile > .column.is-one-fifth {
  flex: none;
  width: 20%;
}
.columns.is-mobile > .column.is-two-fifths {
  flex: none;
  width: 40%;
}
.columns.is-mobile > .column.is-three-fifths {
  flex: none;
  width: 60%;
}
.columns.is-mobile > .column.is-four-fifths {
  flex: none;
  width: 80%;
}
.columns.is-mobile > .column.is-offset-three-quarters {
  margin-left: 75%;
}
.columns.is-mobile > .column.is-offset-two-thirds {
  margin-left: 66.6666%;
}
.columns.is-mobile > .column.is-offset-half {
  margin-left: 50%;
}
.columns.is-mobile > .column.is-offset-one-third {
  margin-left: 33.3333%;
}
.columns.is-mobile > .column.is-offset-one-quarter {
  margin-left: 25%;
}
.columns.is-mobile > .column.is-offset-one-fifth {
  margin-left: 20%;
}
.columns.is-mobile > .column.is-offset-two-fifths {
  margin-left: 40%;
}
.columns.is-mobile > .column.is-offset-three-fifths {
  margin-left: 60%;
}
.columns.is-mobile > .column.is-offset-four-fifths {
  margin-left: 80%;
}
.columns.is-mobile > .column.is-0 {
  flex: none;
  width: 0%;
}
.columns.is-mobile > .column.is-offset-0 {
  margin-left: 0%;
}
.columns.is-mobile > .column.is-1 {
  flex: none;
  width: 8.3333333333%;
}
.columns.is-mobile > .column.is-offset-1 {
  margin-left: 8.3333333333%;
}
.columns.is-mobile > .column.is-2 {
  flex: none;
  width: 16.6666666667%;
}
.columns.is-mobile > .column.is-offset-2 {
  margin-left: 16.6666666667%;
}
.columns.is-mobile > .column.is-3 {
  flex: none;
  width: 25%;
}
.columns.is-mobile > .column.is-offset-3 {
  margin-left: 25%;
}
.columns.is-mobile > .column.is-4 {
  flex: none;
  width: 33.3333333333%;
}
.columns.is-mobile > .column.is-offset-4 {
  margin-left: 33.3333333333%;
}
.columns.is-mobile > .column.is-5 {
  flex: none;
  width: 41.6666666667%;
}
.columns.is-mobile > .column.is-offset-5 {
  margin-left: 41.6666666667%;
}
.columns.is-mobile > .column.is-6 {
  flex: none;
  width: 50%;
}
.columns.is-mobile > .column.is-offset-6 {
  margin-left: 50%;
}
.columns.is-mobile > .column.is-7 {
  flex: none;
  width: 58.3333333333%;
}
.columns.is-mobile > .column.is-offset-7 {
  margin-left: 58.3333333333%;
}
.columns.is-mobile > .column.is-8 {
  flex: none;
  width: 66.6666666667%;
}
.columns.is-mobile > .column.is-offset-8 {
  margin-left: 66.6666666667%;
}
.columns.is-mobile > .column.is-9 {
  flex: none;
  width: 75%;
}
.columns.is-mobile > .column.is-offset-9 {
  margin-left: 75%;
}
.columns.is-mobile > .column.is-10 {
  flex: none;
  width: 83.3333333333%;
}
.columns.is-mobile > .column.is-offset-10 {
  margin-left: 83.3333333333%;
}
.columns.is-mobile > .column.is-11 {
  flex: none;
  width: 91.6666666667%;
}
.columns.is-mobile > .column.is-offset-11 {
  margin-left: 91.6666666667%;
}
.columns.is-mobile > .column.is-12 {
  flex: none;
  width: 100%;
}
.columns.is-mobile > .column.is-offset-12 {
  margin-left: 100%;
}
@media screen and (max-width: 768px) {
  .column.is-narrow-mobile {
    flex: none;
  }
  .column.is-full-mobile {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-mobile {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-mobile {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-mobile {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-mobile {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-mobile {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-mobile {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-mobile {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-mobile {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-mobile {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-mobile {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-mobile {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-mobile {
    margin-left: 50%;
  }
  .column.is-offset-one-third-mobile {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-mobile {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-mobile {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-mobile {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-mobile {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-mobile {
    margin-left: 80%;
  }
  .column.is-0-mobile {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-mobile {
    margin-left: 0%;
  }
  .column.is-1-mobile {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-mobile {
    margin-left: 8.3333333333%;
  }
  .column.is-2-mobile {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-mobile {
    margin-left: 16.6666666667%;
  }
  .column.is-3-mobile {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-mobile {
    margin-left: 25%;
  }
  .column.is-4-mobile {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-mobile {
    margin-left: 33.3333333333%;
  }
  .column.is-5-mobile {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-mobile {
    margin-left: 41.6666666667%;
  }
  .column.is-6-mobile {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-mobile {
    margin-left: 50%;
  }
  .column.is-7-mobile {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-mobile {
    margin-left: 58.3333333333%;
  }
  .column.is-8-mobile {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-mobile {
    margin-left: 66.6666666667%;
  }
  .column.is-9-mobile {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-mobile {
    margin-left: 75%;
  }
  .column.is-10-mobile {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-mobile {
    margin-left: 83.3333333333%;
  }
  .column.is-11-mobile {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-mobile {
    margin-left: 91.6666666667%;
  }
  .column.is-12-mobile {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-mobile {
    margin-left: 100%;
  }
}
@media screen and (min-width: 769px), print {
  .column.is-narrow, .column.is-narrow-tablet {
    flex: none;
  }
  .column.is-full, .column.is-full-tablet {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters, .column.is-three-quarters-tablet {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds, .column.is-two-thirds-tablet {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half, .column.is-half-tablet {
    flex: none;
    width: 50%;
  }
  .column.is-one-third, .column.is-one-third-tablet {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter, .column.is-one-quarter-tablet {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth, .column.is-one-fifth-tablet {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths, .column.is-two-fifths-tablet {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths, .column.is-three-fifths-tablet {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths, .column.is-four-fifths-tablet {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters, .column.is-offset-three-quarters-tablet {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds, .column.is-offset-two-thirds-tablet {
    margin-left: 66.6666%;
  }
  .column.is-offset-half, .column.is-offset-half-tablet {
    margin-left: 50%;
  }
  .column.is-offset-one-third, .column.is-offset-one-third-tablet {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter, .column.is-offset-one-quarter-tablet {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth, .column.is-offset-one-fifth-tablet {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths, .column.is-offset-two-fifths-tablet {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths, .column.is-offset-three-fifths-tablet {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths, .column.is-offset-four-fifths-tablet {
    margin-left: 80%;
  }
  .column.is-0, .column.is-0-tablet {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0, .column.is-offset-0-tablet {
    margin-left: 0%;
  }
  .column.is-1, .column.is-1-tablet {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1, .column.is-offset-1-tablet {
    margin-left: 8.3333333333%;
  }
  .column.is-2, .column.is-2-tablet {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2, .column.is-offset-2-tablet {
    margin-left: 16.6666666667%;
  }
  .column.is-3, .column.is-3-tablet {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3, .column.is-offset-3-tablet {
    margin-left: 25%;
  }
  .column.is-4, .column.is-4-tablet {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4, .column.is-offset-4-tablet {
    margin-left: 33.3333333333%;
  }
  .column.is-5, .column.is-5-tablet {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5, .column.is-offset-5-tablet {
    margin-left: 41.6666666667%;
  }
  .column.is-6, .column.is-6-tablet {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6, .column.is-offset-6-tablet {
    margin-left: 50%;
  }
  .column.is-7, .column.is-7-tablet {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7, .column.is-offset-7-tablet {
    margin-left: 58.3333333333%;
  }
  .column.is-8, .column.is-8-tablet {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8, .column.is-offset-8-tablet {
    margin-left: 66.6666666667%;
  }
  .column.is-9, .column.is-9-tablet {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9, .column.is-offset-9-tablet {
    margin-left: 75%;
  }
  .column.is-10, .column.is-10-tablet {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10, .column.is-offset-10-tablet {
    margin-left: 83.3333333333%;
  }
  .column.is-11, .column.is-11-tablet {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11, .column.is-offset-11-tablet {
    margin-left: 91.6666666667%;
  }
  .column.is-12, .column.is-12-tablet {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12, .column.is-offset-12-tablet {
    margin-left: 100%;
  }
}
@media screen and (max-width: 1023px) {
  .column.is-narrow-touch {
    flex: none;
  }
  .column.is-full-touch {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-touch {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-touch {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-touch {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-touch {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-touch {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-touch {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-touch {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-touch {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-touch {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-touch {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-touch {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-touch {
    margin-left: 50%;
  }
  .column.is-offset-one-third-touch {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-touch {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-touch {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-touch {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-touch {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-touch {
    margin-left: 80%;
  }
  .column.is-0-touch {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-touch {
    margin-left: 0%;
  }
  .column.is-1-touch {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-touch {
    margin-left: 8.3333333333%;
  }
  .column.is-2-touch {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-touch {
    margin-left: 16.6666666667%;
  }
  .column.is-3-touch {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-touch {
    margin-left: 25%;
  }
  .column.is-4-touch {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-touch {
    margin-left: 33.3333333333%;
  }
  .column.is-5-touch {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-touch {
    margin-left: 41.6666666667%;
  }
  .column.is-6-touch {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-touch {
    margin-left: 50%;
  }
  .column.is-7-touch {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-touch {
    margin-left: 58.3333333333%;
  }
  .column.is-8-touch {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-touch {
    margin-left: 66.6666666667%;
  }
  .column.is-9-touch {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-touch {
    margin-left: 75%;
  }
  .column.is-10-touch {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-touch {
    margin-left: 83.3333333333%;
  }
  .column.is-11-touch {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-touch {
    margin-left: 91.6666666667%;
  }
  .column.is-12-touch {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-touch {
    margin-left: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .column.is-narrow-desktop {
    flex: none;
  }
  .column.is-full-desktop {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-desktop {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-desktop {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-desktop {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-desktop {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-desktop {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-desktop {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-desktop {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-desktop {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-desktop {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-desktop {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-desktop {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-desktop {
    margin-left: 50%;
  }
  .column.is-offset-one-third-desktop {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-desktop {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-desktop {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-desktop {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-desktop {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-desktop {
    margin-left: 80%;
  }
  .column.is-0-desktop {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-desktop {
    margin-left: 0%;
  }
  .column.is-1-desktop {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-desktop {
    margin-left: 8.3333333333%;
  }
  .column.is-2-desktop {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-desktop {
    margin-left: 16.6666666667%;
  }
  .column.is-3-desktop {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-desktop {
    margin-left: 25%;
  }
  .column.is-4-desktop {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-desktop {
    margin-left: 33.3333333333%;
  }
  .column.is-5-desktop {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-desktop {
    margin-left: 41.6666666667%;
  }
  .column.is-6-desktop {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-desktop {
    margin-left: 50%;
  }
  .column.is-7-desktop {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-desktop {
    margin-left: 58.3333333333%;
  }
  .column.is-8-desktop {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-desktop {
    margin-left: 66.6666666667%;
  }
  .column.is-9-desktop {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-desktop {
    margin-left: 75%;
  }
  .column.is-10-desktop {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-desktop {
    margin-left: 83.3333333333%;
  }
  .column.is-11-desktop {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-desktop {
    margin-left: 91.6666666667%;
  }
  .column.is-12-desktop {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-desktop {
    margin-left: 100%;
  }
}
@media screen and (min-width: 1216px) {
  .column.is-narrow-widescreen {
    flex: none;
  }
  .column.is-full-widescreen {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-widescreen {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-widescreen {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-widescreen {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-widescreen {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-widescreen {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-widescreen {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-widescreen {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-widescreen {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-widescreen {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-widescreen {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-widescreen {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-widescreen {
    margin-left: 50%;
  }
  .column.is-offset-one-third-widescreen {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-widescreen {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-widescreen {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-widescreen {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-widescreen {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-widescreen {
    margin-left: 80%;
  }
  .column.is-0-widescreen {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-widescreen {
    margin-left: 0%;
  }
  .column.is-1-widescreen {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-widescreen {
    margin-left: 8.3333333333%;
  }
  .column.is-2-widescreen {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-widescreen {
    margin-left: 16.6666666667%;
  }
  .column.is-3-widescreen {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-widescreen {
    margin-left: 25%;
  }
  .column.is-4-widescreen {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-widescreen {
    margin-left: 33.3333333333%;
  }
  .column.is-5-widescreen {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-widescreen {
    margin-left: 41.6666666667%;
  }
  .column.is-6-widescreen {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-widescreen {
    margin-left: 50%;
  }
  .column.is-7-widescreen {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-widescreen {
    margin-left: 58.3333333333%;
  }
  .column.is-8-widescreen {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-widescreen {
    margin-left: 66.6666666667%;
  }
  .column.is-9-widescreen {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-widescreen {
    margin-left: 75%;
  }
  .column.is-10-widescreen {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-widescreen {
    margin-left: 83.3333333333%;
  }
  .column.is-11-widescreen {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-widescreen {
    margin-left: 91.6666666667%;
  }
  .column.is-12-widescreen {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-widescreen {
    margin-left: 100%;
  }
}
@media screen and (min-width: 1408px) {
  .column.is-narrow-fullhd {
    flex: none;
  }
  .column.is-full-fullhd {
    flex: none;
    width: 100%;
  }
  .column.is-three-quarters-fullhd {
    flex: none;
    width: 75%;
  }
  .column.is-two-thirds-fullhd {
    flex: none;
    width: 66.6666%;
  }
  .column.is-half-fullhd {
    flex: none;
    width: 50%;
  }
  .column.is-one-third-fullhd {
    flex: none;
    width: 33.3333%;
  }
  .column.is-one-quarter-fullhd {
    flex: none;
    width: 25%;
  }
  .column.is-one-fifth-fullhd {
    flex: none;
    width: 20%;
  }
  .column.is-two-fifths-fullhd {
    flex: none;
    width: 40%;
  }
  .column.is-three-fifths-fullhd {
    flex: none;
    width: 60%;
  }
  .column.is-four-fifths-fullhd {
    flex: none;
    width: 80%;
  }
  .column.is-offset-three-quarters-fullhd {
    margin-left: 75%;
  }
  .column.is-offset-two-thirds-fullhd {
    margin-left: 66.6666%;
  }
  .column.is-offset-half-fullhd {
    margin-left: 50%;
  }
  .column.is-offset-one-third-fullhd {
    margin-left: 33.3333%;
  }
  .column.is-offset-one-quarter-fullhd {
    margin-left: 25%;
  }
  .column.is-offset-one-fifth-fullhd {
    margin-left: 20%;
  }
  .column.is-offset-two-fifths-fullhd {
    margin-left: 40%;
  }
  .column.is-offset-three-fifths-fullhd {
    margin-left: 60%;
  }
  .column.is-offset-four-fifths-fullhd {
    margin-left: 80%;
  }
  .column.is-0-fullhd {
    flex: none;
    width: 0%;
  }
  .column.is-offset-0-fullhd {
    margin-left: 0%;
  }
  .column.is-1-fullhd {
    flex: none;
    width: 8.3333333333%;
  }
  .column.is-offset-1-fullhd {
    margin-left: 8.3333333333%;
  }
  .column.is-2-fullhd {
    flex: none;
    width: 16.6666666667%;
  }
  .column.is-offset-2-fullhd {
    margin-left: 16.6666666667%;
  }
  .column.is-3-fullhd {
    flex: none;
    width: 25%;
  }
  .column.is-offset-3-fullhd {
    margin-left: 25%;
  }
  .column.is-4-fullhd {
    flex: none;
    width: 33.3333333333%;
  }
  .column.is-offset-4-fullhd {
    margin-left: 33.3333333333%;
  }
  .column.is-5-fullhd {
    flex: none;
    width: 41.6666666667%;
  }
  .column.is-offset-5-fullhd {
    margin-left: 41.6666666667%;
  }
  .column.is-6-fullhd {
    flex: none;
    width: 50%;
  }
  .column.is-offset-6-fullhd {
    margin-left: 50%;
  }
  .column.is-7-fullhd {
    flex: none;
    width: 58.3333333333%;
  }
  .column.is-offset-7-fullhd {
    margin-left: 58.3333333333%;
  }
  .column.is-8-fullhd {
    flex: none;
    width: 66.6666666667%;
  }
  .column.is-offset-8-fullhd {
    margin-left: 66.6666666667%;
  }
  .column.is-9-fullhd {
    flex: none;
    width: 75%;
  }
  .column.is-offset-9-fullhd {
    margin-left: 75%;
  }
  .column.is-10-fullhd {
    flex: none;
    width: 83.3333333333%;
  }
  .column.is-offset-10-fullhd {
    margin-left: 83.3333333333%;
  }
  .column.is-11-fullhd {
    flex: none;
    width: 91.6666666667%;
  }
  .column.is-offset-11-fullhd {
    margin-left: 91.6666666667%;
  }
  .column.is-12-fullhd {
    flex: none;
    width: 100%;
  }
  .column.is-offset-12-fullhd {
    margin-left: 100%;
  }
}
.columns {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  margin-top: -0.75rem;
}
.columns:last-child {
  margin-bottom: -0.75rem;
}
.columns:not(:last-child) {
  margin-bottom: calc(1.5rem - 0.75rem);
}
.columns.is-centered {
  justify-content: center;
}
.columns.is-gapless {
  margin-left: 0;
  margin-right: 0;
  margin-top: 0;
}
.columns.is-gapless > .column {
  margin: 0;
  padding: 0 !important;
}
.columns.is-gapless:not(:last-child) {
  margin-bottom: 1.5rem;
}
.columns.is-gapless:last-child {
  margin-bottom: 0;
}
.columns.is-mobile {
  display: flex;
}
.columns.is-multiline {
  flex-wrap: wrap;
}
.columns.is-vcentered {
  align-items: center;
}
@media screen and (min-width: 769px), print {
  .columns:not(.is-desktop) {
    display: flex;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-desktop {
    display: flex;
  }
}
.columns.is-variable {
  --columnGap: 0.75rem;
  margin-left: calc(-1 * var(--columnGap));
  margin-right: calc(-1 * var(--columnGap));
}
.columns.is-variable .column {
  padding-left: var(--columnGap);
  padding-right: var(--columnGap);
}
.columns.is-variable.is-0 {
  --columnGap: 0rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-0-mobile {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-0-tablet {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-0-tablet-only {
    --columnGap: 0rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-0-touch {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-0-desktop {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-0-desktop-only {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-0-widescreen {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-0-widescreen-only {
    --columnGap: 0rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-0-fullhd {
    --columnGap: 0rem;
  }
}
.columns.is-variable.is-1 {
  --columnGap: 0.25rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-1-mobile {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-1-tablet {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-1-tablet-only {
    --columnGap: 0.25rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-1-touch {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-1-desktop {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-1-desktop-only {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-1-widescreen {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-1-widescreen-only {
    --columnGap: 0.25rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-1-fullhd {
    --columnGap: 0.25rem;
  }
}
.columns.is-variable.is-2 {
  --columnGap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-2-mobile {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-2-tablet {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-2-tablet-only {
    --columnGap: 0.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-2-touch {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-2-desktop {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-2-desktop-only {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-2-widescreen {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-2-widescreen-only {
    --columnGap: 0.5rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-2-fullhd {
    --columnGap: 0.5rem;
  }
}
.columns.is-variable.is-3 {
  --columnGap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-3-mobile {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-3-tablet {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-3-tablet-only {
    --columnGap: 0.75rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-3-touch {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-3-desktop {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-3-desktop-only {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-3-widescreen {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-3-widescreen-only {
    --columnGap: 0.75rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-3-fullhd {
    --columnGap: 0.75rem;
  }
}
.columns.is-variable.is-4 {
  --columnGap: 1rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-4-mobile {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-4-tablet {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-4-tablet-only {
    --columnGap: 1rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-4-touch {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-4-desktop {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-4-desktop-only {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-4-widescreen {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-4-widescreen-only {
    --columnGap: 1rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-4-fullhd {
    --columnGap: 1rem;
  }
}
.columns.is-variable.is-5 {
  --columnGap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-5-mobile {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-5-tablet {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-5-tablet-only {
    --columnGap: 1.25rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-5-touch {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-5-desktop {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-5-desktop-only {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-5-widescreen {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-5-widescreen-only {
    --columnGap: 1.25rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-5-fullhd {
    --columnGap: 1.25rem;
  }
}
.columns.is-variable.is-6 {
  --columnGap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-6-mobile {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-6-tablet {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-6-tablet-only {
    --columnGap: 1.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-6-touch {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-6-desktop {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-6-desktop-only {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-6-widescreen {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-6-widescreen-only {
    --columnGap: 1.5rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-6-fullhd {
    --columnGap: 1.5rem;
  }
}
.columns.is-variable.is-7 {
  --columnGap: 1.75rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-7-mobile {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-7-tablet {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-7-tablet-only {
    --columnGap: 1.75rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-7-touch {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-7-desktop {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-7-desktop-only {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-7-widescreen {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-7-widescreen-only {
    --columnGap: 1.75rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-7-fullhd {
    --columnGap: 1.75rem;
  }
}
.columns.is-variable.is-8 {
  --columnGap: 2rem;
}
@media screen and (max-width: 768px) {
  .columns.is-variable.is-8-mobile {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 769px), print {
  .columns.is-variable.is-8-tablet {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1023px) {
  .columns.is-variable.is-8-tablet-only {
    --columnGap: 2rem;
  }
}
@media screen and (max-width: 1023px) {
  .columns.is-variable.is-8-touch {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1024px) {
  .columns.is-variable.is-8-desktop {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1215px) {
  .columns.is-variable.is-8-desktop-only {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1216px) {
  .columns.is-variable.is-8-widescreen {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1216px) and (max-width: 1407px) {
  .columns.is-variable.is-8-widescreen-only {
    --columnGap: 2rem;
  }
}
@media screen and (min-width: 1408px) {
  .columns.is-variable.is-8-fullhd {
    --columnGap: 2rem;
  }
}
.tile {
  align-items: stretch;
  display: block;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
  min-height: -webkit-min-content;
  min-height: -moz-min-content;
  min-height: min-content;
}
.tile.is-ancestor {
  margin-left: -0.75rem;
  margin-right: -0.75rem;
  margin-top: -0.75rem;
}
.tile.is-ancestor:last-child {
  margin-bottom: -0.75rem;
}
.tile.is-ancestor:not(:last-child) {
  margin-bottom: 0.75rem;
}
.tile.is-child {
  margin: 0 !important;
}
.tile.is-parent {
  padding: 0.75rem;
}
.tile.is-vertical {
  flex-direction: column;
}
.tile.is-vertical > .tile.is-child:not(:last-child) {
  margin-bottom: 1.5rem !important;
}
@media screen and (min-width: 769px), print {
  .tile:not(.is-child) {
    display: flex;
  }
  .tile.is-1 {
    flex: none;
    width: 8.3333333333%;
  }
  .tile.is-2 {
    flex: none;
    width: 16.6666666667%;
  }
  .tile.is-3 {
    flex: none;
    width: 25%;
  }
  .tile.is-4 {
    flex: none;
    width: 33.3333333333%;
  }
  .tile.is-5 {
    flex: none;
    width: 41.6666666667%;
  }
  .tile.is-6 {
    flex: none;
    width: 50%;
  }
  .tile.is-7 {
    flex: none;
    width: 58.3333333333%;
  }
  .tile.is-8 {
    flex: none;
    width: 66.6666666667%;
  }
  .tile.is-9 {
    flex: none;
    width: 75%;
  }
  .tile.is-10 {
    flex: none;
    width: 83.3333333333%;
  }
  .tile.is-11 {
    flex: none;
    width: 91.6666666667%;
  }
  .tile.is-12 {
    flex: none;
    width: 100%;
  }
}
.navbar {
  background-color: white;
  min-height: 3.25rem;
  position: relative;
  z-index: 30;
}
.navbar.is-white {
  background-color: white;
  color: #0a0a0a;
}
.navbar.is-white .navbar-brand > .navbar-item,
.navbar.is-white .navbar-brand .navbar-link {
  color: #0a0a0a;
}
.navbar.is-white .navbar-brand > a.navbar-item:focus, .navbar.is-white .navbar-brand > a.navbar-item:hover, .navbar.is-white .navbar-brand > a.navbar-item.is-active,
.navbar.is-white .navbar-brand .navbar-link:focus,
.navbar.is-white .navbar-brand .navbar-link:hover,
.navbar.is-white .navbar-brand .navbar-link.is-active {
  background-color: #f2f2f2;
  color: #0a0a0a;
}
.navbar.is-white .navbar-brand .navbar-link::after {
  border-color: #0a0a0a;
}
.navbar.is-white .navbar-burger {
  color: #0a0a0a;
}
@media screen and (min-width: 1024px) {
  .navbar.is-white .navbar-start > .navbar-item,
.navbar.is-white .navbar-start .navbar-link,
.navbar.is-white .navbar-end > .navbar-item,
.navbar.is-white .navbar-end .navbar-link {
    color: #0a0a0a;
  }
  .navbar.is-white .navbar-start > a.navbar-item:focus, .navbar.is-white .navbar-start > a.navbar-item:hover, .navbar.is-white .navbar-start > a.navbar-item.is-active,
.navbar.is-white .navbar-start .navbar-link:focus,
.navbar.is-white .navbar-start .navbar-link:hover,
.navbar.is-white .navbar-start .navbar-link.is-active,
.navbar.is-white .navbar-end > a.navbar-item:focus,
.navbar.is-white .navbar-end > a.navbar-item:hover,
.navbar.is-white .navbar-end > a.navbar-item.is-active,
.navbar.is-white .navbar-end .navbar-link:focus,
.navbar.is-white .navbar-end .navbar-link:hover,
.navbar.is-white .navbar-end .navbar-link.is-active {
    background-color: #f2f2f2;
    color: #0a0a0a;
  }
  .navbar.is-white .navbar-start .navbar-link::after,
.navbar.is-white .navbar-end .navbar-link::after {
    border-color: #0a0a0a;
  }
  .navbar.is-white .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-white .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-white .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #f2f2f2;
    color: #0a0a0a;
  }
  .navbar.is-white .navbar-dropdown a.navbar-item.is-active {
    background-color: white;
    color: #0a0a0a;
  }
}
.navbar.is-black {
  background-color: #0a0a0a;
  color: white;
}
.navbar.is-black .navbar-brand > .navbar-item,
.navbar.is-black .navbar-brand .navbar-link {
  color: white;
}
.navbar.is-black .navbar-brand > a.navbar-item:focus, .navbar.is-black .navbar-brand > a.navbar-item:hover, .navbar.is-black .navbar-brand > a.navbar-item.is-active,
.navbar.is-black .navbar-brand .navbar-link:focus,
.navbar.is-black .navbar-brand .navbar-link:hover,
.navbar.is-black .navbar-brand .navbar-link.is-active {
  background-color: black;
  color: white;
}
.navbar.is-black .navbar-brand .navbar-link::after {
  border-color: white;
}
.navbar.is-black .navbar-burger {
  color: white;
}
@media screen and (min-width: 1024px) {
  .navbar.is-black .navbar-start > .navbar-item,
.navbar.is-black .navbar-start .navbar-link,
.navbar.is-black .navbar-end > .navbar-item,
.navbar.is-black .navbar-end .navbar-link {
    color: white;
  }
  .navbar.is-black .navbar-start > a.navbar-item:focus, .navbar.is-black .navbar-start > a.navbar-item:hover, .navbar.is-black .navbar-start > a.navbar-item.is-active,
.navbar.is-black .navbar-start .navbar-link:focus,
.navbar.is-black .navbar-start .navbar-link:hover,
.navbar.is-black .navbar-start .navbar-link.is-active,
.navbar.is-black .navbar-end > a.navbar-item:focus,
.navbar.is-black .navbar-end > a.navbar-item:hover,
.navbar.is-black .navbar-end > a.navbar-item.is-active,
.navbar.is-black .navbar-end .navbar-link:focus,
.navbar.is-black .navbar-end .navbar-link:hover,
.navbar.is-black .navbar-end .navbar-link.is-active {
    background-color: black;
    color: white;
  }
  .navbar.is-black .navbar-start .navbar-link::after,
.navbar.is-black .navbar-end .navbar-link::after {
    border-color: white;
  }
  .navbar.is-black .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-black .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-black .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: black;
    color: white;
  }
  .navbar.is-black .navbar-dropdown a.navbar-item.is-active {
    background-color: #0a0a0a;
    color: white;
  }
}
.navbar.is-light {
  background-color: whitesmoke;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-brand > .navbar-item,
.navbar.is-light .navbar-brand .navbar-link {
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-brand > a.navbar-item:focus, .navbar.is-light .navbar-brand > a.navbar-item:hover, .navbar.is-light .navbar-brand > a.navbar-item.is-active,
.navbar.is-light .navbar-brand .navbar-link:focus,
.navbar.is-light .navbar-brand .navbar-link:hover,
.navbar.is-light .navbar-brand .navbar-link.is-active {
  background-color: #e8e8e8;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-brand .navbar-link::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.navbar.is-light .navbar-burger {
  color: rgba(0, 0, 0, 0.7);
}
@media screen and (min-width: 1024px) {
  .navbar.is-light .navbar-start > .navbar-item,
.navbar.is-light .navbar-start .navbar-link,
.navbar.is-light .navbar-end > .navbar-item,
.navbar.is-light .navbar-end .navbar-link {
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-start > a.navbar-item:focus, .navbar.is-light .navbar-start > a.navbar-item:hover, .navbar.is-light .navbar-start > a.navbar-item.is-active,
.navbar.is-light .navbar-start .navbar-link:focus,
.navbar.is-light .navbar-start .navbar-link:hover,
.navbar.is-light .navbar-start .navbar-link.is-active,
.navbar.is-light .navbar-end > a.navbar-item:focus,
.navbar.is-light .navbar-end > a.navbar-item:hover,
.navbar.is-light .navbar-end > a.navbar-item.is-active,
.navbar.is-light .navbar-end .navbar-link:focus,
.navbar.is-light .navbar-end .navbar-link:hover,
.navbar.is-light .navbar-end .navbar-link.is-active {
    background-color: #e8e8e8;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-start .navbar-link::after,
.navbar.is-light .navbar-end .navbar-link::after {
    border-color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-light .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-light .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #e8e8e8;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-light .navbar-dropdown a.navbar-item.is-active {
    background-color: whitesmoke;
    color: rgba(0, 0, 0, 0.7);
  }
}
.navbar.is-dark {
  background-color: #363636;
  color: #fff;
}
.navbar.is-dark .navbar-brand > .navbar-item,
.navbar.is-dark .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-dark .navbar-brand > a.navbar-item:focus, .navbar.is-dark .navbar-brand > a.navbar-item:hover, .navbar.is-dark .navbar-brand > a.navbar-item.is-active,
.navbar.is-dark .navbar-brand .navbar-link:focus,
.navbar.is-dark .navbar-brand .navbar-link:hover,
.navbar.is-dark .navbar-brand .navbar-link.is-active {
  background-color: #292929;
  color: #fff;
}
.navbar.is-dark .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-dark .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-dark .navbar-start > .navbar-item,
.navbar.is-dark .navbar-start .navbar-link,
.navbar.is-dark .navbar-end > .navbar-item,
.navbar.is-dark .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-dark .navbar-start > a.navbar-item:focus, .navbar.is-dark .navbar-start > a.navbar-item:hover, .navbar.is-dark .navbar-start > a.navbar-item.is-active,
.navbar.is-dark .navbar-start .navbar-link:focus,
.navbar.is-dark .navbar-start .navbar-link:hover,
.navbar.is-dark .navbar-start .navbar-link.is-active,
.navbar.is-dark .navbar-end > a.navbar-item:focus,
.navbar.is-dark .navbar-end > a.navbar-item:hover,
.navbar.is-dark .navbar-end > a.navbar-item.is-active,
.navbar.is-dark .navbar-end .navbar-link:focus,
.navbar.is-dark .navbar-end .navbar-link:hover,
.navbar.is-dark .navbar-end .navbar-link.is-active {
    background-color: #292929;
    color: #fff;
  }
  .navbar.is-dark .navbar-start .navbar-link::after,
.navbar.is-dark .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-dark .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-dark .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-dark .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #292929;
    color: #fff;
  }
  .navbar.is-dark .navbar-dropdown a.navbar-item.is-active {
    background-color: #363636;
    color: #fff;
  }
}
.navbar.is-primary {
  background-color: #00d1b2;
  color: #fff;
}
.navbar.is-primary .navbar-brand > .navbar-item,
.navbar.is-primary .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-primary .navbar-brand > a.navbar-item:focus, .navbar.is-primary .navbar-brand > a.navbar-item:hover, .navbar.is-primary .navbar-brand > a.navbar-item.is-active,
.navbar.is-primary .navbar-brand .navbar-link:focus,
.navbar.is-primary .navbar-brand .navbar-link:hover,
.navbar.is-primary .navbar-brand .navbar-link.is-active {
  background-color: #00b89c;
  color: #fff;
}
.navbar.is-primary .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-primary .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-primary .navbar-start > .navbar-item,
.navbar.is-primary .navbar-start .navbar-link,
.navbar.is-primary .navbar-end > .navbar-item,
.navbar.is-primary .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-primary .navbar-start > a.navbar-item:focus, .navbar.is-primary .navbar-start > a.navbar-item:hover, .navbar.is-primary .navbar-start > a.navbar-item.is-active,
.navbar.is-primary .navbar-start .navbar-link:focus,
.navbar.is-primary .navbar-start .navbar-link:hover,
.navbar.is-primary .navbar-start .navbar-link.is-active,
.navbar.is-primary .navbar-end > a.navbar-item:focus,
.navbar.is-primary .navbar-end > a.navbar-item:hover,
.navbar.is-primary .navbar-end > a.navbar-item.is-active,
.navbar.is-primary .navbar-end .navbar-link:focus,
.navbar.is-primary .navbar-end .navbar-link:hover,
.navbar.is-primary .navbar-end .navbar-link.is-active {
    background-color: #00b89c;
    color: #fff;
  }
  .navbar.is-primary .navbar-start .navbar-link::after,
.navbar.is-primary .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-primary .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-primary .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-primary .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #00b89c;
    color: #fff;
  }
  .navbar.is-primary .navbar-dropdown a.navbar-item.is-active {
    background-color: #00d1b2;
    color: #fff;
  }
}
.navbar.is-link {
  background-color: #3273dc;
  color: #fff;
}
.navbar.is-link .navbar-brand > .navbar-item,
.navbar.is-link .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-link .navbar-brand > a.navbar-item:focus, .navbar.is-link .navbar-brand > a.navbar-item:hover, .navbar.is-link .navbar-brand > a.navbar-item.is-active,
.navbar.is-link .navbar-brand .navbar-link:focus,
.navbar.is-link .navbar-brand .navbar-link:hover,
.navbar.is-link .navbar-brand .navbar-link.is-active {
  background-color: #2366d1;
  color: #fff;
}
.navbar.is-link .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-link .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-link .navbar-start > .navbar-item,
.navbar.is-link .navbar-start .navbar-link,
.navbar.is-link .navbar-end > .navbar-item,
.navbar.is-link .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-link .navbar-start > a.navbar-item:focus, .navbar.is-link .navbar-start > a.navbar-item:hover, .navbar.is-link .navbar-start > a.navbar-item.is-active,
.navbar.is-link .navbar-start .navbar-link:focus,
.navbar.is-link .navbar-start .navbar-link:hover,
.navbar.is-link .navbar-start .navbar-link.is-active,
.navbar.is-link .navbar-end > a.navbar-item:focus,
.navbar.is-link .navbar-end > a.navbar-item:hover,
.navbar.is-link .navbar-end > a.navbar-item.is-active,
.navbar.is-link .navbar-end .navbar-link:focus,
.navbar.is-link .navbar-end .navbar-link:hover,
.navbar.is-link .navbar-end .navbar-link.is-active {
    background-color: #2366d1;
    color: #fff;
  }
  .navbar.is-link .navbar-start .navbar-link::after,
.navbar.is-link .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-link .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-link .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-link .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #2366d1;
    color: #fff;
  }
  .navbar.is-link .navbar-dropdown a.navbar-item.is-active {
    background-color: #3273dc;
    color: #fff;
  }
}
.navbar.is-info {
  background-color: #3298dc;
  color: #fff;
}
.navbar.is-info .navbar-brand > .navbar-item,
.navbar.is-info .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-info .navbar-brand > a.navbar-item:focus, .navbar.is-info .navbar-brand > a.navbar-item:hover, .navbar.is-info .navbar-brand > a.navbar-item.is-active,
.navbar.is-info .navbar-brand .navbar-link:focus,
.navbar.is-info .navbar-brand .navbar-link:hover,
.navbar.is-info .navbar-brand .navbar-link.is-active {
  background-color: #238cd1;
  color: #fff;
}
.navbar.is-info .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-info .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-info .navbar-start > .navbar-item,
.navbar.is-info .navbar-start .navbar-link,
.navbar.is-info .navbar-end > .navbar-item,
.navbar.is-info .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-info .navbar-start > a.navbar-item:focus, .navbar.is-info .navbar-start > a.navbar-item:hover, .navbar.is-info .navbar-start > a.navbar-item.is-active,
.navbar.is-info .navbar-start .navbar-link:focus,
.navbar.is-info .navbar-start .navbar-link:hover,
.navbar.is-info .navbar-start .navbar-link.is-active,
.navbar.is-info .navbar-end > a.navbar-item:focus,
.navbar.is-info .navbar-end > a.navbar-item:hover,
.navbar.is-info .navbar-end > a.navbar-item.is-active,
.navbar.is-info .navbar-end .navbar-link:focus,
.navbar.is-info .navbar-end .navbar-link:hover,
.navbar.is-info .navbar-end .navbar-link.is-active {
    background-color: #238cd1;
    color: #fff;
  }
  .navbar.is-info .navbar-start .navbar-link::after,
.navbar.is-info .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-info .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-info .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-info .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #238cd1;
    color: #fff;
  }
  .navbar.is-info .navbar-dropdown a.navbar-item.is-active {
    background-color: #3298dc;
    color: #fff;
  }
}
.navbar.is-success {
  background-color: #48c774;
  color: #fff;
}
.navbar.is-success .navbar-brand > .navbar-item,
.navbar.is-success .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-success .navbar-brand > a.navbar-item:focus, .navbar.is-success .navbar-brand > a.navbar-item:hover, .navbar.is-success .navbar-brand > a.navbar-item.is-active,
.navbar.is-success .navbar-brand .navbar-link:focus,
.navbar.is-success .navbar-brand .navbar-link:hover,
.navbar.is-success .navbar-brand .navbar-link.is-active {
  background-color: #3abb67;
  color: #fff;
}
.navbar.is-success .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-success .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-success .navbar-start > .navbar-item,
.navbar.is-success .navbar-start .navbar-link,
.navbar.is-success .navbar-end > .navbar-item,
.navbar.is-success .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-success .navbar-start > a.navbar-item:focus, .navbar.is-success .navbar-start > a.navbar-item:hover, .navbar.is-success .navbar-start > a.navbar-item.is-active,
.navbar.is-success .navbar-start .navbar-link:focus,
.navbar.is-success .navbar-start .navbar-link:hover,
.navbar.is-success .navbar-start .navbar-link.is-active,
.navbar.is-success .navbar-end > a.navbar-item:focus,
.navbar.is-success .navbar-end > a.navbar-item:hover,
.navbar.is-success .navbar-end > a.navbar-item.is-active,
.navbar.is-success .navbar-end .navbar-link:focus,
.navbar.is-success .navbar-end .navbar-link:hover,
.navbar.is-success .navbar-end .navbar-link.is-active {
    background-color: #3abb67;
    color: #fff;
  }
  .navbar.is-success .navbar-start .navbar-link::after,
.navbar.is-success .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-success .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-success .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-success .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #3abb67;
    color: #fff;
  }
  .navbar.is-success .navbar-dropdown a.navbar-item.is-active {
    background-color: #48c774;
    color: #fff;
  }
}
.navbar.is-warning {
  background-color: #ffdd57;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-brand > .navbar-item,
.navbar.is-warning .navbar-brand .navbar-link {
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-brand > a.navbar-item:focus, .navbar.is-warning .navbar-brand > a.navbar-item:hover, .navbar.is-warning .navbar-brand > a.navbar-item.is-active,
.navbar.is-warning .navbar-brand .navbar-link:focus,
.navbar.is-warning .navbar-brand .navbar-link:hover,
.navbar.is-warning .navbar-brand .navbar-link.is-active {
  background-color: #ffd83d;
  color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-brand .navbar-link::after {
  border-color: rgba(0, 0, 0, 0.7);
}
.navbar.is-warning .navbar-burger {
  color: rgba(0, 0, 0, 0.7);
}
@media screen and (min-width: 1024px) {
  .navbar.is-warning .navbar-start > .navbar-item,
.navbar.is-warning .navbar-start .navbar-link,
.navbar.is-warning .navbar-end > .navbar-item,
.navbar.is-warning .navbar-end .navbar-link {
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-start > a.navbar-item:focus, .navbar.is-warning .navbar-start > a.navbar-item:hover, .navbar.is-warning .navbar-start > a.navbar-item.is-active,
.navbar.is-warning .navbar-start .navbar-link:focus,
.navbar.is-warning .navbar-start .navbar-link:hover,
.navbar.is-warning .navbar-start .navbar-link.is-active,
.navbar.is-warning .navbar-end > a.navbar-item:focus,
.navbar.is-warning .navbar-end > a.navbar-item:hover,
.navbar.is-warning .navbar-end > a.navbar-item.is-active,
.navbar.is-warning .navbar-end .navbar-link:focus,
.navbar.is-warning .navbar-end .navbar-link:hover,
.navbar.is-warning .navbar-end .navbar-link.is-active {
    background-color: #ffd83d;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-start .navbar-link::after,
.navbar.is-warning .navbar-end .navbar-link::after {
    border-color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-warning .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-warning .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #ffd83d;
    color: rgba(0, 0, 0, 0.7);
  }
  .navbar.is-warning .navbar-dropdown a.navbar-item.is-active {
    background-color: #ffdd57;
    color: rgba(0, 0, 0, 0.7);
  }
}
.navbar.is-danger {
  background-color: #f14668;
  color: #fff;
}
.navbar.is-danger .navbar-brand > .navbar-item,
.navbar.is-danger .navbar-brand .navbar-link {
  color: #fff;
}
.navbar.is-danger .navbar-brand > a.navbar-item:focus, .navbar.is-danger .navbar-brand > a.navbar-item:hover, .navbar.is-danger .navbar-brand > a.navbar-item.is-active,
.navbar.is-danger .navbar-brand .navbar-link:focus,
.navbar.is-danger .navbar-brand .navbar-link:hover,
.navbar.is-danger .navbar-brand .navbar-link.is-active {
  background-color: #ef2e55;
  color: #fff;
}
.navbar.is-danger .navbar-brand .navbar-link::after {
  border-color: #fff;
}
.navbar.is-danger .navbar-burger {
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .navbar.is-danger .navbar-start > .navbar-item,
.navbar.is-danger .navbar-start .navbar-link,
.navbar.is-danger .navbar-end > .navbar-item,
.navbar.is-danger .navbar-end .navbar-link {
    color: #fff;
  }
  .navbar.is-danger .navbar-start > a.navbar-item:focus, .navbar.is-danger .navbar-start > a.navbar-item:hover, .navbar.is-danger .navbar-start > a.navbar-item.is-active,
.navbar.is-danger .navbar-start .navbar-link:focus,
.navbar.is-danger .navbar-start .navbar-link:hover,
.navbar.is-danger .navbar-start .navbar-link.is-active,
.navbar.is-danger .navbar-end > a.navbar-item:focus,
.navbar.is-danger .navbar-end > a.navbar-item:hover,
.navbar.is-danger .navbar-end > a.navbar-item.is-active,
.navbar.is-danger .navbar-end .navbar-link:focus,
.navbar.is-danger .navbar-end .navbar-link:hover,
.navbar.is-danger .navbar-end .navbar-link.is-active {
    background-color: #ef2e55;
    color: #fff;
  }
  .navbar.is-danger .navbar-start .navbar-link::after,
.navbar.is-danger .navbar-end .navbar-link::after {
    border-color: #fff;
  }
  .navbar.is-danger .navbar-item.has-dropdown:focus .navbar-link,
.navbar.is-danger .navbar-item.has-dropdown:hover .navbar-link,
.navbar.is-danger .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #ef2e55;
    color: #fff;
  }
  .navbar.is-danger .navbar-dropdown a.navbar-item.is-active {
    background-color: #f14668;
    color: #fff;
  }
}
.navbar > .container {
  align-items: stretch;
  display: flex;
  min-height: 3.25rem;
  width: 100%;
}
.navbar.has-shadow {
  box-shadow: 0 2px 0 0 whitesmoke;
}
.navbar.is-fixed-bottom, .navbar.is-fixed-top {
  left: 0;
  position: fixed;
  right: 0;
  z-index: 30;
}
.navbar.is-fixed-bottom {
  bottom: 0;
}
.navbar.is-fixed-bottom.has-shadow {
  box-shadow: 0 -2px 0 0 whitesmoke;
}
.navbar.is-fixed-top {
  top: 0;
}
html.has-navbar-fixed-top,
body.has-navbar-fixed-top {
  padding-top: 3.25rem;
}
html.has-navbar-fixed-bottom,
body.has-navbar-fixed-bottom {
  padding-bottom: 3.25rem;
}
.navbar-brand,
.navbar-tabs {
  align-items: stretch;
  display: flex;
  flex-shrink: 0;
  min-height: 3.25rem;
}
.navbar-brand a.navbar-item:focus, .navbar-brand a.navbar-item:hover {
  background-color: transparent;
}
.navbar-tabs {
  -webkit-overflow-scrolling: touch;
  max-width: 100vw;
  overflow-x: auto;
  overflow-y: hidden;
}
.navbar-burger {
  color: #4a4a4a;
  cursor: pointer;
  display: block;
  height: 3.25rem;
  position: relative;
  width: 3.25rem;
  margin-left: auto;
}
.navbar-burger span {
  background-color: currentColor;
  display: block;
  height: 1px;
  left: calc(50% - 8px);
  position: absolute;
  transform-origin: center;
  transition-duration: 86ms;
  transition-property: background-color, opacity, transform;
  transition-timing-function: ease-out;
  width: 16px;
}
.navbar-burger span:nth-child(1) {
  top: calc(50% - 6px);
}
.navbar-burger span:nth-child(2) {
  top: calc(50% - 1px);
}
.navbar-burger span:nth-child(3) {
  top: calc(50% + 4px);
}
.navbar-burger:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.navbar-burger.is-active span:nth-child(1) {
  transform: translateY(5px) rotate(45deg);
}
.navbar-burger.is-active span:nth-child(2) {
  opacity: 0;
}
.navbar-burger.is-active span:nth-child(3) {
  transform: translateY(-5px) rotate(-45deg);
}
.navbar-menu {
  display: none;
}
.navbar-item,
.navbar-link {
  color: #4a4a4a;
  display: block;
  line-height: 1.5;
  padding: 0.5rem 0.75rem;
  position: relative;
}
.navbar-item .icon:only-child,
.navbar-link .icon:only-child {
  margin-left: -0.25rem;
  margin-right: -0.25rem;
}
a.navbar-item,
.navbar-link {
  cursor: pointer;
}
a.navbar-item:focus, a.navbar-item:focus-within, a.navbar-item:hover, a.navbar-item.is-active,
.navbar-link:focus,
.navbar-link:focus-within,
.navbar-link:hover,
.navbar-link.is-active {
  background-color: #fafafa;
  color: #3273dc;
}
.navbar-item {
  flex-grow: 0;
  flex-shrink: 0;
}
.navbar-item img {
  max-height: 1.75rem;
}
.navbar-item.has-dropdown {
  padding: 0;
}
.navbar-item.is-expanded {
  flex-grow: 1;
  flex-shrink: 1;
}
.navbar-item.is-tab {
  border-bottom: 1px solid transparent;
  min-height: 3.25rem;
  padding-bottom: calc(0.5rem - 1px);
}
.navbar-item.is-tab:focus, .navbar-item.is-tab:hover {
  background-color: transparent;
  border-bottom-color: #3273dc;
}
.navbar-item.is-tab.is-active {
  background-color: transparent;
  border-bottom-color: #3273dc;
  border-bottom-style: solid;
  border-bottom-width: 3px;
  color: #3273dc;
  padding-bottom: calc(0.5rem - 3px);
}
.navbar-content {
  flex-grow: 1;
  flex-shrink: 1;
}
.navbar-link:not(.is-arrowless) {
  padding-right: 2.5em;
}
.navbar-link:not(.is-arrowless)::after {
  border-color: #3273dc;
  margin-top: -0.375em;
  right: 1.125em;
}
.navbar-dropdown {
  font-size: 0.875rem;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
}
.navbar-dropdown .navbar-item {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}
.navbar-divider {
  background-color: whitesmoke;
  border: none;
  display: none;
  height: 2px;
  margin: 0.5rem 0;
}
@media screen and (max-width: 1023px) {
  .navbar > .container {
    display: block;
  }

  .navbar-brand .navbar-item,
.navbar-tabs .navbar-item {
    align-items: center;
    display: flex;
  }

  .navbar-link::after {
    display: none;
  }

  .navbar-menu {
    background-color: white;
    box-shadow: 0 8px 16px rgba(10, 10, 10, 0.1);
    padding: 0.5rem 0;
  }
  .navbar-menu.is-active {
    display: block;
  }

  .navbar.is-fixed-bottom-touch, .navbar.is-fixed-top-touch {
    left: 0;
    position: fixed;
    right: 0;
    z-index: 30;
  }
  .navbar.is-fixed-bottom-touch {
    bottom: 0;
  }
  .navbar.is-fixed-bottom-touch.has-shadow {
    box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1);
  }
  .navbar.is-fixed-top-touch {
    top: 0;
  }
  .navbar.is-fixed-top .navbar-menu, .navbar.is-fixed-top-touch .navbar-menu {
    -webkit-overflow-scrolling: touch;
    max-height: calc(100vh - 3.25rem);
    overflow: auto;
  }

  html.has-navbar-fixed-top-touch,
body.has-navbar-fixed-top-touch {
    padding-top: 3.25rem;
  }
  html.has-navbar-fixed-bottom-touch,
body.has-navbar-fixed-bottom-touch {
    padding-bottom: 3.25rem;
  }
}
@media screen and (min-width: 1024px) {
  .navbar,
.navbar-menu,
.navbar-start,
.navbar-end {
    align-items: stretch;
    display: flex;
  }

  .navbar {
    min-height: 3.25rem;
  }
  .navbar.is-spaced {
    padding: 1rem 2rem;
  }
  .navbar.is-spaced .navbar-start,
.navbar.is-spaced .navbar-end {
    align-items: center;
  }
  .navbar.is-spaced a.navbar-item,
.navbar.is-spaced .navbar-link {
    border-radius: 4px;
  }
  .navbar.is-transparent a.navbar-item:focus, .navbar.is-transparent a.navbar-item:hover, .navbar.is-transparent a.navbar-item.is-active,
.navbar.is-transparent .navbar-link:focus,
.navbar.is-transparent .navbar-link:hover,
.navbar.is-transparent .navbar-link.is-active {
    background-color: transparent !important;
  }
  .navbar.is-transparent .navbar-item.has-dropdown.is-active .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:focus-within .navbar-link, .navbar.is-transparent .navbar-item.has-dropdown.is-hoverable:hover .navbar-link {
    background-color: transparent !important;
  }
  .navbar.is-transparent .navbar-dropdown a.navbar-item:focus, .navbar.is-transparent .navbar-dropdown a.navbar-item:hover {
    background-color: whitesmoke;
    color: #0a0a0a;
  }
  .navbar.is-transparent .navbar-dropdown a.navbar-item.is-active {
    background-color: whitesmoke;
    color: #3273dc;
  }

  .navbar-burger {
    display: none;
  }

  .navbar-item,
.navbar-link {
    align-items: center;
    display: flex;
  }

  .navbar-item.has-dropdown {
    align-items: stretch;
  }
  .navbar-item.has-dropdown-up .navbar-link::after {
    transform: rotate(135deg) translate(0.25em, -0.25em);
  }
  .navbar-item.has-dropdown-up .navbar-dropdown {
    border-bottom: 2px solid #dbdbdb;
    border-radius: 6px 6px 0 0;
    border-top: none;
    bottom: 100%;
    box-shadow: 0 -8px 8px rgba(10, 10, 10, 0.1);
    top: auto;
  }
  .navbar-item.is-active .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown {
    display: block;
  }
  .navbar.is-spaced .navbar-item.is-active .navbar-dropdown, .navbar-item.is-active .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus .navbar-dropdown, .navbar-item.is-hoverable:focus .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:focus-within .navbar-dropdown, .navbar-item.is-hoverable:focus-within .navbar-dropdown.is-boxed, .navbar.is-spaced .navbar-item.is-hoverable:hover .navbar-dropdown, .navbar-item.is-hoverable:hover .navbar-dropdown.is-boxed {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .navbar-menu {
    flex-grow: 1;
    flex-shrink: 0;
  }

  .navbar-start {
    justify-content: flex-start;
    margin-right: auto;
  }

  .navbar-end {
    justify-content: flex-end;
    margin-left: auto;
  }

  .navbar-dropdown {
    background-color: white;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
    border-top: 2px solid #dbdbdb;
    box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1);
    display: none;
    font-size: 0.875rem;
    left: 0;
    min-width: 100%;
    position: absolute;
    top: 100%;
    z-index: 20;
  }
  .navbar-dropdown .navbar-item {
    padding: 0.375rem 1rem;
    white-space: nowrap;
  }
  .navbar-dropdown a.navbar-item {
    padding-right: 3rem;
  }
  .navbar-dropdown a.navbar-item:focus, .navbar-dropdown a.navbar-item:hover {
    background-color: whitesmoke;
    color: #0a0a0a;
  }
  .navbar-dropdown a.navbar-item.is-active {
    background-color: whitesmoke;
    color: #3273dc;
  }
  .navbar.is-spaced .navbar-dropdown, .navbar-dropdown.is-boxed {
    border-radius: 6px;
    border-top: none;
    box-shadow: 0 8px 8px rgba(10, 10, 10, 0.1), 0 0 0 1px rgba(10, 10, 10, 0.1);
    display: block;
    opacity: 0;
    pointer-events: none;
    top: calc(100% + (-4px));
    transform: translateY(-5px);
    transition-duration: 86ms;
    transition-property: opacity, transform;
  }
  .navbar-dropdown.is-right {
    left: auto;
    right: 0;
  }

  .navbar-divider {
    display: block;
  }

  .navbar > .container .navbar-brand,
.container > .navbar .navbar-brand {
    margin-left: -0.75rem;
  }
  .navbar > .container .navbar-menu,
.container > .navbar .navbar-menu {
    margin-right: -0.75rem;
  }

  .navbar.is-fixed-bottom-desktop, .navbar.is-fixed-top-desktop {
    left: 0;
    position: fixed;
    right: 0;
    z-index: 30;
  }
  .navbar.is-fixed-bottom-desktop {
    bottom: 0;
  }
  .navbar.is-fixed-bottom-desktop.has-shadow {
    box-shadow: 0 -2px 3px rgba(10, 10, 10, 0.1);
  }
  .navbar.is-fixed-top-desktop {
    top: 0;
  }

  html.has-navbar-fixed-top-desktop,
body.has-navbar-fixed-top-desktop {
    padding-top: 3.25rem;
  }
  html.has-navbar-fixed-bottom-desktop,
body.has-navbar-fixed-bottom-desktop {
    padding-bottom: 3.25rem;
  }
  html.has-spaced-navbar-fixed-top,
body.has-spaced-navbar-fixed-top {
    padding-top: 5.25rem;
  }
  html.has-spaced-navbar-fixed-bottom,
body.has-spaced-navbar-fixed-bottom {
    padding-bottom: 5.25rem;
  }

  a.navbar-item.is-active,
.navbar-link.is-active {
    color: #0a0a0a;
  }
  a.navbar-item.is-active:not(:focus):not(:hover),
.navbar-link.is-active:not(:focus):not(:hover) {
    background-color: transparent;
  }

  .navbar-item.has-dropdown:focus .navbar-link, .navbar-item.has-dropdown:hover .navbar-link, .navbar-item.has-dropdown.is-active .navbar-link {
    background-color: #fafafa;
  }
}
.hero.is-fullheight-with-navbar {
  min-height: calc(100vh - 3.25rem);
}
.container {
  flex-grow: 1;
  margin: 0 auto;
  position: relative;
  width: auto;
}
.container.is-fluid {
  max-width: none;
  padding-left: 32px;
  padding-right: 32px;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .container {
    max-width: 960px;
  }
}
@media screen and (max-width: 1215px) {
  .container.is-widescreen {
    max-width: 1152px;
  }
}
@media screen and (max-width: 1407px) {
  .container.is-fullhd {
    max-width: 1344px;
  }
}
@media screen and (min-width: 1216px) {
  .container {
    max-width: 1152px;
  }
}
@media screen and (min-width: 1408px) {
  .container {
    max-width: 1344px;
  }
}
.section {
  padding: 3rem 1.5rem;
}
@media screen and (min-width: 1024px) {
  .section.is-medium {
    padding: 9rem 1.5rem;
  }
  .section.is-large {
    padding: 18rem 1.5rem;
  }
}
.title,
.subtitle {
  word-break: break-word;
}
.title em,
.title span,
.subtitle em,
.subtitle span {
  font-weight: inherit;
}
.title sub,
.subtitle sub {
  font-size: 0.75em;
}
.title sup,
.subtitle sup {
  font-size: 0.75em;
}
.title .tag,
.subtitle .tag {
  vertical-align: middle;
}
.title {
  color: #363636;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.125;
}
.title strong {
  color: inherit;
  font-weight: inherit;
}
.title + .highlight {
  margin-top: -0.75rem;
}
.title:not(.is-spaced) + .subtitle {
  margin-top: -1.25rem;
}
.title.is-1 {
  font-size: 3rem;
}
.title.is-2 {
  font-size: 2.5rem;
}
.title.is-3 {
  font-size: 2rem;
}
.title.is-4 {
  font-size: 1.5rem;
}
.title.is-5 {
  font-size: 1.25rem;
}
.title.is-6 {
  font-size: 1rem;
}
.title.is-7 {
  font-size: 0.75rem;
}
.subtitle {
  color: #4a4a4a;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.25;
}
.subtitle strong {
  color: #363636;
  font-weight: 600;
}
.subtitle:not(.is-spaced) + .title {
  margin-top: -1.25rem;
}
.subtitle.is-1 {
  font-size: 3rem;
}
.subtitle.is-2 {
  font-size: 2.5rem;
}
.subtitle.is-3 {
  font-size: 2rem;
}
.subtitle.is-4 {
  font-size: 1.5rem;
}
.subtitle.is-5 {
  font-size: 1.25rem;
}
.subtitle.is-6 {
  font-size: 1rem;
}
.subtitle.is-7 {
  font-size: 0.75rem;
}
.is-divider, .is-divider-vertical {
  display: block;
  position: relative;
  border-top: 0.1rem solid #dbdbdb;
  height: 0.1rem;
  margin: 2rem 0;
  text-align: center;
}
.is-divider[data-content]::after, .is-divider-vertical[data-content]::after {
  background: white;
  color: #b5b5b5;
  content: attr(data-content);
  display: inline-block;
  font-size: 0.75rem;
  padding: 0.4rem 0.8rem;
  transform: translateY(-1.1rem);
  text-align: center;
}
@media screen and (min-width: 769px), print {
  .is-divider-vertical {
    display: block;
    flex: none;
    width: auto;
    height: auto;
    padding: 2rem;
    margin: 0;
    position: relative;
    border-top: none;
    min-height: 2rem;
  }
  .is-divider-vertical::before {
    border-left: 0.1rem solid #dbdbdb;
    bottom: 1rem;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 1rem;
    transform: translateX(-50%);
  }
  .is-divider-vertical[data-content]::after {
    position: absolute;
    left: 50%;
    top: 50%;
    padding: 0.1rem;
    transform: translateY(-50%) translateX(-50%);
  }
}
.is-divider.is-white,
.is-divider-vertical.is-white {
  border-top-color: white;
}
.is-divider.is-white[data-content]::after, .is-divider.is-white[data-content]::after,
.is-divider-vertical.is-white[data-content]::after,
.is-divider-vertical.is-white[data-content]::after {
  background: #0a0a0a;
  color: white;
}
.is-divider.is-white::before,
.is-divider-vertical.is-white::before {
  border-left-color: white;
}
.is-divider.is-black,
.is-divider-vertical.is-black {
  border-top-color: #0a0a0a;
}
.is-divider.is-black[data-content]::after, .is-divider.is-black[data-content]::after,
.is-divider-vertical.is-black[data-content]::after,
.is-divider-vertical.is-black[data-content]::after {
  background: white;
  color: #0a0a0a;
}
.is-divider.is-black::before,
.is-divider-vertical.is-black::before {
  border-left-color: #0a0a0a;
}
.is-divider.is-light,
.is-divider-vertical.is-light {
  border-top-color: whitesmoke;
}
.is-divider.is-light[data-content]::after, .is-divider.is-light[data-content]::after,
.is-divider-vertical.is-light[data-content]::after,
.is-divider-vertical.is-light[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: whitesmoke;
}
.is-divider.is-light::before,
.is-divider-vertical.is-light::before {
  border-left-color: whitesmoke;
}
.is-divider.is-dark,
.is-divider-vertical.is-dark {
  border-top-color: #363636;
}
.is-divider.is-dark[data-content]::after, .is-divider.is-dark[data-content]::after,
.is-divider-vertical.is-dark[data-content]::after,
.is-divider-vertical.is-dark[data-content]::after {
  background: #fff;
  color: #363636;
}
.is-divider.is-dark::before,
.is-divider-vertical.is-dark::before {
  border-left-color: #363636;
}
.is-divider.is-primary,
.is-divider-vertical.is-primary {
  border-top-color: #00d1b2;
}
.is-divider.is-primary[data-content]::after, .is-divider.is-primary[data-content]::after,
.is-divider-vertical.is-primary[data-content]::after,
.is-divider-vertical.is-primary[data-content]::after {
  background: #fff;
  color: #00d1b2;
}
.is-divider.is-primary::before,
.is-divider-vertical.is-primary::before {
  border-left-color: #00d1b2;
}
.is-divider.is-link,
.is-divider-vertical.is-link {
  border-top-color: #3273dc;
}
.is-divider.is-link[data-content]::after, .is-divider.is-link[data-content]::after,
.is-divider-vertical.is-link[data-content]::after,
.is-divider-vertical.is-link[data-content]::after {
  background: #fff;
  color: #3273dc;
}
.is-divider.is-link::before,
.is-divider-vertical.is-link::before {
  border-left-color: #3273dc;
}
.is-divider.is-info,
.is-divider-vertical.is-info {
  border-top-color: #3298dc;
}
.is-divider.is-info[data-content]::after, .is-divider.is-info[data-content]::after,
.is-divider-vertical.is-info[data-content]::after,
.is-divider-vertical.is-info[data-content]::after {
  background: #fff;
  color: #3298dc;
}
.is-divider.is-info::before,
.is-divider-vertical.is-info::before {
  border-left-color: #3298dc;
}
.is-divider.is-success,
.is-divider-vertical.is-success {
  border-top-color: #48c774;
}
.is-divider.is-success[data-content]::after, .is-divider.is-success[data-content]::after,
.is-divider-vertical.is-success[data-content]::after,
.is-divider-vertical.is-success[data-content]::after {
  background: #fff;
  color: #48c774;
}
.is-divider.is-success::before,
.is-divider-vertical.is-success::before {
  border-left-color: #48c774;
}
.is-divider.is-warning,
.is-divider-vertical.is-warning {
  border-top-color: #ffdd57;
}
.is-divider.is-warning[data-content]::after, .is-divider.is-warning[data-content]::after,
.is-divider-vertical.is-warning[data-content]::after,
.is-divider-vertical.is-warning[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: #ffdd57;
}
.is-divider.is-warning::before,
.is-divider-vertical.is-warning::before {
  border-left-color: #ffdd57;
}
.is-divider.is-danger,
.is-divider-vertical.is-danger {
  border-top-color: #f14668;
}
.is-divider.is-danger[data-content]::after, .is-divider.is-danger[data-content]::after,
.is-divider-vertical.is-danger[data-content]::after,
.is-divider-vertical.is-danger[data-content]::after {
  background: #fff;
  color: #f14668;
}
.is-divider.is-danger::before,
.is-divider-vertical.is-danger::before {
  border-left-color: #f14668;
}
.is-divider.is-black-bis,
.is-divider-vertical.is-black-bis {
  border-top-color: #121212;
}
.is-divider.is-black-bis[data-content]::after, .is-divider.is-black-bis[data-content]::after,
.is-divider-vertical.is-black-bis[data-content]::after,
.is-divider-vertical.is-black-bis[data-content]::after {
  background: #fff;
  color: #121212;
}
.is-divider.is-black-bis::before,
.is-divider-vertical.is-black-bis::before {
  border-left-color: #121212;
}
.is-divider.is-black-ter,
.is-divider-vertical.is-black-ter {
  border-top-color: #242424;
}
.is-divider.is-black-ter[data-content]::after, .is-divider.is-black-ter[data-content]::after,
.is-divider-vertical.is-black-ter[data-content]::after,
.is-divider-vertical.is-black-ter[data-content]::after {
  background: #fff;
  color: #242424;
}
.is-divider.is-black-ter::before,
.is-divider-vertical.is-black-ter::before {
  border-left-color: #242424;
}
.is-divider.is-grey-darker,
.is-divider-vertical.is-grey-darker {
  border-top-color: #363636;
}
.is-divider.is-grey-darker[data-content]::after, .is-divider.is-grey-darker[data-content]::after,
.is-divider-vertical.is-grey-darker[data-content]::after,
.is-divider-vertical.is-grey-darker[data-content]::after {
  background: #fff;
  color: #363636;
}
.is-divider.is-grey-darker::before,
.is-divider-vertical.is-grey-darker::before {
  border-left-color: #363636;
}
.is-divider.is-grey-dark,
.is-divider-vertical.is-grey-dark {
  border-top-color: #4a4a4a;
}
.is-divider.is-grey-dark[data-content]::after, .is-divider.is-grey-dark[data-content]::after,
.is-divider-vertical.is-grey-dark[data-content]::after,
.is-divider-vertical.is-grey-dark[data-content]::after {
  background: #fff;
  color: #4a4a4a;
}
.is-divider.is-grey-dark::before,
.is-divider-vertical.is-grey-dark::before {
  border-left-color: #4a4a4a;
}
.is-divider.is-grey,
.is-divider-vertical.is-grey {
  border-top-color: #7a7a7a;
}
.is-divider.is-grey[data-content]::after, .is-divider.is-grey[data-content]::after,
.is-divider-vertical.is-grey[data-content]::after,
.is-divider-vertical.is-grey[data-content]::after {
  background: #fff;
  color: #7a7a7a;
}
.is-divider.is-grey::before,
.is-divider-vertical.is-grey::before {
  border-left-color: #7a7a7a;
}
.is-divider.is-grey-light,
.is-divider-vertical.is-grey-light {
  border-top-color: #b5b5b5;
}
.is-divider.is-grey-light[data-content]::after, .is-divider.is-grey-light[data-content]::after,
.is-divider-vertical.is-grey-light[data-content]::after,
.is-divider-vertical.is-grey-light[data-content]::after {
  background: #fff;
  color: #b5b5b5;
}
.is-divider.is-grey-light::before,
.is-divider-vertical.is-grey-light::before {
  border-left-color: #b5b5b5;
}
.is-divider.is-grey-lighter,
.is-divider-vertical.is-grey-lighter {
  border-top-color: #dbdbdb;
}
.is-divider.is-grey-lighter[data-content]::after, .is-divider.is-grey-lighter[data-content]::after,
.is-divider-vertical.is-grey-lighter[data-content]::after,
.is-divider-vertical.is-grey-lighter[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: #dbdbdb;
}
.is-divider.is-grey-lighter::before,
.is-divider-vertical.is-grey-lighter::before {
  border-left-color: #dbdbdb;
}
.is-divider.is-white-ter,
.is-divider-vertical.is-white-ter {
  border-top-color: whitesmoke;
}
.is-divider.is-white-ter[data-content]::after, .is-divider.is-white-ter[data-content]::after,
.is-divider-vertical.is-white-ter[data-content]::after,
.is-divider-vertical.is-white-ter[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: whitesmoke;
}
.is-divider.is-white-ter::before,
.is-divider-vertical.is-white-ter::before {
  border-left-color: whitesmoke;
}
.is-divider.is-white-bis,
.is-divider-vertical.is-white-bis {
  border-top-color: #fafafa;
}
.is-divider.is-white-bis[data-content]::after, .is-divider.is-white-bis[data-content]::after,
.is-divider-vertical.is-white-bis[data-content]::after,
.is-divider-vertical.is-white-bis[data-content]::after {
  background: rgba(0, 0, 0, 0.7);
  color: #fafafa;
}
.is-divider.is-white-bis::before,
.is-divider-vertical.is-white-bis::before {
  border-left-color: #fafafa;
}
.table thead th.is-1 {
  width: 2.5% !important;
}
.table thead th.is-2 {
  width: 5% !important;
}
.table thead th.is-3 {
  width: 7.5% !important;
}
.table thead th.is-4 {
  width: 10% !important;
}
.table thead th.is-5 {
  width: 20% !important;
}
.table thead th.is-6 {
  width: 30% !important;
}
.table thead th.is-7 {
  width: 33.33% !important;
}
.table thead th.is-8 {
  width: 40% !important;
}
.table thead th.is-9 {
  width: 50% !important;
}
.table thead th.is-10 {
  width: 66.66% !important;
}
.table thead th.is-11 {
  width: 100% !important;
}
.ct-label {
  fill: rgba(0, 0, 0, 0.4);
  color: rgba(0, 0, 0, 0.4);
  font-size: 0.75rem;
  line-height: 1;
}
.ct-chart-line .ct-label,
.ct-chart-bar .ct-label {
  display: block;
  display: flex;
}
.ct-chart-pie .ct-label,
.ct-chart-donut .ct-label {
  dominant-baseline: central;
}
.ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-label.ct-vertical.ct-start {
  align-items: flex-end;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end;
}
.ct-label.ct-vertical.ct-end {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-chart-bar .ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: center;
  text-align: center;
  text-anchor: start;
}
.ct-chart-bar .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: center;
  text-align: center;
  text-anchor: start;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-start {
  align-items: flex-end;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-horizontal.ct-end {
  align-items: flex-start;
  justify-content: flex-start;
  text-align: left;
  text-anchor: start;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-start {
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  text-anchor: end;
}
.ct-chart-bar.ct-horizontal-bars .ct-label.ct-vertical.ct-end {
  align-items: center;
  justify-content: flex-start;
  text-align: left;
  text-anchor: end;
}
.ct-grid {
  stroke: rgba(0, 0, 0, 0.2);
  stroke-width: 1px;
  stroke-dasharray: 2px;
}
.ct-grid-background {
  fill: none;
}
.ct-point {
  stroke-width: 10px;
  stroke-linecap: round;
}
.ct-line {
  fill: none;
  stroke-width: 4px;
}
.ct-area {
  stroke: none;
  fill-opacity: 0.1;
}
.ct-bar {
  fill: none;
  stroke-width: 10px;
}
.ct-slice-donut {
  fill: none;
  stroke-width: 60px;
}
.ct-series-a .ct-point, .ct-series-a .ct-line, .ct-series-a .ct-bar, .ct-series-a .ct-slice-donut {
  stroke: #d70206;
}
.ct-series-a .ct-slice-pie, .ct-series-a .ct-slice-donut-solid, .ct-series-a .ct-area {
  fill: #d70206;
}
.ct-series-b .ct-point, .ct-series-b .ct-line, .ct-series-b .ct-bar, .ct-series-b .ct-slice-donut {
  stroke: #f05b4f;
}
.ct-series-b .ct-slice-pie, .ct-series-b .ct-slice-donut-solid, .ct-series-b .ct-area {
  fill: #f05b4f;
}
.ct-series-c .ct-point, .ct-series-c .ct-line, .ct-series-c .ct-bar, .ct-series-c .ct-slice-donut {
  stroke: #f4c63d;
}
.ct-series-c .ct-slice-pie, .ct-series-c .ct-slice-donut-solid, .ct-series-c .ct-area {
  fill: #f4c63d;
}
.ct-series-d .ct-point, .ct-series-d .ct-line, .ct-series-d .ct-bar, .ct-series-d .ct-slice-donut {
  stroke: #d17905;
}
.ct-series-d .ct-slice-pie, .ct-series-d .ct-slice-donut-solid, .ct-series-d .ct-area {
  fill: #d17905;
}
.ct-series-e .ct-point, .ct-series-e .ct-line, .ct-series-e .ct-bar, .ct-series-e .ct-slice-donut {
  stroke: #453d3f;
}
.ct-series-e .ct-slice-pie, .ct-series-e .ct-slice-donut-solid, .ct-series-e .ct-area {
  fill: #453d3f;
}
.ct-series-f .ct-point, .ct-series-f .ct-line, .ct-series-f .ct-bar, .ct-series-f .ct-slice-donut {
  stroke: #59922b;
}
.ct-series-f .ct-slice-pie, .ct-series-f .ct-slice-donut-solid, .ct-series-f .ct-area {
  fill: #59922b;
}
.ct-series-g .ct-point, .ct-series-g .ct-line, .ct-series-g .ct-bar, .ct-series-g .ct-slice-donut {
  stroke: #0544d3;
}
.ct-series-g .ct-slice-pie, .ct-series-g .ct-slice-donut-solid, .ct-series-g .ct-area {
  fill: #0544d3;
}
.ct-series-h .ct-point, .ct-series-h .ct-line, .ct-series-h .ct-bar, .ct-series-h .ct-slice-donut {
  stroke: #6b0392;
}
.ct-series-h .ct-slice-pie, .ct-series-h .ct-slice-donut-solid, .ct-series-h .ct-area {
  fill: #6b0392;
}
.ct-series-i .ct-point, .ct-series-i .ct-line, .ct-series-i .ct-bar, .ct-series-i .ct-slice-donut {
  stroke: #f05b4f;
}
.ct-series-i .ct-slice-pie, .ct-series-i .ct-slice-donut-solid, .ct-series-i .ct-area {
  fill: #f05b4f;
}
.ct-series-j .ct-point, .ct-series-j .ct-line, .ct-series-j .ct-bar, .ct-series-j .ct-slice-donut {
  stroke: #dda458;
}
.ct-series-j .ct-slice-pie, .ct-series-j .ct-slice-donut-solid, .ct-series-j .ct-area {
  fill: #dda458;
}
.ct-series-k .ct-point, .ct-series-k .ct-line, .ct-series-k .ct-bar, .ct-series-k .ct-slice-donut {
  stroke: #eacf7d;
}
.ct-series-k .ct-slice-pie, .ct-series-k .ct-slice-donut-solid, .ct-series-k .ct-area {
  fill: #eacf7d;
}
.ct-series-l .ct-point, .ct-series-l .ct-line, .ct-series-l .ct-bar, .ct-series-l .ct-slice-donut {
  stroke: #86797d;
}
.ct-series-l .ct-slice-pie, .ct-series-l .ct-slice-donut-solid, .ct-series-l .ct-area {
  fill: #86797d;
}
.ct-series-m .ct-point, .ct-series-m .ct-line, .ct-series-m .ct-bar, .ct-series-m .ct-slice-donut {
  stroke: #b2c326;
}
.ct-series-m .ct-slice-pie, .ct-series-m .ct-slice-donut-solid, .ct-series-m .ct-area {
  fill: #b2c326;
}
.ct-series-n .ct-point, .ct-series-n .ct-line, .ct-series-n .ct-bar, .ct-series-n .ct-slice-donut {
  stroke: #6188e2;
}
.ct-series-n .ct-slice-pie, .ct-series-n .ct-slice-donut-solid, .ct-series-n .ct-area {
  fill: #6188e2;
}
.ct-series-o .ct-point, .ct-series-o .ct-line, .ct-series-o .ct-bar, .ct-series-o .ct-slice-donut {
  stroke: #a748ca;
}
.ct-series-o .ct-slice-pie, .ct-series-o .ct-slice-donut-solid, .ct-series-o .ct-area {
  fill: #a748ca;
}
.ct-square {
  display: block;
  position: relative;
  width: 100%;
}
.ct-square:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 100%;
}
.ct-square:after {
  content: "";
  display: table;
  clear: both;
}
.ct-square > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 93.75%;
}
.ct-minor-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-second {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-second:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 88.8888888889%;
}
.ct-major-second:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-second > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 83.3333333333%;
}
.ct-minor-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-third {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-third:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 80%;
}
.ct-major-third:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-third > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-perfect-fourth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fourth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 75%;
}
.ct-perfect-fourth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fourth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-perfect-fifth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-perfect-fifth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 66.6666666667%;
}
.ct-perfect-fifth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-perfect-fifth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 62.5%;
}
.ct-minor-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-golden-section {
  display: block;
  position: relative;
  width: 100%;
}
.ct-golden-section:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 61.804697157%;
}
.ct-golden-section:after {
  content: "";
  display: table;
  clear: both;
}
.ct-golden-section > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-sixth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-sixth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 60%;
}
.ct-major-sixth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-sixth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-minor-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-minor-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 56.25%;
}
.ct-minor-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-minor-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-seventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-seventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 53.3333333333%;
}
.ct-major-seventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-seventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 50%;
}
.ct-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-tenth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-tenth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 40%;
}
.ct-major-tenth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-tenth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-eleventh {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-eleventh:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 37.5%;
}
.ct-major-eleventh:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-eleventh > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-major-twelfth {
  display: block;
  position: relative;
  width: 100%;
}
.ct-major-twelfth:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 33.3333333333%;
}
.ct-major-twelfth:after {
  content: "";
  display: table;
  clear: both;
}
.ct-major-twelfth > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-double-octave {
  display: block;
  position: relative;
  width: 100%;
}
.ct-double-octave:before {
  display: block;
  float: left;
  content: "";
  width: 0;
  height: 0;
  padding-bottom: 25%;
}
.ct-double-octave:after {
  content: "";
  display: table;
  clear: both;
}
.ct-double-octave > svg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.ct-chart-pie .ct-label {
  font-size: 1.5rem;
}
.ct-legend {
  position: relative;
  z-index: 10;
}
.ct-legend li {
  position: relative;
  padding-left: 1.5em;
  padding-right: 0.5em;
  margin-bottom: 3px;
  cursor: pointer;
}
.ct-legend li:before {
  width: 12px;
  height: 12px;
  position: absolute;
  top: 5.5px;
  left: 0;
  content: "";
  border: 3px solid transparent;
  border-radius: 2px;
}
.ct-legend li.inactive:before {
  background: transparent !important;
}
.ct-legend.ct-legend-inside {
  position: absolute;
  right: 0;
}
.ct-legend .ct-series-0:before {
  background-color: #d70206;
  border-color: #d70206;
}
.ct-legend .ct-series-1:before {
  background-color: #f05b4f;
  border-color: #f05b4f;
}
.ct-legend .ct-series-2:before {
  background-color: #f4c63d;
  border-color: #f4c63d;
}
.ct-legend .ct-series-3:before {
  background-color: #d17905;
  border-color: #d17905;
}
.ct-legend .ct-series-4:before {
  background-color: #453d3f;
  border-color: #453d3f;
}
.ct-legend .ct-series-5:before {
  background-color: #59922b;
  border-color: #59922b;
}
.ct-legend .ct-series-6:before {
  background-color: #0544d3;
  border-color: #0544d3;
}
.ct-legend .ct-series-7:before {
  background-color: #6b0392;
  border-color: #6b0392;
}
.ct-legend .ct-series-8:before {
  background-color: #f05b4f;
  border-color: #f05b4f;
}
.ct-legend .ct-series-9:before {
  background-color: #dda458;
  border-color: #dda458;
}
.ct-legend .ct-series-10:before {
  background-color: #eacf7d;
  border-color: #eacf7d;
}
.ct-legend .ct-series-11:before {
  background-color: #86797d;
  border-color: #86797d;
}
.ct-legend .ct-series-12:before {
  background-color: #b2c326;
  border-color: #b2c326;
}
.ct-legend .ct-series-13:before {
  background-color: #6188e2;
  border-color: #6188e2;
}
.ct-legend .ct-series-14:before {
  background-color: #a748ca;
  border-color: #a748ca;
}
.ct-bar {
  stroke-width: 50px;
}
.ct-label {
  fill: rgba(0, 0, 0, 0.8);
  color: rgba(0, 0, 0, 0.8);
  font-size: 0.75rem;
  line-height: 1;
}
.ct-horizontal.ct-label.ct-end.ct-label-rotate-45 {
  transform: rotate(-45deg);
}
.ct-horizontal.ct-label.ct-end.ct-label-rotate-45-end {
  position: relative;
  justify-content: flex-end;
  text-align: right;
  transform-origin: 100% 0;
  transform: translate(-100%) rotate(-45deg);
  white-space: nowrap;
}
x-chartist svg {
  overflow: visible;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
html {
  overflow-y: auto;
}
body,
html {
  height: 100%;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
body.modal-open,
html.modal-open {
  overflow-y: hidden;
}
body.modal-open app-navbar,
html.modal-open app-navbar {
  position: fixed;
}
body.sidesheet-open .sidesheet,
html.sidesheet-open .sidesheet {
  display: block;
}
body.cdk-global-scrollblock app-fixed-top-progress-bar,
html.cdk-global-scrollblock app-fixed-top-progress-bar {
  display: none;
}
body mat-icon,
html mat-icon {
  font-size: 16px;
}
@media screen and (max-width: 486px) {
  body mat-icon,
html mat-icon {
    font-size: 20px;
  }
}
body .title,
html .title {
  font-weight: 600;
  font-size: 1.25rem;
}
body .table.is-fullwidth,
html .table.is-fullwidth {
  width: 100%;
  height: 100%;
}
body {
  padding: 0;
  margin: 0;
}
app-admin .mat-tab-body-content {
  padding: 0.5em 1em;
}
.cal-month-view .cal-header {
  text-align: center;
  font-weight: bolder;
}
.cal-month-view .cal-header .cal-cell {
  padding: 5px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  white-space: nowrap;
}
.cal-month-view .cal-days {
  border: 1px solid;
  border-bottom: 0;
}
.cal-month-view .cal-cell-top {
  min-height: 78px;
  flex: 1;
}
.cal-month-view .cal-cell-row {
  display: flex;
}
.cal-month-view .cal-cell {
  float: left;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.cal-month-view .cal-cell .cal-event {
  pointer-events: all !important;
}
.cal-month-view .cal-day-cell {
  min-height: 100px;
}
@media all and (-ms-high-contrast: none) {
  .cal-month-view .cal-day-cell {
    display: block;
  }
}
.cal-month-view .cal-day-cell:not(:last-child) {
  border-right: 1px solid;
}
.cal-month-view .cal-days .cal-cell-row {
  border-bottom: 1px solid;
}
.cal-month-view .cal-day-badge {
  margin-top: 18px;
  margin-left: 10px;
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  border-radius: 10px;
}
.cal-month-view .cal-day-number {
  font-size: 1.2em;
  font-weight: 400;
  opacity: 0.5;
  margin-top: 15px;
  margin-right: 15px;
  float: right;
  margin-bottom: 10px;
}
.cal-month-view .cal-events {
  flex: 1;
  align-items: flex-end;
  margin: 3px;
  line-height: 10px;
  display: flex;
  flex-wrap: wrap;
}
.cal-month-view .cal-event {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  margin: 2px;
}
.cal-month-view .cal-day-cell.cal-in-month.cal-has-events {
  cursor: pointer;
}
.cal-month-view .cal-day-cell.cal-out-month .cal-day-number {
  opacity: 0.1;
  cursor: default;
}
.cal-month-view .cal-day-cell.cal-today .cal-day-number {
  font-size: 1.9em;
}
.cal-month-view .cal-open-day-events {
  padding: 15px;
}
.cal-month-view .cal-open-day-events .cal-event {
  position: relative;
  top: 2px;
}
.cal-month-view .cal-out-month .cal-day-badge,
.cal-month-view .cal-out-month .cal-event {
  opacity: 0.3;
}
.cal-month-view .cal-draggable {
  cursor: move;
}
.cal-month-view .cal-drag-active * {
  pointer-events: none;
}
.cal-month-view .cal-event-title {
  cursor: pointer;
}
.cal-month-view .cal-event-title:hover {
  text-decoration: underline;
}
.cal-month-view {
  background-color: #fff;
}
.cal-month-view .cal-cell-row:hover {
  background-color: #fafafa;
}
.cal-month-view .cal-cell-row .cal-cell:hover,
.cal-month-view .cal-cell.cal-has-events.cal-open {
  background-color: #ededed;
}
.cal-month-view .cal-days {
  border-color: #e1e1e1;
}
.cal-month-view .cal-day-cell:not(:last-child) {
  border-right-color: #e1e1e1;
}
.cal-month-view .cal-days .cal-cell-row {
  border-bottom-color: #e1e1e1;
}
.cal-month-view .cal-day-badge {
  background-color: #b94a48;
  color: #fff;
}
.cal-month-view .cal-event {
  background-color: #1e90ff;
  border-color: #d1e8ff;
  color: #fff;
}
.cal-month-view .cal-day-cell.cal-weekend .cal-day-number {
  color: #8b0000;
}
.cal-month-view .cal-day-cell.cal-today {
  background-color: #e8fde7;
}
.cal-month-view .cal-day-cell.cal-drag-over {
  background-color: #e0e0e0 !important;
}
.cal-month-view .cal-open-day-events {
  color: #fff;
  background-color: #555;
  box-shadow: inset 0 0 15px 0 rgba(0, 0, 0, 0.5);
}
.cal-week-view {
  /* stylelint-disable-next-line selector-type-no-unknown */
}
.cal-week-view * {
  box-sizing: border-box;
}
.cal-week-view .cal-day-headers {
  display: flex;
  padding-left: 70px;
  border: 1px solid;
}
.cal-week-view .cal-day-headers .cal-header {
  flex: 1;
  text-align: center;
  padding: 5px;
}
.cal-week-view .cal-day-headers .cal-header:not(:last-child) {
  border-right: 1px solid;
}
.cal-week-view .cal-day-headers .cal-header:first-child {
  border-left: 1px solid;
}
.cal-week-view .cal-day-headers span {
  font-weight: 400;
  opacity: 0.5;
}
.cal-week-view .cal-day-column {
  flex-grow: 1;
  border-left: solid 1px;
}
.cal-week-view .cal-event {
  font-size: 12px;
  border: 1px solid;
}
.cal-week-view .cal-time-label-column {
  width: 70px;
  height: 100%;
}
.cal-week-view .cal-current-time-marker {
  position: absolute;
  width: 100%;
  height: 2px;
  z-index: 2;
}
.cal-week-view .cal-all-day-events {
  border: solid 1px;
  border-top: 0;
  border-bottom-width: 3px;
  padding-top: 3px;
  position: relative;
}
.cal-week-view .cal-all-day-events .cal-day-columns {
  height: 100%;
  width: 100%;
  display: flex;
  position: absolute;
  top: 0;
  z-index: 0;
}
.cal-week-view .cal-all-day-events .cal-events-row {
  position: relative;
  height: 31px;
  margin-left: 70px;
}
.cal-week-view .cal-all-day-events .cal-event-container {
  display: inline-block;
  position: absolute;
}
.cal-week-view .cal-all-day-events .cal-event-container.resize-active {
  z-index: 1;
  pointer-events: none;
}
.cal-week-view .cal-all-day-events .cal-event {
  padding: 0 5px;
  margin-left: 2px;
  margin-right: 2px;
  height: 28px;
  line-height: 28px;
}
.cal-week-view .cal-all-day-events .cal-starts-within-week .cal-event {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.cal-week-view .cal-all-day-events .cal-ends-within-week .cal-event {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
}
.cal-week-view .cal-all-day-events .cal-time-label-column {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
}
.cal-week-view .cal-all-day-events .cal-resize-handle {
  width: 6px;
  height: 100%;
  cursor: col-resize;
  position: absolute;
  top: 0;
}
.cal-week-view .cal-all-day-events .cal-resize-handle.cal-resize-handle-after-end {
  right: 0;
}
.cal-week-view .cal-event,
.cal-week-view .cal-header {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cal-week-view .cal-drag-active {
  pointer-events: none;
  z-index: 1;
}
.cal-week-view .cal-drag-active * {
  pointer-events: none;
}
.cal-week-view .cal-time-events {
  position: relative;
  border: solid 1px;
  border-top: 0;
  display: flex;
}
.cal-week-view .cal-time-events .cal-day-columns {
  display: flex;
  flex-grow: 1;
}
.cal-week-view .cal-time-events .cal-day-column {
  position: relative;
}
.cal-week-view .cal-time-events .cal-events-container {
  position: relative;
}
.cal-week-view .cal-time-events .cal-event-container {
  position: absolute;
  z-index: 1;
}
.cal-week-view .cal-time-events .cal-event {
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  margin: 1px;
  padding: 0 5px;
  line-height: 25px;
}
.cal-week-view .cal-time-events .cal-resize-handle {
  width: 100%;
  height: 4px;
  cursor: row-resize;
  position: absolute;
}
.cal-week-view .cal-time-events .cal-resize-handle.cal-resize-handle-after-end {
  bottom: 0;
}
.cal-week-view .cal-hour-segment {
  position: relative;
}
.cal-week-view .cal-hour-segment::after {
  content: " ";
}
.cal-week-view .cal-event-container:not(.cal-draggable) {
  cursor: pointer;
}
.cal-week-view .cal-draggable {
  cursor: move;
}
.cal-week-view mwl-calendar-week-view-hour-segment,
.cal-week-view .cal-hour-segment {
  display: block;
}
.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment,
.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment {
  border-bottom: thin dashed;
}
.cal-week-view .cal-time {
  font-weight: bold;
  padding-top: 5px;
  width: 70px;
  text-align: center;
}
.cal-week-view .cal-hour-segment.cal-after-hour-start .cal-time {
  display: none;
}
.cal-week-view .cal-starts-within-day .cal-event {
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.cal-week-view .cal-ends-within-day .cal-event {
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.cal-week-view {
  background-color: #fff;
  border-top: solid 1px #e1e1e1;
}
.cal-week-view .cal-day-headers {
  border-color: #e1e1e1;
  border-top: 0;
}
.cal-week-view .cal-day-headers .cal-header:not(:last-child) {
  border-right-color: #e1e1e1;
}
.cal-week-view .cal-day-headers .cal-header:first-child {
  border-left-color: #e1e1e1;
}
.cal-week-view .cal-day-headers .cal-header:hover,
.cal-week-view .cal-day-headers .cal-drag-over {
  background-color: #ededed;
}
.cal-week-view .cal-day-column {
  border-left-color: #e1e1e1;
}
.cal-week-view .cal-event {
  background-color: #d1e8ff;
  border-color: #1e90ff;
  color: #1e90ff;
}
.cal-week-view .cal-all-day-events {
  border-color: #e1e1e1;
}
.cal-week-view .cal-header.cal-today {
  background-color: #e8fde7;
}
.cal-week-view .cal-header.cal-weekend span {
  color: #8b0000;
}
.cal-week-view .cal-time-events {
  border-color: #e1e1e1;
}
.cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover {
  background-color: #ededed;
}
.cal-week-view .cal-hour-odd {
  background-color: #fafafa;
}
.cal-week-view .cal-drag-over .cal-hour-segment {
  background-color: #ededed;
}
.cal-week-view .cal-hour:not(:last-child) .cal-hour-segment,
.cal-week-view .cal-hour:last-child :not(:last-child) .cal-hour-segment {
  border-bottom-color: #e1e1e1;
}
.cal-week-view .cal-current-time-marker {
  background-color: #ea4334;
}
.cal-day-view {
  /* stylelint-disable-next-line selector-type-no-unknown */
}
.cal-day-view mwl-calendar-week-view-header {
  display: none;
}
.cal-day-view .cal-events-container {
  margin-left: 70px;
}
.cal-day-view .cal-day-column {
  border-left: 0;
}
.cal-day-view .cal-current-time-marker {
  margin-left: 70px;
  width: calc(100% - 70px);
}
.cal-tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.5;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  font-size: 11px;
  word-wrap: break-word;
  opacity: 0.9;
}
.cal-tooltip.cal-tooltip-top {
  padding: 5px 0;
  margin-top: -3px;
}
.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
}
.cal-tooltip.cal-tooltip-right {
  padding: 0 5px;
  margin-left: 3px;
}
.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
}
.cal-tooltip.cal-tooltip-bottom {
  padding: 5px 0;
  margin-top: 3px;
}
.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
}
.cal-tooltip.cal-tooltip-left {
  padding: 0 5px;
  margin-left: -3px;
}
.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
}
.cal-tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  text-align: center;
  border-radius: 0.25rem;
}
.cal-tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.cal-tooltip.cal-tooltip-top .cal-tooltip-arrow {
  border-top-color: #000;
}
.cal-tooltip.cal-tooltip-right .cal-tooltip-arrow {
  border-right-color: #000;
}
.cal-tooltip.cal-tooltip-bottom .cal-tooltip-arrow {
  border-bottom-color: #000;
}
.cal-tooltip.cal-tooltip-left .cal-tooltip-arrow {
  border-left-color: #000;
}
.cal-tooltip-inner {
  color: #fff;
  background-color: #000;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-dialog-container {
  border-radius: 0.875rem !important;
  border: 1px solid transparent;
  padding: 15px !important;
  text-align: center;
}
.mat-dialog-container .modalWindow {
  width: 250px;
}
.mat-dialog-container .modalWindow h1 {
  font-size: 0.875rem;
  font-weight: 600;
  margin-bottom: 10px;
}
.mat-dialog-container .modalWindow h2, .mat-dialog-container .modalWindow mat-card.base-card mat-card-header, mat-card.base-card .mat-dialog-container .modalWindow mat-card-header, .mat-dialog-container .modalWindow mat-card.admin-event mat-card-header, mat-card.admin-event .mat-dialog-container .modalWindow mat-card-header {
  font-size: 0.8125rem;
  font-weight: 400;
  margin-bottom: 10px;
}
.mat-dialog-container .modalWindow .logoContainer {
  display: flex;
  justify-content: center;
  font-size: 1.8125rem;
  margin: 1.7rem 0 2rem 0;
}
.mat-dialog-container .modalWindow .logoContainer .logo {
  box-shadow: 0px 1px 4px 2px rgba(0, 0, 0, 0.2);
  padding: 5px 15px;
  border-radius: 7px;
}
.mat-dialog-container .modalWindow button {
  margin: 0.25rem;
  width: 112px;
}
.mat-dialog-container .mat-form-field-flex .mat-form-field-appearance-outline {
  background-color: white;
  box-shadow: inset 0 1px 3px 1px LightGray;
}
.mat-dialog-container .mat-form-field-infix {
  border: 0px none white;
}
.mat-form-field {
  width: 100%;
  line-height: 1.5;
}
.mat-form-field .mat-form-field-wrapper .mat-icon {
  vertical-align: bottom;
  margin-right: 5px;
}
app-search-button .mat-search_field input {
  padding-left: 8px;
  padding-right: 36px;
}
app-search-button .mat-search_field .mat-form-field-underline {
  height: 3px;
  background-color: #434343;
  border-radius: 1.5px;
}
app-search-button .mat-search_field.mat-form-field-should-float label.mat-form-field-label {
  opacity: 0;
  transition: all 0.4s ease-in;
  transform: translateY(-1.28125em) scale(1.5) perspective(100px) translateZ(0.001px);
}
app-search-button .mat-search_field label.mat-form-field-label {
  opacity: 1;
  transition: all 0.2s ease-in-out;
  font-size: 1rem;
  top: 2rem;
  text-align: left;
  width: 80%;
  padding-left: 3rem;
}
.topics-table .mat-radio-label {
  width: 20px;
}
.mat-checkbox-layout {
  white-space: normal !important;
}
.mat-select-panel-wrap {
  position: relative;
  top: 40px;
}
.mat-select-panel-wrap:has(.jems3-select-panel-compact) {
  top: 23px;
  left: 29px;
}
.mat-select-panel.jems3-select-panel {
  -webkit-animation: none !important;
          animation: none !important;
  transition: none !important;
}
.compact .mat-form-field {
  line-height: 1.125;
}
.compact .mat-form-field .mat-form-field-wrapper {
  padding-bottom: 0;
}
.compact .mat-form-field .mat-form-field-underline {
  bottom: 0;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.buttons .is-divider {
  margin: 2rem 0;
}
@media screen and (max-width: 599px) {
  .buttons .is-divider {
    margin: 1rem 0;
  }
}
.buttons .is-divider:after {
  background-color: whitesmoke;
  transform: translateY(-0.95rem);
  font-weight: bold;
}
a {
  outline: 0;
}
a:hover {
  text-decoration: none;
}
button {
  height: 26px;
}
button.mat-button,
button.mat-flat-button,
button.mat-stroked-button {
  line-height: 26px;
}
.close.button {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 30px;
  height: 30px;
  line-height: 28px;
  font-size: 22px;
  cursor: pointer;
  text-align: center;
  z-index: 2;
}
.ripple-button.mat-raised-button {
  font-weight: 600;
  height: 34px;
  border-radius: 7px;
}
.ripple-button.mat-raised-button .mat-icon {
  vertical-align: baseline !important;
}
.ripple-button.mat-raised-button.selected {
  padding: 0 0.5rem;
  box-shadow: none;
  border: 2px solid transparent;
}
.ripple-button.mat-raised-button.selected:hover {
  box-shadow: 1px 1px 5px #8b8d8f;
}
.ripple-button.mat-raised-button:not(.selected) {
  padding: 0 0.5rem;
  background: transparent;
  box-shadow: none;
  border: 2px solid transparent;
}
.ripple-button.mat-raised-button:not(.selected):hover {
  box-shadow: 1px 1px 5px #8b8d8f;
}
.ripple-button.mat-raised-button:not(.selected):active {
  box-shadow: none;
  color: #3c4043;
}
.ripple-button.mat-raised-button.mat-raised-button.cdk-program-focused .mat-button-focus-overlay {
  opacity: 0;
}
.submissions .filters, .reviews .filters, .events .filters, .myevents .filters, .committees .filters, .event-admin .filters {
  display: flex;
}
.submissions .filters .toggle, .reviews .filters .toggle, .events .filters .toggle, .myevents .filters .toggle, .committees .filters .toggle, .event-admin .filters .toggle {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-weight: 600;
}
.submissions .filters .toggle .mat-checkbox-label, .reviews .filters .toggle .mat-checkbox-label, .events .filters .toggle .mat-checkbox-label, .myevents .filters .toggle .mat-checkbox-label, .committees .filters .toggle .mat-checkbox-label, .event-admin .filters .toggle .mat-checkbox-label {
  margin-right: 8px;
  height: 100%;
  font-size: 13px;
}
.submissions .filters .toggle .notify-button, .reviews .filters .toggle .notify-button, .events .filters .toggle .notify-button, .myevents .filters .toggle .notify-button, .committees .filters .toggle .notify-button, .event-admin .filters .toggle .notify-button {
  color: red;
}
.notify-button {
  color: red !important;
}
.file-icon-buttons {
  line-height: 30px;
  text-align: right;
}
.file-icon-buttons button {
  height: 30px;
  width: 30px;
  line-height: 30px;
}
.file-icon-buttons .smaller-button, .file-icon-buttons .smaller-button mat-icon {
  height: 18px;
  width: 18px;
  line-height: 18px;
  font-size: 0.8rem;
}
.file-icon-buttons app-file-upload {
  margin-left: 0.5em;
  display: inline-block;
  line-height: 18px;
}
.app-icon-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid transparent;
  border-radius: 6px !important;
  line-height: 40px !important;
  background: transparent;
  color: inherit;
  cursor: pointer;
  transition: background-color 100ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.app-icon-button ::ng-deep .mat-button-ripple,
.app-icon-button ::ng-deep .mat-button-focus-overlay {
  display: none !important;
}
.app-icon-button .mat-icon {
  font-size: 20px !important;
  width: 20px !important;
  height: 20px !important;
  line-height: 20px !important;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
  transition: opacity 120ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.app-icon-button:not(.mat-button-disabled):not(:disabled):hover .mat-icon {
  opacity: 0.9;
}
.app-icon-button.menu-open .mat-icon {
  opacity: 1;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
}
.app-icon-button:focus-visible {
  outline: 2px solid var(--c-accent, #7C2D12);
  outline-offset: 2px;
}
.chair-button.mat-flat-button,
.chair-button.mat-stroked-button {
  text-transform: none;
  font-family: inherit;
  font-size: 13px;
  letter-spacing: 0;
  min-width: 96px;
  padding: 0 16px;
  transition: background-color 120ms ease, border-color 120ms ease, box-shadow 120ms ease, filter 120ms ease;
}
.chair-button.mat-flat-button .mat-button-wrapper,
.chair-button.mat-stroked-button .mat-button-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.chair-button.chair-button--primary.mat-flat-button {
  font-weight: 500;
}
.chair-button.chair-button--secondary.mat-stroked-button {
  font-weight: 430;
  background-color: #f9f8f7;
  color: #373734;
  border-color: #D6D3D1;
}
.dark-theme .chair-button.chair-button--secondary.mat-stroked-button {
  background-color: #202020;
  color: #c4c2bd;
  border-color: #5a5651;
}
.chair-button.mat-flat-button:not(.mat-button-disabled):hover,
.chair-button.mat-stroked-button:not(.mat-button-disabled):hover {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
}
.chair-button.chair-button--secondary.mat-stroked-button:not(.mat-button-disabled):hover {
  background-color: #e8e6e3;
  border-color: #D6D3D1;
}
.dark-theme .chair-button.chair-button--secondary.mat-stroked-button:not(.mat-button-disabled):hover {
  background-color: #34332f;
  border-color: #5a5651;
}
.chair-button.chair-button--primary.mat-flat-button:not(.mat-button-disabled):hover {
  filter: brightness(0.93);
}
.chair-button .mat-button-focus-overlay {
  opacity: 0 !important;
}
.chair-button.mat-button-disabled,
.chair-button:disabled,
.chair-button[disabled] {
  color: #999999 !important;
}
.dark-theme .chair-button.mat-button-disabled,
.dark-theme .chair-button:disabled,
.dark-theme .chair-button[disabled] {
  color: #666666 !important;
}
.chair-button.chair-button--primary.mat-flat-button.mat-button-disabled,
.chair-button.chair-button--primary.mat-flat-button:disabled,
.chair-button.chair-button--primary.mat-flat-button[disabled] {
  background-color: #1e40af !important;
  color: #ffffff !important;
  opacity: 0.5;
}
.dark-theme .chair-button.chair-button--primary.mat-flat-button.mat-button-disabled,
.dark-theme .chair-button.chair-button--primary.mat-flat-button:disabled,
.dark-theme .chair-button.chair-button--primary.mat-flat-button[disabled] {
  background-color: #60a5fa !important;
  color: #ffffff !important;
  opacity: 0.55;
}
.chair-button:not(.mat-button-base) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  min-width: 96px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 4px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 430;
  letter-spacing: 0;
  line-height: 1;
  text-transform: none;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  color: #373734;
}
.chair-button:not(.mat-button-base) mat-icon,
.chair-button:not(.mat-button-base) .mat-icon,
.chair-button:not(.mat-button-base) .material-symbols-outlined,
.chair-button:not(.mat-button-base) .jems3s,
.chair-button:not(.mat-button-base) .jems3r {
  font-size: 16px;
  width: 16px;
  height: 16px;
  line-height: 16px;
  margin-right: 6px;
  flex-shrink: 0;
}
.chair-button:not(.mat-button-base):focus {
  outline: none;
}
.chair-button:not(.mat-button-base):focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 2px;
}
.chair-button:not(.mat-button-base):disabled, .chair-button:not(.mat-button-base)[disabled] {
  cursor: default;
  pointer-events: none;
  color: rgba(0, 0, 0, 0.38);
}
.dark-theme .chair-button:not(.mat-button-base):disabled,
.dark-theme .chair-button:not(.mat-button-base)[disabled] {
  color: rgba(255, 255, 255, 0.38);
}
.chair-button.chair-button--secondary:not(.mat-button-base) {
  background-color: #f9f8f7;
  border-color: #E7E5E4;
}
.dark-theme .chair-button.chair-button--secondary:not(.mat-button-base) {
  background-color: #202020;
  border-color: #3a3937;
  color: #c4c2bd;
}
.chair-button.chair-button--primary:not(.mat-button-base) {
  background-color: #064ad9;
  border-color: #064ad9;
  color: #fff;
  font-weight: 500;
}
.dark-theme .chair-button.chair-button--primary:not(.mat-button-base) {
  background-color: #60a5fa;
  border-color: #60a5fa;
  color: white;
}
.chair-button.chair-button--warn:not(.mat-button-base) {
  background-color: #e91414;
  border-color: #e91414;
  color: #fff;
  font-weight: 500;
}
.dark-theme .chair-button.chair-button--warn:not(.mat-button-base) {
  background-color: #FF6B6B;
  border-color: #FF6B6B;
  color: black;
}
.chair-button.chair-button--secondary:not(.mat-button-base):not(:disabled):hover {
  background-color: #e8e6e3;
  border-color: #D6D3D1;
}
.dark-theme .chair-button.chair-button--secondary:not(.mat-button-base):not(:disabled):hover {
  background-color: #34332f;
  border-color: #5a5651;
}
.chair-button.chair-button--primary:not(.mat-button-base):not(:disabled):hover,
.chair-button.chair-button--warn:not(.mat-button-base):not(:disabled):hover {
  filter: brightness(0.93);
}
.chair-button.chair-button--primary:not(.mat-button-base):disabled,
.chair-button.chair-button--primary:not(.mat-button-base)[disabled],
.chair-button.chair-button--warn:not(.mat-button-base):disabled,
.chair-button.chair-button--warn:not(.mat-button-base)[disabled] {
  background-color: #f9f8f7;
  border-color: #E7E5E4;
}
.dark-theme .chair-button.chair-button--primary:not(.mat-button-base):disabled,
.dark-theme .chair-button.chair-button--primary:not(.mat-button-base)[disabled],
.dark-theme .chair-button.chair-button--warn:not(.mat-button-base):disabled,
.dark-theme .chair-button.chair-button--warn:not(.mat-button-base)[disabled] {
  background-color: #202020;
  border-color: #3a3937;
}
button.mat-raised-button {
  display: inline-grid;
  vertical-align: middle;
  align-content: center;
  border-radius: 8px;
}
button.mat-raised-button .mat-icon {
  line-height: 1.4rem;
}
button.mat-raised-button span {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  vertical-align: middle;
  padding-left: 4px;
}
button.mat-raised-button span.mat-button-wrapper {
  padding: 0;
  display: inline-block;
  vertical-align: middle;
}
button.mat-raised-button:hover {
  box-shadow: 1px 1px 7px #8b8d8f;
}
button.profile-button, button.mat-icon-button.profile-button {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 26px;
}
button[color].mat-raised-button span.mat-button-wrapper:not(:has(.mat-icon)), button[color].mat-raised-button span.mat-button-wrapper:has(span) {
  color: #fff;
}
button.mat-raised-button.mat-button-disabled.mat-button-disabled[disabled=true] {
  color: rgba(255, 255, 255, 0.3);
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.chair-header-icon-button {
  position: relative;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  background-color: white;
  border: 1px solid #D6D3D1 !important;
  border-radius: 6px !important;
  box-sizing: border-box;
  cursor: pointer;
  transition: box-shadow 100ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.chair-header-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  box-shadow: 0 0 0 1px #D6D3D1;
  background-color: white !important;
}
.chair-header-icon-button.mat-button-disabled, .chair-header-icon-button:disabled {
  cursor: default;
  pointer-events: none;
}
.chair-header-icon-button.menu-open {
  border-color: #064ad9 !important;
  box-shadow: 0 0 0 1px #064ad9;
  background-color: white !important;
}
.chair-header-icon-button.has-active .mat-icon {
  opacity: 1;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
}
.chair-header-icon-button .chair-header-icon-button-badge {
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  border-radius: 8px;
  background-color: #064ad9;
  color: #ffffff;
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  letter-spacing: 0;
  pointer-events: none;
  position: absolute;
  top: -6px;
  right: -6px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
}
.dark-theme .chair-header-icon-button-badge,
.dark-theme .bell-badge,
.dark-theme .seg-badge {
  line-height: 14px !important;
}
.dark-theme .chair-header-icon-button-badge {
  line-height: 16px !important;
  padding-top: 0.5px !important;
}
.dark-theme .chair-header-icon-button {
  background-color: black;
  border-color: #5a5651 !important;
  color: #c4c2bd;
}
.dark-theme .chair-header-icon-button .mat-icon {
  color: inherit;
}
.dark-theme .chair-header-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  box-shadow: 0 0 0 1px #5a5651;
  background-color: black !important;
}
.dark-theme .chair-header-icon-button.menu-open {
  border-color: #60a5fa !important;
  box-shadow: 0 0 0 1px #60a5fa;
  background-color: black !important;
}
.dark-theme .chair-header-icon-button .chair-header-icon-button-badge {
  background-color: #60a5fa;
  color: black;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-tooltip.cardTooltip {
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  background: white;
  color: white;
  padding: 12px;
  font-size: 0.8125rem;
}
.sg-crit-tooltip {
  background-color: rgba(97, 97, 97, 0.92);
  color: #fff;
  padding: 6px 8px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  max-width: 300px;
  white-space: pre-line;
  text-align: left;
  word-break: break-word;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}
.dark-theme .sg-crit-tooltip {
  background-color: #F5F5F4;
  color: #1C1917;
}
.dark-theme .mat-tooltip {
  background-color: #F5F5F4 !important;
  color: #1C1917 !important;
}
.notification-menu button.mat-menu-item {
  font-size: 0.8125rem;
  font-weight: 500;
  white-space: normal;
  text-overflow: initial;
  height: auto;
  line-height: 1rem;
  padding: 1rem 2rem;
}
.notification-menu button.mat-menu-item:not(:last-child) {
  border-bottom-style: solid;
  border-bottom-color: #192a59;
  border-bottom-width: 1px;
}
.notification-menu button.mat-menu-item .time {
  margin-top: 0.5em;
}
.notification-menu button.mat-menu-item .time mat-icon {
  font-size: 16px;
  line-height: 16px;
  height: 16px;
  width: 16px;
  margin-right: 4px;
}
.notification-menu button.mat-menu-item .time span {
  font-size: 12px;
  line-height: 12px;
  display: inline-block;
  vertical-align: middle;
}
app-sidebar mat-sidenav .mat-list .mat-list-item .mat-list-item-content {
  transition: padding 0.2s;
}
app-sidebar mat-sidenav .mat-list button.mat-icon-button {
  transition: margin 0.2s;
  color: #434343;
}
app-sidebar.mini mat-sidenav .mat-list .mat-list-item .mat-list-item-content {
  transition: padding 0.3s;
  padding: 0 7px;
}
app-sidebar .mat-sidenav .mat-icon svg {
  width: 16px;
}
app-admin-event-sidebar mat-sidenav .mat-list .mat-list-item .mat-list-item-content {
  margin: 0px;
  padding: 4px;
}
app-admin-event-sidebar mat-sidenav.menu .mat-drawer-inner-container {
  display: grid;
  overflow: hidden;
}
app-admin-event-sidebar mat-sidenav.menu .mat-drawer-inner-container mat-list.bottom-aligned {
  align-self: flex-end;
  align-self: end;
  margin-bottom: 0.5em;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.mat-menu-panel {
  padding: 5px 0 !important;
}
.mat-menu-content {
  padding: 0 !important;
}
.mat-menu-item {
  border: 0 !important;
  outline: 0 !important;
  background-color: transparent;
  border-radius: 6px !important;
  font-weight: 500 !important;
  height: 30px !important;
  margin: 2px 0 !important;
  padding: 0 12px !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
}
.mat-menu-item .mat-icon {
  margin-right: 8px !important;
}
.mat-divider {
  margin: 0 0px !important;
}
.container-option .mat-menu-item,
.mat-menu-panel.tpc-user-menu .mat-menu-item,
.tpc-user-menu .mat-menu-item {
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 !important;
  height: 26px !important;
  min-height: 26px !important;
  line-height: 1 !important;
  padding: 0 8px !important;
  border-radius: 6px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}
.tpc-user-menu.user-menu .mat-menu-item,
.mat-menu-panel.tpc-user-menu.user-menu .mat-menu-item {
  height: 28px !important;
  min-height: 28px !important;
}
.container-option .mat-menu-item .mat-icon,
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-icon,
.tpc-user-menu .mat-menu-item .mat-icon {
  font-size: 20px !important;
  width: 20px !important;
  height: 20px !important;
  margin-right: 8px !important;
  padding-top: 0 !important;
  line-height: 20px !important;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.container-option .mat-menu-item:hover .mat-icon,
.mat-menu-panel.tpc-user-menu .mat-menu-item:hover .mat-icon,
.tpc-user-menu .mat-menu-item:hover .mat-icon {
  opacity: 1;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.container-option .mat-menu-item .flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  margin-right: 8px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
}
.mat-menu-panel.tpc-user-menu,
.tpc-user-menu {
  padding: 8px 4px 5px 4px !important;
  border-radius: 6px !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-ripple,
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-button-ripple,
.mat-menu-panel.tpc-user-menu .mat-menu-item .mat-button-focus-overlay,
.tpc-user-menu .mat-menu-item .mat-ripple,
.tpc-user-menu .mat-menu-item .mat-button-ripple,
.tpc-user-menu .mat-menu-item .mat-button-focus-overlay {
  display: none !important;
}
.mat-menu-panel.tpc-user-menu .mat-divider,
.tpc-user-menu .mat-divider {
  margin: 6px -4px !important;
}
.mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item .flag,
.tpc-user-menu .container-language-compact .mat-menu-item .flag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif !important;
}
.mat-menu-panel.tpc-user-menu .container-theme,
.mat-menu-panel.tpc-user-menu .container-layout,
.mat-menu-panel.tpc-user-menu .container-language-compact,
.tpc-user-menu .container-theme,
.tpc-user-menu .container-layout,
.tpc-user-menu .container-language-compact {
  display: flex !important;
  justify-content: center !important;
  gap: 4px !important;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button {
  cursor: default !important;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:not(.tpc-no-such-class),
.mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:not(.tpc-no-such-class),
.mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:not(.tpc-no-such-class),
.tpc-user-menu .container-theme .mat-menu-item:not(.tpc-no-such-class),
.tpc-user-menu .container-layout .mat-menu-item:not(.tpc-no-such-class),
.tpc-user-menu .container-language-compact .mat-menu-item:not(.tpc-no-such-class) {
  margin: 0 !important;
  padding: 0 !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 32px !important;
  min-height: 32px !important;
  line-height: 32px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item .mat-icon,
.tpc-user-menu .container-theme .mat-menu-item .mat-icon {
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.tpc-user-menu .container-theme .mat-menu-item.highlight-button .mat-icon {
  opacity: 1 !important;
}
.email-template-edit-dialog-panel .mat-dialog-container {
  overflow-x: hidden;
  background-color: #F5F5F4;
}
.dark-theme .email-template-edit-dialog-panel .mat-dialog-container {
  background-color: #262626;
  border: 1px solid #3a3937;
}
.recipient-search-popover {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 300px;
  padding: 10px;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
}
.recipient-search-popover app-user-search .mat-form-field-subscript-wrapper {
  position: static !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.recipient-search-popover app-user-search .mat-hint {
  display: block;
  margin-top: 4px;
  padding: 0 4px;
  font-size: 11px;
  line-height: 1.2;
}
.light-theme .recipient-search-popover {
  background-color: #f9f8f7;
  border: 1px solid #E7E5E4;
}
.dark-theme .recipient-search-popover {
  background-color: #262626;
  border: 1px solid #3a3937;
}
.dark-theme .recipient-search-popover .mat-form-field-flex {
  background-color: #202020 !important;
}
.variable-slash-menu {
  width: 100%;
  box-sizing: border-box;
  max-height: 280px;
  overflow-y: auto;
  padding: 4px;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.16);
}
.variable-slash-menu .variable-slash-item {
  display: flex;
  align-items: baseline;
  gap: 6px;
  width: 100%;
  height: auto;
  padding: 5px 8px;
  border: none;
  background: transparent;
  border-radius: 4px;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  line-height: 1.4;
}
.variable-slash-menu .variable-slash-item .vte-chip {
  flex: 0 0 auto;
  padding: 0 8px;
}
.variable-slash-menu .variable-slash-item .var-desc {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  font-weight: 400;
}
.light-theme .variable-slash-menu {
  background-color: #f9f8f7;
  border: 1px solid #E7E5E4;
}
.light-theme .variable-slash-menu .variable-slash-item .var-desc {
  color: rgba(0, 0, 0, 0.5);
}
.light-theme .variable-slash-menu .variable-slash-item:hover, .light-theme .variable-slash-menu .variable-slash-item.active {
  background-color: #e8e6e3;
}
.dark-theme .variable-slash-menu {
  background-color: #202020;
  border: 1px solid #3a3937;
}
.dark-theme .variable-slash-menu .variable-slash-item .var-desc {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .variable-slash-menu .variable-slash-item:hover, .dark-theme .variable-slash-menu .variable-slash-item.active {
  background-color: #34332f;
}
.vte-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 4px 0 8px;
  margin: 0 1px;
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background-color: #eff6ff;
  color: #064ad9;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.4;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  vertical-align: baseline;
}
.vte-chip .vte-chip-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  opacity: 0.65;
  transition: opacity 100ms ease, background-color 100ms ease;
}
.vte-chip .vte-chip-remove:hover {
  opacity: 1;
  background-color: rgba(17, 69, 194, 0.14);
}
.vte-readonly .vte-chip-remove {
  display: none;
}
.vte-preview-var {
  background-color: #e6f0ff;
  border-radius: 3px;
  padding: 0 2px;
}
.dark-theme .vte-preview-var {
  background-color: rgba(92, 142, 240, 0.3);
}
.dark-theme .vte-chip {
  background-color: rgba(92, 142, 240, 0.22);
  border-color: rgba(92, 142, 240, 0.55);
  color: #60a5fa;
}
.dark-theme .vte-chip .vte-chip-remove:hover {
  background-color: rgba(92, 142, 240, 0.3);
}
.menu-option {
  display: flex;
}
.menu-option .disabled-button {
  opacity: 0.5;
  pointer-events: none;
}
.menu-option .disabled-button mat-icon {
  opacity: 0.5;
  pointer-events: none;
}
.menu-option .mat-menu-item {
  margin: 2px 5px !important;
}
.mat-menu-panel.tpc-user-menu.view-profile-menu .mat-menu-item,
.tpc-user-menu.view-profile-menu .mat-menu-item {
  position: relative !important;
  padding-left: 28px !important;
}
.tpc-user-menu.view-profile-menu .mat-menu-item.is-current::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #373734;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.dark-theme .tpc-user-menu.view-profile-menu .mat-menu-item.is-current::before {
  background-color: #c4c2bd;
}
:root[data-os=mac] .jems-popover-panel .status-menu-row:hover,
:root[data-os=mac] .jems-popover-panel .status-menu-row.active,
:root[data-os=mac] .jems-popover-panel .group-menu-row:hover,
:root[data-os=mac] .jems-popover-panel .group-menu-row.active {
  background-color: #064ad9 !important;
}
:root[data-os=mac] .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group,
:root[data-os=mac] .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group,
:root[data-os=mac] .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group .icon,
:root[data-os=mac] .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group .icon {
  color: white !important;
}
:root[data-os=mac] .dark-theme .jems-popover-panel .status-menu-row:hover,
:root[data-os=mac] .dark-theme .jems-popover-panel .status-menu-row.active,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row:hover,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row.active {
  background-color: #60a5fa !important;
}
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row:hover .group-chip-menu-add-group .icon,
:root[data-os=mac] .dark-theme .jems-popover-panel .group-menu-row.active .group-chip-menu-add-group .icon {
  color: black !important;
}
:root:not([data-os=mac]):not([data-os=windows]) .jems-popover-panel {
  -webkit-animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
          animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
}
@-webkit-keyframes jems-popover-in {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes jems-popover-in {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
:root[data-os=windows] .jems-popover-panel {
  -webkit-animation: jems-popover-in-win 180ms cubic-bezier(0, 0, 0, 1);
          animation: jems-popover-in-win 180ms cubic-bezier(0, 0, 0, 1);
}
:root[data-os=windows] .jems-popover-panel.opens-up {
  -webkit-animation-name: jems-popover-in-win-up;
          animation-name: jems-popover-in-win-up;
}
@-webkit-keyframes jems-popover-in-win {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes jems-popover-in-win {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes jems-popover-in-win-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes jems-popover-in-win-up {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .jems-popover-panel {
    -webkit-animation: none;
            animation: none;
  }
}
:root[data-os=mac] .jems-popover-panel .mat-menu-item,
:root[data-os=mac] .jems-popover-panel [role=menuitem],
:root[data-os=mac] .jems-popover-panel .jems-select-option,
:root[data-os=mac] .mat-select-panel .mat-option,
:root[data-os=mac] .mat-autocomplete-panel .mat-option {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
}
:root[data-os=mac] .jems-popover-panel .mat-menu-item.mat-menu-item:hover:not([disabled]),
:root[data-os=mac] .jems-popover-panel [role=menuitem]:hover:not([disabled]),
:root[data-os=mac] .jems-popover-panel .jems-select-option.jems-select-option:hover,
:root[data-os=mac] .jems-popover-panel .jems-select-option.jems-select-option.active,
:root[data-os=mac] .mat-select-panel .mat-option.mat-option:hover:not(.mat-option-disabled),
:root[data-os=mac] .mat-select-panel .mat-option.mat-option.mat-active:not(.mat-option-disabled),
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-option:hover:not(.mat-option-disabled),
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-option.mat-active:not(.mat-option-disabled) {
  background-color: AccentColor !important;
  color: #fff !important;
}
:root[data-os=mac] .jems-popover-panel .mat-menu-item:hover .mat-icon,
:root[data-os=mac] .jems-popover-panel [role=menuitem]:hover .mat-icon,
:root[data-os=mac] .jems-popover-panel .jems-select-option:hover .mat-icon,
:root[data-os=mac] .jems-popover-panel .jems-select-option.active .mat-icon,
:root[data-os=mac] .jems-popover-panel .jems-select-option:hover .material-symbols-outlined,
:root[data-os=mac] .jems-popover-panel .jems-select-option.active .material-symbols-outlined,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option:hover .mat-icon,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option.mat-active .mat-icon,
:root[data-os=mac] .mat-autocomplete-panel .mat-option:hover .mat-icon,
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-active .mat-icon,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option:hover .mat-option-text,
:root[data-os=mac] .mat-select-panel:not(.status-chip-select-panel) .mat-option.mat-active .mat-option-text,
:root[data-os=mac] .mat-autocomplete-panel .mat-option:hover .mat-option-text,
:root[data-os=mac] .mat-autocomplete-panel .mat-option.mat-active .mat-option-text {
  color: #fff !important;
}
:root[data-os=mac] .jems-popover-panel .jems-select-option.selected:hover::before,
:root[data-os=mac] .jems-popover-panel .jems-select-option.selected.active::before,
:root[data-os=mac] .jems-popover-panel .jems-select-option:hover::before,
:root[data-os=mac] .jems-popover-panel .jems-select-option.active::before,
:root[data-os=mac] .jems-popover-panel .mat-menu-item.is-current:hover::before,
:root[data-os=mac] .mat-select-panel .mat-option.mat-selected:hover::before,
:root[data-os=mac] .mat-select-panel .mat-option.mat-selected.mat-active::before {
  background-color: #fff !important;
}
app-custom-form app-multiline-text-input app-custom-form mat-form-field {
  padding-left: 2.5em;
}
app-custom-form app-table-form-fields-container app-custom-form mat-form-field .mat-form-field-label-wrapper,
app-custom-form app-table-form-fields-container app-custom-form mat-form-field .mat-form-field-underline {
  display: none;
}
.event-admin h3 .subtitle, .event-admin .section .section-title .subtitle, .section .event-admin .section-title .subtitle, .event-admin .card-title .subtitle {
  font-size: 1.25rem;
  font-weight: 300;
}
.event-admin h4 .subtitle, .event-admin .card-subtitle .subtitle {
  font-size: 1.1875rem;
  font-weight: 300;
}
.event-admin h5 .subtitle, .event-admin .card-content .subtitle, .event-admin mat-card.event a .warning-public-at .subtitle, mat-card.event a .event-admin .warning-public-at .subtitle {
  font-size: 1.15rem;
  font-weight: 200;
}
.event-admin h6 .subtitle {
  font-size: 1.1rem;
  font-weight: 200;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-snack-bar-container.error, .mat-snack-bar-container.notification, .mat-snack-bar-container.warning {
  margin-left: 103px;
}
.mat-snack-bar-container.error {
  background: #CC0029;
  color: #fafafa;
}
.mat-snack-bar-container.notification {
  background: #7FC15C;
  color: #fafafa;
}
.mat-snack-bar-container.warning {
  background: #ffe289;
  color: #333333;
}
.mat-fab .mat-button-wrapper .mat-icon {
  vertical-align: initial;
  color: #fff;
}
.paginator-container {
  position: relative;
  padding: 10px 0;
}
.paginator-container mat-paginator {
  position: absolute;
  top: 0;
  width: 100%;
}
.paginator-container mat-paginator.bottom {
  top: unset;
  bottom: 0;
}
.paginator-container mat-paginator .mat-paginator-outer-container {
  border-radius: 4px;
  margin-bottom: 10px;
  box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
}
.paginator-container mat-paginator .mat-paginator-outer-container .mat-paginator-container {
  justify-content: space-between;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.show-all-submissions .mat-card {
  margin-bottom: 2em;
}
.show-all-submissions .mat-card .paper-info .main > .columns {
  margin: -0.75rem -0.75rem 0 -0.75rem;
}
.show-all-submissions .mat-card .paper-info .main > .columns .title-row {
  margin: 0;
  padding-bottom: 0;
}
.show-all-submissions .mat-card .paper-info .main > .columns .title-row h2, .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card.base-card mat-card-header, mat-card.base-card .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card-header, .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card.admin-event mat-card-header, mat-card.admin-event .show-all-submissions .mat-card .paper-info .main > .columns .title-row mat-card-header {
  text-transform: uppercase;
}
.show-all-submissions .mat-card .paper-info .main > .columns h2, .show-all-submissions .mat-card .paper-info .main > .columns mat-card.base-card mat-card-header, mat-card.base-card .show-all-submissions .mat-card .paper-info .main > .columns mat-card-header, .show-all-submissions .mat-card .paper-info .main > .columns mat-card.admin-event mat-card-header, mat-card.admin-event .show-all-submissions .mat-card .paper-info .main > .columns mat-card-header {
  padding-top: 0;
}
.show-all-submissions .pagebreak {
  -moz-column-break-after: always;
       break-after: always;
}
.show-all-submissions-container {
  background-color: #babfcd;
  padding: 1em;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.base-card mat-card-header, mat-card.admin-event mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .section .section-title, .card-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, .card-content, mat-card.event a .warning-public-at {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
mat-card {
  margin-bottom: 1em;
}
@media screen and (max-width: 486px) {
  mat-card {
    padding: 0.5rem;
  }
}
mat-card:hover {
  box-shadow: 0 12px 10px -1px rgba(0, 0, 0, 0.1), 0 -1px 20px 0 rgba(0, 0, 0, 0.1);
}
mat-card .mat-card-header-text {
  margin: 0 5px;
}
mat-card.event {
  margin-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 1rem;
  width: 100%;
}
mat-card.event:not([class*=mat-elevation-z]) {
  box-shadow: none;
  border-radius: 8px;
  border: 2px solid transparent;
}
mat-card.event a {
  padding: 0;
  display: flex;
  flex-direction: row;
}
mat-card.event a .horizontal-align {
  float: right;
}
mat-card.event a .information {
  width: 100%;
}
mat-card.event a .warning {
  width: 40%;
  align-self: center;
  float: right;
  padding: 1rem 0 0.5rem 2rem;
}
mat-card.event a .warning + .information {
  width: 60%;
  /* override */
}
@media screen and (max-width: 768px) {
  mat-card.event a {
    flex-direction: column;
  }
  mat-card.event a .information {
    width: 100%;
  }
  mat-card.event a .warning {
    width: 100%;
    text-align: center;
    padding: 1rem 2rem 0.5rem 2rem;
  }
  mat-card.event a .horizontal-align {
    float: none;
  }
}
mat-card.event a:link {
  text-decoration: inherit;
  color: initial;
}
mat-card.event a:visited {
  text-decoration: inherit;
  color: initial;
}
mat-card.event a .warning-public-at {
  background-color: rgba(200, 200, 200, 0.5);
  border-radius: 10rem;
  padding: 0.5rem 1rem;
  text-align: center;
}
mat-card.event mat-card-title {
  margin-bottom: 0.5rem;
}
mat-card.event mat-card-subtitle {
  margin-bottom: 0.25rem;
}
mat-card.event .float-right {
  float: right;
}
mat-card.event .left-button {
  margin-left: 6px;
}
mat-card.subconferences {
  margin-bottom: 1rem;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-bottom: 1rem;
  background: #ededed;
  width: 100%;
}
mat-card.admin-event {
  box-shadow: 0 0 0 0 !important;
  border-radius: 8px;
  width: 100%;
  border-width: 1px;
  border-style: solid;
  padding: 0 !important;
  margin-bottom: 1em;
}
mat-card.admin-event mat-card-header {
  background-color: #ededed;
  color: #434343;
  font-weight: 600 !important;
  width: 100%;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 0.25rem;
  margin-left: 0px;
}
mat-card.admin-event mat-card-header .mat-icon-button {
  width: 25px;
  height: 25px;
  margin-top: 1px;
  line-height: normal;
}
mat-card.admin-event mat-card-header .mat-icon-button a {
  color: black;
}
mat-card.admin-event mat-card-header mat-spinner {
  margin-left: 0.5rem;
}
mat-card.admin-event mat-card-content {
  padding: 1rem;
  margin: 0;
}
mat-card.admin-event mat-card-content mat-expansion-panel {
  margin: 0.5rem 0;
}
mat-card.admin-event mat-card-content mat-expansion-panel mat-action-row {
  padding: 1rem;
}
mat-card.admin-event mat-card-actions {
  margin: 0 !important;
  padding: 1rem !important;
}
mat-card.admin-event table .mat-footer-cell {
  border-bottom-width: 0;
}
mat-card.admin-event table .mat-header-cell {
  border-bottom-color: white;
}
mat-card.admin-event table .mat-cell {
  border-bottom-color: white;
}
mat-card.base-card {
  box-shadow: 0 0 0 0 !important;
  width: 100%;
  padding: 0;
  margin-bottom: 2em;
}
mat-card.base-card mat-card-header {
  font-weight: 600 !important;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
  padding: 0.25rem;
  margin-left: 0px;
}
mat-card.base-card mat-card-header .closed-header {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
mat-card.base-card mat-card-header .mat-icon-button {
  width: 25px;
  height: 25px;
  margin-top: 1px;
  margin-right: 5px;
  font-size: 1rem;
  line-height: normal;
}
mat-card.base-card mat-card-header .mat-icon-button .mat-icon {
  font-size: 16px;
}
mat-card.base-card mat-card-header .mat-icon-button a {
  color: black;
}
mat-card.base-card mat-card-header mat-spinner {
  margin-left: 0.5rem;
}
mat-card.base-card mat-card-content {
  padding: 1rem;
  margin: 0;
}
.card-title {
  color: #434343;
}
.section {
  padding-top: 0px !important;
}
.section .section-title {
  font-size: 1rem;
  padding-bottom: 0.5rem;
}
.section .section-content {
  padding-left: 1.4rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.ngx-mat-timepicker-spacer {
  vertical-align: middle;
  padding-bottom: 0.75em;
}
.mat-datepicker-content .time-container {
  margin: 0 auto !important;
  padding-top: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  max-width: 220px;
}
.mat-datepicker-content .time-container::before {
  display: none !important;
}
.mat-datepicker-content .time-container .ngx-mat-timepicker {
  flex: 0 0 auto;
  transform: translateX(-35px);
}
.mat-datepicker-content .time-container app-time-zone-input,
.mat-datepicker-content .time-container .container-button {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
}
.cdk-overlay-pane.is-clean-picker .actions button {
  pointer-events: none !important;
  opacity: 0.4 !important;
  cursor: not-allowed !important;
}
.cdk-overlay-pane .actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cdk-overlay-pane .actions button .mat-button-wrapper {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.cdk-overlay-pane .actions button mat-icon,
.cdk-overlay-pane .actions button .mat-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}
.cdk-overlay-pane .actions button + button {
  margin-left: 2px !important;
}
.cdk-overlay-pane .actions {
  justify-content: center !important;
  padding-top: 17px !important;
  padding-bottom: 17px !important;
}
.cdk-overlay-pane .actions button,
.cdk-overlay-pane .actions button * {
  transition: none !important;
}
.cdk-overlay-pane .actions button:first-child .mat-button-focus-overlay {
  opacity: 0 !important;
}
.cdk-overlay-pane .actions button:first-child:hover:not([disabled]) {
  background-color: #e8e6e3 !important;
}
.dark-theme .cdk-overlay-pane .actions button:first-child:hover:not([disabled]) {
  background-color: #34332f !important;
}
.cdk-overlay-pane:not(.is-clean-picker) .actions button:last-child:not([disabled]) {
  background-color: #064ad9 !important;
  border-color: #064ad9 !important;
  color: #fff !important;
}
.cdk-overlay-pane:not(.is-clean-picker) .actions button:last-child:not([disabled]) .mat-icon {
  color: #fff !important;
}
.dark-theme .cdk-overlay-pane:not(.is-clean-picker) .actions button:last-child:not([disabled]) {
  background-color: #60a5fa !important;
  border-color: #60a5fa !important;
}
.mat-datepicker-content {
  border-radius: 6px !important;
  padding: 0 !important;
  background-color: #f9f8f7 !important;
  margin-top: 2px !important;
  margin-bottom: 2px !important;
  width: 256px !important;
  min-width: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.mat-datepicker-content .mat-calendar {
  padding: 0;
  width: auto !important;
}
.mat-calendar {
  font-family: inherit;
  font-size: 13px;
  letter-spacing: 0;
}
.mat-calendar .mat-calendar-header {
  padding: 12px 12px 0;
}
.mat-calendar .mat-calendar-header .mat-calendar-controls {
  margin: 0 !important;
  padding: 0 !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button,
.mat-calendar .mat-calendar-header .mat-calendar-next-button {
  width: 24px !important;
  height: 24px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border-radius: 4px !important;
  color: rgba(0, 0, 0, 0.55) !important;
  transition: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button::before, .mat-calendar .mat-calendar-header .mat-calendar-previous-button::after,
.mat-calendar .mat-calendar-header .mat-calendar-next-button::before,
.mat-calendar .mat-calendar-header .mat-calendar-next-button::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
  transform: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper svg,
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper .mat-icon,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper svg,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper .mat-icon {
  display: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper::after,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  background-color: currentColor;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-wrapper::after {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M6.5 2 L3 5 L6.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M6.5 2 L3 5 L6.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-wrapper::after {
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M3.5 2 L7 5 L3.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10' fill='none'><path d='M3.5 2 L7 5 L3.5 8' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-focus-overlay,
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-button-ripple,
.mat-calendar .mat-calendar-header .mat-calendar-previous-button .mat-ripple,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-focus-overlay,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-button-ripple,
.mat-calendar .mat-calendar-header .mat-calendar-next-button .mat-ripple {
  display: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-previous-button:hover,
.mat-calendar .mat-calendar-header .mat-calendar-next-button:hover {
  color: rgba(0, 0, 0, 0.85) !important;
  background-color: rgba(0, 0, 0, 0.06) !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-period-button,
.mat-calendar .mat-calendar-header .mat-calendar-period-button *,
.mat-calendar .mat-calendar-header .mat-calendar-body-label,
.mat-calendar .mat-calendar-header .mat-calendar-table-header th {
  text-transform: none !important;
}
.mat-calendar .mat-calendar-header .mat-calendar-period-button {
  padding: 0 8px;
  min-height: auto;
  line-height: 1.4;
}
.mat-calendar .mat-calendar-content {
  padding: 8px !important;
}
.mat-calendar .mat-calendar-table {
  max-width: 200px;
  margin: 0 auto;
}
.mat-calendar .mat-calendar-body tr:first-child td {
  padding-top: 8px !important;
}
.mat-calendar .mat-calendar-period-button {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: #373734;
}
.mat-calendar .mat-calendar-period-button .mat-button-focus-overlay {
  opacity: 0 !important;
}
.mat-calendar .mat-calendar-period-button:hover {
  background-color: #e8e6e3 !important;
}
.mat-calendar .mat-calendar-table-header th {
  font-size: 11px;
  font-weight: 500;
  padding: 0 !important;
  color: rgba(0, 0, 0, 0.55);
  border: 0 !important;
  box-shadow: none !important;
}
.mat-calendar .mat-calendar-table-header-divider {
  height: 8px !important;
  padding: 0 !important;
  border: 0 !important;
}
.mat-calendar .mat-calendar-table-header-divider::after {
  display: none;
}
.mat-calendar .mat-calendar-body-label {
  height: 0 !important;
  padding: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
}
.mat-calendar .mat-calendar-table-header tr {
  padding-bottom: 0;
}
.mat-calendar .mat-calendar-body tr {
  height: 26px;
}
.mat-calendar .mat-calendar-body-cell {
  height: 26px !important;
  padding: 0 !important;
}
.mat-calendar .mat-calendar-body-cell-content {
  height: 24px !important;
  width: 24px !important;
  line-height: 24px !important;
  top: 1px !important;
}
.mat-calendar .mat-calendar-body-cell-content {
  font-size: 13px;
  font-weight: 430;
}
.mat-calendar ngx-mat-multi-year-view .mat-calendar-table-header-divider {
  display: none !important;
}
.mat-calendar ngx-mat-multi-year-view .mat-calendar-body-cell-content {
  width: 44px !important;
  border-radius: 12px !important;
}
.mat-calendar ngx-mat-year-view .mat-calendar-table-header-divider {
  display: none !important;
}
.mat-calendar ngx-mat-year-view .mat-calendar-body-cell-content {
  width: 44px !important;
  border-radius: 12px !important;
}
.ngx-mat-timepicker {
  font-family: inherit;
  font-size: 13px;
}
.ngx-mat-timepicker input,
.ngx-mat-timepicker .mat-input-element {
  font-size: 13px;
  font-weight: 430;
  font-family: inherit;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table td {
  padding: 0 !important;
  line-height: 1 !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button {
  width: 24px !important;
  height: 24px !important;
  line-height: 24px !important;
  padding: 0 !important;
  border-radius: 4px !important;
  background-color: transparent !important;
  color: rgba(0, 0, 0, 0.55) !important;
  box-shadow: none !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button:hover:not([disabled]) {
  background-color: rgba(0, 0, 0, 0.06) !important;
  color: rgba(0, 0, 0, 0.85) !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-button-focus-overlay,
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-button-ripple,
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-ripple {
  display: none !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button mat-icon,
.ngx-mat-timepicker .ngx-mat-timepicker-table button.mat-icon-button .mat-icon {
  font-size: 18px !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 18px !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-wrapper {
  padding-bottom: 0 !important;
  margin: 0 !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-infix {
  padding: 0 !important;
  border-top: 0 !important;
}
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-underline,
.ngx-mat-timepicker .ngx-mat-timepicker-table .mat-form-field-subscript-wrapper {
  display: none !important;
}
app-datetimepicker-input.filter-styled {
  display: inline-flex;
}
app-datetimepicker-input.filter-styled:not(.column) {
  flex: 0 0 auto;
  width: 260px;
}
app-datetimepicker-input.filter-styled .datepicker-input {
  width: 100%;
}
app-datetimepicker-input.filter-styled .mat-form-field {
  width: 100%;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-wrapper {
  margin: 0;
  padding: 0;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-subscript-wrapper {
  position: absolute;
  top: 100%;
  left: 2px;
  right: 2px;
  padding: 0;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.2;
  pointer-events: none;
}
app-datetimepicker-input.filter-styled .mat-error {
  color: #e91414;
  font-size: 11px;
  line-height: 1.2;
  margin: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-hint-wrapper,
app-datetimepicker-input.filter-styled .mat-hint {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-form-field-outline {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-form-field-label-wrapper {
  display: none;
}
app-datetimepicker-input.filter-styled .mat-form-field-flex {
  align-items: center;
  height: 26px;
  min-height: 26px;
  margin: 0;
  padding: 0 10px 0 3px !important;
  border-radius: 6px;
  background-color: white;
  border: 1px solid #D6D3D1;
  cursor: pointer;
  overflow: hidden;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-input-element,
app-datetimepicker-input.filter-styled .container-date-time-mask {
  cursor: pointer;
}
app-datetimepicker-input.filter-styled .mat-form-field-infix {
  min-width: 0;
}
app-datetimepicker-input.filter-styled ._container-input {
  min-width: 0;
}
app-datetimepicker-input.filter-styled .mat-form-field-suffix {
  order: -1;
  align-self: center;
  margin-right: 1px;
  display: inline-flex;
  align-items: center;
  position: relative;
  top: 0;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  width: 28px !important;
  height: 28px !important;
  min-height: 0 !important;
  line-height: 1;
  padding: 0;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 100ms ease;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-button-focus-overlay,
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-button-ripple,
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-ripple {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-datepicker-toggle-default-icon,
app-datetimepicker-input.filter-styled .mat-datepicker-toggle svg {
  display: none !important;
}
app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-icon-button::after {
  content: "calendar_today";
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 18px;
  line-height: 1;
  letter-spacing: normal;
  white-space: nowrap;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
  color: rgba(0, 0, 0, 0.55);
}
app-datetimepicker-input.filter-styled .mat-form-field-flex:hover .mat-datepicker-toggle .mat-icon-button::after,
app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) .mat-datepicker-toggle .mat-icon-button::after,
app-datetimepicker-input.filter-styled .picker-open .mat-datepicker-toggle .mat-icon-button::after,
app-datetimepicker-input.filter-styled .mat-focused .mat-datepicker-toggle .mat-icon-button::after {
  color: rgba(0, 0, 0, 0.85);
}
app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) {
  box-shadow: 0 0 0 1px #D6D3D1;
}
app-datetimepicker-input.filter-styled .mat-form-field-infix {
  border-top: 0;
  padding: 0 !important;
  width: auto;
}
app-datetimepicker-input.filter-styled ._container-input {
  gap: 6px !important;
  align-items: center;
  flex-wrap: nowrap;
}
app-datetimepicker-input.filter-styled .container-date-time-mask {
  font-size: 13px !important;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: normal;
  white-space: nowrap;
  color: #373734;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
app-datetimepicker-input.filter-styled .container-date-time-mask span {
  font-size: 13px !important;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
  min-width: 0;
}
app-datetimepicker-input.filter-styled .placeholder-mask {
  color: rgba(0, 0, 0, 0.5) !important;
  font-weight: 400;
}
app-datetimepicker-input.filter-styled .offset {
  font-size: 11px;
  font-weight: 400;
  opacity: 0.4;
  white-space: nowrap;
  flex: 0 9999 auto;
  min-width: 0;
  overflow: hidden;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer > span {
  display: inline-flex;
  align-items: center;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  min-width: 0;
  line-height: 18px;
  padding: 0;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-button-focus-overlay,
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-button-ripple,
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-ripple {
  display: none !important;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button .mat-icon {
  font-size: 15px !important;
  width: 15px;
  height: 15px;
  line-height: 15px;
  opacity: 0.4;
  color: inherit;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
  transition: opacity 120ms ease;
}
app-datetimepicker-input.filter-styled app-dialog-timezone.inline-tz-viewer .smaller-button:hover .mat-icon {
  opacity: 0.7;
}
app-datetimepicker-input.filter-styled .mat-form-field-flex:hover {
  box-shadow: 0 0 0 1px #D6D3D1;
}
app-datetimepicker-input.filter-styled .mat-focused .mat-form-field-flex,
app-datetimepicker-input.filter-styled .mat-form-field-flex:focus-within,
app-datetimepicker-input.filter-styled .picker-open .mat-form-field-flex {
  border-color: #064ad9;
  box-shadow: 0 0 0 1px #064ad9;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex {
  background-color: black;
  border-color: #5a5651;
}
.dark-theme app-datetimepicker-input.filter-styled .container-date-time-mask {
  color: #c4c2bd;
}
.dark-theme app-datetimepicker-input.filter-styled .placeholder-mask {
  color: rgba(255, 255, 255, 0.6) !important;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:hover,
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) {
  box-shadow: 0 0 0 1px #5a5651;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-focused .mat-form-field-flex,
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:focus-within,
.dark-theme app-datetimepicker-input.filter-styled .picker-open .mat-form-field-flex {
  border-color: #60a5fa;
  box-shadow: 0 0 0 1px #60a5fa;
}
.dark-theme app-datetimepicker-input.filter-styled .mat-datepicker-toggle .mat-icon-button::after {
  color: rgba(255, 255, 255, 0.55);
}
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:hover .mat-datepicker-toggle .mat-icon-button::after,
.dark-theme app-datetimepicker-input.filter-styled .mat-form-field-flex:has(.tz-globe.menu-open) .mat-datepicker-toggle .mat-icon-button::after,
.dark-theme app-datetimepicker-input.filter-styled .picker-open .mat-datepicker-toggle .mat-icon-button::after,
.dark-theme app-datetimepicker-input.filter-styled .mat-focused .mat-datepicker-toggle .mat-icon-button::after {
  color: rgba(255, 255, 255, 0.9);
}
.dark-theme .mat-datepicker-content .mat-calendar-previous-button,
.dark-theme .mat-datepicker-content .mat-calendar-next-button {
  color: rgba(255, 255, 255, 0.55) !important;
}
.dark-theme .mat-datepicker-content .mat-calendar-previous-button:hover,
.dark-theme .mat-datepicker-content .mat-calendar-next-button:hover {
  color: rgba(255, 255, 255, 0.9) !important;
  background-color: rgba(255, 255, 255, 0.14) !important;
}
.dark-theme .mat-datepicker-content {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .mat-datepicker-content .mat-calendar-period-button {
  color: #c4c2bd;
}
.dark-theme .mat-datepicker-content .mat-calendar-period-button:hover {
  background-color: #34332f !important;
}
.dark-theme .mat-datepicker-content .mat-calendar-table-header th {
  color: rgba(255, 255, 255, 0.55);
}
.dark-theme .mat-datepicker-content .ngx-mat-timepicker-table button.mat-icon-button {
  color: rgba(255, 255, 255, 0.55) !important;
}
.dark-theme .mat-datepicker-content .ngx-mat-timepicker-table button.mat-icon-button:hover:not([disabled]) {
  background-color: rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}
.mat-calendar-body-selected {
  background-color: #064ad9 !important;
  color: #fff !important;
}
.dark-theme .mat-calendar-body-selected {
  background-color: #60a5fa !important;
}
.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-keyboard-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),
.cdk-program-focused .mat-calendar-body-active > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(6, 74, 217, 0.15) !important;
}
.dark-theme .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover > .mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  background-color: rgba(96, 165, 250, 0.22) !important;
}
.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: #064ad9 !important;
}
.dark-theme .mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
  border-color: #60a5fa !important;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
app-select-input.filter-styled,
app-select-input-flag.filter-styled,
app-select-input-le.filter-styled, app-multiline-text-input.filter-styled, app-input-filter-autocomplete.filter-styled, app-text-input.filter-styled {
  display: block;
}
app-select-input.filter-styled > .numeric-input,
app-select-input-flag.filter-styled > .numeric-input,
app-select-input-le.filter-styled > .numeric-input, app-multiline-text-input.filter-styled > .numeric-input, app-input-filter-autocomplete.filter-styled > .numeric-input, app-text-input.filter-styled > .numeric-input,
app-select-input.filter-styled > div,
app-select-input-flag.filter-styled > div,
app-select-input-le.filter-styled > div,
app-multiline-text-input.filter-styled > div,
app-input-filter-autocomplete.filter-styled > div,
app-text-input.filter-styled > div {
  width: 100%;
  position: relative;
}
app-select-input.filter-styled mat-form-field,
app-select-input-flag.filter-styled mat-form-field,
app-select-input-le.filter-styled mat-form-field, app-multiline-text-input.filter-styled mat-form-field, app-input-filter-autocomplete.filter-styled mat-form-field, app-text-input.filter-styled mat-form-field {
  width: 100%;
  min-width: 0;
}
app-select-input.filter-styled .mat-form-field-wrapper,
app-select-input-flag.filter-styled .mat-form-field-wrapper,
app-select-input-le.filter-styled .mat-form-field-wrapper, app-multiline-text-input.filter-styled .mat-form-field-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-wrapper, app-text-input.filter-styled .mat-form-field-wrapper {
  margin: 0;
  padding: 0;
  min-width: 0;
}
app-select-input.filter-styled .mat-form-field-outline,
app-select-input-flag.filter-styled .mat-form-field-outline,
app-select-input-le.filter-styled .mat-form-field-outline, app-multiline-text-input.filter-styled .mat-form-field-outline, app-input-filter-autocomplete.filter-styled .mat-form-field-outline, app-text-input.filter-styled .mat-form-field-outline {
  display: none !important;
}
app-select-input.filter-styled .mat-form-field-underline,
app-select-input-flag.filter-styled .mat-form-field-underline,
app-select-input-le.filter-styled .mat-form-field-underline, app-multiline-text-input.filter-styled .mat-form-field-underline, app-input-filter-autocomplete.filter-styled .mat-form-field-underline, app-text-input.filter-styled .mat-form-field-underline {
  display: none !important;
}
app-select-input.filter-styled .mat-form-field-label-wrapper,
app-select-input-flag.filter-styled .mat-form-field-label-wrapper,
app-select-input-le.filter-styled .mat-form-field-label-wrapper, app-multiline-text-input.filter-styled .mat-form-field-label-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-label-wrapper, app-text-input.filter-styled .mat-form-field-label-wrapper {
  display: none !important;
}
app-select-input.filter-styled .mat-placeholder-required,
app-select-input-flag.filter-styled .mat-placeholder-required,
app-select-input-le.filter-styled .mat-placeholder-required, app-multiline-text-input.filter-styled .mat-placeholder-required, app-input-filter-autocomplete.filter-styled .mat-placeholder-required, app-text-input.filter-styled .mat-placeholder-required {
  display: none !important;
}
app-select-input.filter-styled .mat-form-field-subscript-wrapper,
app-select-input-flag.filter-styled .mat-form-field-subscript-wrapper,
app-select-input-le.filter-styled .mat-form-field-subscript-wrapper, app-multiline-text-input.filter-styled .mat-form-field-subscript-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-subscript-wrapper, app-text-input.filter-styled .mat-form-field-subscript-wrapper {
  position: absolute;
  top: 100%;
  left: 2px;
  right: 2px;
  padding: 0;
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.2;
  pointer-events: none;
}
app-select-input.filter-styled .mat-error,
app-select-input-flag.filter-styled .mat-error,
app-select-input-le.filter-styled .mat-error, app-multiline-text-input.filter-styled .mat-error, app-input-filter-autocomplete.filter-styled .mat-error, app-text-input.filter-styled .mat-error {
  color: #e91414;
  font-size: 11px;
  line-height: 1.2;
  margin: 0;
}
app-select-input.filter-styled .mat-form-field-hint-wrapper,
app-select-input-flag.filter-styled .mat-form-field-hint-wrapper,
app-select-input-le.filter-styled .mat-form-field-hint-wrapper, app-multiline-text-input.filter-styled .mat-form-field-hint-wrapper, app-input-filter-autocomplete.filter-styled .mat-form-field-hint-wrapper, app-text-input.filter-styled .mat-form-field-hint-wrapper,
app-select-input.filter-styled .mat-hint,
app-select-input-flag.filter-styled .mat-hint,
app-select-input-le.filter-styled .mat-hint,
app-multiline-text-input.filter-styled .mat-hint,
app-input-filter-autocomplete.filter-styled .mat-hint,
app-text-input.filter-styled .mat-hint {
  display: none !important;
}
app-select-input.filter-styled .ti-description,
app-select-input-flag.filter-styled .ti-description,
app-select-input-le.filter-styled .ti-description, app-multiline-text-input.filter-styled .ti-description, app-input-filter-autocomplete.filter-styled .ti-description, app-text-input.filter-styled .ti-description {
  position: absolute;
  top: 0;
  left: 2px;
  right: 2px;
  color: rgba(0, 0, 0, 0.6);
  font-size: 11px;
  font-weight: 430;
  font-family: inherit;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  pointer-events: auto;
}
app-select-input.filter-styled .ti-description .required-mark,
app-select-input-flag.filter-styled .ti-description .required-mark,
app-select-input-le.filter-styled .ti-description .required-mark, app-multiline-text-input.filter-styled .ti-description .required-mark, app-input-filter-autocomplete.filter-styled .ti-description .required-mark, app-text-input.filter-styled .ti-description .required-mark {
  color: #e91414;
  margin-left: 2px;
  font-weight: 500;
}
app-select-input.filter-styled .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-flex, app-multiline-text-input.filter-styled .mat-form-field-flex, app-input-filter-autocomplete.filter-styled .mat-form-field-flex, app-text-input.filter-styled .mat-form-field-flex {
  align-items: center;
  height: 26px;
  min-height: 26px;
  margin: 16px 0 0;
  padding: 0 10px !important;
  border-radius: 6px;
  background-color: white;
  border: 1px solid #D6D3D1;
  overflow: hidden;
  min-width: 0;
}
app-select-input.filter-styled .mat-form-field-flex:has(.ti-copy-btn),
app-select-input-flag.filter-styled .mat-form-field-flex:has(.ti-copy-btn),
app-select-input-le.filter-styled .mat-form-field-flex:has(.ti-copy-btn), app-multiline-text-input.filter-styled .mat-form-field-flex:has(.ti-copy-btn), app-input-filter-autocomplete.filter-styled .mat-form-field-flex:has(.ti-copy-btn), app-text-input.filter-styled .mat-form-field-flex:has(.ti-copy-btn) {
  padding-right: 0 !important;
}
app-select-input.filter-styled .mat-form-field-infix,
app-select-input-flag.filter-styled .mat-form-field-infix,
app-select-input-le.filter-styled .mat-form-field-infix, app-multiline-text-input.filter-styled .mat-form-field-infix, app-input-filter-autocomplete.filter-styled .mat-form-field-infix, app-text-input.filter-styled .mat-form-field-infix {
  border-top: 0;
  padding: 0 !important;
  width: auto;
  min-width: 0;
  display: flex;
  align-items: center;
  align-self: stretch;
}
app-select-input.filter-styled .mat-form-field-prefix,
app-select-input-flag.filter-styled .mat-form-field-prefix,
app-select-input-le.filter-styled .mat-form-field-prefix, app-multiline-text-input.filter-styled .mat-form-field-prefix, app-input-filter-autocomplete.filter-styled .mat-form-field-prefix, app-text-input.filter-styled .mat-form-field-prefix,
app-select-input.filter-styled .mat-form-field-suffix,
app-select-input-flag.filter-styled .mat-form-field-suffix,
app-select-input-le.filter-styled .mat-form-field-suffix,
app-multiline-text-input.filter-styled .mat-form-field-suffix,
app-input-filter-autocomplete.filter-styled .mat-form-field-suffix,
app-text-input.filter-styled .mat-form-field-suffix {
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1;
  color: #373734;
  top: 0 !important;
  margin: 0;
  padding: 0;
  -webkit-user-select: text;
     -moz-user-select: text;
      -ms-user-select: text;
          user-select: text;
  cursor: text;
}
app-select-input.filter-styled .mat-input-element,
app-select-input-flag.filter-styled .mat-input-element,
app-select-input-le.filter-styled .mat-input-element, app-multiline-text-input.filter-styled .mat-input-element, app-input-filter-autocomplete.filter-styled .mat-input-element, app-text-input.filter-styled .mat-input-element {
  line-height: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  vertical-align: middle !important;
}
app-select-input.filter-styled .mat-input-element,
app-select-input-flag.filter-styled .mat-input-element,
app-select-input-le.filter-styled .mat-input-element, app-multiline-text-input.filter-styled .mat-input-element, app-input-filter-autocomplete.filter-styled .mat-input-element, app-text-input.filter-styled .mat-input-element,
app-select-input.filter-styled .mat-select-value-text,
app-select-input-flag.filter-styled .mat-select-value-text,
app-select-input-le.filter-styled .mat-select-value-text,
app-multiline-text-input.filter-styled .mat-select-value-text,
app-input-filter-autocomplete.filter-styled .mat-select-value-text,
app-text-input.filter-styled .mat-select-value-text {
  font-size: 13px !important;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: normal;
  color: #373734;
}
app-select-input.filter-styled .mat-form-field-label,
app-select-input-flag.filter-styled .mat-form-field-label,
app-select-input-le.filter-styled .mat-form-field-label, app-multiline-text-input.filter-styled .mat-form-field-label, app-input-filter-autocomplete.filter-styled .mat-form-field-label, app-text-input.filter-styled .mat-form-field-label {
  color: rgba(0, 0, 0, 0.5);
}
app-select-input.filter-styled .mat-form-field-flex:hover,
app-select-input-flag.filter-styled .mat-form-field-flex:hover,
app-select-input-le.filter-styled .mat-form-field-flex:hover, app-multiline-text-input.filter-styled .mat-form-field-flex:hover, app-input-filter-autocomplete.filter-styled .mat-form-field-flex:hover, app-text-input.filter-styled .mat-form-field-flex:hover {
  box-shadow: 0 0 0 1px #D6D3D1;
}
app-select-input.mat-focused.filter-styled .mat-form-field-flex,
app-select-input-flag.mat-focused.filter-styled .mat-form-field-flex,
app-select-input-le.mat-focused.filter-styled .mat-form-field-flex, app-multiline-text-input.mat-focused.filter-styled .mat-form-field-flex, app-input-filter-autocomplete.mat-focused.filter-styled .mat-form-field-flex, app-text-input.mat-focused.filter-styled .mat-form-field-flex,
app-select-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-multiline-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-input-filter-autocomplete.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
app-select-input.filter-styled .mat-form-field-flex:focus-within,
app-select-input-flag.filter-styled .mat-form-field-flex:focus-within,
app-select-input-le.filter-styled .mat-form-field-flex:focus-within,
app-multiline-text-input.filter-styled .mat-form-field-flex:focus-within,
app-input-filter-autocomplete.filter-styled .mat-form-field-flex:focus-within,
app-text-input.filter-styled .mat-form-field-flex:focus-within {
  border-color: #064ad9;
  box-shadow: 0 0 0 1px #064ad9;
}
app-select-input.filter-styled .mat-form-field-invalid .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-invalid .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-invalid .mat-form-field-flex, app-multiline-text-input.filter-styled .mat-form-field-invalid .mat-form-field-flex, app-input-filter-autocomplete.filter-styled .mat-form-field-invalid .mat-form-field-flex, app-text-input.filter-styled .mat-form-field-invalid .mat-form-field-flex {
  border-color: #e91414;
}
app-select-input.filter-styled .mat-form-field-disabled .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-disabled .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-disabled .mat-form-field-flex, app-multiline-text-input.filter-styled .mat-form-field-disabled .mat-form-field-flex, app-input-filter-autocomplete.filter-styled .mat-form-field-disabled .mat-form-field-flex, app-text-input.filter-styled .mat-form-field-disabled .mat-form-field-flex {
  opacity: 0.55;
  box-shadow: none;
  pointer-events: none;
}
app-select-input.filter-styled > div:has(.mat-form-field-disabled) .ti-description,
app-select-input-flag.filter-styled > div:has(.mat-form-field-disabled) .ti-description,
app-select-input-le.filter-styled > div:has(.mat-form-field-disabled) .ti-description, app-multiline-text-input.filter-styled > div:has(.mat-form-field-disabled) .ti-description, app-input-filter-autocomplete.filter-styled > div:has(.mat-form-field-disabled) .ti-description, app-text-input.filter-styled > div:has(.mat-form-field-disabled) .ti-description {
  opacity: 0.55;
}
app-multiline-text-input.filter-styled > .multiline-text-input {
  width: 100%;
  position: relative;
}
app-multiline-text-input.filter-styled .mat-form-field-flex {
  align-items: flex-start;
  height: auto !important;
  min-height: 0;
  margin: 0 !important;
  padding: 8px 10px !important;
}
app-multiline-text-input.filter-styled:has(> .multiline-text-input > .ti-description) .mat-form-field-flex {
  margin-top: 16px !important;
}
app-multiline-text-input.filter-styled .mat-form-field-infix {
  display: block;
  align-self: auto;
  padding: 0 !important;
  width: 100%;
}
app-multiline-text-input.filter-styled textarea.mat-input-element {
  resize: none;
  overflow: hidden;
  box-sizing: content-box;
  line-height: 1.5 !important;
  padding: 0 0 2px !important;
}
app-select-input.filter-styled .mat-form-field-flex,
app-select-input-flag.filter-styled .mat-form-field-flex,
app-select-input-le.filter-styled .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.72);
}
app-select-input.filter-styled .mat-select-trigger,
app-select-input-flag.filter-styled .mat-select-trigger,
app-select-input-le.filter-styled .mat-select-trigger {
  display: flex;
  align-items: center;
  width: 100%;
}
app-select-input.filter-styled .mat-select-value,
app-select-input-flag.filter-styled .mat-select-value,
app-select-input-le.filter-styled .mat-select-value {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  max-width: none;
}
app-select-input.filter-styled .mat-select-arrow-wrapper,
app-select-input-flag.filter-styled .mat-select-arrow-wrapper,
app-select-input-le.filter-styled .mat-select-arrow-wrapper {
  align-self: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  padding: 0;
  margin-right: -8px;
  border: 1px solid #D6D3D1;
  border-radius: 4px;
  background-color: transparent;
  line-height: 0;
  transform: none !important;
  vertical-align: middle;
}
app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
app-select-input.filter-styled .mat-focused .mat-select-arrow-wrapper,
app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
app-select-input-flag.filter-styled .mat-focused .mat-select-arrow-wrapper,
app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
app-select-input-le.filter-styled .mat-focused .mat-select-arrow-wrapper {
  background-color: rgba(0, 0, 0, 0.06);
}
app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
app-select-input.filter-styled .mat-focused .mat-select-arrow,
app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
app-select-input-flag.filter-styled .mat-focused .mat-select-arrow,
app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
app-select-input-le.filter-styled .mat-focused .mat-select-arrow {
  color: rgba(0, 0, 0, 0.85);
}
app-select-input.filter-styled .mat-select-arrow,
app-select-input-flag.filter-styled .mat-select-arrow,
app-select-input-le.filter-styled .mat-select-arrow {
  color: rgba(0, 0, 0, 0.55);
  border: 0 !important;
  width: 10px;
  height: 12px;
  margin: 0 !important;
  transform: none !important;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'><path d='M2 4 L5 1 L8 4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M2 8 L5 11 L8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='12' viewBox='0 0 10 12'><path d='M2 4 L5 1 L8 4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M2 8 L5 11 L8 8' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.dark-theme app-select-input.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex {
  background-color: rgba(255, 255, 255, 0.05);
}
.dark-theme app-select-input.filter-styled .mat-select-arrow-wrapper,
.dark-theme app-select-input-flag.filter-styled .mat-select-arrow-wrapper,
.dark-theme app-select-input-le.filter-styled .mat-select-arrow-wrapper {
  background-color: transparent;
  border-color: #5a5651;
}
.dark-theme app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
.dark-theme app-select-input.filter-styled .mat-focused .mat-select-arrow-wrapper,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
.dark-theme app-select-input-flag.filter-styled .mat-focused .mat-select-arrow-wrapper,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow-wrapper,
.dark-theme app-select-input-le.filter-styled .mat-focused .mat-select-arrow-wrapper {
  background-color: rgba(255, 255, 255, 0.14);
}
.dark-theme app-select-input.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
.dark-theme app-select-input.filter-styled .mat-focused .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-focused .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex:hover .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-focused .mat-select-arrow {
  color: rgba(255, 255, 255, 0.9);
}
.dark-theme app-select-input.filter-styled .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-select-arrow {
  color: rgba(255, 255, 255, 0.55);
}
app-text-input.column,
app-select-input.column,
app-select-input-flag.column,
app-select-input-le.column,
app-input-filter-autocomplete.column,
app-multiline-text-input.column,
app-number-input.column,
app-datetimepicker-input.column,
app-jems-select.column {
  padding: 6px;
}
@media screen and (max-width: 768px) {
  app-text-input.column,
app-select-input.column,
app-select-input-flag.column,
app-select-input-le.column,
app-input-filter-autocomplete.column,
app-multiline-text-input.column,
app-number-input.column,
app-datetimepicker-input.column,
app-jems-select.column {
    display: block !important;
    width: 100% !important;
  }
}
.mat-select-panel,
.mat-autocomplete-panel,
.mat-datepicker-content {
  margin-top: 1px;
}
.mat-datepicker-content {
  margin-bottom: 2px;
}
.mat-autocomplete-panel-above .mat-autocomplete-panel.user-search-autocomplete {
  margin-bottom: 1px;
}
.dark-theme app-text-input.filter-styled .mat-form-field-flex,
.dark-theme app-select-input.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-form-field-flex,
.dark-theme app-multiline-text-input.filter-styled .mat-form-field-flex {
  background-color: black;
  border-color: #5a5651;
}
.dark-theme app-text-input.filter-styled .mat-form-field-flex:hover,
.dark-theme app-select-input.filter-styled .mat-form-field-flex:hover,
.dark-theme app-select-input-flag.filter-styled .mat-form-field-flex:hover,
.dark-theme app-select-input-le.filter-styled .mat-form-field-flex:hover,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-form-field-flex:hover,
.dark-theme app-multiline-text-input.filter-styled .mat-form-field-flex:hover {
  box-shadow: 0 0 0 1px #5a5651;
}
.dark-theme app-text-input.filter-styled .mat-input-element,
.dark-theme app-text-input.filter-styled .mat-select-value-text,
.dark-theme app-select-input.filter-styled .mat-input-element,
.dark-theme app-select-input.filter-styled .mat-select-value-text,
.dark-theme app-select-input-flag.filter-styled .mat-input-element,
.dark-theme app-select-input-flag.filter-styled .mat-select-value-text,
.dark-theme app-select-input-le.filter-styled .mat-input-element,
.dark-theme app-select-input-le.filter-styled .mat-select-value-text,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-input-element,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-select-value-text,
.dark-theme app-multiline-text-input.filter-styled .mat-input-element,
.dark-theme app-multiline-text-input.filter-styled .mat-select-value-text {
  color: #c4c2bd;
}
.dark-theme app-text-input.filter-styled .ti-description,
.dark-theme app-select-input.filter-styled .ti-description,
.dark-theme app-select-input-flag.filter-styled .ti-description,
.dark-theme app-select-input-le.filter-styled .ti-description,
.dark-theme app-input-filter-autocomplete.filter-styled .ti-description,
.dark-theme app-multiline-text-input.filter-styled .ti-description {
  color: rgba(255, 255, 255, 0.6);
}
.dark-theme app-text-input.filter-styled .mat-select-arrow,
.dark-theme app-select-input.filter-styled .mat-select-arrow,
.dark-theme app-select-input-flag.filter-styled .mat-select-arrow,
.dark-theme app-select-input-le.filter-styled .mat-select-arrow,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-select-arrow,
.dark-theme app-multiline-text-input.filter-styled .mat-select-arrow {
  color: rgba(255, 255, 255, 0.6);
}
.dark-theme app-text-input.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-select-input.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-select-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-flag.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-select-input-le.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-input-filter-autocomplete.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-input-filter-autocomplete.filter-styled .mat-form-field.mat-focused .mat-form-field-flex,
.dark-theme app-multiline-text-input.filter-styled.mat-focused .mat-form-field-flex,
.dark-theme app-multiline-text-input.filter-styled .mat-form-field.mat-focused .mat-form-field-flex {
  border-color: #60a5fa;
  box-shadow: 0 0 0 1px #60a5fa;
}
.cdk-overlay-pane app-user-search .mat-form-field-subscript-wrapper {
  position: static !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.cdk-overlay-pane app-user-search .mat-hint {
  display: block;
  margin-top: 4px;
  padding: 0 4px;
  font-size: 11px;
  line-height: 1.2;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.paperBackground {
  color: #373734;
  border-radius: 6px;
  color: #363636;
}
.paperBackground a, .paperBackground .fa-file-pdf, .paperBackground .fa-upload {
  color: #064ad9 !important;
}
.paperBackground a:hover, .paperBackground .fa-file-pdf:hover, .paperBackground .fa-upload:hover {
  color: #064ad9 !important;
}
.dark-theme .paperBackground a, .dark-theme .paperBackground .fa-file-pdf, .dark-theme .paperBackground .fa-upload {
  color: #60a5fa !important;
}
.dark-theme .paperBackground a:hover, .dark-theme .paperBackground .fa-file-pdf:hover, .dark-theme .paperBackground .fa-upload:hover {
  color: #60a5fa !important;
}
.paperBackground .submission {
  background-color: rgba(0, 0, 0, 0.1);
}
.paperBackground .review {
  background-color: rgba(0, 0, 0, 0.1);
}
.paperBackground.submission.pending, .paperBackground.submission.pending.paper-status {
  background-color: #e5e5e5 !important;
}
.paperBackground.submission.pending .mat-icon.status-icon, .paperBackground.submission.pending.paper-status .mat-icon.status-icon {
  color: #6b6b6b !important;
}
.paperBackground.submission.active, .paperBackground.submission.active.paper-status {
  background-color: #FFFF55 !important;
}
.paperBackground.submission.active .mat-icon.status-icon, .paperBackground.submission.active.paper-status .mat-icon.status-icon {
  color: #1f3a93 !important;
}
.paperBackground.submission.accepted, .paperBackground.submission.accepted.paper-status {
  background-color: #99FF99 !important;
}
.paperBackground.submission.accepted .mat-icon.status-icon, .paperBackground.submission.accepted.paper-status .mat-icon.status-icon {
  color: #1c7530 !important;
}
.paperBackground.submission.rejected, .paperBackground.submission.rejected.paper-status {
  background-color: #ffbdbd !important;
}
.paperBackground.submission.rejected .mat-icon.status-icon, .paperBackground.submission.rejected.paper-status .mat-icon.status-icon {
  color: #b3261e !important;
}
.paperBackground.submission.withdrawn, .paperBackground.submission.withdrawn.paper-status {
  background-color: #DDDDDD !important;
}
.paperBackground.submission.withdrawn .mat-icon.status-icon, .paperBackground.submission.withdrawn.paper-status .mat-icon.status-icon {
  color: #808080 !important;
}
.paperBackground.submission.ready, .paperBackground.submission.ready.paper-status {
  background-color: #6da36f !important;
}
.paperBackground.submission.ready .mat-icon.status-icon, .paperBackground.submission.ready.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.submission.not-ready, .paperBackground.submission.not-ready.paper-status {
  background-color: #f93826 !important;
}
.paperBackground.submission.not-ready .mat-icon.status-icon, .paperBackground.submission.not-ready.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.assigned, .paperBackground.review.assigned.paper-status {
  background-color: #FFFFFF !important;
}
.paperBackground.review.assigned .mat-icon.status-icon, .paperBackground.review.assigned.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.notified, .paperBackground.review.notified.paper-status {
  background-color: #94C0FB !important;
}
.paperBackground.review.notified .mat-icon.status-icon, .paperBackground.review.notified.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.confirmed, .paperBackground.review.confirmed.paper-status {
  background-color: #FFD860 !important;
}
.paperBackground.review.confirmed .mat-icon.status-icon, .paperBackground.review.confirmed.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.declined, .paperBackground.review.declined.paper-status {
  background-color: #C6C6C6 !important;
}
.paperBackground.review.declined .mat-icon.status-icon, .paperBackground.review.declined.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.reminded, .paperBackground.review.reminded.paper-status {
  background-color: #FF8FA0 !important;
}
.paperBackground.review.reminded .mat-icon.status-icon, .paperBackground.review.reminded.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.late, .paperBackground.review.late.paper-status {
  background-color: #fa5b5b !important;
}
.paperBackground.review.late .mat-icon.status-icon, .paperBackground.review.late.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.delegated, .paperBackground.review.delegated.paper-status {
  background-color: #ff89c9 !important;
}
.paperBackground.review.delegated .mat-icon.status-icon, .paperBackground.review.delegated.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.completed, .paperBackground.review.completed.paper-status {
  background-color: #63FCC8 !important;
}
.paperBackground.review.completed .mat-icon.status-icon, .paperBackground.review.completed.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.draft, .paperBackground.review.draft.paper-status {
  background-color: #AAAAAA !important;
}
.paperBackground.review.draft .mat-icon.status-icon, .paperBackground.review.draft.paper-status .mat-icon.status-icon {
  color: black !important;
}
.paperBackground.review.assigned.paper-status {
  background-color: white !important;
  border: 1px solid #b3b3b3 !important;
}
.paperBackground.review.assigned.paper-status .mat-icon.status-icon {
  color: #b3b3b3 !important;
}
.paperBackground.review.notified.paper-status {
  background-color: #f6faff !important;
  border: 1px solid #096aed !important;
}
.paperBackground.review.notified.paper-status .mat-icon.status-icon {
  color: #096aed !important;
}
.paperBackground.review.confirmed.paper-status {
  background-color: #fff1c6 !important;
  border: 1px solid #c69500 !important;
}
.paperBackground.review.confirmed.paper-status .mat-icon.status-icon {
  color: #c69500 !important;
}
.paperBackground.review.declined.paper-status {
  background-color: #f9f9f9 !important;
  border: 1px solid #7a7a7a !important;
}
.paperBackground.review.declined.paper-status .mat-icon.status-icon {
  color: #7a7a7a !important;
}
.paperBackground.review.reminded.paper-status {
  background-color: #fff5f7 !important;
  border: 1px solid #f50025 !important;
}
.paperBackground.review.reminded.paper-status .mat-icon.status-icon {
  color: #f50025 !important;
}
.paperBackground.review.late.paper-status {
  background-color: #fdbebe !important;
  border: 1px solid #b60606 !important;
}
.paperBackground.review.late.paper-status .mat-icon.status-icon {
  color: #b60606 !important;
}
.paperBackground.review.delegated.paper-status {
  background-color: #ffeff8 !important;
  border: 1px solid #ef0082 !important;
}
.paperBackground.review.delegated.paper-status .mat-icon.status-icon {
  color: #ef0082 !important;
}
.paperBackground.review.completed.paper-status {
  background-color: #c7feeb !important;
  border: 1px solid #04c282 !important;
}
.paperBackground.review.completed.paper-status .mat-icon.status-icon {
  color: #04c282 !important;
}
.paperBackground.review.draft.paper-status {
  background-color: #dddddd !important;
  border: 1px solid #5e5e5e !important;
}
.paperBackground.review.draft.paper-status .mat-icon.status-icon {
  color: #5e5e5e !important;
}
.paperBackground.submission.paper-status {
  border-radius: 999px !important;
}
.paperBackground.review.paper-status {
  border-radius: 3px !important;
}
.statusBackground.submission.pending.icon-status-mobile {
  background-color: #e5e5e5 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.pending.icon-status-mobile .mat-icon.icon {
  color: #6b6b6b !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.pending.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.active.icon-status-mobile {
  background-color: #FFFF55 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.active.icon-status-mobile .mat-icon.icon {
  color: #1f3a93 !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.active.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.accepted.icon-status-mobile {
  background-color: #99FF99 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.accepted.icon-status-mobile .mat-icon.icon {
  color: #1c7530 !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.accepted.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.rejected.icon-status-mobile {
  background-color: #ffbdbd !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.rejected.icon-status-mobile .mat-icon.icon {
  color: #b3261e !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.rejected.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.submission.withdrawn.icon-status-mobile {
  background-color: #DDDDDD !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.submission.withdrawn.icon-status-mobile .mat-icon.icon {
  color: #808080 !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.submission.withdrawn.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.assigned.icon-status-mobile {
  background-color: #FFFFFF !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.assigned.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.assigned.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.notified.icon-status-mobile {
  background-color: #94C0FB !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.notified.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.notified.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.confirmed.icon-status-mobile {
  background-color: #FFD860 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.confirmed.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.confirmed.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.declined.icon-status-mobile {
  background-color: #C6C6C6 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.declined.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.declined.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.reminded.icon-status-mobile {
  background-color: #FF8FA0 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.reminded.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.reminded.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.late.icon-status-mobile {
  background-color: #fa5b5b !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.late.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.late.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.delegated.icon-status-mobile {
  background-color: #ff89c9 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.delegated.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.delegated.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.completed.icon-status-mobile {
  background-color: #63FCC8 !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.completed.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.completed.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.draft.icon-status-mobile {
  background-color: #AAAAAA !important;
  height: 19px;
  margin-bottom: 3px;
  margin-top: 2px;
  display: inline-flex;
  align-items: center;
  border-radius: 30px;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3);
  padding-right: 12px;
  padding-left: 3px;
  border: 0px solid transparent;
}
.statusBackground.review.draft.icon-status-mobile .mat-icon.icon {
  color: black !important;
  font-size: 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.statusBackground.review.draft.icon-status-mobile .string {
  font-size: 0.75rem;
}
.statusBackground.review.assigned.icon-status-mobile {
  background-color: white !important;
  border: 1px solid #b3b3b3 !important;
}
.statusBackground.review.assigned.icon-status-mobile .mat-icon.icon {
  color: #b3b3b3 !important;
}
.statusBackground.review.notified.icon-status-mobile {
  background-color: #f6faff !important;
  border: 1px solid #096aed !important;
}
.statusBackground.review.notified.icon-status-mobile .mat-icon.icon {
  color: #096aed !important;
}
.statusBackground.review.confirmed.icon-status-mobile {
  background-color: #fff1c6 !important;
  border: 1px solid #c69500 !important;
}
.statusBackground.review.confirmed.icon-status-mobile .mat-icon.icon {
  color: #c69500 !important;
}
.statusBackground.review.declined.icon-status-mobile {
  background-color: #f9f9f9 !important;
  border: 1px solid #7a7a7a !important;
}
.statusBackground.review.declined.icon-status-mobile .mat-icon.icon {
  color: #7a7a7a !important;
}
.statusBackground.review.reminded.icon-status-mobile {
  background-color: #fff5f7 !important;
  border: 1px solid #f50025 !important;
}
.statusBackground.review.reminded.icon-status-mobile .mat-icon.icon {
  color: #f50025 !important;
}
.statusBackground.review.late.icon-status-mobile {
  background-color: #fdbebe !important;
  border: 1px solid #b60606 !important;
}
.statusBackground.review.late.icon-status-mobile .mat-icon.icon {
  color: #b60606 !important;
}
.statusBackground.review.delegated.icon-status-mobile {
  background-color: #ffeff8 !important;
  border: 1px solid #ef0082 !important;
}
.statusBackground.review.delegated.icon-status-mobile .mat-icon.icon {
  color: #ef0082 !important;
}
.statusBackground.review.completed.icon-status-mobile {
  background-color: #c7feeb !important;
  border: 1px solid #04c282 !important;
}
.statusBackground.review.completed.icon-status-mobile .mat-icon.icon {
  color: #04c282 !important;
}
.statusBackground.review.draft.icon-status-mobile {
  background-color: #dddddd !important;
  border: 1px solid #5e5e5e !important;
}
.statusBackground.review.draft.icon-status-mobile .mat-icon.icon {
  color: #5e5e5e !important;
}
.statusBackground.submission.icon-status-mobile {
  border-radius: 999px !important;
}
.statusBackground.review.icon-status-mobile {
  border-radius: 3px !important;
}
.submission-form-item p .field-title {
  font-weight: bold;
}
.submission-form-item p .field-description {
  font-style: italic;
}
.legend, .caption {
  margin: 1em 0;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.025rem;
}
.legend span, .caption span {
  padding: 0.25em;
  margin: 0 0.25em;
  min-width: 90px;
  display: inline-block;
  text-align: center;
  font-weight: 500;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.page-notice {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0;
  text-align: left;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.5;
  color: #78716C;
}
.page-notice > .material-symbols-outlined,
.page-notice > .mat-icon {
  flex-shrink: 0;
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
  color: inherit;
}
.dark-theme .page-notice {
  color: #c4c2bd;
  opacity: 0.7;
}
.home .user-dashboard .main-title, .home .submissions .main-title, .home .reviews .main-title, .home .events .main-title, .home .myevents .main-title, .home .committees .main-title {
  margin-left: 0.5rem;
}
@media only screen and (max-width: 414px) {
  .home .user-dashboard .main-title, .home .submissions .main-title, .home .reviews .main-title, .home .events .main-title, .home .myevents .main-title, .home .committees .main-title {
    display: none;
  }
}
.home .user-dashboard .vspacer, .home .submissions .vspacer, .home .reviews .vspacer, .home .events .vspacer, .home .myevents .vspacer, .home .committees .vspacer {
  margin-top: 16px;
}
.home .submissions, .home .reviews {
  padding-bottom: 16px;
}
.admin .event-admin .subconferences .columns {
  margin-bottom: 0;
}
markdown h1 {
  font-size: 2rem;
}
markdown h2, markdown mat-card.admin-event mat-card-header, mat-card.admin-event markdown mat-card-header, markdown mat-card.base-card mat-card-header, mat-card.base-card markdown mat-card-header {
  font-size: 1.5rem;
}
markdown h3, markdown .card-title, markdown .section .section-title, .section markdown .section-title {
  font-size: 1.3125rem;
}
markdown h4, markdown .card-subtitle {
  font-size: 1.1875rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.main-header {
  display: inline-flex;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
.main-header .main-title {
  display: inline-flex;
  align-items: center;
  padding: 0;
  margin-left: 8px;
  min-height: 60px;
  flex-basis: content;
  flex-grow: 1;
  flex-shrink: 1;
  padding-top: 15px;
  padding-bottom: 15px;
}
.main-header .filterAndOptions {
  display: inline-flex;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
  padding: 0;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
}
@media only screen and (max-width: 414px) {
  .main-header .filterAndOptions {
    justify-content: center;
  }
}
.main-header .options {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 0 0 0.5rem;
  height: 60px;
}
.main-header .options .mat-checkbox-label {
  margin-right: 0.5rem;
  height: 100%;
  font-size: 0.75rem;
  font-weight: 600;
  white-space: nowrap;
}
.main-header .options .notify-button {
  color: red;
}
.main-header .options:has(app-custom-search) {
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
.main-header .filters {
  display: inline-flex;
  align-items: center;
  height: 60px;
}
.main-header .filters button {
  margin: 0 0.5rem;
}
.main-header .filters .filterLabel {
  display: contents;
}
@media only screen and (max-width: 414px) {
  .main-header .filters .filterLabel {
    display: none;
  }
}
.main-header .action-buttons {
  display: inline-flex;
  flex-wrap: nowrap;
  align-content: center;
  align-items: center;
  justify-content: flex-end;
  height: 60px;
  padding: 0;
  flex-basis: 0;
  flex-grow: 1;
  flex-shrink: 1;
}
.main-header .action-buttons button {
  margin: 0 0.25rem;
}
@media screen and (max-width: 768px) {
  .main-header .main-title {
    min-height: 60px;
    height: auto;
  }
  .main-header .action-buttons {
    width: 100%;
    justify-content: flex-end;
  }
}
.main-body {
  padding: 0rem;
}
.main-header > .page-filter-row {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.separator {
  padding: 0;
}
.separator hr {
  background-color: #e0e0e0;
  color: #e0e0e0;
  height: 1px;
  margin: 0;
  margin-bottom: 1rem;
}
@media screen and (min-width: 1216px) {
  .separator hr {
    margin-left: calc(-1 * 1.3rem);
  }
}
@media screen and (max-width: 1216px) {
  .separator hr {
    margin-left: calc(-1 * 0.5rem);
  }
}
@media screen and (max-width: 768px) {
  .separator hr {
    margin-left: calc(-1 * 1rem);
  }
}
@media screen and (max-width: 486px) {
  .separator hr {
    margin-left: calc(-1 * 0.5rem);
  }
}
.section {
  padding: 1rem 0;
}
.section-header {
  margin-bottom: 0.5rem 0;
}
.section-body {
  padding: 0.5rem 0;
}
.section + .section,
.section + .row-md,
.row-md + .section {
  border-top-width: 1px;
  border-top-style: solid;
  margin-top: 0.3rem;
  padding-top: 1rem !important;
}
.subsection {
  padding: 1.25rem;
}
.subsection-header {
  margin-bottom: 0.5rem;
}
.subsection-body {
  padding: 0.5rem;
}
.subsubsection {
  padding: 1.5rem;
}
.home:has(.page-content app-submission-view) app-navbar .navbar {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.dark-theme .home:has(.page-content app-submission-view) app-navbar .navbar {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
.sidebar.legacy-chrome-disabled:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.sidebar.wide-mode:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.sidebar.legacy-chrome-disabled:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb,
.sidebar.wide-mode:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.dark-theme .sidebar.legacy-chrome-disabled:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.wide-mode:has(app-submission-view) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.legacy-chrome-disabled:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.wide-mode:has(app-export-submissions) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
.sidebar.legacy-chrome-disabled:not(.wide-mode):has(app-submission-view) .experimental-sidebar,
.sidebar.legacy-chrome-disabled:not(.wide-mode):has(app-presentation-certificate) .experimental-sidebar,
.sidebar.legacy-chrome-disabled:not(.wide-mode):has(app-export-submissions) .experimental-sidebar {
  box-shadow: 6px 0 10px -1px rgba(0, 0, 0, 0.11);
  -webkit-clip-path: polygon(0 0, 100% 0, 100% calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) 100%, 0 100%);
          clip-path: polygon(0 0, 100% 0, 100% calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) calc(var(--chrome-top-offset) + 36px), calc(100% + 24px) 100%, 0 100%);
}
.mat-sidenav-content:has(app-event-publication) {
  --canvas-padding-bottom: 1px;
}
.page-content:has(app-submission-view) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: #EEECEB;
}
mat-sidenav-content:has(app-submission-view) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
}
.sidebar:has(app-submission-view) .mat-sidenav-content,
.sidebar:has(app-submission-view) .mat-drawer-container,
.sidebar:has(app-export-submissions) .mat-sidenav-content,
.sidebar:has(app-export-submissions) .mat-drawer-container,
.sidebar:has(app-export-submissions) .mat-sidenav-container {
  background-color: #EEECEB !important;
}
html:has(body.light-theme):has(app-export-submissions) {
  background-color: #EEECEB;
}
html:has(body.dark-theme):has(app-export-submissions) {
  background-color: black;
}
.sidebar:has(app-submission-view) .mat-drawer-container,
.sidebar:has(app-submission-view) .mat-drawer-content {
  overflow: visible !important;
}
html:has(app-submission-view) {
  overflow-anchor: none;
}
.sidebar:has(app-calendar-view) .mat-drawer-container,
.sidebar:has(app-calendar-view) .mat-drawer-content {
  overflow: visible !important;
}
.sidebar:has(app-event-program) .mat-sidenav-content,
.sidebar:has(app-event-program) .mat-drawer-container,
.dark-theme .sidebar:has(app-event-program) .mat-sidenav-content,
.dark-theme .sidebar:has(app-event-program) .mat-drawer-container {
  background-color: var(--program-paper, #ffffff) !important;
}
html:has(body.light-theme):has(app-event-program),
html:has(body.dark-theme):has(app-event-program) {
  background-color: var(--program-paper, #ffffff);
}
.dark-theme .page-content:has(app-submission-view) {
  background-color: black;
}
.dark-theme .sidebar:has(app-submission-view) .mat-sidenav-content,
.dark-theme .sidebar:has(app-submission-view) .mat-drawer-container,
.dark-theme .sidebar:has(app-export-submissions) .mat-sidenav-content,
.dark-theme .sidebar:has(app-export-submissions) .mat-drawer-container,
.dark-theme .sidebar:has(app-export-submissions) .mat-sidenav-container {
  background-color: black !important;
}
html:has(body.light-theme):has(app-submission-view) {
  background-color: #EEECEB;
}
html:has(body.dark-theme):has(app-submission-view) {
  background-color: black;
}
app-home .home .page-content:has(app-presentation-certificate) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: #EEECEB !important;
}
app-home .home:has(app-presentation-certificate) {
  background-color: #EEECEB !important;
}
mat-sidenav-content:has(app-presentation-certificate) {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
}
.sidebar:has(app-presentation-certificate) .mat-sidenav-content,
.sidebar:has(app-presentation-certificate) .mat-drawer-container {
  background-color: #EEECEB !important;
}
.page-content:has(app-presentation-certificate),
.sidebar:has(app-presentation-certificate) .mat-drawer-container,
.sidebar:has(app-presentation-certificate) .mat-drawer-content {
  overflow: visible !important;
}
[scroll=no]:has(app-presentation-certificate) {
  overflow: visible !important;
}
.dark-theme app-home .home .page-content:has(app-presentation-certificate) {
  background-color: black !important;
}
.dark-theme app-home .home:has(app-presentation-certificate) {
  background-color: black !important;
}
.dark-theme .sidebar:has(app-presentation-certificate) .mat-sidenav-content,
.dark-theme .sidebar:has(app-presentation-certificate) .mat-drawer-container {
  background-color: black !important;
}
html:has(body.light-theme):has(app-presentation-certificate) {
  background-color: #EEECEB;
}
html:has(body.dark-theme):has(app-presentation-certificate) {
  background-color: black;
}
.home:has(.page-content app-presentation-certificate) app-navbar .navbar {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
  border-bottom-color: transparent !important;
}
.dark-theme .home:has(.page-content app-presentation-certificate) app-navbar .navbar {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
.sidebar.legacy-chrome-disabled:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb,
.sidebar.wide-mode:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.18);
}
.dark-theme .sidebar.legacy-chrome-disabled:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb,
.dark-theme .sidebar.wide-mode:has(app-presentation-certificate) app-event-breadcrumb .event-breadcrumb {
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.7), 0 8px 16px rgba(0, 0, 0, 0.5);
}
html[data-device=mobile-portrait] body {
  padding-bottom: calc(64px + env(safe-area-inset-bottom, 0));
}
html[data-device=mobile-portrait] app-navbar .navbar {
  top: var(--chrome-top-offset);
  bottom: auto;
  height: 48px;
  align-items: center;
  padding: 0 8px;
  border-top: none;
  border-bottom: 1px solid transparent;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items {
  position: fixed !important;
  bottom: -1px !important;
  left: 0 !important;
  right: 0 !important;
  height: 64px !important;
  padding: 0;
  padding-bottom: env(safe-area-inset-bottom, 0);
  display: flex;
  justify-content: stretch;
  align-items: stretch;
  gap: 0 !important;
  background-color: #f9f8f7 !important;
  border-top: 1px solid #E7E5E4;
  z-index: 30;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .navbar-items-underline {
  -webkit-clip-path: polygon(2px 0, calc(100% - 2px) 0, 100% 100%, 0 100%) !important;
          clip-path: polygon(2px 0, calc(100% - 2px) 0, 100% 100%, 0 100%) !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items app-sidebar-item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button {
  width: 100%;
  height: 100%;
  margin: 0 !important;
  padding: 6px 4px !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button::before,
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button::after {
  display: none !important;
}
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items {
  border-top-color: #3a3937;
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo {
  display: inline-flex !important;
  width: auto !important;
  margin: 0 8px 0 4px !important;
  padding: 0;
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo img {
  display: block !important;
  height: 22px !important;
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo picture {
  display: inline-flex !important;
  width: auto !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .spacer {
  display: none;
}
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container {
  margin-left: auto;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button {
  position: relative;
  justify-content: flex-start !important;
  padding-top: 6px !important;
  transition: background-color 120ms ease-out;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button:active {
  background-color: rgba(0, 0, 0, 0.05) !important;
  transition-duration: 40ms;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .sidebar-item-badge {
  min-width: 14px !important;
  height: 14px !important;
  padding: 1px 4px 0 !important;
  border-radius: 7px !important;
  font-size: 9px !important;
  line-height: 12px !important;
  border: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .sidebar-item-badges {
  transform: translate(-4px, 0) !important;
  z-index: 100 !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .sidebar-item-badge {
  z-index: 100 !important;
  position: relative;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items app-sidebar-item {
  z-index: auto !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .mat-icon {
  box-sizing: content-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  width: 22px !important;
  height: 22px !important;
  line-height: 1 !important;
  margin: 0 !important;
  padding: 5px 15px;
  border-radius: 6px;
  background: transparent;
  border: 1px solid #E7E5E4;
  opacity: 1;
  font-variation-settings: "FILL" 1, "wght" 400, "opsz" 24 !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .label-short {
  font-size: 11px !important;
  line-height: 1.2 !important;
  margin-top: 3px !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button.selected.selected {
  background: transparent !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button.selected.selected .mat-icon {
  opacity: 1;
}
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button .mat-icon {
  border-color: #3a3937;
}
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items .sidebar-item.jems-toolbar-button:active {
  background-color: rgba(255, 255, 255, 0.05) !important;
}
html[data-device=mobile-portrait] app-navbar .navbar {
  padding-top: env(safe-area-inset-top, 0) !important;
  height: calc(48px + env(safe-area-inset-top, 0)) !important;
  background: transparent !important;
  border-bottom: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items {
  border-top: none !important;
  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.06), 0 -3px 10px rgba(0, 0, 0, 0.04);
}
html[data-device=mobile-portrait] app-navbar .navbar a.logo,
html[data-device=mobile-portrait] app-navbar .navbar .spacer,
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container .command-palette-trigger,
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container .support-help-button,
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container app-user-notifications {
  display: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .right-navbar-container {
  display: none !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items {
  padding-left: 4px;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .mobile-user-menu-slot {
  display: inline-flex !important;
  align-items: flex-start;
  justify-content: center;
  padding-top: 0;
  flex: 0 0 56px;
  min-width: 0;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .mobile-user-menu-slot .user-menu-button {
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  margin-top: -14px !important;
  line-height: 36px !important;
}
html[data-device=mobile-portrait] app-navbar .navbar .navbar-items .mobile-user-menu-slot .user-menu-photo {
  width: 36px !important;
  height: 36px !important;
  border-radius: 6px !important;
  -o-object-fit: cover;
     object-fit: cover;
}
html[data-device=mobile-portrait] .page-content {
  padding-left: 12px !important;
  padding-right: 12px !important;
  z-index: auto !important;
  top: 0 !important;
  padding-bottom: 0 !important;
}
html[data-device=mobile-portrait] .main-header.main-header.main-header.main-header.main-header.main-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: calc(48px + env(safe-area-inset-top, 0)) !important;
  min-height: 48px !important;
  padding: env(safe-area-inset-top, 0) 12px 0 !important;
  display: flex !important;
  grid-template-columns: none !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  z-index: calc(31 + 1) !important;
  overflow: visible;
}
html[data-device=mobile-portrait] .main-header.main-header::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  height: auto !important;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100%) !important;
  pointer-events: none;
  -webkit-backdrop-filter: blur(3px) saturate(115%);
  backdrop-filter: blur(3px) saturate(115%);
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, transparent 100%);
}
html[data-device=mobile-portrait] .main-header.main-header.is-scrolled {
  box-shadow: none !important;
  border-bottom: none !important;
}
html[data-device=mobile-portrait] .main-header.main-header .main-title,
html[data-device=mobile-portrait] .main-header.main-header .page-actions {
  display: none !important;
}
html[data-device=mobile-portrait] .main-header.main-header .page-search-filter {
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px;
}
html[data-device=mobile-portrait] .main-header.main-header .page-search-filter app-custom-search {
  flex: 0 0 auto !important;
  width: auto !important;
  display: inline-block !important;
}
html[data-device=mobile-portrait] app-custom-search .shortcut-hint {
  display: none !important;
}
html[data-device=mobile-portrait] app-custom-search .chip-expanded,
html[data-device=mobile-portrait] app-custom-search .chip-trigger {
  border-radius: 999px !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.14), 0 1px 3px rgba(0, 0, 0, 0.16) !important;
}
html[data-device=mobile-portrait] .chair-header-icon-button--filter {
  background-color: white !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.14), 0 1px 3px rgba(0, 0, 0, 0.16) !important;
}
html[data-device=mobile-portrait] .main-body {
  padding-top: calc(48px + env(safe-area-inset-top, 0)) !important;
  padding-bottom: calc(64px + env(safe-area-inset-bottom, 0)) !important;
}
body.dark-theme[data-device=mobile-portrait] app-navbar .navbar .navbar-items,
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar .navbar-items {
  background-color: #202020 !important;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.5), 0 -6px 14px rgba(0, 0, 0, 0.35) !important;
}
body.dark-theme[data-device=mobile-portrait] app-navbar .navbar,
html[data-device=mobile-portrait] body.dark-theme app-navbar .navbar {
  background: transparent !important;
  border-bottom: none !important;
}
body.dark-theme[data-device=mobile-portrait] .chair-header-icon-button--filter,
html[data-device=mobile-portrait] body.dark-theme .chair-header-icon-button--filter {
  background-color: black !important;
}
body.dark-theme[data-device=mobile-portrait] .main-header.main-header::before,
html[data-device=mobile-portrait] body.dark-theme .main-header.main-header::before {
  background: linear-gradient(to bottom, rgba(32, 32, 32, 0.5) 0%, rgba(32, 32, 32, 0) 100%) !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate {
  transform: none !important;
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: 92vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  touch-action: none !important;
  background: #f9f8f7;
  border-radius: 20px 20px 0 0 !important;
  padding-top: 18px !important;
  padding-bottom: calc(env(safe-area-inset-bottom, 0) + 12px) !important;
  box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.18) !important;
  -webkit-animation: mobile-user-sheet-in 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
          animation: mobile-user-sheet-in 240ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 36px;
  height: 4px;
  border-radius: 3px;
  background: #D6D3D1;
  pointer-events: none;
}
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate::before,
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate::before {
  background: #5a5651;
}
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate,
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate {
  background: #202020;
}
html[data-device=mobile-portrait] body:has(.mobile-user-sheet-candidate) .jems-popover-backdrop {
  background: rgba(20, 20, 20, 0.42) !important;
  -webkit-animation: mobile-user-scrim-in 240ms ease-out;
          animation: mobile-user-scrim-in 240ms ease-out;
}
@-webkit-keyframes mobile-user-sheet-in {
  from {
    transform: translateY(100%) !important;
  }
  to {
    transform: none !important;
  }
}
@keyframes mobile-user-sheet-in {
  from {
    transform: translateY(100%) !important;
  }
  to {
    transform: none !important;
  }
}
@-webkit-keyframes mobile-user-scrim-in {
  from {
    background: rgba(20, 20, 20, 0);
  }
  to {
    background: rgba(20, 20, 20, 0.42);
  }
}
@keyframes mobile-user-scrim-in {
  from {
    background: rgba(20, 20, 20, 0);
  }
  to {
    background: rgba(20, 20, 20, 0.42);
  }
}
html[data-device=mobile-portrait]:has(.mobile-user-sheet-candidate),
html[data-device=mobile-portrait]:has(.mobile-user-sheet-candidate) body {
  overflow: hidden !important;
  -ms-scroll-chaining: none;
      overscroll-behavior: contain;
  touch-action: none;
}
body .mobile-only-menu-item.mobile-only-menu-item.mobile-only-menu-item {
  display: none !important;
}
html[data-device=mobile-portrait] body .mobile-only-menu-item.mobile-only-menu-item.mobile-only-menu-item {
  display: flex !important;
}
html[data-chrome-collapsed=true] app-navbar .navbar .right-navbar-container .command-palette-trigger,
html[data-chrome-collapsed=true] app-navbar .navbar .right-navbar-container .support-help-button,
html[data-chrome-collapsed=true] app-navbar .navbar .right-navbar-container app-user-notifications {
  display: none !important;
}
html[data-device=mobile-portrait] body .desktop-only-menu-item.desktop-only-menu-item.desktop-only-menu-item {
  display: none !important;
}
body .chrome-collapsed-only.chrome-collapsed-only.chrome-collapsed-only {
  display: none !important;
}
html[data-chrome-collapsed=true] body .chrome-collapsed-only.chrome-collapsed-only.chrome-collapsed-only {
  display: flex !important;
}
html[data-device=mobile-portrait] body .chrome-collapsed-only.chrome-collapsed-only.chrome-collapsed-only {
  display: none !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  padding: 8px 0 !important;
  gap: 4px !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-btn {
  margin: 0 !important;
  padding: 0 !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 32px !important;
  min-height: 32px !important;
  line-height: 32px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent;
  border: none;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-btn .mat-icon {
  margin: 0 !important;
  font-size: 22px !important;
  width: 22px !important;
  height: 22px !important;
  line-height: 22px !important;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-flag .flag {
  font-size: 20px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-divider {
  display: inline-block;
  width: 1px;
  height: 20px;
  margin: 0 6px;
  background: #E7E5E4;
}
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-divider,
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-quick-actions-divider {
  background: #3a3937;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .tpc-user-menu {
  filter: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  flex: 1 1 auto !important;
  overflow-y: auto !important;
  touch-action: pan-y !important;
  min-height: 0 !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head {
  display: flex !important;
  align-items: center;
  gap: 12px;
  padding: 14px 20px 12px;
  border-bottom: 1px solid #E7E5E4;
  touch-action: none;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 6px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #E7E5E4;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-name {
  font-size: 14px;
  font-weight: 600;
  color: #363636;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-mail {
  font-size: 12px;
  color: #373734;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-id {
  font-size: 11px;
  color: rgba(0, 0, 0, 0.5);
  margin-top: 2px;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-section-label {
  display: block !important;
  padding: 14px 20px 4px !important;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(0, 0, 0, 0.5);
  background: transparent !important;
  cursor: default;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-destructive-item {
  color: #d64550 !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-destructive-item .mat-icon {
  color: #d64550 !important;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head {
  border-bottom-color: #3a3937;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-avatar {
  background: #3a3937;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-name,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-name {
  color: #F6F6F6;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-mail,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-mail {
  color: #c4c2bd;
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-id,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-user-head-id {
  color: rgba(255, 255, 255, 0.5);
}
html[data-device=mobile-portrait] body.dark-theme .jems-popover-panel.mobile-user-sheet-candidate .mobile-section-label,
body.dark-theme[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mobile-section-label {
  color: rgba(255, 255, 255, 0.5);
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .tpc-user-menu {
  display: flex;
  flex-direction: column;
  padding: 4px 0;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mat-menu-item, html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate [mat-menu-item] {
  height: 46px !important;
  line-height: 46px !important;
  font-size: 14px !important;
  padding: 0 20px !important;
}
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate .mat-menu-item .mat-icon,
html[data-device=mobile-portrait] .jems-popover-panel.mobile-user-sheet-candidate [mat-menu-item] .mat-icon {
  margin-right: 14px !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-nav-visible {
  display: none !important;
}
body.export-submissions-active .mat-sidenav-content {
  padding: 0 !important;
}
body:has(.sidebar.legacy-chrome-disabled:not(.wide-mode)) {
  --content-left-offset: var(--experimental-sidebar-width, 240px);
}
body:has(.sidebar.wide-mode) {
  --content-left-offset: 0px;
  --breadcrumb-reserved-height: 0px;
}
body:has(.sidebar:not(.legacy-chrome-disabled):not(.wide-mode)) {
  --content-left-offset: var(--admin-submenu-width, 165px);
  --breadcrumb-reserved-height: calc(26px + 55px);
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.empty-page-panel {
  max-width: 560px;
  margin: 3rem auto;
  padding: 2.5rem 2.5rem 2rem;
  background: transparent;
  border: 1px dashed #E7E5E4;
  border-radius: 8px;
  text-align: center;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  color: #373734;
}
body.dark-theme .empty-page-panel {
  border-color: #3a3937;
  color: #c4c2bd;
}
.empty-page-title {
  margin: 0 0 0.75rem;
  font-size: 1.0625rem;
  font-weight: 500;
  color: #373734;
  letter-spacing: -0.005em;
  line-height: 1.3;
}
body.dark-theme .empty-page-title {
  color: #c4c2bd;
}
.empty-page-message {
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  color: #78716C;
}
.is-invisible {
  visibility: hidden;
  pointer-events: none;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-input {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 26px;
  padding: 0 10px;
  border: 1px solid #D6D3D1;
  border-radius: 6px;
  background-color: white;
  color: #373734;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 13px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.2;
  outline: none;
  transition: border-color 100ms ease-out, box-shadow 100ms ease-out;
}
.jems3-native-input.jems3-native-input--textarea {
  height: auto;
  min-height: calc(26px * 3);
  padding: 6px 10px;
  resize: vertical;
  line-height: 1.4;
}
.jems3-native-input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.jems3-native-input:-ms-input-placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.jems3-native-input::placeholder {
  color: rgba(0, 0, 0, 0.35);
}
.jems3-native-input:hover:not(:disabled):not(:focus):not([aria-invalid=true]) {
  box-shadow: 0 0 0 1px #D6D3D1;
}
.jems3-native-input:focus {
  border-color: #064ad9;
  box-shadow: 0 0 0 1px #064ad9;
}
.jems3-native-input:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.jems3-native-input[aria-invalid=true] {
  border-color: #e91414;
}
.jems3-native-input-label {
  display: block;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 12px;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.55);
  margin-bottom: 4px;
  letter-spacing: 0;
}
.jems3-native-input-label .required-mark {
  color: #e91414;
  margin-left: 2px;
  font-weight: 500;
}
.jems3-native-input-error {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  font-weight: 400;
  color: #e91414;
  line-height: 1.3;
  min-height: 1em;
}
.jems3-native-input-labelrow {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.jems3-native-input-labelrow .jems3-native-input-label {
  margin-bottom: 4px;
}
.jems3-native-input-labelrow .jems3-native-input-error {
  margin-top: 0;
  text-align: right;
}
body.dark-theme .jems3-native-input {
  color: #c4c2bd;
  border-color: #3a3937;
}
body.dark-theme .jems3-native-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.35);
}
body.dark-theme .jems3-native-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.35);
}
body.dark-theme .jems3-native-input::placeholder {
  color: rgba(255, 255, 255, 0.35);
}
body.dark-theme .jems3-native-input:hover:not(:disabled):not(:focus):not([aria-invalid=true]) {
  box-shadow: 0 0 0 1px #5a5651;
}
body.dark-theme .jems3-native-input:focus {
  border-color: #60a5fa;
  box-shadow: 0 0 0 1px #60a5fa;
}
body.dark-theme .jems3-native-input[aria-invalid=true] {
  border-color: #FF6B6B;
}
body.dark-theme .jems3-native-input-label {
  color: rgba(255, 255, 255, 0.6);
}
body.dark-theme .jems3-native-input-error {
  color: #FF6B6B;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-button {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 96px;
  height: 26px;
  padding: 0 16px;
  border-radius: 6px;
  border: 1px solid transparent;
  background-color: transparent;
  color: #373734;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  cursor: pointer;
  text-decoration: none;
  outline: none;
}
.jems3-native-button:focus-visible {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.15);
}
.jems3-native-button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.jems3-native-button.jems3-native-button--primary {
  background-color: #064ad9;
  color: #fff;
  border-color: #064ad9;
}
.jems3-native-button.jems3-native-button--primary:hover:not(:disabled) {
  filter: brightness(0.94);
}
.jems3-native-button.jems3-native-button--primary:active:not(:disabled) {
  filter: brightness(0.88);
}
body.dark-theme .jems3-native-button.jems3-native-button--primary {
  background-color: #60a5fa;
  color: #0a1a2e;
  border-color: #60a5fa;
}
.jems3-native-button.jems3-native-button--secondary {
  border-color: #D6D3D1;
  color: #373734;
}
.jems3-native-button.jems3-native-button--secondary:hover:not(:disabled) {
  background-color: rgba(0, 0, 0, 0.04);
}
body.dark-theme .jems3-native-button.jems3-native-button--secondary {
  border-color: #5a5651;
  color: #c4c2bd;
}
body.dark-theme .jems3-native-button.jems3-native-button--secondary:hover:not(:disabled) {
  background-color: rgba(255, 255, 255, 0.06);
}
.jems3-native-button.jems3-native-button--danger {
  background-color: #e91414;
  color: #fff;
  border-color: #e91414;
}
.jems3-native-button.jems3-native-button--danger:hover:not(:disabled) {
  filter: brightness(0.94);
}
.jems3-native-button.jems3-native-button--danger:active:not(:disabled) {
  filter: brightness(0.88);
}
body.dark-theme .jems3-native-button.jems3-native-button--danger {
  background-color: #FF6B6B;
  color: #2a0a0a;
  border-color: #FF6B6B;
}
.jems3-native-button.jems3-native-button--block {
  width: 100%;
}
.small-table {
  width: 100%;
}
.small-table .mat-header-row {
  height: 28px;
}
.small-table .mat-header-row .mat-header-cell:first-of-type {
  padding-left: 0.5rem;
}
.small-table .mat-header-row .mat-header-cell:last-of-type {
  padding-right: 0.5rem;
}
.small-table .mat-header-row th {
  vertical-align: middle;
  padding: 0.5rem;
}
.small-table .mat-header-row .mat-column-status, .small-table .mat-header-row .mat-column-event, .small-table .mat-header-row .mat-column-trackFileName, .small-table .mat-header-row .mat-column-deadline, .small-table .mat-header-row .mat-column-button {
  text-align: center;
}
.small-table .mat-header-row .mat-column-status {
  width: 55px;
}
.small-table .mat-header-row .mat-column-event {
  width: 115px;
  min-width: 85px;
}
.small-table .mat-header-row .mat-column-deadline {
  width: 125px;
  min-width: 120px;
}
.small-table .mat-header-row .mat-column-button {
  width: 220px;
}
.small-table .mat-row .mat-cell:first-of-type {
  padding-left: 0.5rem;
}
.small-table .mat-row .mat-cell:last-of-type {
  padding-right: 0.5rem;
}
.small-table .mat-row td {
  vertical-align: middle;
  padding: 0.5rem;
}
.small-table .mat-row .mat-column-status, .small-table .mat-row .mat-column-event, .small-table .mat-row .mat-column-trackFileName, .small-table .mat-row .mat-column-deadline, .small-table .mat-row .mat-column-button {
  text-align: center;
}
.small-table .mat-row td.mat-column-status {
  width: 55px;
}
.small-table .mat-row td.mat-column-event {
  width: 115px;
  min-width: 85px;
}
.small-table .mat-row td.mat-column-deadline {
  width: 125px;
  min-width: 120px;
}
.small-table .mat-row td.mat-column-button {
  width: 220px;
}
.small-table tr.upcoming .mat-column-deadline {
  background-color: RGBA(255, 165, 0, 0.5);
}
.small-table tr.late .mat-column-deadline {
  background-color: RGBA(165, 42, 42, 0.5);
}
.small-table.legend .upcoming {
  background-color: RGBA(255, 165, 0, 0.5);
}
.small-table.legend .late {
  background-color: RGBA(165, 42, 42, 0.5);
}
table.simple-table {
  width: 100%;
}
table.simple-table th {
  font-weight: 600;
}
table.simple-table th, table.simple-table td {
  vertical-align: middle;
  border: 1px solid white;
  font-size: 0.875rem;
  height: 30px;
  padding: 0 0.5rem;
}
table.simple-table th.mat-header-cell:first-of-type, table.simple-table th.mat-cell:first-of-type, table.simple-table th.mat-header-cell:last-of-type, table.simple-table th.mat-cell:last-of-type, table.simple-table td.mat-header-cell:first-of-type, table.simple-table td.mat-cell:first-of-type, table.simple-table td.mat-header-cell:last-of-type, table.simple-table td.mat-cell:last-of-type {
  padding: 0 0.5rem;
}
table.simple-table th .content-button, table.simple-table td .content-button {
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
  align-items: center;
  flex-wrap: wrap;
}
table.simple-table th .content-button span, table.simple-table td .content-button span {
  padding-right: 0.25rem;
}
table.simple-table th .content-button.justify-center, table.simple-table td .content-button.justify-center {
  justify-content: center;
}
table.simple-table th:first-child, table.simple-table td:first-child {
  border-left-style: none;
}
table.simple-table th:last-child, table.simple-table td:last-child {
  border-right-style: none;
}
table.simple-table tr {
  height: 30px;
}
table.simple-table tfoot td {
  border-right-style: none;
  border-left-style: none;
  border-bottom-style: none;
}
table.simple-table tfoot td button {
  margin: 0.5rem;
}
table.simple-table .flexed {
  width: 100%;
  vertical-align: middle;
  display: inline-flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
table.simple-table .flexed mat-icon {
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
table.simple-table .no-line {
  border-right-style: none;
  border-bottom-style: none;
}
table.simple-table .no-right-line {
  border-right-style: none;
}
table.simple-table .no-bottom-line {
  border-bottom-style: none;
}
table.simple-table .no-padding {
  padding: 0;
}
table.simple-table .mat-icon-button {
  width: 25px;
  height: 25px;
  line-height: normal;
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
}
table.simple-table .mat-icon-button a {
  color: black;
}
table.simple-table .mat-button-wrapper {
  display: inline-flex;
  flex-direction: row;
  vertical-align: middle;
  align-items: center;
}
table.simple-table .mat-button-wrapper .mat-icon {
  display: flex;
  align-content: center;
  justify-content: center;
  align-items: center;
}
table.highlight-table {
  max-width: 100%;
  white-space: nowrap;
  border-collapse: separate;
  border-spacing: 0px 1px !important;
}
table.highlight-table th, table.highlight-table td {
  text-align: center;
  vertical-align: middle;
  border-right: 1px solid;
  padding: 0 0.5em !important;
}
table.highlight-table th {
  font-size: 0.875rem;
  font-weight: 600;
  padding-top: 0;
  border: none !important;
}
table.highlight-table tbody > tr, table.highlight-table tfoot > tr {
  background-color: #ededed;
}
table.highlight-table th:last-child {
  font-size: 0.8125rem;
}
table.highlight-table th:last-child .mat-icon {
  font-size: 0.875rem;
  vertical-align: baseline;
}
table.highlight-table td:first-child, table.highlight-table td:last-child {
  font-size: 0.75rem;
  border: none !important;
}
table.highlight-table td:first-child {
  padding-right: 12px !important;
}
table.highlight-table td:nth-child(2) {
  border-left: 2px solid transparent;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
table.highlight-table td:nth-last-child(2) {
  border-right: 2px solid transparent;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
table.highlight-table tr:hover td {
  border-top: 2px solid;
  border-bottom: 2px solid;
}
table.highlight-table tr:hover td:first-child, table.highlight-table tr:hover td:last-child {
  border: none !important;
}
table.highlight-table tr:hover td:nth-child(2) {
  border-left: 2px solid;
}
table.highlight-table tr:hover td:nth-last-child(2) {
  border-right: 2px solid;
}
table.highlight-table tr:hover td.mat-footer-cell {
  border: none !important;
}
table.highlight-table tfoot td {
  border: none !important;
}
table .mat-sort-header-container {
  justify-content: center !important;
}
.mat-sort-header {
  pointer-events: none;
}
.mat-sort-header .mat-sort-header-container {
  pointer-events: none;
}
.mat-sort-header .mat-sort-header-content,
.mat-sort-header .mat-sort-header-arrow {
  pointer-events: auto;
  cursor: pointer;
}
table.jems3-table {
  width: 100%;
  background-color: transparent !important;
  border-collapse: separate;
  border-spacing: 1px 1px !important;
}
table.jems3-table tr.mat-header-row,
table.jems3-table tr.mat-row {
  height: auto !important;
}
table.jems3-table th,
table.jems3-table th.mat-header-cell {
  background-color: transparent !important;
  border: none;
  font-size: 12px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  padding: 2px 0.5rem;
  vertical-align: bottom;
  color: rgba(0, 0, 0, 0.541) !important;
  text-align: center;
}
table.jems3-table td,
table.jems3-table td.mat-cell {
  background-color: #F1F0EF;
  border: none;
  padding: 2px 8.5px;
  font-size: 13px;
  font-weight: 400;
  color: #373734;
  vertical-align: middle;
}
table.jems3-table td:first-of-type,
table.jems3-table td.mat-cell:first-of-type {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
table.jems3-table td:last-of-type,
table.jems3-table td.mat-cell:last-of-type {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
table.jems3-table th.jems3-table-numbering,
table.jems3-table td.jems3-table-numbering,
table.jems3-table th.jems3-table-numbering.mat-header-cell,
table.jems3-table td.jems3-table-numbering.mat-cell {
  background-color: transparent !important;
  border-radius: 0 !important;
  width: 2.5em;
  min-width: 30px;
  padding-left: 0;
  padding-right: 0.5rem;
  text-align: right;
  font-size: 12px;
  font-weight: 430;
  color: #373734;
}
table.jems3-table td.jems3-table-numbering + td,
table.jems3-table td.jems3-table-numbering + td.mat-cell {
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.dark-theme table.jems3-table th.jems3-table-numbering,
.dark-theme table.jems3-table td.jems3-table-numbering,
.dark-theme table.jems3-table th.jems3-table-numbering.mat-header-cell,
.dark-theme table.jems3-table td.jems3-table-numbering.mat-cell {
  color: #c4c2bd;
}
table.jems3-table-hover {
  border-spacing: 0 1px !important;
}
table.jems3-table-hover tbody tr,
table.jems3-table-hover tr.mat-row {
  cursor: pointer;
}
table.jems3-table-hover td:not(.jems3-table-numbering) {
  position: relative;
}
table.jems3-table-hover td:not(.jems3-table-numbering)::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-sizing: border-box;
  border-radius: inherit;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
}
table.jems3-table-hover td:not(.jems3-table-numbering):not(:last-of-type)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  background-color: #f9f8f7;
  pointer-events: none;
}
table.jems3-table-hover td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover td.jems3-table-numbering + td::after {
  border-left: 2px solid transparent;
}
table.jems3-table-hover td:last-of-type:not(.jems3-table-numbering)::after {
  border-right: 2px solid transparent;
}
table.jems3-table-hover tbody tr:hover td:not(.jems3-table-numbering)::after,
table.jems3-table-hover tr.mat-row:hover td:not(.jems3-table-numbering)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover tbody tr:hover td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover tbody tr:hover td.jems3-table-numbering + td::after,
table.jems3-table-hover tr.mat-row:hover td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover tr.mat-row:hover td.jems3-table-numbering + td::after {
  border-left-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover tbody tr:hover td:last-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-hover tr.mat-row:hover td:last-of-type:not(.jems3-table-numbering)::after {
  border-right-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover:not(.jems3-table-selectable) tbody tr:hover td:not(.jems3-table-numbering),
table.jems3-table-hover:not(.jems3-table-selectable) tr.mat-row:hover td:not(.jems3-table-numbering) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.04)) !important;
}
table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:not(.jems3-table-numbering):not(:last-of-type),
table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:not(.jems3-table-numbering):not(:last-of-type) {
  background-image: linear-gradient(rgba(0, 0, 0, 0.04), rgba(0, 0, 0, 0.04)) !important;
}
table.jems3-table-selectable th:last-of-type,
table.jems3-table-selectable th.mat-header-cell:last-of-type,
table.jems3-table-selectable td:last-of-type,
table.jems3-table-selectable td:last-of-type {
  background-color: transparent !important;
  border-radius: 0 !important;
  text-align: center;
  width: 2.5em;
  min-width: 30px;
  padding-left: 0.5rem;
  padding-right: 0;
}
table.jems3-table-selectable th:last-of-type .mat-checkbox-inner-container,
table.jems3-table-selectable th.mat-header-cell:last-of-type .mat-checkbox-inner-container,
table.jems3-table-selectable td:last-of-type .mat-checkbox-inner-container,
table.jems3-table-selectable td:last-of-type .mat-checkbox-inner-container {
  transform: scale(0.8);
  margin-right: 0;
}
table.jems3-table-selectable td:nth-last-of-type(2),
table.jems3-table-selectable td:nth-last-of-type(2) {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
table.jems3-table-selectable tbody tr.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
table.jems3-table-selectable tbody tr.selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
table.jems3-table-selectable tr.mat-row.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
table.jems3-table-selectable tr.mat-row.selected td:not(.jems3-table-numbering):not(:last-of-type)::after {
  border-top-color: #064ad9;
  border-bottom-color: #064ad9;
}
table.jems3-table-selectable tbody tr.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tbody tr.is-selected td.jems3-table-numbering + td::after,
table.jems3-table-selectable tbody tr.selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tbody tr.selected td.jems3-table-numbering + td::after,
table.jems3-table-selectable tr.mat-row.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.is-selected td.jems3-table-numbering + td::after,
table.jems3-table-selectable tr.mat-row.selected td:first-of-type:not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.selected td.jems3-table-numbering + td::after {
  border-left-color: #064ad9;
}
table.jems3-table-selectable tbody tr.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-selectable tbody tr.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-selectable tr.mat-row.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #064ad9;
}
.dark-theme table.jems3-table-selectable tbody tr.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td:not(.jems3-table-numbering):not(:last-of-type)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td:not(.jems3-table-numbering):not(:last-of-type)::after {
  border-top-color: #60a5fa;
  border-bottom-color: #60a5fa;
}
.dark-theme table.jems3-table-selectable tbody tr.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tbody tr.is-selected td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td.jems3-table-numbering + td::after {
  border-left-color: #60a5fa;
}
.dark-theme table.jems3-table-selectable tbody tr.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tbody tr.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.is-selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-selectable tr.mat-row.selected td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #60a5fa;
}
table.jems3-table-hover.jems3-table-selectable td:last-of-type::after {
  content: none;
}
table.jems3-table-hover.jems3-table-selectable td:nth-last-of-type(2)::before {
  content: none;
}
table.jems3-table-hover.jems3-table-selectable td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right: 2px solid transparent;
}
table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: rgba(0, 0, 0, 0.25);
}
table.jems3-table-hover.jems3-table-selectable tbody tr.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tbody tr.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tr.mat-row.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
table.jems3-table-hover.jems3-table-selectable tr.mat-row.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #064ad9;
}
.dark-theme table.jems3-table-hover td:not(.jems3-table-numbering):not(:last-of-type)::before {
  background-color: black;
}
.dark-theme table.jems3-table-hover tbody tr:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td:not(.jems3-table-numbering)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover tbody tr:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td.jems3-table-numbering + td::after {
  border-left-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover tbody tr:hover td:last-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row:hover td:last-of-type:not(.jems3-table-numbering)::after {
  border-right-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover:not(.jems3-table-selectable) tbody tr:hover td:not(.jems3-table-numbering),
.dark-theme table.jems3-table-hover:not(.jems3-table-selectable) tr.mat-row:hover td:not(.jems3-table-numbering) {
  background-image: linear-gradient(rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.07)) !important;
}
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:not(.jems3-table-numbering):not(:last-of-type),
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:not(.jems3-table-numbering):not(:last-of-type) {
  background-image: linear-gradient(rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.07)) !important;
}
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: rgba(255, 255, 255, 0.25);
}
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tbody tr.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row.is-selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover.jems3-table-selectable tr.mat-row.selected:hover td:nth-last-of-type(2):not(.jems3-table-numbering)::after {
  border-right-color: #60a5fa;
}
.dark-theme table.jems3-table-hover tbody tr.is-selected:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr.selected:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.is-selected:hover td:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.selected:hover td:not(.jems3-table-numbering)::after {
  border-top-color: #60a5fa;
  border-bottom-color: #60a5fa;
}
.dark-theme table.jems3-table-hover tbody tr.is-selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr.is-selected:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tbody tr.selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tbody tr.selected:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tr.mat-row.is-selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.is-selected:hover td.jems3-table-numbering + td::after,
.dark-theme table.jems3-table-hover tr.mat-row.selected:hover td:first-of-type:not(.jems3-table-numbering)::after,
.dark-theme table.jems3-table-hover tr.mat-row.selected:hover td.jems3-table-numbering + td::after {
  border-left-color: #60a5fa;
}
.jems3-table-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #78716C;
  text-decoration: none;
  cursor: pointer;
  line-height: 0;
  background: transparent;
  border: 0;
  padding: 4px;
  height: auto;
  border-radius: 50%;
}
.jems3-table-action mat-icon,
.jems3-table-action .material-symbols-outlined {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
}
.jems3-table-action:hover {
  color: #064ad9;
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.06);
}
.jems3-table-action:active {
  background-color: rgba(0, 0, 0, 0.12);
}
.jems3-table-action:focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 1px;
}
.dark-theme .jems3-table-action {
  color: #c4c2bd;
}
.dark-theme .jems3-table-action:hover {
  color: #60a5fa;
  background-color: rgba(255, 255, 255, 0.08);
}
.dark-theme .jems3-table-action:active {
  background-color: rgba(255, 255, 255, 0.14);
}
.dark-theme table.jems3-table th,
.dark-theme table.jems3-table th.mat-header-cell {
  color: rgba(255, 255, 255, 0.7) !important;
}
.dark-theme table.jems3-table td,
.dark-theme table.jems3-table td.mat-cell {
  background-color: #202020;
  color: #c4c2bd;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.topic-chip {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  font-weight: 400;
  padding: 0 10px;
  min-height: 1.4rem;
  border-radius: 16px;
  white-space: nowrap;
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
  background-color: #ededed;
  color: #363636;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.span-threshold-pop {
  background: #ffffff;
  border: 1px solid #D6D3D1;
  border-radius: 6px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.32);
  padding: 12px 14px 4px;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
.span-threshold-pop__title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 500;
  color: #373734;
}
.dark-theme .span-threshold-pop {
  background: #202020;
  border-color: #3a3937;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.7);
}
.dark-theme .span-threshold-pop .span-threshold-pop__title {
  color: #F6F6F6;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
app-score-cell {
  display: block;
  content-visibility: auto;
  contain-intrinsic-size: auto 400px auto 72px;
  padding: 4px 0;
}
.score-grid {
  display: grid;
  align-items: stretch;
  justify-items: stretch;
  row-gap: 1px;
  -moz-column-gap: 0;
       column-gap: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  max-width: 100%;
  margin: 0 auto;
}
.score-grid .sg-rl {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.score-grid .sg-rr {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
}
.score-grid .sg-row {
  display: grid;
  grid-column: 1/-1;
  grid-template-columns: subgrid;
  align-items: stretch;
  min-height: 18px;
}
.score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #F5F5F4;
  position: relative;
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #202020;
}
.score-grid:not(.score-grid-head) .sg-row > *::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  box-sizing: border-box;
  border-top: 2px solid transparent;
  border-bottom: 2px solid transparent;
}
.score-grid:not(.score-grid-head) .sg-row > *:not(.sg-rr)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  background-color: rgba(0, 0, 0, 0.08);
  pointer-events: none;
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row > *:not(.sg-rr)::before {
  background-color: rgba(255, 255, 255, 0.1);
}
.score-grid:not(.score-grid-head) .sg-row > *.sg-rl::after {
  border-left: 2px solid transparent;
}
.score-grid:not(.score-grid-head) .sg-row > *.sg-rr::after {
  border-right: 2px solid transparent;
}
.no-status-color .score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #fff;
}
.dark-theme .no-status-color .score-grid:not(.score-grid-head) .sg-row > * {
  background-color: #202020;
}
.score-grid:not(.score-grid-head) .sg-row {
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row {
  box-shadow: none;
}
.score-grid:not(.score-grid-head) .sg-row:hover > * {
  background-color: #FAFAF9;
}
.score-grid:not(.score-grid-head) .sg-row:hover > *::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rl::after {
  border-left-color: rgba(0, 0, 0, 0.25);
}
.score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rr::after {
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > * {
  background-color: #34332f;
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > *::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rl::after {
  border-left-color: rgba(255, 255, 255, 0.25);
}
.dark-theme .score-grid:not(.score-grid-head) .sg-row:hover > *.sg-rr::after {
  border-right-color: rgba(255, 255, 255, 0.25);
}
.score-grid > *:not(.sg-row), .score-grid .sg-row > * {
  min-width: 0;
  max-width: 100%;
  padding: 0 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}
.score-grid .sg-reviewer {
  text-align: left;
}
.score-grid .sg-status-cell {
  display: flex;
  align-items: center;
  justify-content: center;
}
.score-grid a {
  color: inherit;
}
.score-grid .sg-hidden-eye {
  font-size: 12px;
  display: inline;
  vertical-align: middle;
}
.score-grid .sg-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  padding: 0;
  border-radius: 3px;
  border: 1px solid transparent;
  overflow: visible;
  line-height: 1;
}
.score-grid .sg-status mat-icon {
  font-size: 9px;
  width: 9px;
  height: 9px;
  line-height: 9px;
}
.score-grid .sg-status.assigned {
  background-color: white;
  border-color: #999999;
  color: #999999;
}
.score-grid .sg-status.assigned mat-icon {
  color: #999999;
}
.score-grid .sg-status.notified {
  background-color: #f6faff;
  border-color: #0754bc;
  color: #0754bc;
}
.score-grid .sg-status.notified mat-icon {
  color: #0754bc;
}
.score-grid .sg-status.confirmed {
  background-color: #fff1c6;
  border-color: #936f00;
  color: #936f00;
}
.score-grid .sg-status.confirmed mat-icon {
  color: #936f00;
}
.score-grid .sg-status.declined {
  background-color: #f9f9f9;
  border-color: #606060;
  color: #606060;
}
.score-grid .sg-status.declined mat-icon {
  color: #606060;
}
.score-grid .sg-status.reminded {
  background-color: #fff5f7;
  border-color: #c2001d;
  color: #c2001d;
}
.score-grid .sg-status.reminded mat-icon {
  color: #c2001d;
}
.score-grid .sg-status.late {
  background-color: #fdbebe;
  border-color: #850404;
  color: #850404;
}
.score-grid .sg-status.late mat-icon {
  color: #850404;
}
.score-grid .sg-status.delegated {
  background-color: #ffeff8;
  border-color: #bc0066;
  color: #bc0066;
}
.score-grid .sg-status.delegated mat-icon {
  color: #bc0066;
}
.score-grid .sg-status.completed {
  background-color: #c7feeb;
  border-color: #039060;
  color: #039060;
}
.score-grid .sg-status.completed mat-icon {
  color: #039060;
}
.score-grid .sg-status.draft {
  background-color: #dddddd;
  border-color: #444444;
  color: #444444;
}
.score-grid .sg-status.draft mat-icon {
  color: #444444;
}
.score-grid .sg-foot {
  font-weight: 600;
}
.score-grid .sg-foot.sg-rl {
  text-align: right;
}
.score-grid.score-grid-head {
  align-items: end;
}
.score-grid.score-grid-head > * {
  color: #0000008A;
  white-space: normal;
  word-break: break-word;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.2;
}
.dark-theme .score-grid.score-grid-head > * {
  color: #FFFFFFB3;
}
.score-grid.score-grid-head .sg-crit-head {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.score-grid.score-grid-head .sg-crit-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.25rem;
  height: 1.25rem;
  padding: 0 4px;
  border-radius: 4px;
  background-color: #E7E5E4;
  color: #373734;
  font-weight: 600;
  font-size: 0.75rem;
  line-height: 1;
}
.dark-theme .score-grid.score-grid-head .sg-crit-pill {
  background-color: rgba(255, 255, 255, 0.14);
  color: #F6F6F6;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.my-custom-dialog-class mat-dialog-container {
  overflow: hidden;
}
.session-dialog-panel .mat-dialog-container {
  background-color: white;
}
.dark-theme .session-dialog-panel .mat-dialog-container {
  background-color: black;
}
.subs-v2-item.cdk-drag-preview {
  box-sizing: border-box;
  list-style: none;
  padding: 3px 0;
  font-size: 13px;
  color: #373734;
}
.subs-v2-item.cdk-drag-preview .subs-v2-remove {
  display: none;
}
.subs-v2-item.cdk-drag-preview .subs-v2-card {
  box-sizing: border-box;
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid #D6D3D1;
  border-radius: 6px;
  background-color: white;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  opacity: 0.97;
}
.subs-v2-item.cdk-drag-preview .subs-v2-order {
  flex: 0 0 auto;
  align-self: center;
  min-width: 18px;
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  color: rgba(0, 0, 0, 0.5);
}
.subs-v2-item.cdk-drag-preview .subs-v2-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.subs-v2-item.cdk-drag-preview .subs-v2-title,
.subs-v2-item.cdk-drag-preview .subs-v2-authors {
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.subs-v2-item.cdk-drag-preview .subs-v2-title {
  font-weight: 500;
}
.subs-v2-item.cdk-drag-preview .subs-v2-authors {
  font-size: 11px;
  font-weight: 430;
  color: rgba(0, 0, 0, 0.5);
}
.dark-theme .subs-v2-item.cdk-drag-preview {
  color: #c4c2bd;
}
.dark-theme .subs-v2-item.cdk-drag-preview .subs-v2-card {
  border-color: #5a5651;
  background-color: #202020;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.55);
}
.dark-theme .subs-v2-item.cdk-drag-preview .subs-v2-order,
.dark-theme .subs-v2-item.cdk-drag-preview .subs-v2-authors {
  color: rgba(255, 255, 255, 0.5);
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.seg {
  display: inline-flex;
  align-items: stretch;
  padding: 2px;
  border: 1px solid #E7E5E4;
  border-radius: 999px;
  background: transparent;
}
.seg-btn {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border: none;
  background: transparent;
  cursor: pointer;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 13px;
  font-weight: 430;
  line-height: 1;
  letter-spacing: 0;
  color: #373734;
  padding: 0 14px;
  height: 28px;
  border-radius: 999px;
  white-space: nowrap;
}
.seg-btn:hover:not(.is-active) {
  background: rgba(0, 0, 0, 0.045);
}
.seg-btn.is-active {
  background: #e8e6e3;
  color: #000;
  font-weight: 500;
}
.seg-btn:disabled {
  cursor: default;
  opacity: 0.6;
}
.seg-btn--icon {
  height: 24px;
  padding: 0 7px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.seg-btn--icon .mat-icon {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
  color: inherit;
}
.dark-theme .seg {
  border-color: #3a3937;
}
.dark-theme .seg-btn {
  color: #c4c2bd;
}
.dark-theme .seg-btn:hover:not(.is-active) {
  background: rgba(255, 255, 255, 0.06);
}
.dark-theme .seg-btn.is-active {
  background: #34332f;
  color: #f2f1ee;
}
.seg.is-sliding {
  position: relative;
}
.seg.is-sliding .seg-btn {
  position: relative;
  z-index: 1;
}
.seg.is-sliding .seg-btn.is-active {
  background: transparent;
}
.seg.is-sliding .seg-btn:hover:not(.is-active) {
  background: transparent;
}
.seg-thumb {
  position: absolute;
  top: 2px;
  bottom: 2px;
  left: 2px;
  z-index: 0;
  border-radius: 999px;
  background: #e8e6e3;
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
  pointer-events: none;
}
.dark-theme .seg-thumb {
  background: #34332f;
}
@media (prefers-reduced-motion: reduce) {
  .seg-thumb {
    transition: none;
  }
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
.jems3-submission-status {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 96px;
  min-width: 0;
  max-width: 96px;
  height: 22px;
  padding: 0 8px;
  border: 0;
  border-radius: 999px;
  box-shadow: inset 1px 1px 0.75px rgba(255, 255, 255, 0.75), inset -1px -1px 0.75px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.55);
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  flex-shrink: 0;
}
.jems3-submission-status mat-icon {
  font-size: 13px;
  width: 13px;
  height: 13px;
  line-height: 13px;
  font-variation-settings: "wght" 400, "FILL" 1;
  flex-shrink: 0;
}
.jems3-submission-status.pending {
  background-color: #e5e5e5;
  color: #434343;
}
.jems3-submission-status.pending .mat-icon, .jems3-submission-status.pending .icon {
  color: #6b6b6b;
}
.jems3-submission-status.active {
  background-color: #FFFF55;
  color: #434343;
}
.jems3-submission-status.active .mat-icon, .jems3-submission-status.active .icon {
  color: #1f3a93;
}
.jems3-submission-status.accepted {
  background-color: #99FF99;
  color: #434343;
}
.jems3-submission-status.accepted .mat-icon, .jems3-submission-status.accepted .icon {
  color: #1c7530;
}
.jems3-submission-status.rejected {
  background-color: #ffbdbd;
  color: #434343;
}
.jems3-submission-status.rejected .mat-icon, .jems3-submission-status.rejected .icon {
  color: #b3261e;
}
.jems3-submission-status.withdrawn {
  background-color: #DDDDDD;
  color: #434343;
}
.jems3-submission-status.withdrawn .mat-icon, .jems3-submission-status.withdrawn .icon {
  color: #808080;
}
.jems3-submission-status--icon-only {
  width: 22px;
  min-width: 22px;
  max-width: 22px;
  height: 22px;
  padding: 0;
  gap: 0;
}
.jems3-submission-status--icon-only mat-icon {
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
}
.jems3-review-status {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 144px;
  min-width: 0;
  max-width: 144px;
  height: 20px;
  padding: 0 10px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  flex-shrink: 0;
}
.jems3-review-status mat-icon {
  font-size: 13px;
  width: 13px;
  height: 13px;
  line-height: 13px;
  flex-shrink: 0;
}
.jems3-review-status.assigned {
  background-color: white;
  border: 1px solid #999999;
  color: #999999;
}
.jems3-review-status.notified {
  background-color: #f6faff;
  border: 1px solid #0754bc;
  color: #0754bc;
}
.jems3-review-status.confirmed {
  background-color: #fff1c6;
  border: 1px solid #936f00;
  color: #936f00;
}
.jems3-review-status.declined {
  background-color: #f9f9f9;
  border: 1px solid #606060;
  color: #606060;
}
.jems3-review-status.reminded {
  background-color: #fff5f7;
  border: 1px solid #c2001d;
  color: #c2001d;
}
.jems3-review-status.late {
  background-color: #fdbebe;
  border: 1px solid #850404;
  color: #850404;
}
.jems3-review-status.delegated {
  background-color: #ffeff8;
  border: 1px solid #bc0066;
  color: #bc0066;
}
.jems3-review-status.completed {
  background-color: #c7feeb;
  border: 1px solid #039060;
  color: #039060;
}
.jems3-review-status.draft {
  background-color: #dddddd;
  border: 1px solid #444444;
  color: #444444;
}
.jems3-review-status--icon-only {
  width: 22px;
  min-width: 22px;
  max-width: 22px;
  height: 22px;
  padding: 0;
  gap: 0;
}
.jems3-review-status--icon-only mat-icon {
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
}
:root {
  --jems-link-color: #064ad9;
}
/* global styles */
.light-theme .title {
  color: #363636;
}
.dark-theme .title {
  color: #F6F6F6;
}
.light-theme .subtitle {
  color: #363636;
}
.dark-theme .subtitle {
  color: #F6F6F6;
}
.light-theme strong {
  color: #363636;
}
.dark-theme strong {
  color: #F6F6F6;
}
.light-theme .close.button {
  color: #030303;
}
.dark-theme .close.button {
  color: #ffffff;
}
.light-theme .mat-checkbox-frame {
  border-color: #908985;
}
.dark-theme .mat-checkbox-frame {
  border-color: #A8A29E;
}
.light-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #908985;
}
.dark-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #D6D3D1;
}
.light-theme .mat-checkbox-frame {
  background-color: transparent;
}
.dark-theme .mat-checkbox-frame {
  background-color: transparent;
}
.light-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background {
  background-color: #78716C;
}
.dark-theme .mat-checkbox-indeterminate.mat-primary .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme th.mat-header-cell .mat-checkbox.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #064ad9 !important;
}
.dark-theme th.mat-header-cell .mat-checkbox.mat-checkbox-indeterminate .mat-checkbox-background {
  background-color: #D6D3D1 !important;
}
.light-theme .mat-checkbox-checkmark-path {
  stroke: #f9f8f7 !important;
}
.dark-theme .mat-checkbox-checkmark-path {
  stroke: #202020 !important;
}
.light-theme .mat-checkbox-mixedmark {
  background-color: #f9f8f7 !important;
}
.dark-theme .mat-checkbox-mixedmark {
  background-color: #202020 !important;
}
.light-theme .mat-checkbox:hover:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  border-color: #000;
}
.dark-theme .mat-checkbox:hover:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  border-color: #f2f1ee;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #44403C;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #44403C;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox-checked.mat-accent .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox-checked.mat-primary .mat-checkbox-background {
  background-color: #D6D3D1;
}
.light-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #064ad9;
}
.dark-theme .mat-checkbox-checked .mat-checkbox-frame {
  border-color: #D6D3D1;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-accent:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #064ad9;
}
.dark-theme .mat-checkbox.mat-checkbox-checked.mat-primary:hover:not(.mat-checkbox-disabled) .mat-checkbox-background {
  background-color: #FFFFFF;
}
.light-theme .mat-checkbox:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  background-color: #fff;
}
.dark-theme .mat-checkbox:not(.mat-checkbox-disabled) .mat-checkbox-frame {
  background-color: #000;
}
.light-theme .mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame {
  outline: 2px solid #064ad9;
}
.dark-theme .mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame {
  outline: 2px solid #0080ff;
}
.mat-pseudo-checkbox {
  border-radius: 4px !important;
  border-width: 1.5px !important;
}
.light-theme .mat-pseudo-checkbox {
  color: #908985 !important;
}
.dark-theme .mat-pseudo-checkbox {
  color: #A8A29E !important;
}
.light-theme .mat-pseudo-checkbox::after {
  color: #f9f8f7 !important;
}
.dark-theme .mat-pseudo-checkbox::after {
  color: #202020 !important;
}
.light-theme .mat-pseudo-checkbox-checked {
  background-color: #78716C !important;
}
.dark-theme .mat-pseudo-checkbox-checked {
  background-color: #D6D3D1 !important;
}
.light-theme .mat-pseudo-checkbox-indeterminate {
  background-color: #78716C !important;
}
.dark-theme .mat-pseudo-checkbox-indeterminate {
  background-color: #D6D3D1 !important;
}
.light-theme .mat-slide-toggle-bar {
  background-color: transparent;
}
.dark-theme .mat-slide-toggle-bar {
  background-color: transparent;
}
.light-theme .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #908985;
}
.dark-theme .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #A8A29E;
}
.light-theme .mat-slide-toggle-thumb {
  background-color: #908985;
}
.dark-theme .mat-slide-toggle-thumb {
  background-color: #A8A29E;
}
.light-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-bar {
  background-color: #78716C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-bar {
  background-color: #D6D3D1;
}
.light-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-bar {
  background-color: #78716C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-bar {
  background-color: #D6D3D1;
}
.light-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-thumb {
  background-color: #f9f8f7;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-accent .mat-slide-toggle-thumb {
  background-color: #202020;
}
.light-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-thumb {
  background-color: #f9f8f7;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-primary .mat-slide-toggle-thumb {
  background-color: #202020;
}
.light-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #000;
}
.dark-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #f2f1ee;
}
.light-theme .mat-slide-toggle.mat-checked.mat-accent:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #44403C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-accent:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #FFFFFF;
}
.light-theme .mat-slide-toggle.mat-checked.mat-primary:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #44403C;
}
.dark-theme .mat-slide-toggle.mat-checked.mat-primary:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button .mat-radio-outer-circle {
  border-color: #908985;
}
.dark-theme .mat-radio-button .mat-radio-outer-circle {
  border-color: #A8A29E;
}
.light-theme .mat-radio-button .mat-radio-outer-circle {
  background-color: transparent;
}
.dark-theme .mat-radio-button .mat-radio-outer-circle {
  background-color: transparent;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #78716C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #78716C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #908985;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #908985;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-inner-circle {
  background-color: #f9f8f7;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-inner-circle {
  background-color: #202020;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-inner-circle {
  background-color: #f9f8f7;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-inner-circle {
  background-color: #202020;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  background-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary .mat-radio-outer-circle {
  border-color: #D6D3D1;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #064ad9;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button:not(.mat-radio-disabled):not(.mat-radio-checked) .mat-radio-outer-circle {
  background-color: #fff;
}
.dark-theme .mat-radio-button:not(.mat-radio-disabled):not(.mat-radio-checked) .mat-radio-outer-circle {
  background-color: #000;
}
.light-theme .mat-radio-button:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  border-color: #000;
}
.dark-theme .mat-radio-button:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  border-color: #f2f1ee;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #44403C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-accent:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #44403C;
}
.dark-theme .mat-radio-button.mat-radio-checked.mat-primary:hover:not(.mat-radio-disabled) .mat-radio-outer-circle {
  background-color: #FFFFFF;
}
.light-theme .mat-radio-button.cdk-keyboard-focused .mat-radio-outer-circle {
  outline: 2px solid #064ad9;
}
.dark-theme .mat-radio-button.cdk-keyboard-focused .mat-radio-outer-circle {
  outline: 2px solid #0080ff;
}
.light-theme .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar {
  outline: 2px solid #064ad9;
}
.dark-theme .mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar {
  outline: 2px solid #0080ff;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #78716C;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #D6D3D1;
}
.light-theme .main-header .main-title {
  color: #373734;
}
.dark-theme .main-header .main-title {
  color: #c4c2bd;
}
.light-theme .section-title {
  color: #373734;
}
.dark-theme .section-title {
  color: #c4c2bd;
}
.light-theme .main-header .main-title .main-title-icon {
  color: #000;
}
.dark-theme .main-header .main-title .main-title-icon {
  color: #f2f1ee;
}
/* simple-table */
.light-theme table.simple-table {
  background-color: #ededed;
}
.dark-theme table.simple-table {
  background-color: #262626;
}
.light-theme table.simple-table th {
  background-color: #d1d1d1;
}
.dark-theme table.simple-table th {
  background-color: #4d4d4d;
}
.light-theme table.simple-table th {
  color: #363636;
}
.dark-theme table.simple-table th {
  color: #F6F6F6;
}
/* table */
.light-theme table.highlight-table {
  background-color: white;
}
.dark-theme table.highlight-table {
  background-color: black;
}
.light-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  background-color: #ededed;
}
.dark-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  background-color: #262626;
}
.light-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-color: #ededed;
}
.dark-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-color: #262626;
}
.light-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-right-color: white;
}
.dark-theme table.highlight-table td:not(:first-child, :last-child, .mat-footer-cell) {
  border-right-color: black;
}
.light-theme table.highlight-table tr:hover td {
  border-top-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td {
  border-top-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td {
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td {
  border-bottom-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td:first-child {
  border: none;
}
.dark-theme table.highlight-table tr:hover td:first-child {
  border: none;
}
.light-theme table.highlight-table tr:hover td:last-child {
  border: none;
}
.dark-theme table.highlight-table tr:hover td:last-child {
  border: none;
}
.light-theme table.highlight-table tr:hover td:nth-child(2) {
  border-left-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td:nth-child(2) {
  border-left-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td:nth-last-child(2) {
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme table.highlight-table tr:hover td:nth-last-child(2) {
  border-right-color: #60a5fa;
}
.light-theme table.highlight-table tr:hover td.mat-footer-cell {
  border: none;
}
.dark-theme table.highlight-table tr:hover td.mat-footer-cell {
  border: none;
}
/* <a> */
.light-theme a {
  color: #064ad9;
}
.dark-theme a {
  color: #60a5fa;
}
.light-theme a:hover {
  color: #064ad9;
}
.dark-theme a:hover {
  color: #60a5fa;
}
/* <button> */
.light-theme button:disabled {
  color: #999999;
}
.dark-theme button:disabled {
  color: #666666;
}
.light-theme .app-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  background-color: #e8e6e3;
}
.dark-theme .app-icon-button:not(.mat-button-disabled):not(:disabled):hover {
  background-color: #34332f;
}
.light-theme .app-icon-button.menu-open {
  background-color: #e9e8e6;
}
.dark-theme .app-icon-button.menu-open {
  background-color: #3a3936;
}
/* mat-accordion */
.light-theme .mat-accordion .mat-expansion-panel {
  background-color: #ededed;
}
.dark-theme .mat-accordion .mat-expansion-panel {
  background-color: #262626;
}
/* mat-form-field */
.light-theme .mat-form-field-infix {
  color: #363636;
}
.dark-theme .mat-form-field-infix {
  color: #F6F6F6;
}
.light-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: #030303;
}
.dark-theme .mat-form-field-appearance-outline .mat-form-field-outline {
  color: #ffffff;
}
.light-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #030303;
}
.dark-theme .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick {
  color: #ffffff;
}
/* mat-divider */
.light-theme .mat-divider {
  border-bottom: 1px solid white;
}
.dark-theme .mat-divider {
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.light-theme .mat-divider {
  border-top: "";
}
.dark-theme .mat-divider {
  border-top: 1px solid black;
}
/* app-admin */
.light-theme app-admin .admin {
  background-color: white;
}
.dark-theme app-admin .admin {
  background-color: black;
}
/* app-admin-navbar */
.light-theme app-admin-navbar .admin-navbar nav {
  background-color: white;
}
.dark-theme app-admin-navbar .admin-navbar nav {
  background-color: black;
}
.light-theme app-admin-navbar .logo img {
  -webkit-filter: "";
}
.dark-theme app-admin-navbar .logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.light-theme app-admin-navbar .logo img {
  filter: "";
}
.dark-theme app-admin-navbar .logo img {
  filter: grayscale(1) invert(1);
}
/* app-admin-event-sidebar */
.light-theme app-admin-event-sidebar .label {
  color: #434343;
}
.dark-theme app-admin-event-sidebar .label {
  color: #D6D6D6;
}
.light-theme app-admin-event-sidebar .mat-icon {
  color: #434343;
}
.dark-theme app-admin-event-sidebar .mat-icon {
  color: #D6D6D6;
}
.light-theme app-admin-event-sidebar .mat-sidenav-content {
  background-color: white;
}
.dark-theme app-admin-event-sidebar .mat-sidenav-content {
  background-color: black;
}
body.light-theme,
html:has(body.light-theme) {
  background-color: white;
}
body.dark-theme,
html:has(body.dark-theme) {
  background-color: black;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item:hover {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .mat-list-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .sidebar .classic-submenu .list-item-active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .submenu-drag-handle, .light-theme .experimental-sidebar-child-drag-handle {
  color: #000;
}
.dark-theme app-admin-event-sidebar .submenu-drag-handle, .dark-theme .experimental-sidebar-child-drag-handle {
  color: #f2f1ee;
}
.light-theme .experimental-flyout-drag-handle {
  color: #000;
}
.dark-theme .experimental-flyout-drag-handle {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .navbar {
  background-color: #FAFAF9;
}
.dark-theme app-admin-event-sidebar .navbar {
  background-color: #262626;
}
.light-theme app-admin-event-sidebar .navbar {
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.2);
}
.dark-theme app-admin-event-sidebar .navbar {
  box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.5);
}
.light-theme app-admin-event-sidebar .navbar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .navbar {
  border-bottom-color: #3a3937;
}
.light-theme app-admin-event-sidebar .workspace-bar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .workspace-bar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .workspace-bar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .workspace-bar {
  border-bottom-color: #3a3937;
}
.light-theme app-admin-event-sidebar .workspace-bar .workspace-title {
  color: #000;
}
.dark-theme app-admin-event-sidebar .workspace-bar .workspace-title {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .workspace-bar .workspace-icon {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .workspace-bar .workspace-icon {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .workspace-bar .workspace-chevron {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .workspace-bar .workspace-chevron {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .workspace-logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .workspace-logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .workspace-logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .workspace-logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  border-right-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  border-right-color: #3a3937;
}
.light-theme app-admin-event-sidebar .experimental-sidebar {
  border-right: 1px solid #E7E5E4;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar {
  border-right: 1px solid #3a3937;
}
.light-theme app-admin-event-sidebar .sidebar.hovering-experimental-resize-handle .experimental-sidebar,
.light-theme app-admin-event-sidebar .sidebar.resizing-experimental .experimental-sidebar {
  border-right-color: #D6D3D1 !important;
  box-shadow: 1px 0 0 #D6D3D1 !important;
}
.dark-theme app-admin-event-sidebar .sidebar.hovering-experimental-resize-handle .experimental-sidebar,
.dark-theme app-admin-event-sidebar .sidebar.resizing-experimental .experimental-sidebar {
  border-right-color: #5a5651 !important;
  box-shadow: 1px 0 0 #5a5651 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-header {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-header {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-header.has-divider {
  border-bottom-color: #E7E5E4 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-header.has-divider {
  border-bottom-color: #3a3937 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom.has-divider {
  border-top-color: #E7E5E4 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom.has-divider {
  border-top-color: #3a3937 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item .mat-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item .mat-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-collapsed:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-home-collapsed:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item:hover {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-item.has-active-child {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child:hover {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar .experimental-sidebar-child.active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .activity-bar-logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .activity-bar-logo img {
  -webkit-filter: "";
}
.light-theme app-admin-event-sidebar .activity-bar-logo img {
  filter: grayscale(1) invert(1);
}
.dark-theme app-admin-event-sidebar .activity-bar-logo img {
  filter: "";
}
.light-theme app-admin-event-sidebar .experimental-sidebar-close-button .mat-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-close-button .mat-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .experimental-user-info {
  color: #000;
}
.dark-theme app-admin-event-sidebar .experimental-user-info {
  color: #f2f1ee;
}
.cdk-drag-preview.experimental-sidebar-child {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 28px;
  padding: 0 14px 0 26px;
  margin: 0;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 430;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.3;
  letter-spacing: 0;
  text-decoration: none;
  overflow: hidden;
}
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 16px;
  margin-right: 8px;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-favorite-btn,
.cdk-drag-preview.experimental-sidebar-child .experimental-sidebar-child-drag-handle {
  display: none;
}
.light-theme .cdk-drag-preview.experimental-sidebar-child {
  background-color: #e8e6e3;
  color: #000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.dark-theme .cdk-drag-preview.experimental-sidebar-child {
  background-color: #34332f;
  color: #f2f1ee;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.55);
}
.cdk-drag-placeholder.experimental-sidebar-child {
  opacity: 0.25;
  background: transparent;
}
.cdk-drop-list-dragging .experimental-sidebar-child:not(.cdk-drag-placeholder) {
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.cdk-drag-preview.experimental-flyout-item {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  height: 32px;
  padding: 6px 14px 6px 26px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 430;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  line-height: 1.3;
  letter-spacing: 0;
  text-decoration: none;
  overflow: hidden;
}
.cdk-drag-preview.experimental-flyout-item .experimental-flyout-child-icon {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 16px;
  margin-right: 8px;
  font-variation-settings: "opsz" 20, "wght" 300, "FILL" 0;
}
.cdk-drag-preview.experimental-flyout-item > span {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cdk-drag-preview.experimental-flyout-item .experimental-flyout-drag-handle,
.cdk-drag-preview.experimental-flyout-item .experimental-flyout-favorite-btn {
  display: none;
}
.light-theme .cdk-drag-preview.experimental-flyout-item {
  background-color: #e8e6e3;
  color: #000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.dark-theme .cdk-drag-preview.experimental-flyout-item {
  background-color: #34332f;
  color: #f2f1ee;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.55);
}
.cdk-drag-placeholder.experimental-flyout-item {
  opacity: 0.25;
  background: transparent;
}
.cdk-drop-list-dragging .experimental-flyout-item:not(.cdk-drag-placeholder) {
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.cdk-drag-preview.mat-list-item {
  box-sizing: border-box;
  height: 36px;
  padding: 0 14px 0 14px;
  margin: 0;
  border-radius: 6px;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 14px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
  text-decoration: none;
  overflow: hidden;
}
.cdk-drag-preview.mat-list-item .mat-list-item-content {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0;
}
.cdk-drag-preview.mat-list-item .submenu-drag-handle {
  flex: 0 0 14px;
  width: 14px;
  height: 14px;
  margin-right: 2px;
  visibility: hidden;
}
.cdk-drag-preview.mat-list-item .submenu-item-label {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cdk-drag-preview.mat-list-item .submenu-favorite-btn {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  visibility: hidden;
}
.light-theme .cdk-drag-preview.mat-list-item {
  background-color: #e8e6e3;
  color: #000;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
}
.dark-theme .cdk-drag-preview.mat-list-item {
  background-color: #34332f;
  color: #f2f1ee;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.55);
}
.cdk-drag-placeholder.mat-list-item {
  opacity: 0.25;
  background: transparent;
}
.cdk-drop-list-dragging .mat-list-item:not(.cdk-drag-placeholder) {
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.light-theme app-event-breadcrumb .event-breadcrumb {
  background-color: #f9f8f7;
}
.dark-theme app-event-breadcrumb .event-breadcrumb {
  background-color: #202020;
}
.light-theme app-event-breadcrumb .event-breadcrumb {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-event-breadcrumb .event-breadcrumb {
  border-bottom-color: #3a3937;
}
.light-theme app-admin-event-sidebar .classic-submenu {
  background-color: #f9f8f7;
  color: #373734;
  border-right: 1px solid #E7E5E4;
}
.dark-theme app-admin-event-sidebar .classic-submenu {
  background-color: #202020;
  color: #c4c2bd;
  border-right: 1px solid #3a3937;
}
.light-theme app-admin-event-sidebar .sidebar.hovering-resize-handle .classic-submenu,
.light-theme app-admin-event-sidebar .sidebar.resizing-submenu .classic-submenu {
  border-right-color: #D6D3D1;
  box-shadow: 1px 0 0 #D6D3D1;
}
.dark-theme app-admin-event-sidebar .sidebar.hovering-resize-handle .classic-submenu,
.dark-theme app-admin-event-sidebar .sidebar.resizing-submenu .classic-submenu {
  border-right-color: #5a5651;
  box-shadow: 1px 0 0 #5a5651;
}
.sidebar:not(.legacy-chrome-disabled) app-event-breadcrumb {
  display: block;
  height: 0;
}
.sidebar:not(.legacy-chrome-disabled) app-event-breadcrumb .event-breadcrumb {
  top: var(--chrome-top-offset);
  z-index: 900;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) app-event-breadcrumb .event-breadcrumb-segment {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb .event-breadcrumb-segment {
  color: #373734;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-segment {
  color: #c4c2bd;
}
.light-theme app-event-breadcrumb .event-breadcrumb-segment.current {
  color: #000;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-segment.current {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .light-theme button.event-breadcrumb-segment:hover {
  color: #000;
}
.dark-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .dark-theme button.event-breadcrumb-segment:hover {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .light-theme button.event-breadcrumb-segment:hover {
  background-color: #e8e6e3;
}
.dark-theme app-event-breadcrumb a.event-breadcrumb-segment:hover, .dark-theme button.event-breadcrumb-segment:hover {
  background-color: #34332f;
}
.light-theme app-event-breadcrumb .event-breadcrumb-wide-toggle:hover {
  background-color: #e8e6e3;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-wide-toggle:hover {
  background-color: #34332f;
}
.light-theme app-event-breadcrumb .event-breadcrumb-icon {
  color: #000;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-icon {
  color: #f2f1ee;
}
.light-theme app-event-breadcrumb .event-breadcrumb-separator {
  color: #373734;
}
.dark-theme app-event-breadcrumb .event-breadcrumb-separator {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .experimental-user-menu-button:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .experimental-user-menu-button:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .activity-bar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .activity-bar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .activity-bar {
  border-right-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .activity-bar {
  border-right-color: #3a3937;
}
.dark-theme .sidebar:not(.legacy-chrome-disabled) .activity-bar {
  box-shadow: 0 2px 9px rgba(0, 0, 0, 0.5) !important;
}
.light-theme app-admin-event-sidebar .activity-bar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .activity-bar {
  border-bottom-color: black;
}
.light-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button .mat-icon {
  color: #000;
}
.dark-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button .mat-icon {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button:hover {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button.selected,
.light-theme app-admin-event-sidebar .activity-bar .selected .jems-chair-toolbar-button {
  background-color: #e9e8e6 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar .jems-chair-toolbar-button.selected,
.dark-theme app-admin-event-sidebar .activity-bar .selected .jems-chair-toolbar-button {
  background-color: #3a3936 !important;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover,
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected {
  background-color: transparent !important;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .mat-icon,
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .mat-icon {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .mat-icon,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .mat-icon {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button .label {
  color: #373734;
}
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .label,
.light-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .label {
  color: #000;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button .label {
  color: #c4c2bd;
}
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button:hover .label,
.dark-theme app-admin-event-sidebar .sidebar:not(.legacy-chrome-disabled) .activity-bar .jems-chair-toolbar-button.selected .label {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button:hover,
.light-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button:hover,
.dark-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button:hover {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button.menu-open,
.light-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button.menu-open {
  background-color: #e9e8e6 !important;
}
.dark-theme app-admin-event-sidebar .activity-bar-bottom app-user-notifications .profile-button.menu-open,
.dark-theme app-admin-event-sidebar .activity-bar-bottom .helpdesk-button.menu-open {
  background-color: #3a3936 !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom .experimental-user-menu-button:hover,
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button:hover,
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom .experimental-user-menu-button:hover,
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button:hover,
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button:hover {
  background-color: #34332f !important;
}
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button.menu-open,
.light-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button.menu-open {
  background-color: #e9e8e6 !important;
}
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom app-user-notifications .profile-button.menu-open,
.dark-theme app-admin-event-sidebar .experimental-sidebar-bottom .helpdesk-button.menu-open {
  background-color: #3a3936 !important;
}
.light-theme app-navbar .command-palette-trigger:hover {
  background-color: #e8e6e3 !important;
  border-color: #E7E5E4;
}
.dark-theme app-navbar .command-palette-trigger:hover {
  background-color: #34332f !important;
  border-color: #3a3937;
}
.light-theme app-custom-search .shortcut-hint,
.light-theme app-navbar .shortcut-hint {
  border: 1px solid #D6D3D1 !important;
}
.dark-theme app-custom-search .shortcut-hint,
.dark-theme app-navbar .shortcut-hint {
  border: 1px solid #5a5651 !important;
}
.light-theme app-custom-search .chip-trigger {
  background-color: white !important;
  border: 1px solid #D6D3D1 !important;
}
.dark-theme app-custom-search .chip-trigger {
  background-color: black !important;
  border: 1px solid #5a5651 !important;
}
.light-theme app-custom-search .chip-trigger:hover {
  box-shadow: 0 0 0 1px #D6D3D1;
  background-color: white !important;
}
.dark-theme app-custom-search .chip-trigger:hover {
  box-shadow: 0 0 0 1px #5a5651;
  background-color: black !important;
}
.light-theme app-custom-search .chip-expanded {
  background-color: white !important;
  background-clip: padding-box !important;
  border: 1px solid #D6D3D1 !important;
}
.dark-theme app-custom-search .chip-expanded {
  background-color: black !important;
  background-clip: padding-box !important;
  border: 1px solid #5a5651 !important;
}
.light-theme app-custom-search .chip-expanded:hover:not(:focus-within) {
  box-shadow: 0 0 0 1px #D6D3D1;
}
.dark-theme app-custom-search .chip-expanded:hover:not(:focus-within) {
  box-shadow: 0 0 0 1px #5a5651;
}
.light-theme app-custom-search .chip-expanded:focus-within {
  border: 1px solid #064ad9 !important;
  box-shadow: 0 0 0 1px #064ad9;
}
.dark-theme app-custom-search .chip-expanded:focus-within {
  border: 1px solid #60a5fa !important;
  box-shadow: 0 0 0 1px #60a5fa;
}
.light-theme app-custom-search .chip-trigger,
.light-theme app-custom-search .chip-expanded {
  color: #373734;
}
.dark-theme app-custom-search .chip-trigger,
.dark-theme app-custom-search .chip-expanded {
  color: #c4c2bd;
}
.light-theme app-custom-search .chip-clear:hover {
  background-color: rgba(0, 0, 0, 0.06);
}
.dark-theme app-custom-search .chip-clear:hover {
  background-color: rgba(255, 255, 255, 0.1);
}
.light-theme .main.reviews .separator,
.light-theme .main.submissions .separator,
.light-theme .submission-ranking-filter-overlay .separator {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.dark-theme .main.reviews .separator,
.dark-theme .main.submissions .separator,
.dark-theme .submission-ranking-filter-overlay .separator {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.topics-selection-panel .topics-panel {
  display: flex;
  flex-direction: column;
  width: 440px;
  max-width: calc(100vw - 24px);
  max-height: min(70vh, 460px);
  overflow: hidden;
  border-radius: 12px;
  padding: 14px 16px;
  text-align: left;
}
.light-theme .topics-selection-panel .topics-panel {
  background-color: #f9f8f7;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.dark-theme .topics-selection-panel .topics-panel {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.topics-selection-panel .panel-header {
  flex: 0 0 auto;
  margin-bottom: 6px;
}
.topics-selection-panel .panel-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #373734;
}
.topics-selection-panel .topics-count {
  flex: 0 0 auto;
  font-size: 0.75rem;
  color: #78716C;
  margin-bottom: 8px;
}
.topics-selection-panel .topics-count.invalid {
  color: #CC0029;
}
.topics-selection-panel .topics-tree {
  flex: 1 1 auto;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.topics-selection-panel .topic-category {
  margin-top: 6px;
}
.topics-selection-panel .topic-category .category-name {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #373734;
  margin: 6px 0 2px;
}
.topics-selection-panel .topic-category .topic-item {
  margin-left: 14px;
}
.topics-selection-panel .topic-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 3px 4px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.8125rem;
  color: #373734;
}
.topics-selection-panel .topic-item:hover {
  background-color: #e8e6e3;
}
.topics-selection-panel .topic-item input {
  flex: 0 0 auto;
  cursor: pointer;
}
.topics-selection-panel .topic-item span {
  line-height: 1.3;
}
.topics-selection-panel .topics-empty {
  font-size: 0.8125rem;
  color: #78716C;
}
.dark-theme .topics-selection-panel .panel-title,
.dark-theme .topics-selection-panel .topic-category .category-name,
.dark-theme .topics-selection-panel .topic-item {
  color: #c4c2bd;
}
.dark-theme .topics-selection-panel .topics-count {
  color: #c4c2bd;
}
.dark-theme .topics-selection-panel .topic-item:hover {
  background-color: #34332f;
}
.light-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover,
.light-theme .main.submissions .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover,
.dark-theme .main.submissions .separator .submissions-list-filter app-chip-checkbox .chip-checkbox label:hover {
  background-color: #34332f !important;
}
.light-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox] {
  border-color: #908985 !important;
}
.dark-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox] {
  border-color: #A8A29E !important;
}
.light-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox]:checked {
  background-color: #78716C !important;
  border-color: #78716C !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23f9f8f7' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.dark-theme .main.reviews .separator .submissions-list-filter app-chip-checkbox label input[type=checkbox]:checked {
  background-color: #D6D3D1 !important;
  border-color: #D6D3D1 !important;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23202020' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}
.light-theme .mat-slide-toggle-content {
  color: #373734;
}
.dark-theme .mat-slide-toggle-content {
  color: #c4c2bd;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: #064ad9 !important;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  background-color: #60a5fa !important;
}
.light-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #064ad9 !important;
}
.dark-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  background-color: #60a5fa !important;
}
.light-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #064ad9 !important;
}
.dark-theme .mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  background-color: #f9f8f7 !important;
}
.light-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #908985 !important;
}
.dark-theme .mat-slide-toggle:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: inset 0 0 0 1.5px #A8A29E !important;
}
.light-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: none !important;
}
.dark-theme .mat-slide-toggle.mat-checked:hover:not(.mat-disabled) .mat-slide-toggle-bar {
  box-shadow: none !important;
}
.light-theme app-navbar .right-navbar-container app-user-notifications .profile-button:hover,
.light-theme app-navbar .right-navbar-container .support-help-button:hover {
  background-color: #e8e6e3 !important;
}
.dark-theme app-navbar .right-navbar-container app-user-notifications .profile-button:hover,
.dark-theme app-navbar .right-navbar-container .support-help-button:hover {
  background-color: #34332f !important;
}
.light-theme app-navbar .right-navbar-container .support-help-button .mat-icon {
  color: #434343;
}
.dark-theme app-navbar .right-navbar-container .support-help-button .mat-icon {
  color: #D6D6D6;
}
.light-theme app-navbar .right-navbar-container app-user-notifications .profile-button.menu-open,
.light-theme app-navbar .right-navbar-container .support-help-button.menu-open {
  background-color: #e9e8e6 !important;
}
.dark-theme app-navbar .right-navbar-container app-user-notifications .profile-button.menu-open,
.dark-theme app-navbar .right-navbar-container .support-help-button.menu-open {
  background-color: #3a3936 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.tpc-user-menu {
  display: block;
  box-sizing: border-box;
  padding: 5px 0;
  min-width: 160px;
  border-radius: 6px;
}
.light-theme .tpc-user-menu {
  background-color: #f9f8f7;
  box-shadow: none;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.review-info-panel {
  box-sizing: border-box;
  min-width: 200px;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 0.8125rem;
}
.review-info-panel .review-info-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 3px 0;
}
.review-info-panel .review-info-label {
  font-weight: 400;
  white-space: nowrap;
}
.review-info-panel .review-info-value {
  font-weight: 500;
  text-align: right;
}
.review-info-panel .review-info-value a {
  text-decoration: none;
}
.light-theme .review-info-panel {
  background-color: #f9f8f7;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
  color: #373734;
}
.light-theme .review-info-panel .review-info-label {
  color: #78716C;
}
.light-theme .review-info-panel .review-info-value a {
  color: #064ad9;
}
.dark-theme .review-info-panel {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
  color: #c4c2bd;
}
.dark-theme .review-info-panel .review-info-label {
  color: #c4c2bd;
  opacity: 0.6;
}
.dark-theme .review-info-panel .review-info-value a {
  color: #60a5fa;
}
.find-reviewers-dialog .mat-dialog-container {
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.find-reviewers-dialog app-find-reviewers-by-interest,
.find-reviewers-dialog app-reviewer-finder {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}
.cdk-overlay-container {
  z-index: 1200 !important;
}
.notifications-menu {
  z-index: 1100;
  transform-origin: top center;
  -webkit-animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
          animation: jems-popover-in 120ms cubic-bezier(0, 0, 0.2, 1);
}
.notifications-menu.above {
  transform-origin: bottom center;
}
.menu-chart-v2,
.menu-container {
  display: block;
  box-sizing: border-box;
  border-radius: 6px;
  padding: 5px 0;
}
.menu-chart-v2 .container-option {
  display: block !important;
}
.menu-chart-v2 .container-option .mat-menu-item {
  height: 32px !important;
  line-height: 32px !important;
  font-size: 14px;
  font-weight: 430;
  padding: 0 12px !important;
  border-radius: 6px;
  width: calc(100% - 8px) !important;
  margin: 0 4px !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
}
.menu-chart-v2 .container-option .mat-menu-item .mat-icon {
  font-size: 16px;
  width: 16px;
  height: 16px;
  line-height: 16px;
  color: rgba(0, 0, 0, 0.55);
  margin: 0;
}
.menu-chart-v2 .container-option .mat-menu-item:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.menu-chart-v2 .container-option .mat-menu-item:hover .mat-icon {
  color: rgba(0, 0, 0, 0.85);
}
.menu-chart-v2 > .toggle-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px !important;
  min-height: 32px;
  max-height: 32px;
  margin: 0 4px;
  padding: 0;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle {
  height: 24px;
  line-height: 24px;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle .mat-slide-toggle-bar {
  margin-left: 8px;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle {
  background: transparent !important;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle .mat-slide-toggle-content,
.menu-chart-v2 > .toggle-row mat-slide-toggle .mat-slide-toggle-label {
  font-size: 14px;
  font-weight: 430;
}
.menu-chart-v2 > .toggle-row mat-slide-toggle:hover {
  background: transparent !important;
}
.menu-chart-v2 mat-divider,
.menu-container mat-divider {
  width: 100% !important;
  max-width: none !important;
  margin: 4px 0 !important;
  border-top: 1px solid rgba(0, 0, 0, 0.08);
}
.dark-theme .jems-popover-panel mat-divider,
.dark-theme .tpc-user-menu mat-divider,
.dark-theme .menu-chart-v2 mat-divider,
.dark-theme .menu-container mat-divider {
  border-top-color: #000;
}
.light-theme .menu-chart-v2,
.light-theme .menu-container {
  background-color: #f9f8f7;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.container-option {
  text-decoration: none !important;
  color: inherit !important;
}
.light-theme .container-option .mat-menu-item,
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item,
.light-theme .tpc-user-menu .mat-menu-item {
  color: #373734 !important;
}
.light-theme .container-option .mat-menu-item .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item .mat-icon,
.light-theme .tpc-user-menu .mat-menu-item .mat-icon {
  color: #000 !important;
}
.light-theme .container-option .mat-menu-item:hover:not([disabled]),
.light-theme .container-option .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .container-option .mat-menu-item.highlight-button:not([disabled]),
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item:hover:not([disabled]),
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.highlight-button:not([disabled]),
.light-theme .tpc-user-menu .mat-menu-item:hover:not([disabled]),
.light-theme .tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.light-theme .tpc-user-menu .mat-menu-item.highlight-button:not([disabled]) {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.dark-theme .container-option .mat-menu-item,
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item,
.dark-theme .tpc-user-menu .mat-menu-item {
  color: #c4c2bd !important;
}
.dark-theme .container-option .mat-menu-item .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item .mat-icon,
.dark-theme .tpc-user-menu .mat-menu-item .mat-icon {
  color: #f2f1ee !important;
}
.dark-theme .container-option .mat-menu-item:hover:not([disabled]),
.dark-theme .container-option .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .container-option .mat-menu-item.highlight-button:not([disabled]),
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item:hover:not([disabled]),
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.highlight-button:not([disabled]),
.dark-theme .tpc-user-menu .mat-menu-item:hover:not([disabled]),
.dark-theme .tpc-user-menu .mat-menu-item.cdk-keyboard-focused:not([disabled]),
.dark-theme .tpc-user-menu .mat-menu-item.highlight-button:not([disabled]) {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.container-option .mat-menu-item[disabled],
.mat-menu-panel.tpc-user-menu .mat-menu-item[disabled],
.tpc-user-menu .mat-menu-item[disabled] {
  opacity: 0.45 !important;
  cursor: default !important;
  pointer-events: none !important;
}
.container-option .mat-menu-item.disabled-hoverable,
.mat-menu-panel.tpc-user-menu .mat-menu-item.disabled-hoverable,
.tpc-user-menu .mat-menu-item.disabled-hoverable {
  opacity: 0.45 !important;
  cursor: default !important;
}
.container-option .mat-menu-item.disabled-hoverable:hover,
.mat-menu-panel.tpc-user-menu .mat-menu-item.disabled-hoverable:hover,
.tpc-user-menu .mat-menu-item.disabled-hoverable:hover {
  background-color: transparent !important;
}
.container-option.has-tip {
  display: block;
  position: relative;
}
.jems-menu-tip {
  position: absolute;
  top: calc(100% + 4px);
  left: 8px;
  z-index: 10;
  max-width: 260px;
  padding: 6px 8px;
  border-radius: 4px;
  background-color: rgba(97, 97, 97, 0.96);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.4;
  white-space: normal;
  text-align: left;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}
.container-option.has-tip:hover .jems-menu-tip {
  opacity: 1;
  visibility: visible;
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon {
  color: #000 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.light-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.light-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .tpc-user-menu {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .container-button .time-zone-button {
  color: rgba(255, 255, 255, 0.55) !important;
}
.dark-theme .container-button .time-zone-button:hover:not([disabled]), .dark-theme .container-button .time-zone-button.menu-open {
  background-color: rgba(255, 255, 255, 0.14) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}
.jems-tzview-menu {
  min-width: 300px;
  padding: 8px 4px !important;
}
.jems-tzview-menu .jems-tzview-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: 26px;
  padding: 0 8px;
  color: #373734;
  font-size: 13px;
  font-weight: 400;
}
.jems-tzview-menu .jems-tzview-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.jems-tzview-menu .jems-tzview-tag {
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  margin-left: 4px;
}
.jems-tzview-menu .jems-tzview-time {
  flex-shrink: 0;
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.dark-theme .jems-tzview-menu .jems-tzview-row {
  color: #c4c2bd;
}
.dark-theme .jems-tzview-menu .jems-tzview-tag, .dark-theme .jems-tzview-menu .jems-tzview-time {
  color: rgba(255, 255, 255, 0.55);
}
.jems-tz-menu {
  min-width: 260px;
  padding: 5px 4px !important;
  max-height: 320px;
  overflow-y: auto;
}
.jems-tz-menu .jems-tz-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  height: 26px;
  padding: 0 8px 0 28px;
  position: relative;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #373734;
  font-size: 13px;
  font-weight: 400;
  text-align: left;
  cursor: pointer;
}
.jems-tz-menu .jems-tz-option:hover {
  background-color: #e8e6e3;
}
.jems-tz-menu .jems-tz-option.selected::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #373734;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.jems-tz-menu .jems-tz-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.jems-tz-menu .jems-tz-tag {
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  margin-left: 4px;
}
.jems-tz-menu .jems-tz-offset {
  flex-shrink: 0;
  color: rgba(0, 0, 0, 0.55);
  font-weight: 400;
  font-variant-numeric: tabular-nums;
}
.dark-theme .jems-tz-menu .jems-tz-option {
  color: #c4c2bd;
}
.dark-theme .jems-tz-menu .jems-tz-option:hover {
  background-color: #34332f;
}
.dark-theme .jems-tz-menu .jems-tz-option.selected::before {
  background-color: #c4c2bd;
}
.dark-theme .jems-tz-menu .jems-tz-tag, .dark-theme .jems-tz-menu .jems-tz-offset {
  color: rgba(255, 255, 255, 0.55);
}
.jems-popover-backdrop {
  z-index: 2000 !important;
}
.jems-popover-panel {
  z-index: 2001 !important;
}
.cdk-overlay-container .mat-tooltip-panel,
.cdk-overlay-container .cdk-overlay-pane:has(.mat-tooltip),
.mat-tooltip {
  z-index: 2010 !important;
}
.cdk-overlay-container {
  z-index: 2010 !important;
}
.dark-theme .ti-copy-btn {
  color: rgba(255, 255, 255, 0.55);
}
.dark-theme .ti-copy-btn:hover {
  background-color: rgba(255, 255, 255, 0.14);
  color: rgba(255, 255, 255, 0.9);
}
.dark-theme .ti-copy-btn.is-copied {
  color: #69f0ae;
}
.dark-theme .jems-select-menu .jems-select-option {
  color: #c4c2bd;
}
.dark-theme .jems-select-menu .jems-select-option.active {
  background-color: #34332f;
}
.dark-theme .jems-select-menu .jems-select-option.selected::before {
  background-color: #c4c2bd;
}
.dark-theme .jems-select-menu .jems-select-filter {
  background-color: #202020;
}
.dark-theme .jems-select-menu .jems-select-filter-input {
  background-color: black;
  border-color: #3a3937;
  color: #c4c2bd;
}
.dark-theme .jems-select-menu .jems-select-filter-input::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .jems-select-menu .jems-select-filter-input:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .jems-select-menu .jems-select-filter-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
.dark-theme .menu-chart-v2,
.dark-theme .menu-container {
  background-color: #202020;
  box-shadow: 0 0 0 1px #3a3937;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.mat-select-panel.jems3-select-panel .mat-option.mat-active,
.mat-select-panel.my-select-status-panel .mat-option.mat-active,
.mat-autocomplete-panel .mat-option.mat-active {
  background-color: transparent !important;
}
.mat-select-panel.jems3-select-panel {
  border-radius: 6px !important;
  padding: 5px 4px !important;
  font-size: 13px !important;
}
.mat-select-panel.jems3-select-panel .mat-option {
  height: 26px;
  line-height: 26px;
  margin: 0;
  padding: 0 8px !important;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 400;
}
.mat-select-panel.jems3-select-panel .mat-pseudo-checkbox {
  transform: scale(0.8);
}
.mat-select-panel.jems3-select-panel .mat-optgroup-label {
  height: 32px;
  line-height: 32px;
  padding: 0 8px;
  font-size: 12px;
  font-weight: 600;
}
.light-theme .mat-select-panel.jems3-select-panel,
.light-theme .mat-select-panel.my-select-status-panel {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.dark-theme .mat-select-panel.jems3-select-panel,
.dark-theme .mat-select-panel.my-select-status-panel {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option {
  color: #373734;
  position: relative;
  padding-left: 28px !important;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  color: #373734 !important;
  background: transparent !important;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple)::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #373734;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-select-panel.jems3-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #e8e6e3 !important;
}
.light-theme .mat-select-panel.jems3-select-panel .mat-optgroup-label {
  color: rgba(0, 0, 0, 0.5);
}
.light-theme .mat-select-panel.jems3-select-panel .mat-pseudo-checkbox-checked,
.light-theme .mat-select-panel.jems3-select-panel .mat-pseudo-checkbox-indeterminate {
  color: #064ad9 !important;
  background-color: #064ad9 !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option {
  color: #c4c2bd;
  position: relative;
  padding-left: 28px !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple) {
  color: #c4c2bd !important;
  background: transparent !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.mat-selected:not(.mat-option-multiple)::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 8px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #c4c2bd;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'><path d='M2.5 6.5 L5 9 L9.5 3.5' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #34332f !important;
}
.dark-theme .mat-select-panel.jems3-select-panel .mat-optgroup-label {
  color: rgba(255, 255, 255, 0.5);
}
.light-theme .mat-select-panel.jems3-select-panel .mat-option.mat-option-multiple,
.dark-theme .mat-select-panel.jems3-select-panel .mat-option.mat-option-multiple {
  padding-left: 12px !important;
}
.mat-select-panel.jems3-select-panel .mat-option.mat-option-multiple.mat-selected {
  background: transparent !important;
}
.mat-autocomplete-panel {
  border-radius: 6px !important;
  padding: 5px 4px !important;
  font-size: 13px !important;
}
.mat-autocomplete-panel .mat-option {
  height: 26px;
  line-height: 26px;
  margin: 0;
  padding: 0 8px !important;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 400;
}
.mat-autocomplete-panel.user-search-autocomplete {
  overflow-x: auto;
}
.mat-autocomplete-panel.user-search-autocomplete:has(.create-user-option) {
  padding: 0 0 5px !important;
  width: 296px !important;
  max-width: 296px !important;
}
.mat-autocomplete-panel.user-search-autocomplete:has(.create-user-option:last-child) {
  padding-bottom: 0 !important;
}
.mat-autocomplete-panel.user-search-autocomplete .mat-option {
  min-width: 100%;
  overflow: visible;
}
.mat-autocomplete-panel.user-search-autocomplete .mat-option-text {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 32px !important;
  line-height: 32px;
  border-radius: 0;
  color: #064ad9;
  font-weight: 500;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option .mat-option-text {
  display: flex;
  align-items: center;
  line-height: normal;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option .create-user-inner {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option .mat-icon {
  font-size: 18px;
  width: 18px;
  height: 18px;
  line-height: 18px;
}
.mat-autocomplete-panel.user-search-autocomplete .create-user-option:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  border-bottom: 1px solid #E7E5E4;
}
.light-theme .mat-autocomplete-panel.user-search-autocomplete .create-user-option {
  background-color: #f9f8f7;
}
.dark-theme .mat-autocomplete-panel.user-search-autocomplete .create-user-option {
  color: #60a5fa;
  background-color: #202020;
}
.dark-theme .mat-autocomplete-panel.user-search-autocomplete .create-user-option::after {
  border-bottom-color: #3a3937;
}
.light-theme .mat-autocomplete-panel {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.light-theme .mat-autocomplete-panel .mat-option {
  color: #373734;
}
.light-theme .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-autocomplete-panel .mat-option.cdk-keyboard-focused {
  background-color: #e8e6e3 !important;
}
.dark-theme .mat-autocomplete-panel {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .mat-autocomplete-panel .mat-option {
  color: #c4c2bd;
}
.dark-theme .mat-autocomplete-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-autocomplete-panel .mat-option.cdk-keyboard-focused {
  background-color: #34332f !important;
}
.light-theme .mat-select-panel.my-select-status-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-select-panel.my-select-status-panel .mat-option.cdk-keyboard-focused,
.light-theme .mat-select-panel.my-select-status-panel .mat-option.mat-selected {
  background-color: #d8d5cf !important;
}
.dark-theme .mat-select-panel.my-select-status-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-select-panel.my-select-status-panel .mat-option.cdk-keyboard-focused,
.dark-theme .mat-select-panel.my-select-status-panel .mat-option.mat-selected {
  background-color: #474540 !important;
}
.status-chip-filter {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px;
  width: 96px !important;
  min-width: 0 !important;
  max-width: 96px !important;
  height: 22px !important;
  padding: 0 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: inset 1px 1px 0.75px rgba(255, 255, 255, 0.75), inset -1px -1px 0.75px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.55) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  flex-shrink: 0;
  display: inline-block !important;
  text-align: center !important;
}
.status-chip-filter.pending {
  background-color: #e5e5e5 !important;
  color: #434343 !important;
}
.status-chip-filter.pending .mat-icon, .status-chip-filter.pending .icon {
  color: #6b6b6b !important;
}
.status-chip-filter.active {
  background-color: #FFFF55 !important;
  color: #434343 !important;
}
.status-chip-filter.active .mat-icon, .status-chip-filter.active .icon {
  color: #1f3a93 !important;
}
.status-chip-filter.accepted {
  background-color: #99FF99 !important;
  color: #434343 !important;
}
.status-chip-filter.accepted .mat-icon, .status-chip-filter.accepted .icon {
  color: #1c7530 !important;
}
.status-chip-filter.rejected {
  background-color: #ffbdbd !important;
  color: #434343 !important;
}
.status-chip-filter.rejected .mat-icon, .status-chip-filter.rejected .icon {
  color: #b3261e !important;
}
.status-chip-filter.withdrawn {
  background-color: #DDDDDD !important;
  color: #434343 !important;
}
.status-chip-filter.withdrawn .mat-icon, .status-chip-filter.withdrawn .icon {
  color: #808080 !important;
}
.status-chip-filter .scf-body {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 100%;
  vertical-align: middle;
}
.status-chip-filter .icon {
  font-size: 13px !important;
  width: 13px !important;
  height: 13px !important;
  line-height: 13px !important;
  font-variation-settings: "wght" 400, "FILL" 1 !important;
  flex-shrink: 0;
  margin: 0 !important;
}
.status-chip-filter .label {
  line-height: 1;
}
app-select-input.filter-styled:has(.status-chip-trigger) .mat-form-field-flex,
app-select-input.filter-styled:has(.status-chip-trigger) .mat-select-value,
app-select-input.filter-styled:has(.status-chip-trigger) .mat-select-value-text {
  overflow: visible;
}
.mat-select-panel.status-chip-select-panel {
  min-width: 0 !important;
  width: -webkit-max-content !important;
  width: -moz-max-content !important;
  width: max-content !important;
  padding: 7px 4px !important;
}
.mat-select-panel.status-chip-select-panel .status-chip-filter {
  position: relative;
  top: -2px;
}
.mat-select-panel.status-chip-select-panel .mat-option {
  width: auto;
  margin-bottom: 4px;
  overflow: visible;
}
.mat-select-panel.status-chip-select-panel .mat-option:last-child {
  margin-bottom: 0;
}
.mat-select-panel.status-chip-select-panel .mat-option-text {
  overflow: visible;
}
.mat-select-panel.status-chip-select-panel .mat-option-ripple {
  display: none !important;
}
.light-theme .mat-select-panel.status-chip-select-panel .mat-option:hover:not(.mat-option-disabled),
.light-theme .mat-select-panel.status-chip-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #d8d5cf !important;
}
.light-theme .mat-select-panel.status-chip-select-panel .mat-option.mat-active:not(:hover):not(.cdk-keyboard-focused) {
  background: transparent !important;
}
.dark-theme .mat-select-panel.status-chip-select-panel .mat-option:hover:not(.mat-option-disabled),
.dark-theme .mat-select-panel.status-chip-select-panel .mat-option.cdk-keyboard-focused {
  background-color: #474540 !important;
}
.dark-theme .mat-select-panel.status-chip-select-panel .mat-option.mat-active:not(:hover):not(.cdk-keyboard-focused) {
  background: transparent !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button),
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item:hover:not([disabled]):not(.highlight-button) .layout-icon {
  color: #f2f1ee !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme .mat-menu-item.highlight-button,
.dark-theme .mat-menu-panel.tpc-user-menu .container-layout .mat-menu-item.highlight-button,
.dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact .mat-menu-item.highlight-button {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
/* app-event-wizard */
.light-theme app-event-wizard .task-text {
  color: #373734;
}
.dark-theme app-event-wizard .task-text {
  color: #c4c2bd;
}
.light-theme .section + .section {
  border-top-color: #E7E5E4;
}
.dark-theme .section + .section {
  border-top-color: #3a3937;
}
.light-theme .section + .row-md {
  border-top-color: #E7E5E4;
}
.dark-theme .section + .row-md {
  border-top-color: #3a3937;
}
.light-theme .row-md + .section {
  border-top-color: #E7E5E4;
}
.dark-theme .row-md + .section {
  border-top-color: #3a3937;
}
.light-theme .review-settings .dependent-option::before {
  background-color: #E7E5E4;
}
.dark-theme .review-settings .dependent-option::before {
  background-color: #3a3937;
}
.light-theme app-floating-submit-bar .submit-actions.away-from-home {
  background-color: white;
}
.dark-theme app-floating-submit-bar .submit-actions.away-from-home {
  background-color: black;
}
.light-theme app-floating-submit-bar .submit-actions.away-from-home {
  border-color: #E7E5E4;
}
.dark-theme app-floating-submit-bar .submit-actions.away-from-home {
  border-color: #3a3937;
}
.light-theme app-floating-submit-bar .submit-actions.away-from-home {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.dark-theme app-floating-submit-bar .submit-actions.away-from-home {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}
.light-theme .confirmation-dialog .dialog-icon-wrap {
  background-color: #FAFAF9;
}
.dark-theme .confirmation-dialog .dialog-icon-wrap {
  background-color: #44403C;
}
.light-theme .confirmation-dialog .dialog-icon-question {
  color: #44403C;
}
.dark-theme .confirmation-dialog .dialog-icon-question {
  color: #E7E5E4;
}
.light-theme .confirmation-dialog .dialog-icon-warning {
  color: #B45309;
}
.dark-theme .confirmation-dialog .dialog-icon-warning {
  color: #FCD34D;
}
.light-theme .confirmation-dialog .dialog-icon-success {
  color: #15803D;
}
.dark-theme .confirmation-dialog .dialog-icon-success {
  color: #4ADE80;
}
.light-theme .confirmation-dialog .dialog-title {
  color: #363636;
}
.dark-theme .confirmation-dialog .dialog-title {
  color: #F6F6F6;
}
.light-theme .confirmation-dialog .dialog-content {
  color: #373734;
}
.dark-theme .confirmation-dialog .dialog-content {
  color: #c4c2bd;
}
/* mat-card */
.light-theme mat-card mat-card-title {
  color: #434343;
}
.dark-theme mat-card mat-card-title {
  color: #ffffff;
}
.light-theme mat-card.base-card {
  background-color: #f9f8f7;
}
.dark-theme mat-card.base-card {
  background-color: #202020;
}
.light-theme mat-card.base-card {
  border: 1px solid #E7E5E4;
}
.dark-theme mat-card.base-card {
  border: 1px solid #3a3937;
}
.light-theme mat-card.base-card {
  color: #262626;
}
.dark-theme mat-card.base-card {
  color: #ededed;
}
.light-theme mat-card.event {
  background-color: #f9f8f7;
}
.dark-theme mat-card.event {
  background-color: #202020;
}
.light-theme mat-card.event {
  border: 1px solid #E7E5E4;
}
.dark-theme mat-card.event {
  border: 1px solid #3a3937;
}
.light-theme mat-card.event .event-parent span {
  color: #363636;
}
.dark-theme mat-card.event .event-parent span {
  color: #F6F6F6;
}
.light-theme mat-card.event .event-parent a {
  color: #363636;
}
.dark-theme mat-card.event .event-parent a {
  color: #F6F6F6;
}
.light-theme mat-card.event:hover {
  border: 1px solid #E7E5E4;
}
.dark-theme mat-card.event:hover {
  border: 1px solid #3a3937;
}
.light-theme mat-card.event:not([class*=mat-elevation-z]) {
  box-shadow: none;
}
.dark-theme mat-card.event:not([class*=mat-elevation-z]) {
  box-shadow: none;
}
.light-theme .mat-card-header {
  background-color: #ededed;
}
.dark-theme .mat-card-header {
  background-color: #262626;
}
.light-theme .mat-card-header {
  color: #434343;
}
.dark-theme .mat-card-header {
  color: #D6D6D6;
}
.light-theme mat-card.admin-event {
  background-color: #f9f8f7;
}
.dark-theme mat-card.admin-event {
  background-color: #202020;
}
.light-theme mat-card.admin-event {
  border-color: #E7E5E4;
}
.dark-theme mat-card.admin-event {
  border-color: #3a3937;
}
.light-theme mat-card.admin-event {
  color: #373734;
}
.dark-theme mat-card.admin-event {
  color: #c4c2bd;
}
/* app-tracks */
.light-theme app-tracks .tracks-card mat-card.track {
  background-color: #f9f8f7;
}
.dark-theme app-tracks .tracks-card mat-card.track {
  background-color: #202020;
}
.light-theme app-tracks .tracks-card mat-card.track {
  border: 1px solid #E7E5E4;
}
.dark-theme app-tracks .tracks-card mat-card.track {
  border: 1px solid #3a3937;
}
.light-theme app-tracks .tracks-card mat-card.track .mat-card-title {
  color: #030303;
}
.dark-theme app-tracks .tracks-card mat-card.track .mat-card-title {
  color: #ffffff;
}
/* app-sidebar-item */
.light-theme app-sidebar-item .list-item.button-events .mat-icon {
  color: #088838;
}
.dark-theme app-sidebar-item .list-item.button-events .mat-icon {
  color: #2DD4BF;
}
.light-theme app-sidebar-item .list-item.button-my-submissions .mat-icon {
  color: #064ad9;
}
.dark-theme app-sidebar-item .list-item.button-my-submissions .mat-icon {
  color: #60a5fa;
}
.light-theme app-sidebar-item .list-item.button-my-reviews .mat-icon {
  color: #F59E0B;
}
.dark-theme app-sidebar-item .list-item.button-my-reviews .mat-icon {
  color: #FCD34D;
}
.light-theme app-sidebar-item .list-item.button-tpcs .mat-icon {
  color: #DC2626;
}
.dark-theme app-sidebar-item .list-item.button-tpcs .mat-icon {
  color: #FF1A1A;
}
.light-theme app-sidebar-item .list-item.button-chairings .mat-icon {
  color: #7708AF;
}
.dark-theme app-sidebar-item .list-item.button-chairings .mat-icon {
  color: #BC5DDF;
}
.light-theme app-sidebar-item .list-item.button-session-chairings .mat-icon {
  color: #4F46E5;
}
.dark-theme app-sidebar-item .list-item.button-session-chairings .mat-icon {
  color: #818CF8;
}
.light-theme app-sidebar-item .list-item.button-publication-chairings .mat-icon {
  color: #0891B2;
}
.dark-theme app-sidebar-item .list-item.button-publication-chairings .mat-icon {
  color: #67E8F9;
}
.light-theme app-sidebar-item .list-item.any-other-button .mat-icon {
  color: #434343;
}
.dark-theme app-sidebar-item .list-item.any-other-button .mat-icon {
  color: #2DD4BF;
}
.light-theme app-sidebar-item .list-item.button-events.selected::after {
  background-color: #088838;
}
.dark-theme app-sidebar-item .list-item.button-events.selected::after {
  background-color: #2DD4BF;
}
.light-theme app-sidebar-item .list-item.button-my-submissions.selected::after {
  background-color: #064ad9;
}
.dark-theme app-sidebar-item .list-item.button-my-submissions.selected::after {
  background-color: #60a5fa;
}
.light-theme app-sidebar-item .list-item.button-my-reviews.selected::after {
  background-color: #F59E0B;
}
.dark-theme app-sidebar-item .list-item.button-my-reviews.selected::after {
  background-color: #FCD34D;
}
.light-theme app-sidebar-item .list-item.button-tpcs.selected::after {
  background-color: #DC2626;
}
.dark-theme app-sidebar-item .list-item.button-tpcs.selected::after {
  background-color: #FF1A1A;
}
.light-theme app-sidebar-item .list-item.button-chairings.selected::after {
  background-color: #7708AF;
}
.dark-theme app-sidebar-item .list-item.button-chairings.selected::after {
  background-color: #BC5DDF;
}
.light-theme app-sidebar-item .list-item.button-session-chairings.selected::after {
  background-color: #4F46E5;
}
.dark-theme app-sidebar-item .list-item.button-session-chairings.selected::after {
  background-color: #818CF8;
}
.light-theme app-sidebar-item .list-item.button-publication-chairings.selected::after {
  background-color: #0891B2;
}
.dark-theme app-sidebar-item .list-item.button-publication-chairings.selected::after {
  background-color: #67E8F9;
}
.light-theme app-sidebar-item .label-full {
  color: #373734;
}
.dark-theme app-sidebar-item .label-full {
  color: #c4c2bd;
}
.light-theme app-sidebar-item .jems-toolbar-button:hover .label-full {
  color: #000;
}
.dark-theme app-sidebar-item .jems-toolbar-button:hover .label-full {
  color: #f2f1ee;
}
.light-theme app-sidebar-item .jems-toolbar-button.selected .label-full {
  color: #000;
}
.dark-theme app-sidebar-item .jems-toolbar-button.selected .label-full {
  color: #f2f1ee;
}
.light-theme app-navbar .navbar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-navbar .navbar {
  border-bottom-color: #3a3937;
}
.light-theme app-navbar .navbar {
  border-top-color: #E7E5E4;
}
.dark-theme app-navbar .navbar {
  border-top-color: #3a3937;
}
.light-theme app-navbar .navbar {
  background-color: #f9f8f7 !important;
}
.dark-theme app-navbar .navbar {
  background-color: #202020 !important;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  background-color: #ffffff !important;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  background-color: #2e2e2e !important;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  border-color: #D6D3D1 !important;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  border-color: #5a5651 !important;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
.sidebar-item.jems-toolbar-button {
  transition: background-color 260ms cubic-bezier(0.4, 0, 0.2, 1), border-color 260ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 260ms cubic-bezier(0.4, 0, 0.2, 1);
}
.light-theme .sidebar-item.jems-toolbar-button:not(.selected):hover {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button:not(.selected):hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
.dark-theme .sidebar-item.jems-toolbar-button:not(.selected):hover {
  background-color: #34332f !important;
}
.light-theme .sidebar-item.jems-toolbar-button:active {
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3);
}
.dark-theme .sidebar-item.jems-toolbar-button:active {
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7) !important;
}
.light-theme .sidebar-item.jems-toolbar-button {
  color: #373734;
}
.dark-theme .sidebar-item.jems-toolbar-button {
  color: #c4c2bd;
}
.light-theme .sidebar-item.jems-toolbar-button:hover {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button:hover {
  color: #f2f1ee;
}
.light-theme .sidebar-item.jems-toolbar-button.selected {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected {
  color: #f2f1ee;
}
.light-theme .sidebar-item .label-short {
  color: #373734;
}
.dark-theme .sidebar-item .label-short {
  color: #c4c2bd;
}
.light-theme .sidebar-item.jems-toolbar-button:hover .label-short {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button:hover .label-short {
  color: #f2f1ee;
}
.light-theme .sidebar-item.jems-toolbar-button.selected .label-short {
  color: #000;
}
.dark-theme .sidebar-item.jems-toolbar-button.selected .label-short {
  color: #f2f1ee;
}
/* app-sidebar-item-admin */
.light-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  color: #1C1917;
}
.dark-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  color: #D6D6D6;
}
.light-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: #f0efed;
}
.dark-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: #363432;
}
.light-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: #e9e8e6;
}
.dark-theme app-sidebar-item-admin .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: #42403c;
}
/* Activity bar overrides — in this layout the bg highlight lives on the button
   (40×40 square), not on the mat-icon. Zero out the legacy .mat-icon bg from
   the rules above and apply matching hover/selected bg to the button itself. */
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: transparent;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover .mat-icon {
  background-color: transparent;
}
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: transparent;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button.selected:not(:hover) .mat-icon {
  background-color: transparent;
}
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin .jems-chair-toolbar-button:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin.selected .jems-chair-toolbar-button {
  background-color: #e9e8e6;
}
.dark-theme app-admin-event-sidebar .activity-bar .sidebar-item-admin.selected .jems-chair-toolbar-button {
  background-color: #3a3936;
}
/* app-event */
.light-theme app-event .name a {
  color: #434343;
}
.dark-theme app-event .name a {
  color: #bbbbbb;
}
.light-theme app-event .sub-event .label {
  color: #434343;
}
.dark-theme app-event .sub-event .label {
  color: #ffffff;
}
/* app-event-view */
.light-theme app-event-view .event.card .information .name {
  color: #434343;
}
.dark-theme app-event-view .event.card .information .name {
  color: #bbbbbb;
}
.light-theme app-event-view .event.card .information .sub-event .name a {
  color: #434343;
}
.dark-theme app-event-view .event.card .information .sub-event .name a {
  color: #bbbbbb;
}
.light-theme app-event-view .event.card .information .label {
  color: #434343;
}
.dark-theme app-event-view .event.card .information .label {
  color: #ffffff;
}
/* app-event-user-view */
.light-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  color: #030303;
}
.dark-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  color: #ffffff;
}
.light-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  background-color: #ffffff;
}
.dark-theme app-event-user-view .event-user-view mat-card .mat-card-header {
  background-color: #030303;
}
/* app-user-search */
.light-theme app-user-search .user-search .user-box {
  background-color: white;
}
.dark-theme app-user-search .user-search .user-box {
  background-color: black;
}
/* app-topics */
.light-theme app-topics .topics .mat-chip {
  background-color: #ededed;
}
.dark-theme app-topics .topics .mat-chip {
  background-color: #262626;
}
.light-theme app-topics .topics .mat-chip {
  color: #363636;
}
.dark-theme app-topics .topics .mat-chip {
  color: #F6F6F6;
}
/* app-event-topics */
.light-theme app-event-topics .event-topics .subtitle {
  color: #434343;
}
.dark-theme app-event-topics .event-topics .subtitle {
  color: #D6D6D6;
}
/* app-user-event-topics */
.light-theme app-user-event-topics .event-topics .topics-table .row-highlight {
  background-color: #e3e5eb;
}
.dark-theme app-user-event-topics .event-topics .topics-table .row-highlight {
  background-color: #262626;
}
/* app-event-send-email */
.light-theme app-event-send-email .event-send-email mat-card-content {
  background-color: #ededed;
}
.dark-theme app-event-send-email .event-send-email mat-card-content {
  background-color: #262626;
}
.light-theme app-event-send-email .event-send-email mat-card-content {
  color: #363636;
}
.dark-theme app-event-send-email .event-send-email mat-card-content {
  color: #F6F6F6;
}
/* app-event-settings-email — bloco de tabela REMOVIDO (auditoria): a tabela
   migrou pro `.jems3-table jems3-table-hover`, que seta background/color com
   `!important`; estas 3 regras (sem !important) viviam mortas/overridden. O chrome
   da tabela vem 100% do `.jems3-table` global. */
/* app-navbar */
.light-theme app-navbar .logo img {
  -webkit-filter: "";
}
.dark-theme app-navbar .logo img {
  -webkit-filter: grayscale(1) invert(1);
}
.light-theme app-navbar .logo img {
  filter: "";
}
.dark-theme app-navbar .logo img {
  filter: grayscale(1) invert(1);
}
.light-theme app-navbar .navbar {
  box-shadow: "";
}
.dark-theme app-navbar .navbar {
  box-shadow: 0px 2px 9px rgba(0, 0, 0, 0.5);
}
/* app-avatar-profile */
.light-theme .mat-menu-panel {
  background-color: #F6F6F6;
}
.dark-theme .mat-menu-panel {
  background-color: #383838;
}
.light-theme .experimental-flyout {
  background-color: #f9f8f7 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32));
}
.light-theme .experimental-flyout::before {
  border-right-color: #E7E5E4 !important;
}
.light-theme .experimental-flyout::after {
  border-right-color: #f9f8f7 !important;
}
.light-theme .experimental-flyout .experimental-flyout-item {
  color: #373734 !important;
}
.light-theme .experimental-flyout .experimental-flyout-item:hover {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.light-theme .experimental-flyout .experimental-flyout-item.active {
  background-color: #e8e6e3 !important;
  color: #000 !important;
}
.light-theme .experimental-flyout .experimental-flyout-title {
  background-color: #f0efed;
  color: #000;
  border-color: #E7E5E4;
}
.dark-theme .experimental-flyout {
  background-color: #202020 !important;
  box-shadow: 0 0 0 1px #3a3937 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7));
}
.dark-theme .experimental-flyout::before {
  border-right-color: #3a3937 !important;
}
.dark-theme .experimental-flyout::after {
  border-right-color: #202020 !important;
}
.dark-theme .experimental-flyout .experimental-flyout-item {
  color: #c4c2bd !important;
}
.dark-theme .experimental-flyout .experimental-flyout-item:hover {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.dark-theme .experimental-flyout .experimental-flyout-item.active {
  background-color: #34332f !important;
  color: #f2f1ee !important;
}
.dark-theme .experimental-flyout .experimental-flyout-title {
  background-color: #34332f;
  color: #f2f1ee;
  border-color: #3a3937;
}
.light-theme .mat-menu-panel {
  box-shadow: "";
}
.dark-theme .mat-menu-panel {
  box-shadow: 0px 2px 10px 1px black;
}
.light-theme .mat-menu-content .mat-menu-item .mat-icon, .light-theme .mat-menu-item {
  color: #434343;
}
.dark-theme .mat-menu-content .mat-menu-item .mat-icon, .dark-theme .mat-menu-item {
  color: #D6D6D6;
}
.light-theme button.mat-menu-item:hover:not([disabled]) {
  background-color: #064ad9;
}
.dark-theme button.mat-menu-item:hover:not([disabled]) {
  background-color: #60a5fa;
}
.light-theme button.mat-menu-item:hover {
  color: white;
}
.dark-theme button.mat-menu-item:hover {
  color: white;
}
.light-theme button.mat-menu-item:hover .mat-icon {
  color: white;
}
.dark-theme button.mat-menu-item:hover .mat-icon {
  color: white;
}
.light-theme .mat-menu-content .container-theme .highlight-button, .light-theme .mat-menu-content .container-layout .highlight-button, .light-theme .mat-menu-content .container-language-compact .highlight-button {
  background-color: #e0e0e0;
}
.dark-theme .mat-menu-content .container-theme .highlight-button, .dark-theme .mat-menu-content .container-layout .highlight-button, .dark-theme .mat-menu-content .container-language-compact .highlight-button {
  background-color: rgba(255, 255, 255, 0.15);
}
/* app-fixed-top-progress-bar */
.light-theme app-fixed-top-progress-bar .fixed-top-progress-bar.active {
  background-color: #F6F6F6;
}
.dark-theme app-fixed-top-progress-bar .fixed-top-progress-bar.active {
  background-color: #262626;
}
/* app-home */
.light-theme app-home .home {
  background-color: white;
}
.dark-theme app-home .home {
  background-color: black;
}
.light-theme app-home .home {
  color: black;
}
.dark-theme app-home .home {
  color: white;
}
.light-theme app-home .home .page-content {
  background-color: white;
}
.dark-theme app-home .home .page-content {
  background-color: black;
}
/* app-paper-info */
.light-theme app-paper-info .paper-info a {
  color: #363636;
}
.dark-theme app-paper-info .paper-info a {
  color: #F6F6F6;
}
/* app-dialog-timezone */
.light-theme .timeZonePanel table thead tr th {
  background-color: #ededed;
}
.dark-theme .timeZonePanel table thead tr th {
  background-color: #262626;
}
.light-theme .timeZonePanel table thead tr th {
  border-bottom-color: #ededed;
}
.dark-theme .timeZonePanel table thead tr th {
  border-bottom-color: #262626;
}
.light-theme .timeZonePanel table thead tr th:first-child {
  border-right-color: #ffffff;
}
.dark-theme .timeZonePanel table thead tr th:first-child {
  border-right-color: #030303;
}
.light-theme .timeZonePanel table tbody tr td {
  background-color: #ffffff;
}
.dark-theme .timeZonePanel table tbody tr td {
  background-color: #181818;
}
.light-theme .timeZonePanel table tbody tr td {
  border-color: #ededed;
}
.dark-theme .timeZonePanel table tbody tr td {
  border-color: #262626;
}
.light-theme .timeZonePanel table tbody tr td:first-child {
  border-right-color: #ededed;
}
.dark-theme .timeZonePanel table tbody tr td:first-child {
  border-right-color: #262626;
}
.light-theme .timeZonePanel table tbody tr:hover td {
  background-color: #ededed;
}
.dark-theme .timeZonePanel table tbody tr:hover td {
  background-color: #262626;
}
.light-theme .timeZonePanel table tbody tr:hover td {
  border-right-color: #ffffff;
}
.dark-theme .timeZonePanel table tbody tr:hover td {
  border-right-color: #030303;
}
/* app-landing */
.light-theme app-landing .landing .content-container {
  background-color: #ededed;
}
.dark-theme app-landing .landing .content-container {
  background-color: #262626;
}
.light-theme app-landing .landing .content-container .logo.image {
  filter: "";
}
.dark-theme app-landing .landing .content-container .logo.image {
  filter: invert(1);
}
.light-theme app-landing .landing .content-container i {
  color: #363636;
}
.dark-theme app-landing .landing .content-container i {
  color: #F6F6F6;
}
.light-theme app-landing .landing .language-container {
  color: #363636;
}
.dark-theme app-landing .landing .language-container {
  color: #F6F6F6;
}
.light-theme app-landing .landing .language-container {
  background-color: #ededed;
}
.dark-theme app-landing .landing .language-container {
  background-color: #262626;
}
/* app-events */
.light-theme app-events .events .main-title i {
  color: #088838;
}
.dark-theme app-events .events .main-title i {
  color: #2DD4BF;
}
/* app-submissions */
.light-theme app-submissions .submissions .main-title i {
  color: #064ad9;
}
.dark-theme app-submissions .submissions .main-title i {
  color: #60a5fa;
}
/* app-reviews */
.light-theme app-reviews .reviews .main-title i {
  color: #F59E0B;
}
.dark-theme app-reviews .reviews .main-title i {
  color: #FCD34D;
}
/* app-paper-review-list */
.light-theme app-paper-review-list .paper-review-list .table-container .table .review td {
  border-color: white;
}
.dark-theme app-paper-review-list .paper-review-list .table-container .table .review td {
  border-color: black;
}
/* app-committees */
.light-theme app-committees .committees .main-title i {
  color: #DC2626;
}
.dark-theme app-committees .committees .main-title i {
  color: #FF1A1A;
}
/* app-my-events */
.light-theme app-my-events .myevents .main-title i {
  color: #7708AF;
}
.dark-theme app-my-events .myevents .main-title i {
  color: #BC5DDF;
}
/* app-session-chairings */
.light-theme app-session-chairings .session-chairings .main-title i {
  color: #4F46E5;
}
.dark-theme app-session-chairings .session-chairings .main-title i {
  color: #818CF8;
}
/* app-publication-chairings */
.light-theme app-publication-chairings .publication-chairings .main-title i {
  color: #0891B2;
}
.dark-theme app-publication-chairings .publication-chairings .main-title i {
  color: #67E8F9;
}
/* app-submissions-list-table (ANTIGO) — bloco de tabela REMOVIDO (auditoria):
   o componente é DEAD CODE (0 usos em template; substituído pelo `-v2`), então este
   sistema de borda (border-right white/black + frame de hover `!important`) nunca
   renderizava. NOTA: o arquivo `.ts` continua existindo só pelo export `Collection`
   usado em `show-all-submissions` — refactor futuro: extrair `Collection` p/ um tipo
   compartilhado e então apagar o componente + sua declaração no app.module. */
/* app-submissions-list-table-v2 */
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .scroll-fade-left {
  background: linear-gradient(to right, white 40%, rgba(255, 255, 255, 0));
}
.dark-theme app-submissions-list-table-v2 .mat-card .scroll-fade-left {
  background: linear-gradient(to right, black 40%, rgba(0, 0, 0, 0));
}
.light-theme app-submissions-list-table-v2 .mat-card .scroll-fade-right {
  background-image: linear-gradient(to left, white 40%, rgba(255, 255, 255, 0));
}
.dark-theme app-submissions-list-table-v2 .mat-card .scroll-fade-right {
  background-image: linear-gradient(to left, black 40%, rgba(0, 0, 0, 0));
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  background: linear-gradient(to bottom, white, rgba(255, 255, 255, 0.5));
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  background: linear-gradient(to bottom, black, rgba(0, 0, 0, 0.5));
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  color: #0000008A;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th.mat-header-cell {
  color: #FFFFFFB3;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:first-child {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:first-child {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:last-child {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td:last-child {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell:not(.last-column)::before {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell:not(.last-column)::before {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell:not(:first-child):not(:last-child)::after,
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell:not(:first-child):not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.first-column:not(:first-child)::after,
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-left-color: rgba(0, 0, 0, 0.25);
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.last-column:not(:last-child)::after,
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.last-column:not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell:not(:first-child):not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell:not(:first-child):not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.first-column:not(:first-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-left-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:hover td.mat-cell.last-column:not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.hovered td.mat-cell.last-column:not(:last-child)::after {
  border-top-color: rgba(0, 0, 0, 0.25);
  border-bottom-color: rgba(0, 0, 0, 0.25);
  border-right-color: rgba(0, 0, 0, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell:not(:first-child):not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell:not(:first-child):not(:last-child)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell.first-column:not(:first-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
  border-left-color: rgba(255, 255, 255, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell.last-column:not(:last-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell.last-column:not(:last-child)::after {
  border-top-color: rgba(255, 255, 255, 0.25);
  border-bottom-color: rgba(255, 255, 255, 0.25);
  border-right-color: rgba(255, 255, 255, 0.25);
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color:hover td.mat-cell.first-column:not(:first-child)::after,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color.hovered td.mat-cell.first-column:not(:first-child)::after {
  border-left-color: rgba(0, 0, 0, 0.4);
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td span.subtitle-text {
  color: #363636;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td span.subtitle-text {
  color: #F6F6F6;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell {
  color: #373734;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.mat-cell {
  color: #c4c2bd;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.position {
  color: #0000008A;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.position {
  color: #FFFFFFB3;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th .mark-all-button {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table th .mark-all-button {
  background-color: black;
}
.light-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.select button {
  background-color: white;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table td.select button {
  background-color: black;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) {
  color: #373734;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) span.subtitle-text {
  color: #363636;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) .title {
  color: #363636;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) a, .dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) .fa-file-pdf, .dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) .fa-upload {
  color: #064ad9 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill--missing,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill-name,
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill-icon-missing {
  color: #373734 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr:not(.no-status-color) td.mat-cell:not(:first-child):not(:last-child) app-file-pill .file-pill-icon {
  color: #064ad9 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.paperBackground:not(.no-status-color) td.mat-cell.description:not(:first-child):not(:last-child) a span {
  color: #064ad9 !important;
}
.dark-theme app-submissions-list-table-v2 .mat-card .submission-table.mat-table tr.no-status-color td.mat-cell app-file-pill .file-pill-icon {
  color: #60a5fa !important;
}
/* app-submissions-field-filter-v2 */
.light-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  background-color: #f9f8f7;
}
.dark-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  background-color: #202020;
}
.light-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  border-color: #E7E5E4;
}
.dark-theme app-submissions-field-filter-v2 .submissions-fields-filter-table-V2 .mat-expansion-panel {
  border-color: #3a3937;
}
/* app-submissions-list-filter */
.light-theme app-submissions-list-filter .submissions-list-filter .fields {
  background-color: "";
}
.dark-theme app-submissions-list-filter .submissions-list-filter .fields {
  background-color: rgba(0, 0, 0, 0.75);
}
/* app-file-rules-card */
.light-theme app-file-rules-card .file-card .top-file-card {
  background-color: #EEECEB;
}
.dark-theme app-file-rules-card .file-card .top-file-card {
  background-color: #303030;
}
.light-theme app-file-rules-card .file-card .uploading {
  background-color: #064ad9;
}
.dark-theme app-file-rules-card .file-card .uploading {
  background-color: #60a5fa;
}
.light-theme app-file-rules-card .file-card .notUploading {
  background-color: white;
}
.dark-theme app-file-rules-card .file-card .notUploading {
  background-color: black;
}
.light-theme app-file-rules-card .file-card .detail-columns .due-date {
  background-color: #EEECEB;
}
.dark-theme app-file-rules-card .file-card .detail-columns .due-date {
  background-color: #303030;
}
.light-theme app-file-rules-card .file-card .detail-columns .due-date {
  color: #78716C;
}
.dark-theme app-file-rules-card .file-card .detail-columns .due-date {
  color: #c4c2bd;
}
.light-theme app-file-rules-card .file-card .detail-columns .due-date app-dialog-timezone .mat-icon {
  color: #78716C;
}
.dark-theme app-file-rules-card .file-card .detail-columns .due-date app-dialog-timezone .mat-icon {
  color: #c4c2bd;
}
.light-theme app-file-rules-card .file-card .info-column .file-required {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .info-column .file-required {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .file-card .detail-columns .disabled .mat-icon {
  color: #999999;
}
.dark-theme app-file-rules-card .file-card .detail-columns .disabled .mat-icon {
  color: #666666;
}
.light-theme app-file-rules-card .file-card .detail-columns .download-column .button-download-file:not(.disabled) .file-type-icon {
  color: #064ad9;
}
.dark-theme app-file-rules-card .file-card .detail-columns .download-column .button-download-file:not(.disabled) .file-type-icon {
  color: #60a5fa;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-info .mat-icon {
  color: #064ad9;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-info .mat-icon {
  color: #60a5fa;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-delete-file:not(.disabled) .mat-icon {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-delete-file:not(.disabled) .mat-icon {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-uses-sbc-template .mat-icon {
  color: #2e9e44;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-uses-sbc-template .mat-icon {
  color: #66BB6A;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-not-uses-sbc-template .mat-icon {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .button-rule-not-uses-sbc-template .mat-icon {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .file-card .detail-columns .info-column .file-error {
  color: #e91414;
}
.dark-theme app-file-rules-card .file-card .detail-columns .info-column .file-error {
  color: #FF6B6B;
}
.light-theme app-file-rules-card .download-bar {
  background-color: #ededed;
}
.dark-theme app-file-rules-card .download-bar {
  background-color: #262626;
}
.light-theme app-file-upload .success-icon {
  color: #2e9e44;
}
.dark-theme app-file-upload .success-icon {
  color: #66BB6A;
}
/* app-file-upload */
.light-theme app-file-upload .file-upload .file-upload-icon .mat-icon {
  color: #064ad9;
}
.dark-theme app-file-upload .file-upload .file-upload-icon .mat-icon {
  color: #60a5fa;
}
.light-theme app-file-upload .file-upload .file-upload-icon-disabled .mat-icon {
  color: #999999;
}
.dark-theme app-file-upload .file-upload .file-upload-icon-disabled .mat-icon {
  color: #666666;
}
/* app-custom-form-text-question */
.light-theme app-custom-form-text-question .custom-text-question textarea {
  background-color: #ffffff;
}
.dark-theme app-custom-form-text-question .custom-text-question textarea {
  background-color: #030303;
}
/* app-export-submissions */
.light-theme app-export-submissions .export-submissions .section .name a {
  color: #363636;
}
.dark-theme app-export-submissions .export-submissions .section .name a {
  color: #F6F6F6;
}
/* app-event-publication */
.light-theme app-event-publication .publication-controls .mat-card {
  background-color: white;
}
.dark-theme app-event-publication .publication-controls .mat-card {
  background-color: black;
}
/* app-publication-fixed-control */
.light-theme app-publication-fixed-control .fixed-control .mat-card table {
  background-color: white;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table {
  background-color: black;
}
.light-theme app-publication-fixed-control .fixed-control .mat-card table td {
  border-right-color: white !important;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table td {
  border-right-color: black !important;
}
.light-theme app-publication-fixed-control .fixed-control .mat-card table th {
  border-right-color: white !important;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table th {
  border-right-color: black !important;
}
.light-theme app-publication-fixed-control .fixed-control .mat-card table th {
  color: lighten #363636, 60;
}
.dark-theme app-publication-fixed-control .fixed-control .mat-card table th {
  color: lightgray;
}
/* app-proceeding-step */
.light-theme app-proceeding-step .content .content-list h3, .light-theme app-proceeding-step .content .content-list .card-title, .light-theme app-proceeding-step .content .content-list .section .section-title, .section .light-theme app-proceeding-step .content .content-list .section-title {
  color: #363636;
}
.dark-theme app-proceeding-step .content .content-list h3, .dark-theme app-proceeding-step .content .content-list .card-title, .dark-theme app-proceeding-step .content .content-list .section .section-title, .section .dark-theme app-proceeding-step .content .content-list .section-title {
  color: #F6F6F6;
}
.light-theme app-proceeding-step .content .not-included {
  border: 1px solid black;
}
.dark-theme app-proceeding-step .content .not-included {
  border: 1px solid white;
}
.light-theme app-proceeding-step .content .included {
  border: 1px solid black;
}
.dark-theme app-proceeding-step .content .included {
  border: 1px solid white;
}
.light-theme app-proceeding-step .content .track {
  border: 1px solid black;
}
.dark-theme app-proceeding-step .content .track {
  border: 1px solid white;
}
/* app-proceeding-index-item */
.light-theme app-proceeding-index-item .item .mat-expansion-panel {
  box-shadow: "";
}
.dark-theme app-proceeding-index-item .item .mat-expansion-panel {
  box-shadow: 0px 2px 10px 1px black;
}
/* app-proceeding-author-index-item */
.light-theme app-proceeding-author-index-item .item .mat-expansion-panel {
  box-shadow: "";
}
.dark-theme app-proceeding-author-index-item .item .mat-expansion-panel {
  box-shadow: 0px 2px 10px 1px black;
}
/* app-calendar-view */
.light-theme app-calendar-view .container-view-date {
  color: #363636;
}
.dark-theme app-calendar-view .container-view-date {
  color: #F6F6F6;
}
.light-theme app-calendar-view mwl-calendar-week-view {
  color: "";
}
.dark-theme app-calendar-view mwl-calendar-week-view {
  color: #F6F6F6;
}
.light-theme app-calendar-view .cal-day-headers {
  background-color: "";
}
.dark-theme app-calendar-view .cal-day-headers {
  background-color: #4d4d4d;
}
.light-theme app-calendar-view .cal-week-view, .light-theme .cal-time, .light-theme .cal-hour-segment {
  background-color: "";
}
.dark-theme app-calendar-view .cal-week-view, .dark-theme .cal-time, .dark-theme .cal-hour-segment {
  background-color: #262626;
}
.light-theme app-calendar-view .cal-week-view .cal-day-headers .cal-header:hover {
  background-color: rgba(0, 0, 0, 0.3);
}
.dark-theme app-calendar-view .cal-week-view .cal-day-headers .cal-header:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
.light-theme app-calendar-view .cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover {
  background-color: rgba(0, 0, 0, 0.3);
}
.dark-theme app-calendar-view .cal-week-view .cal-time-events .cal-day-columns:not(.cal-resize-active) .cal-hour-segment:hover {
  background-color: rgba(255, 255, 255, 0.3);
}
/* app-chip-checkbox */
.light-theme app-chip-checkbox .chip-checkbox label div:not(.checked) {
  color: "";
}
.dark-theme app-chip-checkbox .chip-checkbox label div:not(.checked) {
  color: #868686;
}
.light-theme app-chip-checkbox .chip-checkbox label .mat-icon:not(.checked) {
  color: "";
}
.dark-theme app-chip-checkbox .chip-checkbox label .mat-icon:not(.checked) {
  color: #868686;
}
/* app-dashboard-settings */
.light-theme app-dashboard-settings .dataset-menu {
  background-color: #ededed;
}
.dark-theme app-dashboard-settings .dataset-menu {
  background-color: #262626;
}
.light-theme app-dashboard-settings .dataset-menu .mat-icon {
  color: #064ad9;
}
.dark-theme app-dashboard-settings .dataset-menu .mat-icon {
  color: #60a5fa;
}
/* app-chart-component */
.light-theme app-chart-component .chart-container {
  background-color: #ededed;
}
.dark-theme app-chart-component .chart-container {
  background-color: #262626;
}
.light-theme app-chart-component .chart-container {
  border-color: #E7E5E4;
}
.dark-theme app-chart-component .chart-container {
  border-color: #3a3937;
}
.light-theme app-chart-component .chart-container .ct-axis-title {
  fill: #363636;
}
.dark-theme app-chart-component .chart-container .ct-axis-title {
  fill: #F6F6F6;
}
.light-theme app-chart-component .chart-container .ct-label {
  color: #363636;
}
.dark-theme app-chart-component .chart-container .ct-label {
  color: #F6F6F6;
}
.light-theme app-chart-component .chart-container .legend-title {
  color: #363636;
}
.dark-theme app-chart-component .chart-container .legend-title {
  color: #F6F6F6;
}
.light-theme app-chart-component .chart-container .ct-grid {
  stroke: #00000033;
}
.dark-theme app-chart-component .chart-container .ct-grid {
  stroke: #ffffff33;
}
.light-theme app-chart-component .ct-legend li {
  color: #363636;
}
.dark-theme app-chart-component .ct-legend li {
  color: #F6F6F6;
}
/* app-chart-component-v2 */
.light-theme app-chart-component-v2 .chart-container-v2 .chart text {
  fill: #363636;
}
.dark-theme app-chart-component-v2 .chart-container-v2 .chart text {
  fill: #F6F6F6;
}
.light-theme app-chart-component-v2 .chart-container-v2 .legend-label .legend-label-text {
  color: #363636;
}
.dark-theme app-chart-component-v2 .chart-container-v2 .legend-label .legend-label-text {
  color: #F6F6F6;
}
.light-theme app-chart-component-v2 .chart-v2 {
  background-color: #ededed;
}
.dark-theme app-chart-component-v2 .chart-v2 {
  background-color: #262626;
}
.light-theme app-chart-component-v2 .chart-legend {
  background-color: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend {
  background-color: transparent !important;
}
.light-theme app-chart-component-v2 .chart-legend {
  background: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend {
  background: transparent !important;
}
.light-theme app-chart-component-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.light-theme app-chart-component-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.dark-theme app-chart-component-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.light-theme app-chart-component-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
.dark-theme app-chart-component-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
/* app-math-captcha */
.light-theme app-math-captcha .container {
  color: #363636;
}
.dark-theme app-math-captcha .container {
  color: #F6F6F6;
}
.light-theme app-math-captcha #buttonInput {
  background-color: #064ad9;
}
.dark-theme app-math-captcha #buttonInput {
  background-color: #60a5fa;
}
.light-theme app-math-captcha .cls-1 {
  fill: #064ad9;
}
.dark-theme app-math-captcha .cls-1 {
  fill: #60a5fa;
}
/* app-proceeding-step */
.light-theme app-proceeding-step .sections-list .hyperlink {
  color: #064ad9;
}
.dark-theme app-proceeding-step .sections-list .hyperlink {
  color: #60a5fa;
}
.light-theme app-proceeding-step .sections-list .no-hyperlink {
  color: #434343 !important;
}
.dark-theme app-proceeding-step .sections-list .no-hyperlink {
  color: #D6D6D6 !important;
}
.light-theme app-proceeding-step .sections-list {
  border-color: #434343;
}
.dark-theme app-proceeding-step .sections-list {
  border-color: #D6D6D6;
}
/* app-custom-input */
.light-theme .custom-input {
  background-color: white;
}
.dark-theme .custom-input {
  background-color: black;
}
.light-theme .custom-input {
  border: 2px solid rgba(0, 0, 0, 0.25);
}
.dark-theme .custom-input {
  border: 2px solid rgba(255, 255, 255, 0.2);
}
.light-theme .custom-input {
  color: #363636;
}
.dark-theme .custom-input {
  color: #F6F6F6;
}
/* app-support-button */
.light-theme app-support-button .support-button {
  background-color: #ededed;
}
.dark-theme app-support-button .support-button {
  background-color: #262626;
}
.light-theme app-support-button .support-button .mat-icon {
  color: black;
}
.dark-theme app-support-button .support-button .mat-icon {
  color: white;
}
.light-theme app-support-button .support-card {
  background-color: #ededed;
}
.dark-theme app-support-button .support-card {
  background-color: #262626;
}
.light-theme app-support-button .support-card {
  color: black;
}
.dark-theme app-support-button .support-card {
  color: white;
}
.light-theme app-support-button .support-card .card-title {
  color: black;
}
.dark-theme app-support-button .support-card .card-title {
  color: white;
}
.light-theme app-support-button .support-card .card-header .mat-icon {
  color: black;
}
.dark-theme app-support-button .support-card .card-header .mat-icon {
  color: white;
}
/* app-event-setttings-email */
.light-theme app-event-settings-email .event-email mat-card-content {
  background-color: #ededed;
}
.dark-theme app-event-settings-email .event-email mat-card-content {
  background-color: #262626;
}
.light-theme app-support-button .support-card .card-header .mat-icon {
  color: black;
}
.dark-theme app-support-button .support-card .card-header .mat-icon {
  color: white;
}
/* app-user-notifications — regras antigas removidas. O painel agora é
   escopado no componente (user-notifications.component.scss). Referenciam
   estrutura antiga (`.notifications-container .table-container table`,
   `.options mat-icon.button`) que não existe mais. */
/* app-dashboard-chart-v2 */
.light-theme app-dashboard-chart-v2 .chart-container-v2 {
  background: #ededed;
}
.dark-theme app-dashboard-chart-v2 .chart-container-v2 {
  background: #262626;
}
.light-theme app-dashboard-chart-v2 .chart-legend {
  background: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend {
  background: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend {
  background-color: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend {
  background-color: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-labels {
  background-color: transparent !important;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .grid-panel rect {
  fill: transparent !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-label-text {
  color: #4d5258;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-label-text {
  color: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  color: #363636 !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  color: #F6F6F6 !important;
}
.light-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  fill: #363636 !important;
}
.dark-theme app-dashboard-chart-v2 .chart-legend .legend-label .active .legend-label-text {
  fill: #F6F6F6 !important;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .x.axis .label {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .x.axis .label {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .y.axis .label {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .y.axis .label {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts text[transform="rotate(270)"] {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts text[transform="rotate(270)"] {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .axis-label {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .axis-label {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .x.axis .tick text {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .x.axis .tick text {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts g[ngx-charts-axis-label] text {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts g[ngx-charts-axis-label] text {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .y.axis .tick text {
  fill: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .y.axis .tick text {
  fill: #F6F6F6;
}
.light-theme app-dashboard-chart-v2 .ngx-charts .gridline-path {
  stroke: #363636;
}
.dark-theme app-dashboard-chart-v2 .ngx-charts .gridline-path {
  stroke: #F6F6F6;
}
/* app-admin-event-view */
.light-theme app-admin-event-view .mat-tab-label.mat-tab-label-active > * {
  color: #363636;
}
.dark-theme app-admin-event-view .mat-tab-label.mat-tab-label-active > * {
  color: #F6F6F6;
}
/* app-dashboard-settings (tab labels) */
.light-theme app-dashboard-settings .mat-tab-label.mat-tab-label-active > * {
  color: #363636;
}
.dark-theme app-dashboard-settings .mat-tab-label.mat-tab-label-active > * {
  color: #F6F6F6;
}
/* app-user-notifications */
.light-theme .notifications-menu .notifications-container .table-container table tr {
  background-color: #ededed;
}
.dark-theme .notifications-menu .notifications-container .table-container table tr {
  background-color: #262626;
}
.light-theme .notifications-menu .options mat-icon {
  color: #363636;
}
.dark-theme .notifications-menu .options mat-icon {
  color: #F6F6F6;
}
/* app-assign-review-suggestion */
.light-theme app-assign-review-suggestion .table-weight th {
  background-color: transparent;
}
.dark-theme app-assign-review-suggestion .table-weight th {
  background-color: transparent;
}
.light-theme app-assign-review-suggestion .table-weight thead {
  background-color: #f9f8f7;
}
.dark-theme app-assign-review-suggestion .table-weight thead {
  background-color: #202020;
}
.light-theme app-assign-review-suggestion .table-weight th:first-child {
  background-color: #f9f8f7;
}
.dark-theme app-assign-review-suggestion .table-weight th:first-child {
  background-color: #202020;
}
.light-theme app-assign-review-suggestion .table-weight td:first-child {
  background-color: #f9f8f7;
}
.dark-theme app-assign-review-suggestion .table-weight td:first-child {
  background-color: #202020;
}
.light-theme app-assign-review-suggestion .table-weight td:not(first-child) {
  background-color: #ededed;
}
.dark-theme app-assign-review-suggestion .table-weight td:not(first-child) {
  background-color: #262626;
}
.light-theme app-assign-review-suggestion .table-weight td, .light-theme th {
  border: 1px solid #F6F6F6;
}
.dark-theme app-assign-review-suggestion .table-weight td, .dark-theme th {
  border: 1px solid black;
}
/* Mobile layout (TPC chair, viewport < 768px) — see
 * admin-event-sidebar.component.{ts,html,scss}. View encapsulation is
 * Emulated on this component; the mobile chrome SCSS is co-located with
 * the component, but theme tokens (which use light-/dark-theme classes
 * applied to <body>) must live here at the global scope, otherwise the
 * `.light-theme` / `.dark-theme` body selectors don't survive Emulated
 * encapsulation and the rules are silently dropped. */
.light-theme app-admin-event-sidebar .mobile-top-bar {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .mobile-top-bar {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .mobile-top-bar {
  border-bottom-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .mobile-top-bar {
  border-bottom-color: #3a3937;
}
.light-theme app-admin-event-sidebar .mobile-top-bar-title {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-top-bar-title {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav {
  border-top-color: #E7E5E4;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav {
  border-top-color: #3a3937;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  border-top-color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-bottom-nav-item.active {
  border-top-color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-sheet {
  background-color: #f9f8f7;
}
.dark-theme app-admin-event-sidebar .mobile-sheet {
  background-color: #202020;
}
.light-theme app-admin-event-sidebar .mobile-sheet-title {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-title {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-sheet-section-label {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-section-label {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item {
  color: #373734;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item {
  color: #c4c2bd;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item:hover {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item:hover {
  background-color: #34332f;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item.active {
  color: #000;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item.active {
  color: #f2f1ee;
}
.light-theme app-admin-event-sidebar .mobile-sheet-item.active {
  background-color: #e8e6e3;
}
.dark-theme app-admin-event-sidebar .mobile-sheet-item.active {
  background-color: #34332f;
}
.light-theme .mat-menu-panel.tpc-user-menu .container-theme button.mat-menu-item.highlight-button:hover .mat-icon, .light-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .mat-icon, .light-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .layout-icon, .light-theme .mat-menu-panel.tpc-user-menu .container-language-compact button.mat-menu-item.highlight-button:hover .mat-icon {
  color: #000;
}
.dark-theme .mat-menu-panel.tpc-user-menu .container-theme button.mat-menu-item.highlight-button:hover .mat-icon, .dark-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .mat-icon, .dark-theme .mat-menu-panel.tpc-user-menu .container-layout button.mat-menu-item.highlight-button:hover .layout-icon, .dark-theme .mat-menu-panel.tpc-user-menu .container-language-compact button.mat-menu-item.highlight-button:hover .mat-icon {
  color: #f2f1ee;
}
.light-theme .people-table table.jems3-table td.mat-cell:not(.jems3-table-numbering):not(:last-of-type) {
  background-color: #E7E5E4;
}
.dark-theme .people-table table.jems3-table td.mat-cell:not(.jems3-table-numbering):not(:last-of-type) {
  background-color: #302C29;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .mat-icon {
  color: #434343 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .mat-icon {
  color: #2DD4BF !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews .mat-icon {
  color: #F59E0B !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews .mat-icon {
  color: #FCD34D !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings .mat-icon {
  color: #4F46E5 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings .mat-icon {
  color: #818CF8 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings .mat-icon {
  color: #0891B2 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings .mat-icon {
  color: #67E8F9 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs .mat-icon {
  color: #DC2626 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs .mat-icon {
  color: #FF1A1A !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings .mat-icon {
  color: #7708AF !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings .mat-icon {
  color: #BC5DDF !important;
}
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) {
  background-color: #f9f8f7 !important;
  filter: drop-shadow(0 3px 10px rgba(0, 0, 0, 0.32)) !important;
  box-shadow: none !important;
  min-height: 0 !important;
  padding: 8px !important;
}
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) .mat-menu-content {
  padding: 0 !important;
  min-height: 0 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) {
  min-height: 0 !important;
  padding: 8px !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) {
  background-color: #202020 !important;
  filter: drop-shadow(0 5px 14px rgba(0, 0, 0, 0.7)) !important;
  box-shadow: none !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi {
  display: flex !important;
  align-items: center !important;
  height: 36px !important;
  min-height: 36px !important;
  line-height: 1 !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #E7E5E4 !important;
  border-radius: 6px !important;
  margin-bottom: 6px !important;
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  color: #373734 !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:last-child {
  margin-bottom: 0 !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .mat-icon {
  opacity: 1 !important;
  font-variation-settings: "FILL" 1, "wght" 400, "opsz" 24 !important;
  vertical-align: middle;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs .mat-icon {
  font-size: 16px !important;
  width: 16px !important;
  height: 16px !important;
  line-height: 16px !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi {
  border-color: #3a3937 !important;
  color: #c4c2bd !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected {
  background-color: #ffffff !important;
  position: relative;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected {
  background-color: #2e2e2e !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.is-selected::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: var(--accent-width, calc(100% - 2px));
  bottom: -1px;
  height: 2px;
  pointer-events: none;
  -webkit-clip-path: var(--accent-clip-path, polygon(0 0, 100% 0, calc(100% - 2px) 100%, 2px 100%));
          clip-path: var(--accent-clip-path, polygon(0 0, 100% 0, calc(100% - 2px) 100%, 2px 100%));
  background: var(--accent-background, none);
  background-color: #373734;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews.is-selected::after {
  background-color: #F59E0B;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-my-reviews.is-selected::after {
  background-color: #FCD34D;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs.is-selected::after {
  background-color: #DC2626;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-tpcs.is-selected::after {
  background-color: #FF1A1A;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings.is-selected::after {
  background-color: #7708AF;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-chairings.is-selected::after {
  background-color: #BC5DDF;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings.is-selected::after {
  background-color: #4F46E5;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-session-chairings.is-selected::after {
  background-color: #818CF8;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings.is-selected::after {
  background-color: #0891B2;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi.button-publication-chairings.is-selected::after {
  background-color: #67E8F9;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi {
  position: relative;
  overflow: visible !important;
}
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi),
.mat-menu-panel.tpc-user-menu:has(.nav-overflow-mi) .mat-menu-content {
  overflow: visible !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-label {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badges {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  transform: translate(4px, -6px) !important;
  display: inline-flex;
  gap: 3px;
  pointer-events: none;
  z-index: 1;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge {
  min-width: 16px;
  height: 16px;
  padding: 0 5px;
  border-radius: 8px;
  font-size: 10px;
  font-weight: 600;
  line-height: 16px;
  text-align: center;
  color: #1f1f1f;
  letter-spacing: 0;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.is-zero {
  display: none;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.status-confirmed {
  background-color: #FFD860;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.status-notified {
  background-color: #94C0FB;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi .nav-overflow-mi-badge.status-pending {
  background-color: #FAB65C;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
  background-color: transparent !important;
  color: #373734 !important;
  font-weight: 500 !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.7) !important;
  background-color: transparent !important;
  color: #c4c2bd !important;
  font-weight: 500 !important;
}
.light-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) .mat-icon,
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:hover:not([disabled]) .mat-icon {
  opacity: 1 !important;
  font-variation-settings: "FILL" 1, "wght" 400, "opsz" 24 !important;
}
.mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:active {
  box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3) !important;
}
.dark-theme .mat-menu-panel.tpc-user-menu .mat-menu-item.nav-overflow-mi:active {
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.7) !important;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip-link {
  position: absolute;
  top: -100px;
  left: 0;
  background: var(--c-accent, #7C2D12);
  color: #fff;
  padding: 8px 14px;
  z-index: 10000;
  text-decoration: none;
  font-weight: 500;
}
.skip-link:focus, .skip-link:focus-visible {
  top: 8px;
  left: 8px;
}
.cards-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
body.view-mode-full {
  background-color: #EEECEB;
}
body.view-mode-full app-fixed-top-progress-bar {
  display: none !important;
}
body.view-mode-full.dark-theme {
  background-color: black;
}
.view-mode-full-shell {
  padding-left: 1.3rem;
  padding-right: 1.3rem;
}
@media (max-width: 767px) {
  .view-mode-full-shell {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
*::before,
*::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
}
.main {
  font-family: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-checkbox-ripple .mat-ripple-element {
  display: none;
}
.mat-checkbox-checkmark-path {
  transition: none !important;
  -webkit-animation: none !important;
          animation: none !important;
}
.mat-checkbox .mat-checkbox-layout {
  align-items: center;
}
.mat-checkbox .mat-checkbox-inner-container {
  width: 16px;
  height: 16px;
  margin-right: 8px;
}
.mat-checkbox .mat-checkbox-frame {
  border-width: 1.5px;
  border-radius: 4px;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-checkbox .mat-checkbox-background {
  border-radius: 4px;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-checkbox .mat-checkbox-checkmark {
  transform: scale(0.8);
  transform-origin: center;
}
.mat-checkbox.cdk-keyboard-focused .mat-checkbox-frame {
  outline-offset: 2px;
}
.mat-checkbox.mat-checkbox-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-checkbox {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  margin: 0;
  vertical-align: middle;
  border: 1.5px solid #908985;
  border-radius: 4px;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.jems3-native-checkbox:checked {
  background-color: #064ad9;
  border-color: #064ad9;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23f9f8f7' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.jems3-native-checkbox:indeterminate {
  background-color: #064ad9;
  border-color: #064ad9;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8 L12 8' stroke='%23f9f8f7' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.jems3-native-checkbox:hover:not(:disabled) {
  border-color: #000;
}
.jems3-native-checkbox:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.jems3-native-checkbox:focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 2px;
}
.dark-theme .jems3-native-checkbox {
  border-color: #A8A29E;
}
.dark-theme .jems3-native-checkbox:checked {
  background-color: #D6D3D1;
  border-color: #D6D3D1;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 8 L7 12 L13 4' stroke='%23202020' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.dark-theme .jems3-native-checkbox:indeterminate {
  background-color: #D6D3D1;
  border-color: #D6D3D1;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8 L12 8' stroke='%23202020' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E");
}
.dark-theme .jems3-native-checkbox:hover:not(:disabled) {
  border-color: #f2f1ee;
}
.dark-theme .jems3-native-checkbox:focus-visible {
  outline-color: #0080ff;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.jems3-native-radio {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  margin: 0;
  vertical-align: middle;
  border: 1.5px solid #908985;
  border-radius: 50%;
  background-color: transparent;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.jems3-native-radio:checked {
  background-color: #064ad9;
  border-color: #064ad9;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%23f9f8f7'/%3E%3C/svg%3E");
}
.jems3-native-radio:hover:not(:disabled) {
  border-color: #000;
}
.jems3-native-radio:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.jems3-native-radio:focus-visible {
  outline: 2px solid #064ad9;
  outline-offset: 2px;
}
.dark-theme .jems3-native-radio {
  border-color: #A8A29E;
}
.dark-theme .jems3-native-radio:checked {
  background-color: #D6D3D1;
  border-color: #D6D3D1;
  background-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='4' fill='%23202020'/%3E%3C/svg%3E");
}
.dark-theme .jems3-native-radio:hover:not(:disabled) {
  border-color: #f2f1ee;
}
.dark-theme .jems3-native-radio:focus-visible {
  outline-color: #0080ff;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-slide-toggle .mat-slide-toggle-ripple {
  display: none;
}
.mat-slide-toggle {
  height: auto !important;
  line-height: 1.3 !important;
}
.mat-slide-toggle .mat-slide-toggle-thumb {
  position: relative;
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 4 L3.5 6 L6.5 2' stroke='black' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 4 L3.5 6 L6.5 2' stroke='black' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  -webkit-mask-size: 60%;
  mask-size: 60%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}
.mat-slide-toggle .mat-slide-toggle-thumb-container {
  transition: transform 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle .mat-slide-toggle-bar {
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle .mat-slide-toggle-thumb {
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle.cdk-keyboard-focused .mat-slide-toggle-bar {
  outline-offset: 2px;
}
.mat-slide-toggle.mat-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.mat-slide-toggle .mat-slide-toggle-bar {
  width: 32px;
  height: 18px;
  border-radius: 9px;
}
.mat-slide-toggle .mat-slide-toggle-thumb-container {
  width: 10px;
  height: 10px;
  top: 4px;
  left: 4px;
  transition: transform 200ms cubic-bezier(0.25, 0.8, 0.25, 1), width 150ms cubic-bezier(0.25, 0.8, 0.25, 1), height 150ms cubic-bezier(0.25, 0.8, 0.25, 1), top 150ms cubic-bezier(0.25, 0.8, 0.25, 1), left 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle .mat-slide-toggle-thumb {
  width: 10px;
  height: 10px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), width 150ms cubic-bezier(0.25, 0.8, 0.25, 1), height 150ms cubic-bezier(0.25, 0.8, 0.25, 1), box-shadow 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb-container {
  width: 14px;
  height: 14px;
  top: 2px;
  left: 2px;
  transform: translate3d(14px, 0, 0) !important;
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb {
  width: 14px;
  height: 14px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-thumb::after {
  -webkit-mask-size: 55%;
  mask-size: 55%;
}
.mat-slide-toggle.mat-checked .mat-slide-toggle-bar {
  box-shadow: none !important;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
h1 {
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5rem;
  letter-spacing: 0;
}
h1 .material-symbols-outlined,
h1 i.material-symbols-outlined {
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 1;
  display: inline-block;
  vertical-align: -0.2em;
  line-height: 1;
}
.main-title-icon {
  font-size: 22px;
  width: 22px;
  height: 22px;
  line-height: 22px;
  margin-right: 8px;
  opacity: 0.65;
  font-variation-settings: "opsz" 20, "wght" 400, "FILL" 0;
}
.mat-slide-toggle-content {
  font-size: 13px;
  font-weight: 430;
  line-height: 1.3;
  letter-spacing: 0;
}
h2, mat-card.admin-event mat-card-header, mat-card.base-card mat-card-header {
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.75rem;
  letter-spacing: 0;
}
h3, .card-title, .section .section-title {
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  letter-spacing: 0;
}
h4, .card-subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.00625rem;
}
h5, mat-card.event a .warning-public-at, .card-content {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.subtitle {
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.25rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
}
.mat-header-cell {
  font-weight: 500;
  font-size: 0.75rem;
  line-height: 1rem;
  letter-spacing: 0.03125rem;
  text-transform: uppercase;
  font-feature-settings: "tnum";
}
.mat-card-title {
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5rem;
  letter-spacing: 0.009375rem;
}
.mat-radio-button .mat-radio-ripple {
  display: none;
}
.mat-radio-button .mat-radio-container {
  width: 16px;
  height: 16px;
}
.mat-radio-button .mat-radio-outer-circle {
  width: 16px;
  height: 16px;
  border-width: 1.5px;
  transition: background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1), border-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-radio-button .mat-radio-inner-circle {
  width: 16px;
  height: 16px;
  transition: transform 150ms cubic-bezier(0.25, 0.8, 0.25, 1), background-color 150ms cubic-bezier(0.25, 0.8, 0.25, 1);
}
.mat-radio-button.mat-radio-checked .mat-radio-inner-circle {
  transform: scale(0.375);
}
.mat-radio-button.cdk-keyboard-focused .mat-radio-outer-circle {
  outline-offset: 2px;
}
.mat-radio-button.mat-radio-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
@font-face {
  font-family: "jems3r";
  src: url("/assets/fonts/jems3r.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.jems3r {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "jems3r" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.jems3r.fa-calendar-alt:before {
  content: "";
}
.jems3r.fa-check-square:before {
  content: "";
}
.jems3r.fa-clock:before {
  content: "";
}
.jems3r.fa-edit:before {
  content: "";
}
.jems3r.fa-eye:before {
  content: "";
}
.jems3r.fa-eye-slash:before {
  content: "";
}
.jems3r.fa-file-alt:before {
  content: "";
}
.jems3r.fa-lightbulb:before {
  content: "";
}
.jems3r.fa-minus-square:before {
  content: "";
}
.jems3r.fa-paper-plane:before {
  content: "";
}
.jems3r.fa-square:before {
  content: "";
}
.jems3r.fa-sticky-note:before {
  content: "";
}
.jems3r.fa-bell:before {
  content: "";
}
@font-face {
  font-family: "jems3s";
  src: url("/assets/fonts/jems3s.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
.jems3s {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: "jems3s" !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.jems3s.fa-angle-double-down:before {
  content: "";
}
.jems3s.fa-angle-double-left:before {
  content: "";
}
.jems3s.fa-angle-double-up:before {
  content: "";
}
.jems3s.fa-arrow-right:before {
  content: "";
}
.jems3s.fa-balance-scale:before {
  content: "";
}
.jems3s.fa-bars:before {
  content: "";
}
.jems3s.fa-book:before {
  content: "";
}
.jems3s.fa-border-none:before {
  content: "";
}
.jems3s.fa-calendar-alt:before {
  content: "";
}
.jems3s.fa-calendar-check:before {
  content: "";
}
.jems3s.fa-camera:before {
  content: "";
}
.jems3s.fa-check-circle:before {
  content: "";
}
.jems3s.fa-check-double:before {
  content: "";
}
.jems3s.fa-check:before {
  content: "";
}
.jems3s.fa-chevron-down:before {
  content: "";
}
.jems3s.fa-chevron-up:before {
  content: "";
}
.jems3s.fa-clipboard-check:before {
  content: "";
}
.jems3s.fa-clipboard:before {
  content: "";
}
.jems3s.fa-clock:before {
  content: "";
}
.jems3s.fa-cogs:before {
  content: "";
}
.jems3s.fa-comment-dots:before {
  content: "";
}
.jems3s.fa-comment:before {
  content: "";
}
.jems3s.fa-comments:before {
  content: "";
}
.jems3s.fa-download:before {
  content: "";
}
.jems3s.fa-edit:before {
  content: "";
}
.jems3s.fa-ellipsis-h:before {
  content: "";
}
.jems3s.fa-envelope:before {
  content: "";
}
.jems3s.fa-exclamation-circle:before {
  content: "";
}
.jems3s.fa-exclamation:before {
  content: "";
}
.jems3s.fa-exclamation-triangle:before {
  content: "";
}
.jems3s.fa-eye-slash:before {
  content: "";
}
.jems3s.fa-eye:before {
  content: "";
}
.jems3s.fa-file-download:before {
  content: "";
}
.jems3s.fa-file-excel:before {
  content: "";
}
.jems3s.fa-file-pdf:before {
  content: "";
}
.jems3s.fa-file-word:before {
  content: "";
}
.jems3s.fa-filter:before {
  content: "";
}
.jems3s.fa-globe:before {
  content: "";
}
.jems3s.fa-history:before {
  content: "";
}
.jems3s.fa-home:before {
  content: "";
}
.jems3s.fa-hourglass-half:before {
  content: "";
}
.jems3s.fa-hourglass:before {
  content: "";
}
.jems3s.fa-id-badge:before {
  content: "";
}
.jems3s.fa-indent:before {
  content: "";
}
.jems3s.fa-info-circle:before {
  content: "";
}
.jems3s.fa-info:before {
  content: "";
}
.jems3s.fa-lightbulb:before {
  content: "";
}
.jems3s.fa-list-alt:before {
  content: "";
}
.jems3s.fa-lock:before {
  content: "";
}
.jems3s.fa-map-marker-alt:before {
  content: "";
}
.jems3s.fa-minus-square:before {
  content: "";
}
.jems3s.fa-paper-plane:before {
  content: "";
}
.jems3s.fa-pencil-alt:before {
  content: "";
}
.jems3s.fa-pen:before {
  content: "";
}
.jems3s.fa-plus-circle:before {
  content: "";
}
.jems3s.fa-plus:before {
  content: "";
}
.jems3s.fa-plus-square:before {
  content: "";
}
.jems3s.fa-question-circle:before {
  content: "";
}
.jems3s.fa-search:before {
  content: "";
}
.jems3s.fa-sign-out-alt:before {
  content: "";
}
.jems3s.fa-sliders-h:before {
  content: "";
}
.jems3s.fa-sort-amount-up-alt:before {
  content: "";
}
.jems3s.fa-sync-alt:before {
  content: "";
}
.jems3s.fa-tachometer-alt:before {
  content: "";
}
.jems3s.fa-tag:before {
  content: "";
}
.jems3s.fa-thumbs-down:before {
  content: "";
}
.jems3s.fa-thumbs-up:before {
  content: "";
}
.jems3s.fa-times-circle:before {
  content: "";
}
.jems3s.fa-times:before {
  content: "";
}
.jems3s.fa-trash-alt:before {
  content: "";
}
.jems3s.fa-trash:before {
  content: "";
}
.jems3s.fa-undo:before {
  content: "";
}
.jems3s.fa-unlock-alt:before {
  content: "";
}
.jems3s.fa-upload:before {
  content: "";
}
.jems3s.fa-user-circle:before {
  content: "";
}
.jems3s.fa-user-cog:before {
  content: "";
}
.jems3s.fa-user-edit:before {
  content: "";
}
.jems3s.fa-users-slash:before {
  content: "";
}
.jems3s.fa-window-close:before {
  content: "";
}
.jems3s.fa-star:before {
  content: "";
}
.jems3s.fa-users:before {
  content: "";
}
.jems3s.fa-file-alt:before {
  content: "";
}
.jems3s.fa-level-up-alt:before {
  content: "";
}
.jems3s.fa-question:before {
  content: "";
}
.jems3s.fa-hourglass-half:before {
  content: "";
}
.jems3s.fa-headset:before {
  content: "";
}
.jems3s.fa-city:before {
  content: "";
}
.jems3s.fa-file:before {
  content: "";
}
.jems3s.fa-file-archive:before {
  content: "";
}
.jems3s.fa-bell:before {
  content: "";
}
.jems3s.fa-envelope-open:before {
  content: "";
}
.jems3s.fa-sticky-note:before {
  content: "";
}
.jems3s.fa-laptop:before {
  content: "";
}
.jems3s.fa-moon:before {
  content: "";
}
.jems3s.fa-sun:before {
  content: "";
}
.tpc-md3 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-feature-settings: "kern", "liga", "calt", "tnum";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.015625rem;
}
.tpc-md3 .md3-display-large {
  font-size: 3.5625rem;
  line-height: 4rem;
  font-weight: 400;
  letter-spacing: -0.015625rem;
}
.tpc-md3 .md3-display-medium {
  font-size: 2.8125rem;
  line-height: 3.25rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-display-small {
  font-size: 2.25rem;
  line-height: 2.75rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-headline-large {
  font-size: 2rem;
  line-height: 2.5rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-headline-medium {
  font-size: 1.75rem;
  line-height: 2.25rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-headline-small {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-title-large {
  font-size: 1.375rem;
  line-height: 1.75rem;
  font-weight: 400;
  letter-spacing: 0;
}
.tpc-md3 .md3-title-medium {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.009375rem;
}
.tpc-md3 .md3-title-small {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.00625rem;
}
.tpc-md3 .md3-body-large {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.03125rem;
}
.tpc-md3 .md3-body-medium {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.015625rem;
}
.tpc-md3 .md3-body-small {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 400;
  letter-spacing: 0.025rem;
}
.tpc-md3 .md3-label-large {
  font-size: 0.875rem;
  line-height: 1.25rem;
  font-weight: 500;
  letter-spacing: 0.00625rem;
}
.tpc-md3 .md3-label-medium {
  font-size: 0.75rem;
  line-height: 1rem;
  font-weight: 500;
  letter-spacing: 0.03125rem;
}
.tpc-md3 .md3-label-small {
  font-size: 0.6875rem;
  line-height: 1rem;
  font-weight: 500;
  letter-spacing: 0.03125rem;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
:root {
  --chart-status-pending: #e5e5e5;
  --chart-status-active: #FFFF55;
  --chart-status-accepted: #99FF99;
  --chart-status-rejected: #ffbdbd;
  --chart-status-withdrawn: #DDDDDD;
  --chart-status-assigned: #FFFFFF;
  --chart-status-notified: #94C0FB;
  --chart-status-confirmed: #FFD860;
  --chart-status-declined: #C6C6C6;
  --chart-status-reminded: #FF8FA0;
  --chart-status-late: #fa5b5b;
  --chart-status-delegated: #ff89c9;
  --chart-status-completed: #63FCC8;
  --chart-status-draft: #AAAAAA;
}
:root {
  --palette-tango-groups: #fce94f,#edd400,#c4a000|#729fcf,#3465a4,#204a87|#fcaf3e,#f57900,#ce5c00|#8ae234,#73d216,#4e9a06|#e9b96e,#c17d11,#8f5902|#ad7fa8,#75507b,#5c3566|#888a85,#555753,#2e3436|#ef2929,#cc0000,#a40000|#eeeeec,#d3d7cf,#babdb6;
  --palette-adwaita-groups: #99c1f1,#62a0ea,#3584e4,#1c71d8,#1a5fb4|#ffbe6f,#ffa348,#ff7800,#e66100,#c64600|#8ff0a4,#57e389,#33d17a,#26a269,#1f7f56|#f66151,#ed333b,#e01b24,#c01c28,#a51d2d|#f9f06b,#f8e45c,#f6d32d,#f5c211,#e5a50a|#dc8add,#c061cb,#9141ac,#813d9c,#613583|#cdab8f,#b5835a,#986a44,#865e3c,#63452c|#ffffff,#f6f5f4,#deddda,#c0bfbc,#9a9996|#77767b,#5e5c64,#3d3846,#241f31,#000000;
}
:root {
  --submission-status-pending: #e5e5e5;
  --submission-status-active: #FFFF55;
  --submission-status-accepted: #99FF99;
  --submission-status-rejected: #ffbdbd;
  --submission-status-withdrawn: #DDDDDD;
  --submission-status-deleted: #DDDDDD;
}
body.installed-app .event-breadcrumb,
body.installed-app .experimental-sidebar {
  border-top: 1px solid #E7E5E4;
}
body.installed-app.dark-theme .event-breadcrumb,
body.installed-app.dark-theme .experimental-sidebar {
  border-top-color: #3a3937;
}
:root {
  --chrome-top-offset: 0px;
}
body.proxy-active {
  --chrome-top-offset: 30px;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL19jb3JlLnNjc3MiLCIuLi8uLi9fZm9udHMtbG9jYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AYW5ndWxhci9tYXRlcmlhbC9fdGhlbWluZy5zY3NzIiwiLi4vLi4vX3RoZW1lLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy91dGlsaXRpZXMvYW5pbWF0aW9ucy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvdXRpbGl0aWVzL21peGlucy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvdXRpbGl0aWVzL2luaXRpYWwtdmFyaWFibGVzLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy9iYXNlL21pbmlyZXNldC5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvYmFzZS9nZW5lcmljLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy9iYXNlL2hlbHBlcnMuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS9zYXNzL2dyaWQvY29sdW1ucy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvZ3JpZC90aWxlcy5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvY29tcG9uZW50cy9uYXZiYXIuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS9zYXNzL2VsZW1lbnRzL2NvbnRhaW5lci5zYXNzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2J1bG1hL3Nhc3MvbGF5b3V0L3NlY3Rpb24uc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS9zYXNzL2VsZW1lbnRzL3RpdGxlLnNhc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYnVsbWEvc2Fzcy91dGlsaXRpZXMvZGVyaXZlZC12YXJpYWJsZXMuc2FzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9idWxtYS1kaXZpZGVyL3NyYy9zYXNzL2luZGV4LnNhc3MiLCIuLi8uLi9fYnVsbWEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jaGFydGlzdC9kaXN0L3Njc3MvY2hhcnRpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9jaGFydGlzdC9kaXN0L3Njc3Mvc2V0dGluZ3MvX2NoYXJ0aXN0LXNldHRpbmdzLnNjc3MiLCIuLi8uLi9fY2hhcnRpc3Quc2NzcyIsIi4uLy4uL19jb2xvcnMuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2hlYWRlci5zY3NzIiwiLi4vLi4vX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItY2FsZW5kYXIvc2Nzcy9tb2R1bGVzL21vbnRoL2NhbGVuZGFyLW1vbnRoLXZpZXcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmd1bGFyLWNhbGVuZGFyL3Njc3MvbW9kdWxlcy93ZWVrL2NhbGVuZGFyLXdlZWstdmlldy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItY2FsZW5kYXIvc2Nzcy9tb2R1bGVzL2RheS9jYWxlbmRhci1kYXktdmlldy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuZ3VsYXItY2FsZW5kYXIvc2Nzcy9tb2R1bGVzL2NvbW1vbi9jYWxlbmRhci10b29sdGlwLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19pbnB1dC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19oZWFkZXItaWNvbi1idXR0b24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19ub3RpZmljYXRpb24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3NpZGViYXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uL19taXhpbnMuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2N1c3RvbS1mb3JtLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19ldmVudC1hZG1pbi5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fc25hY2tiYXIuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2ZhYi5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fcGFnaW5hdG9yLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19zaG93LWFsbC1zdWJtaXNzaW9ucy5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fZGF0ZXRpbWUuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX2Zvcm0tZmllbGQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3BhcGVyLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19sZWdlbmQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX25vdGljZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9faG9tZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fbWFya2Rvd24uc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3N0cnVjdHVyZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fZW1wdHktcGFnZS1wYW5lbC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fbmF0aXZlLWlucHV0LnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19uYXRpdmUtYnV0dG9uLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fdG9waWMtY2hpcC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fdGhyZXNob2xkLWJhbmQtcG9wb3Zlci5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fc2NvcmUtZ3JpZC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fZGlhbG9nLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19zZWdtZW50ZWQuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3N0YXR1cy1jaGlwLnNjc3MiLCIuLi8uLi9fY29sb3Itc2NoZW1lLnNjc3MiLCIuLi8uLi9fei1pbmRleC5zY3NzIiwiLi4vLi4vX2ExMXkuc2NzcyIsIi4uLy4uL192aWV3LW1vZGUuc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX21hdC1jaGVja2JveC5zY3NzIiwiLi4vLi4vY29tcG9uZW50cy9fY2hlY2tib3guc2NzcyIsIi4uLy4uL2NvbXBvbmVudHMvX3JhZGlvLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19tYXQtc2xpZGUtdG9nZ2xlLnNjc3MiLCIuLi8uLi9jb21wb25lbnRzL19tYXQtcmFkaW8uc2NzcyIsIi4uLy4uL2ljb25zL19qZW1zM3Iuc2NzcyIsIi4uLy4uL2ljb25zL19qZW1zM3Muc2NzcyIsIi4uLy4uL190eXBvZ3JhcGh5LW1kMy5zY3NzIiwiLi4vLi4vX2NoYXJ0LXZhcnMuc2NzcyIsIi4uLy4uL19pbnN0YWxsZWQtYXBwLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDK0NoQixpSEFBQTtBQUNBO0VBQ0Usd0NBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnRkFBQTtBRDdDRjtBQytDQTs7RUFVRSx3Q0FBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLHNCQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0VBQ0EscUNBQUE7RUFDQSxtQ0FBQTtBRHJERjtBQ3dEQSxnRkFBQTtBQUNBLGlCQUFBO0FBQ0E7RUFDRSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLHlFQUFBO0VBQ0Esc0ZBQUE7QURyREY7QUN1REEsYUFBQTtBQUNBO0VBQ0Usb0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxxRUFBQTtFQUNBLG9FQUFBO0FEckRGO0FDdURBLGVBQUE7QUFDQTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsdUVBQUE7RUFDQSx1S0FBQTtBRHJERjtBQ3VEQSxjQUFBO0FBQ0E7RUFDRSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLHNFQUFBO0VBQ0EsaU5BQUE7QURyREY7QUN1REEsVUFBQTtBQUNBO0VBQ0Usb0JBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxrRUFBQTtFQUNBLHlMQUFBO0FEckRGO0FDd0RBLDBHQUFBO0FBQ0EsZUFBQTtBQUNBO0VBQ0UsMEJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLDZFQUFBO0VBQ0EsdUtBQUE7QUR0REY7QUN3REEsY0FBQTtBQUNBO0VBQ0UsMEJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLDRFQUFBO0VBQ0EsaU5BQUE7QUR0REY7QUN3REEsVUFBQTtBQUNBO0VBQ0UsMEJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxrQkFBQTtFQUNBLHdFQUFBO0VBQ0EseUxBQUE7QUR0REY7QUN5REEsaUhBQUE7QUFDQSxXQUFBO0FBQ0E7RUFDRSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLG1FQUFBO0VBQ0Esc29CQUFBO0FEdkRGO0FDeURBLGNBQUE7QUFDQTtFQUNFLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBO0VBQ0Esc0VBQUE7RUFDQSxpTkFBQTtBRHZERjtBQ3lEQSxVQUFBO0FBQ0E7RUFDRSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtFQUFBO0VBQ0EseUxBQUE7QUR2REY7QUVxc0RBLG1DQUFBO0FBK0lBLHlEQUFBO0FBb2JBLHlEQUFBO0FBbXdEQSwyQ0FBQTtBQTZDQSxxQkFBQTtBQXgrQ0U7RUFDRSxnQkF2TG9CO0VBd0xwQixlQXpMa0I7RUEwTGxCLGlEQUFBO0FGemtGSjtBRTRrRkU7RUFFRSxjQUFBO0FGMWtGSjtBRTZrRkU7RUFDRSxlQUFBO0FGMWtGSjtBRXd2RUU7RUEvVkUsd0RBQUE7RUFZRixzQkFBQTtFQXFWRSxnQkFBQTtBRnB2RUo7QUV1dkVFO0VBcFdFLHdEQUFBO0VBWUYsc0JBQUE7RUEwVkUsZ0JBQUE7QUZudkVKO0FFc3ZFRTtFQXpXRSx3REFBQTtFQVlGLHNCQUFBO0VBK1ZFLGdCQUFBO0FGbHZFSjtBRXF2RUU7RUE5V0Usd0RBQUE7RUFZRixzQkFBQTtFQW9XRSxnQkFBQTtBRmp2RUo7QUV1dkVFO0VBdFhFLHFFQUFBO0VBK1hBLGdCQUFBO0FGM3ZFSjtBRTh2RUU7RUFsWUUscUVBQUE7RUEyWUEsZ0JBQUE7QUZsd0VKO0FFcXdFRTtFQTlZRSx3REFBQTtFQVlGLHNCQUFBO0FGOTNERjtBRW93RUU7RUFsWkUsd0RBQUE7RUFZRixzQkFBQTtBRnozREY7QUVrd0VJO0VBQ0UsZ0JBQUE7QUZod0VOO0FFb3dFRTtFQTFaRSx3REFBQTtFQVlGLHNCQUFBO0FGajNERjtBRW13RUU7RUE5WkUsMERBQUE7RUFZRix1QkFBQTtFQW9aRSxnQkFBQTtBRi92RUo7QUVrd0VFO0VBbmFFLHdEQUFBO0VBWUYsdUJBQUE7RUF5WkUsZ0JBQUE7QUY5dkVKO0FFaXdFRTtFQXhhRSx3REFBQTtFQVlGLHdCQUFBO0VBOFpFLGdCQUFBO0FGN3ZFSjtBRWd3RUU7RUE3YUUsd0RBQUE7RUFZRixzQkFBQTtFQW1hRSxnQkFBQTtBRjV2RUo7QUUwaUZFO0VBN3RCRSx3REFBQTtFQVlGLHNCQUFBO0FGcDFERjtBRW11RkU7O0VBR0ksaURBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUZqdUZOO0FFaTJGRTtFQUNFLGlEQUFBO0FGOTFGSjtBRTg1RkU7RUFDRSxpREFBQTtBRjM1Rko7QUU4NUZFO0VBRUksZUFBQTtFQUNBLGdCQUFBO0FGNTVGTjtBRWc2RkU7RUFDRSxlQUFBO0FGNzVGSjtBRWc2RkU7O0VBRUUsZUFBQTtBRjc1Rko7QUV5aEdFO0VBQ0UsaURBQUE7QUZ0aEdKO0FFMGhHRTtFQUNFLGlCQUFBO0FGdmhHSjtBRTBvR0U7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7QUZ2b0dKO0FFeW9HSTs7RUFFRSxlQTNGc0I7QUY1aUc1QjtBRTh1R0U7RUFDRSxpREFBQTtBRjN1R0o7QUU4dUdFO0VBQ0UsZUFBQTtFQUNBLGdCQUFBO0FGM3VHSjtBRTh1R0U7RUFDRSxlQUFBO0FGM3VHSjtBRTA3R0U7RUFDRSxpREFBQTtBRnY3R0o7QUUwN0dFO0VBQ0UsZUFqTDBCO0FGdHdHOUI7QUUwN0dFOztFQUdJLGVBQUE7RUFDQSxnQkFBQTtBRng3R047QUU0N0dFO0VBRUksZUE3TGlDO0VBOExqQyxnQkFBQTtBRjE3R047QUU0Z0hFO0VBbHhERSx3REFBQTtFQVlGLHNCQUFBO0FGandERjtBRW1vSEU7RUFFSSxpREFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBRmpvSE47QUVxb0hFO0VBdDVERSx3REFBQTtFQVlGLHNCQUFBO0FGdHZERjtBRXN6TUU7RUFybEpFLGtCQWVVO0VBZFYsZ0JBZVk7RUFkWixrQkFlWTtFQWRaLGlEQWVZO0VBR2Qsc0JBQUE7QUY5dURGO0FFa3pNRTtFQUNFLHlCQVB1QjtBRnh5TTNCO0FFcXpNSTs7RUFDRSxlQXZCMkI7RUF3QjNCLGtCQXRDVTtBRjN3TWhCO0FFcXpNSTs7RUFDRSxhQUFBO0VBQ0EsWUFBQTtBRmx6TU47QUVvek1NOztFQUNFLGVBQUE7RUFDQSxrQkFoRFE7QUZqd01oQjtBRXN6TUU7RUFDRSxnQkFBQTtFQUVBLHVDQUFBO0FGcHpNSjtBRXd6TUk7O0VBdEVGLDZDQUFBO0VBRUEsc0JBQUE7QUY5dU1GO0FFMHpNSTtFQTlFRiw2Q0FBQTtFQUVBLHNCQUFBO0FGMXVNRjtBRTZ6TUU7RUFDRSxlQUFBO0VBQ0Esc0JBbkVpQjtBRnZ2TXJCO0FFNnpNRTtFQUNFLGNBQUE7QUYxek1KO0FFNnpNRTtFQUdFLGlCQWhFdUI7QUY1dk0zQjtBRSt6TUU7RUFDRSxjQS9Fb0I7RUFnRnBCLDBCQXpFcUI7RUE2RXJCLGdDQUFBO0FGL3pNSjtBRWl6TEk7RUFDRSxzQkFKcUI7QUYxeUwzQjtBRWl6TEk7RUFDRSxtQkFBQTtBRi95TE47QUVtekxNOztFQTFESixvRkFBQTtFQUlBLGlEQUFBO0VBR0Esc0JBQUE7QUYxdkxGO0FFb3pMTTtFQWpFSixzRkFBQTtFQUlBLGlEQUFBO0VBR0Esc0JBQUE7QUZydkxGO0FFdXpMTTtFQXpFSixzRkFBQTtFQUlBLGlEQUFBO0VBR0Esc0JBQUE7QUZodkxGO0FFeXpMSTtFQUNFLGNBQUE7QUZ2ekxOO0FFMHpMSTtFQUdFLGNBekNxQjtBRmp4TDNCO0FFNnpMSTtFQUNFLDBCQWpEbUI7RUFxRG5CLGdDQUFBO0FGOXpMTjtBRW8wTEU7RUFHTTs7SUF4Rk4sNkNBQUE7RUZ6dUxBO0VFdzBMTTtJQS9GTiw2Q0FBQTtFRnR1TEE7RUU2MExNO0lBdkdOLDRDQUFBO0VGbnVMQTtBQUNGO0FFaW5MSTtFQUNFLDBCQUFBO0FGL21MTjtBRWtuTEk7RUFDRSxjQUFBO0VBQ0Esa0JBVDJCO0FGdm1MakM7QUVvbkxNOztFQWpDSiw2Q0FBQTtFQUVBLHNCQUFBO0FGaGxMRjtBRXduTE07RUExQ0osNkNBQUE7RUFFQSxzQkFBQTtBRjVrTEY7QUVnOExJO0VBQ0Usb0JBQUE7QUY3N0xOO0FFZzhMSTtFQUNFLGNBQUE7RUFDQSxtQkFUOEI7QUZyN0xwQztBRWs4TE07O0VBeENKLDZDQUFBO0VBRUEsc0JBQUE7QUZ2NUxGO0FFczhMTTtFQWpESiw2Q0FBQTtFQUVBLHNCQUFBO0FGbjVMRjtBRXlsSEU7O0VBR0UsZUFBQTtBRnZsSEo7QUVzaUhFOztFQVJBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQVFFLGNBQUE7RUFDQSxzQkFBQTtBRmppSEo7QUVvaUhJOztFQUNFLGVBeUNxQjtBRjFrSDNCO0FFNnhIRTtFQUNFLHFCQUFBO0FGMXhISjtBRXE5SEU7RUFFSSxpREFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBRm45SE47QUVzaUlFOztFQUdJLGlEQUFBO0VBQ0EsZUFBQTtBRnBpSU47QUV1d0lFO0VBQ0UsaURBQUE7QUZwd0lKO0FFbTJJRTtFQUNFLGlEQUFBO0FGaDJJSjtBRW0ySUU7RUFDRSxlQUFBO0FGaDJJSjtBRXVpSkU7RUFDRSxpREFBQTtBRnBpSko7QUVxdUpFO0VBRUksaURBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUZudUpOO0FFczRKRTtFQUNFLGlEQUFBO0FGbjRKSjtBRXM0SkU7RUFFSSxlQUFBO0VBQ0EsZ0JBQUE7QUZwNEpOO0FFdzRKRTtFQUNFLG1CQUFBO0FGcjRKSjtBRXc0SkU7RUFDRSxlQUFBO0FGcjRKSjtBRXc0SkU7RUFFSSxlQUFBO0VBQ0EsZ0JBQUE7QUZ0NEpOO0FFOG5LRTtFQUNFLGlEQUFBO0FGM25LSjtBRThuS0U7RUFFSSxpREFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBRjVuS047QUV5dktFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFudkhFLHdEQUFBO0VBWUYsc0JBQUE7RUErdUhFLFNBQUE7QUYxdUtKO0FFNnlLRTtFQUNFLGlEQUFBO0VBQ0EsZUFyQm9CO0VBc0JwQixnQkFyQjJCO0VBc0IzQixtQkF0QjJCO0FGcHhLL0I7QUU2eUtFO0VBQ0UsZUF2QjRCO0VBd0I1QixnQkF0QkE7RUF1QkEsbUJBdkJBO0FGbnhLSjtBRTZ2SEU7RUFDRSxpREFIWTtBRnZ2SGhCO0FFNnZIRTtFQUNFLGlEQVBZO0FGbnZIaEI7QUUrdkhJO0VBQ0UsZUFBQTtBRjV2SE47QUVvNkdFO0VBUkEsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0VBUUUsY0FBQTtFQUNBLHNCQUFBO0FGaDZHSjtBRW02R0k7RUFDRSxlQWtWdUI7QUZudkg3QjtBRXN2SEk7RUFDRSxlQUFBO0FGcHZITjtBRXU1R0U7RUFSQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFRRSxjQUFBO0VBQ0Esc0JBQUE7QUZuNUdKO0FFczVHSTtFQUNFLGVBdVZ1QjtBRjN1SDdCO0FFOHVISTtFQUNFLGlEQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FGNXVITjtBRWt2SEk7RUFDRSxlQUFBO0FGL3VITjtBRW80R0U7RUFSQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFRRSxjQUFBO0VBQ0Esc0JBQUE7QUZoNEdKO0FFbTRHSTtFQUNFLGVBcVd1QjtBRnR1SDdCO0FFeXVISTtFQUNFLGVBQUE7QUZ2dUhOO0FFdTNHRTtFQVJBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQVFFLGNBQUE7RUFDQSxzQkFBQTtBRm4zR0o7QUVzM0dJO0VBQ0UsZUEwV3VCO0FGOXRIN0I7QUVpdUhJO0VBQ0UsaURBMUNVO0VBMkNWLGVBQUE7RUFDQSxnQkFBQTtBRi90SE47QUV3OUNFO0VBRUksaURBQUE7RUFDQSxlQUFBO0FGdDlDTjtBRW1nREU7RUE5R0Usd0RBQUE7RUFZRixzQkFBQTtBRjU1Q0Y7QUU0d0tFO0VBRUksaURBQUE7RUFDQSxlQUFBO0FGMXdLTjtBRTh3S0U7RUFDRSxjQUFBO0VBRUUsb0JBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0FGNXdLTjtBRWdtTUU7RUFDRSxpREFBQTtBRjdsTUo7QUVnbU1FOztFQUVFLGdCQUFBO0VBQ0EsZUFBQTtBRjdsTUo7QUVnbkNFO0VBQ0UsZ0JBQUE7RUFJQSxrQkFBQTtBRmhuQ0o7QUV1bkNJO0VBQ0Usd0JBQUE7QUZybkNOO0FFeW5DRTtFQUNFLGlCQUFBO0FGdG5DSjtBRXluQ0U7RUFDRSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFFQSw2REFBQTtFQUNBLG1CQUFBO0FGdm5DSjtBRXBoQkk7RUErb0RFLGFBQUE7QUZ4bkNOO0FFdGpCRTtFQUNFLFNBQUE7RUFDQSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBSUEsbUJBQUE7RUFHQSxVQUFBO0VBR0Esd0JBQUE7RUFDQSxxQkFBQTtBRmtqQko7QUVyc0JFO0VBRUUsb0JBQUE7RUFHQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0FGcXNCSjtBRWpzQkU7RUFDRSxlQUFBO0VBQ0EsYUEzQjRCO0FGK3RCaEM7QUVsc0JJO0VBR0UsYUFBQTtBRmtzQk47QUUxckJFO0VBQ0UsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsYUExQ2tCO0FGdXVCdEI7QUV6ckJFO0VBR0Usa0JBQUE7RUFDQSxvQkFBQTtFQUNBLHNCQUFBO0VBQ0EsYUFwRGtCO0VBd0RsQixhQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FGdXJCSjtBRXByQkU7RUFFRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFFQSxhQXBFMkI7RUFxRTNCLG9CQUFBO0VBQ0Esd0NBQUE7RUFDQSwwREFBQTtFQUNBLFVBQUE7QUZxckJKO0FFbnJCSTtFQUNFLFVBQUE7QUZxckJOO0FFaHJCTTtFQUdFLFlBQUE7QUZnckJSO0FFM3FCRTtFQUNFLCtCQXRGbUM7QUZvd0J2QztBRXRxQkk7RUFDRSxVQUFBO0FGeXFCTjtBRW5xQkU7RUFDRSxrQkFBQTtFQUNBLGFBM0drQjtFQWdIbEIsYUFBQTtFQUlBLHNCQUFBO0VBR0EsY0FBQTtFQUNBLGVBQUE7QUY2cEJKO0FFenBCRTtFQUNFLGVBQUE7RUFLQSxXQUFBO0VBS0Esa0JBQUE7QUZvcEJKO0FFcmpCRTtFQUEwQyxJQUFBO0FGeWpCNUM7QUV6akJFO0VBQTBDLElBQUE7QUZ5akI1QztBRXhqQkU7RUFBd0MsSUFBQTtBRjJqQjFDO0FFM2pCRTtFQUF3QyxJQUFBO0FGMmpCMUM7QUV6akJFO0VBRUUsdURBQUE7VUFBQSwrQ0FBQTtBRjBqQko7QUV2akJFO0VBRUUscURBQUE7VUFBQSw2Q0FBQTtBRnlqQko7QUVwakJFO0VBQ0UsWUFBQTtBRnVqQko7QUVqakJFO0VBcUJBLHlCQUFBO0VBQ0Esa0NBQUE7RUFwQkUsdUJBQUE7RUFDQSwyQkFBQTtBRnFqQko7QUU1aUJFO0VBU0EseUJBQUE7RUFDQSxrQ0FBQTtFQVJFLG9CQUFBO0FGZ2pCSjtBRXdxQ0U7RUFDRSxrQkFBQTtBRnJxQ0o7QUU2bU1FO0VBQ0Usa0JBQUE7QUYxbU1KO0FHbDBCQSxrREFBQTtBRHEwREU7RUFJSSxvQ0FBQTtBRmxnQ047QUVzdkNFO0VBQ0UsMEJBQUE7QUZwdkNKO0FFc3ZDSTtFQUVFLCtCQUFBO0FGcnZDTjtBRXl2Q0k7RUFDRSwrQkFBQTtBRnZ2Q047QUUwdkNJO0VBQ0UsK0JBQUE7RUFDQSwwQkFBQTtBRnh2Q047QUUydkNJO0VBQ0UsMEJBQUE7QUZ6dkNOO0FFNnZDRTtFQUNFLGNBQUE7QUYzdkNKO0FFOHZDRTtFQUNFLGNBQUE7QUY1dkNKO0FFK3ZDRTtFQUNFLGNBQUE7QUY3dkNKO0FFd3lDRTtFQUNFLDBCQUFBO0FGdHlDSjtBRXl5Q0U7RUFDRSwwQkFBQTtBRnZ5Q0o7QUV5MUNFO0VBQ0UsMEJBQUE7QUZ2MUNKO0FFeTFDSTtFQUNFLGNBQUE7QUZ2MUNOO0FFMjFDRTtFQUNFLGNBWmU7QUY3MENuQjtBRTQxQ0U7O0VBRUUsbUJBQUE7QUYxMUNKO0FFazJDRTs7OztFQUlFLG1CQUFBO0FGaDJDSjtBRW0yQ0U7O0VBRUUsbUJBQUE7QUZqMkNKO0FFczJDSTs7RUFDRSxtQkF4Q2E7QUYzekNuQjtBRXEvTEU7RUFJRSx5QkFBQTtFQUNBLDBCQUFBO0FGdC9MSjtBRTYvTEk7RUF4NE1GLHdIQUFBO0FGOFlGO0FFMC9MSTtFQXg0TUYseUhBQUE7QUZpWkY7QUV1L0xJO0VBeDRNRix5SEFBQTtBRm9aRjtBRW8vTEk7RUF4NE1GLHlIQUFBO0FGdVpGO0FFaS9MSTtFQXg0TUYsMEhBQUE7QUYwWkY7QUU4K0xJO0VBeDRNRiwwSEFBQTtBRjZaRjtBRTIrTEk7RUF4NE1GLDJIQUFBO0FGZ2FGO0FFdytMSTtFQXg0TUYsMkhBQUE7QUZtYUY7QUVxK0xJO0VBeDRNRiwySEFBQTtBRnNhRjtBRWsrTEk7RUF4NE1GLDJIQUFBO0FGeWFGO0FFKzlMSTtFQXg0TUYsNEhBQUE7QUY0YUY7QUU0OUxJO0VBeDRNRiw0SEFBQTtBRithRjtBRXk5TEk7RUF4NE1GLDRIQUFBO0FGa2JGO0FFczlMSTtFQXg0TUYsNEhBQUE7QUZxYkY7QUVtOUxJO0VBeDRNRiw0SEFBQTtBRndiRjtBRWc5TEk7RUF4NE1GLDRIQUFBO0FGMmJGO0FFNjhMSTtFQXg0TUYsNkhBQUE7QUY4YkY7QUUwOExJO0VBeDRNRiw2SEFBQTtBRmljRjtBRXU4TEk7RUF4NE1GLDZIQUFBO0FGb2NGO0FFbzhMSTtFQXg0TUYsNkhBQUE7QUZ1Y0Y7QUVpOExJO0VBeDRNRiw4SEFBQTtBRjBjRjtBRTg3TEk7RUF4NE1GLDhIQUFBO0FGNmNGO0FFMjdMSTtFQXg0TUYsOEhBQUE7QUZnZEY7QUV3N0xJO0VBeDRNRiw4SEFBQTtBRm1kRjtBRXE3TEk7RUF4NE1GLDhIQUFBO0FGc2RGO0FFeTdMSTtFQUNFLGFBQUE7QUZ2N0xOO0FFNmdERTtFQUVFLGlCQUFBO0VBQ0EsMEJBQUE7QUYzZ0RKO0FFbmRFO0VBWEEsMEhBQUE7QUZpZUY7QUUrZ0RJO0VBQ0UsaUJBQUE7QUY3Z0ROO0FFK2dETTtFQUNFLDBCQUFBO0FGN2dEUjtBRTJvREU7RUFDRSxZQUFBO0VBQ0EsbUJBQUE7QUZ6b0RKO0FFMXpCSTtFQXM4RUUsa0JBQUE7RUFDQSxnQkFBQTtBRnpvRE47QUU4b0RJO0VBQ0UsbUJBQUE7RUFDQSxZQUFBO0FGM29ETjtBRWdwREk7RUFDRSxZQUFBO0VBQ0EsbUJBQUE7QUY5b0ROO0FFa3BERTtFQUNFLGtCQUFBO0FGaHBESjtBRW9wREk7RUFDRSxhQUFBO0FGbHBETjtBRXVwREk7RUFXSSxtQkFBQTtFQU1GLDBCQUFBO0FGcHFETjtBRXdxREU7RUFDRSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLHVDQUFBO0VBQ0EscUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxvQkFBQTtBRnRxREo7QUV5cURFOztFQUVFLGdCQUFBO0FGdnFESjtBRTRxREU7RUFFRSxlQUFBO0FGM3FESjtBRTRnREU7RUFDRSxXQU5tQjtFQU9uQixZQVBtQjtFQVFuQixpQkFSbUI7QUZsZ0R2QjtBRThnREk7RUFDRSxTQUFBO0FGNWdETjtBRWloREk7RUFDRSxZQUFBO0FGL2dETjtBRW9oREk7RUFDRSxXQUFBO0FGbGhETjtBRXVoREk7RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRnJoRE47QUUwaERJO0VBQ0UsWUFBQTtBRnhoRE47QUU2aERJO0VBQ0UsV0FBQTtFQUNBLFdBQUE7QUYzaEROO0FFaWlETTtFQUNFLFVBQUE7QUYvaERSO0FFb2lETTtFQUNFLFVBQUE7RUFDQSxXQUFBO0FGbGlEUjtBRXVpRE07RUFDRSxXQUFBO0FGcmlEUjtBRTBpRE07RUFDRSxXQUFBO0VBQ0EsVUFBQTtBRnhpRFI7QUVxK0NFO0VBQ0UsV0FQcUI7RUFRckIsWUFScUI7RUFTckIsaUJBVHFCO0FGMTlDekI7QUV1K0NJO0VBQ0UsVUFBQTtBRnIrQ047QUUwK0NJO0VBQ0UsYUFBQTtBRngrQ047QUU2K0NJO0VBQ0UsV0FBQTtBRjMrQ047QUVnL0NJO0VBQ0UsVUFBQTtFQUNBLFlBQUE7QUY5K0NOO0FFbS9DSTtFQUNFLFlBQUE7QUZqL0NOO0FFcy9DSTtFQUNFLFdBQUE7RUFDQSxXQUFBO0FGcC9DTjtBRTAvQ007RUFDRSxXQUFBO0FGeC9DUjtBRTYvQ007RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRjMvQ1I7QUVnZ0RNO0VBQ0UsWUFBQTtBRjkvQ1I7QUVtZ0RNO0VBQ0UsV0FBQTtFQUNBLFdBQUE7QUZqZ0RSO0FFODdDRTtFQUNFLFdBTG1CO0VBTW5CLFlBTm1CO0VBT25CLGlCQVBtQjtBRnI3Q3ZCO0FFZzhDSTtFQUNFLFVBQUE7QUY5N0NOO0FFbThDSTtFQUNFLGFBQUE7QUZqOENOO0FFczhDSTtFQUNFLFdBQUE7QUZwOENOO0FFeThDSTtFQUNFLFVBQUE7RUFDQSxZQUFBO0FGdjhDTjtBRTQ4Q0k7RUFDRSxZQUFBO0FGMThDTjtBRSs4Q0k7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRjc4Q047QUVtOUNNO0VBQ0UsV0FBQTtBRmo5Q1I7QUVzOUNNO0VBQ0UsVUFBQTtFQUNBLFlBQUE7QUZwOUNSO0FFeTlDTTtFQUNFLFlBQUE7QUZ2OUNSO0FFNDlDTTtFQUNFLFdBQUE7RUFDQSxXQUFBO0FGMTlDUjtBRXFuREU7RUEvdkVBLDZIQUFBO0VBaXdFRSxpQkFBQTtFQUNBLDBCQUFBO0FGbm5ESjtBRWd2REU7RUFLRSxjQUFBO0VBQ0EsdUJBQUE7QUZsdkRKO0FFa3RERTtFQUNFLGNBQUE7QUZodERKO0FFa3RERTtFQUNFLGNBQUE7QUZodERKO0FFa3RERTtFQUNFLGNBQUE7QUZodERKO0FFb3RESTtFQUVFLDBCQUFBO0FGbnRETjtBRWdwREU7RUFDRSx5QkFBQTtBRjlvREo7QUVpcERFO0VBQ0UseUJBQUE7QUYvb0RKO0FFa3BERTtFQUNFLHlCQUFBO0FGaHBESjtBRW1wREU7RUFDRSw2QkFBQTtBRmpwREo7QUVrdURJO0VBQ0UsWUF4R3VCO0VBeUd2Qiw4QkFBQTtBRmh1RE47QUVvdURFO0VBQ0UsaUJBQUE7QUZsdURKO0FFdXVERTtFQUNFLGlDQUFBO0FGcnVESjtBRXd1REU7RUFFRSwwQkFBQTtFQUNBLHVCQUFBO0FGdnVESjtBRTRxREU7RUFDRSxZQUFBO0FGMXFESjtBRTRxREU7RUFDRSxZQUFBO0FGMXFESjtBRTRxREU7RUFDRSxZQUFBO0FGMXFESjtBRThxREk7RUFFRSwwQkFBQTtBRjdxRE47QUVncURFO0VBQ0UseUJBQUE7QUY5cERKO0FFZ3FERTtFQUNFLHlCQUFBO0FGOXBESjtBRWdxREU7RUFDRSx5QkFBQTtBRjlwREo7QUVrcURJO0VBRUUscUNBQUE7QUZqcUROO0FFK25ERTtFQVhBLDBDQURtQjtBRmhuRHJCO0FFZ29ERTtFQWZBLDBDQURtQjtBRjdtRHJCO0FFaW9ERTtFQW5CQSwwQ0FEbUI7QUYxbURyQjtBRS9zQkU7RUFYQSx3SEFBQTtBRjZ0QkY7QUVsdEJFO0VBWEEseUhBQUE7QUZndUJGO0FFcnRCRTtFQVhBLDJIQUFBO0FGbXVCRjtBRXh0QkU7RUFYQSx3SEFBQTtBRnN1QkY7QUUzdEJFO0VBWEEsMkhBQUE7QUZ5dUJGO0FFOXRCRTtFQVhBLDRIQUFBO0FGNHVCRjtBRWp1QkU7RUFYQSx3SEFBQTtBRit1QkY7QUVreERFOztFQWpnRkEseUhBQUE7QUZtdkJGO0FFbXhERTs7RUFFRSxnQkFBQTtBRmp4REo7QUVveERFO0VBQ0UsMEJBQUE7QUZseERKO0FFb3hESTtFQUNFLHFDQUFBO0FGbHhETjtBRXN4REU7RUFDRSwwQkFBQTtFQUNBLGlCQUFBO0FGcHhESjtBRXN4REk7RUFDRSx1QkFBQTtBRnB4RE47QUV3eERFO0VBQ0UsMENBQUE7QUZ0eERKO0FFeXhERTtFQUNFLGlCQUFBO0VBQ0EsMkNBQUE7QUZ2eERKO0FFMnhESTtFQUNFLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSx5Q0FBQTtBRnp4RE47QUU2eERFO0VBQ0UseUJBQUE7RUFDQSwwQkFBQTtBRjN4REo7QUU2eERJO0VBQ0UsMEJBQUE7QUYzeEROO0FFK3hERTtFQUNFLDBCQUFBO0VBQ0EseUJBQUE7QUY3eERKO0FFK3hESTtFQUNFLGlCQUFBO0FGN3hETjtBRWd5REk7RUFDRSx5QkFBQTtBRjl4RE47QUVreURFOztFQUVFLHFDQUFBO0FGaHlESjtBRWl6REk7RUFDRSxpQkFMYztBRjF5RHBCO0FFazFERTtFQUVFLGlCQUFBO0VBQ0EsMEJBQUE7QUZoMURKO0FFbHlCRTtFQVhBLHlIQUFBO0FGZ3pCRjtBRXJ5QkU7RUFYQSx3SEFBQTtBRm16QkY7QUVrMURFO0VBQ0UsMEJBQUE7QUZoMURKO0FFdzVERTtFQUNFLGlDQUFBO0FGdDVESjtBRXk1REU7RUFDRSxhQWRvQjtBRno0RHhCO0FFMDVERTtFQUdFLDBCQUFBO0FGMTVESjtBRTY1REU7RUFDRSx5QkF4Qm9CO0FGbjREeEI7QUUrNURJO0VBQ0UseUJBQUE7QUY3NUROO0FFZzZESTtFQUNFLHlCQUFBO0FGOTVETjtBRWk2REk7RUFDRSx5QkFBQTtBRi81RE47QUVzNkRNO0VBQ0UseUJBdENXO0FGOTNEbkI7QUV5NkRNO0VBQ0UscUJBNUNXO0FGMzNEbkI7QUUyNkRJO0VBQ0UsMEJBQUE7QUZ6NkROO0FFKzZERTtFQUNFLHVCQUFBO0FGNzZESjtBRWs3REk7O0VBQ0UsbUJBQUE7QUYvNkROO0FFazdESTs7RUFDRSxtQkFBQTtBRi82RE47QUVrN0RJOztFQUNFLG1CQUFBO0FGLzZETjtBRXdnRUU7RUEzQ0EseUJBd0N3QjtFQXZDeEIsMEJBd0N3QjtBRmxnRTFCO0FFNDlERTtFQUNFLDBCQXFDc0I7RUFwQ3RCLFlBQUE7QUYxOURKO0FFb2dFTTtFQS8yRkoseUhBQUE7QUY4MkJGO0FFcWdFTTtFQUNFLGFBQUE7QUZuZ0VSO0FFdWdFSTtFQUNFLFlBQUE7QUZyZ0VOO0FFd2dFSTtFQUNFLGlCQUFBO0FGdGdFTjtBRTJnRUk7RUFsRUYseUJBd0J3RTtFQXZCeEUsWUF1QmlDO0FGNzlEbkM7QUV3OERFO0VBQ0UsWUFvQitCO0VBbkIvQixZQUFBO0FGdDhESjtBRTI5REU7RUFUQSwwQ0FEbUI7QUY5OERyQjtBRW9nRUk7RUF0RUYseUJBd0J3RTtFQXZCeEUsWUF1QmlDO0FGbDlEbkM7QUU2N0RFO0VBQ0UsWUFvQitCO0VBbkIvQixZQUFBO0FGMzdESjtBRWc5REU7RUFUQSwwQ0FEbUI7QUZuOERyQjtBRTYvREk7RUExRUYseUJBd0J3RTtFQXZCeEUsWUF1QmlDO0FGdjhEbkM7QUVrN0RFO0VBQ0UsWUFvQitCO0VBbkIvQixZQUFBO0FGaDdESjtBRXE4REU7RUFUQSwwQ0FEbUI7QUZ4N0RyQjtBRTRrRUU7RUFDRSxpQkFBQTtBRjFrRUo7QUU2a0VFOzs7O0VBSUUsbUJBQUE7QUYza0VKO0FFOGtFRTs7RUFFRSx3Q0FBQTtBRjVrRUo7QUUra0VFO0VBQ0UsMEJBQUE7QUY3a0VKO0FFZ2xFRTtFQUNFLDBCQUFBO0FGOWtFSjtBRXVyRUU7RUFDRSxxQ0FBQTtBRnJyRUo7QUUwckVFOzs7RUFHRSwwQkFBQTtBRnhyRUo7QUUyckVFO0VBQ0UsMEJBQUE7QUZ6ckVKO0FFNHJFRTtFQUNFLCtCQUFBO0FGMXJFSjtBRTZyRUU7RUFDRSwwQkFBQTtBRjNyRUo7QUU4ckVFOztFQUVFLDBCQUFBO0VBQ0EseUJBQUE7QUY1ckVKO0FFc3BFRTtFQTJDSSwwQkFsQ2E7QUY1cEVuQjtBRWtzRUU7RUFDRSwwQkF2Q2U7QUZ6cEVuQjtBRW1zRUU7RUFPSSwwQkFBQTtBRnZzRU47QUU2b0VFO0VBcUVJLGlDQUFBO0FGL3NFTjtBRTBvRUU7RUE4RU0saUNBQUE7QUZydEVSO0FFc3lFRTtFQUNFLGtDQXRNQTtBRjlsRUo7QUV1eUVFOztFQUVFLGtDQVZpQjtBRjN4RXJCO0FFd3lFRTs7RUFFRSw2RkFBQTtBRnR5RUo7QUV5eUVFOztFQUVFLDRGQUFBO0FGdnlFSjtBRTB5RUU7O0VBRUUsbUJBeEJjO0FGaHhFbEI7QUUyeUVFOztFQUVFLG1CQTVCdUI7QUY3d0UzQjtBRTRrRUU7RUFDRSx5QkFBQTtFQUNBLFlBQUE7QUYxa0VKO0FFNmtFRTtFQUlJLHdDQUFBO0FGOWtFTjtBRXVsRUU7RUFDRSxpQ0FBQTtBRnJsRUo7QUVzbUVFOzs7RUFSTSx3Q0FBQTtBRnpsRVI7QUU2ckVFO0VBbnJHQSwwSEFBQTtFQXFyR0UsdUJBQUE7RUFDQSwwQkFBQTtBRjNyRUo7QUUydkVFO0VBQ0Usa0NBdE1BO0FGbmpFSjtBRTR2RUU7O0VBRUUsa0NBVmlCO0FGaHZFckI7QUU2dkVFOztFQUVFLDZGQUFBO0FGM3ZFSjtBRTh2RUU7O0VBRUUsNEZBQUE7QUY1dkVKO0FFK3ZFRTs7RUFFRSxtQkF4QmM7QUZydUVsQjtBRWd3RUU7O0VBRUUsbUJBNUJ1QjtBRmx1RTNCO0FFaWlFRTtFQUNFLHlCQUFBO0VBQ0EsWUFBQTtBRi9oRUo7QUVraUVFO0VBSUksd0NBQUE7QUZuaUVOO0FFNGlFRTtFQUNFLGlDQUFBO0FGMWlFSjtBRTJqRUU7OztFQVJNLHdDQUFBO0FGOWlFUjtBRXF0RUU7RUFDRSxrQ0F0TUE7QUY3Z0VKO0FFc3RFRTs7RUFFRSxrQ0FWaUI7QUYxc0VyQjtBRXV0RUU7O0VBRUUsNkZBQUE7QUZydEVKO0FFd3RFRTs7RUFFRSw0RkFBQTtBRnR0RUo7QUV5dEVFOztFQUVFLG1CQXhCYztBRi9yRWxCO0FFMHRFRTs7RUFFRSxtQkE1QnVCO0FGNXJFM0I7QUUyL0RFO0VBQ0UseUJBQUE7RUFDQSxZQUFBO0FGei9ESjtBRTQvREU7RUFJSSx3Q0FBQTtBRjcvRE47QUVzZ0VFO0VBQ0UsaUNBQUE7QUZwZ0VKO0FFcWhFRTs7O0VBUk0sd0NBQUE7QUZ4Z0VSO0FFMG5FRTtFQWpzR0Esd0hBQUE7QUYwa0NGO0FFMm5FRTtFQUNFLGNBQUE7QUZ6bkVKO0FFMm5FSTtFQUNFLGNBQUE7QUZ6bkVOO0FFNG5FSTtFQUNFLGNBQUE7QUYxbkVOO0FFOG5FRTtFQUNFLDBCQUFBO0FGNW5FSjtBRTh0RUU7RUFwekdBLDhIQUFBO0VBc3pHRSxpQkFBQTtFQUNBLDBCQUFBO0FGNXRFSjtBRWcyREU7RUFDRSxxQ0FBQTtBRjkxREo7QUVpMkRFO0VBQ0UsdUNBQUE7QUYvMURKO0FFNHlFRTtFQUVFLGlCQUFBO0VBQ0EsMEJBQUE7QUYzeUVKO0FFMWxDRTtFQVhBLHlIQUFBO0FGd21DRjtBRTJ5RUU7RUFDRSxxQ0FBQTtBRnp5RUo7QUVxeEVNO0VBd0JGLCtCQUFBO0FGMXlFSjtBRSt5RUU7RUFDRTtJQUVFLGlCQUFBO0VGOXlFSjtBQUNGO0FFaXpFRTtFQUNFLDBCQUFBO0FGL3lFSjtBRWt6RUU7O0VBRUUsMEJBQUE7QUZoekVKO0FFbXpFRTtFQUNFLDBCQUFBO0FGanpFSjtBRW16RUk7O0VBRUUsY0FBQTtBRmp6RU47QUU2MEVJO0VBQ0UsWUFMZTtBRnQwRXJCO0FFNjBFTTtFQUNFLFlBVlk7QUZqMEVwQjtBRWczSkU7RUFDRSx5QkFYWTtBRmwySmhCO0FFZzNKRTtFQUNFLHlCQWZZO0FGLzFKaEI7QUVpM0pFO0VBQ0UsY0FsQm9CO0FGNzFKeEI7QUVpM0pJO0VBQ0UsY0FoQnFCO0FGLzFKM0I7QUVrM0pJO0VBQ0UsY0FuQm1CO0FGNzFKekI7QUVvM0pFO0VBQ0UsY0E3QnFCO0FGcjFKekI7QUVxM0pFO0VBQ0UscUNBOUJxQjtBRnIxSnpCO0FFdTNKSTtFQUNFLHlCQWhDc0I7QUZyMUo1QjtBRXUzSk07RUFDRSx5QkFyQ21CO0FGaDFKM0I7QUV3M0pNO0VBQ0UseUJBeENpQjtBRjkwSnpCO0FFNDNKSTtFQUNFLGNBOUNzQjtBRjUwSjVCO0FFNjNKSTtFQUNFLGNBcERxQjtBRnYwSjNCO0FFODNKSTtFQUNFLGNBdkRtQjtBRnIwSnpCO0FFbzRKSTtFQUNFLGNBaEVtQjtBRmwwSnpCO0FFbzRKTTs7RUFFRSxjQXBFaUI7QUY5ekp6QjtBRXM0Skk7O0VBRUUseUJBMUVtQjtBRjF6SnpCO0FFdzRKRTtFQUNFLGNBL0VxQjtBRnZ6SnpCO0FFbzZJSTtFQUNFLDBCQUxVO0FGNzVJaEI7QUVxNklJO0VBQ0UsMEJBVFU7QUYxNUloQjtBRXM2SUk7RUFDRSxxQ0FaYztBRng1SXBCO0FFdTZJSTtFQWovREYsNEdBQUE7RUFDQSx5QkFBQTtFQUNBLDJCQUFBO0FGbjdFRjtBRXF2Skk7RUFDRSxxQ0FKYztBRi91SnBCO0FFc3ZKSTtFQXgwRUYsNEdBQUE7RUFDQSx5QkFBQTtFQUNBLDJCQUFBO0FGMzZFRjtBRW94SUk7RUFDRSxxQ0FQYztBRjN3SXBCO0FFcXhJSTtFQUNFLHFDQVZ1QjtBRnp3STdCO0FFc3hJSTtFQUNFLHFDQWJjO0FGdndJcEI7QUV3eElNO0VBQ0UsMEJBakJpQjtBRnJ3SXpCO0FFeXhJTTtFQUNFLDZCQUFBO0FGdnhJUjtBRTRrSkk7RUFDRSwwQkFUWTtBRmprSmxCO0FFNmtKSTtFQUNFLDBCQVprQjtBRi9qSnhCO0FFK2tKTTtFQUNFLGNBaEJrQjtBRjdqSjFCO0FFZ2xKTTtFQUNFLGNBbkJpQjtBRjNqSnpCO0FFaWxKTTtFQUNFLGNBdEJlO0FGempKdkI7QUVxbEpNO0VBQ0UsY0E3QmU7QUZ0akp2QjtBRXdsSk07RUFDRSwwQkF4Q2lCO0FGOWlKekI7QUV5bEpNO0VBQ0UsMEJBdENtQjtBRmpqSjNCO0FFbzFFSTtFQUNFLGNBQUE7QUZsMUVOO0FFcTFFSTtFQUNFLGNBQUE7QUZuMUVOO0FFczFFSTtFQUNFLGNBQUE7QUZwMUVOO0FFZzhFRTtFQUNFLDBCQUFBO0FGOTdFSjtBRWk4RUU7O0VBRUUsMEJBQUE7QUYvN0VKO0FFazhFRTtFQUNFLG9CQUFBO0FGaDhFSjtBRXU0RUU7RUE0REksMEJBQUE7QUZoOEVOO0FFbzRFRTtFQTRESSwwQkFBQTtBRmg4RU47QUVvNEVFO0VBNERJLDBCQUFBO0FGaDhFTjtBRXc0RUU7RUF3REksMEJBQUE7QUY3N0VOO0FFeTRFRTtFQW9ESSwwQkFBQTtBRjE3RU47QUUwNEVFO0VBZ0RJLDBCQUFBO0FGdjdFTjtBRTA4RUU7RUFDRSxvQkFBQTtBRng4RUo7QUUyOEVFOztFQUVFLG9CQUFBO0FGejhFSjtBRTQ4RUU7RUFDRSxjQUFBO0FGMThFSjtBRSsvRUk7RUFDRSwwQkFBQTtBRjcvRU47QUVnZ0ZJO0VBQ0UsMEJBQUE7QUY5L0VOO0FFaWdGSTtFQUNFLDBCQUFBO0FGLy9FTjtBRW1nRkU7RUFDRSx5QkFBQTtBRmpnRko7QUV1Z0ZJOzs7OztFQUNFLCtCQUFBO0FGamdGTjtBRXNnRkk7RUFDRSwrQkFBQTtBRnBnRk47QUU0bEZFO0VBRUUsaUJBQUE7QUYzbEZKO0FFanpDRTtFQVhBLDBIQUFBO0FGK3pDRjtBRTJsRkU7RUFDRSx1QkFBQTtFQUNBLDBCQUFBO0FGemxGSjtBRTRsRk07O0VBR0UsMEJBQUE7QUYzbEZSO0FFZ21GRTs7RUFFRSwwQkFBQTtBRjlsRko7QUVxbUZJOzs7O0VBQ0UsK0JBQUE7QUZobUZOO0FFOHBGRTtFQUNFLGlCQUFBO0FGNXBGSjtBRStwRkU7O0VBRUUsMEJBQUE7QUY3cEZKO0FFZ3FGRTs7RUFFRSx5Q0FBQTtFQUNBLDJDQUFBO0FGOXBGSjtBRWlxRkU7O0VBRUUseUNBQUE7QUYvcEZKO0FFbXFGSTs7OztFQUlFLGlDQUFBO0FGanFGTjtBRXNyRkk7RUFDRSxnQkFKSztBRmhyRlg7QUVxdEZFO0VBQ0UsYUFBQTtBRmx0Rko7QUVxdEZFO0VBQ0UseUJBQUE7QUZudEZKO0FFc3RGRTtFQUNFLHlCQUFBO0FGcHRGSjtBRXd0Rkk7RUFDRSxhQUFBO0FGdHRGTjtBRXl0Rkk7RUFDRSx5QkFBQTtBRnZ0Rk47QUUwdEZJO0VBQ0UseUJBQUE7QUZ4dEZOO0FFNnRGSTtFQUNFLGFBQUE7QUYzdEZOO0FFOHRGSTtFQUNFLHlCQUFBO0FGNXRGTjtBRSt0Rkk7RUFDRSx5QkFBQTtBRjd0Rk47QUVvd0ZJO0VBQ0UsZUFBQTtBRmx3Rk47QUVxd0ZJO0VBQ0UsZUFBQTtBRm53Rk47QUVzd0ZJO0VBQ0UsZUFBQTtBRnB3Rk47QUV5ekZFO0VBQ0UsaUNBQUE7QUZ2ekZKO0FFa3lGRTtFQUNFLHFCQUFBO0FGaHlGSjtBRW15RkU7O0VBSUUseUJBQUE7QUZueUZKO0FFMnhGRTtFQUNFLHFCQUFBO0FGenhGSjtBRTR4RkU7O0VBSUUseUJBQUE7QUY1eEZKO0FFb3hGRTtFQUNFLHFCQUFBO0FGbHhGSjtBRXF4RkU7O0VBSUUseUJBQUE7QUZyeEZKO0FFc3pGTTs7RUFFRSxpQ0FBQTtBRnB6RlI7QUV1ekZNOztFQUVFLHFDQUFBO0FGcnpGUjtBRXd6Rk07RUFDRSwwQkFBQTtBRnR6RlI7QUU0ekZJO0VBQ0UsdUJBQUE7QUYxekZOO0FFMDJGRTtFQUNFLDBCQUFBO0FGeDJGSjtBRTIyRkU7RUFDRSwwQkFBQTtBRnoyRko7QUU0MkZFO0VBQ0UsMEJBQUE7QUYxMkZKO0FFNjJGRTtFQUNFLDBCQUFBO0FGMzJGSjtBRTgyRkU7RUFDRSxpQkFBQTtBRjUyRko7QUV6N0NFO0VBWEEsMEhBQUE7QUZ1OENGO0FFNDJGSTtFQUNFLCtCQUFBO0FGMTJGTjtBRWczRk07RUFDRSxjQUFBO0FGOTJGUjtBRWkzRk07RUFDRSxjQUFBO0FGLzJGUjtBRWszRk07RUFDRSxjQUFBO0FGaDNGUjtBRW8zRkk7RUFDRSxjQUFBO0FGbDNGTjtBRXEzRkk7RUFDRSwwQkFBQTtBRm4zRk47QUU0NkZFO0VBQ0UseUJBTG1DO0VBTW5DLDBCQUFBO0FGMTZGSjtBRTY2RkU7RUFDRSx1QkFYd0I7RUFZeEIsMEJBQUE7QUYzNkZKO0FFNjZGSTtFQUNFLHVCQWIyQjtBRjk1RmpDO0FFODZGSTtFQWw1SUYsNkhBQUE7QUZ1K0NGO0FFazdGRTtFQUNFLDJDQXZCbUI7QUZ6NUZ2QjtBRWs3Rkk7RUFDRSwwQ0ExQmlCO0VBMkJqQixrQkFBQTtBRmg3Rk47QUVvN0ZFO0VBQ0UsMENBaENtQjtFQWlDbkIsa0JBQUE7QUZsN0ZKO0FFbzdGSTtFQUNFLGlCQUFBO0VBQ0EsMkNBckNpQjtBRjc0RnZCO0FFczdGRTtFQVFJLG9DQUFBO0FGMzdGTjtBRW8rRkk7RUFDRSx5QkFBQTtBRmwrRk47QUVxK0ZJO0VBR0UseUNBQUE7QUZyK0ZOO0FFdytGSTtFQUdFLHlCQUFBO0FGeCtGTjtBRTI5Rkk7RUFDRSx5QkFBQTtBRno5Rk47QUU0OUZJO0VBR0UseUNBQUE7QUY1OUZOO0FFKzlGSTtFQUdFLHlCQUFBO0FGLzlGTjtBRWs5Rkk7RUFDRSx5QkFBQTtBRmg5Rk47QUVtOUZJO0VBR0UseUNBQUE7QUZuOUZOO0FFczlGSTtFQUdFLHlCQUFBO0FGdDlGTjtBRTIvRkk7RUFHRSx1QkFoQnFCO0FGMytGM0I7QUUrL0ZFO0VBdGhKQSx5SEFBQTtFQXdoSkUseUJBQUE7QUY3L0ZKO0FFZ2dHRTtFQUNFLHFDQTNCb0I7QUZuK0Z4QjtBRTRrR0U7RUFDRSxxQ0FWcUI7QUZoa0d6QjtBRWlpR0U7OztFQUdFLHlCQUFBO0FGL2hHSjtBRWtpR0U7RUFDRSxZQUFBO0FGaGlHSjtBRW1pR0U7RUFHRSx3Q0FEUTtBRmxpR1o7QUVzaEdFOzs7RUFHRSx5QkFBQTtBRnBoR0o7QUV1aEdFO0VBQ0UsWUFBQTtBRnJoR0o7QUV3aEdFO0VBR0Usd0NBRFE7QUZ2aEdaO0FFMmdHRTs7O0VBR0UseUJBQUE7QUZ6Z0dKO0FFNGdHRTtFQUNFLFlBQUE7QUYxZ0dKO0FFNmdHRTtFQUdFLHdDQURRO0FGNWdHWjtBRTBqR0k7O0VBQ0UscUNBM0IyQjtBRjVoR2pDO0FFNGpHSTs7O0VBR0UscUNBbEN3QjtBRnhoRzlCO0FFOGpHTTtFQUNFLHFDQXZDc0I7QUZyaEc5QjtBRWtrR0k7RUFHRSxxQ0FEUTtBRmprR2Q7QUU0a0dNOztFQUVFLHFDQTNEcUM7QUYvZ0c3QztBRThrR1E7O0VBRUUscUNBaEV5QztBRjVnR25EO0FFa2xHTTtFQUNFLGlDQTNFaUI7RUE0RWpCLDZCQUFBO0FGaGxHUjtBRXFsR1E7RUFDRSxpQ0FqRnVCO0FGbGdHakM7QUVzbEdRO0VBQ0UsaUNBcEZvQjtBRmhnRzlCO0FFMGxHRTtFQUNFLGdDQXZGc0I7QUZqZ0cxQjtBRWltR0U7RUFDRSw2SEFBQTtFQUlBLG1JQUFBO0FGbG1HSjtBRTRtR0U7RUFDRSw4SEFBQTtBRjFtR0o7QUVpc0dJO0VBR0UscUNBQUE7QUZqc0dOO0FFdXNHSTtFQUNFO0lBQ0UsZ0JBQUE7RUZyc0dOO0FBQ0Y7QUV3c0dJOztFQUlFLDBCQUFBO0FGeHNHTjtBRTJzR0k7RUFHRSxxQ0FBQTtFQUNBLFlBQUE7QUYzc0dOO0FFOHNHSTs7O0VBR0UseUJBQUE7RUFDQSxZQUFBO0FGNXNHTjtBRWd0R007RUFDRSxZQUFBO0FGOXNHUjtBRWl0R007OztFQUdFLHlCQUFBO0VBQ0EsWUFBQTtBRi9zR1I7QUVvdEdNO0VBQ0UsWUFBQTtBRmx0R1I7QUVxdEdNOzs7RUFHRSx5QkFBQTtFQUNBLFlBQUE7QUZudEdSO0FFdXRHSTtFQUNFLDZCQUFBO0VBQ0EsY0FBQTtBRnJ0R047QUV3dEdJO0VBQ0UsMEJBQUE7QUZ0dEdOO0FFeXRHSTtFQUNFLGNBQUE7QUZ2dEdOO0FFMnRHRTtFQUNFLHVCQUFBO0FGenRHSjtBRTR0R0U7RUFDRSxzQ0FBQTtBRjF0R0o7QUU2dEdFOzs7RUFHRSxxQ0FBQTtBRjN0R0o7QUVrd0dJO0VBQ0UsWUFMSztBRjN2R1g7QUVtd0dJOztFQUVFLGtCQUFBO0FGaHdHTjtBRXF3R0k7RUFDRSxVQUFBO0VBQ0EsYUFBQTtBRmx3R047QUV1d0dNO0VBQ0UsU0FBQTtBRnB3R1I7QUV5d0dJO0VBQ0UsU0FBQTtBRnR3R047QUVxeUdFO0VBWUksY0FBQTtBRjd5R047QUV5MUdFOztFQUVFLDRDQUpjO0FGbjFHbEI7QUUyMUdJOztFQUVFLHlDQVZZO0VBV1osbUJBQUE7QUZ6MUdOO0FFNjFHRTtFQUNFLDBCQUFBO0FGMzFHSjtBRTYxR0k7RUFDRSwwQkFBQTtBRjMxR047QUUrMUdFO0VBQ0UsaUNBQUE7QUY3MUdKO0FFZzJHRTtFQUNFLGlDQUFBO0FGOTFHSjtBRWsyR0U7O0VBRUUsbUJBQUE7RUFDQSxnQkFBQTtBRmgyR0o7QUU4NEdNOzs7OztFQUNFLDBDQUFBO0FGeDRHUjtBRTYzR0U7RUFDRSx5QkFBQTtBRjMzR0o7QUUwM0dFO0VBQ0UsdUJBQUE7QUZ4M0dKO0FFaTRHTTs7Ozs7RUFDRSwwQ0FBQTtBRjMzR1I7QUVnM0dFO0VBQ0UseUJBQUE7QUY5MkdKO0FFNjJHRTtFQUNFLHVCQUFBO0FGMzJHSjtBRW8zR007Ozs7O0VBQ0UsMENBQUE7QUY5MkdSO0FFbTJHRTtFQUNFLHlCQUFBO0FGajJHSjtBRWcyR0U7RUFDRSx1QkFBQTtBRjkxR0o7QUV1MkdNOzs7OztFQUNFLDBDQUFBO0FGajJHUjtBRTQyR0U7RUFDRSx5QkFBQTtBRjEyR0o7QUU4MkdFO0VBQ0UsWUFBQTtBRjUyR0o7QUU4MkdJO0VBQ0UsK0JBQUE7QUY1MkdOO0FFaTNHRTs7Ozs7RUFHRSxtQkFBQTtBRjcyR0o7QUVnM0dFO0VBQ0Usc0NBQUE7QUY5MkdKO0FFbTNHRTs7O0VBRUUsMkNBQUE7QUZoM0dKO0FFdzBHTTs7Ozs7RUFDRSwwQ0FBQTtBRmwwR1I7QUU2MEdFO0VBQ0UseUJBQUE7QUYzMEdKO0FFKzBHRTtFQUNFLFlBQUE7QUY3MEdKO0FFKzBHSTtFQUNFLCtCQUFBO0FGNzBHTjtBRWsxR0U7Ozs7O0VBR0UsbUJBQUE7QUY5MEdKO0FFaTFHRTtFQUNFLHNDQUFBO0FGLzBHSjtBRW8xR0U7OztFQUVFLDJDQUFBO0FGajFHSjtBRXl5R007Ozs7O0VBQ0UsMENBQUE7QUZueUdSO0FFOHlHRTtFQUNFLHlCQUFBO0FGNXlHSjtBRWd6R0U7RUFDRSxZQUFBO0FGOXlHSjtBRWd6R0k7RUFDRSwrQkFBQTtBRjl5R047QUVtekdFOzs7OztFQUdFLG1CQUFBO0FGL3lHSjtBRWt6R0U7RUFDRSxzQ0FBQTtBRmh6R0o7QUVxekdFOzs7RUFFRSwyQ0FBQTtBRmx6R0o7QUV1NkdFO0VBQ0Usc0JBQUE7RUFDQSwwQkFBQTtBRnI2R0o7QUV1NkdJO0VBcENGLG1CQUFBO0VBQ0EsWUFBQTtBRmg0R0Y7QUV1NkdJO0VBeENGLG1CQUFBO0VBQ0EsWUFBQTtBRjUzR0Y7QUV1NkdJO0VBNUNGLG1CQUFBO0VBQ0EsWUFBQTtBRngzR0Y7QUU0M0dFOzs7RUFHRSw4QkFBQTtBRjEzR0o7QUU2M0dFOzs7OztFQUtFLGNBQUE7QUYzM0dKO0FFODNHRTtFQUNFLHlCQUFBO0FGNTNHSjtBRSsxR0U7RUFDRSxnQkE0RWU7QUZ6NkduQjtBRSsxR0U7RUFDRSxZQXlFZTtBRnI2R25CO0FFaTdHSTtFQXpGRjtJQUNFLGdCQThFYztFRmw2R2hCOztFRXMxR0E7SUFDRSxZQTJFYztFRjk1R2hCO0FBQ0Y7QUVpOUdFO0VBQ0UsaUNBQUE7QUYvOEdKO0FFdTJJRTtFQUNFLGlCQUFBO0FGcjJJSjtBRXcySUU7O0VBRUUsMEJBQUE7QUZ0MklKO0FFNDNJSTtFQUNFLGdCQUpLO0FGdDNJWDtBRXkvR0U7RUFHRSwrQkFBQTtFQUNBLG1CQUFBO0VBMzVLRiwySEFBQTtBRm82REY7QUU0L0dFO0VBQ0UsY0FBQTtBRjEvR0o7QUU1bEJFO0VBSUksMENBQUE7QUY0bEJOO0FFeFdFO0VBQ0UsWUFBQTtBRjBXSjtBRXhXSTtFQUVFLHFDQUFBO0FGeVdOO0FFcldJO0VBQ0UscUNBQUE7QUZ1V047QUVwV0k7RUFDRSxxQ0FBQTtFQUNBLFlBQUE7QUZzV047QUVuV0k7RUFDRSwrQkFBQTtBRnFXTjtBRWpXRTtFQUNFLGNBQUE7QUZtV0o7QUVoV0U7RUFDRSxjQUFBO0FGa1dKO0FFL1ZFO0VBQ0UsY0FBQTtBRmlXSjtBRXRURTtFQUNFLCtCQUFBO0FGd1RKO0FFclRFO0VBQ0UsK0JBQUE7QUZ1VEo7QUVyUUU7RUFDRSwrQkFBQTtBRnVRSjtBRXJRSTtFQUNFLGNBQUE7QUZ1UU47QUVuUUU7RUFDRSxjQVplO0FGaVJuQjtBRWxRRTs7RUFFRSxtQkFBQTtBRm9RSjtBRTVQRTs7OztFQUlFLG1CQUFBO0FGOFBKO0FFM1BFOztFQUVFLG1CQUFBO0FGNlBKO0FFeFBJOztFQUNFLG1CQXhDYTtBRm1TbkI7QUV1NUlFO0VBSUUseUJBQUE7RUFDQSxZQUFBO0FGeDVJSjtBRSs1SUk7RUF4NE1GLHdIQUFBO0FGNCtERjtBRTQ1SUk7RUF4NE1GLHlIQUFBO0FGKytERjtBRXk1SUk7RUF4NE1GLHlIQUFBO0FGay9ERjtBRXM1SUk7RUF4NE1GLHlIQUFBO0FGcS9ERjtBRW01SUk7RUF4NE1GLDBIQUFBO0FGdy9ERjtBRWc1SUk7RUF4NE1GLDBIQUFBO0FGMi9ERjtBRTY0SUk7RUF4NE1GLDJIQUFBO0FGOC9ERjtBRTA0SUk7RUF4NE1GLDJIQUFBO0FGaWdFRjtBRXU0SUk7RUF4NE1GLDJIQUFBO0FGb2dFRjtBRW80SUk7RUF4NE1GLDJIQUFBO0FGdWdFRjtBRWk0SUk7RUF4NE1GLDRIQUFBO0FGMGdFRjtBRTgzSUk7RUF4NE1GLDRIQUFBO0FGNmdFRjtBRTIzSUk7RUF4NE1GLDRIQUFBO0FGZ2hFRjtBRXczSUk7RUF4NE1GLDRIQUFBO0FGbWhFRjtBRXEzSUk7RUF4NE1GLDRIQUFBO0FGc2hFRjtBRWszSUk7RUF4NE1GLDRIQUFBO0FGeWhFRjtBRSsySUk7RUF4NE1GLDZIQUFBO0FGNGhFRjtBRTQySUk7RUF4NE1GLDZIQUFBO0FGK2hFRjtBRXkySUk7RUF4NE1GLDZIQUFBO0FGa2lFRjtBRXMySUk7RUF4NE1GLDZIQUFBO0FGcWlFRjtBRW0ySUk7RUF4NE1GLDhIQUFBO0FGd2lFRjtBRWcySUk7RUF4NE1GLDhIQUFBO0FGMmlFRjtBRTYxSUk7RUF4NE1GLDhIQUFBO0FGOGlFRjtBRTAxSUk7RUF4NE1GLDhIQUFBO0FGaWpFRjtBRXUxSUk7RUF4NE1GLDhIQUFBO0FGb2pFRjtBRTIxSUk7RUFDRSxhQUFBO0FGejFJTjtBRWpGRTtFQUVFLG1CQUFBO0VBQ0EsWUFBQTtBRm1GSjtBRWpqRUU7RUFYQSwwSEFBQTtBRitqRUY7QUUvRUk7RUFDRSxtQkFBQTtBRmlGTjtBRS9FTTtFQUNFLFlBQUE7QUZpRlI7QUU2Q0U7RUFDRSxZQUFBO0VBQ0EsbUJBQUE7QUYzQ0o7QUV4NUVJO0VBczhFRSxrQkFBQTtFQUNBLGdCQUFBO0FGM0NOO0FFZ0RJO0VBQ0UsbUJBQUE7RUFDQSxZQUFBO0FGN0NOO0FFa0RJO0VBQ0UsWUFBQTtFQUNBLG1CQUFBO0FGaEROO0FFb0RFO0VBQ0Usa0JBQUE7QUZsREo7QUVzREk7RUFDRSxhQUFBO0FGcEROO0FFeURJO0VBV0ksbUJBQUE7RUFNRiwrQkFBQTtBRnRFTjtBRTBFRTtFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxxQkFBQTtFQUNBLGtCQUFBO0VBQ0EsdUNBQUE7RUFDQSxxQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLG9CQUFBO0FGeEVKO0FFMkVFOztFQUVFLGdCQUFBO0FGekVKO0FFOEVFO0VBRUUsZUFBQTtBRjdFSjtBRWxGRTtFQUNFLFdBTm1CO0VBT25CLFlBUG1CO0VBUW5CLGlCQVJtQjtBRjRGdkI7QUVoRkk7RUFDRSxTQUFBO0FGa0ZOO0FFN0VJO0VBQ0UsWUFBQTtBRitFTjtBRTFFSTtFQUNFLFdBQUE7QUY0RU47QUV2RUk7RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRnlFTjtBRXBFSTtFQUNFLFlBQUE7QUZzRU47QUVqRUk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRm1FTjtBRTdETTtFQUNFLFVBQUE7QUYrRFI7QUUxRE07RUFDRSxVQUFBO0VBQ0EsV0FBQTtBRjREUjtBRXZETTtFQUNFLFdBQUE7QUZ5RFI7QUVwRE07RUFDRSxXQUFBO0VBQ0EsVUFBQTtBRnNEUjtBRXpIRTtFQUNFLFdBUHFCO0VBUXJCLFlBUnFCO0VBU3JCLGlCQVRxQjtBRm9JekI7QUV2SEk7RUFDRSxVQUFBO0FGeUhOO0FFcEhJO0VBQ0UsYUFBQTtBRnNITjtBRWpISTtFQUNFLFdBQUE7QUZtSE47QUU5R0k7RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRmdITjtBRTNHSTtFQUNFLFlBQUE7QUY2R047QUV4R0k7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRjBHTjtBRXBHTTtFQUNFLFdBQUE7QUZzR1I7QUVqR007RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRm1HUjtBRTlGTTtFQUNFLFlBQUE7QUZnR1I7QUUzRk07RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRjZGUjtBRWhLRTtFQUNFLFdBTG1CO0VBTW5CLFlBTm1CO0VBT25CLGlCQVBtQjtBRnlLdkI7QUU5Skk7RUFDRSxVQUFBO0FGZ0tOO0FFM0pJO0VBQ0UsYUFBQTtBRjZKTjtBRXhKSTtFQUNFLFdBQUE7QUYwSk47QUVySkk7RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRnVKTjtBRWxKSTtFQUNFLFlBQUE7QUZvSk47QUUvSUk7RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRmlKTjtBRTNJTTtFQUNFLFdBQUE7QUY2SVI7QUV4SU07RUFDRSxVQUFBO0VBQ0EsWUFBQTtBRjBJUjtBRXJJTTtFQUNFLFlBQUE7QUZ1SVI7QUVsSU07RUFDRSxXQUFBO0VBQ0EsV0FBQTtBRm9JUjtBRXVCRTtFQS92RUEsNkhBQUE7RUFpd0VFLG1CQUFBO0VBQ0EsWUFBQTtBRnJCSjtBRWtKRTtFQUtFLGNBQUE7RUFDQSx1QkFBQTtBRnBKSjtBRW9IRTtFQUNFLGNBQUE7QUZsSEo7QUVvSEU7RUFDRSxjQUFBO0FGbEhKO0FFb0hFO0VBQ0UsY0FBQTtBRmxISjtBRXNISTtFQUVFLCtCQUFBO0FGckhOO0FFa0RFO0VBQ0UseUJBQUE7QUZoREo7QUVtREU7RUFDRSx5QkFBQTtBRmpESjtBRW9ERTtFQUNFLHlCQUFBO0FGbERKO0FFcURFO0VBQ0UsNkJBQUE7QUZuREo7QUVvSUk7RUFDRSxZQXhHdUI7RUF5R3ZCLDhCQUFBO0FGbElOO0FFc0lFO0VBQ0UsaUJBQUE7QUZwSUo7QUV5SUU7RUFDRSx1Q0FBQTtBRnZJSjtBRTBJRTtFQUVFLFlBQUE7RUFDQSx5QkFBQTtBRnpJSjtBRThFRTtFQUNFLFlBQUE7QUY1RUo7QUU4RUU7RUFDRSxZQUFBO0FGNUVKO0FFOEVFO0VBQ0UsWUFBQTtBRjVFSjtBRWdGSTtFQUVFLCtCQUFBO0FGL0VOO0FFa0VFO0VBQ0UseUJBQUE7QUZoRUo7QUVrRUU7RUFDRSx5QkFBQTtBRmhFSjtBRWtFRTtFQUNFLHlCQUFBO0FGaEVKO0FFb0VJO0VBRUUsMkNBQUE7QUZuRU47QUVpQ0U7RUFYQSwwQ0FEbUI7QUZsQnJCO0FFa0NFO0VBZkEsMENBRG1CO0FGZnJCO0FFbUNFO0VBbkJBLDBDQURtQjtBRlpyQjtBRTd5RUU7RUFYQSx3SEFBQTtBRjJ6RUY7QUVoekVFO0VBWEEseUhBQUE7QUY4ekVGO0FFbnpFRTtFQVhBLDJIQUFBO0FGaTBFRjtBRXR6RUU7RUFYQSx3SEFBQTtBRm8wRUY7QUV6ekVFO0VBWEEsMkhBQUE7QUZ1MEVGO0FFNXpFRTtFQVhBLDRIQUFBO0FGMDBFRjtBRS96RUU7RUFYQSx3SEFBQTtBRjYwRUY7QUVvTEU7O0VBamdGQSx5SEFBQTtBRmkxRUY7QUVxTEU7O0VBRUUsZ0JBQUE7QUZuTEo7QUVzTEU7RUFDRSwrQkFBQTtBRnBMSjtBRXNMSTtFQUNFLDJDQUFBO0FGcExOO0FFd0xFO0VBQ0UsWUFBQTtFQUNBLG1CQUFBO0FGdExKO0FFd0xJO0VBQ0UsdUJBQUE7QUZ0TE47QUUwTEU7RUFDRSxnREFBQTtBRnhMSjtBRTJMRTtFQUNFLGlCQUFBO0VBQ0EsaURBQUE7QUZ6TEo7QUU2TEk7RUFDRSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsK0NBQUE7QUYzTE47QUUrTEU7RUFDRSx5QkFBQTtFQUNBLCtCQUFBO0FGN0xKO0FFK0xJO0VBQ0UsWUFBQTtBRjdMTjtBRWlNRTtFQUNFLCtCQUFBO0VBQ0EsdUJBQUE7QUYvTEo7QUVpTUk7RUFDRSxtQkFBQTtBRi9MTjtBRWtNSTtFQUNFLHlCQUFBO0FGaE1OO0FFb01FOztFQUVFLDJDQUFBO0FGbE1KO0FFdVBFO0VBRUUsbUJBQUE7RUFDQSxZQUFBO0FGdFBKO0FFNTNFRTtFQVhBLHlIQUFBO0FGMDRFRjtBRS8zRUU7RUFYQSx3SEFBQTtBRjY0RUY7QUV3UEU7RUFDRSwrQkFBQTtBRnRQSjtBRThURTtFQUNFLHNDQUFBO0FGNVRKO0FFK1RFO0VBQ0UsYUFkb0I7QUYvU3hCO0FFZ1VFO0VBR0UsMEJBQUE7QUZoVUo7QUVtVUU7RUFDRSx5QkF4Qm9CO0FGelN4QjtBRXFVSTtFQUNFLHlCQUFBO0FGblVOO0FFc1VJO0VBQ0UseUJBQUE7QUZwVU47QUV1VUk7RUFDRSx5QkFBQTtBRnJVTjtBRTRVTTtFQUNFLHlCQXRDVztBRnBTbkI7QUUrVU07RUFDRSxxQkE1Q1c7QUZqU25CO0FFaVZJO0VBQ0UsK0JBQUE7QUYvVU47QUVxVkU7RUFDRSx1QkFBQTtBRm5WSjtBRXdWSTs7RUFDRSxtQkFBQTtBRnJWTjtBRXdWSTs7RUFDRSxtQkFBQTtBRnJWTjtBRXdWSTs7RUFDRSxtQkFBQTtBRnJWTjtBRThhRTtFQTNDQSx5QkF3Q3dCO0VBdkN4QixZQXdDd0I7QUZ4YTFCO0FFa1lFO0VBQ0UsWUFxQ3NCO0VBcEN0QixZQUFBO0FGaFlKO0FFMGFNO0VBLzJGSix5SEFBQTtBRnc4RUY7QUUyYU07RUFDRSxhQUFBO0FGemFSO0FFNmFJO0VBQ0UsWUFBQTtBRjNhTjtBRThhSTtFQUNFLGlCQUFBO0FGNWFOO0FFaWJJO0VBbEVGLHlCQXdCd0U7RUF2QnhFLFlBdUJpQztBRm5ZbkM7QUU4V0U7RUFDRSxZQW9CK0I7RUFuQi9CLFlBQUE7QUY1V0o7QUVpWUU7RUFUQSwwQ0FEbUI7QUZwWHJCO0FFMGFJO0VBdEVGLHlCQXdCd0U7RUF2QnhFLFlBdUJpQztBRnhYbkM7QUVtV0U7RUFDRSxZQW9CK0I7RUFuQi9CLFlBQUE7QUZqV0o7QUVzWEU7RUFUQSwwQ0FEbUI7QUZ6V3JCO0FFbWFJO0VBMUVGLHlCQXdCd0U7RUF2QnhFLFlBdUJpQztBRjdXbkM7QUV3VkU7RUFDRSxZQW9CK0I7RUFuQi9CLFlBQUE7QUZ0Vko7QUUyV0U7RUFUQSwwQ0FEbUI7QUY5VnJCO0FFa2ZFO0VBQ0UsbUJBQUE7QUZoZko7QUVtZkU7Ozs7RUFJRSxtQkFBQTtBRmpmSjtBRW9mRTs7RUFFRSw4Q0FBQTtBRmxmSjtBRXFmRTtFQUNFLCtCQUFBO0FGbmZKO0FFc2ZFO0VBQ0UsWUFBQTtBRnBmSjtBRTZsQkU7RUFDRSx1QkFBQTtBRjNsQko7QUVnbUJFOzs7RUFHRSxZQUFBO0FGOWxCSjtBRWltQkU7RUFDRSwrQkFBQTtBRi9sQko7QUVrbUJFO0VBQ0UscUNBQUE7QUZobUJKO0FFbW1CRTtFQUNFLCtCQUFBO0FGam1CSjtBRW9tQkU7O0VBRUUsWUFBQTtFQUNBLHlCQUFBO0FGbG1CSjtBRTRqQkU7RUEyQ0ksK0JBbENhO0FGbGtCbkI7QUV3bUJFO0VBQ0UsK0JBdkNlO0FGL2pCbkI7QUV5bUJFO0VBT0ksZ0NBQUE7QUY3bUJOO0FFbWpCRTtFQXFFSSxzQ0FBQTtBRnJuQk47QUVnakJFO0VBOEVNLHNDQUFBO0FGM25CUjtBRTRzQkU7RUFDRSxtQ0F0TUE7QUZwZ0JKO0FFNnNCRTs7RUFFRSxrQ0FWaUI7QUZqc0JyQjtBRThzQkU7O0VBRUUsOEZBQUE7QUY1c0JKO0FFK3NCRTs7RUFFRSw2RkFBQTtBRjdzQko7QUVndEJFOztFQUVFLG1CQXhCYztBRnRyQmxCO0FFaXRCRTs7RUFFRSxtQkE1QnVCO0FGbnJCM0I7QUVrZkU7RUFDRSx5QkFBQTtFQUNBLFlBQUE7QUZoZko7QUVtZkU7RUFJSSx5Q0FBQTtBRnBmTjtBRTZmRTtFQUNFLGlDQUFBO0FGM2ZKO0FFNGdCRTs7O0VBUk0seUNBQUE7QUYvZlI7QUVtbUJFO0VBbnJHQSwwSEFBQTtFQXFyR0UseUJBQUE7RUFDQSxZQUFBO0FGam1CSjtBRWlxQkU7RUFDRSxtQ0F0TUE7QUZ6ZEo7QUVrcUJFOztFQUVFLGtDQVZpQjtBRnRwQnJCO0FFbXFCRTs7RUFFRSw4RkFBQTtBRmpxQko7QUVvcUJFOztFQUVFLDZGQUFBO0FGbHFCSjtBRXFxQkU7O0VBRUUsbUJBeEJjO0FGM29CbEI7QUVzcUJFOztFQUVFLG1CQTVCdUI7QUZ4b0IzQjtBRXVjRTtFQUNFLHlCQUFBO0VBQ0EsWUFBQTtBRnJjSjtBRXdjRTtFQUlJLHlDQUFBO0FGemNOO0FFa2RFO0VBQ0UsaUNBQUE7QUZoZEo7QUVpZUU7OztFQVJNLHlDQUFBO0FGcGRSO0FFMm5CRTtFQUNFLGtDQXRNQTtBRm5iSjtBRTRuQkU7O0VBRUUsa0NBVmlCO0FGaG5CckI7QUU2bkJFOztFQUVFLDZGQUFBO0FGM25CSjtBRThuQkU7O0VBRUUsNEZBQUE7QUY1bkJKO0FFK25CRTs7RUFFRSxtQkF4QmM7QUZybUJsQjtBRWdvQkU7O0VBRUUsbUJBNUJ1QjtBRmxtQjNCO0FFaWFFO0VBQ0UseUJBQUE7RUFDQSxZQUFBO0FGL1pKO0FFa2FFO0VBSUksd0NBQUE7QUZuYU47QUU0YUU7RUFDRSxpQ0FBQTtBRjFhSjtBRTJiRTs7O0VBUk0sd0NBQUE7QUY5YVI7QUVnaUJFO0VBanNHQSx3SEFBQTtBRm9xRkY7QUVpaUJFO0VBQ0UsY0FBQTtBRi9oQko7QUVpaUJJO0VBQ0UsY0FBQTtBRi9oQk47QUVraUJJO0VBQ0UsY0FBQTtBRmhpQk47QUVvaUJFO0VBQ0UsK0JBQUE7QUZsaUJKO0FFb29CRTtFQXB6R0EsOEhBQUE7RUFzekdFLG1CQUFBO0VBQ0EsWUFBQTtBRmxvQko7QUVzUUU7RUFDRSwyQ0FBQTtBRnBRSjtBRXVRRTtFQUNFLDZDQUFBO0FGclFKO0FFa3RCRTtFQUVFLG1CQUFBO0VBQ0EsWUFBQTtBRmp0Qko7QUVwckZFO0VBWEEseUhBQUE7QUZrc0ZGO0FFaXRCRTtFQUNFLDJDQUFBO0FGL3NCSjtBRTJyQk07RUF3QkYscUNBQUE7QUZodEJKO0FFcXRCRTtFQUNFO0lBRUUsbUJBQUE7RUZwdEJKO0FBQ0Y7QUV1dEJFO0VBQ0UsWUFBQTtBRnJ0Qko7QUV3dEJFOztFQUVFLCtCQUFBO0FGdHRCSjtBRXl0QkU7RUFDRSwrQkFBQTtBRnZ0Qko7QUV5dEJJOztFQUVFLGNBQUE7QUZ2dEJOO0FFNHhHRTtFQUNFLCtCQVhZO0FGL3dHaEI7QUU2eEdFO0VBQ0UsK0JBZlk7QUY1d0doQjtBRTh4R0U7RUFDRSxjQWxCb0I7QUYxd0d4QjtBRTh4R0k7RUFDRSxjQWhCcUI7QUY1d0czQjtBRSt4R0k7RUFDRSxjQW5CbUI7QUYxd0d6QjtBRWl5R0U7RUFDRSxjQTdCcUI7QUZsd0d6QjtBRWt5R0U7RUFDRSx1QkE5QnFCO0FGbHdHekI7QUVveUdJO0VBQ0UseUJBaENzQjtBRmx3RzVCO0FFb3lHTTtFQUNFLHlCQXJDbUI7QUY3dkczQjtBRXF5R007RUFDRSx5QkF4Q2lCO0FGM3ZHekI7QUV5eUdJO0VBQ0UsY0E5Q3NCO0FGenZHNUI7QUUweUdJO0VBQ0UsY0FwRHFCO0FGcHZHM0I7QUUyeUdJO0VBQ0UsY0F2RG1CO0FGbHZHekI7QUVpekdJO0VBQ0UsY0FoRW1CO0FGL3VHekI7QUVpekdNOztFQUVFLGNBcEVpQjtBRjN1R3pCO0FFbXpHSTs7RUFFRSx5QkExRW1CO0FGdnVHekI7QUVxekdFO0VBQ0UsY0EvRXFCO0FGcHVHekI7QUVpMUZJO0VBQ0UsK0JBTFU7QUYxMEZoQjtBRWsxRkk7RUFDRSwrQkFUVTtBRnYwRmhCO0FFbTFGSTtFQUNFLDBDQVpjO0FGcjBGcEI7QUVvMUZJO0VBai9ERixzSEFBQTtFQUNBLHlCQUFBO0VBQ0EsMkJBQUE7QUZoMkJGO0FFa3FHSTtFQUNFLDBDQUpjO0FGNXBHcEI7QUVtcUdJO0VBeDBFRixzSEFBQTtFQUNBLHlCQUFBO0VBQ0EsMkJBQUE7QUZ4MUJGO0FFaXNGSTtFQUNFLDBDQVBjO0FGeHJGcEI7QUVrc0ZJO0VBQ0UsMkNBVnVCO0FGdHJGN0I7QUVtc0ZJO0VBQ0UsMENBYmM7QUZwckZwQjtBRXFzRk07RUFDRSwrQkFqQmlCO0FGbHJGekI7QUVzc0ZNO0VBQ0UsNkJBQUE7QUZwc0ZSO0FFeS9GSTtFQUNFLCtCQVRZO0FGOStGbEI7QUUwL0ZJO0VBQ0UsWUFaa0I7QUY1K0Z4QjtBRTQvRk07RUFDRSxjQWhCa0I7QUYxK0YxQjtBRTYvRk07RUFDRSxjQW5CaUI7QUZ4K0Z6QjtBRTgvRk07RUFDRSxjQXRCZTtBRnQrRnZCO0FFa2dHTTtFQUNFLGNBN0JlO0FGbitGdkI7QUVxZ0dNO0VBQ0UsK0JBeENpQjtBRjM5RnpCO0FFc2dHTTtFQUNFLGdDQXRDbUI7QUY5OUYzQjtBRWl3Qkk7RUFDRSxjQUFBO0FGL3ZCTjtBRWt3Qkk7RUFDRSxjQUFBO0FGaHdCTjtBRW13Qkk7RUFDRSxjQUFBO0FGandCTjtBRTYyQkU7RUFDRSwrQkFBQTtBRjMyQko7QUU4MkJFOztFQUVFLCtCQUFBO0FGNTJCSjtBRSsyQkU7RUFDRSxvQkFBQTtBRjcyQko7QUVvekJFO0VBNERJLCtCQUFBO0FGNzJCTjtBRWl6QkU7RUE0REksK0JBQUE7QUY3MkJOO0FFaXpCRTtFQTRESSwrQkFBQTtBRjcyQk47QUVxekJFO0VBd0RJLCtCQUFBO0FGMTJCTjtBRXN6QkU7RUFvREksK0JBQUE7QUZ2MkJOO0FFdXpCRTtFQWdESSwrQkFBQTtBRnAyQk47QUU2MkJNO0VBQ0UsMEJBOW1IWTtBRm13RnBCO0FFODJCTTtFQUNFLDBCQWhuSGE7QUZvd0ZyQjtBRWkzQkU7RUFDRSxvQkFBQTtBRi8yQko7QUVrM0JFOztFQUVFLG9CQUFBO0FGaDNCSjtBRW0zQkU7RUFDRSxjQUFBO0FGajNCSjtBRXM2Qkk7RUFDRSxZQUFBO0FGcDZCTjtBRXU2Qkk7RUFDRSxZQUFBO0FGcjZCTjtBRXc2Qkk7RUFDRSwrQkFBQTtBRnQ2Qk47QUUwNkJFO0VBQ0UsdUJBQUE7QUZ4NkJKO0FFODZCSTs7Ozs7RUFDRSxxQ0FBQTtBRng2Qk47QUU2NkJJO0VBQ0UscUNBQUE7QUYzNkJOO0FFbWdDRTtFQUVFLG1CQUFBO0FGbGdDSjtBRTE0RkU7RUFYQSwwSEFBQTtBRnc1RkY7QUVrZ0NFO0VBQ0UsdUJBQUE7RUFDQSxZQUFBO0FGaGdDSjtBRW1nQ007O0VBR0UsK0JBQUE7QUZsZ0NSO0FFdWdDRTs7RUFFRSxZQUFBO0FGcmdDSjtBRTRnQ0k7Ozs7RUFDRSxxQ0FBQTtBRnZnQ047QUVxa0NFO0VBQ0UsbUJBQUE7QUZua0NKO0FFc2tDRTs7RUFFRSwrQkFBQTtBRnBrQ0o7QUV1a0NFOztFQUVFLDJCQUFBO0VBQ0EsNkJBQUE7QUZya0NKO0FFd2tDRTs7RUFFRSwyQkFBQTtBRnRrQ0o7QUUwa0NJOzs7O0VBSUUsc0NBQUE7QUZ4a0NOO0FFK25DRTtFQUNFLGFBQUE7QUY3bkNKO0FFZ29DRTtFQUNFLHlCQUFBO0FGOW5DSjtBRWlvQ0U7RUFDRSx5QkFBQTtBRi9uQ0o7QUVtb0NJO0VBQ0UsYUFBQTtBRmpvQ047QUVvb0NJO0VBQ0UseUJBQUE7QUZsb0NOO0FFcW9DSTtFQUNFLHlCQUFBO0FGbm9DTjtBRXdvQ0k7RUFDRSxhQUFBO0FGdG9DTjtBRXlvQ0k7RUFDRSx5QkFBQTtBRnZvQ047QUUwb0NJO0VBQ0UseUJBQUE7QUZ4b0NOO0FFK3FDSTtFQUNFLGVBQUE7QUY3cUNOO0FFZ3JDSTtFQUNFLGVBQUE7QUY5cUNOO0FFaXJDSTtFQUNFLGVBQUE7QUYvcUNOO0FFb3VDRTtFQUNFLHNDQUFBO0FGbHVDSjtBRTZzQ0U7RUFDRSxxQkFBQTtBRjNzQ0o7QUU4c0NFOztFQUlFLHlCQUFBO0FGOXNDSjtBRXNzQ0U7RUFDRSxxQkFBQTtBRnBzQ0o7QUV1c0NFOztFQUlFLHlCQUFBO0FGdnNDSjtBRStyQ0U7RUFDRSxxQkFBQTtBRjdyQ0o7QUVnc0NFOztFQUlFLHlCQUFBO0FGaHNDSjtBRWl1Q007O0VBRUUsc0NBQUE7QUYvdENSO0FFa3VDTTs7RUFFRSwwQ0FBQTtBRmh1Q1I7QUVtdUNNO0VBQ0UsK0JBQUE7QUZqdUNSO0FFdXVDSTtFQUNFLHVCQUFBO0FGcnVDTjtBRXF4Q0U7RUFDRSxZQUFBO0FGbnhDSjtBRXN4Q0U7RUFDRSwrQkFBQTtBRnB4Q0o7QUV1eENFO0VBQ0UsK0JBQUE7QUZyeENKO0FFd3hDRTtFQUNFLCtCQUFBO0FGdHhDSjtBRXl4Q0U7RUFDRSxtQkFBQTtBRnZ4Q0o7QUU5Z0dFO0VBWEEsMEhBQUE7QUY0aEdGO0FFdXhDSTtFQUNFLHFDQUFBO0FGcnhDTjtBRTJ4Q007RUFDRSxjQUFBO0FGenhDUjtBRTR4Q007RUFDRSxjQUFBO0FGMXhDUjtBRTZ4Q007RUFDRSxjQUFBO0FGM3hDUjtBRSt4Q0k7RUFDRSxjQUFBO0FGN3hDTjtBRWd5Q0k7RUFDRSwrQkFBQTtBRjl4Q047QUV1MUNFO0VBQ0UseUJBTG1DO0VBTW5DLFlBQUE7QUZyMUNKO0FFdzFDRTtFQUNFLHlCQVh3QjtFQVl4QixZQUFBO0FGdDFDSjtBRXcxQ0k7RUFDRSx5QkFiMkI7QUZ6MENqQztBRXkxQ0k7RUFsNUlGLDZIQUFBO0FGNGpHRjtBRTYxQ0U7RUFDRSxpREF2Qm1CO0FGcDBDdkI7QUU2MUNJO0VBQ0UsZ0RBMUJpQjtFQTJCakIsa0JBQUE7QUYzMUNOO0FFKzFDRTtFQUNFLGdEQWhDbUI7RUFpQ25CLGtCQUFBO0FGNzFDSjtBRSsxQ0k7RUFDRSxpQkFBQTtFQUNBLGlEQXJDaUI7QUZ4ekN2QjtBRWkyQ0U7RUFRSSwwQ0FBQTtBRnQyQ047QUUrNENJO0VBQ0UseUJBQUE7QUY3NENOO0FFZzVDSTtFQUdFLDBDQUFBO0FGaDVDTjtBRW01Q0k7RUFHRSx5QkFBQTtBRm41Q047QUVzNENJO0VBQ0UseUJBQUE7QUZwNENOO0FFdTRDSTtFQUdFLDBDQUFBO0FGdjRDTjtBRTA0Q0k7RUFHRSx5QkFBQTtBRjE0Q047QUU2M0NJO0VBQ0UseUJBQUE7QUYzM0NOO0FFODNDSTtFQUdFLHlDQUFBO0FGOTNDTjtBRWk0Q0k7RUFHRSx5QkFBQTtBRmo0Q047QUVzNkNJO0VBR0UsdUJBaEJxQjtBRnQ1QzNCO0FFMDZDRTtFQXRoSkEseUhBQUE7RUF3aEpFLHlCQUFBO0FGeDZDSjtBRTI2Q0U7RUFDRSwwQ0EzQm9CO0FGOTRDeEI7QUV1L0NFO0VBQ0UsMENBVnFCO0FGMytDekI7QUU0OENFOzs7RUFHRSx5QkFBQTtBRjE4Q0o7QUU2OENFO0VBQ0UsWUFBQTtBRjM4Q0o7QUU4OENFO0VBR0UseUNBRFE7QUY3OENaO0FFaThDRTs7O0VBR0UseUJBQUE7QUYvN0NKO0FFazhDRTtFQUNFLFlBQUE7QUZoOENKO0FFbThDRTtFQUdFLHlDQURRO0FGbDhDWjtBRXM3Q0U7OztFQUdFLHlCQUFBO0FGcDdDSjtBRXU3Q0U7RUFDRSxZQUFBO0FGcjdDSjtBRXc3Q0U7RUFHRSx3Q0FEUTtBRnY3Q1o7QUVxK0NJOztFQUNFLDBDQTNCMkI7QUZ2OENqQztBRXUrQ0k7OztFQUdFLDBDQWxDd0I7QUZuOEM5QjtBRXkrQ007RUFDRSwwQ0F2Q3NCO0FGaDhDOUI7QUU2K0NJO0VBR0UsMkNBRFE7QUY1K0NkO0FFdS9DTTs7RUFFRSx1QkEzRHFDO0FGMTdDN0M7QUV5L0NROztFQUVFLDBDQWhFeUM7QUZ2N0NuRDtBRTYvQ007RUFDRSxzQ0EzRWlCO0VBNEVqQiw2QkFBQTtBRjMvQ1I7QUVnZ0RRO0VBQ0Usc0NBakZ1QjtBRjc2Q2pDO0FFaWdEUTtFQUNFLHNDQXBGb0I7QUYzNkM5QjtBRXFnREU7RUFDRSxzQ0F2RnNCO0FGNTZDMUI7QUU0Z0RFO0VBQ0UseUlBQUE7RUFJQSwrSUFBQTtBRjdnREo7QUV1aERFO0VBQ0UsMElBQUE7QUZyaERKO0FFNG1ESTtFQUdFLDJDQUFBO0FGNW1ETjtBRWtuREk7RUFDRTtJQUNFLGdCQUFBO0VGaG5ETjtBQUNGO0FFbW5ESTs7RUFJRSwrQkFBQTtBRm5uRE47QUVzbkRJO0VBR0UsMENBQUE7RUFDQSxZQUFBO0FGdG5ETjtBRXluREk7OztFQUdFLHlCQUFBO0VBQ0EsWUFBQTtBRnZuRE47QUUybkRNO0VBQ0UsWUFBQTtBRnpuRFI7QUU0bkRNOzs7RUFHRSx5QkFBQTtFQUNBLFlBQUE7QUYxbkRSO0FFK25ETTtFQUNFLFlBQUE7QUY3bkRSO0FFZ29ETTs7O0VBR0UseUJBQUE7RUFDQSxZQUFBO0FGOW5EUjtBRWtvREk7RUFDRSw2QkFBQTtFQUNBLGNBQUE7QUZob0ROO0FFbW9ESTtFQUNFLFlBQUE7QUZqb0ROO0FFb29ESTtFQUNFLGNBQUE7QUZsb0ROO0FFc29ERTtFQUNFLHlCQUFBO0FGcG9ESjtBRXVvREU7RUFDRSw0Q0FBQTtBRnJvREo7QUV3b0RFOzs7RUFHRSwyQ0FBQTtBRnRvREo7QUVxdURFO0VBWUksY0FBQTtBRjl1RE47QUUweERFOztFQUVFLGtEQUpjO0FGcHhEbEI7QUU0eERJOztFQUVFLCtDQVZZO0VBV1osbUJBQUE7QUYxeEROO0FFOHhERTtFQUNFLFlBQUE7QUY1eERKO0FFOHhESTtFQUNFLCtCQUFBO0FGNXhETjtBRWd5REU7RUFDRSxtQkFBQTtBRjl4REo7QUVpeURFO0VBQ0Usc0NBQUE7QUYveERKO0FFbXlERTs7RUFFRSxtQkFBQTtFQUNBLGdCQUFBO0FGanlESjtBRSswRE07Ozs7O0VBQ0UsMENBQUE7QUZ6MERSO0FFOHpERTtFQUNFLHlCQUFBO0FGNXpESjtBRTJ6REU7RUFDRSx1QkFBQTtBRnp6REo7QUVrMERNOzs7OztFQUNFLDBDQUFBO0FGNXpEUjtBRWl6REU7RUFDRSx5QkFBQTtBRi95REo7QUU4eURFO0VBQ0UsdUJBQUE7QUY1eURKO0FFcXpETTs7Ozs7RUFDRSwwQ0FBQTtBRi95RFI7QUVveURFO0VBQ0UseUJBQUE7QUZseURKO0FFaXlERTtFQUNFLHVCQUFBO0FGL3hESjtBRXd5RE07Ozs7O0VBQ0UsMENBQUE7QUZseURSO0FFNnlERTtFQUNFLHlCQUFBO0FGM3lESjtBRSt5REU7RUFDRSxZQUFBO0FGN3lESjtBRSt5REk7RUFDRSwrQkFBQTtBRjd5RE47QUVrekRFOzs7OztFQUdFLG1CQUFBO0FGOXlESjtBRWl6REU7RUFDRSxzQ0FBQTtBRi95REo7QUVvekRFOzs7RUFFRSwyQ0FBQTtBRmp6REo7QUV5d0RNOzs7OztFQUNFLDBDQUFBO0FGbndEUjtBRTh3REU7RUFDRSx5QkFBQTtBRjV3REo7QUVneERFO0VBQ0UsWUFBQTtBRjl3REo7QUVneERJO0VBQ0UsK0JBQUE7QUY5d0ROO0FFbXhERTs7Ozs7RUFHRSxtQkFBQTtBRi93REo7QUVreERFO0VBQ0Usc0NBQUE7QUZoeERKO0FFcXhERTs7O0VBRUUsMkNBQUE7QUZseERKO0FFMHVETTs7Ozs7RUFDRSwwQ0FBQTtBRnB1RFI7QUUrdURFO0VBQ0UseUJBQUE7QUY3dURKO0FFaXZERTtFQUNFLFlBQUE7QUYvdURKO0FFaXZESTtFQUNFLCtCQUFBO0FGL3VETjtBRW92REU7Ozs7O0VBR0UsbUJBQUE7QUZodkRKO0FFbXZERTtFQUNFLHNDQUFBO0FGanZESjtBRXN2REU7OztFQUVFLDJDQUFBO0FGbnZESjtBRXcyREU7RUFDRSxtQkFBQTtFQUNBLFlBQUE7QUZ0MkRKO0FFdzJESTtFQXBDRixtQkFBQTtFQUNBLFlBQUE7QUZqMERGO0FFdzJESTtFQXhDRixtQkFBQTtFQUNBLFlBQUE7QUY3ekRGO0FFdzJESTtFQTVDRixtQkFBQTtFQUNBLFlBQUE7QUZ6ekRGO0FFNnpERTs7O0VBR0UsOEJBQUE7QUYzekRKO0FFOHpERTs7Ozs7RUFLRSxjQUFBO0FGNXpESjtBRSt6REU7RUFDRSx5QkFBQTtBRjd6REo7QUVtNkRFO0VBQ0UsaUNBQUE7QUZqNkRKO0FFeXpGRTtFQUNFLG1CQUFBO0FGdnpGSjtBRTB6RkU7O0VBRUUsWUFBQTtBRnh6Rko7QUU4OERFO0VBR0UsMEJBQUE7RUFDQSxtQkFBQTtFQTM1S0YsMkhBQUE7QUY4OEdGO0FFazlERTtFQUNFLGNBQUE7QUZoOURKO0FFandDRTtFQUNFLGdCQXZMb0I7RUF3THBCLGVBekxrQjtFQTBMbEIsdUxBQUE7QUZvd0NKO0FFandDRTtFQUVFLGNBQUE7QUZtd0NKO0FFaHdDRTtFQUNFLGVBQUE7QUZtd0NKO0FFcmxERTtFQS9WRSw4TEFBQTtFQVlGLHNCQUFBO0VBcVZFLGdCQUFBO0FGeWxESjtBRXRsREU7RUFwV0UsOExBQUE7RUFZRixzQkFBQTtFQTBWRSxnQkFBQTtBRjBsREo7QUV2bERFO0VBeldFLDhMQUFBO0VBWUYsc0JBQUE7RUErVkUsZ0JBQUE7QUYybERKO0FFeGxERTtFQTlXRSw4TEFBQTtFQVlGLHNCQUFBO0VBb1dFLGdCQUFBO0FGNGxESjtBRXRsREU7RUF0WEUsMk1BQUE7RUErWEEsZ0JBQUE7QUZrbERKO0FFL2tERTtFQWxZRSwyTUFBQTtFQTJZQSxnQkFBQTtBRjJrREo7QUV4a0RFO0VBOVlFLDhMQUFBO0VBWUYsc0JBQUE7QUYrOERGO0FFemtERTtFQWxaRSw4TEFBQTtFQVlGLHNCQUFBO0FGbzlERjtBRTNrREk7RUFDRSxnQkFBQTtBRjZrRE47QUV6a0RFO0VBMVpFLDhMQUFBO0VBWUYsc0JBQUE7QUY0OURGO0FFMWtERTtFQTlaRSxnTUFBQTtFQVlGLHVCQUFBO0VBb1pFLGdCQUFBO0FGOGtESjtBRTNrREU7RUFuYUUsOExBQUE7RUFZRix1QkFBQTtFQXlaRSxnQkFBQTtBRitrREo7QUU1a0RFO0VBeGFFLDhMQUFBO0VBWUYsd0JBQUE7RUE4WkUsZ0JBQUE7QUZnbERKO0FFN2tERTtFQTdhRSw4TEFBQTtFQVlGLHNCQUFBO0VBbWFFLGdCQUFBO0FGaWxESjtBRW55Q0U7RUE3dEJFLDhMQUFBO0VBWUYsc0JBQUE7QUZ5L0RGO0FFMW1DRTs7RUFHSSx1TEFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBRjRtQ047QUU1K0JFO0VBQ0UsdUxBQUE7QUYrK0JKO0FFLzZCRTtFQUNFLHVMQUFBO0FGazdCSjtBRS82QkU7RUFFSSxlQUFBO0VBQ0EsZ0JBQUE7QUZpN0JOO0FFNzZCRTtFQUNFLGVBQUE7QUZnN0JKO0FFNzZCRTs7RUFFRSxlQUFBO0FGZzdCSjtBRXB6QkU7RUFDRSx1TEFBQTtBRnV6Qko7QUVuekJFO0VBQ0UsaUJBQUE7QUZzekJKO0FFbnNCRTtFQUNFLGVBQUE7RUFDQSxnQkFBQTtBRnNzQko7QUVwc0JJOztFQUVFLGVBM0ZzQjtBRml5QjVCO0FFL2xCRTtFQUNFLHVMQUFBO0FGa21CSjtBRS9sQkU7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7QUZrbUJKO0FFL2xCRTtFQUNFLGVBQUE7QUZrbUJKO0FFblpFO0VBQ0UsdUxBQUE7QUZzWko7QUVuWkU7RUFDRSxlQWpMMEI7QUZ1a0I5QjtBRW5aRTs7RUFHSSxlQUFBO0VBQ0EsZ0JBQUE7QUZxWk47QUVqWkU7RUFFSSxlQTdMaUM7RUE4TGpDLGdCQUFBO0FGbVpOO0FFalVFO0VBbHhERSw4TEFBQTtFQVlGLHNCQUFBO0FGNGtFRjtBRTFNRTtFQUVJLHVMQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FGNE1OO0FFeE1FO0VBdDVERSw4TEFBQTtFQVlGLHNCQUFBO0FGdWxFRjtBRXkrRUU7RUFybEpFLGtCQWVVO0VBZFYsZ0JBZVk7RUFkWixrQkFlWTtFQWRaLHVMQWVZO0VBR2Qsc0JBQUE7QUYrbEVGO0FFcStFRTtFQUNFLHlCQVB1QjtBRjM5RTNCO0FFdytFSTs7RUFDRSxlQXZCMkI7RUF3QjNCLGtCQXRDVTtBRjk3RWhCO0FFdytFSTs7RUFDRSxhQUFBO0VBQ0EsWUFBQTtBRnIrRU47QUV1K0VNOztFQUNFLGVBQUE7RUFDQSxrQkFoRFE7QUZwN0VoQjtBRXkrRUU7RUFDRSxnQkFBQTtFQUVBLHVDQUFBO0FGditFSjtBRTIrRUk7O0VBdEVGLDZDQUFBO0VBRUEsc0JBQUE7QUZqNkVGO0FFNitFSTtFQTlFRiw2Q0FBQTtFQUVBLHNCQUFBO0FGNzVFRjtBRWcvRUU7RUFDRSxlQUFBO0VBQ0Esc0JBbkVpQjtBRjE2RXJCO0FFZy9FRTtFQUNFLGNBQUE7QUY3K0VKO0FFZy9FRTtFQUdFLGlCQWhFdUI7QUYvNkUzQjtBRWsvRUU7RUFDRSxjQS9Fb0I7RUFnRnBCLDBCQXpFcUI7RUE2RXJCLGdDQUFBO0FGbC9FSjtBRW8rREk7RUFDRSxzQkFKcUI7QUY3OUQzQjtBRW8rREk7RUFDRSxtQkFBQTtBRmwrRE47QUVzK0RNOztFQTFESixzRkFBQTtFQUlBLGlEQUFBO0VBR0Esc0JBQUE7QUY3NkRGO0FFdStETTtFQWpFSixzRkFBQTtFQUlBLGlEQUFBO0VBR0Esc0JBQUE7QUZ4NkRGO0FFMCtETTtFQXpFSixzRkFBQTtFQUlBLGlEQUFBO0VBR0Esc0JBQUE7QUZuNkRGO0FFNCtESTtFQUNFLGNBQUE7QUYxK0ROO0FFNitESTtFQUdFLGNBekNxQjtBRnA4RDNCO0FFZy9ESTtFQUNFLDBCQWpEbUI7RUFxRG5CLGdDQUFBO0FGai9ETjtBRXUvREU7RUFHTTs7SUF4Rk4sNkNBQUE7RUY1NURBO0VFMi9ETTtJQS9GTiw2Q0FBQTtFRno1REE7RUVnZ0VNO0lBdkdOLDZDQUFBO0VGdDVEQTtBQUNGO0FFb3lESTtFQUNFLDBCQUFBO0FGbHlETjtBRXF5REk7RUFDRSxjQUFBO0VBQ0Esa0JBVDJCO0FGMXhEakM7QUV1eURNOztFQWpDSiw2Q0FBQTtFQUVBLHNCQUFBO0FGbndERjtBRTJ5RE07RUExQ0osNkNBQUE7RUFFQSxzQkFBQTtBRi92REY7QUVtbkVJO0VBQ0Usb0JBQUE7QUZobkVOO0FFbW5FSTtFQUNFLGNBQUE7RUFDQSxtQkFUOEI7QUZ4bUVwQztBRXFuRU07O0VBeENKLDZDQUFBO0VBRUEsc0JBQUE7QUYxa0VGO0FFeW5FTTtFQWpESiw2Q0FBQTtFQUVBLHNCQUFBO0FGdGtFRjtBRXBQRTs7RUFHRSxlQUFBO0FGc1BKO0FFdlNFOztFQVJBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQVFFLGNBQUE7RUFDQSxzQkFBQTtBRjRTSjtBRXpTSTs7RUFDRSxlQXlDcUI7QUZtUTNCO0FFaERFO0VBQ0UscUJBQUE7QUZtREo7QUV3SUU7RUFFSSx1TEFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtBRnRJTjtBRXlORTs7RUFHSSx1TEFBQTtFQUNBLGVBQUE7QUZ2Tk47QUUwYkU7RUFDRSx1TEFBQTtBRnZiSjtBRXNoQkU7RUFDRSx1TEFBQTtBRm5oQko7QUVzaEJFO0VBQ0UsZUFBQTtBRm5oQko7QUUwdEJFO0VBQ0UsdUxBQUE7QUZ2dEJKO0FFdzVCRTtFQUVJLHVMQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0FGdDVCTjtBRXlqQ0U7RUFDRSx1TEFBQTtBRnRqQ0o7QUV5akNFO0VBRUksZUFBQTtFQUNBLGdCQUFBO0FGdmpDTjtBRTJqQ0U7RUFDRSxtQkFBQTtBRnhqQ0o7QUUyakNFO0VBQ0UsZUFBQTtBRnhqQ0o7QUUyakNFO0VBRUksZUFBQTtFQUNBLGdCQUFBO0FGempDTjtBRWl6Q0U7RUFDRSx1TEFBQTtBRjl5Q0o7QUVpekNFO0VBRUksdUxBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUYveUNOO0FFNDZDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbnZIRSw4TEFBQTtFQVlGLHNCQUFBO0VBK3VIRSxTQUFBO0FGNzVDSjtBRWcrQ0U7RUFDRSx1TEFBQTtFQUNBLGVBckJvQjtFQXNCcEIsZ0JBckIyQjtFQXNCM0IsbUJBdEIyQjtBRnY4Qy9CO0FFZytDRTtFQUNFLGVBdkI0QjtFQXdCNUIsZ0JBdEJBO0VBdUJBLG1CQXZCQTtBRnQ4Q0o7QUVoRkU7RUFDRSx1TEFIWTtBRnNGaEI7QUVoRkU7RUFDRSx1TEFQWTtBRjBGaEI7QUU5RUk7RUFDRSxlQUFBO0FGaUZOO0FFemFFO0VBUkEsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0VBUUUsY0FBQTtFQUNBLHNCQUFBO0FGNmFKO0FFMWFJO0VBQ0UsZUFrVnVCO0FGMEY3QjtBRXZGSTtFQUNFLGVBQUE7QUZ5Rk47QUV0YkU7RUFSQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFRRSxjQUFBO0VBQ0Esc0JBQUE7QUYwYko7QUV2Ykk7RUFDRSxlQXVWdUI7QUZrRzdCO0FFL0ZJO0VBQ0UsdUxBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7QUZpR047QUUzRkk7RUFDRSxlQUFBO0FGOEZOO0FFemNFO0VBUkEsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0VBUUUsY0FBQTtFQUNBLHNCQUFBO0FGNmNKO0FFMWNJO0VBQ0UsZUFxV3VCO0FGdUc3QjtBRXBHSTtFQUNFLGVBQUE7QUZzR047QUV0ZEU7RUFSQSxtQkFBQTtFQUNBLGdCQUFBO0VBQ0EsdUJBQUE7RUFRRSxjQUFBO0VBQ0Esc0JBQUE7QUYwZEo7QUV2ZEk7RUFDRSxlQTBXdUI7QUYrRzdCO0FFNUdJO0VBQ0UsdUxBMUNVO0VBMkNWLGVBQUE7RUFDQSxnQkFBQTtBRjhHTjtBRXIzRUU7RUFFSSx1TEFBQTtFQUNBLGVBQUE7QUZ1M0VOO0FFMTBFRTtFQTlHRSw4TEFBQTtFQVlGLHNCQUFBO0FGaTdFRjtBRSs3Q0U7RUFFSSx1TEFBQTtFQUNBLGVBQUE7QUY3N0NOO0FFaThDRTtFQUNFLGNBQUE7RUFFRSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0EsZ0JBQUE7QUYvN0NOO0FFbXhFRTtFQUNFLHVMQUFBO0FGaHhFSjtBRW14RUU7O0VBRUUsZ0JBQUE7RUFDQSxlQUFBO0FGaHhFSjtBSWhnSkE7RUFDRTtJQUNFLHVCQUFBO0VKbWdKRjtFSWxnSkE7SUFDRSx5QkFBQTtFSm9nSkY7QUFDRjtBSXpnSkE7RUFDRTtJQUNFLHVCQUFBO0VKbWdKRjtFSWxnSkE7SUFDRSx5QkFBQTtFSm9nSkY7QUFDRjtBSzkzSUE7RUFORSwyQkFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0FMdTRJRjtBS2wzSUE7RUFmRSw2QkFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGFBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxxQkFBQTtFQUNBLG9CQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EseUJBQUE7RUFDQSx3QkFBQTtFQUNBLGNBQUE7QUxxNElGO0FLLzNJRTs7RUFDRSxxQkNuSFk7QU5zL0loQjtBS255SUE7RUFORSxTQURnQjtFQUVoQixPQUZnQjtFQUdoQixrQkFBQTtFQUNBLFFBSmdCO0VBS2hCLE1BTGdCO0FMa3pJbEI7QU85aUpBLDBFQUFBO0FBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXVCRSxTQUFBO0VBQ0EsVUFBQTtBUHVqSkY7QU9wakpBOzs7Ozs7Ozs7Ozs7O0VBTUUsZUFBQTtFQUNBLG1CQUFBO0FQOGpKRjtBTzNqSkE7RUFDRSxnQkFBQTtBUDhqSkY7QU8zakpBOzs7O0VBSUUsU0FBQTtBUDhqSkY7QU8zakpBO0VBQ0Usc0JBQUE7QVA4akpGO0FPM2pKRTtFQUdFLG1CQUFBO0FQNGpKSjtBT3pqSkE7O0VBRUUsWUFBQTtFQUNBLGVBQUE7QVA0akpGO0FPempKQTtFQUNFLFNBQUE7QVA0akpGO0FPempKQTtFQUNFLHlCQUFBO0VBQ0EsaUJBQUE7QVA0akpGO0FPMWpKQTs7RUFFRSxVQUFBO0FQNmpKRjtBTzVqSkU7O0VBQ0UsZ0JBQUE7QVArakpKO0FROW1KQTtFQUNFLHVCRmpCYTtFRWtCYixlQWhDVTtFQWlDVixrQ0FBQTtFQUNBLG1DQUFBO0VBQ0EsZ0JBbENlO0VBbUNmLGtCQWhDZ0I7RUFpQ2hCLGtCQWhDZ0I7RUFpQ2hCLGtDQXBDZTtFQXFDZiw4QkFBQTtLQUFBLDJCQUFBO1VBQUEsc0JBQUE7QVJpbkpGO0FRL21KQTs7Ozs7OztFQU9FLGNBQUE7QVJrbkpGO0FRaG5KQTs7Ozs7RUFLRSxvTEY1QmtCO0FOK29KcEI7QVFqbkpBOztFQUVFLDZCQUFBO0VBQ0EsNEJBQUE7RUFDQSxzQkZqQ2lCO0FOcXBKbkI7QVFsbkpBO0VBQ0UsY0YxRGE7RUUyRGIsY0F6RGU7RUEwRGYsZ0JGMUJjO0VFMkJkLGdCQXpEaUI7QVI4cUpuQjtBUWpuSkE7RUFDRSxjRm5EYTtFRW9EYixlQUFBO0VBQ0EscUJBQUE7QVJvbkpGO0FRbm5KRTtFQUNFLG1CQUFBO0FScW5KSjtBUXBuSkU7RUFDRSxjRnpFVztBTitySmY7QVFwbkpBO0VBQ0UsNEJGckVhO0VFc0ViLGNGM0RhO0VFNERiLGtCQXBFVTtFQXFFVixtQkF0RVk7RUF1RVosNEJBeEVhO0FSK3JKZjtBUXJuSkE7RUFDRSw0QkY1RWE7RUU2RWIsWUFBQTtFQUNBLGNBQUE7RUFDQSxXQXZFVTtFQXdFVixnQkF2RVU7QVIrckpaO0FRdG5KQTtFQUNFLFlBQUE7RUFDQSxlQUFBO0FSeW5KRjtBUXZuSkE7O0VBRUUsd0JBQUE7QVIwbkpGO0FReG5KQTtFQUNFLGtCQXRGZ0I7QVJpdEpsQjtBUXpuSkE7RUFDRSxtQkFBQTtFQUNBLG9CQUFBO0FSNG5KRjtBUTFuSkE7RUFDRSxjRnpHYTtFRTBHYixnQkZwRVk7QU5pc0pkO0FRem5KQTtFQUNFLFlBQUE7QVI0bkpGO0FRMW5KQTtFSHpERSxpQ0FBQTtFRzJEQSw0QkY1R2E7RUU2R2IsY0ZuSGE7RUVvSGIsa0JBaEdjO0VBaUdkLGdCQUFBO0VBQ0EsdUJBakdZO0VBa0daLGdCQUFBO0VBQ0EsaUJBQUE7QVI2bkpGO0FRNW5KRTtFQUNFLDZCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQXRHaUI7RUF1R2pCLFVBQUE7QVI4bkpKO0FRM25KRTs7RUFFRSxtQkFBQTtBUjhuSko7QVE3bkpJOztFQUNFLGdCQUFBO0FSZ29KTjtBUS9uSkU7RUFDRSxjRnZJVztBTnd3SmY7QUszd0pFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0FMOHdKSjtBUy93SkE7RUFDRSxzQkFBQTtBVGt4SkY7QVNoeEpBO0VBQ0UsdUJBQUE7QVRteEpGO0FTL3dKQTtFQUNFLDJCQUFBO0FUa3hKRjtBU3R3Skk7RUFDRSwwQkFBQTtBVHl3Sk47QVMxd0pJO0VBQ0UsNEJBQUE7QVQ2d0pOO0FTOXdKSTtFQUNFLDBCQUFBO0FUaXhKTjtBU2x4Skk7RUFDRSw0QkFBQTtBVHF4Sk47QVN0eEpJO0VBQ0UsNkJBQUE7QVR5eEpOO0FTMXhKSTtFQUNFLDBCQUFBO0FUNnhKTjtBUzl4Skk7RUFDRSw2QkFBQTtBVGl5Sk47QUszdUpFO0VJdkRFO0lBQ0UsMEJBQUE7RVRzeUpKOztFU3Z5SkU7SUFDRSw0QkFBQTtFVDB5Sko7O0VTM3lKRTtJQUNFLDBCQUFBO0VUOHlKSjs7RVMveUpFO0lBQ0UsNEJBQUE7RVRrekpKOztFU256SkU7SUFDRSw2QkFBQTtFVHN6Sko7O0VTdnpKRTtJQUNFLDBCQUFBO0VUMHpKSjs7RVMzekpFO0lBQ0UsNkJBQUE7RVQ4ekpKO0FBQ0Y7QUtyd0pFO0VJM0RFO0lBQ0UsMEJBQUE7RVRtMEpKOztFU3AwSkU7SUFDRSw0QkFBQTtFVHUwSko7O0VTeDBKRTtJQUNFLDBCQUFBO0VUMjBKSjs7RVM1MEpFO0lBQ0UsNEJBQUE7RVQrMEpKOztFU2gxSkU7SUFDRSw2QkFBQTtFVG0xSko7O0VTcDFKRTtJQUNFLDBCQUFBO0VUdTFKSjs7RVN4MUpFO0lBQ0UsNkJBQUE7RVQyMUpKO0FBQ0Y7QUsxeEpFO0VJbkVFO0lBQ0UsMEJBQUE7RVRnMkpKOztFU2oySkU7SUFDRSw0QkFBQTtFVG8ySko7O0VTcjJKRTtJQUNFLDBCQUFBO0VUdzJKSjs7RVN6MkpFO0lBQ0UsNEJBQUE7RVQ0MkpKOztFUzcySkU7SUFDRSw2QkFBQTtFVGczSko7O0VTajNKRTtJQUNFLDBCQUFBO0VUbzNKSjs7RVNyM0pFO0lBQ0UsNkJBQUE7RVR3M0pKO0FBQ0Y7QUtuekpFO0VJdkVFO0lBQ0UsMEJBQUE7RVQ2M0pKOztFUzkzSkU7SUFDRSw0QkFBQTtFVGk0Sko7O0VTbDRKRTtJQUNFLDBCQUFBO0VUcTRKSjs7RVN0NEpFO0lBQ0UsNEJBQUE7RVR5NEpKOztFUzE0SkU7SUFDRSw2QkFBQTtFVDY0Sko7O0VTOTRKRTtJQUNFLDBCQUFBO0VUaTVKSjs7RVNsNUpFO0lBQ0UsNkJBQUE7RVRxNUpKO0FBQ0Y7QUtqMEpJO0VJdEZBO0lBQ0UsMEJBQUE7RVQwNUpKOztFUzM1SkU7SUFDRSw0QkFBQTtFVDg1Sko7O0VTLzVKRTtJQUNFLDBCQUFBO0VUazZKSjs7RVNuNkpFO0lBQ0UsNEJBQUE7RVRzNkpKOztFU3Y2SkU7SUFDRSw2QkFBQTtFVDA2Sko7O0VTMzZKRTtJQUNFLDBCQUFBO0VUODZKSjs7RVMvNkpFO0lBQ0UsNkJBQUE7RVRrN0pKO0FBQ0Y7QUsvMEpJO0VJckdBO0lBQ0UsMEJBQUE7RVR1N0pKOztFU3g3SkU7SUFDRSw0QkFBQTtFVDI3Sko7O0VTNTdKRTtJQUNFLDBCQUFBO0VUKzdKSjs7RVNoOEpFO0lBQ0UsNEJBQUE7RVRtOEpKOztFU3A4SkU7SUFDRSw2QkFBQTtFVHU4Sko7O0VTeDhKRTtJQUNFLDBCQUFBO0VUMjhKSjs7RVM1OEpFO0lBQ0UsNkJBQUE7RVQrOEpKO0FBQ0Y7QVN2N0pFO0VBQ0UsNkJBQUE7QVR5N0pKO0FTMTdKRTtFQUNFLDhCQUFBO0FUNjdKSjtBUzk3SkU7RUFDRSwyQkFBQTtBVGk4Sko7QVNsOEpFO0VBQ0UsNEJBQUE7QVRxOEpKO0FLejZKRTtFSXhCRTtJQUNFLDZCQUFBO0VUcThKSjtBQUNGO0FLMzZKRTtFSXpCRTtJQUNFLDZCQUFBO0VUdThKSjtBQUNGO0FLNTZKRTtFSTFCRTtJQUNFLDZCQUFBO0VUeThKSjtBQUNGO0FLNzZKRTtFSTNCRTtJQUNFLDZCQUFBO0VUMjhKSjtBQUNGO0FLOTZKRTtFSTVCRTtJQUNFLDZCQUFBO0VUNjhKSjtBQUNGO0FLOTZKSTtFSTlCQTtJQUNFLDZCQUFBO0VUKzhKSjtBQUNGO0FLejZKSTtFSXJDQTtJQUNFLDZCQUFBO0VUaTlKSjtBQUNGO0FLejZKSTtFSXZDQTtJQUNFLDZCQUFBO0VUbTlKSjtBQUNGO0FLcDZKSTtFSTlDQTtJQUNFLDZCQUFBO0VUcTlKSjtBQUNGO0FLdjlKRTtFSXhCRTtJQUNFLDhCQUFBO0VUay9KSjtBQUNGO0FLeDlKRTtFSXpCRTtJQUNFLDhCQUFBO0VUby9KSjtBQUNGO0FLejlKRTtFSTFCRTtJQUNFLDhCQUFBO0VUcy9KSjtBQUNGO0FLMTlKRTtFSTNCRTtJQUNFLDhCQUFBO0VUdy9KSjtBQUNGO0FLMzlKRTtFSTVCRTtJQUNFLDhCQUFBO0VUMC9KSjtBQUNGO0FLMzlKSTtFSTlCQTtJQUNFLDhCQUFBO0VUNC9KSjtBQUNGO0FLdDlKSTtFSXJDQTtJQUNFLDhCQUFBO0VUOC9KSjtBQUNGO0FLdDlKSTtFSXZDQTtJQUNFLDhCQUFBO0VUZ2dLSjtBQUNGO0FLajlKSTtFSTlDQTtJQUNFLDhCQUFBO0VUa2dLSjtBQUNGO0FLcGdLRTtFSXhCRTtJQUNFLDJCQUFBO0VUK2hLSjtBQUNGO0FLcmdLRTtFSXpCRTtJQUNFLDJCQUFBO0VUaWlLSjtBQUNGO0FLdGdLRTtFSTFCRTtJQUNFLDJCQUFBO0VUbWlLSjtBQUNGO0FLdmdLRTtFSTNCRTtJQUNFLDJCQUFBO0VUcWlLSjtBQUNGO0FLeGdLRTtFSTVCRTtJQUNFLDJCQUFBO0VUdWlLSjtBQUNGO0FLeGdLSTtFSTlCQTtJQUNFLDJCQUFBO0VUeWlLSjtBQUNGO0FLbmdLSTtFSXJDQTtJQUNFLDJCQUFBO0VUMmlLSjtBQUNGO0FLbmdLSTtFSXZDQTtJQUNFLDJCQUFBO0VUNmlLSjtBQUNGO0FLOS9KSTtFSTlDQTtJQUNFLDJCQUFBO0VUK2lLSjtBQUNGO0FLampLRTtFSXhCRTtJQUNFLDRCQUFBO0VUNGtLSjtBQUNGO0FLbGpLRTtFSXpCRTtJQUNFLDRCQUFBO0VUOGtLSjtBQUNGO0FLbmpLRTtFSTFCRTtJQUNFLDRCQUFBO0VUZ2xLSjtBQUNGO0FLcGpLRTtFSTNCRTtJQUNFLDRCQUFBO0VUa2xLSjtBQUNGO0FLcmpLRTtFSTVCRTtJQUNFLDRCQUFBO0VUb2xLSjtBQUNGO0FLcmpLSTtFSTlCQTtJQUNFLDRCQUFBO0VUc2xLSjtBQUNGO0FLaGpLSTtFSXJDQTtJQUNFLDRCQUFBO0VUd2xLSjtBQUNGO0FLaGpLSTtFSXZDQTtJQUNFLDRCQUFBO0VUMGxLSjtBQUNGO0FLM2lLSTtFSTlDQTtJQUNFLDRCQUFBO0VUNGxLSjtBQUNGO0FTM2xLQTtFQUNFLHFDQUFBO0FUNmxLRjtBUzNsS0E7RUFDRSxvQ0FBQTtBVDhsS0Y7QVM1bEtBO0VBQ0Usb0NBQUE7QVQrbEtGO0FTN2xLQTtFQUNFLDZCQUFBO0FUZ21LRjtBUzVsS0U7RUFDRSx1QkFBQTtBVCtsS0o7QVM3bEtJO0VBRUUseUJBQUE7QVQrbEtOO0FTOWxLRTtFQUNFLGtDQUFBO0FUaW1LSjtBU3htS0U7RUFDRSx5QkFBQTtBVDJtS0o7QVN6bUtJO0VBRUUsdUJBQUE7QVQybUtOO0FTMW1LRTtFQUNFLG9DQUFBO0FUNm1LSjtBU3BuS0U7RUFDRSw0QkFBQTtBVHVuS0o7QVNybktJO0VBRUUseUJBQUE7QVR1bktOO0FTdG5LRTtFQUNFLHVDQUFBO0FUeW5LSjtBU2hvS0U7RUFDRSx5QkFBQTtBVG1vS0o7QVNqb0tJO0VBRUUseUJBQUE7QVRtb0tOO0FTbG9LRTtFQUNFLG9DQUFBO0FUcW9LSjtBUzVvS0U7RUFDRSx5QkFBQTtBVCtvS0o7QVM3b0tJO0VBRUUseUJBQUE7QVQrb0tOO0FTOW9LRTtFQUNFLG9DQUFBO0FUaXBLSjtBU3hwS0U7RUFDRSx5QkFBQTtBVDJwS0o7QVN6cEtJO0VBRUUseUJBQUE7QVQycEtOO0FTMXBLRTtFQUNFLG9DQUFBO0FUNnBLSjtBU3BxS0U7RUFDRSx5QkFBQTtBVHVxS0o7QVNycUtJO0VBRUUseUJBQUE7QVR1cUtOO0FTdHFLRTtFQUNFLG9DQUFBO0FUeXFLSjtBU2hyS0U7RUFDRSx5QkFBQTtBVG1yS0o7QVNqcktJO0VBRUUseUJBQUE7QVRtcktOO0FTbHJLRTtFQUNFLG9DQUFBO0FUcXJLSjtBUzVyS0U7RUFDRSx5QkFBQTtBVCtyS0o7QVM3cktJO0VBRUUseUJBQUE7QVQrcktOO0FTOXJLRTtFQUNFLG9DQUFBO0FUaXNLSjtBU3hzS0U7RUFDRSx5QkFBQTtBVDJzS0o7QVN6c0tJO0VBRUUseUJBQUE7QVQyc0tOO0FTMXNLRTtFQUNFLG9DQUFBO0FUNnNLSjtBUzFzS0U7RUFDRSx5QkFBQTtBVDZzS0o7QVM1c0tFO0VBQ0Usb0NBQUE7QVQrc0tKO0FTbHRLRTtFQUNFLHlCQUFBO0FUcXRLSjtBU3B0S0U7RUFDRSxvQ0FBQTtBVHV0S0o7QVMxdEtFO0VBQ0UseUJBQUE7QVQ2dEtKO0FTNXRLRTtFQUNFLG9DQUFBO0FUK3RLSjtBU2x1S0U7RUFDRSx5QkFBQTtBVHF1S0o7QVNwdUtFO0VBQ0Usb0NBQUE7QVR1dUtKO0FTMXVLRTtFQUNFLHlCQUFBO0FUNnVLSjtBUzV1S0U7RUFDRSxvQ0FBQTtBVCt1S0o7QVNsdktFO0VBQ0UseUJBQUE7QVRxdktKO0FTcHZLRTtFQUNFLG9DQUFBO0FUdXZLSjtBUzF2S0U7RUFDRSx5QkFBQTtBVDZ2S0o7QVM1dktFO0VBQ0Usb0NBQUE7QVQrdktKO0FTbHdLRTtFQUNFLDRCQUFBO0FUcXdLSjtBU3B3S0U7RUFDRSx1Q0FBQTtBVHV3S0o7QVMxd0tFO0VBQ0UseUJBQUE7QVQ2d0tKO0FTNXdLRTtFQUNFLG9DQUFBO0FUK3dLSjtBUzd3S0E7RUFDRSwyQkFBQTtBVGd4S0Y7QVMvd0tBO0VBQ0UsMkJBQUE7QVRreEtGO0FTanhLQTtFQUNFLDJCQUFBO0FUb3hLRjtBU254S0E7RUFDRSwyQkFBQTtBVHN4S0Y7QVNyeEtBO0VBQ0UsMkJBQUE7QVR3eEtGO0FTdHhLQTtFQUNFLCtMQUFBO0FUeXhLRjtBU3Z4S0E7RUFDRSwrTEFBQTtBVDB4S0Y7QVN4eEtBO0VBQ0UsK0xBQUE7QVQyeEtGO0FTenhLQTtFQUNFLGlDQUFBO0FUNHhLRjtBUzF4S0E7RUFDRSxpQ0FBQTtBVDZ4S0Y7QVN0eEtFO0VBQ0UseUJBQUE7QVR5eEtKO0FLejFLRTtFSWtFRTtJQUNFLHlCQUFBO0VUMnhLSjtBQUNGO0FLMzFLRTtFSWlFRTtJQUNFLHlCQUFBO0VUNnhLSjtBQUNGO0FLNTFLRTtFSWdFRTtJQUNFLHlCQUFBO0VUK3hLSjtBQUNGO0FLNzFLRTtFSStERTtJQUNFLHlCQUFBO0VUaXlLSjtBQUNGO0FLOTFLRTtFSThERTtJQUNFLHlCQUFBO0VUbXlLSjtBQUNGO0FLOTFLSTtFSTREQTtJQUNFLHlCQUFBO0VUcXlLSjtBQUNGO0FLejFLSTtFSXFEQTtJQUNFLHlCQUFBO0VUdXlLSjtBQUNGO0FLejFLSTtFSW1EQTtJQUNFLHlCQUFBO0VUeXlLSjtBQUNGO0FLcDFLSTtFSTRDQTtJQUNFLHlCQUFBO0VUMnlLSjtBQUNGO0FTeDBLRTtFQUNFLHdCQUFBO0FUMDBLSjtBSzE0S0U7RUlrRUU7SUFDRSx3QkFBQTtFVDQwS0o7QUFDRjtBSzU0S0U7RUlpRUU7SUFDRSx3QkFBQTtFVDgwS0o7QUFDRjtBSzc0S0U7RUlnRUU7SUFDRSx3QkFBQTtFVGcxS0o7QUFDRjtBSzk0S0U7RUkrREU7SUFDRSx3QkFBQTtFVGsxS0o7QUFDRjtBSy80S0U7RUk4REU7SUFDRSx3QkFBQTtFVG8xS0o7QUFDRjtBSy80S0k7RUk0REE7SUFDRSx3QkFBQTtFVHMxS0o7QUFDRjtBSzE0S0k7RUlxREE7SUFDRSx3QkFBQTtFVHcxS0o7QUFDRjtBSzE0S0k7RUltREE7SUFDRSx3QkFBQTtFVDAxS0o7QUFDRjtBS3I0S0k7RUk0Q0E7SUFDRSx3QkFBQTtFVDQxS0o7QUFDRjtBU3ozS0U7RUFDRSwwQkFBQTtBVDIzS0o7QUszN0tFO0VJa0VFO0lBQ0UsMEJBQUE7RVQ2M0tKO0FBQ0Y7QUs3N0tFO0VJaUVFO0lBQ0UsMEJBQUE7RVQrM0tKO0FBQ0Y7QUs5N0tFO0VJZ0VFO0lBQ0UsMEJBQUE7RVRpNEtKO0FBQ0Y7QUsvN0tFO0VJK0RFO0lBQ0UsMEJBQUE7RVRtNEtKO0FBQ0Y7QUtoOEtFO0VJOERFO0lBQ0UsMEJBQUE7RVRxNEtKO0FBQ0Y7QUtoOEtJO0VJNERBO0lBQ0UsMEJBQUE7RVR1NEtKO0FBQ0Y7QUszN0tJO0VJcURBO0lBQ0UsMEJBQUE7RVR5NEtKO0FBQ0Y7QUszN0tJO0VJbURBO0lBQ0UsMEJBQUE7RVQyNEtKO0FBQ0Y7QUt0N0tJO0VJNENBO0lBQ0UsMEJBQUE7RVQ2NEtKO0FBQ0Y7QVMxNktFO0VBQ0UsZ0NBQUE7QVQ0NktKO0FLNStLRTtFSWtFRTtJQUNFLGdDQUFBO0VUODZLSjtBQUNGO0FLOStLRTtFSWlFRTtJQUNFLGdDQUFBO0VUZzdLSjtBQUNGO0FLLytLRTtFSWdFRTtJQUNFLGdDQUFBO0VUazdLSjtBQUNGO0FLaC9LRTtFSStERTtJQUNFLGdDQUFBO0VUbzdLSjtBQUNGO0FLai9LRTtFSThERTtJQUNFLGdDQUFBO0VUczdLSjtBQUNGO0FLai9LSTtFSTREQTtJQUNFLGdDQUFBO0VUdzdLSjtBQUNGO0FLNStLSTtFSXFEQTtJQUNFLGdDQUFBO0VUMDdLSjtBQUNGO0FLNStLSTtFSW1EQTtJQUNFLGdDQUFBO0VUNDdLSjtBQUNGO0FLditLSTtFSTRDQTtJQUNFLGdDQUFBO0VUODdLSjtBQUNGO0FTMzlLRTtFQUNFLCtCQUFBO0FUNjlLSjtBSzdo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UjtBQUNGO0FLOTNOSTtFS3VYSTtJQUNFLGlCQUFBO0VWMGdOUjtBQUNGO0FVdmlOTTtFQUNFLG9CQUFBO0FWeWlOUjtBS3A3TkU7RUs2WU07SUFDRSxvQkFBQTtFVjBpTlI7QUFDRjtBS3I3TkU7RUs0WU07SUFDRSxvQkFBQTtFVjRpTlI7QUFDRjtBS3Q3TkU7RUsyWU07SUFDRSxvQkFBQTtFVjhpTlI7QUFDRjtBS3Y3TkU7RUswWU07SUFDRSxvQkFBQTtFVmdqTlI7QUFDRjtBS3g3TkU7RUt5WU07SUFDRSxvQkFBQTtFVmtqTlI7QUFDRjtBS3g3Tkk7RUt1WUk7SUFDRSxvQkFBQTtFVm9qTlI7QUFDRjtBS243Tkk7RUtnWUk7SUFDRSxvQkFBQTtFVnNqTlI7QUFDRjtBS243Tkk7RUs4WEk7SUFDRSxvQkFBQTtFVndqTlI7QUFDRjtBSzk2Tkk7RUt1WEk7SUFDRSxvQkFBQTtFVjBqTlI7QUFDRjtBVXZsTk07RUFDRSxtQkFBQTtBVnlsTlI7QUtwK05FO0VLNllNO0lBQ0UsbUJBQUE7RVYwbE5SO0FBQ0Y7QUtyK05FO0VLNFlNO0lBQ0UsbUJBQUE7RVY0bE5SO0FBQ0Y7QUt0K05FO0VLMllNO0lBQ0UsbUJBQUE7RVY4bE5SO0FBQ0Y7QUt2K05FO0VLMFlNO0lBQ0UsbUJBQUE7RVZnbU5SO0FBQ0Y7QUt4K05FO0VLeVlNO0lBQ0UsbUJBQUE7RVZrbU5SO0FBQ0Y7QUt4K05JO0VLdVlJO0lBQ0UsbUJBQUE7RVZvbU5SO0FBQ0Y7QUtuK05JO0VLZ1lJO0lBQ0UsbUJBQUE7RVZzbU5SO0FBQ0Y7QUtuK05JO0VLOFhJO0lBQ0UsbUJBQUE7RVZ3bU5SO0FBQ0Y7QUs5OU5JO0VLdVhJO0lBQ0UsbUJBQUE7RVYwbU5SO0FBQ0Y7QVV2b05NO0VBQ0Usb0JBQUE7QVZ5b05SO0FLcGhPRTtFSzZZTTtJQUNFLG9CQUFBO0VWMG9OUjtBQUNGO0FLcmhPRTtFSzRZTTtJQUNFLG9CQUFBO0VWNG9OUjtBQUNGO0FLdGhPRTtFSzJZTTtJQUNFLG9CQUFBO0VWOG9OUjtBQUNGO0FLdmhPRTtFSzBZTTtJQUNFLG9CQUFBO0VWZ3BOUjtBQUNGO0FLeGhPRTtFS3lZTTtJQUNFLG9CQUFBO0VWa3BOUjtBQUNGO0FLeGhPSTtFS3VZSTtJQUNFLG9CQUFBO0VWb3BOUjtBQUNGO0FLbmhPSTtFS2dZSTtJQUNFLG9CQUFBO0VWc3BOUjtBQUNGO0FLbmhPSTtFSzhYSTtJQUNFLG9CQUFBO0VWd3BOUjtBQUNGO0FLOWdPSTtFS3VYSTtJQUNFLG9CQUFBO0VWMHBOUjtBQUNGO0FVdnJOTTtFQUNFLGlCQUFBO0FWeXJOUjtBS3BrT0U7RUs2WU07SUFDRSxpQkFBQTtFVjByTlI7QUFDRjtBS3JrT0U7RUs0WU07SUFDRSxpQkFBQTtFVjRyTlI7QUFDRjtBS3RrT0U7RUsyWU07SUFDRSxpQkFBQTtFVjhyTlI7QUFDRjtBS3ZrT0U7RUswWU07SUFDRSxpQkFBQTtFVmdzTlI7QUFDRjtBS3hrT0U7RUt5WU07SUFDRSxpQkFBQTtFVmtzTlI7QUFDRjtBS3hrT0k7RUt1WUk7SUFDRSxpQkFBQTtFVm9zTlI7QUFDRjtBS25rT0k7RUtnWUk7SUFDRSxpQkFBQTtFVnNzTlI7QUFDRjtBS25rT0k7RUs4WEk7SUFDRSxpQkFBQTtFVndzTlI7QUFDRjtBSzlqT0k7RUt1WEk7SUFDRSxpQkFBQTtFVjBzTlI7QUFDRjtBVXZ1Tk07RUFDRSxvQkFBQTtBVnl1TlI7QUtwbk9FO0VLNllNO0lBQ0Usb0JBQUE7RVYwdU5SO0FBQ0Y7QUtybk9FO0VLNFlNO0lBQ0Usb0JBQUE7RVY0dU5SO0FBQ0Y7QUt0bk9FO0VLMllNO0lBQ0Usb0JBQUE7RVY4dU5SO0FBQ0Y7QUt2bk9FO0VLMFlNO0lBQ0Usb0JBQUE7RVZndk5SO0FBQ0Y7QUt4bk9FO0VLeVlNO0lBQ0Usb0JBQUE7RVZrdk5SO0FBQ0Y7QUt4bk9JO0VLdVlJO0lBQ0Usb0JBQUE7RVZvdk5SO0FBQ0Y7QUtubk9JO0VLZ1lJO0lBQ0Usb0JBQUE7RVZzdk5SO0FBQ0Y7QUtubk9JO0VLOFhJO0lBQ0Usb0JBQUE7RVZ3dk5SO0FBQ0Y7QUs5bU9JO0VLdVhJO0lBQ0Usb0JBQUE7RVYwdk5SO0FBQ0Y7QVV2eE5NO0VBQ0UsbUJBQUE7QVZ5eE5SO0FLcHFPRTtFSzZZTTtJQUNFLG1CQUFBO0VWMHhOUjtBQUNGO0FLcnFPRTtFSzRZTTtJQUNFLG1CQUFBO0VWNHhOUjtBQUNGO0FLdHFPRTtFSzJZTTtJQUNFLG1CQUFBO0VWOHhOUjtBQUNGO0FLdnFPRTtFSzBZTTtJQUNFLG1CQUFBO0VWZ3lOUjtBQUNGO0FLeHFPRTtFS3lZTTtJQUNFLG1CQUFBO0VWa3lOUjtBQUNGO0FLeHFPSTtFS3VZSTtJQUNFLG1CQUFBO0VWb3lOUjtBQUNGO0FLbnFPSTtFS2dZSTtJQUNFLG1CQUFBO0VWc3lOUjtBQUNGO0FLbnFPSTtFSzhYSTtJQUNFLG1CQUFBO0VWd3lOUjtBQUNGO0FLOXBPSTtFS3VYSTtJQUNFLG1CQUFBO0VWMHlOUjtBQUNGO0FVdjBOTTtFQUNFLG9CQUFBO0FWeTBOUjtBS3B0T0U7RUs2WU07SUFDRSxvQkFBQTtFVjAwTlI7QUFDRjtBS3J0T0U7RUs0WU07SUFDRSxvQkFBQTtFVjQwTlI7QUFDRjtBS3R0T0U7RUsyWU07SUFDRSxvQkFBQTtFVjgwTlI7QUFDRjtBS3Z0T0U7RUswWU07SUFDRSxvQkFBQTtFVmcxTlI7QUFDRjtBS3h0T0U7RUt5WU07SUFDRSxvQkFBQTtFVmsxTlI7QUFDRjtBS3h0T0k7RUt1WUk7SUFDRSxvQkFBQTtFVm8xTlI7QUFDRjtBS250T0k7RUtnWUk7SUFDRSxvQkFBQTtFVnMxTlI7QUFDRjtBS250T0k7RUs4WEk7SUFDRSxvQkFBQTtFVncxTlI7QUFDRjtBSzlzT0k7RUt1WEk7SUFDRSxvQkFBQTtFVjAxTlI7QUFDRjtBVXYzTk07RUFDRSxpQkFBQTtBVnkzTlI7QUtwd09FO0VLNllNO0lBQ0UsaUJBQUE7RVYwM05SO0FBQ0Y7QUtyd09FO0VLNFlNO0lBQ0UsaUJBQUE7RVY0M05SO0FBQ0Y7QUt0d09FO0VLMllNO0lBQ0UsaUJBQUE7RVY4M05SO0FBQ0Y7QUt2d09FO0VLMFlNO0lBQ0UsaUJBQUE7RVZnNE5SO0FBQ0Y7QUt4d09FO0VLeVlNO0lBQ0UsaUJBQUE7RVZrNE5SO0FBQ0Y7QUt4d09JO0VL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SjtBQUNGO0FLcjJRSTtFUXhHQTtJQUNFLGlCQUFBO0ViZzlRSjtBQUNGO0FLcDNRSTtFUTlHSjtJQW1CSSxpQkFBQTtFYm05UUY7QUFDRjtBSzEyUUk7RVE3SEo7SUFxQkksaUJBQUE7RWJzOVFGO0FBQ0Y7QWMxK1FBO0VBQ0Usb0JBTGdCO0Fkay9RbEI7QUtqNVFFO0VTeEZFO0lBQ0Usb0JBVG1CO0VkcS9RdkI7RWMzK1FFO0lBQ0UscUJBVmtCO0VkdS9RdEI7QUFDRjtBZXYrUUE7O0VBR0Usc0JBQUE7QWZ5K1FGO0FleCtRRTs7OztFQUVFLG9CQUFBO0FmNCtRSjtBZTMrUUU7O0VBQ0UsaUJBcEJhO0Fma2dSakI7QWU3K1FFOztFQUNFLGlCQXJCYTtBZnFnUmpCO0FlLytRRTs7RUFDRSxzQkFBQTtBZmsvUUo7QWVoL1FBO0VBQ0UsY1Q1QmE7RVMrQmIsZVRITztFU0lQLGdCVEtnQjtFU0poQixrQkFuQ2tCO0Fmb2hScEI7QWVoL1FFO0VBQ0UsY0FwQ2lCO0VBcUNqQixvQkFwQ2tCO0Fmc2hSdEI7QWVqL1FFO0VBQ0Usb0JBQUE7QWZtL1FKO0FlbC9RRTtFQUNFLG9CQTdCdUI7QWZpaFIzQjtBZWgvUUk7RUFDRSxlQ3NERTtBaEI0N1FSO0Flbi9RSTtFQUNFLGlCQ3NERTtBaEIrN1FSO0FldC9RSTtFQUNFLGVDc0RFO0FoQms4UVI7QWV6L1FJO0VBQ0UsaUJDc0RFO0FoQnE4UVI7QWU1L1FJO0VBQ0Usa0JDc0RFO0FoQnc4UVI7QWUvL1FJO0VBQ0UsZUNzREU7QWhCMjhRUjtBZWxnUkk7RUFDRSxrQkNzREU7QWhCODhRUjtBZWxnUkE7RUFDRSxjVC9DYTtFU2tEYixrQlRyQk87RVNzQlAsZ0JUakJjO0VTa0JkLGlCQTdDcUI7QWZnalJ2QjtBZWxnUkU7RUFDRSxjVHZEVztFU3dEWCxnQlRuQmM7QU51aFJsQjtBZW5nUkU7RUFDRSxvQkEvQ3VCO0Fmb2pSM0I7QWVqZ1JJO0VBQ0UsZUNvQ0U7QWhCKzlRUjtBZXBnUkk7RUFDRSxpQkNvQ0U7QWhCaytRUjtBZXZnUkk7RUFDRSxlQ29DRTtBaEJxK1FSO0FlMWdSSTtFQUNFLGlCQ29DRTtBaEJ3K1FSO0FlN2dSSTtFQUNFLGtCQ29DRTtBaEIyK1FSO0FlaGhSSTtFQUNFLGVDb0NFO0FoQjgrUVI7QWVuaFJJO0VBQ0Usa0JDb0NFO0FoQmkvUVI7QWlCcmxSQTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGdDQUFBO0VBQ0EsY0FSa0I7RUFTbEIsY0FBQTtFQUNBLGtCQUFBO0FqQndsUkY7QWlCcmxSQTtFQUNFLGlCQUFBO0VBQ0EsY1hQYTtFV1FiLDJCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQlhtQk87RVdsQlAsc0JBQUE7RUFHQSw4QkFBQTtFQUNBLGtCQUFBO0FqQndsUkY7QUszaFJFO0VZM0RGO0lBRUksY0FBQTtJQUNBLFVBQUE7SUFDQSxXQUFBO0lBQ0EsWUFBQTtJQUNBLGFBQUE7SUFDQSxTQUFBO0lBQ0Esa0JBQUE7SUFDQSxnQkFBQTtJQUNBLGdCQUFBO0VqQnlsUkY7RWlCeGxSRTtJQUNFLGlDQUFBO0lBQ0EsWUFBQTtJQUNBLFdBQUE7SUFDQSxjQUFBO0lBQ0EsU0FBQTtJQUNBLGtCQUFBO0lBQ0EsU0FBQTtJQUdBLDJCQUFBO0VqQjBsUko7RWlCemxSRTtJQUNFLGtCQUFBO0lBQ0EsU0FBQTtJQUNBLFFBQUE7SUFDQSxlQUFBO0lBR0EsNENBQUE7RWpCMmxSSjtBQUNGO0FpQnJsUkk7O0VBQ0UsdUJBSE07QWpCNGxSWjtBaUJ2bFJNOzs7RUFDRSxtQkFMVztFQU1YLFlBUEk7QWpCa21SWjtBaUJ6bFJNOztFQUNFLHdCQVZJO0FqQnNtUlo7QWlCcG1SSTs7RUFDRSx5QkFITTtBakIwbVJaO0FpQnJtUk07OztFQUNFLGlCQUxXO0VBTVgsY0FQSTtBakJnblJaO0FpQnZtUk07O0VBQ0UsMEJBVkk7QWpCb25SWjtBaUJsblJJOztFQUNFLDRCQUhNO0FqQnduUlo7QWlCbm5STTs7O0VBQ0UsOEJBTFc7RUFNWCxpQkFQSTtBakI4blJaO0FpQnJuUk07O0VBQ0UsNkJBVkk7QWpCa29SWjtBaUJob1JJOztFQUNFLHlCQUhNO0FqQnNvUlo7QWlCam9STTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQjRvUlo7QWlCbm9STTs7RUFDRSwwQkFWSTtBakJncFJaO0FpQjlvUkk7O0VBQ0UseUJBSE07QWpCb3BSWjtBaUIvb1JNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCMHBSWjtBaUJqcFJNOztFQUNFLDBCQVZJO0FqQjhwUlo7QWlCNXBSSTs7RUFDRSx5QkFITTtBakJrcVJaO0FpQjdwUk07OztFQUNFLGdCQUxXO0VBTVgsY0FQSTtBakJ3cVJaO0FpQi9wUk07O0VBQ0UsMEJBVkk7QWpCNHFSWjtBaUIxcVJJOztFQUNFLHlCQUhNO0FqQmdyUlo7QWlCM3FSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQnNyUlo7QWlCN3FSTTs7RUFDRSwwQkFWSTtBakIwclJaO0FpQnhyUkk7O0VBQ0UseUJBSE07QWpCOHJSWjtBaUJ6clJNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCb3NSWjtBaUIzclJNOztFQUNFLDBCQVZJO0FqQndzUlo7QWlCdHNSSTs7RUFDRSx5QkFITTtBakI0c1JaO0FpQnZzUk07OztFQUNFLDhCQUxXO0VBTVgsY0FQSTtBakJrdFJaO0FpQnpzUk07O0VBQ0UsMEJBVkk7QWpCc3RSWjtBaUJwdFJJOztFQUNFLHlCQUhNO0FqQjB0Ulo7QWlCcnRSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQmd1Ulo7QWlCdnRSTTs7RUFDRSwwQkFWSTtBakJvdVJaO0FpQmx1Ukk7O0VBQ0UseUJBSE07QWpCd3VSWjtBaUJudVJNOzs7RUFDRSxnQkFMVztFQU1YLGNBUEk7QWpCOHVSWjtBaUJydVJNOztFQUNFLDBCQVZJO0FqQmt2Ulo7QWlCaHZSSTs7RUFDRSx5QkFITTtBakJzdlJaO0FpQmp2Uk07OztFQUNFLGdCQUxXO0VBTVgsY0FQSTtBakI0dlJaO0FpQm52Uk07O0VBQ0UsMEJBVkk7QWpCZ3dSWjtBaUI5dlJJOztFQUNFLHlCQUhNO0FqQm93Ulo7QWlCL3ZSTTs7O0VBQ0UsZ0JBTFc7RUFNWCxjQVBJO0FqQjB3Ulo7QWlCandSTTs7RUFD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a1MxQjtBbUJyNlJFO0VBM0hBLGtCQzlCYztFRCtCZCxxQkM3QmU7QXBCaWtTakI7QW1CdDZSRTtFQTFIQSxVQUFBO0VBQ0EsaUJDdENjO0FwQjBrU2hCO0FtQnY2UkU7RUFySEEsWUFBQTtFQUNBLGlCQ3pDZ0I7QXBCeWtTbEI7QW1CeDZSRTtFQXBIQSxVQUFBO0VBQ0Esa0JDM0NhO0FwQjJrU2Y7QW1CejZSRTtFQW5IQSxVQUFBO0VBQ0Esa0JDN0NlO0FwQjZrU2pCO0FtQjVoU0U7RUFDRSxlQW9IWTtBbkIyNlJoQjtBbUI1aFNFO0VBQ0UsYUFnSFk7QW5CODZSaEI7QW1CbmlTRTtFQUNFLGVBb0hZO0FuQms3UmhCO0FtQm5pU0U7RUFDRSxhQWdIWTtBbkJxN1JoQjtBbUIxaVNFO0VBQ0UsZUFvSFk7QW5CeTdSaEI7QW1CMWlTRTtFQUNFLGFBZ0hZO0FuQjQ3UmhCO0FtQmpqU0U7RUFDRSxlQW9IWTtBbkJnOFJoQjtBbUJqalNFO0VBQ0UsYUFnSFk7QW5CbThSaEI7QW1CeGpTRTtFQUNFLGVBb0hZO0FuQnU4UmhCO0FtQnhqU0U7RUFDRSxhQWdIWTtBbkIwOFJoQjtBbUIvalNFO0VBQ0UsZUFvSFk7QW5CODhSaEI7QW1CL2pTRTtFQUNFLGFBZ0hZO0FuQmk5UmhCO0FtQnRrU0U7RUFDRSxlQW9IWTtBbkJxOVJoQjtBbUJ0a1NFO0VBQ0UsYUFnSFk7QW5CdzlSaEI7QW1CN2tTRTtFQUNFLGVBb0hZO0FuQjQ5UmhCO0FtQjdrU0U7RUFDRSxhQWdIWTtBbkIrOVJoQjtBbUJwbFNFO0VBQ0UsZUFvSFk7QW5CbStSaEI7QW1CcGxTRTtFQUNFLGFBZ0hZO0FuQnMrUmhCO0FtQjNsU0U7RUFDRSxlQW9IWTtBbkIwK1JoQjtBbUIzbFNFO0VBQ0UsYUFnSFk7QW5CNitSaEI7QW1CbG1TRTtFQUNFLGVBb0hZO0FuQmkvUmhCO0FtQmxtU0U7RUFDRSxhQWdIWTtBbkJvL1JoQjtBbUJ6bVNFO0VBQ0UsZUFvSFk7QW5Cdy9SaEI7QW1Cem1TRTtFQUNFLGFBZ0hZO0FuQjIvUmhCO0FtQmhuU0U7RUFDRSxlQW9IWTtB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UTtFQUNFLHVCQUFBO0FoRHFuZFY7QWdEN25kTTtFQUtFLG9DQUFBO0FoRDJuZFI7QWdEem5kUTtFQUNFLHVCQUFBO0FoRDJuZFY7QWdEbm9kTTtFQUtFLG9DQUFBO0FoRGlvZFI7QWdEL25kUTtFQUNFLHVCQUFBO0FoRGlvZFY7QWdEem9kTTtFQUtFLG9DQUFBO0FoRHVvZFI7QWdEcm9kUTtFQUNFLHVCQUFBO0FoRHVvZFY7QWdEL29kTTtFQUtFLG9DQUFBO0FoRDZvZFI7QWdEM29kUTtFQUNFLHVCQUFBO0FoRDZvZFY7QWdEcnBkTTtFQUtFLG9DQUFBO0FoRG1wZFI7QWdEanBkUTtFQUNFLHVCQUFBO0FoRG1wZFY7QWdEM3BkTTtFQUtFLG9DQUFBO0FoRHlwZFI7QWdEdnBkUTtFQUNFLHVCQUFBO0FoRHlwZFY7QWdEanFkTTtFQUtFLG9DQUFBO0FoRCtwZFI7QWdEN3BkUTtFQUNFLHVCQUFBO0FoRCtwZFY7QWdEdnFkTTtFQUtFLG9DQUFBO0FoRHFxZFI7QWdEbnFkUTtFQUNFLHVCQUFBO0FoRHFxZFY7QWdEN3FkTTtFQUtFLG9DQUFBO0FoRDJxZFI7QWdEenFkUTtFQUNFLHVCQUFBO0FoRDJxZFY7QWdEM3BkTTtFQUNFLGtDQUFBO0VBQ0Esb0NBQUE7QWhENnBkUjtBZ0QxcGRRO0VBQ0UseUJBQUE7QWhENHBkVjtBZ0RscWRNO0VBQ0Usb0NBQUE7RUFDQSxvQ0FBQTtBaERvcWRSO0FnRGpxZFE7RUFDRSx5QkFBQTtBaERtcWRWO0FnRHpxZE07RUFDRSxvQ0FBQTtFQUNBLG9DQUFBO0FoRDJxZFI7QWdEeHFkUTtFQUNFLHlCQUFBO0FoRDBxZFY7QWdEaHJkTTtFQUNFLG9DQUFBO0VBQ0Esb0NBQUE7QWhEa3JkUjtBZ0QvcWRRO0VBQ0UseUJBQUE7QWhEaXJkVjtBZ0R2cmRNO0VBQ0Usb0NBQUE7RUFDQSxvQ0FBQTtBaER5cmRSO0FnRHRyZFE7RUFDRSx5QkFBQTtBaER3cmRWO0FnRDlyZE07RUFDRSxvQ0FBQTtFQUNBLG9DQUFBO0FoRGdzZFI7QWdEN3JkUTtFQUNFLHlCQUFBO0FoRCtyZFY7QWdE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QjtBeUQ5cmhCSTs7RUFFSSx1Q25DeFZtQjtBdEJ3aGlCM0I7QXlEaHJoQlE7O0VBRUksc0ZBQUE7QXpEa3JoQlo7QXlEN3FoQlE7O0VBRUksc0ZBQUE7QXpEK3FoQlo7QXlENXBoQkk7Ozs7RUFJSSx3Q0FBQTtFQUNBLDJCQUFBO0VBQ0Esa0JBQUE7RUFDQSxZQUFBO0VBQ0EsZUFBQTtFQUNBLG9CQUFBO0VBQ0EsZ0JBQUE7QXpEK3BoQlI7QXlEM3BoQkk7Ozs7RUFJSSxxQkFBQTtFQUNBLGVBQUE7QXpENnBoQlI7QXlEenBoQkk7O0VBRUksNEJBQUE7RUFDQSwrQkFBQTtBekQycGhCUjtBeURwcGhCSTs7OztFQUlJLHlCbkN0dUJZO0VtQ3V1QlosNEJuQ3Z1Qlk7QXRCNjNpQnBCO0F5RHBwaEJJOzs7Ozs7OztFQVFJLDBCbkNqdkJZO0F0QnU0aUJwQjtBeURwcGhCSTs7OztFQUlJLDJCbkN2dkJZO0F0QjY0aUJwQjtBeURqcGhCSTs7OztFQUlJLHlCbkMvdkJpQjtFbUNnd0JqQiw0Qm5DaHdCaUI7QXRCbzVpQnpCO0F5RGxwaEJJOzs7Ozs7OztFQVFJLDBCbkMxd0JpQjtBdEI4NWlCekI7QXlEbHBoQkk7Ozs7RUFJSSwyQm5DaHhCaUI7QXRCbzZpQnpCO0F5RDdvaEJJO0VBQXlCLGFBQUE7QXpEaXBoQjdCO0F5RGhwaEJJO0VBQWlDLGFBQUE7QXpEbXBoQnJDO0F5RGxwaEJJO0VBQ0ksbUNBQUE7QXpEb3BoQlI7QXlEbHBoQkk7O0VBRUksdUNuQ2xlbUI7QXRCc25pQjNCO0F5RDlvaEJJOzs7O0VBSUksMkJuQ3p5Qlk7QXRCeTdpQnBCO0F5RHRvaEJJO0VBQ0ksdUJuQ3J5QmdCO0F0Qjg2aUJ4QjtBeUR0b2hCSTs7RUFFSSwyQ0FBQTtFQUNBLDhDQUFBO0F6RHdvaEJSO0F5RHRvaEJJOzs7O0VBSUksNENBQUE7QXpEd29oQlI7QXlEdG9oQkk7O0VBRUksNkNBQUE7QXpEd29oQlI7QXlEaG9oQkE7O0VBRUksa0dBQUE7QXpEbW9oQko7QXlEaG9oQkE7O0VBRUksa0dBQUE7QXpEbW9oQko7QXlEL25o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O0FzQzd5bEJNO0VBQ0UscUJoQklHO0F0QjR5bEJYO0FzQzV5bEJNO0VBQ0kscUJoQkZDO0F0Qml6bEJYO0FzQ3J6bEJNO0VBQ0UscUJoQklHO0F0Qm96bEJYO0FzQ3B6bEJNO0VBQ0kscUJoQkhDO0F0QjB6bEJYO0FzQzd6bEJNO0VBQ0UsNkIwQndFdUU7QWhFd3ZsQi9FO0FzQzV6bEJNO0VBQ0ksNkIwQm1Fa0Y7QWhFNHZsQjVGO0FzQ3IwbEJNO0VBQ0UseUJoQktHO0F0Qm0wbEJYO0FzQ3AwbEJNO0VBQ0kseUJoQkhDO0F0QjAwbEJYO0FzQzcwbEJNO0VBQ0UseUJoQktHO0F0QjIwbEJYO0FzQzUwbEJNO0VBQ0kseUJoQkhDO0F0QmsxbEJYO0FzQ3IxbEJNO0VBQ0UseUJoQktHO0F0Qm0xbEJYO0FzQ3AxbEJNO0VBQ0kseUJoQkhDO0F0QjAxbEJYO0FzQzcxbEJNO0VBQ0UseUJoQktHO0F0QjIxbEJYO0FzQzUxbEJNO0VBQ0kseUJoQkhDO0F0QmsybEJYO0FzQ3IybEJNO0VBQ0Usb0MwQjRGTjtBaEU0d2xCRjtBc0NwMmxCTTtFQUNJLG9DMEJ3RlI7QWhFK3dsQkY7QXNDNzJsQk07RUFDRSwwQjBCbUdzRTtBaEU2d2xCOUU7QXNDNTJsQk07RUFDSSwwQjBCOEYwRztBaEVpeGxCcEg7QXNDcjNsQk07RUFDRSxvQzBCb0cyRTtBaEVveGxCbkY7QXNDcDNsQk07RUFDSSxvQzBCK0YrRztBaEV3eGxCekg7QXNDNzNsQk07RUFDRSxrQmhCZ0s4QjtBdEJndWxCdEM7QXNDNTNsQk07RUFDSSxxQmhCNkppQztBdEJrdWxCM0M7QXNDcjRsQk07RUFDRSx5QmhCTUc7QXRCazRsQlg7QXNDcDRsQk07RUFDSSx5QmhCVEM7QXRCZzVsQlg7QXNDNzRsQk07RUFDRSx5QmhCTUc7QXRCMDRsQlg7QXNDNTRsQk07RUFDSSx5QmhCVEM7QXRCdzVsQlg7QXNDcjVsQk07RUFDRSx5QmhCNEJZO0F0QjQzbEJwQjtBc0NwNWxCTTtFQUNJLHlCaEJIQztBdEIwNWxCWDtBc0M3NWxCTTtFQUNFLHlCaEI0Qlk7QXRCbzRsQnBCO0FzQzU1bEJNO0VBQ0kseUJoQkhDO0F0Qms2bEJYO0FzQ3I2bEJNO0VBQ0UscUJoQjRCWTtBdEI0NGxCcEI7QXNDcDZsQk07RUFDSSxxQmhCSEM7QXRCMDZsQlg7QXNDNzZsQk07RUFDRSx5QmhCNEJZO0F0Qm81bEJwQjtBc0M1NmxCTTtFQUNJLHlCaEJUQztBdEJ3N2xCWDtBc0NyN2xCTTtFQUNFLHlCaEI0Qlk7QXRCNDVsQnBCO0FzQ3A3bEJNO0VBQ0kseUJoQlRDO0F0Qmc4bEJYO0FzQzc3bEJNO0VBQ0Usc0IwQjJIZ0g7QWhFcTBsQnhIO0FzQzU3bEJNO0VBQ0ksc0IwQnNIb0g7QWhFeTBsQjlIO0FzQ3I4bEJNO0VBQ0UsMEIwQjhIZ0c7QWhFMDBsQnhHO0FzQ3A4bEJNO0VBQ0ksMEIwQnlIaUg7QWhFODBsQjNIO0FnRW4wbEJBO0VBQ0UsNkJBQUE7RUFDQSw4QkFBQTtBaEVzMGxCRjtBc0NsOWxCTTtFQUNFLHlCMEI4STZEO0FoRXUwbEJyRTtBc0NqOWxCTTtFQUNJLHlCMEJ5SWlGO0FoRTIwbEIzRjtBc0MxOWxCTTtFQUNFLHlCMEJnSm9FO0FoRTYwbEI1RTtBc0N6OWxCTTtFQUNJLHlCMEIySXdHO0FoRWkxbEJsSDtBc0NsK2xCTTtFQUNFLG9DMEJrSmdGO0FoRW0xbEJ4RjtBc0NqK2xCTTtFQUNJLG9DMEI2SW9HO0FoRXUxbEI5RztBc0MxK2xCTTtFQUNFLG9DMEJtSnNGO0FoRTAxbEI5RjtBc0N6K2xCTTtFQUNJLG9DMEI4STBHO0FoRTgxbEJwSDtBc0NsL2xCTTtFQUNFLDZCMEJxS3lFO0FoRWcxbEJqRjtBc0NqL2xCTTtFQUNJLDZCMEJnS29GO0FoRW8xbEI5RjtBc0MxL2xCTTtFQUNFLHFDMEJzS21FO0FoRXUxbEIzRTtBc0N6L2xCTTtFQUNJLHFDMEJpSzhGO0FoRTIxbEJ4RztBc0NsZ21CTTtFQUNFLHlCaEJJRztBdEJpZ21CWDtBc0NqZ21CTTtFQUNJLHlCaEJGQztBdEJzZ21CWDtBc0MxZ21CTTtFQUNFLHlCaEJLRztBdEJ3Z21CWDtBc0N6Z21CTTtFQUNJLHlCaEJIQztBdEIrZ21CWDtBc0NsaG1CTTtFQUNFLHlCaEJLRztBdEJnaG1CWDtBc0NqaG1CTTtFQUNJLHlCaEJIQztBdEJ1aG1CWDtBc0MxaG1CTTtFQUNFLHlCaEJ5Sm1CO0F0Qm80bEIzQjtBc0N6aG1CTTtFQUNJLHlCaEJxSnNCO0F0QnU0bEJoQztBc0NsaW1CTTtFQUNFLHlCaEJ5Sm1CO0F0QjQ0bEIzQjtBc0NqaW1CTTtFQUNJLHlCaEJxSnNCO0F0Qis0bEJoQztBc0MxaW1CTTtFQUNFLGtDMEJnTTZHO0FoRTYybEJySDtBc0N6aW1CTTtFQUNJLHFDMEIyTG1LO0FoRWkzbEI3SztBc0Nsam1CTTtFQUNFLHlCaEJNRztBdEIraW1CWDtBc0Nqam1CTTtFQUNJLHlCaEJUQztBdEI2am1CWDtBc0Mxam1CTTtFQUNFLHlCaEJNRztBdEJ1am1CWDtBc0N6am1CTTtFQUNJLHlCaEJUQztBdEJxa21CWDtBc0Nsa21CTTtFQUNFLHFCaEJJRztBdEJpa21CWDtBc0Nqa21CTTtFQUNJLHFCaEJGQztBdEJza21CWDtBc0Mxa21CTTtFQUNFLDZCMEI4TTRGO0FoRSszbEJwRztBc0N6a21CTTtFQUNJLDZCMEJ5TXVHO0FoRW00bEJqSDtBc0NsbG1CTTtFQUNFLHlCaEJLRztBdEJnbG1CWDtBc0NqbG1CTTtFQUNJLHlCaEJIQztBdEJ1bG1CWDtBc0MxbG1CTTtFQUNFLHlCaEJLRztBdEJ3bG1CWDtBc0N6bG1CTTtFQUNJLHlCaEJIQztBdEIrbG1CWDtBc0NsbW1CTTtFQUNFLHFCaEJJRztBdEJpbW1CWDtBc0NqbW1CTTtFQUNJLHFCaEJIQztBdEJ1bW1CWDtBc0MxbW1CTTtFQUNFLHFCaEJJRztBdEJ5bW1CWDtBc0N6bW1CTTtFQUNJLHFCaEJIQztBdEIrbW1CWDtBc0Nsbm1CTTtFQUNFLHlCaEJ5Sm1CO0F0QjQ5bEIzQjtBc0Nqbm1CTTtFQUNJLHlCaEJxSnNCO0F0Qis5bEJoQztBc0Mxbm1CTTtFQUNFLHlCaEJ5Sm1CO0F0Qm8rbEIzQjtBc0N6bm1CTTtFQUNJLHlCaEJxSnNCO0F0QnUrbEJoQztBc0Nsb21CTTtFQUNFLHlCaEI0Qlk7QXRCeW1tQnBCO0FzQ2pvbUJNO0VBQ0kseUJoQkhDO0F0QnVvbUJYO0FzQzFvbUJNO0VBQ0UseUJoQjRCWTtBdEJpbm1CcEI7QXNDem9tQk07RUFDSSx5QmhCSEM7QXRCK29tQlg7QXNDbHBtQk07RUFDRSxxQmhCNEJZO0F0QnlubUJwQjtBc0NqcG1CTTtFQUNJLHFCaEJIQztBdEJ1cG1CWDtBc0MxcG1CTTtFQUNFLHFCaEI0Qlk7QXRCaW9tQnBCO0FzQ3pwbUJNO0VBQ0kscUJoQkhDO0F0QitwbUJYO0FzQ2xxbUJNO0VBQ0UseUJoQjRCWTtBdEJ5b21CcEI7QXNDanFtQk07RUFDSSx5QmhCVEM7QXRCNnFtQlg7QXNDMXFtQk07RUFDRSx5QmhCNEJZO0F0QmlwbUJwQjtBc0N6cW1CTTtFQUNJLHlCaEJUQztBdEJxcm1CWDtBc0Nscm1CTTtFQUNFLHNCMEIyTzZJO0FoRTA4bEJySjtBc0Nqcm1CTTtFQUNJLHNCMEJzT2lKO0FoRTg4bEIzSjtBc0Mxcm1CTTtFQUNFLGtCaEJnSzhCO0F0QjZobUJ0QztBc0N6cm1CTTtFQUNJLHFCaEI2SmlDO0F0QitobUIzQztBc0Nsc21CTTtFQUNFLHlCaEJNRztBdEIrcm1CWDtBc0Nqc21CTTtFQUNJLHlCaEJUQztBdEI2c21CWDtBc0Mxc21CTTtFQUNFLHlCaEJNRztBdEJ1c21CWDtBc0N6c21CTTtFQUNJLHlCaEJUQztBdEJxdG1CWDtBc0NsdG1CTTtFQUNFLDBCMEJ5UHdHO0FoRTQ5bEJoSDtBc0NqdG1CTTtFQUNJLDBCMEJvUHlIO0FoRWcrbEJuSTtBc0MxdG1CTTtFQUNFLDBCMEIrUHNHO0FoRTg5bEI5RztBc0N6dG1CTTtFQUNJLDBCMEIwUHVIO0FoRWsrbEJqSTtBc0NsdW1CTTtFQUNFLHlCaEJLRztBdEJndW1CWDtBc0NqdW1CTTtFQUNJLHlCaEJIQztBdEJ1dW1CWDtBc0MxdW1CTTtFQUNFLGNoQitKdUI7QXRCOGttQi9CO0FzQ3p1bUJNO0VBQ0ksY2hCNEowQjtBdEJnbG1CcEM7QXNDbHZtQk07RUFDRSxjaEIrSnVCO0F0QnNsbUIvQjtBc0Nqdm1CTTtFQUNJLGNoQjRKMEI7QXRCd2xtQnBDO0FzQzF2bUJNO0VBQ0UsV2hCZ0s4QjtBdEI2bG1CdEM7QXNDenZtQk07RUFDSSxjaEI2SmlDO0F0QitsbUIzQztBZ0UvK2xCQSxpQkFBQTtBMUJuUk07RUFDRSx5QmhCb1ZpQjtBdEJrN2xCekI7QXNDbHdtQk07RUFDSSx5QmhCZ1ZvQjtBdEJxN2xCOUI7QXNDM3dtQk07RUFDRSx5QmhCc1Z3QjtBdEJ3N2xCaEM7QXNDMXdtQk07RUFDSSx5QmhCa1YyQjtBdEIyN2xCckM7QXNDbnhtQk07RUFDRSxjaEJpRFE7QXRCcXVtQmhCO0FzQ2x4bUJNO0VBQ0ksY2hCNkNXO0F0Qnd1bUJyQjtBZ0VuZ21CQSxVQUFBO0ExQnhSTTtFQUNFLHVCaEIrQ2E7QXRCZ3ZtQnJCO0FzQzN4bUJNO0VBQ0ksdUJoQjJDZ0I7QXRCbXZtQjFCO0FzQ3B5bUJNO0VBQ0UseUJoQm9WaUI7QXRCbTlsQnpCO0FzQ255bUJNO0VBQ0kseUJoQmdWb0I7QXRCczlsQjlCO0FzQzV5bUJNO0VBQ0UscUJoQm9WaUI7QXRCMjlsQnpCO0FzQzN5bUJNO0VBQ0kscUJoQmdWb0I7QXRCODlsQjlCO0FzQ3B6bUJNO0VBQ0UseUJoQitDYTtBdEJ3d21CckI7QXNDbnptQk07RUFDSSx5QmhCMkNnQjtBdEIyd21CMUI7QXNDNXptQk07RUFDRSxxQ2hCeVZtQjtBdEJzK2xCM0I7QXNDM3ptQk07RUFDSSx5QmhCd0JlO0F0QnN5bUJ6QjtBc0NwMG1CTTtFQUNFLHdDaEJ5Vm1CO0F0QjgrbEIzQjtBc0NuMG1CTTtFQUNJLDRCaEJ3QmU7QXRCOHltQnpCO0FzQzUwbUJNO0VBQ0UsWTBCOFJzRjtBaEVpam1COUY7QXNDMzBtQk07RUFDSSxZMEJ5UjBGO0FoRXFqbUJwRztBc0NwMW1CTTtFQUNFLFkwQitScUY7QWhFd2ptQjdGO0FzQ24xbUJNO0VBQ0ksWTBCMFJ5RjtBaEU0am1Cbkc7QXNDNTFtQk07RUFDRSxzQ2hCeVZtQjtBdEJzZ21CM0I7QXNDMzFtQk07RUFDSSwwQmhCd0JlO0F0QnMwbUJ6QjtBc0NwMm1CTTtFQUNFLHVDaEJ5Vm1CO0F0QjhnbUIzQjtBc0NuMm1CTTtFQUNJLDJCaEJ3QmU7QXRCODBtQnpCO0FzQzUybUJNO0VBQ0UsWTBCa1MwRjtBaEU2a21CbEc7QXNDMzJtQk07RUFDSSxZMEI2UjhGO0FoRWlsbUJ4RztBZ0Uva21CQSxRQUFBO0ExQnJTTTtFQUNFLGNoQjRCWTtBdEI0MW1CcEI7QXNDcDNtQk07RUFDSSxjaEJ3QmU7QXRCKzFtQnpCO0FzQzczbUJNO0VBQ0UsY2hCNEJZO0F0Qm8ybUJwQjtBc0M1M21CTTtFQUNJLGNoQndCZTtBdEJ1Mm1CekI7QWdFNWxtQkEsYUFBQTtBMUJ6U007RUFDRSxjaEJ5VWdCO0F0QmdrbUJ4QjtBc0NyNG1CTTtFQUNJLGNoQnFVa0I7QXRCbWttQjVCO0FzQzk0bUJNO0VBQ0UseUJoQndLa0M7QXRCeXVtQjFDO0FzQzc0bUJNO0VBQ0kseUJoQm9LcUM7QXRCNHVtQi9DO0FzQ3Q1bUJNO0VBQ0UseUJoQllJO0F0QjY0bUJaO0FzQ3I1bUJNO0VBQ0kseUJoQnNLd0M7QXRCa3ZtQmxEO0FnRTdtbUJBLGtCQUFBO0ExQmpUTTtFQUNFLHlCaEI4RWdCO0F0Qm8xbUJ4QjtBc0M5NW1CTTtFQUNJLHlCaEIwRW1CO0F0QnUxbUI3QjtBZ0Vubm1CQSxtQkFBQTtBMUJwVE07RUFDRSxjaEJpRFE7QXRCMDNtQmhCO0FzQ3Y2bUJNO0VBQ0ksY2hCNkNXO0F0QjYzbUJyQjtBc0NoN21CTTtFQUNFLGNoQnNYSztBdEI2am1CYjtBc0MvNm1CTTtFQUNJLGNoQm1YRztBdEIram1CYjtBc0N4N21CTTtFQUNFLGNoQnNYSztBdEJxa21CYjtBc0N2N21CTTtFQUNJLGNoQm1YRztBdEJ1a21CYjtBZ0V2b21CQSxnQkFBQTtBMUJ6VE07RUFDRSw4QjBCeVQ2RDtBaEUyb21CckU7QXNDaDhtQk07RUFDSSxrRDBCb1Q0RTtBaEUrb21CdEY7QXNDejhtQk07RUFDRSxjMEIwVDBEO0FoRWtwbUJsRTtBc0N4OG1CTTtFQUNJLDJCMEJxVDREO0FoRXNwbUJ0RTtBZ0VwcG1CQSxjQUFBO0ExQjdUTTtFQUNFLHVCaEIwQ1c7QXRCMjZtQm5CO0FzQ2o5bUJNO0VBQ0ksdUJoQnNDYztBdEI4Nm1CeEI7QWdFMXBtQkEscUJBQUE7QTFCaFVNO0VBQ0UsdUJoQjBDVztBdEJvN21CbkI7QXNDMTltQk07RUFDSSx1QmhCc0NjO0F0QnU3bUJ4QjtBc0NuK21CTTtFQUNFLGtCMEJpVXlFO0FoRXFxbUJqRjtBc0NsK21CTTtFQUNJLHNDMEI0VDJFO0FoRXlxbUJyRjtBc0MzK21CTTtFQUNFLFUwQmtVaUU7QWhFNHFtQnpFO0FzQzErbUJNO0VBQ0ksOEIwQjZUbUU7QWhFZ3JtQjdFO0FnRTlxbUJBLDRCQUFBO0ExQnJVTTtFQUNFLGNoQmdIYztBdEJ1NG1CdEI7QXNDbi9tQk07RUFDSSxjaEI0R2lCO0F0QjA0bUIzQjtBc0M1L21CTTtFQUNFLGNoQmdIYztBdEIrNG1CdEI7QXNDMy9tQk07RUFDSSxjaEI0R2lCO0F0Qms1bUIzQjtBc0NwZ25CTTtFQUNFLHVCaEIwQ1c7QXRCNjltQm5CO0FzQ25nbkJNO0VBQ0ksdUJoQnNDYztBdEJnK21CeEI7QWdFM3JtQkE7O0VBRUUsdUIxQ3hTaUI7QXRCcyttQm5CO0FnRTVybUJBOztFQUVFLHVCMUMzU3NCO0F0QjArbUJ4QjtBc0N0aG5CTTtFQUNFLHlCaEJ3S2tDO0F0QmkzbUIxQztBc0NyaG5CTTtFQUNJLHlCaEJvS3FDO0F0Qm8zbUIvQztBc0M5aG5CTTtFQUNFLGNoQitKdUI7QXRCazRtQi9CO0FzQzdobkJNO0VBQ0ksY2hCNEowQjtBdEJvNG1CcEM7QXNDdGluQk07RUFDRSx5QmhCd0trQztBdEJpNG1CMUM7QXNDcmluQk07RUFDSSx5QmhCb0txQztBdEJvNG1CL0M7QXNDOWluQk07RUFDRSxjaEIrSnVCO0F0Qms1bUIvQjtBc0M3aW5CTTtFQUNJLGNoQjRKMEI7QXRCbzVtQnBDO0FzQ3RqbkJNO0VBQ0UsV2hCZ0s4QjtBdEJ5NW1CdEM7QXNDcmpuQk07RUFDSSxjaEI2SmlDO0F0QjI1bUIzQztBc0M5am5CTTtFQUNFLFdoQmdLOEI7QXRCaTZtQnRDO0FzQzdqbkJNO0VBQ0ksY2hCNkppQztBdEJtNm1CM0M7QWdFcnRtQkE7RUFBZ0QsVzFDaE5WO0F0Qnk2bUJ0QztBZ0V4dG1CQTtFQUFnRCxjMUMvTUw7QXRCMjZtQjNDO0FzQzlrbkJNO0VBQ0Usc0MwQmtYZ0Y7QWhFK3RtQnhGO0FzQzdrbkJNO0VBQ0ksa0IwQjZXc0c7QWhFbXVtQmhIO0FzQ3RsbkJNO0VBQ0UsOEIwQm1Yd0U7QWhFc3VtQmhGO0FzQ3JsbkJNO0VBQ0ksVTBCOFc4RjtBaEUwdW1CeEc7QXNDOWxuQk07RUFDRSx5QmhCSEc7QXRCb21uQlg7QXNDN2xuQk07RUFDSSx5QmhCb0lxQjtBdEI0OW1CL0I7QXNDdG1uQk07RUFDRSwwQzBCcVgwRTtBaEVvdm1CbEY7QXNDcm1uQk07RUFDSSwwQzBCZ1h1RztBaEV3dm1Cakg7QXNDOW1uQk07RUFDRSw0QmhCQ0c7QXRCZ25uQlg7QXNDN21uQk07RUFDSSw0QmhCc0htQjtBdEIwL21CN0I7QXNDdG5uQk07RUFDRSx5QmhCeUptQjtBdEJnK21CM0I7QXNDcm5uQk07RUFDSSx5QmhCcUpzQjtBdEJtK21CaEM7QXNDOW5uQk07RUFDRSw0QmhCQ0c7QXRCZ29uQlg7QXNDN25uQk07RUFDSSw0QmhCc0htQjtBdEIwZ25CN0I7QXNDdG9uQk07RUFDRSxXaEJnSzhCO0F0QnkrbUJ0QztBc0Nyb25CTTtFQUNJLGNoQjZKaUM7QXRCMittQjNDO0FzQzlvbkJNO0VBQ0UsY2hCK0p1QjtBdEJrL21CL0I7QXNDN29uQk07RUFDSSxjaEI0SjBCO0F0Qm8vbUJwQztBc0N0cG5CTTtFQUNFLGNoQitKdUI7QXRCMC9tQi9CO0FzQ3JwbkJNO0VBQ0ksY2hCNEowQjtBdEI0L21CcEM7QXNDOXBuQk07RUFDRSxzQzBCZ1kwRjtBaEVpeW1CbEc7QXNDN3BuQk07RUFDSSxrQjBCMlhnSDtBaEVxeW1CMUg7QXNDdHFuQk07RUFDRSw4QjBCaVlrRjtBaEV3eW1CMUY7QXNDcnFuQk07RUFDSSxVMEI0WHdHO0FoRTR5bUJsSDtBc0M5cW5CTTtFQUNFLHlCaEJ5Sm1CO0F0QndobkIzQjtBc0M3cW5CTTtFQUNJLHlCaEJxSnNCO0F0QjJobkJoQztBc0N0cm5CTTtFQUNFLDJCaEJDRztBdEJ3cm5CWDtBc0Nycm5CTTtFQUNJLDJCaEJzSG1CO0F0QmtrbkI3QjtBZ0UzeW1CQTtFQUNFLCtCQUFBO0FoRTh5bUJGO0FnRTV5bUJBO0VBQ0UsK0JBQUE7QWhFK3ltQkY7QWdFMXltQkE7O0VBRUUsc0NBQUE7RUFDQSxzQ0FBQTtBaEU2eW1CRjtBZ0UzeW1CQTs7RUFFRSxzQ0FBQTtFQUNBLHNDQUFBO0FoRTh5bUJGO0FzQ2x0bkJNO0VBQ0UseUJoQnlKbUI7QXRCNGpuQjNCO0FzQ2p0bkJNO0VBQ0kseUJoQnFKc0I7QXRCK2puQmhDO0FzQzF0bkJNO0VBQ0UseUJoQnlKbUI7QXRCb2tuQjNCO0FzQ3p0bkJNO0VBQ0kseUJoQnFKc0I7QXRCdWtuQmhDO0FzQ2x1bkJNO0VBQ0UsdUMwQndib0g7QWhFNnltQjVIO0FzQ2p1bkJNO0VBQ0ksdUMwQm1ibUo7QWhFaXptQjdKO0FzQzF1bkJNO0VBQ0Usb0MwQnliaUg7QWhFb3ptQnpIO0FzQ3p1bkJNO0VBQ0ksb0MwQm9iZ0o7QWhFd3ptQjFKO0FzQ2x2bkJNO0VBQ0UsY2hCK0p1QjtBdEJzbG5CL0I7QXNDanZuQk07RUFDSSxjaEI0SjBCO0F0QndsbkJwQztBc0Mxdm5CTTtFQUNFLFdoQmdLOEI7QXRCNmxuQnRDO0FzQ3p2bkJNO0VBQ0ksY2hCNkppQztBdEIrbG5CM0M7QXNDbHduQk07RUFDRSxXaEJnSzhCO0F0QnFtbkJ0QztBc0Nqd25CTTtFQUNJLGNoQjZKaUM7QXRCdW1uQjNDO0FzQzF3bkJNO0VBQ0UseUJoQndLa0M7QXRCcW1uQjFDO0FzQ3p3bkJNO0VBQ0kseUJoQm9LcUM7QXRCd21uQi9DO0FzQ2x4bkJNO0VBQ0UseUJoQndLa0M7QXRCNm1uQjFDO0FzQ2p4bkJNO0VBQ0kseUJoQm9LcUM7QXRCZ25uQi9DO0FzQzF4bkJNO0VBQ0UsV2hCZ0s4QjtBdEI2bm5CdEM7QXNDenhuQk07RUFDSSxjaEI2SmlDO0F0QitubkIzQztBc0NseW5CTTtFQUNFLHlCaEJ3S2tDO0F0QjZubkIxQztBc0NqeW5CTTtFQUNJLHlCaEJvS3FDO0F0QmdvbkIvQztBc0MxeW5CTTtFQUNFLFdoQmdLOEI7QXRCNm9uQnRDO0FzQ3p5bkJNO0VBQ0ksY2hCNkppQztBdEIrb25CM0M7QXNDbHpuQk07RUFDRSxjaEIrSnVCO0F0QnNwbkIvQjtBc0Nqem5CTTtFQUNJLGNoQjRKMEI7QXRCd3BuQnBDO0FzQzF6bkJNO0VBQ0UseUJoQndLa0M7QXRCcXBuQjFDO0FzQ3p6bkJNO0VBQ0kseUJoQm9LcUM7QXRCd3BuQi9DO0FzQ2wwbkJNO0VBQ0UsV2hCZ0s4QjtBdEJxcW5CdEM7QXNDajBuQk07RUFDSSxjaEI2SmlDO0F0QnVxbkIzQztBc0MxMG5CTTtFQUNFLHlCaEJ3S2tDO0F0QnFxbkIxQztBc0N6MG5CTTtFQUNJLHlCaEJvS3FDO0F0QndxbkIvQztBc0NsMW5CTTtFQUNFLFdoQmdLOEI7QXRCcXJuQnRDO0FzQ2oxbkJNO0VBQ0ksY2hCNkppQztBdEJ1cm5CM0M7QXNDMTFuQk07RUFDRSxzQzBCbWVxRztBaEUwM21CN0c7QXNDejFuQk07RUFDSSxrQjBCOGQySDtBaEU4M21Cckk7QXNDbDJuQk07RUFDRSw4QjBCb2U2RjtBaEVpNG1Cckc7QXNDajJuQk07RUFDSSxVMEIrZG1IO0FoRXE0bUI3SDtBc0MxMm5CTTtFQUNFLHNDMEJ5ZTZGO0FoRW80bUJyRztBc0N6Mm5CTTtFQUNJLGtCMEJvZW1IO0FoRXc0bUI3SDtBc0NsM25CTTtFQUNFLDhCMEIwZXFGO0FoRTI0bUI3RjtBc0NqM25CTTtFQUNJLFUwQnFlMkc7QWhFKzRtQnJIO0FzQzEzbkJNO0VBQ0UsV2hCZ0s4QjtBdEI2dG5CdEM7QXNDejNuQk07RUFDSSxjaEI2SmlDO0F0Qit0bkIzQztBc0NsNG5CTTtFQUNFLFdoQmdLOEI7QXRCcXVuQnRDO0FzQ2o0bkJNO0VBQ0ksY2hCNkppQztBdEJ1dW5CM0M7QWdFMzRtQkE7RUFDRSxhQUFBO0VBQ0EsbUJBQUE7RUFDQSxzQkFBQTtFQUNBLFlBQUE7RUFPQSxzQkFBQTtFQUNBLFNBQUE7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QXNDcmtvQk07RUFDSSw0QmhCc0htQjtBdEJrOW5CN0I7QWdFcjBtQkE7RUFDRSx5QjFDaG5CeUI7RTBDaW5CekIsYzFDM21CNkI7RTBDNG1CN0IsK0JBQUE7QWhFdzBtQkY7QWdFdDBtQkE7RUFDRSx5QjFDcG5COEI7RTBDcW5COUIsYzFDOW1Ca0M7RTBDK21CbEMsK0JBQUE7QWhFeTBtQkY7QWdFcDBtQkE7O0VBRUUsMkIxQ3J4QlM7RTBDc3hCVCwyQkFBQTtBaEV1MG1CRjtBZ0VyMG1CQTs7RUFFRSwyQjFDL3BCMkI7RTBDZ3FCM0IsMkJBQUE7QWhFdzBtQkY7QWdFaDBtQkE7RUFDRSxjQUFBO0VBQ0EsU0FBQTtBaEVtMG1CRjtBZ0VqMG1CQTtFQUlFLDZCQUFBO0VBR0EsWUMvd0JnQjtBakU4a29CbEI7QWdFdnptQkE7RUFDRSxjMUN2cEJ5QztBdEJpOW5CM0M7QXNDcG5vQk07RUFDRSxjaEIrSnVCO0F0Qnc5bkIvQjtBc0Nubm9CTTtFQUNJLGNoQjRKMEI7QXRCMDluQnBDO0FzQzVub0JNO0VBQ0UsV2hCZ0s4QjtBdEIrOW5CdEM7QXNDM25vQk07RUFDSSxjaEI2SmlDO0F0QmkrbkIzQztBc0Nwb29CTTtFQUNFLFdoQmdLOEI7QXRCdStuQnRDO0FzQ25vb0JNO0VBQ0ksY2hCNkppQztBdEJ5K25CM0M7QXNDNW9vQk07RUFDRSx5QmhCd0trQztBdEJ1K25CMUM7QXNDM29vQk07RUFDSSx5QmhCb0txQztBdEIwK25CL0M7QXNDcHBvQk07RUFDRSx5QmhCd0trQztBdEIrK25CMUM7QXNDbnBvQk07RUFDSSx5QmhCb0txQztBdEJrL25CL0M7QXNDNXBvQk07RUFDRSxXaEJnSzhCO0F0QisvbkJ0QztBc0MzcG9CTTtFQUNJLGNoQjZKaUM7QXRCaWdvQjNDO0FzQ3Bxb0JNO0VBQ0UsY2hCK0p1QjtBdEJ3Z29CL0I7QXNDbnFvQk07RUFDSSxjaEI0SjBCO0F0QjBnb0JwQztBc0M1cW9CTTtFQUNFLHlCaEJ3S2tDO0F0QnVnb0IxQztBc0MzcW9CTTtFQUNJLHlCaEJvS3FDO0F0QjBnb0IvQztBc0Nwcm9CTTtFQUNFLHlCaEJ5Sm1CO0F0Qjhob0IzQjtBc0Nucm9CTTtFQUNJLHlCaEJxSnNCO0F0Qmlpb0JoQztBc0M1cm9CTTtFQUNFLDJCaEJDRztBdEI4cm9CWDtBc0Mzcm9CTTtFQUNJLDJCaEJzSG1CO0F0Qndrb0I3QjtBZ0U1MW1CQTtFQUNFLG1EQUFBO0FoRSsxbUJGO0FzQ3hzb0JNO0VBQ0UsNEJoQkNHO0F0QjBzb0JYO0FzQ3Zzb0JNO0VBQ0ksMEIwQjAyQjZHO0FoRWcybUJ2SDtBc0NodG9CTTtFQUNFLFdoQmdLOEI7QXRCbWpvQnRDO0FzQy9zb0JNO0VBQ0ksY2hCNkppQztBdEJxam9CM0M7QWdFLzFtQkE7RUFDRSxvQ0FBQTtBaEVrMm1CRjtBZ0VoMm1CQTtFQUNFLG9DQUFBO0FoRW0ybUJGO0FnRS8xbUJBOztFQUVFLG9DQUFBO0FoRWsybUJGO0FnRWgybUJBOztFQUVFLG9DQUFBO0FoRW0ybUJGO0FnRXAxbUJBOzs7O0VBSUUsd0NBQUE7QWhFdTFtQkY7QWdFaDFtQkE7O0VBRUUsb0NBQUE7QWhFbTFtQkY7QWdFajFtQkE7O0VBRUUsb0NBQUE7QWhFbzFtQkY7QWdFMTBtQkE7RUFDRSxjMUNseEI2QjtBdEIrbG9CL0I7QWdFMzBtQkE7O0VBRUUsVzFDcnhCb0M7QXRCbW1vQnRDO0FnRTUwbUJBO0VBQ0UsYzFDdnhCa0M7QXRCc21vQnBDO0FnRTcwbUJBOztFQUVFLGMxQzF4QnlDO0F0QjBtb0IzQztBZ0V6MG1CQTs7RUFFRSxvQ0FBQTtBaEU0MG1CRjtBZ0UxMG1CQTs7RUFFRSxvQ0FBQTtBaEU2MG1CRjtBZ0UxMG1CQTs7RUFFRSxvQ0FBQTtBaEU2MG1CRjtBZ0UzMG1CQTs7RUFFRSxvQ0FBQTtBaEU4MG1CRjtBZ0V6MG1CQTs7O0VBR0Usb0NBQUE7QWhFNDBtQkY7QWdFMTBtQkE7OztFQUdFLG9DQUFBO0FoRTYwbUJGO0FnRTMwbUJBOztFQUVFLG9DQUFBO0FoRTgwbUJGO0FnRTUwbUJBOztFQUVFLG9DQUFBO0FoRSswbUJGO0FnRTEwbUJBO0VBQ0Usb0NBQUE7RUFDQSxxQjFDNytCUztB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RjtBZ0VoMG1CQTtFQUNFLGdDQUFBO0FoRW0wbUJGO0FnRWowbUJBO0VBQ0UsZ0NBQUE7QWhFbzBtQkY7QWdFaDBtQkE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsdVFBQUE7QWhFbTBtQkY7QWdFajBtQkE7RUFDRSxvQ0FBQTtFQUNBLGdDQUFBO0VBQ0EsdVFBQUE7QWhFbzBtQkY7QXNDcmlwQk07RUFDRSxjaEIrSnVCO0F0Qnk0b0IvQjtBc0NwaXBCTTtFQUNJLGNoQjRKMEI7QXRCMjRvQnBDO0FzQzdpcEJNO0VBQ0Usb0MwQjB1Q3VHO0FoRXMwbUIvRztBc0M1aXBCTTtFQUNJLG9DMEJxdUNvSTtBaEUwMG1COUk7QXNDcmpwQk07RUFDRSxvQzBCMnVDZ0k7QWhFNjBtQnhJO0FzQ3BqcEJNO0VBQ0ksb0MwQnN1QzZKO0FoRWkxbUJ2SztBc0M3anBCTTtFQUNFLG9DMEJpdkNnSDtBaEUrMG1CeEg7QXNDNWpwQk07RUFDSSxvQzBCNHVDNkk7QWhFbTFtQnZKO0FzQ3JrcEJNO0VBQ0UsZ0QwQnN2QzhHO0FoRWsxbUJ0SDtBc0Nwa3BCTTtFQUNJLGdEMEJpdkNvSjtBaEVzMW1COUo7QXNDN2twQk07RUFDRSwyQjBCdXZDMEg7QWhFeTFtQmxJO0FzQzVrcEJNO0VBQ0ksMkIwQmt2Q3lJO0FoRTYxbUJuSjtBZ0V6MW1CQTs7RUFFRSxvQ0FBQTtBaEU0MW1CRjtBZ0UxMW1CQTs7RUFFRSxvQ0FBQTtBaEU2MW1CRjtBZ0V0MW1CQTtFQUNFLGMxQ3pwQ29CO0F0Qmsvb0J0QjtBZ0V2MW1CQTtFQUNFLGMxQzNwQ3lCO0F0QnEvb0IzQjtBZ0V4MW1CQTs7RUFFRSxvQ0FBQTtBaEUyMW1CRjtBZ0V6MW1CQTs7RUFFRSxvQ0FBQTtBaEU0MW1CRjtBZ0VyMW1CQTtFQUNFLG9DQUFBO0VBS0EsMkJBQUE7RUFDQSxtRGpDenRDc0I7QS9CNmlwQnhCO0FnRW4wbUJBO0VBQ0UsY0FBQTtFQUNBLHNCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JqQ2p1Q2M7QS9CdWlwQmhCO0FnRXAwbUJBO0VBQ0UseUIx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bUJKO0FnRTl1bUJFO0VBQ0UsMEIxQzdzRFM7RTBDOHNEVCxnQmpDanJEcUI7RWlDa3JEckIsZ0JBQUE7QWhFZ3ZtQko7QWdFOXVtQkU7RUFDRSxjQUFBO0VBQ0EsMEIxQ250RFM7RTBDb3REVCxnQmpDdnJEcUI7RWlDd3JEckIsa0NBQUE7QWhFZ3ZtQko7QWdFMXVtQkU7RUFDRSxjMUN2cERnQztBdEJvNHBCcEM7QWdFNXVtQkk7RUFBVSx5QjFDaHBEaUM7QXRCKzNwQi9DO0FnRTl1bUJJO0VBQXFCLHlCMUN6cERXO0F0QjA0cEJwQztBZ0UvdW1CRTtFQUFnQyxnQzFDL3REaEI7QXRCaTlwQmxCO0FnRTN1bUJBO0VBQXlCLHdCQUFBO0FoRSt1bUJ6QjtBZ0U5dW1CQTtFQUFzQix3QkFBQTtBaEVrdm1CdEI7QWdFL3VtQkE7OztFQUVlLHdCQUFBO0FoRW12bUJmO0FnRWh2bUJBO0VBQXlCLHdCQUFBO0FoRW92bUJ6QjtBZ0U1dW1CQTtFQUNFLGdDMUN4dkRnQjtBdEJ1K3BCbEI7QWdFOXVtQkU7RUFDRSwyQzFDN3VEcUI7RTBDOHVEckIsK0IxQ3J2RG9CO0F0QnErcEJ4QjtBZ0U5dW1CRTtFQUFjLGNBQUE7QWhFaXZtQmhCO0FnRXh1bUJFO0VBQ0UsYzFDbnNEZ0M7QXRCODZwQnBDO0FnRTF1bUJJO0VBQVcseUIxQzVyRGdDO0F0Qnk2cEIvQztBZ0U1dW1CSTtFQUFxQix5QjFDcnNEVztBdEJvN3BCcEM7QWdFN3VtQkU7RUFBc0IseUIxQzlzRFE7QXRCODdwQmhDO0FnRS91bUJFO0VBQ0UsdUIxQy96RG9CO0UwQ2cwRHBCLHFCMUNodkR5QjtFMENpdkR6QixjMUMzc0RnQztBdEI0N3BCcEM7QWdFaHZtQkk7RUFBaUIsK0JBQUE7QWhFbXZtQnJCO0FnRW52bUJJO0VBQWlCLCtCQUFBO0FoRW12bUJyQjtBZ0Vudm1CSTtFQUFpQiwrQkFBQTtBaEVtdm1CckI7QWdFOXVtQkE7O0VBRUUseUIxQzF0RDhCO0UwQzJ0RDlCLDZCQUFBO0VBQ0Esa0RqQzV5RHNCO0EvQjZocUJ4QjtBZ0VodW1CQTs7O0VBR0Us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cm1CSjtBZ0U3cW1CQSxxQkFBQTtBMUI5ekVNO0VBQ0UsY2hCK0p1QjtBdEJnMXFCL0I7QXNDMytxQk07RUFDSSxjaEI0SjBCO0F0QmsxcUJwQztBc0NwL3FCTTtFQUNFLHlCaEJDRztBdEJzL3FCWDtBc0NuL3FCTTtFQUNJLHlCaEJzSG1CO0F0Qmc0cUI3QjtBc0M1L3FCTTtFQUNFLHlCaEJDRztBdEI4L3FCWDtBc0MzL3FCTTtFQUNJLHlCaEJzSG1CO0F0Qnc0cUI3QjtBc0NwZ3JCTTtFQUNFLHlCaEJDRztBdEJzZ3JCWDtBc0NuZ3JCTTtFQUNJLHlCaEJzSG1CO0F0Qmc1cUI3QjtBc0M1Z3JCTTtFQUNFLHlCaEJDRztBdEI4Z3JCWDtBc0MzZ3JCTTtFQUNJLHlCaEJzSG1CO0F0Qnc1cUI3QjtBc0NwaHJCTTtFQUNFLHVCaEIwQ1c7QXRCNitxQm5CO0FzQ25ockJNO0VBQ0ksdUJoQnNDYztBdEJnL3FCeEI7QXNDNWhyQk07RUFDRSxxQmhCQ0c7QXRCOGhyQlg7QXNDM2hyQk07RUFDSSxxQmhCc0htQjtBdEJ3NnFCN0I7QXNDcGlyQk07RUFDRSwwQzBCeTFFbUc7QWhFOHNtQjNHO0FzQ25pckJNO0VBQ0kseUMwQm8xRWlJO0FoRWt0bUIzSTtBc0M1aXJCTTtFQUNFLHlCaEJIRztBdEJranJCWDtBc0MzaXJCTTtFQUNJLHlCaEJDQztBdEI2aXJCWDtBc0NwanJCTTtFQUNFLGNoQk1HO0F0QmlqckJYO0FzQ25qckJNO0VBQ0ksY2hCSkM7QXRCMGpyQlg7QXNDNWpyQk07RUFDRSxjMEJnMkVpRjtBaEUrdG1CekY7QXNDM2pyQk07RUFDSSxjMEIyMUV3RjtBaEVtdW1CbEc7QXNDcGtyQk07RUFDRSxjMEJpMkVpRjtBaEVzdW1CekY7QXNDbmtyQk07RUFDSSxjMEI0MUV3RjtBaEUwdW1CbEc7QXNDNWtyQk07RUFDRSxjaEJpRFE7QXRCOGhyQmhCO0FzQzNrckJNO0VBQ0ksY2hCNkNXO0F0QmlpckJyQjtBc0NwbHJCTTtFQUNFLGNoQitKdUI7QXRCdzdxQi9CO0FzQ25sckJNO0VBQ0ksY2hCNEowQjtBdEIwN3FCcEM7QWdFdHZtQkEsYUFBQTtBMUJ0MkVNO0VBQ0UsY2hCZ0hjO0F0QmcvcUJ0QjtBc0M1bHJCTTtFQUNJLGNoQm1YRztBdEI0dXFCYjtBc0NybXJCTTtFQUNFLHlCaEJ5Sm1CO0F0Qis4cUIzQjtBc0NwbXJCTTtFQUNJLHlCaEJxSnNCO0F0Qms5cUJoQztBc0M3bXJCTTtFQUNFLHlCMEI2MkU0RDtBaEVtd21CcEU7QXNDNW1yQk07RUFDSSx5QjBCdzJFMEY7QWhFdXdtQnBHO0FzQ3JuckJNO0VBQ0UsY2hCK0VxQjtBdEJ5aXJCN0I7QXNDcG5yQk07RUFDSSxjaEJ5RWM7QXRCOGlyQnhCO0FzQzduckJNO0VBQ0UseUJoQnlKbUI7QXRCdStxQjNCO0FzQzVuckJNO0VBQ0kseUJoQnFKc0I7QXRCMCtxQmhDO0FzQ3JvckJNO0VBQ0UseUIwQmczRXdEO0FoRXd4bUJoRTtBc0Nwb3JCTTtFQUNJLHlCMEIyMkVzRjtBaEU0eG1CaEc7QXNDN29yQk07RUFDRSxjaEJpRFE7QXRCK2xyQmhCO0FzQzVvckJNO0VBQ0ksY2hCNkNXO0F0QmttckJyQjtBc0NycHJCTTtFQUNFLGNoQmlEUTtBdEJ1bXJCaEI7QXNDcHByQk07RUFDSSxjaEI2Q1c7QXRCMG1yQnJCO0FzQzdwckJNO0VBQ0UseUIwQm8zRThEO0FoRTR5bUJ0RTtBc0M1cHJCTTtFQUNJLHlCMEIrMkU0RjtBaEVnem1CdEc7QXNDcnFyQk07RUFDRSxnQjBCcTNFMEY7QWhFbXptQmxHO0FzQ3BxckJNO0VBQ0ksZ0IwQmczRThGO0FoRXV6bUJ4RztBc0M3cXJCTTtFQUNFLHlCaEJvVmlCO0F0QjQxcUJ6QjtBc0M1cXJCTTtFQUNJLHlCaEJnVm9CO0F0QisxcUI5QjtBc0NycnJCTTtFQUNFLGNoQmdIYztBdEJ3a3JCdEI7QXNDcHJyQk07RUFDSSxjaEI0R2lCO0F0QjJrckIzQjtBc0M3cnJCTTtFQUNFLHlCaEJ5Sm1CO0F0QnVpckIzQjtBc0M1cnJCTTtFQUNJLHlCaEJxSnNCO0F0QjBpckJoQztBc0Nyc3JCTTtFQUNFLHFCaEJDRztBdEJ1c3JCWDtBc0Nwc3JCTTtFQUNJLHFCaEJzSG1CO0F0QmlsckI3QjtBc0M3c3JCTTtFQUNFLGNoQitKdUI7QXRCaWpyQi9CO0FzQzVzckJNO0VBQ0ksY2hCNEowQjtBdEJtanJCcEM7QWdFbDFtQkEsZUFBQTtBMUJuNEVNO0VBQ0UseUJoQnlKbUI7QXRCZ2tyQjNCO0FzQ3J0ckJNO0VBQ0kseUJoQnFKc0I7QXRCbWtyQmhDO0FzQzl0ckJNO0VBQ0UseUIwQm80RTZFO0FoRTYxbUJyRjtBc0M3dHJCTTtFQUNJLHlCMEIrM0UyRztBaEVpMm1Cckg7QXNDdHVyQk07RUFDRSxjaEJzWEs7QXRCbTNxQmI7QXNDcnVyQk07RUFDSSxjaEJtWEc7QXRCcTNxQmI7QWdFdDJtQkEscUJBQUE7QTFCeDRFTTtFQUNFLGNoQjZObUI7QXRCcWhyQjNCO0FzQzl1ckJNO0VBQ0ksY2hCeU5zQjtBdEJ3aHJCaEM7QXNDdnZyQk07RUFDRSxjaEI0Qlk7QXRCOHRyQnBCO0FzQ3R2ckJNO0VBQ0ksY2hCd0JlO0F0Qml1ckJ6QjtBc0MvdnJCTTtFQUNFLGNoQm9PdUI7QXRCOGhyQi9CO0FzQzl2ckJNO0VBQ0ksY2hCZ08wQjtBdEJpaXJCcEM7QXNDdndyQk07RUFDRSxjaEJzT29CO0F0Qm9pckI1QjtBc0N0d3JCTTtFQUNJLGNoQmtPdUI7QXRCdWlyQmpDO0FzQy93ckJNO0VBQ0UsY2hCd09zQjtBdEIwaXJCOUI7QXNDOXdyQk07RUFDSSxjaEJvT3lCO0F0QjZpckJuQztBc0N2eHJCTTtFQUNFLGNoQjZPaUM7QXRCNmlyQnpDO0FzQ3R4ckJNO0VBQ0ksY2hCeU9vQztBdEJnanJCOUM7QXNDL3hyQk07RUFDRSxjaEJrUHFDO0F0QmdqckI3QztBc0M5eHJCTTtFQUNJLGNoQjhPd0M7QXRCbWpyQmxEO0FzQ3Z5ckJNO0VBQ0UsY2hCZ0hjO0F0QjByckJ0QjtBc0N0eXJCTTtFQUNJLGNoQnlOc0I7QXRCZ2xyQmhDO0FzQy95ckJNO0VBQ0UseUJoQjZObUI7QXRCcWxyQjNCO0FzQzl5ckJNO0VBQ0kseUJoQnlOc0I7QXRCd2xyQmhDO0FzQ3Z6ckJNO0VBQ0UseUJoQjRCWTtBdEI4eHJCcEI7QXNDdHpyQk07RUFDSSx5QmhCd0JlO0F0Qml5ckJ6QjtBc0MvenJCTTtFQUNFLHlCaEJvT3VCO0F0QjhsckIvQjtBc0M5enJCTTtFQUNJLHlCaEJnTzBCO0F0QmltckJwQztBc0N2MHJCTTtFQUNFLHlCaEJzT29CO0F0Qm9tckI1QjtBc0N0MHJCTTtFQUNJLHlCaEJrT3VCO0F0QnVtckJqQztBc0MvMHJCTTtFQUNFLHlCaEJ3T3NCO0F0QjBtckI5QjtBc0M5MHJCTTtFQUNJLHlCaEJvT3lCO0F0QjZtckJuQztBc0N2MXJCTTtFQUNFLHlCaEI2T2lDO0F0QjZtckJ6QztBc0N0MXJCTTtFQUNJLHlCaEJ5T29DO0F0QmduckI5QztBc0MvMXJCTTtFQUNFLHlCaEJrUHFDO0F0QmduckI3QztBc0M5MXJCTTtFQUNJLHlCaEI4T3dDO0F0Qm1uckJsRDtBc0N2MnJCTTtFQUNFLGNoQitKdUI7QXRCMnNyQi9CO0FzQ3QyckJNO0VBQ0ksY2hCNEowQjtBdEI2c3JCcEM7QXNDLzJyQk07RUFDRSxXaEJnSzhCO0F0Qmt0ckJ0QztBc0M5MnJCTTtFQUNJLGNoQjZKaUM7QXRCb3RyQjNDO0FzQ3YzckJNO0VBQ0UsV2hCZ0s4QjtBdEIwdHJCdEM7QXNDdDNyQk07RUFDSSxjaEI2SmlDO0F0QjR0ckIzQztBc0MvM3JCTTtFQUNFLDRCaEJDRztBdEJpNHJCWDtBc0M5M3JCTTtFQUNJLDRCaEJzSG1CO0F0QjJ3ckI3QjtBc0N2NHJCTTtFQUNFLHlCaEJDRztBdEJ5NHJCWDtBc0N0NHJCTTtFQUNJLHlCaEJzSG1CO0F0Qm14ckI3QjtBc0MvNHJCTTtFQUNFLG9DMEI0NkVxRTtBaEVzK21CN0U7QXNDOTRyQk07RUFDSSxvQzBCdTZFeUc7QWhFMCttQm5IO0FzQ3Y1ckJNO0VBQ0Usb0MwQjg3RThGO0FoRTQ5bUJ0RztBc0N0NXJCTTtFQUNJLG9DMEJ5N0VnSDtBaEVnK21CMUg7QXNDLzVyQk07RUFDRSxnQzBCKzdFMEY7QWhFbSttQmxHO0FzQzk1ckJNO0VBQ0ksZ0MwQjA3RWdJO0FoRXUrbUIxSTtBc0N2NnJCTTtFQUNFLHdDMEJnOEV3RjtBaEUwK21CaEc7QXNDdDZyQk07RUFDSSxtRDBCMjdFaUg7QWhFOCttQjNIO0FnRTErbUJBO0VBQ0UsK0pBQUE7QWhFNittQkY7QXNDbjdyQk07RUFDRSx3QzBCbTlFb0c7QWhFbSttQjVHO0FzQ2w3ckJNO0VBQ0ksbUQwQjg4RTZIO0FoRXUrbUJ2STtBZ0V0K21CQTtFQUNFLG9DQUFBO0FoRXkrbUJGO0FzQy83ckJNO0VBQ0UsMEMwQjg5RXNGO0FoRW8rbUI5RjtBc0M5N3JCTTtFQUNJLHFEMEJ5OUVpSDtBaEV3K21CM0g7QXNDdjhyQk07RUFDRSxjaEIrSnVCO0F0QjJ5ckIvQjtBc0N0OHJCTTtFQUNJLGNoQjRKMEI7QXRCNnlyQnBDO0FzQy84ckJNO0VBQ0UsV2hCZ0s4QjtBdEJrenJCdEM7QXNDOThyQk07RUFDSSxjaEI2SmlDO0F0Qm96ckIzQztBc0N2OXJCTTtFQUNFLFdoQmdLOEI7QXRCMHpyQnRDO0FzQ3Q5ckJNO0VBQ0ksY2hCNkppQztBdEI0enJCM0M7QXNDLzlyQk07RUFDRSxjaEIrSnVCO0F0Qm0wckIvQjtBc0M5OXJCTTtFQUNJLGNoQjRKMEI7QXRCcTByQnBDO0FzQ3YrckJNO0VBQ0UsV2hCZ0s4QjtBdEIwMHJCdEM7QXNDdCtyQk07RUFDSSxjaEI2SmlDO0F0QjQwckIzQztBc0MvK3JCTTtFQUNFLFdoQmdLOEI7QXRCazFyQnRDO0FzQzkrckJNO0VBQ0ksY2hCNkppQztBdEJvMXJCM0M7QWdFN2duQkEsMkJBQUE7QTFCMStFTTtFQUNFLGNoQk9HO0F0Qm8vckJYO0FzQ3YvckJNO0VBQ0ksY2hCc0l5QjtBdEJvM3JCbkM7QXNDaGdzQk07RUFDRSx5QmhCV0k7QXRCdy9yQlo7QXNDLy9yQk07RUFDSSx5QmhCK0lvQztBdEJtM3JCOUM7QXNDeGdzQk07RUFDRSx5QmhCWUk7QXRCKy9yQlo7QXNDdmdzQk07RUFDSSx5QmhCaUp1QztBdEJ5M3JCakQ7QWdFamluQkE7OytFQUFBO0ExQi8rRU07RUFDRSw2QjBCaS9FcUo7QWhFcWluQjdKO0FzQ2xoc0JNO0VBQ0ksNkIwQjQrRWdLO0FoRXlpbkIxSztBc0MzaHNCTTtFQUNFLDZCMEJrL0VvSztBaEU0aW5CNUs7QXNDMWhzQk07RUFDSSw2QjBCNitFK0s7QWhFZ2puQnpMO0FzQ25pc0JNO0VBQ0UseUJoQndLa0M7QXRCODNyQjFDO0FzQ2xpc0JNO0VBQ0kseUJoQm9LcUM7QXRCaTRyQi9DO0FzQzNpc0JNO0VBQ0UseUJoQllJO0F0Qmtpc0JaO0FzQzFpc0JNO0VBQ0kseUJoQnNLd0M7QXRCdTRyQmxEO0FnRTVqbkJBLGNBQUE7QTFCdi9FTTtFQUNFLGNoQmdIYztBdEJ1OHJCdEI7QXNDbmpzQk07RUFDSSxjaEIyV0U7QXRCMnNyQlo7QXNDNWpzQk07RUFDRSxjaEJnSGM7QXRCKzhyQnRCO0FzQzNqc0JNO0VBQ0ksY2hCbVhHO0F0QjJzckJiO0FnRXprbkJBLG1CQUFBO0ExQjMvRU07RUFDRSxjaEJnSGM7QXRCdzlyQnRCO0FzQ3Brc0JNO0VBQ0ksY2hCMldFO0F0QjR0ckJaO0FzQzdrc0JNO0VBQ0UsY2hCZ0hjO0F0QmcrckJ0QjtBc0M1a3NCTTtFQUNJLGNoQjJXRTtBdEJvdXJCWjtBc0NybHNCTTtFQUNFLGNoQmdIYztBdEJ3K3JCdEI7QXNDcGxzQk07RUFDSSxjaEJtWEc7QXRCb3VyQmI7QWdFN2xuQkEsd0JBQUE7QTFCaGdGTTtFQUNFLGNoQnNYSztBdEIydXJCYjtBc0M3bHNCTTtFQUNJLGNoQm1YRztBdEI2dXJCYjtBc0N0bXNCTTtFQUNFLHlCaEJ3WEs7QXRCaXZyQmI7QXNDcm1zQk07RUFDSSx5QmhCaVhHO0F0QnV2ckJiO0FnRW5tbkJBLG9CQUFBO0ExQjNnRk07RUFDRSx1QmhCK0NhO0F0Qm1rc0JyQjtBc0M5bXNCTTtFQUNJLHVCaEIyQ2dCO0F0QnNrc0IxQjtBZ0V6bW5CQSxlQUFBO0ExQjlnRk07RUFDRSx5QmhCOEVnQjtBdEI2aXNCeEI7QXNDdm5zQk07RUFDSSx5QmhCMEVtQjtBdEJnanNCN0I7QXNDaG9zQk07RUFDRSxjaEJpRFE7QXRCa2xzQmhCO0FzQy9uc0JNO0VBQ0ksY2hCNkNXO0F0QnFsc0JyQjtBZ0V0bm5CQSxxQkFBQTtBMUJsaEZNO0VBQ0UsY2hCZ0hjO0F0QjRoc0J0QjtBc0N4b3NCTTtFQUNJLGNoQjRHaUI7QXRCK2hzQjNCO0FnRTVubkJBLDBCQUFBO0ExQnJoRk07RUFDRSx5QmhCb0lvQjtBdEJpaHNCNUI7QXNDanBzQk07RUFDSSx5QmhCZ0l1QjtBdEJvaHNCakM7QWdFbG9uQkEseUJBQUE7QTFCeGhGTTtFQUNFLHlCaEI4RWdCO0F0Qmdsc0J4QjtBc0MxcHNCTTtFQUNJLHlCaEIwRW1CO0F0Qm1sc0I3QjtBc0NucXNCTTtFQUNFLGNoQmlEUTtBdEJxbnNCaEI7QXNDbHFzQk07RUFDSSxjaEI2Q1c7QXRCd25zQnJCO0FnRS9vbkJBOzs7aURBQUE7QUFLQSxlQUFBO0ExQmppRk07RUFDRSxrQjBCaWlGbUU7QWhFa3BuQjNFO0FzQy9xc0JNO0VBQ0ksc0MwQjRoRnFFO0FoRXNwbkIvRTtBc0N4cnNCTTtFQUNFLFUwQmtpRjJEO0FoRXlwbkJuRTtBc0N2cnNCTTtFQUNJLDhCMEI2aEY2RDtBaEU2cG5CdkU7QXNDaHNzQk07RUFDRSxjMEJtaUY2RDtBaEVncW5CckU7QXNDL3JzQk07RUFDSSwwQzBCOGhGK0Q7QWhFb3FuQnpFO0FnRWxxbkJBLHVCQUFBO0ExQnRpRk07RUFDRSx5QmhCa1dvQjtBdEIwMnJCNUI7QXNDeHNzQk07RUFDSSx5QmhCOFZ1QjtBdEI2MnJCakM7QWdFcHFuQkE7RUFDRSxvQ0FBQTtFQUtBLDJCQUFBO0VBQ0EsbURqQzErRXNCO0EvQjZvc0J4QjtBZ0UzcG5CRTtFQUNFLHNDQUFBO0FoRTZwbkJKO0FnRTNwbkJFO0VBQ0Usc0NBQUE7QWhFNnBuQko7QWdFMXBuQkU7RUFDRSx5QkFBQTtBaEU0cG5CSjtBZ0UxcG5CRTtFQUNFLG9DQUFBO0VBQ0Esc0JBQUE7QWhFNHBuQko7QWdFeHBuQkU7RUFDRSxvQ0FBQTtFQUNBLHNCQUFBO0FoRTBwbkJKO0FnRXRwbkJFO0VBQ0UseUIxQ3ZrRlE7RTBDMmtGUixXMUN0N0VrQztFMEN1N0VsQyxxQjFDdGxGTztBdEIydXNCWDtBZ0VqcG5CQTtFQUNFLG9DQUFBO0VBT0Esd0NBQUE7RUFDQSxrRGpDMWhGc0I7QS9Cd3FzQnhCO0FnRXhvbkJFO0VBQ0Usc0NBQUE7QWhFMG9uQko7QWdFeG9uQkU7RUFDRSxzQ0FBQTtBaEUwb25CSjtBZ0V2b25CRTtFQUNFLHlCQUFBO0FoRXlvbkJKO0FnRXZvbkJFO0VBQ0Usb0NBQUE7RUFDQSx5QkFBQTtBaEV5b25CSjtBZ0V0b25CRTtFQUNFLG9DQUFBO0VBQ0EseUJBQUE7QWhFd29uQko7QWdFaG9uQkU7RUFLRSx5QjFDLzlFMkM7RTBDZytFM0MsYzFDditFdUM7RTBDdytFdkMscUIxQy9nRnlCO0F0QjZvc0I3QjtBc0N6d3NCTTtFQUNFLGMwQjZvRjZEO0FoRStubkJyRTtBc0N4d3NCTTtFQUNJLGtDMEJ3b0YrRDtBaEVtb25CekU7QXNDanhzQk07RUFDRSxjaEJnSGM7QXRCb3FzQnRCO0FzQ2h4c0JNO0VBQ0ksY2hCNEdpQjtBdEJ1cXNCM0I7QXNDenhzQk07RUFDRSx5QmhCNEJZO0F0Qmd3c0JwQjtBc0N4eHNCTTtFQUNJLHlCaEJ3QmU7QXRCbXdzQnpCO0FzQ2p5c0JNO0VBQ0UsWWhCK0hhO0F0QnFxc0JyQjtBc0NoeXNCTTtFQUNJLFloQjJIZ0I7QXRCd3FzQjFCO0FzQ3p5c0JNO0VBQ0UsWWhCK0hhO0F0QjZxc0JyQjtBc0N4eXNCTTtFQUNJLFloQjJIZ0I7QXRCZ3JzQjFCO0FzQ2p6c0JNO0VBQ0UseUJoQnFRcUI7QXRCK2lzQjdCO0FzQ2h6c0JNO0VBQ0ksMkMwQjZvRjJQO0FoRXNxbkJyUTtBZ0VwcW5CQSwrQkFBQTtBMUJycEZNO0VBQ0UseUJoQnVMa0I7QXRCc29zQjFCO0FzQ3p6c0JNO0VBQ0kseUJoQm1McUI7QXRCeW9zQi9CO0FnRXhxbkJBLGFBQUE7QTFCMXBGTTtFQUNFLHVCaEIrQ2E7QXRCdXhzQnJCO0FzQ2wwc0JNO0VBQ0ksdUJoQjJDZ0I7QXRCMHhzQjFCO0FzQzMwc0JNO0VBQ0UsWWhCZ0RrQjtBdEI4eHNCMUI7QXNDMTBzQk07RUFDSSxZaEIwQ1c7QXRCbXlzQnJCO0FzQ24xc0JNO0VBQ0UsdUJoQitDYTtBdEJ1eXNCckI7QXNDbDFzQk07RUFDSSx1QmhCMkNnQjtBdEIweXNCMUI7QWdFNXJuQkEsbUJBQUE7QTFCL3BGTTtFQUNFLGNoQmlEUTtBdEI4eXNCaEI7QXNDMzFzQk07RUFDSSxjaEI2Q1c7QXRCaXpzQnJCO0FnRWpzbkJBLHdCQUFBO0ExQm5xRk07RUFDRSx5QmhCOEVnQjtBdEIweHNCeEI7QXNDcDJzQk07RUFDSSx5QmhCMEVtQjtBdEI2eHNCN0I7QXNDNzJzQk07RUFDRSw0QmhCOEVnQjtBdEJreXNCeEI7QXNDNTJzQk07RUFDSSw0QmhCMEVtQjtBdEJxeXNCN0I7QXNDcjNzQk07RUFDRSwyQmhCd1hLO0F0Qmdnc0JiO0FzQ3Azc0JNO0VBQ0ksMkJoQmlYRztBdEJzZ3NCYjtBc0M3M3NCTTtFQUNFLHlCaEJ3WEs7QXRCd2dzQmI7QXNDNTNzQk07RUFDSSx5QjBCaXFGNEY7QWhFOHRuQnRHO0FzQ3I0c0JNO0VBQ0UscUJoQjhFZ0I7QXRCMHpzQnhCO0FzQ3A0c0JNO0VBQ0kscUJoQjBFbUI7QXRCNnpzQjdCO0FzQzc0c0JNO0VBQ0UsMkJoQjhFZ0I7QXRCazBzQnhCO0FzQzU0c0JNO0VBQ0ksMkJoQjBFbUI7QXRCcTBzQjdCO0FzQ3I1c0JNO0VBQ0UseUJoQjhFZ0I7QXRCMDBzQnhCO0FzQ3A1c0JNO0VBQ0kseUJoQjBFbUI7QXRCNjBzQjdCO0FzQzc1c0JNO0VBQ0UsMkJoQndYSztBdEJ3aXNCYjtBc0M1NXNCTTtFQUNJLDJCaEJpWEc7QXRCOGlzQmI7QWdFeHZuQkEsZ0JBQUE7QTFCN3FGTTtFQUNFLHlCaEI4RWdCO0F0QjIxc0J4QjtBc0NyNnNCTTtFQUNJLHlCaEIwRW1CO0F0Qjgxc0I3QjtBc0M5NnNCTTtFQUNFLFUwQjhxRjBGO0FoRW13bkJsRztBc0M3NnNCTTtFQUNJLGlCMEJ5cUY0RjtBaEV1d25CdEc7QXNDdDdzQk07RUFDRSxjaEJpRFE7QXRCdzRzQmhCO0FzQ3I3c0JNO0VBQ0ksY2hCNkNXO0F0QjI0c0JyQjtBc0M5N3NCTTtFQUNFLGNoQmlEUTtBdEJnNXNCaEI7QXNDNzdzQk07RUFDSSxjaEI2Q1c7QXRCbTVzQnJCO0FzQ3Q4c0JNO0VBQ0UseUJoQjhFZ0I7QXRCMjNzQnhCO0FzQ3I4c0JNO0VBQ0kseUJoQjBFbUI7QXRCODNzQjdCO0FnRTF4bkJBLGVBQUE7QTFCcHJGTTtFQUNFLGNoQjZObUI7QXRCcXZzQjNCO0FzQzk4c0JNO0VBQ0ksY2hCeU5zQjtBdEJ3dnNCaEM7QWdFaHluQkEsb0JBQUE7QTFCdnJGTTtFQUNFLGNoQjRCWTtBdEIrN3NCcEI7QXNDdjlzQk07RUFDSSxjaEJ3QmU7QXRCazhzQnpCO0FnRXR5bkJBLGdCQUFBO0ExQjFyRk07RUFDRSxjaEJvT3VCO0F0Qmd3c0IvQjtBc0NoK3NCTTtFQUNJLGNoQmdPMEI7QXRCbXdzQnBDO0FnRTV5bkJBLDBCQUFBO0ExQjdyRk07RUFDRSxtQmhCMENXO0F0Qm04c0JuQjtBc0N6K3NCTTtFQUNJLG1CaEJzQ2M7QXRCczhzQnhCO0FnRWx6bkJBLG1CQUFBO0ExQmhzRk07RUFDRSxjaEJzT29CO0F0Qmd4c0I1QjtBc0NsL3NCTTtFQUNJLGNoQmtPdUI7QXRCbXhzQmpDO0FnRXh6bkJBLGtCQUFBO0ExQm5zRk07RUFDRSxjaEJ3T3NCO0F0QnV4c0I5QjtBc0MzL3NCTTtFQUNJLGNoQm9PeUI7QXRCMHhzQm5DO0FnRTl6bkJBLDBCQUFBO0ExQnRzRk07RUFDRSxjaEI2T2lDO0F0QjJ4c0J6QztBc0NwZ3RCTTtFQUNJLGNoQnlPb0M7QXRCOHhzQjlDO0FnRXAwbkJBLDhCQUFBO0ExQnpzRk07RUFDRSxjaEJrUHFDO0F0Qit4c0I3QztBc0M3Z3RCTTtFQUNJLGNoQjhPd0M7QXRCa3lzQmxEO0FnRTEwbkJBOzs7Ozs4RUFBQTtBQU9BLGtDQUFBO0ExQm50Rk07RUFDRSx1QmhCK0NhO0F0Qmkvc0JyQjtBc0M1aHRCTTtFQUNJLHVCaEIyQ2dCO0F0Qm8vc0IxQjtBc0NyaXRCTTtFQUNFLHdFMEJ1dEZvRztBaEVpMW5CNUc7QXNDcGl0Qk07RUFDSSxrRTBCa3RGb0w7QWhFcTFuQjlMO0FzQzdpdEJNO0VBQ0UsNkUwQjJ0RjJHO0FoRXExbkJuSDtBc0M1aXRCTTtFQUNJLHVFMEJzdEYwTDtBaEV5MW5CcE07QXNDcmp0Qk07RUFDRSx1RTBCK3RGaUk7QWhFeTFuQnpJO0FzQ3BqdEJNO0VBQ0ksaUUwQjB0RmdOO0FoRTYxbkIxTjtBc0M3anRCTTtFQUNFLGdCaEJ3RGE7QXRCd2d0QnJCO0FzQzVqdEJNO0VBQ0ksZ0JoQm9EZ0I7QXRCMmd0QjFCO0FzQ3JrdEJNO0VBQ0UsdUJoQitDYTtBdEJ5aHRCckI7QXNDcGt0Qk07RUFDSSx1QmhCMkNnQjtBdEI0aHRCMUI7QXNDN2t0Qk07RUFDRSx1QmhCK0NhO0F0QmlpdEJyQjtBc0M1a3RCTTtFQUNJLHVCaEIyQ2dCO0F0Qm9pdEIxQjtBc0NybHRCTTtFQUNFLHVCaEIrQ2E7QXRCeWl0QnJCO0FzQ3BsdEJNO0VBQ0ksdUJoQjJDZ0I7QXRCNGl0QjFCO0FnRXIybkJFOztFQUVFLHFDMUNoNkV1QjtFMENpNkV2Qix3QzFDajZFdUI7QXRCeXdzQjNCO0FnRXIybkJFOztFQUVFLHFDMUN0NkV1QjtFMEN1NkV2Qix3QzFDdjZFdUI7RTBDdzZFdkIsc0MxQ3g2RXVCO0F0Qit3c0IzQjtBZ0VwMm5CRTs7RUFFRSxxQzFDNzZFdUI7RTBDODZFdkIsd0MxQzk2RXVCO0UwQys2RXZCLHVDMUMvNkV1QjtBdEJxeHNCM0I7QWdFdjNuQkU7O0VBRUUscUMxQ2g2RXVCO0UwQ2k2RXZCLHdDMUNqNkV1QjtBdEIyeHNCM0I7QWdFdjNuQkU7O0VBRUUscUMxQ3Q2RXVCO0UwQ3U2RXZCLHdDMUN2NkV1QjtFMEN3NkV2QixzQzFDeDZFdUI7QXRCaXlzQjNCO0FnRXQzbkJFOztFQUVFLHFDMUM3NkV1QjtFMEM4NkV2Qix3QzFDOTZFdUI7RTBDKzZFdkIsdUMxQy82RXVCO0F0QnV5c0IzQjtBZ0V6NG5CRTs7RUFFRSwyQ0E2Qm9DO0VBNUJwQyw4Q0E0Qm9DO0FoRSsybkJ4QztBZ0V4NG5CRTs7RUFFRSwyQ0F1Qm9DO0VBdEJwQyw4Q0FzQm9DO0VBckJwQyw0Q0FxQm9DO0FoRXEzbkJ4QztBZ0V2NG5CRTs7RUFFRSwyQ0FnQm9DO0VBZnBDLDhDQWVvQztFQWRwQyw2Q0Fjb0M7QWhFMjNuQnhDO0FnRXIzbkJFOztFQUVFLHFDQUFBO0FoRXUzbkJKO0FzQ3RwdEJNO0VBQ0UsY2hCaURRO0F0QndtdEJoQjtBc0NycHRCTTtFQUNJLGNoQjZDVztBdEIybXRCckI7QXNDOXB0Qk07RUFDRSxjaEIrSnVCO0F0QmtndEIvQjtBc0M3cHRCTTtFQUNJLGNoQjRKMEI7QXRCb2d0QnBDO0FzQ3RxdEJNO0VBQ0UsZ0JoQndEYTtBdEJpbnRCckI7QXNDcnF0Qk07RUFDSSxnQmhCb0RnQjtBdEJvbnRCMUI7QXNDOXF0Qk07RUFDRSx1QmhCK0NhO0F0QmtvdEJyQjtBc0M3cXRCTTtFQUNJLHVCaEIyQ2dCO0F0QnFvdEIxQjtBc0N0cnRCTTtFQUNFLHVCaEIrQ2E7QXRCMG90QnJCO0FzQ3JydEJNO0VBQ0ksdUJoQjJDZ0I7QXRCNm90QjFCO0FnRTE0bkJFO0VBQ0UsYzFDcnBGMkI7QXRCa2l0Qi9CO0FnRTM0bkJJO0VBQXFCLGMxQ3J3RlQ7QXRCbXB0QmhCO0FnRTc0bkJJO0VBQVMsYzFDdHdGRztBdEJzcHRCaEI7QWdFMzRuQkk7RUFBOEIseUJBQUE7QWhFODRuQmxDO0FnRXY0bkJJOzs7O0VBR3dDLHlCQUFBO0FoRTA0bkI1QztBZ0V6NG5CSTtFQUFnQyx5QkFBQTtBaEU0NG5CcEM7QWdFcDRuQkE7RUFDRSx5QkFBQTtBaEV1NG5CRjtBZ0UvM25CQTtFQUNFLHlCQUFBO0FoRWs0bkJGO0FnRS8zbkJBLG9DQUFBO0ExQjcxRk07RUFDRSx5QmhCeUptQjtBdEJ1a3RCM0I7QXNDNXR0Qk07RUFDSSx5QmhCcUpzQjtBdEIwa3RCaEM7QXNDcnV0Qk07RUFDRSxxQmhCQ0c7QXRCdXV0Qlg7QXNDcHV0Qk07RUFDSSxxQmhCc0htQjtBdEJpbnRCN0I7QWdFNTRuQkEsZ0NBQUE7QTFCajJGTTtFQUNFLG9CMEJpMkY2RztBaEVnNW5Cckg7QXNDN3V0Qk07RUFDSSxxQzBCNDFGK0c7QWhFbzVuQnpIO0FnRWw1bkJBLHdCQUFBO0ExQnAyRk07RUFDRSx5QkFBQTtBdEMwdnRCUjtBc0N0dnRCTTtFQUNJLHlCaEJnRlk7QXRCeXF0QnRCO0FzQy92dEJNO0VBQ0UseUJoQjRCWTtBdEJzdXRCcEI7QXNDOXZ0Qk07RUFDSSx5QmhCd0JlO0F0Qnl1dEJ6QjtBc0N2d3RCTTtFQUNFLHVCaEIwQ1c7QXRCZ3V0Qm5CO0FzQ3R3dEJNO0VBQ0ksdUJoQnNDYztBdEJtdXRCeEI7QXNDL3d0Qk07RUFDRSx5QkFBQTtBdENreHRCUjtBc0M5d3RCTTtFQUNJLHlCaEJnRlk7QXRCaXN0QnRCO0FzQ3Z4dEJNO0VBQ0UsY2hCS0c7QXRCcXh0Qlg7QXNDdHh0Qk07RUFDSSxjaEI0SjBCO0F0QjZudEJwQztBc0MveHRCTTtFQUNFLGNoQktHO0F0QjZ4dEJYO0FzQzl4dEJNO0VBQ0ksY2hCNEowQjtBdEJxb3RCcEM7QXNDdnl0Qk07RUFDRSxjaEIrQmU7QXRCMnd0QnZCO0FzQ3R5dEJNO0VBQ0ksY2hCMkJrQjtBdEI4d3RCNUI7QXNDL3l0Qk07RUFDRSxjaEJ5VWdCO0F0Qnkrc0J4QjtBc0M5eXRCTTtFQUNJLGNoQnFVa0I7QXRCNCtzQjVCO0FzQ3Z6dEJNO0VBQ0UsY2hCNEJZO0F0Qjh4dEJwQjtBc0N0enRCTTtFQUNJLGNoQndCZTtBdEJpeXRCekI7QXNDL3p0Qk07RUFDRSxjaEI0Qlk7QXRCc3l0QnBCO0FzQzl6dEJNO0VBQ0ksY2hCd0JlO0F0Qnl5dEJ6QjtBc0N2MHRCTTtFQUNFLGNoQitCZTtBdEIyeXRCdkI7QXNDdDB0Qk07RUFDSSxjaEIyQmtCO0F0Qjh5dEI1QjtBc0MvMHRCTTtFQUNFLGNoQmlDZTtBdEJpenRCdkI7QXNDOTB0Qk07RUFDSSxjaEI2QmtCO0F0Qm96dEI1QjtBc0N2MXRCTTtFQUNFLGNoQitCZTtBdEIyenRCdkI7QXNDdDF0Qk07RUFDSSxjaEIyQmtCO0F0Qjh6dEI1QjtBc0MvMXRCTTtFQUNFLGNoQitCZTtBdEJtMHRCdkI7QXNDOTF0Qk07RUFDSSxjaEIyQmtCO0F0QnMwdEI1QjtBc0N2MnRCTTtFQUNFLHlCaEI4RWdCO0F0QjR4dEJ4QjtBc0N0MnRCTTtFQUNJLHlCaEIwRW1CO0F0Qit4dEI3QjtBc0MvMnRCTTtFQUNFLGNoQmlDZTtBdEJpMXRCdkI7QXNDOTJ0Qk07RUFDSSxjaEI2QmtCO0F0Qm8xdEI1QjtBZ0UxL25CQSxvQkFBQTtBMUI3M0ZNO0VBQ0UsY2hCNEJZO0F0QisxdEJwQjtBc0N2M3RCTTtFQUNJLGNoQndCZTtBdEJrMnRCekI7QXNDaDR0Qk07RUFDRSxjaEJ5VWdCO0F0QjBqdEJ4QjtBc0MvM3RCTTtFQUNJLGNoQnFVa0I7QXRCNmp0QjVCO0FnRXJnb0JBLGtDQUFBO0ExQm40Rk07RUFDRSx5QmhCd1hLO0F0Qm9odEJiO0FzQ3g0dEJNO0VBQ0kseUJoQmlYRztBdEIwaHRCYjtBZ0UzZ29CQSwyQkFBQTtBMUJ0NEZNO0VBQ0UsY2hCaURRO0F0Qm8ydEJoQjtBc0NqNXRCTTtFQUNJLGNoQjZDVztBdEJ1MnRCckI7QWdFamhvQkEsMEJBQUE7QTFCejRGTTtFQUNFLHVCaEIrQ2E7QXRCKzJ0QnJCO0FzQzE1dEJNO0VBQ0ksdUJoQjJDZ0I7QXRCazN0QjFCO0FnRXZob0JBLGtDQUFBO0ExQjU0Rk07RUFDRSx1QmhCK0NhO0F0QnczdEJyQjtBc0NuNnRCTTtFQUNJLHVCaEIyQ2dCO0F0QjIzdEIxQjtBc0M1NnRCTTtFQUNFLG9DMEI2NEZrSDtBaEVraW9CMUg7QXNDMzZ0Qk07RUFDSSxvQzBCdzRGZ0o7QWhFc2lvQjFKO0FzQ3A3dEJNO0VBQ0Usb0MwQjg0RmtIO0FoRXlpb0IxSDtBc0NuN3RCTTtFQUNJLG9DMEJ5NEZnSjtBaEU2aW9CMUo7QXNDNTd0Qk07RUFDRSwwQmhCbURhO0F0QjQ0dEJyQjtBc0MzN3RCTTtFQUNJLGdCaEIrQ2dCO0F0Qis0dEIxQjtBZ0Vsam9CQSx3QkFBQTtBMUJsNUZNO0VBQ0UsY2hCaURRO0F0QnU1dEJoQjtBc0NwOHRCTTtFQUNJLGNoQjZDVztBdEIwNXRCckI7QXNDNzh0Qk07RUFDRSx1QjBCbTVGaUY7QWhFNmpvQnpGO0FzQzU4dEJNO0VBQ0ksdUIwQjg0RmdHO0FoRWlrb0IxRztBc0NyOXRCTTtFQUNFLHVCMEJvNUY2RTtBaEVva29CckY7QXNDcDl0Qk07RUFDSSx1QjBCKzRGNEY7QWhFd2tvQnRHO0FzQzc5dEJNO0VBQ0UsdUIwQnE1RjBFO0FoRTJrb0JsRjtBc0M1OXRCTTtFQUNJLHVCMEJnNUZ5RjtBaEUra29Cbkc7QWdFN2tvQkEsOEJBQUE7QTFCeDVGTTtFQUNFLGMwQnc1RitGO0FoRWlsb0J2RztBc0NyK3RCTTtFQUNJLGtDMEJtNUZpRztBaEVxbG9CM0c7QWdFbmxvQkEscUNBQUE7QTFCMzVGTTtFQUNFLGMwQjI1RnNHO0FoRXVsb0I5RztBc0M5K3RCTTtFQUNJLGtDMEJzNUZ3RztBaEUybG9CbEg7QWdFemxvQkEsc0JBQUE7QTFCOTVGTTtFQUNFLGNoQmlEUTtBdEIwOHRCaEI7QXNDdi90Qk07RUFDSSxjaEI2Q1c7QXRCNjh0QnJCO0FzQ2hndUJNO0VBQ0UsUzBCKzVGOEU7QWhFb21vQnRGO0FzQy8vdEJNO0VBQ0ksY2hCNkNXO0F0QnE5dEJyQjtBc0N4Z3VCTTtFQUNFLG9CMEJnNkZtRjtBaEUybW9CM0Y7QXNDdmd1Qk07RUFDSSx5QmhCa1YyQjtBdEJ3cnRCckM7QXNDaGh1Qk07RUFDRSxvQjBCaTZGK0c7QWhFa25vQnZIO0FzQy9ndUJNO0VBQ0kseUJoQjBFbUI7QXRCdzh0QjdCO0FzQ3hodUJNO0VBQ0Usb0MwQms2Rm9IO0FoRXlub0I1SDtBc0N2aHVCTTtFQUNJLDBDMEI2NUZrSTtBaEU2bm9CNUk7QXNDaGl1Qk07RUFDRSxvQzBCbTZGb0s7QWhFZ29vQjVLO0FzQy9odUJNO0VBQ0ksMEMwQjg1RmtMO0FoRW9vb0I1TDtBZ0Vsb29CQSxzQkFBQTtBMUJ0NkZNO0VBQ0UsUzBCczZGOEY7QWhFc29vQnRHO0FzQ3hpdUJNO0VBQ0ksYzBCaTZGZ0c7QWhFMG9vQjFHO0FzQ2pqdUJNO0VBQ0UsUzBCdTZGb0c7QWhFNm9vQjVHO0FzQ2hqdUJNO0VBQ0ksYzBCazZGc0c7QWhFaXBvQmhIO0FnRS9vb0JBLDJCQUFBO0ExQjE2Rk07RUFDRSx5QmhCOEVnQjtBdEIrK3RCeEI7QXNDemp1Qk07RUFDSSx5QmhCMEVtQjtBdEJrL3RCN0I7QXNDbGt1Qk07RUFDRSxjaEI0Qlk7QXRCeWl1QnBCO0FzQ2prdUJNO0VBQ0ksY2hCd0JlO0F0QjRpdUJ6QjtBZ0U1cG9CQSx3QkFBQTtBMUI5NkZNO0VBQ0UseUJoQjhFZ0I7QXRCZ2d1QnhCO0FzQzFrdUJNO0VBQ0kseUJoQjBFbUI7QXRCbWd1QjdCO0FzQ25sdUJNO0VBQ0UscUJoQkNHO0F0QnFsdUJYO0FzQ2xsdUJNO0VBQ0kscUJoQnNIbUI7QXRCKzl0QjdCO0FzQzNsdUJNO0VBQ0UsYWhCaURRO0F0QjZpdUJoQjtBc0MxbHVCTTtFQUNJLGFoQjZDVztBdEJnanVCckI7QXNDbm11Qk07RUFDRSxjaEJpRFE7QXRCcWp1QmhCO0FzQ2xtdUJNO0VBQ0ksY2hCNkNXO0F0QndqdUJyQjtBc0MzbXVCTTtFQUNFLGNoQmlEUTtBdEI2anVCaEI7QXNDMW11Qk07RUFDSSxjaEI2Q1c7QXRCZ2t1QnJCO0FzQ25udUJNO0VBQ0UsaUJoQjhlVztBdEJ3b3RCbkI7QXNDbG51Qk07RUFDSSxpQmhCMGVjO0F0QjJvdEJ4QjtBc0MzbnVCTTtFQUNFLGNoQmlEUTtBdEI2a3VCaEI7QXNDMW51Qk07RUFDSSxjaEI2Q1c7QXRCZ2x1QnJCO0FnRTNzb0JBLDJCQUFBO0ExQng3Rk07RUFDRSxhaEJpRFE7QXRCc2x1QmhCO0FzQ25vdUJNO0VBQ0ksYWhCNkNXO0F0QnlsdUJyQjtBc0M1b3VCTTtFQUNFLGNoQmlEUTtBdEI4bHVCaEI7QXNDM291Qk07RUFDSSxjaEI2Q1c7QXRCaW11QnJCO0FzQ3BwdUJNO0VBQ0UseUJoQjhFZ0I7QXRCeWt1QnhCO0FzQ25wdUJNO0VBQ0kseUJoQjBFbUI7QXRCNGt1QjdCO0FzQzVwdUJNO0VBQ0Usd0MwQjI3RnFGO0FoRW91b0I3RjtBc0MzcHVCTTtFQUNJLHdDMEJzN0YyRztBaEV3dW9Cckg7QXNDcHF1Qk07RUFDRSxrQzBCNDdGK0U7QWhFMnVvQnZGO0FzQ25xdUJNO0VBQ0ksa0MwQnU3RnFHO0FoRSt1b0IvRztBc0M1cXVCTTtFQUNFLHdDMEI2N0ZvRztBaEVrdm9CNUc7QXNDM3F1Qk07RUFDSSx3QzBCdzdGMEg7QWhFc3ZvQnBJO0FzQ3BydUJNO0VBQ0Usa0MwQjg3RjhGO0FoRXl2b0J0RztBc0NucnVCTTtFQUNJLGtDMEJ5N0ZvSDtBaEU2dm9COUg7QXNDNXJ1Qk07RUFDRSw0QjBCKzdGd0Y7QWhFZ3dvQmhHO0FzQzNydUJNO0VBQ0ksNEIwQjA3RjhHO0FoRW93b0J4SDtBZ0Vsd29CQSxxQkFBQTtBMUJsOEZNO0VBQ0UsY2hCaURRO0F0QnVwdUJoQjtBc0Nwc3VCTTtFQUNJLGNoQjZDVztBdEIwcHVCckI7QXNDN3N1Qk07RUFDRSx5QmhCNEJZO0F0Qm9ydUJwQjtBc0M1c3VCTTtFQUNJLHlCaEJ3QmU7QXRCdXJ1QnpCO0FzQ3J0dUJNO0VBQ0UsYWhCNEJZO0F0QjRydUJwQjtBc0NwdHVCTTtFQUNJLGFoQndCZTtBdEIrcnVCekI7QWdFdHhvQkEsd0JBQUE7QTFCdjhGTTtFQUNFLGNoQjRCWTtBdEJxc3VCcEI7QXNDN3R1Qk07RUFDSSxjaEJ3QmU7QXRCd3N1QnpCO0FzQ3R1dUJNO0VBQ0UseUIwQnc4RnVGO0FoRWl5b0IvRjtBc0NydXVCTTtFQUNJLHlCMEJtOEZzSDtBaEVxeW9CaEk7QXNDOXV1Qk07RUFDRSxxQmhCZ0hjO0F0QmlvdUJ0QjtBc0M3dXVCTTtFQUNJLHFCaEI0R2lCO0F0Qm9vdUIzQjtBZ0UxeW9CQSxxQkFBQTtBMUI1OEZNO0VBQ0UsdUJoQitDYTtBdEIyc3VCckI7QXNDdHZ1Qk07RUFDSSx1QmhCMkNnQjtBdEI4c3VCMUI7QXNDL3Z1Qk07RUFDRSxxQzBCNjhGdUQ7QWhFcXpvQi9EO0FzQzl2dUJNO0VBQ0ksMEMwQnc4RitGO0FoRXl6b0J6RztBc0N2d3VCTTtFQUNFLGNoQmlEUTtBdEJ5dHVCaEI7QXNDdHd1Qk07RUFDSSxjaEI2Q1c7QXRCNHR1QnJCO0FnRTl6b0JBLHVCQUFBO0ExQmo5Rk07RUFDRSx5QmhCOEVnQjtBdEJxc3VCeEI7QXNDL3d1Qk07RUFDSSx5QmhCMEVtQjtBdEJ3c3VCN0I7QXNDeHh1Qk07RUFDRSxZaEJnRGtCO0F0QjJ1dUIxQjtBc0N2eHVCTTtFQUNJLFloQjBDVztBdEJndnVCckI7QXNDaHl1Qk07RUFDRSx5QmhCOEVnQjtBdEJxdHVCeEI7QXNDL3h1Qk07RUFDSSx5QmhCMEVtQjtBdEJ3dHVCN0I7QXNDeHl1Qk07RUFDRSxZaEJnRGtCO0F0QjJ2dUIxQjtBc0N2eXVCTTtFQUNJLFloQjBDVztBdEJnd3VCckI7QXNDaHp1Qk07RUFDRSxZaEJnRGtCO0F0Qm13dUIxQjtBc0MveXVCTTtFQUNJLFloQjBDVztBdEJ3d3VCckI7QXNDeHp1Qk07RUFDRSxZaEJnRGtCO0F0QjJ3dUIxQjtBc0N2enVCTTtFQUNJLFloQjBDVztBdEJneHVCckI7QWdFdjJvQkEsOEJBQUE7QTFCejlGTTtFQUNFLHlCaEI4RWdCO0F0QnN2dUJ4QjtBc0NoMHVCTTtFQUNJLHlCaEIwRW1CO0F0Qnl2dUI3QjtBc0N6MHVCTTtFQUNFLFloQmdEa0I7QXRCNHh1QjFCO0FzQ3gwdUJNO0VBQ0ksWWhCMENXO0F0Qml5dUJyQjtBZ0VwM29CQTs7O3FEQUFBO0FBSUEsMkJBQUE7QTFCaitGTTtFQUNFLG1CaEI4RWdCO0F0QjJ3dUJ4QjtBc0NyMXVCTTtFQUNJLG1CaEIwRW1CO0F0Qjh3dUI3QjtBc0M5MXVCTTtFQUNFLGtDMEJrK0YrRTtBaEUrM29CdkY7QXNDNzF1Qk07RUFDSSxrQzBCNjlGcUc7QWhFbTRvQi9HO0FzQ3QydUJNO0VBQ0Usd0MwQm0rRnFGO0FoRXM0b0I3RjtBc0NyMnVCTTtFQUNJLHdDMEI4OUYyRztBaEUwNG9Cckg7QXNDOTJ1Qk07RUFDRSxrQzBCbytGOEY7QWhFNjRvQnRHO0FzQzcydUJNO0VBQ0ksa0MwQis5Rm9IO0FoRWk1b0I5SDtBc0N0M3VCTTtFQUNFLHdDMEJxK0ZvRztBaEVvNW9CNUc7QXNDcjN1Qk07RUFDSSx3QzBCZytGMEg7QWhFdzVvQnBJO0FzQzkzdUJNO0VBQ0UsNEIwQnMrRndGO0FoRTI1b0JoRztBc0M3M3VCTTtFQUNJLDRCMEJpK0Y4RztBaEUrNW9CeEg7QXNDdDR1Qk07RUFDRSxjaEJtWEk7QXRCc2h1Qlo7QXNDcjR1Qk07RUFDSSxjaEI2Q1c7QXRCMjF1QnJCO0FzQzk0dUJNO0VBQ0UseUIwQncrRm1IO0FoRXk2b0IzSDtBc0M3NHVCTTtFQUNJLHlCMEJtK0Y0STtBaEU2Nm9CdEo7QXNDdDV1Qk07RUFDRSx3QjBCeStGa0g7QWhFZzdvQjFIO0FzQ3I1dUJNO0VBQ0ksd0IwQm8rRjJJO0FoRW83b0JySjtBc0M5NXVCTTtFQUNFLGFoQmlEUTtBdEJnM3VCaEI7QXNDNzV1Qk07RUFDSSxhaEI2Q1c7QXRCbTN1QnJCO0FzQ3Q2dUJNO0VBQ0UsYWhCaURRO0F0QnczdUJoQjtBc0NyNnVCTTtFQUNJLGFoQjZDVztBdEIyM3VCckI7QXNDOTZ1Qk07RUFDRSxhaEJpRFE7QXRCZzR1QmhCO0FzQzc2dUJNO0VBQ0ksYWhCNkNXO0F0Qm00dUJyQjtBc0N0N3VCTTtFQUNFLGFoQmlEUTtBdEJ3NHVCaEI7QXNDcjd1Qk07RUFDSSxhaEI2Q1c7QXRCMjR1QnJCO0FzQzk3dUJNO0VBQ0UsYWhCaURRO0F0Qmc1dUJoQjtBc0M3N3VCTTtFQUNJLGFoQjZDVztBdEJtNXVCckI7QXNDdDh1Qk07RUFDRSxhaEJpRFE7QXRCdzV1QmhCO0FzQ3I4dUJNO0VBQ0ksYWhCNkNXO0F0QjI1dUJyQjtBc0M5OHVCTTtFQUNFLGFoQmlEUTtBdEJnNnVCaEI7QXNDNzh1Qk07RUFDSSxhaEI2Q1c7QXRCbTZ1QnJCO0FzQ3Q5dUJNO0VBQ0UsZWhCaURRO0F0Qnc2dUJoQjtBc0NyOXVCTTtFQUNJLGVoQjZDVztBdEIyNnVCckI7QWdFMStvQkEseUJBQUE7QTFCcC9GTTtFQUNFLGNoQmlEUTtBdEJpN3VCaEI7QXNDOTl1Qk07RUFDSSxjaEI2Q1c7QXRCbzd1QnJCO0FnRWgvb0JBLHdDQUFBO0ExQnYvRk07RUFDRSxjaEJpRFE7QXRCMDd1QmhCO0FzQ3YrdUJNO0VBQ0ksY2hCNkNXO0F0QjY3dUJyQjtBZ0V0L29CQSwyQkFBQTtBMUIxL0ZNO0VBQ0UseUJoQjhFZ0I7QXRCczZ1QnhCO0FzQ2gvdUJNO0VBQ0kseUJoQjBFbUI7QXRCeTZ1QjdCO0FzQ3ovdUJNO0VBQ0UsY2hCaURRO0F0QjI4dUJoQjtBc0N4L3VCTTtFQUNJLGNoQjZDVztBdEI4OHVCckI7QWdFbmdwQkEsaUNBQUE7QTFCOS9GTTtFQUNFLDZCMEJrZ0c4RjtBaEVtZ3BCdEc7QXNDamd2Qk07RUFDSSw2QjBCNi9GeUc7QWhFdWdwQm5IO0FzQzFndkJNO0VBQ0UseUJoQnlKbUI7QXRCbzN1QjNCO0FzQ3pndkJNO0VBQ0kseUJoQnFKc0I7QXRCdTN1QmhDO0FzQ2xodkJNO0VBQ0UseUJoQnlKbUI7QXRCNDN1QjNCO0FzQ2podkJNO0VBQ0kseUJoQnFKc0I7QXRCKzN1QmhDO0FzQzFodkJNO0VBQ0UseUJoQnlKbUI7QXRCbzR1QjNCO0FzQ3podkJNO0VBQ0kseUJoQnFKc0I7QXRCdTR1QmhDO0FzQ2xpdkJNO0VBQ0UseUJoQm9WaUI7QXRCaXR1QnpCO0FzQ2ppdkJNO0VBQ0kseUJoQmdWb0I7QXRCb3R1QjlCO0FzQzFpdkJNO0VBQ0UseUIwQjRnR3VGO0FoRWlpcEIvRjtBc0N6aXZCTTtFQUNJLHVCMEJ1Z0cySDtBaEVxaXBCckk7QWdFbmlwQkE7Ozs7OztzREFBQTtBMUIvZ0dNO0VBQ0UseUJoQnlKbUI7QXRCbTZ1QjNCO0FzQ3hqdkJNO0VBQ0kseUJoQnFKc0I7QXRCczZ1QmhDO0FzQ2prdkJNO0VBQ0UsNEJoQkNHO0F0Qm1rdkJYO0FzQ2hrdkJNO0VBQ0ksNEJoQnNIbUI7QXRCNjh1QjdCO0FzQ3prdkJNO0VBQ0UsV2hCZ0s4QjtBdEI0NnVCdEM7QXNDeGt2Qk07RUFDSSxjaEI2SmlDO0F0Qjg2dUIzQztBc0NqbHZCTTtFQUNFLHlCaEJ5Sm1CO0F0QjI3dUIzQjtBc0NobHZCTTtFQUNJLHlCaEJxSnNCO0F0Qjg3dUJoQztBc0N6bHZCTTtFQUNFLHlCaEJDRztBdEIybHZCWDtBc0N4bHZCTTtFQUNJLHlCaEJzSG1CO0F0QnErdUI3QjtBc0NqbXZCTTtFQUNFLGNoQitKdUI7QXRCcTh1Qi9CO0FzQ2htdkJNO0VBQ0ksY2hCNEowQjtBdEJ1OHVCcEM7QXNDem12Qk07RUFDRSxXaEJnSzhCO0F0QjQ4dUJ0QztBc0N4bXZCTTtFQUNJLGNoQjZKaUM7QXRCODh1QjNDO0FzQ2pudkJNO0VBQ0Usc0JoQmdLOEI7QXRCbzl1QnRDO0FzQ2hudkJNO0VBQ0kseUJoQjZKaUM7QXRCczl1QjNDO0FzQ3pudkJNO0VBQ0UseUJoQnlKbUI7QXRCbSt1QjNCO0FzQ3hudkJNO0VBQ0kseUJoQnFKc0I7QXRCcyt1QmhDO0FzQ2pvdkJNO0VBQ0UsV2hCZ0s4QjtBdEJvK3VCdEM7QXNDaG92Qk07RUFDSSxjaEI2SmlDO0F0QnMrdUIzQztBc0N6b3ZCTTtFQUNFLGNoQitKdUI7QXRCNit1Qi9CO0FzQ3hvdkJNO0VBQ0ksY2hCNEowQjtBdEIrK3VCcEM7QXNDanB2Qk07RUFDRSxjaEIrSnVCO0F0QnEvdUIvQjtBc0NocHZCTTtFQUNJLGNoQjRKMEI7QXRCdS91QnBDO0FzQ3pwdkJNO0VBQ0UseUJoQndLa0M7QXRCby91QjFDO0FzQ3hwdkJNO0VBQ0kseUJoQm9LcUM7QXRCdS91Qi9DO0FzQ2pxdkJNO0VBQ0UsV2hCZ0s4QjtBdEJvZ3ZCdEM7QXNDaHF2Qk07RUFDSSxjaEI2SmlDO0F0QnNndkIzQztBc0N6cXZCTTtFQUNFLHlCaEJ3S2tDO0F0Qm9ndkIxQztBc0N4cXZCTTtFQUNJLHlCaEJvS3FDO0F0QnVndkIvQztBc0NqcnZCTTtFQUNFLFdoQmdLOEI7QXRCb2h2QnRDO0FzQ2hydkJNO0VBQ0ksY2hCNkppQztBdEJzaHZCM0M7QXNDenJ2Qk07RUFDRSx5QmhCQ0c7QXRCMnJ2Qlg7QXNDeHJ2Qk07RUFDSSx5QjBCMmpHUjtBaEVnb3BCRjtBZ0VwbnBCQTtFQUFzRix5QkFBQTtBaEV3bnBCdEY7QWdFdm5wQkE7RUFBc0YseUJBQUE7QWhFMm5wQnRGO0FnRXpucEJBO0VBQXdHLHlCQUFBO0FoRTZucEJ4RztBZ0U1bnBCQTtFQUF3Ryx5QkFBQTtBaEVnb3BCeEc7QWdFOW5wQkE7RUFBK0cseUJBQUE7QWhFa29wQi9HO0FnRWpvcEJBO0VBQStHLHlCQUFB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O0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlBQUE7QTFFMml5Qko7QTBFeml5QkU7RUFDRSxZQUFBO0ExRTJpeUJKO0EwRXppeUJFO0VBQ0UsWUFBQTtBMUUyaXlCSjtBMEV6aXlCRTtFQUNFLFlB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LG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxxQ0FBQTtFQUNBLHFDQUFBO0VBQ0Esc0NBQUE7RUFDQSxvQ0FBQTtBdEJpanlCRjtBNEUxOHlCQTtFQUVJLCtCQUFBO0VBQUEsOEJBQUE7RUFBQSxnQ0FBQTtFQUFBLGdDQUFBO0VBQUEsaUNBQUE7RUFHQSxnQ0FBQTtFQUFBLGdDQUFBO0VBQUEsaUNBQUE7RUFBQSxnQ0FBQTtFQUFBLGdDQUFBO0VBQUEsNEJBQUE7RUFBQSxpQ0FBQTtFQUFBLGlDQUFBO0VBQUEsNkJBQUE7QTVFczl5Qko7QXNCNXF5QkE7RUFFRSwrT0FBQTtFQUVBLGlZQUFBO0F0QjZxeUJGO0FzQjlreUJBO0VBRUUsb0NBQUE7RUFDQSxtQ0FBQTtFQUNBLHFDQUFBO0VBQ0EscUNBQUE7RUFDQSxzQ0FBQTtFQUNBLG9DQUFBO0F0QmdseUJGO0E2RXAreUJFOztFQUVFLDZCQUFBO0E3RXUreUJKO0E2RWwreUJFOztFQUVFLHlCdkQyR3lCO0F0QjAzeUI3QjtBQXg0eUJBO0VBQ0Usd0JBQUE7QUEyNHlCRjtBQXo0eUJBO0VBQ0UseUJBQUE7QUE0NHlCRiIsImZpbGUiOiJfY29yZS5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcImZvbnRzLWxvY2FsXCI7XG5AaW1wb3J0IFwidGhlbWVcIjtcbkBpbXBvcnQgXCJidWxtYVwiO1xuQGltcG9ydCBcImNoYXJ0aXN0XCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5AaW1wb3J0IFwibGF5b3V0XCI7XG5AaW1wb3J0IFwiYW5ndWxhci1jYWxlbmRhclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaW5wdXRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2J1dHRvblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVhZGVyLWljb24tYnV0dG9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90b29sdGlwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ub3RpZmljYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpZGViYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21lbnVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2N1c3RvbS1mb3JtXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ldmVudC1hZG1pblwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc25hY2tiYXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ZhYlwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvcGFnaW5hdG9yXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zaG93LWFsbC1zdWJtaXNzaW9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGF0ZXRpbWVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Zvcm0tZmllbGRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhcGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9sZWdlbmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25vdGljZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaG9tZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWFya2Rvd25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlYWRlclwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc3RydWN0dXJlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9lbXB0eS1wYWdlLXBhbmVsXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXRpdmUtaW5wdXRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL25hdGl2ZS1idXR0b25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RhYmxlXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90b3BpYy1jaGlwXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90aHJlc2hvbGQtYmFuZC1wb3BvdmVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9zY29yZS1ncmlkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kaWFsb2dcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3NlZ21lbnRlZFwiO1xuQGltcG9ydCBcImNvbG9yLXNjaGVtZVwiO1xuQGltcG9ydCBcImExMXlcIjtcbkBpbXBvcnQgXCJ2aWV3LW1vZGVcIjtcblxuLy8gR2xvYmFsIHJlZHVjZWQtbW90aW9uIG92ZXJyaWRlIOKAlCBhcHBsaWVkIG9uY2UsIG5ldmVyIHBlci1jb21wb25lbnQuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjAxbXMgIWltcG9ydGFudDtcbiAgICBzY3JvbGwtYmVoYXZpb3I6IGF1dG8gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyAoVGVudGF0aXZhIGRlIFwic2VtIGFuaW1hw6fDtWVzIG5vIG1hY09TXCIgUkVNT1ZJREE6IG1hdGF2YSBDU1MgYW5pbWF0aW9uc1xuLy8gbGVnw610aW1hcyDigJQgbWF0LXByb2dyZXNzLWJhciByb2xhbmRvLCBtYXQtc3Bpbm5lciBnaXJhbmRvLCB0cmFuc2nDp8O1ZXMgZGVcbi8vIGVzdGFkby4gRSBhaW5kYSBwb3IgY2ltYSBOw4NPIGF0aW5naWEgbyBhbHZvIHJlYWwsIHF1ZSBzw6NvIGFzIGFuaW1hw6fDtWVzXG4vLyBwcm9ncmFtw6F0aWNhcyBkbyBAYW5ndWxhci9hbmltYXRpb25zLCBleGVjdXRhZGFzIGZvcmEgZG8gQ1NTLiBWZXIgbWVtw7NyaWFcbi8vIHByb2plY3RfbWFjb3Nfbm9fYW5pbWF0aW9uX3BlbmRpbmc6IG8gY2FtaW5obyBjb3JyZXRvIMOpIE5vb3BBbmltYXRpb25zL1xuLy8gW0AuZGlzYWJsZWRdLCBuw6NvIENTUy4pXG5cbi8vIFJlc2V0IGRlIGZvbnRlIGRvcyBjb250cm9sZXMgZGUgZm9ybXVsw6FyaW8gKG5vcm1hbGl6ZS5jc3MgwqcxMC4xKS5cbi8vIGA8YnV0dG9uPmAvYDxpbnB1dD5gL2V0Yy4gTsODTyBoZXJkYW0gYGZvbnQtZmFtaWx5YCBwb3IgcGFkcsOjbyDigJQgbyBVQVxuLy8gc3R5bGVzaGVldCBlIG8gQnVsbWEgKGAkZmFtaWx5LXNhbnMtc2VyaWZgLCB1bWEgc3RhY2sgZGUgc2lzdGVtYSwgbsOjbyBHZWlzdClcbi8vIGltcMO1ZW0gdW1hIGZvbnRlIHByw7NwcmlhLiBTZW0gZXN0ZSByZXNldCwgdG9kbyBib3TDo28gY3VzdG9tIGRvIGNoYWlyIFVJXG4vLyBwcmVjaXNhIGRlIHVtIGBmb250LWZhbWlseTogaW5oZXJpdGAgaW5kaXZpZHVhbCAoaGF2aWEgfjcgZGVzc2VzIGVzcGFsaGFkb3MpLlxuLy8gQXBsaWNhZG8gVU1BIHZleiBhcXVpIHByYSBxdWUgdG9kbyBjb250cm9sZSBoZXJkZSBHZWlzdCBkbyBib2R5LiBJbXBvcnRhZG9cbi8vIGRlcG9pcyBkbyBCdWxtYSAobGluaGEgMyksIGVudMOjbyB2ZW5jZSBhIHJlZ3JhIGRlbGUuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbn1cblxuLy8gUGluIEdMT0JBTCBkZSBHZWlzdCBuYSByYWl6IGRvIGNhbnZhcyAoYC5tYWluYCDigJQgd3JhcHBlciBkZSBUT0RBIHDDoWdpbmFcbi8vIGNoYWlyOiBldmVudC12aWV3LCB0b3BpY3MsIHJldmlld3MtY29uZmlndXJhdGlvbiwgZXRjLikuIE5lY2Vzc8OhcmlvIHBvcnF1ZVxuLy8gYWxndW0gYW5jZXN0cmFsIG5hIMOhcmVhIGFkbWluIGRlY2xhcmEgdW1hIGZvbnQtZmFtaWx5IHBvbHXDrWRhIChzdGFja1xuLy8gYC1hcHBsZS1zeXN0ZW0sIHN5c3RlbS11aSwg4oCmYCBxdWUgTsODTyB2ZW0gZGUgbmVuaHVtIENTUyBub3NzbyBuZW0gZGFzIGxpYnMg4oCUXG4vLyBwcm92w6F2ZWwgaW5saW5lL3J1bnRpbWUgZGUgY29tcG9uZW50ZSBNYXRlcmlhbCBlc3RydXR1cmFsOyB2ZXIgbWVtw7NyaWFcbi8vIHByb2plY3RfYWRtaW5fZm9udF9wb2xsdXRlZF9hbmNlc3RvcikuIE8gYGJvZHkgeyBmb250LWZhbWlseSB9YCAoR2Vpc3QpIGZpY2Fcbi8vIGFiYWl4byBkZWxhIG5hIGNhc2NhdGEgcG9yIGhlcmFuw6dhLCBlbnTDo28gaDEvYm90w7Vlcy9ldGMuIHNhw61hbSBmb3JhIGRvIEdlaXN0LlxuLy8gUmUtYWZpcm1hciBHZWlzdCBlbSBgLm1haW5gIHZlbmNlIG8gYW5jZXN0cmFsIHBhcmEgdG9kbyBvIGNvbnRlw7pkbyBkZSBww6FnaW5hXG4vLyBkZSB1bWEgdmV6LiDDjWNvbmVzIChNYXRlcmlhbCBTeW1ib2xzL2plbXMzci9qZW1zM3MpIGUgbW9ub3NwYWNlIChJbmNvbnNvbGF0YSlcbi8vIG7Do28gc8OjbyBhZmV0YWRvczogZGVjbGFyYW0gYGZvbnQtZmFtaWx5YCBubyBwcsOzcHJpbyBlbGVtZW50byAoZXNwZWNpZmljaWRhZGVcbi8vIG1haW9yKS4gRml4IGRlIHJhaXogZGVmaW5pdGl2byA9IGFjaGFyIGUgY29ycmlnaXIgbyBhbmNlc3RyYWwgcG9sdcOtZG8uXG4ubWFpbiB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG59XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tYXQtY2hlY2tib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NoZWNrYm94XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9yYWRpb1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWF0LXNsaWRlLXRvZ2dsZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbWF0LXJhZGlvXCI7XG5AaW1wb3J0IFwiaWNvbnMvamVtczNyXCI7XG5AaW1wb3J0IFwiaWNvbnMvamVtczNzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS1tZDNcIjtcbkBpbXBvcnQgXCJjaGFydC12YXJzXCI7XG5AaW1wb3J0IFwiaW5zdGFsbGVkLWFwcFwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENIUk9NRSBPRkZTRVQg4oCUIHNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggcGFyYSBhIGFsdHVyYSBhZ3JlZ2FkYSBkb1xuLy8gY2hyb21lIEFDSU1BIGRvIGNhbnZhcy4gQ2FkYSBlbGVtZW50byBkZSBjaHJvbWUgZml4ZWQtcG9zaXRpb25lZFxuLy8gKHByb3h5LWJhciwgbmF2YmFyLCBicmVhZGNydW1iLCBzaWRlYmFyLCBtYWluLWhlYWRlciBkYXMgcMOhZ2luYXMpXG4vLyBjb25zb21lIGB2YXIoLS1jaHJvbWUtdG9wLW9mZnNldClgIG5vIHNldSBgdG9wYCBlbSB2ZXogZGUgc29tYXJcbi8vIGNvbnN0YW50ZXMgbGl0ZXJhaXMuIEFkaWNpb25hci9yZW1vdmVyIGNhbWFkYXMgZGUgY2hyb21lIChwcm94eS1iYXIsXG4vLyBpbnN0YWxsLWJhbm5lciBmdXR1cm8sIGV0Yy4pIHZpcmEgVU0gbHVnYXIgZW0gdmV6IGRlIE4gcmVncmFzXG4vLyBgJi5wcm94eS1hY3RpdmVgL2AmLmluc3RhbGxlZC1hcHBgL2V0Yy4gZXNwYWxoYWRhcyBwZWxvcyBjb21wb25lbnRlcy5cbi8vXG4vLyBQYWRyw6NvIGRlIGNvbnN1bW86XG4vLyAgIC5uYXZiYXIgICAgICAgICAgIHsgdG9wOiB2YXIoLS1jaHJvbWUtdG9wLW9mZnNldCk7IH0gICAgICAgLy8gYmFzZWxpbmUgMFxuLy8gICAubWFpbi1oZWFkZXIgICAgICB7IHRvcDogY2FsYyg8YmFzZWxpbmU+ICsgdmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpKTsgfVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG46cm9vdCB7XG4gIC0tY2hyb21lLXRvcC1vZmZzZXQ6IDBweDtcbn1cbmJvZHkucHJveHktYWN0aXZlIHtcbiAgLS1jaHJvbWUtdG9wLW9mZnNldDogI3skcHJveHktYmFyLWhlaWdodH07XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2VsZi1ob3N0ZWQgd2ViIGZvbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIEdlaXN0IChVSSBib2R5IHR5cGUpIGlzIGxvYWRlZCBoZXJlIGZyb20gbG9jYWwgV09GRjIgdG8gcmVtb3ZlIGEgcnVudGltZVxuLy8gZGVwZW5kZW5jeSBvbiBHb29nbGUgRm9udHMgQ0ROOlxuLy9cbi8vICAgLSBSZXN0cmljdGl2ZSBuZXR3b3JrcyAoY29ycG9yYXRlIHByb3hpZXMsIHJlZ2lvbnMgYmxvY2tpbmcgR29vZ2xlKVxuLy8gICAgIGNvdWxkIGZhaWwgdGhlIENETiByZXF1ZXN0IOKGkiBib2R5IHRleHQgZmFsbHMgYmFjayB0byBhIHN5c3RlbSBmb250LFxuLy8gICAgIGxheW91dHMgc2hpZnQuIFRoaXMgd2FzIHRoZSBzYW1lIGNsYXNzIG9mIGlzc3VlIHRoZSBwcm9qZWN0IGhpdFxuLy8gICAgIHByZXZpb3VzbHkgd2l0aCBGb250QXdlc29tZS5cbi8vXG4vLyAgIC0gT25lLW9mZiBHb29nbGUgRm9udHMgb3V0YWdlcywgVExTIGhpY2N1cHMsIG9yIEROUyBmYWlsdXJlcyBzdG9wXG4vLyAgICAgYmVpbmcgYWJsZSB0byBhZmZlY3QgdGhlIGFwcC5cbi8vXG4vLyBUaGUgV09GRjIgZmlsZXMgbGl2ZSB1bmRlciBgc3JjL2Fzc2V0cy9mb250cy9gLiBUaGUgYnVpbGQgcGlwZWxpbmVcbi8vIGJ1bmRsZXMgdGhlbSB2aWEgdGhlIGFzc2V0IFVSTCByZXdyaXRpbmcgdGhhdCBBbmd1bGFyIENMSSBhcHBsaWVzIHRvXG4vLyBgdXJsKC4uLilgIGluIFNDU1Mg4oCUIHBhdGhzIGhlcmUgYXJlIHJlc29sdmVkIGFnYWluc3QgdGhlIGltcG9ydGluZ1xuLy8gZmlsZSdzIGxvY2F0aW9uLCBoZW5jZSB0aGUgYC4uL2Fzc2V0cy9mb250cy8uLi5gIHJlbGF0aXZlIHBhdGguXG4vL1xuLy8gR2Vpc3Qgc2hpcHMgYXMgNSBzdWJzZXRzIChsYXRpbiwgbGF0aW4tZXh0LCB2aWV0bmFtZXNlLCBjeXJpbGxpYyxcbi8vIGN5cmlsbGljLWV4dCkg4oCUIHNhbWUgc3BsaXQgR29vZ2xlIEZvbnRzIHVzZXMuIGB1bmljb2RlLXJhbmdlYCBsZXRzIHRoZVxuLy8gYnJvd3NlciBvbmx5IGxvYWQgdGhlIHN1YnNldCB0aGF0IGNvbnRhaW5zIHRoZSBjaGFyYWN0ZXJzIGFjdHVhbGx5XG4vLyByZW5kZXJlZCwgc28gdGhlIGxhdGluLW9ubHkgcGF0aHMgb25seSBwYXkgfjMwIEtCIGZvciBib2R5IHR5cGUuXG4vL1xuLy8gTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCBpcyBzZWxmLWhvc3RlZCBhcyBhbiBJTlNUQU5DRUQgdmFyaWFibGUgZm9udFxuLy8gKH43NzAgS0IpIGNhcnJ5aW5nIHRoZSBGVUxMIGljb24gc2V0ICh0b2RvcyBvcyB+NDIwMCBsaWdhdHVyZXMsIGluY2wuXG4vLyBub21lcyBjb20gZMOtZ2l0byBjb21vIGBpbnZlbnRvcnlfMmApOlxuLy8gICAtIE7Dg08gw6kgbWFpcyBzdWJzZXRhZG8gcG9yIMOtY29uZSDigJQgbWFudGVyIG8gY29uanVudG8gY29tcGxldG8gZXZpdGEgb1xuLy8gICAgIHByb2JsZW1hIGRlIFwiw61jb25lIGluZGlzcG9uw612ZWxcIiAoZXguOiBgaW52ZW50b3J5XzJgIGZhbHRhdmEgbm8gYnVpbGRcbi8vICAgICBhbnRpZ28sIHF1ZSBzw7MgdGluaGEgbGV0cmFzL2BfYCBlIG5lbmh1bSBkw61naXRvKSBlIGRpc3BlbnNhIHJlZ2VuZXJhclxuLy8gICAgIGEgZm9udGUgYSBjYWRhIMOtY29uZSBub3ZvLlxuLy8gICAtIEluc3RhbmNpYWRvIHZpYSBgZm9udFRvb2xzLnZhckxpYi5pbnN0YW5jZXJgIHBhcmEgZml4YXIgb3MgZWl4b3MgcXVlIG9cbi8vICAgICBjw7NkaWdvIG7Do28gdmFyaWE6IGBHUkFEPTBgIGUgYG9wc3o9MjBgIChyZW1vdmlkb3MgZGEgdGFiZWxhIGRlIGVpeG9zKVxuLy8gICAgIGUgYHdnaHRgIHJlc3RyaXRvIGEgMzAwLi40MDAuIEZJTEwgMC4uMSBjb250aW51YSB2YXJpw6F2ZWwgKGFuaW1hw6fDo28gZGFcbi8vICAgICBlc3RyZWxhIGRlIGZhdm9yaXRvcykuXG4vLyBOZXQgZWZmZWN0OiBhIHZhcmlhYmxlIGZvbnQgZGUgfjEwIE1CIGVuY29saGUgcC8gfjc3MCBLQiBwcmVzZXJ2YW5kbyBhXG4vLyBhbmltYcOnw6NvIGRlIEZJTEwsIHNlbSBkZXBlbmTDqm5jaWEgZG8gQ0ROIGRvIEdvb2dsZSBGb250cy5cbi8vXG4vLyBSRUdFTkVSQcOHw4NPIChxdWFuZG8gcHJlY2lzYXIgYXR1YWxpemFyIGEgZm9udGUpOiBiYWl4YXIgYSB2YXJpYWJsZSBmb250XG4vLyBjb21wbGV0YSBkbyByZXBvIGdvb2dsZS9tYXRlcmlhbC1kZXNpZ24taWNvbnNcbi8vICh2YXJpYWJsZWZvbnQvTWF0ZXJpYWxTeW1ib2xzT3V0bGluZWRbRklMTCxHUkFELG9wc3osd2dodF0udHRmKSxcbi8vIGBpbnN0YW50aWF0ZVZhcmlhYmxlRm9udChmLCB7J29wc3onOjIwLCdHUkFEJzowLCd3Z2h0JzooMzAwLDQwMCl9KWAsXG4vLyBzYWx2YXIgY29tbyB3b2ZmMiAocHJlY2lzYSBkbyBtw7NkdWxvIGBicm90bGlgKS4gVmVyIGRvY3MvR1VJQV9KRU1TMy5tZCDCpzMuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qIE1hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQg4oCUIGluc3RhbmNlZCB2YXJpYWJsZSBmb250LCBjb25qdW50byBDT01QTEVUTyBkZSDDrWNvbmVzIChGSUxMIDAuLjEsIHdnaHQgMzAwLi40MDApLiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDMwMCA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xufVxuLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQsXG4vLyBMZWdhY3kgYWxpYXM6IEFuZ3VsYXIgTWF0ZXJpYWwgMTEgaGFyZC1jb2RlcyBgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiYFxuLy8gb24gZXZlcnkgYDxtYXQtaWNvbj5gIHdpdGhvdXQgYSBgZm9udFNldGAuIFRoZSBjb2RlYmFzZSBoYXMgYSBoYW5kZnVsXG4vLyBvZiB0aG9zZSAoZS5nLiBgbW9yZV92ZXJ0YCwgYGZpbHRlcl9hbHRgKSB0aGF0IGhpc3RvcmljYWxseSBwaWNrZWQgdXBcbi8vIHRoZSBNYXRlcmlhbCBJY29ucyBDRE4gZm9udC4gQWxpYXNpbmcgYC5tYXRlcmlhbC1pY29uc2AgdG8gb3VyXG4vLyBzZWxmLWhvc3RlZCBNYXRlcmlhbCBTeW1ib2xzIE91dGxpbmVkIGxldHMgYWxsIG9mIHRoZW0gcmVuZGVyIGZyb21cbi8vIHRoZSBzYW1lIGxvY2FsIGZpbGUg4oCUIGFuZCByZW1vdmVzIHRoZSBsYXN0IHJ1bnRpbWUgZGVwZW5kZW5jeSBvbiB0aGVcbi8vIE1hdGVyaWFsIEljb25zIENETi4gKFZlcmlmaWVkOiBvbmx5IGBtb3JlX3ZlcnRgIGFuZCBgZmlsdGVyX2FsdGAgYXJlXG4vLyB1c2VkIHRoaXMgd2F5LCBhbmQgYm90aCBsaWdhdHVyZXMgZXhpc3QgaW4gTWF0ZXJpYWwgU3ltYm9scy4pXG4ubWF0ZXJpYWwtaWNvbnMge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIFN5bWJvbHMgT3V0bGluZWQnO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgLXdlYmtpdC1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJztcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi8qIEdlaXN0IOKAlCBVSSBib2R5IHR5cGUsIHZhcmlhYmxlIHdlaWdodCAxMDAtOTAwLiBTYW1lIDUgc3Vic2V0cyBHb29nbGUgc2hpcHMuICovXG4vKiBjeXJpbGxpYy1leHQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dlaXN0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMTAwIDkwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2dlaXN0LWN5cmlsbGljLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7XG59XG4vKiBjeXJpbGxpYyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2Vpc3QnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvZ2Vpc3QtY3lyaWxsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2O1xufVxuLyogdmlldG5hbWVzZSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2Vpc3QnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvZ2Vpc3QtdmlldG5hbWVzZS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7XG59XG4vKiBsYXRpbi1leHQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0dlaXN0JztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogMTAwIDkwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2dlaXN0LWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XG59XG4vKiBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2Vpc3QnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDAgOTAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvZ2Vpc3QtbGF0aW4ud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEO1xufVxuXG4vKiBJbmNvbnNvbGF0YSDigJQgbW9ub3NwYWNlLCB1c2VkIGluIGNvZGUgYmxvY2tzLiBTaW5nbGUgd2VpZ2h0ICg0MDApLiAzIHN1YnNldHMgbWF0Y2hpbmcgR29vZ2xlJ3Mgc3BsaXQuICovXG4vKiB2aWV0bmFtZXNlICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdJbmNvbnNvbGF0YSc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHJldGNoOiAxMDAlO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvaW5jb25zb2xhdGEtdmlldG5hbWVzZS53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7XG59XG4vKiBsYXRpbi1leHQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0luY29uc29sYXRhJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0cmV0Y2g6IDEwMCU7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9pbmNvbnNvbGF0YS1sYXRpbi1leHQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGO1xufVxuLyogbGF0aW4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0luY29uc29sYXRhJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0cmV0Y2g6IDEwMCU7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9pbmNvbnNvbGF0YS1sYXRpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XG59XG5cbi8qIENhaXJvIOKAlCB1c2VkIGluIG9uZSBjaGFpci1VSSBjb21wb25lbnQgKGV2ZW50cy5jb21wb25lbnQuc2NzcykuIFNpbmdsZSB3ZWlnaHQgKDQwMCkuIEFyYWJpYyArIExhdGluIHN1YnNldHMuICovXG4vKiBhcmFiaWMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhaXJvJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IHN3YXA7XG4gIHNyYzogdXJsKCcuLi9hc3NldHMvZm9udHMvY2Fpcm8tYXJhYmljLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICB1bmljb2RlLXJhbmdlOiBVKzA2MDAtMDZGRiwgVSswNzUwLTA3N0YsIFUrMDg3MC0wODhFLCBVKzA4OTAtMDg5MSwgVSswODk3LTA4RTEsIFUrMDhFMy0wOEZGLCBVKzIwMEMtMjAwRSwgVSsyMDEwLTIwMTEsIFUrMjA0RiwgVSsyRTQxLCBVK0ZCNTAtRkRGRiwgVStGRTcwLUZFNzQsIFUrRkU3Ni1GRUZDLCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzEwRUMyLTEwRUM0LCBVKzEwRUZDLTEwRUZGLCBVKzFFRTAwLTFFRTAzLCBVKzFFRTA1LTFFRTFGLCBVKzFFRTIxLTFFRTIyLCBVKzFFRTI0LCBVKzFFRTI3LCBVKzFFRTI5LTFFRTMyLCBVKzFFRTM0LTFFRTM3LCBVKzFFRTM5LCBVKzFFRTNCLCBVKzFFRTQyLCBVKzFFRTQ3LCBVKzFFRTQ5LCBVKzFFRTRCLCBVKzFFRTRELTFFRTRGLCBVKzFFRTUxLTFFRTUyLCBVKzFFRTU0LCBVKzFFRTU3LCBVKzFFRTU5LCBVKzFFRTVCLCBVKzFFRTVELCBVKzFFRTVGLCBVKzFFRTYxLTFFRTYyLCBVKzFFRTY0LCBVKzFFRTY3LTFFRTZBLCBVKzFFRTZDLTFFRTcyLCBVKzFFRTc0LTFFRTc3LCBVKzFFRTc5LTFFRTdDLCBVKzFFRTdFLCBVKzFFRTgwLTFFRTg5LCBVKzFFRThCLTFFRTlCLCBVKzFFRUExLTFFRUEzLCBVKzFFRUE1LTFFRUE5LCBVKzFFRUFCLTFFRUJCLCBVKzFFRUYwLTFFRUYxO1xufVxuLyogbGF0aW4tZXh0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDYWlybyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwO1xuICBzcmM6IHVybCgnLi4vYXNzZXRzL2ZvbnRzL2NhaXJvLWxhdGluLWV4dC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7XG59XG4vKiBsYXRpbiAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2Fpcm8nO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgc3JjOiB1cmwoJy4uL2Fzc2V0cy9mb250cy9jYWlyby1sYXRpbi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7XG59XG4iLCIvLyBGaWxlIGZvciB3aGljaCBhbGwgaW1wb3J0cyBhcmUgcmVzb2x2ZWQgYW5kIGJ1bmRsZWQuIFRoaXMgaXMgdGhlIGVudHJ5LXBvaW50IGZvclxuLy8gdGhlIGBAYW5ndWxhci9tYXRlcmlhbGAgdGhlbWluZyBTYXNzIGJ1bmRsZS4gU2VlIGAvL3NyYy9tYXRlcmlhbDp0aGVtaW5nX2J1bmRsZWAuXG5cbi8vIEltcG9ydCBhbGwgdGhlIHRoZW1pbmcgZnVuY3Rpb25hbGl0eS5cbi8vIFdlIHdhbnQgb3ZlcmxheXMgdG8gYWx3YXlzIGFwcGVhciBvdmVyIHVzZXIgY29udGVudCwgc28gc2V0IGEgYmFzZWxpbmVcbi8vIHZlcnkgaGlnaCB6LWluZGV4IGZvciB0aGUgb3ZlcmxheSBjb250YWluZXIsIHdoaWNoIGlzIHdoZXJlIHdlIGNyZWF0ZSB0aGUgbmV3XG4vLyBzdGFja2luZyBjb250ZXh0IGZvciBhbGwgb3ZlcmxheXMuXG4kY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI6IDEwMDAgIWRlZmF1bHQ7XG4kY2RrLXotaW5kZXgtb3ZlcmxheTogMTAwMCAhZGVmYXVsdDtcbiRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wOiAxMDAwICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbGwgb2YgdGhlIGJhY2tkcm9wc1xuJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMyKSAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBiYWNrZHJvcCBhbmltYXRpb24gaXMgYmFzZWQgb24gdGhlIE1hdGVyaWFsIERlc2lnbiBzd2lmdC1lYXNlLW91dC5cbiRiYWNrZHJvcC1hbmltYXRpb24tZHVyYXRpb246IDQwMG1zICFkZWZhdWx0O1xuJGJhY2tkcm9wLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBjZGstb3ZlcmxheSgpIHtcbiAgLmNkay1vdmVybGF5LWNvbnRhaW5lciwgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICAvLyBEaXNhYmxlIGV2ZW50cyBmcm9tIGJlaW5nIGNhcHR1cmVkIG9uIHRoZSBvdmVybGF5IGNvbnRhaW5lci5cbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC8vIFRoZSBjb250YWluZXIgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZSB2aWV3cG9ydC5cbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBUaGUgb3ZlcmxheS1jb250YWluZXIgaXMgYW4gaW52aXNpYmxlIGVsZW1lbnQgd2hpY2ggY29udGFpbnMgYWxsIGluZGl2aWR1YWwgb3ZlcmxheXMuXG4gIC5jZGstb3ZlcmxheS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheS1jb250YWluZXI7XG5cbiAgICAmOmVtcHR5IHtcbiAgICAgIC8vIEhpZGUgdGhlIGVsZW1lbnQgd2hlbiBpdCBkb2Vzbid0IGhhdmUgYW55IGNoaWxkIG5vZGVzLiBUaGlzIGRvZXNuJ3RcbiAgICAgIC8vIGluY2x1ZGUgb3ZlcmxheXMgdGhhdCBoYXZlIGJlZW4gZGV0YWNoZWQsIHJhdGhlciB0aGFuIGRpc3Bvc2VkLlxuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSB1c2UgYW4gZXh0cmEgd3JhcHBlciBlbGVtZW50IGluIG9yZGVyIHRvIHVzZSBtYWtlIHRoZSBvdmVybGF5IGl0c2VsZiBhIGZsZXggaXRlbS5cbiAgLy8gVGhpcyBtYWtlcyBjZW50ZXJpbmcgdGhlIG92ZXJsYXkgZWFzeSB3aXRob3V0IHJ1bm5pbmcgaW50byB0aGUgc3VicGl4ZWwgcmVuZGVyaW5nXG4gIC8vIHByb2JsZW1zIHRpZWQgdG8gdXNpbmcgYHRyYW5zZm9ybWAgYW5kIHdpdGhvdXQgaW50ZXJmZXJpbmcgd2l0aCB0aGUgb3RoZXIgcG9zaXRpb25cbiAgLy8gc3RyYXRlZ2llcy5cbiAgLmNkay1nbG9iYWwtb3ZlcmxheS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIEEgc2luZ2xlIG92ZXJsYXkgcGFuZS5cbiAgLmNkay1vdmVybGF5LXBhbmUge1xuICAgIC8vIE5vdGU6IGl0J3MgaW1wb3J0YW50IGZvciB0aGlzIG9uZSB0byBzdGFydCBvZmYgYGFic29sdXRlYCxcbiAgICAvLyBpbiBvcmRlciBmb3IgdXMgdG8gYmUgYWJsZSB0byBtZWFzdXJlIGl0IGNvcnJlY3RseS5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB6LWluZGV4OiAkY2RrLXotaW5kZXgtb3ZlcmxheTtcblxuICAgIC8vIEZvciBjb25uZWN0ZWQtcG9zaXRpb24gb3ZlcmxheXMsIHdlIHNldCBgZGlzcGxheTogZmxleGAgaW5cbiAgICAvLyBvcmRlciB0byBmb3JjZSBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIHRvIHRha2UgZWZmZWN0LlxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuY2RrLW92ZXJsYXktYmFja2Ryb3Age1xuICAgIC8vIFRPRE8oamVsYm91cm4pOiByZXVzZSBzaWRlbmF2IGZ1bGxzY3JlZW4gbWl4aW4uXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcblxuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5LWJhY2tkcm9wO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYmFja2Ryb3AtYW5pbWF0aW9uLWR1cmF0aW9uICRiYWNrZHJvcC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLmNkay1vdmVybGF5LWJhY2tkcm9wLXNob3dpbmcge1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgLy8gTm90ZSB0aGF0IHdlIGNhbid0IGltcG9ydCBhbmQgdXNlIHRoZSBgaGlnaC1jb250cmFzdGAgbWl4aW4gZnJvbSBgX2ExMXkuc2Nzc2AsIGJlY2F1c2VcbiAgICAgIC8vIHRoaXMgZmlsZSB3aWxsIGJlIGNvcGllZCB0byB0aGUgdG9wLWxldmVsIGBjZGtgIHBhY2thZ2Ugd2hlbiBwdXR0aW5nIHRvZ2V0aGVyIHRoZSBmaWxlc1xuICAgICAgLy8gZm9yIG5wbS4gQW55IHJlbGF0aXZlIGltcG9ydCBwYXRocyB3ZSB1c2UgaGVyZSB3aWxsIGJlY29tZSBpbnZhbGlkIG9uY2UgdGhlIGZpbGUgaXMgY29waWVkLlxuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LWFjdGl2ZSAmIHtcbiAgICAgICAgLy8gSW4gaGlnaCBjb250cmFzdCBtb2RlIHRoZSByZ2JhIGJhY2tncm91bmQgd2lsbCBiZWNvbWUgc29saWRcbiAgICAgICAgLy8gc28gd2UgbmVlZCB0byBmYWxsIGJhY2sgdG8gbWFraW5nIGl0IG9wYXF1ZSB1c2luZyBgb3BhY2l0eWAuXG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2RrLW92ZXJsYXktZGFyay1iYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZDogJGNkay1vdmVybGF5LWRhcmstYmFja2Ryb3AtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC5jZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcCB7XG4gICAgLy8gTm90ZTogYXMgb2YgRmlyZWZveCA1NywgaGF2aW5nIHRoZSBiYWNrZHJvcCBiZSBgYmFja2dyb3VuZDogbm9uZWAgd2lsbCBwcmV2ZW50IGl0IGZyb21cbiAgICAvLyBjYXB0dXJpbmcgdGhlIHVzZXIncyBtb3VzZSBzY3JvbGwgZXZlbnRzLiBTaW5jZSB3ZSBhbHNvIGNhbid0IHVzZSBzb21ldGhpbmcgbGlrZVxuICAgIC8vIGByZ2JhKDAsIDAsIDAsIDApYCwgd2Ugd29yayBhcm91bmQgdGhlIGluY29uc2lzdGVuY3kgYnkgbm90IHNldHRpbmcgdGhlIGJhY2tncm91bmQgYXRcbiAgICAvLyBhbGwgYW5kIHVzaW5nIGBvcGFjaXR5YCB0byBtYWtlIHRoZSBlbGVtZW50IHRyYW5zcGFyZW50LlxuICAgICYsICYuY2RrLW92ZXJsYXktYmFja2Ryb3Atc2hvd2luZyB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIE92ZXJsYXkgcGFyZW50IGVsZW1lbnQgdXNlZCB3aXRoIHRoZSBjb25uZWN0ZWQgcG9zaXRpb24gc3RyYXRlZ3kuIFVzZWQgdG8gY29uc3RyYWluIHRoZVxuICAvLyBvdmVybGF5IGVsZW1lbnQncyBzaXplIHRvIGZpdCB3aXRoaW4gdGhlIHZpZXdwb3J0LlxuICAuY2RrLW92ZXJsYXktY29ubmVjdGVkLXBvc2l0aW9uLWJvdW5kaW5nLWJveCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRjZGstei1pbmRleC1vdmVybGF5O1xuXG4gICAgLy8gV2UgdXNlIGBkaXNwbGF5OiBmbGV4YCBvbiB0aGlzIGVsZW1lbnQgZXhjbHVzaXZlbHkgZm9yIGNlbnRlcmluZyBjb25uZWN0ZWQgb3ZlcmxheXMuXG4gICAgLy8gV2hlbiAqbm90KiBjZW50ZXJpbmcsIGEgdG9wL2xlZnQvYm90dG9tL3JpZ2h0IHdpbGwgYmUgc2V0IHdoaWNoIG92ZXJyaWRlcyB0aGUgbm9ybWFsXG4gICAgLy8gZmxleCBsYXlvdXQuXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC8vIFdlIHVzZSB0aGUgYGNvbHVtbmAgZGlyZWN0aW9uIGhlcmUgdG8gYXZvaWQgc29tZSBmbGV4Ym94IGlzc3VlcyBpbiBFZGdlXG4gICAgLy8gd2hlbiB1c2luZyB0aGUgXCJncm93IGFmdGVyIG9wZW5cIiBvcHRpb25zLlxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAvLyBBZGQgc29tZSBkaW1lbnNpb25zIHNvIHRoZSBlbGVtZW50IGhhcyBhbiBgaW5uZXJUZXh0YCB3aGljaCBzb21lIHBlb3BsZSBkZXBlbmQgb24gaW4gdGVzdHMuXG4gICAgbWluLXdpZHRoOiAxcHg7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICB9XG5cbiAgLy8gVXNlZCB3aGVuIGRpc2FibGluZyBnbG9iYWwgc2Nyb2xsaW5nLlxuICAuY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuXG4gICAgLy8gTmVjZXNzYXJ5IGZvciB0aGUgY29udGVudCBub3QgdG8gbG9zZSBpdHMgd2lkdGguIE5vdGUgdGhhdCB3ZSdyZSB1c2luZyAxMDAlLCBpbnN0ZWFkIG9mXG4gICAgLy8gMTAwdncsIGJlY2F1c2UgMTAwdncgaW5jbHVkZXMgdGhlIHdpZHRoIHBsdXMgdGhlIHNjcm9sbGJhciwgd2hlcmVhcyAxMDAlIGlzIHRoZSB3aWR0aFxuICAgIC8vIHRoYXQgdGhlIGVsZW1lbnQgaGFkIGJlZm9yZSB3ZSBtYWRlIGl0IGBmaXhlZGAuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAvLyBOb3RlOiB0aGlzIHdpbGwgYWx3YXlzIGFkZCBhIHNjcm9sbGJhciB0byB3aGF0ZXZlciBlbGVtZW50IGl0IGlzIG9uLCB3aGljaCBjYW5cbiAgICAvLyBwb3RlbnRpYWxseSByZXN1bHQgaW4gZG91YmxlIHNjcm9sbGJhcnMuIEl0IHNob3VsZG4ndCBiZSBhbiBpc3N1ZSwgYmVjYXVzZSB3ZSB3b24ndFxuICAgIC8vIGJsb2NrIHNjcm9sbGluZyBvbiBhIHBhZ2UgdGhhdCBkb2Vzbid0IGhhdmUgYSBzY3JvbGxiYXIgaW4gdGhlIGZpcnN0IHBsYWNlLlxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgfVxufVxuXG5AbWl4aW4gY2RrLWExMXkge1xuICAuY2RrLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcblxuICAgIC8vIFRoaXMgd29ya3MgYXJvdW5kIGEgQ2hyb21lIGJ1ZyB0aGF0IGNhbiBjYXVzZSB0aGUgdGFiIHRvIGNyYXNoIHdoZW4gbGFyZ2UgYW1vdW50cyBvZlxuICAgIC8vIG5vbi1FbmdsaXNoIHRleHQgZ2V0IHdyYXBwZWQ6IGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTEyMDE0NDRcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgLy8gQXZvaWQgYnJvd3NlcnMgcmVuZGVyaW5nIHRoZSBmb2N1cyByaW5nIGluIHNvbWUgY2FzZXMuXG4gICAgb3V0bGluZTogMDtcblxuICAgIC8vIEF2b2lkIHNvbWUgY2FzZXMgd2hlcmUgdGhlIGJyb3dzZXIgd2lsbCBzdGlsbCByZW5kZXIgdGhlIG5hdGl2ZSBjb250cm9scyAoc2VlICM5MDQ5KS5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG59XG5cbi8vLyBFbWl0cyB0aGUgbWl4aW4ncyBjb250ZW50IG5lc3RlZCB1bmRlciBgJHNlbGVjdG9yLWNvbnRleHRgIGlmIGAkc2VsZWN0b3ItY29udGV4dGBcbi8vLyBpcyBub24tZW1wdHkuXG4vLy8gQHBhcmFtIHNlbGVjdG9yLWNvbnRleHQgVGhlIHNlbGVjdG9yIHVuZGVyIHdoaWNoIHRvIG5lc3QgdGhlIG1peGluJ3MgY29udGVudC5cbkBtaXhpbiBfY2RrLW9wdGlvbmFsbHktbmVzdC1jb250ZW50KCRzZWxlY3Rvci1jb250ZXh0KSB7XG4gIEBpZiAoJHNlbGVjdG9yLWNvbnRleHQgPT0gJycpIHtcbiAgICBAY29udGVudDtcbiAgfVxuICBAZWxzZSB7XG4gICAgI3skc2VsZWN0b3ItY29udGV4dH0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgdXNlcnMgaW4gaGlnaCBjb250cmFzdCBtb2RlLiBOb3RlIHRoYXQgdGhpcyBvbmx5IGFwcGxpZXNcbi8vLyB0byBNaWNyb3NvZnQgYnJvd3NlcnMuIENocm9tZSBjYW4gYmUgaW5jbHVkZWQgYnkgY2hlY2tpbmcgZm9yIHRoZSBgaHRtbFtoY11gXG4vLy8gYXR0cmlidXRlLCBob3dldmVyIENocm9tZSBoYW5kbGVzIGhpZ2ggY29udHJhc3QgZGlmZmVyZW50bHkuXG4vLy9cbi8vLyBAcGFyYW0gdGFyZ2V0IFdoaWNoIGtpbmQgb2YgaGlnaCBjb250cmFzdCBzZXR0aW5nIHRvIHRhcmdldC4gRGVmYXVsdHMgdG8gYGFjdGl2ZWAsIGNhbiBiZVxuLy8vICAgIGB3aGl0ZS1vbi1ibGFja2Agb3IgYGJsYWNrLW9uLXdoaXRlYC5cbi8vLyBAcGFyYW0gZW5jYXBzdWxhdGlvbiBXaGV0aGVyIHRvIGVtaXQgc3R5bGVzIGZvciB2aWV3IGVuY2Fwc3VsYXRpb24uIFZhbHVlcyBhcmU6XG4vLy8gICAgICogYG9uYCAtIHdvcmtzIGZvciBgRW11bGF0ZWRgLCBgTmF0aXZlYCwgYW5kIGBTaGFkb3dEb21gXG4vLy8gICAgICogYG9mZmAgLSB3b3JrcyBmb3IgYE5vbmVgXG4vLy8gICAgICogYGFueWAgLSB3b3JrcyBmb3IgYWxsIGVuY2Fwc3VsYXRpb24gbW9kZXMgYnkgZW1pdHRpbmcgdGhlIENTUyB0d2ljZSAoZGVmYXVsdCkuXG5AbWl4aW4gY2RrLWhpZ2gtY29udHJhc3QoJHRhcmdldDogYWN0aXZlLCAkZW5jYXBzdWxhdGlvbjogJ2FueScpIHtcbiAgQGlmICgkdGFyZ2V0ICE9ICdhY3RpdmUnIGFuZCAkdGFyZ2V0ICE9ICdibGFjay1vbi13aGl0ZScgYW5kICR0YXJnZXQgIT0gJ3doaXRlLW9uLWJsYWNrJykge1xuICAgIEBlcnJvciAnVW5rbm93biBjZGstaGlnaC1jb250cmFzdCB2YWx1ZSBcIiN7JHRhcmdldH1cIiBwcm92aWRlZC4gJyArXG4gICAgICAgICAgICdBbGxvd2VkIHZhbHVlcyBhcmUgXCJhY3RpdmVcIiwgXCJibGFjay1vbi13aGl0ZVwiLCBhbmQgXCJ3aGl0ZS1vbi1ibGFja1wiJztcbiAgfVxuXG4gIEBpZiAoJGVuY2Fwc3VsYXRpb24gIT0gJ29uJyBhbmQgJGVuY2Fwc3VsYXRpb24gIT0gJ29mZicgYW5kICRlbmNhcHN1bGF0aW9uICE9ICdhbnknKSB7XG4gICAgQGVycm9yICdVbmtub3duIGNkay1oaWdoLWNvbnRyYXN0IGVuY2Fwc3VsYXRpb24gXCIjeyRlbmNhcHN1bGF0aW9ufVwiIHByb3ZpZGVkLiAnICtcbiAgICAgICAgICAgJ0FsbG93ZWQgdmFsdWVzIGFyZSBcIm9uXCIsIFwib2ZmXCIsIGFuZCBcImFueVwiJztcbiAgfVxuXG4gIC8vIElmIHRoZSBzZWxlY3RvciBjb250ZXh0IGhhcyBtdWx0aXBsZSBwYXJ0cywgc3VjaCBhcyBgLnNlY3Rpb24sIC5yZWdpb25gLCBqdXN0IGRvaW5nXG4gIC8vIGAuY2RrLWhpZ2gtY29udHJhc3QteHh4ICN7Jn1gIHdpbGwgb25seSBhcHBseSB0aGUgcGFyZW50IHNlbGVjdG9yIHRvIHRoZSBmaXJzdCBwYXJ0IG9mIHRoZVxuICAvLyBjb250ZXh0LiBXZSBhZGRyZXNzIHRoaXMgYnkgbmVzdGluZyB0aGUgc2VsZWN0b3IgY29udGV4dCB1bmRlciAuY2RrLWhpZ2gtY29udHJhc3QuXG4gIEBhdC1yb290IHtcbiAgICAkc2VsZWN0b3ItY29udGV4dDogI3smfTtcblxuICAgIEBpZiAoJGVuY2Fwc3VsYXRpb24gIT0gJ29uJykge1xuICAgICAgLy8gTm90ZSB0aGF0IGlmIHRoaXMgc2VsZWN0b3IgaXMgdXBkYXRlZCwgdGhlIHNhbWUgY2hhbmdlIGhhcyB0byBiZSBtYWRlIGluc2lkZVxuICAgICAgLy8gYF9vdmVybGF5LnNjc3NgIHdoaWNoIGNhbid0IGRlcGVuZCBvbiB0aGlzIG1peGluIGR1ZSB0byBzb21lIGluZnJhc3RydWN0dXJlIGxpbWl0YXRpb25zLlxuICAgICAgLmNkay1oaWdoLWNvbnRyYXN0LSN7JHRhcmdldH0ge1xuICAgICAgICBAaW5jbHVkZSBfY2RrLW9wdGlvbmFsbHktbmVzdC1jb250ZW50KCRzZWxlY3Rvci1jb250ZXh0KSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRlbmNhcHN1bGF0aW9uICE9ICdvZmYnKSB7XG4gICAgICAuY2RrLWhpZ2gtY29udHJhc3QtI3skdGFyZ2V0fSA6aG9zdCB7XG4gICAgICAgIEBpbmNsdWRlIF9jZGstb3B0aW9uYWxseS1uZXN0LWNvbnRlbnQoJHNlbGVjdG9yLWNvbnRleHQpIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDb3JlIHN0eWxlcyB0aGF0IGVuYWJsZSBtb25pdG9yaW5nIGF1dG9maWxsIHN0YXRlIG9mIHRleHQgZmllbGRzLlxuQG1peGluIGNkay10ZXh0LWZpZWxkIHtcbiAgLy8gS2V5ZnJhbWVzIHRoYXQgYXBwbHkgbm8gc3R5bGVzLCBidXQgYWxsb3cgdXMgdG8gbW9uaXRvciB3aGVuIGFuIHRleHQgZmllbGQgYmVjb21lcyBhdXRvZmlsbGVkXG4gIC8vIGJ5IHdhdGNoaW5nIGZvciB0aGUgYW5pbWF0aW9uIGV2ZW50cyB0aGF0IGFyZSBmaXJlZCB3aGVuIHRoZXkgc3RhcnQuIE5vdGU6IHRoZSAvKiEqLyBjb21tZW50IGlzXG4gIC8vIG5lZWRlZCB0byBwcmV2ZW50IExpYlNhc3MgZnJvbSBzdHJpcHBpbmcgdGhlIGtleWZyYW1lcyBvdXQuXG4gIC8vIEJhc2VkIG9uOiBodHRwczovL21lZGl1bS5jb20vQGJydW5uL2RldGVjdGluZy1hdXRvZmlsbGVkLWZpZWxkcy1pbi1qYXZhc2NyaXB0LWFlZDU5OGQyNWRhN1xuICBAa2V5ZnJhbWVzIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IHsvKiEqL31cbiAgQGtleWZyYW1lcyBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgey8qISovfVxuXG4gIC5jZGstdGV4dC1maWVsZC1hdXRvZmlsbC1tb25pdG9yZWQ6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgLy8gU2luY2UgQ2hyb21lIDgwIHdlIG5lZWQgYSAxbXMgZGVsYXksIG9yIHRoZSBhbmltYXRpb25zdGFydCBldmVudCB3b24ndCBmaXJlLlxuICAgIGFuaW1hdGlvbjogY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtc3RhcnQgMHMgMW1zO1xuICB9XG5cbiAgLmNkay10ZXh0LWZpZWxkLWF1dG9maWxsLW1vbml0b3JlZDpub3QoOi13ZWJraXQtYXV0b2ZpbGwpIHtcbiAgICAvLyBTaW5jZSBDaHJvbWUgODAgd2UgbmVlZCBhIDFtcyBkZWxheSwgb3IgdGhlIGFuaW1hdGlvbnN0YXJ0IGV2ZW50IHdvbid0IGZpcmUuXG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1lbmQgMHMgMW1zO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSByZXNpemUgaGFuZGxlIG9uIGF1dG9zaXppbmcgdGV4dGFyZWFzLCBiZWNhdXNlIHdoYXRldmVyIGhlaWdodFxuICAvLyB0aGUgdXNlciByZXNpemVkIHRvIHdpbGwgYmUgb3ZlcndyaXR0ZW4gb25jZSB0aGV5IHN0YXJ0IHR5cGluZyBhZ2Fpbi5cbiAgdGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplIHtcbiAgICByZXNpemU6IG5vbmU7XG4gIH1cblxuICAvLyBUaGlzIGNsYXNzIGlzIHRlbXBvcmFyaWx5IGFwcGxpZWQgdG8gdGhlIHRleHRhcmVhIHdoZW4gaXQgaXMgYmVpbmcgbWVhc3VyZWQuIEl0IGlzIGltbWVkaWF0ZWx5XG4gIC8vIHJlbW92ZWQgd2hlbiBtZWFzdXJpbmcgaXMgY29tcGxldGUuIFdlIHVzZSBgIWltcG9ydGFudGAgcnVsZXMgaGVyZSB0byBtYWtlIHN1cmUgdXNlci1zcGVjaWZpZWRcbiAgLy8gcnVsZXMgZG8gbm90IGludGVyZmVyZSB3aXRoIHRoZSBtZWFzdXJlbWVudC5cbiAgdGV4dGFyZWEuY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZyB7XG4gICAgQGluY2x1ZGUgX2Nkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctYmFzZTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBTaW1pbGFyIHRvIHRoZSBgY2RrLXRleHRhcmVhLWF1dG9zaXplLW1lYXN1cmluZ2AgY2xhc3MsIGJ1dCBvbmx5IGFwcGxpZWQgb24gRmlyZWZveC4gV2UgbmVlZFxuICAvLyB0byB1c2UgdGhpcyBjbGFzcywgYmVjYXVzZSBGaXJlZm94IGhhcyBhIGJ1ZyB3aGVyZSBjaGFuZ2luZyB0aGUgYG92ZXJmbG93YCBicmVha3MgdGhlIHVzZXInc1xuICAvLyBhYmlsaXR5IHRvIHVuZG8vcmVkbyB3aGF0IHRoZXkgd2VyZSB0eXBpbmcgKHNlZSAjMTY2MjkpLiBUaGlzIGNsYXNzIGlzIG9ubHkgc2NvcGVkIHRvIEZpcmVmb3gsXG4gIC8vIGJlY2F1c2UgdGhlIG1lYXN1cmVtZW50cyB0aGVyZSBkb24ndCBzZWVtIHRvIGJlIGFmZmVjdGVkIGJ5IHRoZSBgaGVpZ2h0OiAwYCwgd2hlcmVhcyBvbiBvdGhlclxuICAvLyBicm93c2VycyB0aGV5IGFyZSwgZS5nLiBDaHJvbWUgZGV0ZWN0cyBsb25nZXIgdGV4dCBhbmQgSUUgZG9lcyd0IHJlc2l6ZSBiYWNrIHRvIG5vcm1hbC5cbiAgLy8gSWRlbnRpY2FsIGlzc3VlIHJlcG9ydDogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ4Nzg0XG4gIHRleHRhcmVhLmNkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctZmlyZWZveCB7XG4gICAgQGluY2x1ZGUgX2Nkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctYmFzZTtcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gX2Nkay10ZXh0YXJlYS1hdXRvc2l6ZS1tZWFzdXJpbmctYmFzZSB7XG4gIC8vIEhhdmluZyAycHggdG9wIGFuZCBib3R0b20gcGFkZGluZyBzZWVtcyB0byBmaXggYSBidWcgd2hlcmUgQ2hyb21lIGdldHMgYW4gaW5jb3JyZWN0XG4gIC8vIG1lYXN1cmVtZW50LiBXZSBqdXN0IGhhdmUgdG8gYWNjb3VudCBmb3IgaXQgbGF0ZXIgYW5kIHN1YnRyYWN0IGl0IG9mZiB0aGUgZmluYWwgcmVzdWx0LlxuICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveCAhaW1wb3J0YW50O1xufVxuXG4vLyBVc2VkIHRvIGdlbmVyYXRlIFVJRHMgZm9yIGtleWZyYW1lcyB1c2VkIHRvIGNoYW5nZSB0aGUgdGV4dCBmaWVsZCBhdXRvZmlsbCBzdHlsZXMuXG4kY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnQ6IDA7XG5cbi8vIE1peGluIHVzZWQgdG8gYXBwbHkgY3VzdG9tIGJhY2tncm91bmQgYW5kIGZvcmVncm91bmQgY29sb3JzIHRvIGFuIGF1dG9maWxsZWQgdGV4dCBmaWVsZC5cbi8vIEJhc2VkIG9uOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yNzgxNTQ5L1xuLy8gcmVtb3ZpbmctaW5wdXQtYmFja2dyb3VuZC1jb2xvdXItZm9yLWNocm9tZS1hdXRvY29tcGxldGUjYW5zd2VyLTM3NDMyMjYwXG5AbWl4aW4gY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3IoJGJhY2tncm91bmQsICRmb3JlZ3JvdW5kOicnKSB7XG4gIEBrZXlmcmFtZXMgY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItI3skY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtY29sb3ItZnJhbWUtY291bnR9IHtcbiAgICB0byB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIEBpZiAkZm9yZWdyb3VuZCAhPSAnJyB7IGNvbG9yOiAkZm9yZWdyb3VuZDsgfVxuICAgIH1cbiAgfVxuXG4gICY6LXdlYmtpdC1hdXRvZmlsbCB7XG4gICAgYW5pbWF0aW9uOiBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci0jeyRjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1jb2xvci1mcmFtZS1jb3VudH0gYm90aDtcbiAgfVxuXG4gICYuY2RrLXRleHQtZmllbGQtYXV0b2ZpbGwtbW9uaXRvcmVkOi13ZWJraXQtYXV0b2ZpbGwge1xuICAgIC8vIFNpbmNlIENocm9tZSA4MCB3ZSBuZWVkIGEgMW1zIGRlbGF5IGZvciBjZGstdGV4dC1maWVsZC1hdXRvZmlsbC1zdGFydCwgb3IgdGhlIGFuaW1hdGlvbnN0YXJ0XG4gICAgLy8gZXZlbnQgd29uJ3QgZmlyZS5cbiAgICBhbmltYXRpb246IGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLXN0YXJ0IDBzIDFtcyxcbiAgICAgICAgICAgICAgIGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLSN7JGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50fSBib3RoO1xuICB9XG5cbiAgJGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50OlxuICAgICAgJGNkay10ZXh0LWZpZWxkLWF1dG9maWxsLWNvbG9yLWZyYW1lLWNvdW50ICsgMSAhZ2xvYmFsO1xufVxuXG5cbi8vIENvcmUgc3R5bGVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gYXBwbHkgbWF0ZXJpYWwgZGVzaWduIHRyZWF0bWVudHMgdG8gYW55IGVsZW1lbnQuXG4vLyBNZWRpYSBxdWVyaWVzXG4vLyBUT0RPKGpvc2VwaHBlcnJvdHQpOiBDaGFuZ2UgJG1hdC14c21hbGwgYW5kICRtYXQtc21hbGwgdXNhZ2VzIHRvIHJlbHkgb24gQnJlYWtwb2ludE9ic2VydmVyLFxuJG1hdC14c21hbGw6ICdtYXgtd2lkdGg6IDU5OXB4JztcbiRtYXQtc21hbGw6ICdtYXgtd2lkdGg6IDk1OXB4JztcblxuLy8gVE9ETzogUmV2aXNpdCBhbGwgei1pbmRpY2VzIGJlZm9yZSBiZXRhXG4vLyB6LWluZGV4IG1hc3RlciBsaXN0XG5cbiR6LWluZGV4LWZhYjogMjAgIWRlZmF1bHQ7XG4kei1pbmRleC1kcmF3ZXI6IDEwMCAhZGVmYXVsdDtcblxuLy8gR2xvYmFsIGNvbnN0YW50c1xuJHBpOiAzLjE0MTU5MjY1O1xuXG4vLyBQYWRkaW5nIGJldHdlZW4gaW5wdXQgdG9nZ2xlcyBhbmQgdGhlaXIgbGFiZWxzXG4kbWF0LXRvZ2dsZS1wYWRkaW5nOiA4cHggIWRlZmF1bHQ7XG4vLyBXaWR0aCBhbmQgaGVpZ2h0IG9mIGlucHV0IHRvZ2dsZXNcbiRtYXQtdG9nZ2xlLXNpemU6IDIwcHggIWRlZmF1bHQ7XG5cbi8vIEVhc2luZyBDdXJ2ZXNcbi8vIFRPRE8oamVsYm91cm4pOiBhbGwgb2YgdGhlc2UgbmVlZCB0byBiZSByZXZpc2l0ZWRcblxuLy8gVGhlIGRlZmF1bHQgYW5pbWF0aW9uIGN1cnZlcyB1c2VkIGJ5IG1hdGVyaWFsIGRlc2lnbi5cbiRtYXQtbGluZWFyLW91dC1zbG93LWluLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMC4xKSAhZGVmYXVsdDtcbiRtYXQtZmFzdC1vdXQtc2xvdy1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgIWRlZmF1bHQ7XG4kbWF0LWZhc3Qtb3V0LWxpbmVhci1pbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpICFkZWZhdWx0O1xuXG4kZWFzZS1pbi1vdXQtY3VydmUtZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM1LCAwLCAwLjI1LCAxKSAhZGVmYXVsdDtcblxuJHN3aWZ0LWVhc2Utb3V0LWR1cmF0aW9uOiA0MDBtcyAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLW91dC10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjgsIDAuMjUsIDEpICFkZWZhdWx0O1xuJHN3aWZ0LWVhc2Utb3V0OiBhbGwgJHN3aWZ0LWVhc2Utb3V0LWR1cmF0aW9uICRzd2lmdC1lYXNlLW91dC10aW1pbmctZnVuY3Rpb24gIWRlZmF1bHQ7XG5cbiRzd2lmdC1lYXNlLWluLWR1cmF0aW9uOiAzMDBtcyAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLWluLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuNTUsIDAuMikgIWRlZmF1bHQ7XG4kc3dpZnQtZWFzZS1pbjogYWxsICRzd2lmdC1lYXNlLWluLWR1cmF0aW9uICRzd2lmdC1lYXNlLWluLXRpbWluZy1mdW5jdGlvbiAhZGVmYXVsdDtcblxuJHN3aWZ0LWVhc2UtaW4tb3V0LWR1cmF0aW9uOiA1MDBtcyAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLWluLW91dC10aW1pbmctZnVuY3Rpb246ICRlYXNlLWluLW91dC1jdXJ2ZS1mdW5jdGlvbiAhZGVmYXVsdDtcbiRzd2lmdC1lYXNlLWluLW91dDogYWxsICRzd2lmdC1lYXNlLWluLW91dC1kdXJhdGlvbiAkc3dpZnQtZWFzZS1pbi1vdXQtdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG4kc3dpZnQtbGluZWFyLWR1cmF0aW9uOiA4MG1zICFkZWZhdWx0O1xuJHN3aWZ0LWxpbmVhci10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhZGVmYXVsdDtcbiRzd2lmdC1saW5lYXI6IGFsbCAkc3dpZnQtbGluZWFyLWR1cmF0aW9uICRzd2lmdC1saW5lYXItdGltaW5nLWZ1bmN0aW9uICFkZWZhdWx0O1xuXG5cblxuLy8gQSBjb2xsZWN0aW9uIG9mIG1peGlucyBhbmQgQ1NTIGNsYXNzZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBhcHBseSBlbGV2YXRpb24gdG8gYSBtYXRlcmlhbFxuLy8gZWxlbWVudC5cbi8vIFNlZTogaHR0cHM6Ly9tYXRlcmlhbC5pby9kZXNpZ24vZW52aXJvbm1lbnQvZWxldmF0aW9uLmh0bWxcbi8vIEV4YW1wbGVzOlxuLy9cbi8vXG4vLyAubWF0LWZvbyB7XG4vLyAgIEBpbmNsdWRlICRtYXQtZWxldmF0aW9uKDIpO1xuLy9cbi8vICAgJjphY3RpdmUge1xuLy8gICAgIEBpbmNsdWRlICRtYXQtZWxldmF0aW9uKDgpO1xuLy8gICB9XG4vLyB9XG4vL1xuLy8gPGRpdiBpZD1cImV4dGVybmFsLWNhcmRcIiBjbGFzcz1cIm1hdC1lbGV2YXRpb24tejJcIj48cD5Tb21lIGNvbnRlbnQ8L3A+PC9kaXY+XG4vL1xuLy8gRm9yIGFuIGV4cGxhbmF0aW9uIG9mIHRoZSBkZXNpZ24gYmVoaW5kIGhvdyBlbGV2YXRpb24gaXMgaW1wbGVtZW50ZWQsIHNlZSB0aGUgZGVzaWduIGRvYyBhdFxuLy8gaHR0cHM6Ly9nb28uZ2wvS3EwazlaLlxuXG4vLyBDb2xvcnMgZm9yIHVtYnJhLCBwZW51bWJyYSwgYW5kIGFtYmllbnQgc2hhZG93cy4gQXMgZGVzY3JpYmVkIGluIHRoZSBkZXNpZ24gZG9jLCBlYWNoIGVsZXZhdGlvblxuLy8gbGV2ZWwgaXMgY3JlYXRlZCB1c2luZyBhIHNldCBvZiAzIHNoYWRvdyB2YWx1ZXMsIG9uZSBmb3IgdW1icmEgKHRoZSBzaGFkb3cgcmVwcmVzZW50aW5nIHRoZVxuLy8gc3BhY2UgY29tcGxldGVseSBvYnNjdXJlZCBieSBhbiBvYmplY3QgcmVsYXRpdmUgdG8gaXRzIGxpZ2h0IHNvdXJjZSksIG9uZSBmb3IgcGVudW1icmEgKHRoZVxuLy8gc3BhY2UgcGFydGlhbGx5IG9ic2N1cmVkIGJ5IGFuIG9iamVjdCksIGFuZCBvbmUgZm9yIGFtYmllbnQgKHRoZSBzcGFjZSB3aGljaCBjb250YWlucyB0aGUgb2JqZWN0XG4vLyBpdHNlbGYpLiBGb3IgYSBmdXJ0aGVyIGV4cGxhbmF0aW9uIG9mIHRoZXNlIHRlcm1zIGFuZCB0aGVpciBtZWFuaW5ncywgc2VlXG4vLyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VbWJyYSxfcGVudW1icmFfYW5kX2FudHVtYnJhLlxuXG4vLyBNYXBzIGZvciB0aGUgZGlmZmVyZW50IHNoYWRvdyBzZXRzIGFuZCB0aGVpciB2YWx1ZXMgd2l0aGluIGVhY2ggei1zcGFjZS4gVGhlc2UgdmFsdWVzIHdlcmVcbi8vIGNyZWF0ZWQgYnkgdGFraW5nIGEgZmV3IHJlZmVyZW5jZSBzaGFkb3cgc2V0cyBjcmVhdGVkIGJ5IEdvb2dsZSdzIERlc2lnbmVycyBhbmQgaW50ZXJwb2xhdGluZ1xuLy8gYWxsIG9mIHRoZSB2YWx1ZXMgYmV0d2VlbiB0aGVtLlxuXG5AZnVuY3Rpb24gX2dldC11bWJyYS1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICAkc2hhZG93LWNvbG9yOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IsIHJnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMiksICRjb2xvcik7XG5cbiAgQHJldHVybiAoXG4gICAgMDogJzBweCAwcHggMHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxOiAnMHB4IDJweCAxcHggLTFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyOiAnMHB4IDNweCAxcHggLTJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAzOiAnMHB4IDNweCAzcHggLTJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA0OiAnMHB4IDJweCA0cHggLTFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA1OiAnMHB4IDNweCA1cHggLTFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA2OiAnMHB4IDNweCA1cHggLTFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA3OiAnMHB4IDRweCA1cHggLTJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA4OiAnMHB4IDVweCA1cHggLTNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA5OiAnMHB4IDVweCA2cHggLTNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMDogJzBweCA2cHggNnB4IC0zcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTE6ICcwcHggNnB4IDdweCAtNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEyOiAnMHB4IDdweCA4cHggLTRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMzogJzBweCA3cHggOHB4IC00cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTQ6ICcwcHggN3B4IDlweCAtNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE1OiAnMHB4IDhweCA5cHggLTVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNjogJzBweCA4cHggMTBweCAtNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE3OiAnMHB4IDhweCAxMXB4IC01cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTg6ICcwcHggOXB4IDExcHggLTVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxOTogJzBweCA5cHggMTJweCAtNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIwOiAnMHB4IDEwcHggMTNweCAtNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIxOiAnMHB4IDEwcHggMTNweCAtNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIyOiAnMHB4IDEwcHggMTRweCAtNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIzOiAnMHB4IDExcHggMTRweCAtN3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDI0OiAnMHB4IDExcHggMTVweCAtN3B4ICN7JHNoYWRvdy1jb2xvcn0nXG4gICk7XG59XG5cbkBmdW5jdGlvbiBfZ2V0LXBlbnVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSB7XG4gICRzaGFkb3ctY29sb3I6IGlmKHR5cGUtb2YoJGNvbG9yKSA9PSBjb2xvciwgcmdiYSgkY29sb3IsICRvcGFjaXR5ICogMC4xNCksICRjb2xvcik7XG5cbiAgQHJldHVybiAoXG4gICAgMDogJzBweCAwcHggMHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxOiAnMHB4IDFweCAxcHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDI6ICcwcHggMnB4IDJweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMzogJzBweCAzcHggNHB4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICA0OiAnMHB4IDRweCA1cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDU6ICcwcHggNXB4IDhweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNjogJzBweCA2cHggMTBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNzogJzBweCA3cHggMTBweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgODogJzBweCA4cHggMTBweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgOTogJzBweCA5cHggMTJweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTA6ICcwcHggMTBweCAxNHB4IDFweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMTogJzBweCAxMXB4IDE1cHggMXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDEyOiAnMHB4IDEycHggMTdweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTM6ICcwcHggMTNweCAxOXB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNDogJzBweCAxNHB4IDIxcHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE1OiAnMHB4IDE1cHggMjJweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTY6ICcwcHggMTZweCAyNHB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNzogJzBweCAxN3B4IDI2cHggMnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE4OiAnMHB4IDE4cHggMjhweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTk6ICcwcHggMTlweCAyOXB4IDJweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMDogJzBweCAyMHB4IDMxcHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIxOiAnMHB4IDIxcHggMzNweCAzcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjI6ICcwcHggMjJweCAzNXB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMzogJzBweCAyM3B4IDM2cHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDI0OiAnMHB4IDI0cHggMzhweCAzcHggI3skc2hhZG93LWNvbG9yfSdcbiAgKTtcbn1cblxuQGZ1bmN0aW9uIF9nZXQtYW1iaWVudC1tYXAoJGNvbG9yLCAkb3BhY2l0eSkge1xuICAkc2hhZG93LWNvbG9yOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IsIHJnYmEoJGNvbG9yLCAkb3BhY2l0eSAqIDAuMTIpLCAkY29sb3IpO1xuXG4gIEByZXR1cm4gKFxuICAgIDA6ICcwcHggMHB4IDBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTogJzBweCAxcHggM3B4IDBweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyOiAnMHB4IDFweCA1cHggMHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDM6ICcwcHggMXB4IDhweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNDogJzBweCAxcHggMTBweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNTogJzBweCAxcHggMTRweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNjogJzBweCAxcHggMThweCAwcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgNzogJzBweCAycHggMTZweCAxcHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgODogJzBweCAzcHggMTRweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgOTogJzBweCAzcHggMTZweCAycHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTA6ICcwcHggNHB4IDE4cHggM3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDExOiAnMHB4IDRweCAyMHB4IDNweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxMjogJzBweCA1cHggMjJweCA0cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTM6ICcwcHggNXB4IDI0cHggNHB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE0OiAnMHB4IDVweCAyNnB4IDRweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxNTogJzBweCA2cHggMjhweCA1cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTY6ICcwcHggNnB4IDMwcHggNXB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDE3OiAnMHB4IDZweCAzMnB4IDVweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAxODogJzBweCA3cHggMzRweCA2cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMTk6ICcwcHggN3B4IDM2cHggNnB4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIwOiAnMHB4IDhweCAzOHB4IDdweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyMTogJzBweCA4cHggNDBweCA3cHggI3skc2hhZG93LWNvbG9yfScsXG4gICAgMjI6ICcwcHggOHB4IDQycHggN3B4ICN7JHNoYWRvdy1jb2xvcn0nLFxuICAgIDIzOiAnMHB4IDlweCA0NHB4IDhweCAjeyRzaGFkb3ctY29sb3J9JyxcbiAgICAyNDogJzBweCA5cHggNDZweCA4cHggI3skc2hhZG93LWNvbG9yfSdcbiAgKTtcbn1cblxuLy8gVGhlIGRlZmF1bHQgZHVyYXRpb24gdmFsdWUgZm9yIGVsZXZhdGlvbiB0cmFuc2l0aW9ucy5cbiRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb246IDI4MG1zICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBlYXNpbmcgdmFsdWUgZm9yIGVsZXZhdGlvbiB0cmFuc2l0aW9ucy5cbiRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkbWF0LWZhc3Qtb3V0LXNsb3ctaW4tdGltaW5nLWZ1bmN0aW9uO1xuXG4vLyBUaGUgZGVmYXVsdCBjb2xvciBmb3IgZWxldmF0aW9uIHNoYWRvd3MuXG4kbWF0LWVsZXZhdGlvbi1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IG9wYWNpdHkgc2NhbGluZyB2YWx1ZSBmb3IgZWxldmF0aW9uIHNoYWRvd3MuXG4kbWF0LWVsZXZhdGlvbi1vcGFjaXR5OiAxICFkZWZhdWx0O1xuXG4vLyBQcmVmaXggZm9yIGVsZXZhdGlvbi1yZWxhdGVkIHNlbGVjdG9ycy5cbiRtYXQtZWxldmF0aW9uLXByZWZpeDogJ21hdC1lbGV2YXRpb24teic7XG5cbi8vIEFwcGxpZXMgdGhlIGNvcnJlY3QgY3NzIHJ1bGVzIHRvIGFuIGVsZW1lbnQgdG8gZ2l2ZSBpdCB0aGUgZWxldmF0aW9uIHNwZWNpZmllZCBieSAkelZhbHVlLlxuLy8gVGhlICR6VmFsdWUgbXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDI0LlxuQG1peGluIG1hdC1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbG9yOiAkbWF0LWVsZXZhdGlvbi1jb2xvciwgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgQGlmIHR5cGUtb2YoJHpWYWx1ZSkgIT0gbnVtYmVyIG9yIG5vdCB1bml0bGVzcygkelZhbHVlKSB7XG4gICAgQGVycm9yICckelZhbHVlIG11c3QgYmUgYSB1bml0bGVzcyBudW1iZXInO1xuICB9XG4gIEBpZiAkelZhbHVlIDwgMCBvciAkelZhbHVlID4gMjQge1xuICAgIEBlcnJvciAnJHpWYWx1ZSBtdXN0IGJlIGJldHdlZW4gMCBhbmQgMjQnO1xuICB9XG5cbiAgYm94LXNoYWRvdzogI3ttYXAtZ2V0KF9nZXQtdW1icmEtbWFwKCRjb2xvciwgJG9wYWNpdHkpLCAkelZhbHVlKX0sXG4gICAgICAgICAgICAgICN7bWFwLWdldChfZ2V0LXBlbnVtYnJhLW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9LFxuICAgICAgICAgICAgICAje21hcC1nZXQoX2dldC1hbWJpZW50LW1hcCgkY29sb3IsICRvcGFjaXR5KSwgJHpWYWx1ZSl9O1xufVxuXG4vLyBBcHBsaWVzIHRoZSBlbGV2YXRpb24gdG8gYW4gZWxlbWVudCBpbiBhIG1hbm5lciB0aGF0IGFsbG93c1xuLy8gY29uc3VtZXJzIHRvIG92ZXJyaWRlIGl0IHZpYSB0aGUgTWF0ZXJpYWwgZWxldmF0aW9uIGNsYXNzZXMuXG5AbWl4aW4gbWF0LW92ZXJyaWRhYmxlLWVsZXZhdGlvbihcbiAgICAkelZhbHVlLFxuICAgICRjb2xvcjogJG1hdC1lbGV2YXRpb24tY29sb3IsXG4gICAgJG9wYWNpdHk6ICRtYXQtZWxldmF0aW9uLW9wYWNpdHkpIHtcbiAgJjpub3QoW2NsYXNzKj0nI3skbWF0LWVsZXZhdGlvbi1wcmVmaXh9J10pIHtcbiAgICBAaW5jbHVkZSBtYXQtZWxldmF0aW9uKCR6VmFsdWUsICRjb2xvciwgJG9wYWNpdHkpO1xuICB9XG59XG5cbi8vIFJldHVybnMgYSBzdHJpbmcgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgdmFsdWUgZm9yIGEgdHJhbnNpdGlvbiBwcm9wZXJ0eSBmb3IgZWxldmF0aW9uLlxuLy8gQ2FsbGluZyB0aGlzIGZ1bmN0aW9uIGRpcmVjdGx5IGlzIHVzZWZ1bCBpbiBzaXR1YXRpb25zIHdoZXJlIGEgY29tcG9uZW50IG5lZWRzIHRvIHRyYW5zaXRpb25cbi8vIG1vcmUgdGhhbiBvbmUgcHJvcGVydHkuXG4vL1xuLy8gLmZvbyB7XG4vLyAgIHRyYW5zaXRpb246IG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1wcm9wZXJ0eS12YWx1ZSgpLCBvcGFjaXR5IDEwMG1zIGVhc2U7XG4vLyB9XG5AZnVuY3Rpb24gbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXByb3BlcnR5LXZhbHVlKFxuICAgICRkdXJhdGlvbjogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi1kdXJhdGlvbixcbiAgICAkZWFzaW5nOiAkbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbikge1xuICBAcmV0dXJuIGJveC1zaGFkb3cgI3skZHVyYXRpb259ICN7JGVhc2luZ307XG59XG5cbi8vIEFwcGxpZXMgdGhlIGNvcnJlY3QgY3NzIHJ1bGVzIG5lZWRlZCB0byBoYXZlIGFuIGVsZW1lbnQgdHJhbnNpdGlvbiBiZXR3ZWVuIGVsZXZhdGlvbnMuXG4vLyBUaGlzIG1peGluIHNob3VsZCBiZSBhcHBsaWVkIHRvIGVsZW1lbnRzIHdob3NlIGVsZXZhdGlvbiB2YWx1ZXMgd2lsbCBjaGFuZ2UgZGVwZW5kaW5nIG9uIHRoZWlyXG4vLyBjb250ZXh0IChlLmcuIHdoZW4gYWN0aXZlIG9yIGRpc2FibGVkKS5cbi8vXG4vLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBCb3RoIHRoaXMgbWl4aW4gYW5kIHRoZSBhYm92ZSBmdW5jdGlvbiB1c2UgZGVmYXVsdCBwYXJhbWV0ZXJzIHNvIHRoZXkgY2FuXG4vLyBiZSB1c2VkIGluIHRoZSBzYW1lIHdheSBieSBjbGllbnRzLlxuQG1peGluIG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbihcbiAgICAkZHVyYXRpb246ICRtYXQtZWxldmF0aW9uLXRyYW5zaXRpb24tZHVyYXRpb24sXG4gICAgJGVhc2luZzogJG1hdC1lbGV2YXRpb24tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pIHtcbiAgdHJhbnNpdGlvbjogbWF0LWVsZXZhdGlvbi10cmFuc2l0aW9uLXByb3BlcnR5LXZhbHVlKCRkdXJhdGlvbiwgJGVhc2luZyk7XG59XG5cblxuQG1peGluIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigkelZhbHVlLCAkY29uZmlnLCAkb3BhY2l0eTogJG1hdC1lbGV2YXRpb24tb3BhY2l0eSkge1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGVsZXZhdGlvbi1jb2xvcjogbWFwLWdldCgkZm9yZWdyb3VuZCwgZWxldmF0aW9uKTtcbiAgJGVsZXZhdGlvbi1jb2xvci1vci1kZWZhdWx0OiBpZigkZWxldmF0aW9uLWNvbG9yID09IG51bGwsICRtYXQtZWxldmF0aW9uLWNvbG9yLCAkZWxldmF0aW9uLWNvbG9yKTtcblxuICBAaW5jbHVkZSBtYXQtZWxldmF0aW9uKCR6VmFsdWUsICRlbGV2YXRpb24tY29sb3Itb3ItZGVmYXVsdCwgJG9wYWNpdHkpO1xufVxuXG5AbWl4aW4gbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKCR6VmFsdWUsICRjb25maWcsICRvcGFjaXR5OiAkbWF0LWVsZXZhdGlvbi1vcGFjaXR5KSB7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkZWxldmF0aW9uLWNvbG9yOiBtYXAtZ2V0KCRmb3JlZ3JvdW5kLCBlbGV2YXRpb24pO1xuICAkZWxldmF0aW9uLWNvbG9yLW9yLWRlZmF1bHQ6IGlmKCRlbGV2YXRpb24tY29sb3IgPT0gbnVsbCwgJG1hdC1lbGV2YXRpb24tY29sb3IsICRlbGV2YXRpb24tY29sb3IpO1xuXG4gIEBpbmNsdWRlIG1hdC1vdmVycmlkYWJsZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGVsZXZhdGlvbi1jb2xvci1vci1kZWZhdWx0LCAkb3BhY2l0eSk7XG59XG5cbi8vIElmIHRoZSBtYXQtYW5pbWF0aW9uLW5vb3AgY2xhc3MgaXMgcHJlc2VudCBvbiB0aGUgY29tcG9uZW50cyByb290IGVsZW1lbnQsXG4vLyBwcmV2ZW50IG5vbiBjc3MgYW5pbWF0aW9ucyBmcm9tIHJ1bm5pbmcuXG4vLyBOT1RFOiBDdXJyZW50bHkgdGhpcyBtaXhpbiBzaG91bGQgb25seSBiZSB1c2VkIHdpdGggY29tcG9uZW50cyB0aGF0IGRvIG5vdFxuLy8gaGF2ZSBhbnkgcHJvamVjdGVkIGNvbnRlbnQuXG5AbWl4aW4gbWF0LXByaXZhdGUtYW5pbWF0aW9uLW5vb3AoKSB7XG4gIC8vIEBhdC1yb290IGlzIHVzZWQgdG8gc3RlcHMgb3V0c2lkZSBvZiB0aGUgaGllcmFyY2h5IG9mIHRoZSBzY3NzIHJ1bGVzLiBUaGlzIGlzXG4gIC8vIGRvbmUgdG8gYWxsb3cgYSBjbGFzcyB0byBiZSBhZGRlZCB0byBiZSBhZGRlZCB0byBiYXNlIG9mIHRoZSBzY3NzIG5lc3RpbmdcbiAgLy8gY29udGV4dC5cbiAgLy8gRm9yIGV4YW1wbGU6XG4gIC8vIC5teS1yb290IHtcbiAgLy8gICAubXktc3ViY2xhc3Mge1xuICAvLyAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWFuaW1hdGlvbi1ub29wKCk7XG4gIC8vICAgIH1cbiAgLy8gfVxuICAvLyByZXN1bHRzIGluOlxuICAvLyAuX21hdC1hbmltYXRpb24tbm9vcGFibGUubXktcm9vdCAubXktc3ViY2xhc3MgeyAuLi4gfVxuICBAYXQtcm9vdCAuX21hdC1hbmltYXRpb24tbm9vcGFibGUjeyZ9IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBDb2xvciBwYWxldHRlcyBmcm9tIHRoZSBNYXRlcmlhbCBEZXNpZ24gc3BlYy5cbi8vIFNlZSBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb2xvci9cbi8vXG4vLyBDb250cmFzdCBjb2xvcnMgYXJlIGhhcmQtY29kZWQgYmVjYXVzZSBpdCBpcyB0b28gZGlmZmljdWx0IChwcm9iYWJseSBpbXBvc3NpYmxlKSB0b1xuLy8gY2FsY3VsYXRlIHRoZW0uIFRoZXNlIGNvbnRyYXN0IGNvbG9ycyBhcmUgcHVsbGVkIGZyb20gdGhlIHB1YmxpYyBNYXRlcmlhbCBEZXNpZ24gc3BlYyBzd2F0Y2hlcy5cbi8vIFdoaWxlIHRoZSBjb250cmFzdCBjb2xvcnMgaW4gdGhlIHNwZWMgYXJlIG5vdCBwcmVzY3JpcHRpdmUsIHdlIHVzZSB0aGVtIGZvciBjb252ZW5pZW5jZS5cblxuXG4vLyBAZGVwcmVjYXRlZCByZW5hbWVkIHRvICRkYXJrLXByaW1hcnktdGV4dC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiRibGFjay04Ny1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjg3KTtcbi8vIEBkZXByZWNhdGVkIHJlbmFtZWQgdG8gJGxpZ2h0LXByaW1hcnktdGV4dC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiR3aGl0ZS04Ny1vcGFjaXR5OiByZ2JhKHdoaXRlLCAwLjg3KTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkZGFyay1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJGJsYWNrLTEyLW9wYWNpdHk6IHJnYmEoYmxhY2ssIDAuMTIpO1xuLy8gQGRlcHJlY2F0ZWQgdXNlICRsaWdodC1bc2Vjb25kYXJ5LXRleHQsZGlzYWJsZWQtdGV4dCxkaXZpZGVycyxmb2N1c2VkXSBpbnN0ZWFkLlxuLy8gQGJyZWFraW5nLWNoYW5nZSA4LjAuMFxuJHdoaXRlLTEyLW9wYWNpdHk6IHJnYmEod2hpdGUsIDAuMTIpO1xuLy8gQGRlcHJlY2F0ZWQgdXNlICRkYXJrLVtzZWNvbmRhcnktdGV4dCxkaXNhYmxlZC10ZXh0LGRpdmlkZXJzLGZvY3VzZWRdIGluc3RlYWQuXG4vLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wXG4kYmxhY2stNi1vcGFjaXR5OiByZ2JhKGJsYWNrLCAwLjA2KTtcbi8vIEBkZXByZWNhdGVkIHVzZSAkbGlnaHQtW3NlY29uZGFyeS10ZXh0LGRpc2FibGVkLXRleHQsZGl2aWRlcnMsZm9jdXNlZF0gaW5zdGVhZC5cbi8vIEBicmVha2luZy1jaGFuZ2UgOC4wLjBcbiR3aGl0ZS02LW9wYWNpdHk6IHJnYmEod2hpdGUsIDAuMDYpO1xuXG4kZGFyay1wcmltYXJ5LXRleHQ6IHJnYmEoYmxhY2ssIDAuODcpO1xuJGRhcmstc2Vjb25kYXJ5LXRleHQ6IHJnYmEoYmxhY2ssIDAuNTQpO1xuJGRhcmstZGlzYWJsZWQtdGV4dDogcmdiYShibGFjaywgMC4zOCk7XG4kZGFyay1kaXZpZGVyczogcmdiYShibGFjaywgMC4xMik7XG4kZGFyay1mb2N1c2VkOiByZ2JhKGJsYWNrLCAwLjEyKTtcbiRsaWdodC1wcmltYXJ5LXRleHQ6IHdoaXRlO1xuJGxpZ2h0LXNlY29uZGFyeS10ZXh0OiByZ2JhKHdoaXRlLCAwLjcpO1xuJGxpZ2h0LWRpc2FibGVkLXRleHQ6IHJnYmEod2hpdGUsIDAuNSk7XG4kbGlnaHQtZGl2aWRlcnM6IHJnYmEod2hpdGUsIDAuMTIpO1xuJGxpZ2h0LWZvY3VzZWQ6IHJnYmEod2hpdGUsIDAuMTIpO1xuXG4kbWF0LXJlZDogKFxuICA1MDogI2ZmZWJlZSxcbiAgMTAwOiAjZmZjZGQyLFxuICAyMDA6ICNlZjlhOWEsXG4gIDMwMDogI2U1NzM3MyxcbiAgNDAwOiAjZWY1MzUwLFxuICA1MDA6ICNmNDQzMzYsXG4gIDYwMDogI2U1MzkzNSxcbiAgNzAwOiAjZDMyZjJmLFxuICA4MDA6ICNjNjI4MjgsXG4gIDkwMDogI2I3MWMxYyxcbiAgQTEwMDogI2ZmOGE4MCxcbiAgQTIwMDogI2ZmNTI1MixcbiAgQTQwMDogI2ZmMTc0NCxcbiAgQTcwMDogI2Q1MDAwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LXBpbms6IChcbiAgNTA6ICNmY2U0ZWMsXG4gIDEwMDogI2Y4YmJkMCxcbiAgMjAwOiAjZjQ4ZmIxLFxuICAzMDA6ICNmMDYyOTIsXG4gIDQwMDogI2VjNDA3YSxcbiAgNTAwOiAjZTkxZTYzLFxuICA2MDA6ICNkODFiNjAsXG4gIDcwMDogI2MyMTg1YixcbiAgODAwOiAjYWQxNDU3LFxuICA5MDA6ICM4ODBlNGYsXG4gIEExMDA6ICNmZjgwYWIsXG4gIEEyMDA6ICNmZjQwODEsXG4gIEE0MDA6ICNmNTAwNTcsXG4gIEE3MDA6ICNjNTExNjIsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1wdXJwbGU6IChcbiAgNTA6ICNmM2U1ZjUsXG4gIDEwMDogI2UxYmVlNyxcbiAgMjAwOiAjY2U5M2Q4LFxuICAzMDA6ICNiYTY4YzgsXG4gIDQwMDogI2FiNDdiYyxcbiAgNTAwOiAjOWMyN2IwLFxuICA2MDA6ICM4ZTI0YWEsXG4gIDcwMDogIzdiMWZhMixcbiAgODAwOiAjNmExYjlhLFxuICA5MDA6ICM0YTE0OGMsXG4gIEExMDA6ICNlYTgwZmMsXG4gIEEyMDA6ICNlMDQwZmIsXG4gIEE0MDA6ICNkNTAwZjksXG4gIEE3MDA6ICNhYTAwZmYsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWRlZXAtcHVycGxlOiAoXG4gIDUwOiAjZWRlN2Y2LFxuICAxMDA6ICNkMWM0ZTksXG4gIDIwMDogI2IzOWRkYixcbiAgMzAwOiAjOTU3NWNkLFxuICA0MDA6ICM3ZTU3YzIsXG4gIDUwMDogIzY3M2FiNyxcbiAgNjAwOiAjNWUzNWIxLFxuICA3MDA6ICM1MTJkYTgsXG4gIDgwMDogIzQ1MjdhMCxcbiAgOTAwOiAjMzExYjkyLFxuICBBMTAwOiAjYjM4OGZmLFxuICBBMjAwOiAjN2M0ZGZmLFxuICBBNDAwOiAjNjUxZmZmLFxuICBBNzAwOiAjNjIwMGVhLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1pbmRpZ286IChcbiAgNTA6ICNlOGVhZjYsXG4gIDEwMDogI2M1Y2FlOSxcbiAgMjAwOiAjOWZhOGRhLFxuICAzMDA6ICM3OTg2Y2IsXG4gIDQwMDogIzVjNmJjMCxcbiAgNTAwOiAjM2Y1MWI1LFxuICA2MDA6ICMzOTQ5YWIsXG4gIDcwMDogIzMwM2Y5ZixcbiAgODAwOiAjMjgzNTkzLFxuICA5MDA6ICMxYTIzN2UsXG4gIEExMDA6ICM4YzllZmYsXG4gIEEyMDA6ICM1MzZkZmUsXG4gIEE0MDA6ICMzZDVhZmUsXG4gIEE3MDA6ICMzMDRmZmUsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWJsdWU6IChcbiAgNTA6ICNlM2YyZmQsXG4gIDEwMDogI2JiZGVmYixcbiAgMjAwOiAjOTBjYWY5LFxuICAzMDA6ICM2NGI1ZjYsXG4gIDQwMDogIzQyYTVmNSxcbiAgNTAwOiAjMjE5NmYzLFxuICA2MDA6ICMxZTg4ZTUsXG4gIDcwMDogIzE5NzZkMixcbiAgODAwOiAjMTU2NWMwLFxuICA5MDA6ICMwZDQ3YTEsXG4gIEExMDA6ICM4MmIxZmYsXG4gIEEyMDA6ICM0NDhhZmYsXG4gIEE0MDA6ICMyOTc5ZmYsXG4gIEE3MDA6ICMyOTYyZmYsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1saWdodC1ibHVlOiAoXG4gIDUwOiAjZTFmNWZlLFxuICAxMDA6ICNiM2U1ZmMsXG4gIDIwMDogIzgxZDRmYSxcbiAgMzAwOiAjNGZjM2Y3LFxuICA0MDA6ICMyOWI2ZjYsXG4gIDUwMDogIzAzYTlmNCxcbiAgNjAwOiAjMDM5YmU1LFxuICA3MDA6ICMwMjg4ZDEsXG4gIDgwMDogIzAyNzdiZCxcbiAgOTAwOiAjMDE1NzliLFxuICBBMTAwOiAjODBkOGZmLFxuICBBMjAwOiAjNDBjNGZmLFxuICBBNDAwOiAjMDBiMGZmLFxuICBBNzAwOiAjMDA5MWVhLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWN5YW46IChcbiAgNTA6ICNlMGY3ZmEsXG4gIDEwMDogI2IyZWJmMixcbiAgMjAwOiAjODBkZWVhLFxuICAzMDA6ICM0ZGQwZTEsXG4gIDQwMDogIzI2YzZkYSxcbiAgNTAwOiAjMDBiY2Q0LFxuICA2MDA6ICMwMGFjYzEsXG4gIDcwMDogIzAwOTdhNyxcbiAgODAwOiAjMDA4MzhmLFxuICA5MDA6ICMwMDYwNjQsXG4gIEExMDA6ICM4NGZmZmYsXG4gIEEyMDA6ICMxOGZmZmYsXG4gIEE0MDA6ICMwMGU1ZmYsXG4gIEE3MDA6ICMwMGI4ZDQsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC10ZWFsOiAoXG4gIDUwOiAjZTBmMmYxLFxuICAxMDA6ICNiMmRmZGIsXG4gIDIwMDogIzgwY2JjNCxcbiAgMzAwOiAjNGRiNmFjLFxuICA0MDA6ICMyNmE2OWEsXG4gIDUwMDogIzAwOTY4OCxcbiAgNjAwOiAjMDA4OTdiLFxuICA3MDA6ICMwMDc5NmIsXG4gIDgwMDogIzAwNjk1YyxcbiAgOTAwOiAjMDA0ZDQwLFxuICBBMTAwOiAjYTdmZmViLFxuICBBMjAwOiAjNjRmZmRhLFxuICBBNDAwOiAjMWRlOWI2LFxuICBBNzAwOiAjMDBiZmE1LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbiRtYXQtZ3JlZW46IChcbiAgNTA6ICNlOGY1ZTksXG4gIDEwMDogI2M4ZTZjOSxcbiAgMjAwOiAjYTVkNmE3LFxuICAzMDA6ICM4MWM3ODQsXG4gIDQwMDogIzY2YmI2YSxcbiAgNTAwOiAjNGNhZjUwLFxuICA2MDA6ICM0M2EwNDcsXG4gIDcwMDogIzM4OGUzYyxcbiAgODAwOiAjMmU3ZDMyLFxuICA5MDA6ICMxYjVlMjAsXG4gIEExMDA6ICNiOWY2Y2EsXG4gIEEyMDA6ICM2OWYwYWUsXG4gIEE0MDA6ICMwMGU2NzYsXG4gIEE3MDA6ICMwMGM4NTMsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWxpZ2h0LWdyZWVuOiAoXG4gIDUwOiAjZjFmOGU5LFxuICAxMDA6ICNkY2VkYzgsXG4gIDIwMDogI2M1ZTFhNSxcbiAgMzAwOiAjYWVkNTgxLFxuICA0MDA6ICM5Y2NjNjUsXG4gIDUwMDogIzhiYzM0YSxcbiAgNjAwOiAjN2NiMzQyLFxuICA3MDA6ICM2ODlmMzgsXG4gIDgwMDogIzU1OGIyZixcbiAgOTAwOiAjMzM2OTFlLFxuICBBMTAwOiAjY2NmZjkwLFxuICBBMjAwOiAjYjJmZjU5LFxuICBBNDAwOiAjNzZmZjAzLFxuICBBNzAwOiAjNjRkZDE3LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LWxpbWU6IChcbiAgNTA6ICNmOWZiZTcsXG4gIDEwMDogI2YwZjRjMyxcbiAgMjAwOiAjZTZlZTljLFxuICAzMDA6ICNkY2U3NzUsXG4gIDQwMDogI2Q0ZTE1NyxcbiAgNTAwOiAjY2RkYzM5LFxuICA2MDA6ICNjMGNhMzMsXG4gIDcwMDogI2FmYjQyYixcbiAgODAwOiAjOWU5ZDI0LFxuICA5MDA6ICM4Mjc3MTcsXG4gIEExMDA6ICNmNGZmODEsXG4gIEEyMDA6ICNlZWZmNDEsXG4gIEE0MDA6ICNjNmZmMDAsXG4gIEE3MDA6ICNhZWVhMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA5MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEEyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICApXG4pO1xuXG4kbWF0LXllbGxvdzogKFxuICA1MDogI2ZmZmRlNyxcbiAgMTAwOiAjZmZmOWM0LFxuICAyMDA6ICNmZmY1OWQsXG4gIDMwMDogI2ZmZjE3NixcbiAgNDAwOiAjZmZlZTU4LFxuICA1MDA6ICNmZmViM2IsXG4gIDYwMDogI2ZkZDgzNSxcbiAgNzAwOiAjZmJjMDJkLFxuICA4MDA6ICNmOWE4MjUsXG4gIDkwMDogI2Y1N2YxNyxcbiAgQTEwMDogI2ZmZmY4ZCxcbiAgQTIwMDogI2ZmZmYwMCxcbiAgQTQwMDogI2ZmZWEwMCxcbiAgQTcwMDogI2ZmZDYwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1hbWJlcjogKFxuICA1MDogI2ZmZjhlMSxcbiAgMTAwOiAjZmZlY2IzLFxuICAyMDA6ICNmZmUwODIsXG4gIDMwMDogI2ZmZDU0ZixcbiAgNDAwOiAjZmZjYTI4LFxuICA1MDA6ICNmZmMxMDcsXG4gIDYwMDogI2ZmYjMwMCxcbiAgNzAwOiAjZmZhMDAwLFxuICA4MDA6ICNmZjhmMDAsXG4gIDkwMDogI2ZmNmYwMCxcbiAgQTEwMDogI2ZmZTU3ZixcbiAgQTIwMDogI2ZmZDc0MCxcbiAgQTQwMDogI2ZmYzQwMCxcbiAgQTcwMDogI2ZmYWIwMCxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDUwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDgwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1vcmFuZ2U6IChcbiAgNTA6ICNmZmYzZTAsXG4gIDEwMDogI2ZmZTBiMixcbiAgMjAwOiAjZmZjYzgwLFxuICAzMDA6ICNmZmI3NGQsXG4gIDQwMDogI2ZmYTcyNixcbiAgNTAwOiAjZmY5ODAwLFxuICA2MDA6ICNmYjhjMDAsXG4gIDcwMDogI2Y1N2MwMCxcbiAgODAwOiAjZWY2YzAwLFxuICA5MDA6ICNlNjUxMDAsXG4gIEExMDA6ICNmZmQxODAsXG4gIEEyMDA6ICNmZmFiNDAsXG4gIEE0MDA6ICNmZjkxMDAsXG4gIEE3MDA6ICNmZjZkMDAsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA2MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6IGJsYWNrLFxuICApXG4pO1xuXG4kbWF0LWRlZXAtb3JhbmdlOiAoXG4gIDUwOiAjZmJlOWU3LFxuICAxMDA6ICNmZmNjYmMsXG4gIDIwMDogI2ZmYWI5MSxcbiAgMzAwOiAjZmY4YTY1LFxuICA0MDA6ICNmZjcwNDMsXG4gIDUwMDogI2ZmNTcyMixcbiAgNjAwOiAjZjQ1MTFlLFxuICA3MDA6ICNlNjRhMTksXG4gIDgwMDogI2Q4NDMxNSxcbiAgOTAwOiAjYmYzNjBjLFxuICBBMTAwOiAjZmY5ZTgwLFxuICBBMjAwOiAjZmY2ZTQwLFxuICBBNDAwOiAjZmYzZDAwLFxuICBBNzAwOiAjZGQyYzAwLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1icm93bjogKFxuICA1MDogI2VmZWJlOSxcbiAgMTAwOiAjZDdjY2M4LFxuICAyMDA6ICNiY2FhYTQsXG4gIDMwMDogI2ExODg3ZixcbiAgNDAwOiAjOGQ2ZTYzLFxuICA1MDA6ICM3OTU1NDgsXG4gIDYwMDogIzZkNGM0MSxcbiAgNzAwOiAjNWQ0MDM3LFxuICA4MDA6ICM0ZTM0MmUsXG4gIDkwMDogIzNlMjcyMyxcbiAgQTEwMDogI2Q3Y2NjOCxcbiAgQTIwMDogI2JjYWFhNCxcbiAgQTQwMDogIzhkNmU2MyxcbiAgQTcwMDogIzVkNDAzNyxcbiAgY29udHJhc3Q6IChcbiAgICA1MDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDEwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIDMwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJG1hdC1ncmV5OiAoXG4gIDUwOiAjZmFmYWZhLFxuICAxMDA6ICNmNWY1ZjUsXG4gIDIwMDogI2VlZWVlZSxcbiAgMzAwOiAjZTBlMGUwLFxuICA0MDA6ICNiZGJkYmQsXG4gIDUwMDogIzllOWU5ZSxcbiAgNjAwOiAjNzU3NTc1LFxuICA3MDA6ICM2MTYxNjEsXG4gIDgwMDogIzQyNDI0MixcbiAgOTAwOiAjMjEyMTIxLFxuICBBMTAwOiAjZmZmZmZmLFxuICBBMjAwOiAjZWVlZWVlLFxuICBBNDAwOiAjYmRiZGJkLFxuICBBNzAwOiAjNjE2MTYxLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNDAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTQwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gIClcbik7XG5cbi8vIEFsaWFzIGZvciBhbHRlcm5hdGUgc3BlbGxpbmcuXG4kbWF0LWdyYXk6ICRtYXQtZ3JleTtcblxuJG1hdC1ibHVlLWdyZXk6IChcbiAgNTA6ICNlY2VmZjEsXG4gIDEwMDogI2NmZDhkYyxcbiAgMjAwOiAjYjBiZWM1LFxuICAzMDA6ICM5MGE0YWUsXG4gIDQwMDogIzc4OTA5YyxcbiAgNTAwOiAjNjA3ZDhiLFxuICA2MDA6ICM1NDZlN2EsXG4gIDcwMDogIzQ1NWE2NCxcbiAgODAwOiAjMzc0NzRmLFxuICA5MDA6ICMyNjMyMzgsXG4gIEExMDA6ICNjZmQ4ZGMsXG4gIEEyMDA6ICNiMGJlYzUsXG4gIEE0MDA6ICM3ODkwOWMsXG4gIEE3MDA6ICM0NTVhNjQsXG4gIGNvbnRyYXN0OiAoXG4gICAgNTA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAxMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAyMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICAzMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICA0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDYwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA3MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgODAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDkwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICBBMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgQTIwMDogJGRhcmstcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuLy8gQWxpYXMgZm9yIGFsdGVybmF0ZSBzcGVsbGluZy5cbiRtYXQtYmx1ZS1ncmF5OiAkbWF0LWJsdWUtZ3JleTtcblxuXG4vLyBCYWNrZ3JvdW5kIHBhbGV0dGUgZm9yIGxpZ2h0IHRoZW1lcy5cbiRtYXQtbGlnaHQtdGhlbWUtYmFja2dyb3VuZDogKFxuICBzdGF0dXMtYmFyOiBtYXAtZ2V0KCRtYXQtZ3JleSwgMzAwKSxcbiAgYXBwLWJhcjogICAgbWFwLWdldCgkbWF0LWdyZXksIDEwMCksXG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJG1hdC1ncmV5LCA1MCksXG4gIGhvdmVyOiAgICAgIHJnYmEoYmxhY2ssIDAuMDQpLCAvLyBUT0RPKGthcmEpOiBjaGVjayBzdHlsZSB3aXRoIE1hdGVyaWFsIERlc2lnbiBVWFxuICBjYXJkOiAgICAgICB3aGl0ZSxcbiAgZGlhbG9nOiAgICAgd2hpdGUsXG4gIGRpc2FibGVkLWJ1dHRvbjogcmdiYShibGFjaywgMC4xMiksXG4gIHJhaXNlZC1idXR0b246IHdoaXRlLFxuICBmb2N1c2VkLWJ1dHRvbjogJGRhcmstZm9jdXNlZCxcbiAgc2VsZWN0ZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgMzAwKSxcbiAgc2VsZWN0ZWQtZGlzYWJsZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNDAwKSxcbiAgZGlzYWJsZWQtYnV0dG9uLXRvZ2dsZTogbWFwLWdldCgkbWF0LWdyZXksIDIwMCksXG4gIHVuc2VsZWN0ZWQtY2hpcDogbWFwLWdldCgkbWF0LWdyZXksIDMwMCksXG4gIGRpc2FibGVkLWxpc3Qtb3B0aW9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgMjAwKSxcbiAgdG9vbHRpcDogbWFwLWdldCgkbWF0LWdyZXksIDcwMCksXG4pO1xuXG4vLyBCYWNrZ3JvdW5kIHBhbGV0dGUgZm9yIGRhcmsgdGhlbWVzLlxuJG1hdC1kYXJrLXRoZW1lLWJhY2tncm91bmQ6IChcbiAgc3RhdHVzLWJhcjogYmxhY2ssXG4gIGFwcC1iYXI6ICAgIG1hcC1nZXQoJG1hdC1ncmV5LCA5MDApLFxuICBiYWNrZ3JvdW5kOiAjMzAzMDMwLFxuICBob3ZlcjogICAgICByZ2JhKHdoaXRlLCAwLjA0KSwgLy8gVE9ETyhrYXJhKTogY2hlY2sgc3R5bGUgd2l0aCBNYXRlcmlhbCBEZXNpZ24gVVhcbiAgY2FyZDogICAgICAgbWFwLWdldCgkbWF0LWdyZXksIDgwMCksXG4gIGRpYWxvZzogICAgIG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBkaXNhYmxlZC1idXR0b246IHJnYmEod2hpdGUsIDAuMTIpLFxuICByYWlzZWQtYnV0dG9uOiBtYXAtZ2V0KCRtYXQtZ3JleSwgODAwKSxcbiAgZm9jdXNlZC1idXR0b246ICRsaWdodC1mb2N1c2VkLFxuICBzZWxlY3RlZC1idXR0b246IG1hcC1nZXQoJG1hdC1ncmV5LCA5MDApLFxuICBzZWxlY3RlZC1kaXNhYmxlZC1idXR0b246IG1hcC1nZXQoJG1hdC1ncmV5LCA4MDApLFxuICBkaXNhYmxlZC1idXR0b24tdG9nZ2xlOiBibGFjayxcbiAgdW5zZWxlY3RlZC1jaGlwOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNzAwKSxcbiAgZGlzYWJsZWQtbGlzdC1vcHRpb246IGJsYWNrLFxuICB0b29sdGlwOiBtYXAtZ2V0KCRtYXQtZ3JleSwgNzAwKSxcbik7XG5cbi8vIEZvcmVncm91bmQgcGFsZXR0ZSBmb3IgbGlnaHQgdGhlbWVzLlxuJG1hdC1saWdodC10aGVtZS1mb3JlZ3JvdW5kOiAoXG4gIGJhc2U6ICAgICAgICAgICAgICBibGFjayxcbiAgZGl2aWRlcjogICAgICAgICAgICRkYXJrLWRpdmlkZXJzLFxuICBkaXZpZGVyczogICAgICAgICAgJGRhcmstZGl2aWRlcnMsXG4gIGRpc2FibGVkOiAgICAgICAgICAkZGFyay1kaXNhYmxlZC10ZXh0LFxuICBkaXNhYmxlZC1idXR0b246ICAgcmdiYShibGFjaywgMC4yNiksXG4gIGRpc2FibGVkLXRleHQ6ICAgICAkZGFyay1kaXNhYmxlZC10ZXh0LFxuICBlbGV2YXRpb246ICAgICAgICAgYmxhY2ssXG4gIGhpbnQtdGV4dDogICAgICAgICAkZGFyay1kaXNhYmxlZC10ZXh0LFxuICBzZWNvbmRhcnktdGV4dDogICAgJGRhcmstc2Vjb25kYXJ5LXRleHQsXG4gIGljb246ICAgICAgICAgICAgICByZ2JhKGJsYWNrLCAwLjU0KSxcbiAgaWNvbnM6ICAgICAgICAgICAgIHJnYmEoYmxhY2ssIDAuNTQpLFxuICB0ZXh0OiAgICAgICAgICAgICAgcmdiYShibGFjaywgMC44NyksXG4gIHNsaWRlci1taW46ICAgICAgICByZ2JhKGJsYWNrLCAwLjg3KSxcbiAgc2xpZGVyLW9mZjogICAgICAgIHJnYmEoYmxhY2ssIDAuMjYpLFxuICBzbGlkZXItb2ZmLWFjdGl2ZTogcmdiYShibGFjaywgMC4zOCksXG4pO1xuXG4vLyBGb3JlZ3JvdW5kIHBhbGV0dGUgZm9yIGRhcmsgdGhlbWVzLlxuJG1hdC1kYXJrLXRoZW1lLWZvcmVncm91bmQ6IChcbiAgYmFzZTogICAgICAgICAgICAgIHdoaXRlLFxuICBkaXZpZGVyOiAgICAgICAgICAgJGxpZ2h0LWRpdmlkZXJzLFxuICBkaXZpZGVyczogICAgICAgICAgJGxpZ2h0LWRpdmlkZXJzLFxuICBkaXNhYmxlZDogICAgICAgICAgJGxpZ2h0LWRpc2FibGVkLXRleHQsXG4gIGRpc2FibGVkLWJ1dHRvbjogICByZ2JhKHdoaXRlLCAwLjMpLFxuICBkaXNhYmxlZC10ZXh0OiAgICAgJGxpZ2h0LWRpc2FibGVkLXRleHQsXG4gIGVsZXZhdGlvbjogICAgICAgICBibGFjayxcbiAgaGludC10ZXh0OiAgICAgICAgICRsaWdodC1kaXNhYmxlZC10ZXh0LFxuICBzZWNvbmRhcnktdGV4dDogICAgJGxpZ2h0LXNlY29uZGFyeS10ZXh0LFxuICBpY29uOiAgICAgICAgICAgICAgd2hpdGUsXG4gIGljb25zOiAgICAgICAgICAgICB3aGl0ZSxcbiAgdGV4dDogICAgICAgICAgICAgIHdoaXRlLFxuICBzbGlkZXItbWluOiAgICAgICAgd2hpdGUsXG4gIHNsaWRlci1vZmY6ICAgICAgICByZ2JhKHdoaXRlLCAwLjMpLFxuICBzbGlkZXItb2ZmLWFjdGl2ZTogcmdiYSh3aGl0ZSwgMC4zKSxcbik7XG5cbi8vIE5vdGUgdGhhdCB0aGlzIGZpbGUgaXMgY2FsbGVkIGBwcml2YXRlYCwgYmVjYXVzZSB0aGUgQVBJcyBpbiBpdCBhcmVuJ3QgcHVibGljIHlldC5cbi8vIE9uY2UgdGhleSdyZSBtYWRlIGF2YWlsYWJsZSwgdGhlIGNvZGUgc2hvdWxkIGJlIG1vdmVkIG91dCBpbnRvIGFuIGBpbmRleC5zY3NzYC5cblxuLy8gVGFrZW4gZnJvbSBtYXQtZGVuc2l0eSB3aXRoIHNtYWxsIG1vZGlmaWNhdGlvbnMgdG8gbm90IHJlbHkgb24gdGhlIG5ldyBTYXNzIG1vZHVsZVxuLy8gc3lzdGVtLCBhbmQgdG8gc3VwcG9ydCBhcmJpdHJhcnkgcHJvcGVydGllcyBpbiBhIGRlbnNpdHkgY29uZmlndXJhdGlvbi5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXRlcmlhbC1jb21wb25lbnRzL21hdGVyaWFsLWNvbXBvbmVudHMtd2ViL2Jsb2IvbWFzdGVyL3BhY2thZ2VzL21kYy1kZW5zaXR5XG5cbiRfbWF0LWRlbnNpdHktaW50ZXJ2YWw6IDRweCAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktbWluaW11bS1zY2FsZTogbWluaW11bSAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktbWF4aW11bS1zY2FsZTogbWF4aW11bSAhZGVmYXVsdDtcbiRfbWF0LWRlbnNpdHktc3VwcG9ydGVkLXNjYWxlczogKGRlZmF1bHQsIG1pbmltdW0sIG1heGltdW0pICFkZWZhdWx0O1xuJF9tYXQtZGVuc2l0eS1kZWZhdWx0LXNjYWxlOiAwICFkZWZhdWx0O1xuXG4vLyBXaGV0aGVyIGRlbnNpdHkgc2hvdWxkIGJlIGdlbmVyYXRlZCBhdCByb290LiBUaGlzIHdpbGwgYmUgdGVtcG9yYXJpbHkgc2V0IHRvIGB0cnVlYFxuLy8gd2hlbmV2ZXIgZGVuc2l0eSBzdHlsZXMgZm9yIGxlZ2FjeSB0aGVtZXMgYXJlIGdlbmVyYXRlZC5cbiRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLWF0LXJvb3Q6IGZhbHNlO1xuLy8gV2hldGhlciBkZW5zaXR5IHN0eWxlcyBzaG91bGQgYmUgZ2VuZXJhdGVkLiBUaGlzIHdpbGwgYmUgdGVtcG9yYXJpbHkgc2V0IHRvIGBmYWxzZWAgaWZcbi8vIGR1cGxpY2F0ZSBkZW5zaXR5IHN0eWxlcyBmb3IgYSBsZWdhY3kgdGhlbWUgd291bGQgYmUgZ2VuZXJhdGVkLiBGb3IgbGVnYWN5IHRoZW1lcyxcbi8vIHdlIGFsd2F5cyBnZW5lcmF0ZSB0aGUgZGVmYXVsdCBkZW5zaXR5ICoqb25seSBvbmNlKiogYXQgcm9vdC5cbiRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlczogdHJ1ZTtcblxuLy8gTWl4aW4gdGhhdCBjYW4gYmUgdXNlZCB0byB3cmFwIGRlbnNpdHkgc3R5bGVzIG9mIGdpdmVuIGNvbXBvbmVudHMuIFRoZSBtaXhpbiB3aWxsXG4vLyBtb3ZlIHRoZSBkZW5zaXR5IHN0eWxlcyB0byByb290IGlmIHRoZSBgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdGAgZ2xvYmFsIHZhcmlhYmxlXG4vLyBpcyBzZXQuIElmIGAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXNgIGlzIHNldCB0byBgZmFsc2VgLCBnZW5lcmF0aW9uIG9mIGRlbnNpdHlcbi8vIHN0eWxlcyB3cmFwcGVkIGluIHRoaXMgbWl4aW4gaXMgc2tpcHBlZC4gVGhpcyBtaXhpbiBleGlzdHMgdG8gaW1wcm92ZSBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuLy8gb2YgdGhlIG5ldyB0aGVtaW5nIEFQSSB3aGVyZSBkZW5zaXR5IHN0eWxlcyBhcmUgaW5jbHVkZWQgYXMgcGFydCBvZiB0aGVtZXMuIFByZXZpb3VzbHksXG4vLyBkZW5zaXR5IHN0eWxlcyBvZiBjb21wb25lbnRzIHdlcmUgcGFydCBvZiB0aGVpciBiYXNlIHN0eWxlcy4gV2l0aCB0aGUgbmV3IEFQSSwgdGhleSBhcmVcbi8vIHBhcnQgb2YgdGhlIHRoZW1pbmcgc3lzdGVtLiBUaGUgYDwuLj4tdGhlbWVgIG1peGlucyBnZW5lcmF0ZSBkZW5zaXR5IGJ5IGRlZmF1bHQgdW5sZXNzXG4vLyB0aGUgZGVuc2l0eSBjb25maWd1cmF0aW9uIGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkIGFzIHBlciBuZXcgQVBJLiBUaGlzIG1lYW5zLCB0aGF0IHByb2plY3RzXG4vLyB1c2luZyBgPC4uPi10aGVtZWAgbWl4aW5zIGZvciBzZXBhcmF0ZSB0aGVtZXMgKGxpa2UgYC5kYXJrLXRoZW1lYCkgd2lsbCBjYXVzZSBkdXBsaWNhdGVcbi8vIGRlbnNpdHkgc3R5bGVzLiBUaGlzIGlzIGJyZWFraW5nIGFzIGl0IGluY3JlYXNlcyBzcGVjaWZpY2l0eSBvZiBkZW5zaXR5IHN0eWxlcy4gVGhpcyBtaXhpblxuLy8gcHJvdmlkZXMgYW4gQVBJIHRvIGNvbnRyb2wgZ2VuZXJhdGlvbiBvZiBkZW5zaXR5IHN0eWxlcyBzbyB0aGF0IHdlIGNhbiBlbnN1cmUgdGhleSBhcmUgb25seVxuLy8gY3JlYXRlZCAqb25jZSogYW5kIGF0IHJvb3QuXG5AbWl4aW4gbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgQGlmICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlcyBhbmQgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdCB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRtYXQtcHJpdmF0ZS1kZW5zaXR5LWdlbmVyYXRlLXN0eWxlcyB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCAkcHJvcGVydHktbmFtZSkge1xuICBAaWYgKHR5cGUtb2YoJGRlbnNpdHktc2NhbGUpID09ICdzdHJpbmcnIGFuZFxuICAgICAgaW5kZXgoJGxpc3Q6ICRfbWF0LWRlbnNpdHktc3VwcG9ydGVkLXNjYWxlcywgJHZhbHVlOiAkZGVuc2l0eS1zY2FsZSkgPT0gbnVsbCkge1xuICAgIEBlcnJvciAnbWF0LWRlbnNpdHk6IFN1cHBvcnRlZCBkZW5zaXR5IHNjYWxlcyAjeyRfbWF0LWRlbnNpdHktc3VwcG9ydGVkLXNjYWxlc30sICcgICtcbiAgICAgICdidXQgcmVjZWl2ZWQgI3skZGVuc2l0eS1zY2FsZX0uJztcbiAgfVxuXG4gICR2YWx1ZTogbnVsbDtcbiAgJHByb3BlcnR5LXNjYWxlLW1hcDogbWFwLWdldCgkZGVuc2l0eS1jb25maWcsICRwcm9wZXJ0eS1uYW1lKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJHByb3BlcnR5LXNjYWxlLW1hcCwgJGRlbnNpdHktc2NhbGUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJHByb3BlcnR5LXNjYWxlLW1hcCwgJGRlbnNpdHktc2NhbGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJHByb3BlcnR5LXNjYWxlLW1hcCwgZGVmYXVsdCkgKyAkZGVuc2l0eS1zY2FsZSAqICRfbWF0LWRlbnNpdHktaW50ZXJ2YWw7XG4gIH1cblxuICAkbWluLXZhbHVlOiBtYXAtZ2V0KCRwcm9wZXJ0eS1zY2FsZS1tYXAsICRfbWF0LWRlbnNpdHktbWluaW11bS1zY2FsZSk7XG4gICRtYXgtdmFsdWU6IG1hcC1nZXQoJHByb3BlcnR5LXNjYWxlLW1hcCwgJF9tYXQtZGVuc2l0eS1tYXhpbXVtLXNjYWxlKTtcblxuICBAaWYgKCR2YWx1ZSA8ICRtaW4tdmFsdWUgb3IgJHZhbHVlID4gJG1heC12YWx1ZSkge1xuICAgIEBlcnJvciAnbWF0LWRlbnNpdHk6ICN7JHByb3BlcnR5LW5hbWV9IG11c3QgYmUgYmV0d2VlbiAjeyRtaW4tdmFsdWV9IGFuZCAnICtcbiAgICAgICcjeyRtYXgtdmFsdWV9IChpbmNsdXNpdmUpLCBidXQgcmVjZWl2ZWQgI3skdmFsdWV9Lic7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cblxuXG4vLyBXaGV0aGVyIGR1cGxpY2F0aW9uIHdhcm5pbmdzIHNob3VsZCBiZSBkaXNhYmxlZC4gV2FybmluZ3MgZW5hYmxlZCBieSBkZWZhdWx0LlxuJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXaGV0aGVyIGRlbnNpdHkgc2hvdWxkIGJlIGdlbmVyYXRlZCBieSBkZWZhdWx0LlxuJF9tYXQtdGhlbWUtZ2VuZXJhdGUtZGVmYXVsdC1kZW5zaXR5OiB0cnVlICFkZWZhdWx0O1xuXG4vLyBXYXJuaW5nIHRoYXQgd2lsbCBiZSBwcmludGVkIGlmIGR1cGxpY2F0ZWQgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgYnkgYSB0aGVtZS5cbiRfbWF0LXRoZW1lLWR1cGxpY2F0ZS13YXJuaW5nOiAnUmVhZCBtb3JlIGFib3V0IGhvdyBzdHlsZSBkdXBsaWNhdGlvbiBjYW4gYmUgYXZvaWRlZCBpbiBhICcgK1xuICAnZGVkaWNhdGVkIGd1aWRlLiBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvbWFzdGVyL2d1aWRlcy9kdXBsaWNhdGUtdGhlbWluZy1zdHlsZXMubWQnO1xuXG4vLyBUaGVzZSB2YXJpYWJsZSBhcmUgbm90IGludGVuZGVkIHRvIGJlIG92ZXJyaWRkZW4gZXh0ZXJuYWxseS4gVGhleSB1c2UgYCFkZWZhdWx0YCB0b1xuLy8gYXZvaWQgYmVpbmcgcmVzZXQgZXZlcnkgdGltZSB0aGlzIGZpbGUgaXMgaW1wb3J0ZWQuXG4kX21hdC10aGVtZS1lbWl0dGVkLWNvbG9yOiAoKSAhZGVmYXVsdDtcbiRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeTogKCkgIWRlZmF1bHQ7XG4kX21hdC10aGVtZS1lbWl0dGVkLWRlbnNpdHk6ICgpICFkZWZhdWx0O1xuXG4vLyBGb3IgYSBnaXZlbiBodWUgaW4gYSBwYWxldHRlLCByZXR1cm4gdGhlIGNvbnRyYXN0IGNvbG9yIGZyb20gdGhlIG1hcCBvZiBjb250cmFzdCBwYWxldHRlcy5cbi8vIEBwYXJhbSAkcGFsZXR0ZVxuLy8gQHBhcmFtICRodWVcbkBmdW5jdGlvbiBtYXQtY29udHJhc3QoJHBhbGV0dGUsICRodWUpIHtcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJHBhbGV0dGUsIGNvbnRyYXN0KSwgJGh1ZSk7XG59XG5cblxuLy8gQ3JlYXRlcyBhIG1hcCBvZiBodWVzIHRvIGNvbG9ycyBmb3IgYSB0aGVtZS4gVGhpcyBpcyB1c2VkIHRvIGRlZmluZSBhIHRoZW1lIHBhbGV0dGUgaW4gdGVybXNcbi8vIG9mIHRoZSBNYXRlcmlhbCBEZXNpZ24gaHVlcy5cbi8vIEBwYXJhbSAkYmFzZS1wYWxldHRlXG4vLyBAcGFyYW0gJGRlZmF1bHRcbi8vIEBwYXJhbSAkbGlnaHRlclxuLy8gQHBhcmFtICRkYXJrZXJcbi8vIEBwYXJhbSAkdGV4dFxuQGZ1bmN0aW9uIG1hdC1wYWxldHRlKCRiYXNlLXBhbGV0dGUsICRkZWZhdWx0OiA1MDAsICRsaWdodGVyOiAxMDAsICRkYXJrZXI6IDcwMCwgJHRleHQ6ICRkZWZhdWx0KSB7XG4gICRyZXN1bHQ6IG1hcC1tZXJnZSgkYmFzZS1wYWxldHRlLCAoXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkZGVmYXVsdCksXG4gICAgbGlnaHRlcjogbWFwLWdldCgkYmFzZS1wYWxldHRlLCAkbGlnaHRlciksXG4gICAgZGFya2VyOiBtYXAtZ2V0KCRiYXNlLXBhbGV0dGUsICRkYXJrZXIpLFxuICAgIHRleHQ6IG1hcC1nZXQoJGJhc2UtcGFsZXR0ZSwgJHRleHQpLFxuXG4gICAgZGVmYXVsdC1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRkZWZhdWx0KSxcbiAgICBsaWdodGVyLWNvbnRyYXN0OiBtYXQtY29udHJhc3QoJGJhc2UtcGFsZXR0ZSwgJGxpZ2h0ZXIpLFxuICAgIGRhcmtlci1jb250cmFzdDogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRkYXJrZXIpXG4gICkpO1xuXG4gIC8vIEZvciBlYWNoIGh1ZSBpbiB0aGUgcGFsZXR0ZSwgYWRkIGEgXCItY29udHJhc3RcIiBjb2xvciB0byB0aGUgbWFwLlxuICBAZWFjaCAkaHVlLCAkY29sb3IgaW4gJGJhc2UtcGFsZXR0ZSB7XG4gICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsIChcbiAgICAgICcjeyRodWV9LWNvbnRyYXN0JzogbWF0LWNvbnRyYXN0KCRiYXNlLXBhbGV0dGUsICRodWUpXG4gICAgKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cblxuLy8gR2V0cyBhIGNvbG9yIGZyb20gYSB0aGVtZSBwYWxldHRlICh0aGUgb3V0cHV0IG9mIG1hdC1wYWxldHRlKS5cbi8vIFRoZSBodWUgY2FuIGJlIG9uZSBvZiB0aGUgc3RhbmRhcmQgdmFsdWVzICg1MDAsIEE0MDAsIGV0Yy4pLCBvbmUgb2YgdGhlIHRocmVlIHByZWNvbmZpZ3VyZWRcbi8vIGh1ZXMgKGRlZmF1bHQsIGxpZ2h0ZXIsIGRhcmtlciksIG9yIGFueSBvZiB0aGUgYWZvcmVtZW50aW9uZWQgcHJlZml4ZWQgd2l0aCBcIi1jb250cmFzdFwiLlxuLy9cbi8vIEBwYXJhbSAkcGFsZXR0ZSBUaGUgdGhlbWUgcGFsZXR0ZSAob3V0cHV0IG9mIG1hdC1wYWxldHRlKS5cbi8vIEBwYXJhbSAkaHVlIFRoZSBodWUgZnJvbSB0aGUgcGFsZXR0ZSB0byB1c2UuIElmIHRoaXMgaXMgYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEsIGl0IHdpbGxcbi8vICAgICBiZSB0cmVhdGVkIGFzIG9wYWNpdHkuXG4vLyBAcGFyYW0gJG9wYWNpdHkgVGhlIGFscGhhIGNoYW5uZWwgdmFsdWUgZm9yIHRoZSBjb2xvci5cbkBmdW5jdGlvbiBtYXQtY29sb3IoJHBhbGV0dGUsICRodWU6IGRlZmF1bHQsICRvcGFjaXR5OiBudWxsKSB7XG4gIC8vIElmIGh1ZUtleSBpcyBhIG51bWJlciBiZXR3ZWVuIHplcm8gYW5kIG9uZSwgdGhlbiBpdCBhY3R1YWxseSBjb250YWlucyBhblxuICAvLyBvcGFjaXR5IHZhbHVlLCBzbyByZWNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIHRoZSBkZWZhdWx0IGh1ZSBhbmQgdGhhdCBnaXZlbiBvcGFjaXR5LlxuICBAaWYgdHlwZS1vZigkaHVlKSA9PSBudW1iZXIgYW5kICRodWUgPj0gMCBhbmQgJGh1ZSA8PSAxIHtcbiAgICBAcmV0dXJuIG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdCwgJGh1ZSk7XG4gIH1cblxuICAkY29sb3I6IG1hcC1nZXQoJHBhbGV0dGUsICRodWUpO1xuXG4gIEBpZiAodHlwZS1vZigkY29sb3IpICE9IGNvbG9yKSB7XG4gICAgLy8gSWYgdGhlICRjb2xvciByZXNvbHZlZCB0byBzb21ldGhpbmcgZGlmZmVyZW50IGZyb20gYSBjb2xvciAoZS5nLiBhIENTUyB2YXJpYWJsZSksXG4gICAgLy8gd2UgY2FuJ3QgYXBwbHkgdGhlIG9wYWNpdHkgYW55d2F5IHNvIHdlIHJldHVybiB0aGUgdmFsdWUgYXMgaXMsIG90aGVyd2lzZSBTYXNzIGNhblxuICAgIC8vIHRocm93IGFuIGVycm9yIG9yIG91dHB1dCBzb21ldGhpbmcgaW52YWxpZC5cbiAgICBAcmV0dXJuICRjb2xvcjtcbiAgfVxuXG4gIEByZXR1cm4gcmdiYSgkY29sb3IsIGlmKCRvcGFjaXR5ID09IG51bGwsIG9wYWNpdHkoJGNvbG9yKSwgJG9wYWNpdHkpKTtcbn1cblxuLy8gVmFsaWRhdGVzIHRoZSBzcGVjaWZpZWQgdGhlbWUgYnkgZW5zdXJpbmcgdGhhdCB0aGUgb3B0aW9uYWwgY29sb3IgY29uZmlnIGRlZmluZXNcbi8vIGEgcHJpbWFyeSwgYWNjZW50IGFuZCB3YXJuIHBhbGV0dGUuIFJldHVybnMgdGhlIHRoZW1lIGlmIG5vIGZhaWx1cmVzIHdlcmUgZm91bmQuXG5AZnVuY3Rpb24gX21hdC12YWxpZGF0ZS10aGVtZSgkdGhlbWUpIHtcbiAgQGlmIG1hcC1nZXQoJHRoZW1lLCBjb2xvcikge1xuICAgICRjb2xvcjogbWFwLWdldCgkdGhlbWUsIGNvbG9yKTtcbiAgICBAaWYgbm90IG1hcC1nZXQoJGNvbG9yLCBwcmltYXJ5KSB7XG4gICAgICBAZXJyb3IgJ1RoZW1lIGRvZXMgbm90IGRlZmluZSBhIHZhbGlkIFwicHJpbWFyeVwiIHBhbGV0dGUuJztcbiAgICB9XG4gICAgQGVsc2UgaWYgbm90IG1hcC1nZXQoJGNvbG9yLCBhY2NlbnQpIHtcbiAgICAgIEBlcnJvciAnVGhlbWUgZG9lcyBub3QgZGVmaW5lIGEgdmFsaWQgXCJhY2NlbnRcIiBwYWxldHRlLic7XG4gICAgfVxuICAgIEBlbHNlIGlmIG5vdCBtYXAtZ2V0KCRjb2xvciwgd2Fybikge1xuICAgICAgQGVycm9yICdUaGVtZSBkb2VzIG5vdCBkZWZpbmUgYSB2YWxpZCBcIndhcm5cIiBwYWxldHRlLic7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHRoZW1lO1xufVxuXG4vLyBDcmVhdGVzIGEgbGlnaHQtdGhlbWVkIGNvbG9yIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgc3BlY2lmaWVkXG4vLyBwcmltYXJ5LCBhY2NlbnQgYW5kIHdhcm4gcGFsZXR0ZXMuXG5AZnVuY3Rpb24gX21hdC1jcmVhdGUtbGlnaHQtY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybjogbnVsbCkge1xuICBAcmV0dXJuIChcbiAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICBhY2NlbnQ6ICRhY2NlbnQsXG4gICAgd2FybjogaWYoJHdhcm4gIT0gbnVsbCwgJHdhcm4sIG1hdC1wYWxldHRlKCRtYXQtcmVkKSksXG4gICAgaXMtZGFyazogZmFsc2UsXG4gICAgZm9yZWdyb3VuZDogJG1hdC1saWdodC10aGVtZS1mb3JlZ3JvdW5kLFxuICAgIGJhY2tncm91bmQ6ICRtYXQtbGlnaHQtdGhlbWUtYmFja2dyb3VuZCxcbiAgKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGRhcmstdGhlbWVkIGNvbG9yIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgc3BlY2lmaWVkXG4vLyBwcmltYXJ5LCBhY2NlbnQgYW5kIHdhcm4gcGFsZXR0ZXMuXG5AZnVuY3Rpb24gX21hdC1jcmVhdGUtZGFyay1jb2xvci1jb25maWcoJHByaW1hcnksICRhY2NlbnQsICR3YXJuOiBudWxsKSB7XG4gIEByZXR1cm4gKFxuICAgIHByaW1hcnk6ICRwcmltYXJ5LFxuICAgIGFjY2VudDogJGFjY2VudCxcbiAgICB3YXJuOiBpZigkd2FybiAhPSBudWxsLCAkd2FybiwgbWF0LXBhbGV0dGUoJG1hdC1yZWQpKSxcbiAgICBpcy1kYXJrOiB0cnVlLFxuICAgIGZvcmVncm91bmQ6ICRtYXQtZGFyay10aGVtZS1mb3JlZ3JvdW5kLFxuICAgIGJhY2tncm91bmQ6ICRtYXQtZGFyay10aGVtZS1iYWNrZ3JvdW5kLFxuICApO1xufVxuXG4vLyBDcmVhdGVzIGEgY29udGFpbmVyIG9iamVjdCBmb3IgYSBsaWdodCB0aGVtZSB0byBiZSBnaXZlbiB0byBpbmRpdmlkdWFsIGNvbXBvbmVudCB0aGVtZSBtaXhpbnMuXG4vLyBUT0RPOiBSZW1vdmUgbGVnYWN5IEFQSSBhbmQgcmVuYW1lIGAkcHJpbWFyeWAgdG8gYCRjb25maWdgLiBDdXJyZW50bHkgaXQgY2Fubm90IGJlIHJlbmFtZWRcbi8vIGFzIGl0IHdvdWxkIGJyZWFrIGV4aXN0aW5nIGFwcHMgdGhhdCBzZXQgdGhlIHBhcmFtZXRlciBieSBuYW1lLlxuQGZ1bmN0aW9uIG1hdC1saWdodC10aGVtZSgkcHJpbWFyeSwgJGFjY2VudDogbnVsbCwgJHdhcm46IG1hdC1wYWxldHRlKCRtYXQtcmVkKSkge1xuICAvLyBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBjb250YWluZXIgb2JqZWN0IGZvciB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLiBDb25zdW1lcnNcbiAgLy8gY2FuIGNvbnN0cnVjdCBzdWNoIGFuIG9iamVjdCBieSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24sIG9yIGJ5IGJ1aWxkaW5nIHRoZSBvYmplY3QgbWFudWFsbHkuXG4gIC8vIFRoZXJlIGFyZSB0d28gcG9zc2libGUgd2F5cyB0byBpbnZva2UgdGhpcyBmdW5jdGlvbiBpbiBvcmRlciB0byBjcmVhdGUgc3VjaCBhbiBvYmplY3Q6XG4gIC8vXG4gIC8vICAgICgxKSBQYXNzaW5nIGluIGEgbWFwIHRoYXQgaG9sZHMgb3B0aW9uYWwgY29uZmlndXJhdGlvbnMgZm9yIGluZGl2aWR1YWwgcGFydHMgb2YgdGhlXG4gIC8vICAgICAgICB0aGVtaW5nIHN5c3RlbS4gRm9yIGBjb2xvcmAgY29uZmlndXJhdGlvbnMsIHRoZSBmdW5jdGlvbiBvbmx5IGV4cGVjdHMgdGhlIHBhbGV0dGVzXG4gIC8vICAgICAgICBmb3IgYHByaW1hcnlgIGFuZCBgYWNjZW50YCAoYW5kIG9wdGlvbmFsbHkgYHdhcm5gKS4gVGhlIGZ1bmN0aW9uIHdpbGwgZXhwYW5kIHRoZVxuICAvLyAgICAgICAgc2hvcnRoYW5kIGludG8gYW4gYWN0dWFsIGNvbmZpZ3VyYXRpb24gdGhhdCBjYW4gYmUgY29uc3VtZWQgaW4gYC1jb2xvcmAgbWl4aW5zLlxuICAvLyAgICAoMikgTGVnYWN5IHBhdHRlcm46IFBhc3NpbmcgaW4gdGhlIHBhbGV0dGVzIGFzIHBhcmFtZXRlcnMuIFRoaXMgaXMgbm90IGFzIGZsZXhpYmxlXG4gIC8vICAgICAgICBhcyBwYXNzaW5nIGluIGEgY29uZmlndXJhdGlvbiBtYXAgYmVjYXVzZSBvbmx5IHRoZSBgY29sb3JgIHN5c3RlbSBjYW4gYmUgY29uZmlndXJlZC5cbiAgLy9cbiAgLy8gSWYgdGhlIGxlZ2FjeSBwYXR0ZXJuIGlzIHVzZWQsIHdlIGdlbmVyYXRlIGEgY29udGFpbmVyIG9iamVjdCBvbmx5IHdpdGggYSBsaWdodC10aGVtZWRcbiAgLy8gY29uZmlndXJhdGlvbiBmb3IgdGhlIGBjb2xvcmAgdGhlbWluZyBwYXJ0LlxuICBAaWYgJGFjY2VudCAhPSBudWxsIHtcbiAgICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKChcbiAgICAgIF9pcy1sZWdhY3ktdGhlbWU6IHRydWUsXG4gICAgICBjb2xvcjogX21hdC1jcmVhdGUtbGlnaHQtY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybiksXG4gICAgKSkpO1xuICB9XG4gIC8vIElmIHRoZSBtYXAgcGF0dGVybiBpcyB1c2VkICgxKSwgd2UganVzdCBwYXNzLXRocm91Z2ggdGhlIGNvbmZpZ3VyYXRpb25zIGZvciBpbmRpdmlkdWFsXG4gIC8vIHBhcnRzIG9mIHRoZSB0aGVtaW5nIHN5c3RlbSwgYnV0IHVwZGF0ZSB0aGUgYGNvbG9yYCBjb25maWd1cmF0aW9uIGlmIHNldC4gQXMgZXhwbGFpbmVkXG4gIC8vIGFib3ZlLCB0aGUgY29sb3Igc2hvcnRoYW5kIHdpbGwgYmUgZXhwYW5kZWQgdG8gYW4gYWN0dWFsIGxpZ2h0LXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uLlxuICAkcmVzdWx0OiAkcHJpbWFyeTtcbiAgQGlmIG1hcC1nZXQoJHByaW1hcnksIGNvbG9yKSB7XG4gICAgJGNvbG9yLXNldHRpbmdzOiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcik7XG4gICAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCBwcmltYXJ5KTtcbiAgICAkYWNjZW50OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgYWNjZW50KTtcbiAgICAkd2FybjogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIHdhcm4pO1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoY29sb3I6IF9tYXQtY3JlYXRlLWxpZ2h0LWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pKSk7XG4gIH1cbiAgQHJldHVybiBtYXQtcHJpdmF0ZS1jcmVhdGUtYmFja3dhcmRzLWNvbXBhdGliaWxpdHktdGhlbWUoX21hdC12YWxpZGF0ZS10aGVtZSgkcmVzdWx0KSk7XG59XG5cbi8vIENyZWF0ZXMgYSBjb250YWluZXIgb2JqZWN0IGZvciBhIGRhcmsgdGhlbWUgdG8gYmUgZ2l2ZW4gdG8gaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLlxuLy8gVE9ETzogUmVtb3ZlIGxlZ2FjeSBBUEkgYW5kIHJlbmFtZSBgJHByaW1hcnlgIHRvIGAkY29uZmlnYC4gQ3VycmVudGx5IGl0IGNhbm5vdCBiZSByZW5hbWVkXG4vLyBhcyBpdCB3b3VsZCBicmVhayBleGlzdGluZyBhcHBzIHRoYXQgc2V0IHRoZSBwYXJhbWV0ZXIgYnkgbmFtZS5cbkBmdW5jdGlvbiBtYXQtZGFyay10aGVtZSgkcHJpbWFyeSwgJGFjY2VudDogbnVsbCwgJHdhcm46IG1hdC1wYWxldHRlKCRtYXQtcmVkKSkge1xuICAvLyBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBjb250YWluZXIgb2JqZWN0IGZvciB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnQgdGhlbWUgbWl4aW5zLiBDb25zdW1lcnNcbiAgLy8gY2FuIGNvbnN0cnVjdCBzdWNoIGFuIG9iamVjdCBieSBjYWxsaW5nIHRoaXMgZnVuY3Rpb24sIG9yIGJ5IGJ1aWxkaW5nIHRoZSBvYmplY3QgbWFudWFsbHkuXG4gIC8vIFRoZXJlIGFyZSB0d28gcG9zc2libGUgd2F5cyB0byBpbnZva2UgdGhpcyBmdW5jdGlvbiBpbiBvcmRlciB0byBjcmVhdGUgc3VjaCBhbiBvYmplY3Q6XG4gIC8vXG4gIC8vICAgICgxKSBQYXNzaW5nIGluIGEgbWFwIHRoYXQgaG9sZHMgb3B0aW9uYWwgY29uZmlndXJhdGlvbnMgZm9yIGluZGl2aWR1YWwgcGFydHMgb2YgdGhlXG4gIC8vICAgICAgICB0aGVtaW5nIHN5c3RlbS4gRm9yIGBjb2xvcmAgY29uZmlndXJhdGlvbnMsIHRoZSBmdW5jdGlvbiBvbmx5IGV4cGVjdHMgdGhlIHBhbGV0dGVzXG4gIC8vICAgICAgICBmb3IgYHByaW1hcnlgIGFuZCBgYWNjZW50YCAoYW5kIG9wdGlvbmFsbHkgYHdhcm5gKS4gVGhlIGZ1bmN0aW9uIHdpbGwgZXhwYW5kIHRoZVxuICAvLyAgICAgICAgc2hvcnRoYW5kIGludG8gYW4gYWN0dWFsIGNvbmZpZ3VyYXRpb24gdGhhdCBjYW4gYmUgY29uc3VtZWQgaW4gYC1jb2xvcmAgbWl4aW5zLlxuICAvLyAgICAoMikgTGVnYWN5IHBhdHRlcm46IFBhc3NpbmcgaW4gdGhlIHBhbGV0dGVzIGFzIHBhcmFtZXRlcnMuIFRoaXMgaXMgbm90IGFzIGZsZXhpYmxlXG4gIC8vICAgICAgICBhcyBwYXNzaW5nIGluIGEgY29uZmlndXJhdGlvbiBtYXAgYmVjYXVzZSBvbmx5IHRoZSBgY29sb3JgIHN5c3RlbSBjYW4gYmUgY29uZmlndXJlZC5cbiAgLy9cbiAgLy8gSWYgdGhlIGxlZ2FjeSBwYXR0ZXJuIGlzIHVzZWQsIHdlIGdlbmVyYXRlIGEgY29udGFpbmVyIG9iamVjdCBvbmx5IHdpdGggYSBkYXJrLXRoZW1lZFxuICAvLyBjb25maWd1cmF0aW9uIGZvciB0aGUgYGNvbG9yYCB0aGVtaW5nIHBhcnQuXG4gIEBpZiAkYWNjZW50ICE9IG51bGwge1xuICAgIEByZXR1cm4gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKF9tYXQtdmFsaWRhdGUtdGhlbWUoKFxuICAgICAgX2lzLWxlZ2FjeS10aGVtZTogdHJ1ZSxcbiAgICAgIGNvbG9yOiBfbWF0LWNyZWF0ZS1kYXJrLWNvbG9yLWNvbmZpZygkcHJpbWFyeSwgJGFjY2VudCwgJHdhcm4pLFxuICAgICkpKTtcbiAgfVxuICAvLyBJZiB0aGUgbWFwIHBhdHRlcm4gaXMgdXNlZCAoMSksIHdlIGp1c3QgcGFzcy10aHJvdWdoIHRoZSBjb25maWd1cmF0aW9ucyBmb3IgaW5kaXZpZHVhbFxuICAvLyBwYXJ0cyBvZiB0aGUgdGhlbWluZyBzeXN0ZW0sIGJ1dCB1cGRhdGUgdGhlIGBjb2xvcmAgY29uZmlndXJhdGlvbiBpZiBzZXQuIEFzIGV4cGxhaW5lZFxuICAvLyBhYm92ZSwgdGhlIGNvbG9yIHNob3J0aGFuZCB3aWxsIGJlIGV4cGFuZGVkIHRvIGFuIGFjdHVhbCBkYXJrLXRoZW1lZCBjb2xvciBjb25maWd1cmF0aW9uLlxuICAkcmVzdWx0OiAkcHJpbWFyeTtcbiAgQGlmIG1hcC1nZXQoJHByaW1hcnksIGNvbG9yKSB7XG4gICAgJGNvbG9yLXNldHRpbmdzOiBtYXAtZ2V0KCRwcmltYXJ5LCBjb2xvcik7XG4gICAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbG9yLXNldHRpbmdzLCBwcmltYXJ5KTtcbiAgICAkYWNjZW50OiBtYXAtZ2V0KCRjb2xvci1zZXR0aW5ncywgYWNjZW50KTtcbiAgICAkd2FybjogbWFwLWdldCgkY29sb3Itc2V0dGluZ3MsIHdhcm4pO1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoY29sb3I6IF9tYXQtY3JlYXRlLWRhcmstY29sb3ItY29uZmlnKCRwcmltYXJ5LCAkYWNjZW50LCAkd2FybikpKTtcbiAgfVxuICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZShfbWF0LXZhbGlkYXRlLXRoZW1lKCRyZXN1bHQpKTtcbn1cblxuLy8vIEdldHMgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgZ2l2ZW4gdGhlbWUgb3IgY29uZmlndXJhdGlvbi5cbkBmdW5jdGlvbiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUsICRkZWZhdWx0OiBudWxsKSB7XG4gIC8vIElmIGEgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBwYXNzZWQsIHJldHVybiB0aGUgY29uZmlnIGRpcmVjdGx5LlxuICBAaWYgbm90IG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkdGhlbWUpIHtcbiAgICBAcmV0dXJuICR0aGVtZTtcbiAgfVxuICAvLyBJZiB0aGUgdGhlbWUgaGFzIGJlZW4gY29uc3RydWN0ZWQgdGhyb3VnaCB0aGUgbGVnYWN5IHRoZW1pbmcgQVBJLCB3ZSB1c2UgdGhlIHRoZW1lIG9iamVjdFxuICAvLyBhcyBjb2xvciBjb25maWd1cmF0aW9uIGluc3RlYWQgb2YgdGhlIGRlZGljYXRlZCBgY29sb3JgIHByb3BlcnR5LiBXZSBkbyB0aGlzIGJlY2F1c2UgZm9yXG4gIC8vIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB3ZSBjb3BpZWQgdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZnJvbSBgJHRoZW1lLmNvbG9yYCB0byBgJHRoZW1lYC5cbiAgLy8gSGVuY2UgZGV2ZWxvcGVycyBjb3VsZCBjdXN0b21pemUgdGhlIGNvbG9ycyBhdCB0b3AtbGV2ZWwgYW5kIHdhbnQgdG8gcmVzcGVjdCB0aGVzZSBjaGFuZ2VzXG4gIC8vIFRPRE86IFJlbW92ZSB3aGVuIGxlZ2FjeSB0aGVtaW5nIEFQSSBpcyByZW1vdmVkLlxuICBAaWYgbWF0LXByaXZhdGUtaXMtbGVnYWN5LWNvbnN0cnVjdGVkLXRoZW1lKCR0aGVtZSkge1xuICAgIEByZXR1cm4gJHRoZW1lO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkdGhlbWUsIGNvbG9yKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZSwgY29sb3IpO1xuICB9XG4gIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cbi8vLyBHZXRzIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgZ2l2ZW4gdGhlbWUgb3IgY29uZmlndXJhdGlvbi5cbkBmdW5jdGlvbiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZS1vci1jb25maWcsICRkZWZhdWx0OiAwKSB7XG4gIC8vIElmIGEgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBwYXNzZWQsIHJldHVybiB0aGUgY29uZmlnIGRpcmVjdGx5LlxuICBAaWYgbm90IG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkdGhlbWUtb3ItY29uZmlnKSB7XG4gICAgQHJldHVybiAkdGhlbWUtb3ItY29uZmlnO1xuICB9XG4gIC8vIEluIGNhc2UgYSB0aGVtZSBoYXMgYmVlbiBwYXNzZWQsIGV4dHJhY3QgdGhlIGNvbmZpZ3VyYXRpb24gaWYgcHJlc2VudCxcbiAgLy8gb3IgZmFsbCBiYWNrIHRvIHRoZSBkZWZhdWx0IGRlbnNpdHkgY29uZmlnLlxuICBAaWYgbWFwLWhhcy1rZXkoJHRoZW1lLW9yLWNvbmZpZywgZGVuc2l0eSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtb3ItY29uZmlnLCBkZW5zaXR5KTtcbiAgfVxuICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gR2V0cyB0aGUgdHlwb2dyYXBoeSBjb25maWd1cmF0aW9uIGZyb20gdGhlIGdpdmVuIHRoZW1lIG9yIGNvbmZpZ3VyYXRpb24uXG4vLy8gRm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB0eXBvZ3JhcGh5IGlzIG5vdCBpbmNsdWRlZCBieSBkZWZhdWx0LlxuQGZ1bmN0aW9uIG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lLW9yLWNvbmZpZywgJGRlZmF1bHQ6IG51bGwpIHtcbiAgLy8gSWYgYSBjb25maWd1cmF0aW9uIGhhcyBiZWVuIHBhc3NlZCwgcmV0dXJuIHRoZSBjb25maWcgZGlyZWN0bHkuXG4gIEBpZiBub3QgbWF0LXByaXZhdGUtaXMtdGhlbWUtb2JqZWN0KCR0aGVtZS1vci1jb25maWcpIHtcbiAgICBAcmV0dXJuICR0aGVtZS1vci1jb25maWc7XG4gIH1cbiAgLy8gSW4gY2FzZSBhIHRoZW1lIGhhcyBiZWVuIHBhc3NlZCwgZXh0cmFjdCB0aGUgY29uZmlndXJhdGlvbiBpZiBwcmVzZW50LFxuICAvLyBvciBmYWxsIGJhY2sgdG8gdGhlIGRlZmF1bHQgdHlwb2dyYXBoeSBjb25maWcuXG4gIEBpZiAobWFwLWhhcy1rZXkoJHRoZW1lLW9yLWNvbmZpZywgdHlwb2dyYXBoeSkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLW9yLWNvbmZpZywgdHlwb2dyYXBoeSk7XG4gIH1cbiAgQHJldHVybiAkZGVmYXVsdDtcbn1cblxuXG4vL1xuLy8gUHJpdmF0ZSBBUElzXG4vL1xuXG4vLyBDaGVja3MgaWYgY29uZmlndXJhdGlvbnMgdGhhdCBoYXZlIGJlZW4gZGVjbGFyZWQgaW4gdGhlIGdpdmVuIHRoZW1lIGhhdmUgYmVlbiBnZW5lcmF0ZWRcbi8vIGJlZm9yZS4gSWYgc28sIHdhcm5pbmdzIHdpbGwgYmUgcmVwb3J0ZWQuIFRoaXMgc2hvdWxkIG5vdGlmeSBkZXZlbG9wZXJzIGluIGNhc2UgZHVwbGljYXRlXG4vLyBzdHlsZXMgYXJlIGFjY2lkZW50YWxseSBnZW5lcmF0ZWQgZHVlIHRvIHdyb25nIHVzYWdlIG9mIHRoZSBhbGwtdGhlbWUgbWl4aW5zLlxuLy9cbi8vIEFkZGl0aW9uYWxseSwgdGhpcyBtaXhpbiBjb250cm9scyB0aGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGRlbnNpdHkgY29uZmlndXJhdGlvbi4gQnlcbi8vIGRlZmF1bHQsIGRlbnNpdHkgc3R5bGVzIGFyZSBnZW5lcmF0ZWQgYXQgc2NhbGUgemVyby4gSWYgdGhlIHNhbWUgZGVuc2l0eSBzdHlsZXMgd291bGQgYmVcbi8vIGdlbmVyYXRlZCBhIHNlY29uZCB0aW1lIHRob3VnaCwgdGhlIGRlZmF1bHQgdmFsdWUgd2lsbCBjaGFuZ2UgdG8gYXZvaWQgZHVwbGljYXRlIHN0eWxlcy5cbi8vXG4vLyBUaGUgbWl4aW4ga2VlcHMgdHJhY2sgb2YgYWxsIGNvbmZpZ3VyYXRpb25zIGluIGEgbGlzdCB0aGF0IGlzIHNjb3BlZCB0byB0aGUgc3BlY2lmaWVkXG4vLyBpZC4gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBhIGdpdmVuIHRoZW1lIGNhbiBiZSBwYXNzZWQgdG8gbXVsdGlwbGUgZGlzam9pbnQgdGhlbWUgbWl4aW5zXG4vLyAoZS5nLiBgYW5ndWxhci1tYXRlcmlhbC10aGVtZWAgYW5kIGBhbmd1bGFyLW1hdGVyaWFsLW1kYy10aGVtZWApIHdpdGhvdXQgY2F1c2luZyBhbnlcbi8vIHN0eWxlIGR1cGxpY2F0aW9uLlxuQG1peGluIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZywgJGlkKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgJGNvbG9yLWNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgJGRlbnNpdHktY29uZmlnOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICR0eXBvZ3JhcGh5LWNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuICAvLyBMaXN0cyBvZiBwcmV2aW91cyBgY29sb3JgLCBgZGVuc2l0eWAgYW5kIGB0eXBvZ3JhcGh5YCBjb25maWd1cmF0aW9ucy5cbiAgJHByZXZpb3VzLWNvbG9yOiBtYXAtZ2V0KCRfbWF0LXRoZW1lLWVtaXR0ZWQtY29sb3IsICRpZCkgb3IgKCk7XG4gICRwcmV2aW91cy10eXBvZ3JhcGh5OiBtYXAtZ2V0KCRfbWF0LXRoZW1lLWVtaXR0ZWQtdHlwb2dyYXBoeSwgJGlkKSBvciAoKTtcbiAgJHByZXZpb3VzLWRlbnNpdHk6IG1hcC1nZXQoJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5LCAkaWQpIG9yICgpO1xuICAvLyBXaGV0aGVyIGR1cGxpY2F0ZSBsZWdhY3kgZGVuc2l0eSBzdHlsZXMgd291bGQgYmUgZ2VuZXJhdGVkLlxuICAkZHVwbGljYXRlLWxlZ2FjeS1kZW5zaXR5OiBmYWxzZTtcblxuICAvLyBDaGVjayBpZiB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBoYXMgYmVlbiBnZW5lcmF0ZWQgYmVmb3JlLlxuICBAaWYgJGNvbG9yLWNvbmZpZyAhPSBudWxsIHtcbiAgICBAaWYgaW5kZXgoJHByZXZpb3VzLWNvbG9yLCAkY29sb3ItY29uZmlnKSAhPSBudWxsIGFuZFxuICAgICAgICBub3QgJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3Mge1xuICAgICAgQHdhcm4gJ1RoZSBzYW1lIGNvbG9yIHN0eWxlcyBhcmUgZ2VuZXJhdGVkIG11bHRpcGxlIHRpbWVzLiAnICtcbiAgICAgICAgICAkX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZztcbiAgICB9XG4gICAgJHByZXZpb3VzLWNvbG9yOiBhcHBlbmQoJHByZXZpb3VzLWNvbG9yLCAkY29sb3ItY29uZmlnKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSB0eXBvZ3JhcGh5IGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gZ2VuZXJhdGVkIGJlZm9yZS5cbiAgQGlmICR0eXBvZ3JhcGh5LWNvbmZpZyAhPSBudWxsIHtcbiAgICBAaWYgaW5kZXgoJHByZXZpb3VzLXR5cG9ncmFwaHksICR0eXBvZ3JhcGh5LWNvbmZpZykgIT0gbnVsbCBhbmRcbiAgICAgICAgbm90ICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzIHtcbiAgICAgIEB3YXJuICdUaGUgc2FtZSB0eXBvZ3JhcGh5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIG11bHRpcGxlIHRpbWVzLiAnICtcbiAgICAgICAgICAkX21hdC10aGVtZS1kdXBsaWNhdGUtd2FybmluZztcbiAgICB9XG4gICAgJHByZXZpb3VzLXR5cG9ncmFwaHk6IGFwcGVuZCgkcHJldmlvdXMtdHlwb2dyYXBoeSwgJHR5cG9ncmFwaHktY29uZmlnKTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBkZW5zaXR5IGNvbmZpZ3VyYXRpb24gaGFzIGJlZW4gZ2VuZXJhdGVkIGJlZm9yZS5cbiAgQGlmICRkZW5zaXR5LWNvbmZpZyAhPSBudWxsIHtcbiAgICBAaWYgaW5kZXgoJHByZXZpb3VzLWRlbnNpdHksICRkZW5zaXR5LWNvbmZpZykgIT0gbnVsbCB7XG4gICAgICAvLyBPbmx5IHJlcG9ydCBhIHdhcm5pbmcgaWYgZGVuc2l0eSBzdHlsZXMgd291bGQgYmUgZHVwbGljYXRlZCBmb3Igbm9uLWxlZ2FjeSB0aGVtZVxuICAgICAgLy8gZGVmaW5pdGlvbnMuIEZvciBsZWdhY3kgdGhlbWVzLCB3ZSBoYXZlIGNvbXBhdGliaWxpdHkgbG9naWMgdGhhdCBhdm9pZHMgZHVwbGljYXRpb25cbiAgICAgIC8vIG9mIGRlZmF1bHQgZGVuc2l0eSBzdHlsZXMuIFdlIGRvbid0IHdhbnQgdG8gcmVwb3J0IGEgd2FybmluZyBpbiB0aG9zZSBjYXNlcy5cbiAgICAgIEBpZiBtYXQtcHJpdmF0ZS1pcy1sZWdhY3ktY29uc3RydWN0ZWQtdGhlbWUoJHRoZW1lKSB7XG4gICAgICAgICRkdXBsaWNhdGUtbGVnYWN5LWRlbnNpdHk6IHRydWU7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiBub3QgJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3Mge1xuICAgICAgICBAd2FybiAnVGhlIHNhbWUgZGVuc2l0eSBzdHlsZXMgYXJlIGdlbmVyYXRlZCBtdWx0aXBsZSB0aW1lcy4gJyArXG4gICAgICAgICAgICRfbWF0LXRoZW1lLWR1cGxpY2F0ZS13YXJuaW5nO1xuICAgICAgfVxuICAgIH1cbiAgICAkcHJldmlvdXMtZGVuc2l0eTogYXBwZW5kKCRwcmV2aW91cy1kZW5zaXR5LCAkZGVuc2l0eS1jb25maWcpO1xuICB9XG5cbiAgJF9tYXQtdGhlbWUtZW1pdHRlZC1jb2xvcjogbWFwLW1lcmdlKFxuICAgICAgJF9tYXQtdGhlbWUtZW1pdHRlZC1jb2xvciwgKCRpZDogJHByZXZpb3VzLWNvbG9yKSkgIWdsb2JhbDtcbiAgJF9tYXQtdGhlbWUtZW1pdHRlZC1kZW5zaXR5OiBtYXAtbWVyZ2UoXG4gICAgICAkX21hdC10aGVtZS1lbWl0dGVkLWRlbnNpdHksICgkaWQ6ICRwcmV2aW91cy1kZW5zaXR5KSkgIWdsb2JhbDtcbiAgJF9tYXQtdGhlbWUtZW1pdHRlZC10eXBvZ3JhcGh5OiBtYXAtbWVyZ2UoXG4gICAgICAkX21hdC10aGVtZS1lbWl0dGVkLXR5cG9ncmFwaHksICgkaWQ6ICRwcmV2aW91cy10eXBvZ3JhcGh5KSkgIWdsb2JhbDtcblxuICAvLyBPcHRpb25hbGx5LCBjb25zdW1lcnMgb2YgdGhpcyBtaXhpbiBjYW4gd3JhcCBjb250ZW50cyBpbnNpZGUgc28gdGhhdCBuZXN0ZWRcbiAgLy8gZHVwbGljYXRlIHN0eWxlIGNoZWNrcyBkbyBub3QgcmVwb3J0IGFub3RoZXIgd2FybmluZy4gZS5nLiBpZiBkZXZlbG9wZXJzIGluY2x1ZGVcbiAgLy8gdGhlIGBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lYCBtaXhpbiB0d2ljZSwgb25seSB0aGUgdG9wLWxldmVsIGR1cGxpY2F0ZSBzdHlsZXMgY2hlY2tcbiAgLy8gc2hvdWxkIHJlcG9ydCBhIHdhcm5pbmcuIE5vdCBhbGwgaW5kaXZpZHVhbCBjb21wb25lbnRzIHNob3VsZCByZXBvcnQgYSB3YXJuaW5nIHRvby5cbiAgJG9yaWctbWF0LXRoZW1lLWlnbm9yZS1kdXBsaWNhdGlvbi13YXJuaW5nczogJG1hdC10aGVtZS1pZ25vcmUtZHVwbGljYXRpb24td2FybmluZ3M7XG4gICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzOiB0cnVlICFnbG9iYWw7XG5cbiAgLy8gSWYgZHVwbGljYXRlIGRlZmF1bHQgZGVuc2l0eSBzdHlsZXMgd291bGQgYmUgZ2VuZXJhdGVkIGZvciBhIGxlZ2FjeSBjb25zdHJ1Y3RlZCB0aGVtZSxcbiAgLy8gd2UgYWRqdXN0IHRoZSBkZW5zaXR5IGdlbmVyYXRpb24gc28gdGhhdCBubyBkZW5zaXR5IHN0eWxlcyBhcmUgZ2VuZXJhdGVkIGJ5IGRlZmF1bHQuXG4gIC8vIElmIG5vIGRlZmF1bHQgZGVuc2l0eSBzdHlsZXMgaGF2ZSBiZWVuIGdlbmVyYXRlZCB5ZXQsIHdlIGVuc3VyZSB0aGF0IHRoZSBzdHlsZXNcbiAgLy8gYXJlIGdlbmVyYXRlZCBhdCByb290LiBGb3IgbGVnYWN5IHRoZW1lcyBvdXIgZ29hbCBpcyB0byBnZW5lcmF0ZSBkZWZhdWx0IGRlbnNpdHlcbiAgLy8gc3R5bGVzICoqb25jZSoqIGFuZCBhdCByb290LiBUaGlzIG1hdGNoZXMgdGhlIG9sZCBiZWhhdmlvciB3aGVyZSBkZW5zaXR5IHN0eWxlcyB3ZXJlXG4gIC8vIHBhcnQgb2YgdGhlIGJhc2UgY29tcG9uZW50IHN0eWxlcyAodGhhdCBkaWQgbm90IHVzZSB2aWV3IGVuY2Fwc3VsYXRpb24pLlxuICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBjb21wYXRpYmlsaXR5IGxvZ2ljIHdoZW4gdGhlIGxlZ2FjeSB0aGVtaW5nIEFQSSBpcyByZW1vdmVkLlxuICAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1hdC1yb290OiBtYXQtcHJpdmF0ZS1pcy1sZWdhY3ktY29uc3RydWN0ZWQtdGhlbWUoJHRoZW1lKSAhZ2xvYmFsO1xuICAkbWF0LXByaXZhdGUtZGVuc2l0eS1nZW5lcmF0ZS1zdHlsZXM6IG5vdCAkZHVwbGljYXRlLWxlZ2FjeS1kZW5zaXR5ICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG4gICRtYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzOiAkb3JpZy1tYXQtdGhlbWUtaWdub3JlLWR1cGxpY2F0aW9uLXdhcm5pbmdzICFnbG9iYWw7XG5cbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtYXQtcm9vdDogZmFsc2UgIWdsb2JhbDtcbiAgJG1hdC1wcml2YXRlLWRlbnNpdHktZ2VuZXJhdGUtc3R5bGVzOiB0cnVlICFnbG9iYWw7XG59XG5cbi8vIENoZWNrcyB3aGV0aGVyIHRoZSBnaXZlbiB2YWx1ZSByZXNvbHZlcyB0byBhIHRoZW1lIG9iamVjdC4gVGhlbWUgb2JqZWN0cyBhcmUgYWx3YXlzXG4vLyBvZiB0eXBlIGBtYXBgIGFuZCBjYW4gb3B0aW9uYWxseSBvbmx5IHNwZWNpZnkgYGNvbG9yYCwgYGRlbnNpdHlgIG9yIGB0eXBvZ3JhcGh5YC5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdtYXAnIGFuZCAoXG4gICAgbWFwLWhhcy1rZXkoJHZhbHVlLCBjb2xvcikgb3JcbiAgICBtYXAtaGFzLWtleSgkdmFsdWUsIGRlbnNpdHkpIG9yXG4gICAgbWFwLWhhcy1rZXkoJHZhbHVlLCB0eXBvZ3JhcGh5KSBvclxuICAgIGxlbmd0aCgkdmFsdWUpID09IDBcbiAgKTtcbn1cblxuLy8gQ2hlY2tzIHdoZXRoZXIgYSBnaXZlbiB2YWx1ZSBjb3JyZXNwb25kcyB0byBhIGxlZ2FjeSBjb25zdHJ1Y3RlZCB0aGVtZS5cbkBmdW5jdGlvbiBtYXQtcHJpdmF0ZS1pcy1sZWdhY3ktY29uc3RydWN0ZWQtdGhlbWUoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpID09ICdtYXAnIGFuZCBtYXAtZ2V0KCR2YWx1ZSwgJ19pcy1sZWdhY3ktdGhlbWUnKTtcbn1cblxuLy8gQ3JlYXRlcyBhIGJhY2t3YXJkcyBjb21wYXRpYmxlIHRoZW1lLiBQcmV2aW91c2x5IGluIEFuZ3VsYXIgTWF0ZXJpYWwsIHRoZW1lIG9iamVjdHNcbi8vIGNvbnRhaW5lZCB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBkaXJlY3RseS4gV2l0aCB0aGUgcmVjZW50IHJlZmFjdG9yaW5nIG9mIHRoZSB0aGVtaW5nXG4vLyBzeXN0ZW0gdG8gYWxsb3cgZm9yIGRlbnNpdHkgYW5kIHR5cG9ncmFwaHkgY29uZmlndXJhdGlvbnMsIHRoaXMgaXMgbm8gbG9uZ2VyIHRoZSBjYXNlLlxuLy8gVG8gZW5zdXJlIHRoYXQgY29uc3RydWN0ZWQgdGhlbWVzIHdoaWNoIHdpbGwgYmUgcGFzc2VkIHRvIGN1c3RvbSB0aGVtZSBtaXhpbnMgZG8gbm90IGJyZWFrLFxuLy8gd2UgY29weSB0aGUgY29sb3IgY29uZmlndXJhdGlvbiBhbmQgcHV0IGl0cyBwcm9wZXJ0aWVzIGF0IHRoZSB0b3AtbGV2ZWwgb2YgdGhlIHRoZW1lIG9iamVjdC5cbi8vIEhlcmUgaXMgYW4gZXhhbXBsZSBvZiBhIHBhdHRlcm4gdGhhdCBzaG91bGQgc3RpbGwgd29yayB1bnRpbCBpdCdzIG9mZmljaWFsbHkgbWFya2VkIGFzIGFcbi8vIGJyZWFraW5nIGNoYW5nZTpcbi8vXG4vLyAgICBAbWl4aW4gbXktY3VzdG9tLWNvbXBvbmVudC10aGVtZSgkdGhlbWUpIHtcbi8vICAgICAgLm15LWNvbXAge1xuLy8gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcihtYXAtZ2V0KCR0aGVtZSwgcHJpbWFyeSkpO1xuLy8gICAgICB9XG4vLyAgICB9XG4vL1xuLy8gTm90ZSB0aGF0IHRoZSBgJHRoZW1lLnByaW1hcnlgIGtleSBkb2VzIHVzdWFsbHkgbm90IGV4aXN0IHNpbmNlIHRoZSBjb2xvciBjb25maWd1cmF0aW9uXG4vLyBpcyBzdG9yZWQgaW4gYCR0aGVtZS5jb2xvcmAgd2hpY2ggY29udGFpbnMgYSBwcm9wZXJ0eSBmb3IgYHByaW1hcnlgLiBUaGlzIG1ldGhvZCBjb3BpZXNcbi8vIHRoZSBtYXAgZnJvbSBgJHRoZW1lLmNvbG9yYCB0byBgJHRoZW1lYCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtY3JlYXRlLWJhY2t3YXJkcy1jb21wYXRpYmlsaXR5LXRoZW1lKCR0aGVtZSkge1xuICBAaWYgbm90IG1hcC1nZXQoJHRoZW1lLCBjb2xvcikge1xuICAgIEByZXR1cm4gJHRoZW1lO1xuICB9XG4gICRjb2xvcjogbWFwLWdldCgkdGhlbWUsIGNvbG9yKTtcbiAgQHJldHVybiBtYXAtbWVyZ2UoJHRoZW1lLCAkY29sb3IpO1xufVxuXG4vLyBHZXRzIHRoZSB0aGVtZSBmcm9tIHRoZSBnaXZlbiB2YWx1ZSB0aGF0IGlzIGVpdGhlciBhbHJlYWR5IGEgdGhlbWUsIG9yIGEgY29sb3IgY29uZmlndXJhdGlvbi5cbi8vIFRoaXMgaGFuZGxlcyB0aGUgbGVnYWN5IGNhc2Ugd2hlcmUgZGV2ZWxvcGVycyBwYXNzIGEgY29sb3IgY29uZmlndXJhdGlvbiBkaXJlY3RseSB0byB0aGVcbi8vIHRoZW1lIG1peGluLiBCZWZvcmUgd2UgaW50cm9kdWNlZCB0aGUgbmV3IHBhdHRlcm4gZm9yIGNvbnN0cnVjdGluZyBhIHRoZW1lLCBkZXZlbG9wZXJzIHBhc3NlZFxuLy8gdGhlIGNvbG9yIGNvbmZpZ3VyYXRpb24gZGlyZWN0bHkgdG8gdGhlIHRoZW1lIG1peGlucy4gVGhpcyBjYW4gYmUgc3RpbGwgdGhlIGNhc2UgaWYgZGV2ZWxvcGVyc1xuLy8gY29uc3RydWN0IGEgdGhlbWUgbWFudWFsbHkgYW5kIHBhc3MgaXQgdG8gYSB0aGVtZS4gV2Ugc3VwcG9ydCB0aGlzIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbi8vIFRPRE8oZGV2dmVyc2lvbik6IHJlbW92ZSB0aGlzIGluIHRoZSBmdXR1cmUuIENvbnN0cnVjdGluZyB0aGVtZXMgbWFudWFsbHkgaXMgcmFyZSxcbi8vIGFuZCB0aGUgY29kZSBjYW4gYmUgZWFzaWx5IHVwZGF0ZWQgdG8gdGhlIG5ldyBBUEkuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gIEBpZiBtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAgIEByZXR1cm4gJHRoZW1lLW9yLWNvbG9yLWNvbmZpZztcbiAgfVxuICBAcmV0dXJuIG1hdC1wcml2YXRlLWNyZWF0ZS1iYWNrd2FyZHMtY29tcGF0aWJpbGl0eS10aGVtZSgoXG4gICAgX2lzLWxlZ2FjeS10aGVtZTogdHJ1ZSxcbiAgICBjb2xvcjogJHRoZW1lLW9yLWNvbG9yLWNvbmZpZ1xuICApKTtcbn1cblxuXG5cbiRtYXQtcmlwcGxlLWNvbG9yLW9wYWNpdHk6IDAuMTtcblxuQG1peGluIG1hdC1yaXBwbGUoKSB7XG5cbiAgLy8gVGhlIGhvc3QgZWxlbWVudCBvZiBhbiBtYXQtcmlwcGxlIGRpcmVjdGl2ZSBzaG91bGQgYWx3YXlzIGhhdmUgYSBwb3NpdGlvbiBvZiBcImFic29sdXRlXCIgb3JcbiAgLy8gXCJyZWxhdGl2ZVwiIHNvIHRoYXQgdGhlIHJpcHBsZXMgaW5zaWRlIGFyZSBjb3JyZWN0bHkgcG9zaXRpb25lZCByZWxhdGl2ZWx5IHRvIHRoZSBjb250YWluZXIuXG4gIC5tYXQtcmlwcGxlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLy8gQnkgZGVmYXVsdCwgZXZlcnkgcmlwcGxlIGNvbnRhaW5lciBzaG91bGQgaGF2ZSBwb3NpdGlvbjogcmVsYXRpdmUgaW4gZmF2b3Igb2YgY3JlYXRpbmcgYW5cbiAgICAvLyBlYXN5IEFQSSBmb3IgZGV2ZWxvcGVycyB1c2luZyB0aGUgTWF0UmlwcGxlIGRpcmVjdGl2ZS5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBQcm9tb3RlIGNvbnRhaW5lcnMgdGhhdCBoYXZlIHJpcHBsZXMgdG8gYSBuZXcgbGF5ZXIuIFdlIHdhbnQgdG8gdGFyZ2V0IGA6bm90KDplbXB0eSlgLFxuICAgIC8vIGJlY2F1c2Ugd2UgZG9uJ3Qgd2FudCBhbGwgcmlwcGxlIGNvbnRhaW5lcnMgdG8gaGF2ZSB0aGVpciBvd24gbGF5ZXIgc2luY2UgdGhleSdyZSB1c2VkIGluIGFcbiAgICAvLyBsb3Qgb2YgcGxhY2VzIGFuZCB0aGUgbGF5ZXIgaXMgb25seSByZWxldmFudCB3aGlsZSBhbmltYXRpbmcuIE5vdGUgdGhhdCBpZGVhbGx5IHdlJ2QgdXNlXG4gICAgLy8gdGhlIGBjb250YWluYCBwcm9wZXJ0eSBoZXJlIChzZWUgIzEzMTc1KSwgYmVjYXVzZSBgOmVtcHR5YCBjYW4gYmUgYnJva2VuIGJ5IGhhdmluZyBleHRyYVxuICAgIC8vIHRleHQgaW5zaWRlIHRoZSBlbGVtZW50LCBidXQgaXQgaXNuJ3QgdmVyeSB3ZWxsIHN1cHBvcnRlZCB5ZXQuXG4gICAgJjpub3QoOmVtcHR5KSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1yaXBwbGUubWF0LXJpcHBsZS11bmJvdW5kZWQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHksIHRyYW5zZm9ybSAwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcblxuICAgIC8vIEluIGhpZ2ggY29udHJhc3QgbW9kZSB0aGUgcmlwcGxlIGlzIG9wYXF1ZSwgY2F1c2luZyBpdCB0byBvYnN0cnVjdCB0aGUgY29udGVudC5cbiAgICBAaW5jbHVkZSBjZGstaGlnaC1jb250cmFzdChhY3RpdmUsIG9mZikge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLyogQ29sb3JzIGZvciB0aGUgcmlwcGxlIGVsZW1lbnRzLiovXG5AbWl4aW4gbWF0LXJpcHBsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQtYmFzZTogbWFwLWdldCgkZm9yZWdyb3VuZCwgYmFzZSk7XG5cbiAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgLy8gSWYgdGhlIHJpcHBsZSBjb2xvciBpcyByZXNvbHZlcyB0byBhIGNvbG9yICp0eXBlKiwgd2UgY2FuIHVzZSBpdCBkaXJlY3RseSwgb3RoZXJ3aXNlXG4gICAgLy8gKGUuZy4gaXQgcmVzb2x2ZXMgdG8gYSBDU1MgdmFyaWFibGUpIHdlIGZhbGwgYmFjayB0byB1c2luZyB0aGUgY29sb3IgYW5kIHNldHRpbmcgYW4gb3BhY2l0eS5cbiAgICBAaWYgKHR5cGUtb2YoJGZvcmVncm91bmQtYmFzZSkgPT0gY29sb3IpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGZvcmVncm91bmQtYmFzZSwgJG1hdC1yaXBwbGUtY29sb3Itb3BhY2l0eSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JlZ3JvdW5kLWJhc2U7XG4gICAgICBvcGFjaXR5OiAkbWF0LXJpcHBsZS1jb2xvci1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXJpcHBsZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcmlwcGxlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXJpcHBsZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRoaXMgbWl4aW4gZW5zdXJlcyBhbiBlbGVtZW50IHNwYW5zIHRvIGZpbGwgdGhlIG5lYXJlc3QgYW5jZXN0b3Igd2l0aCBkZWZpbmVkIHBvc2l0aW9uaW5nLlxuQG1peGluIG1hdC1maWxsIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuLy8vIE1peGluIHRoYXQgdHVybnMgb24gc3Ryb25nIGZvY3VzIGluZGljYXRvcnMuXG4vLy9cbi8vLyBAZXhhbXBsZVxuLy8vICAgLm15LWFwcCB7XG4vLy8gICAgIEBpbmNsdWRlIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycygkY29uZmlnKTtcbi8vLyAgIH1cbkBtaXhpbiBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMoJGNvbmZpZzogKCkpIHtcbiAgLy8gRGVmYXVsdCBmb2N1cyBpbmRpY2F0b3IgY29uZmlnLlxuICAkZGVmYXVsdC1jb25maWc6IChcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkLFxuICAgIGJvcmRlci13aWR0aDogM3B4LFxuICAgIGJvcmRlci1yYWRpdXM6IDRweCxcbiAgKTtcblxuICAvLyBNZXJnZSBkZWZhdWx0IGNvbmZpZyB3aXRoIHVzZXIgY29uZmlnLlxuICAkY29uZmlnOiBtYXAtbWVyZ2UoJGRlZmF1bHQtY29uZmlnLCAkY29uZmlnKTtcbiAgJGJvcmRlci1zdHlsZTogbWFwLWdldCgkY29uZmlnLCBib3JkZXItc3R5bGUpO1xuICAkYm9yZGVyLXdpZHRoOiBtYXAtZ2V0KCRjb25maWcsIGJvcmRlci13aWR0aCk7XG4gICRib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRjb25maWcsIGJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIEJhc2Ugc3R5bGVzIGZvciBmb2N1cyBpbmRpY2F0b3JzLlxuICAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtYXQtZmlsbCgpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYm9yZGVyOiAkYm9yZGVyLXdpZHRoICRib3JkZXItc3R5bGUgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gIH1cblxuICAvLyBCeSBkZWZhdWx0LCBhbGwgZm9jdXMgaW5kaWNhdG9ycyBhcmUgZmx1c2ggd2l0aCB0aGUgYm91bmRpbmcgYm94IG9mIHRoZWlyXG4gIC8vIGhvc3QgZWxlbWVudC4gRm9yIHBhcnRpY3VsYXIgZWxlbWVudHMgKGxpc3RlZCBiZWxvdyksIGRlZmF1bHQgaW5zZXQvb2Zmc2V0XG4gIC8vIHZhbHVlcyBhcmUgbmVjZXNzYXJ5IHRvIGVuc3VyZSB0aGF0IHRoZSBmb2N1cyBpbmRpY2F0b3IgaXMgc3VmZmljaWVudGx5XG4gIC8vIGNvbnRyYXN0aXZlIGFuZCByZW5kZXJzIGFwcHJvcHJpYXRlbHkuXG5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LWZsYXQtYnV0dG9uOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1yYWlzZWQtYnV0dG9uOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1mYWI6OmJlZm9yZSxcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LW1pbmktZmFiOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1jaGlwOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXI6OmJlZm9yZSB7XG4gICAgbWFyZ2luOiAtKCRib3JkZXItd2lkdGggKyAycHgpO1xuICB9XG5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXN0cm9rZWQtYnV0dG9uOjpiZWZvcmUsXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDo6YmVmb3JlIHtcbiAgICBtYXJnaW46IC0oJGJvcmRlci13aWR0aCArIDNweCk7XG4gIH1cblxuICAubWF0LWZvY3VzLWluZGljYXRvci5tYXQtdGFiLWxpbms6OmJlZm9yZSxcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LXRhYi1sYWJlbDo6YmVmb3JlIHtcbiAgICBtYXJnaW46IDVweDtcbiAgfVxuXG4gIC8vIFJlbmRlciB0aGUgZm9jdXMgaW5kaWNhdG9yIG9uIGZvY3VzLiBEZWZpbmluZyBhIHBzZXVkbyBlbGVtZW50J3NcbiAgLy8gY29udGVudCB3aWxsIGNhdXNlIGl0IHRvIHJlbmRlci5cblxuICAvLyBDaGVja2JveGVzLCByYWRpb3MsIGFuZCBzbGlkZSB0b2dnbGVzIHJlbmRlciBmb2N1cyBpbmRpY2F0b3JzIHdoZW4gdGhlXG4gIC8vIGFzc29jaWF0ZWQgdmlzdWFsbHktaGlkZGVuIGlucHV0IGlzIGZvY3VzZWQuXG4gIC5tYXQtY2hlY2tib3gtaW5wdXQ6Zm9jdXMgfiAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuICAubWF0LXJhZGlvLWlucHV0OmZvY3VzIH4gLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcbiAgLm1hdC1zbGlkZS10b2dnbGUtaW5wdXQ6Zm9jdXMgfiAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSxcblxuICAvLyBGb3Igb3B0aW9ucywgcmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgY2xhc3MgLm1hdC1hY3RpdmVcbiAgLy8gaXMgcHJlc2VudC5cbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3IubWF0LW9wdGlvbi5tYXQtYWN0aXZlOjpiZWZvcmUsXG5cbiAgLy8gRm9yIGNhbGVuZGFyIGNlbGxzLCByZW5kZXIgdGhlIGZvY3VzIGluZGljYXRvciB3aGVuIHRoZSBwYXJlbnQgY2VsbCBpc1xuICAvLyBmb2N1c2VkLlxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbDpmb2N1cyAubWF0LWZvY3VzLWluZGljYXRvcjo6YmVmb3JlLFxuXG4gIC8vIEZvciBhbGwgb3RoZXIgY29tcG9uZW50cywgcmVuZGVyIHRoZSBmb2N1cyBpbmRpY2F0b3Igb24gZm9jdXMuXG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yOmZvY3VzOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICB9XG59XG5cbi8vIE1peGluIHRoYXQgYXBwbGllcyB0aGUgYm9yZGVyIGNvbG9yIGZvciB0aGUgZm9jdXMgaW5kaWNhdG9ycy5cbkBtaXhpbiBfbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWJvcmRlci1jb2xvcigkY29sb3IpIHtcbiAgLm1hdC1mb2N1cy1pbmRpY2F0b3I6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICBAaW5jbHVkZSBfbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWJvcmRlci1jb2xvcihtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KSkpO1xufVxuXG4vLy8gTWl4aW4gdGhhdCBzZXRzIHRoZSBjb2xvciBvZiB0aGUgZm9jdXMgaW5kaWNhdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Y29sb3J8bWFwfSAkdGhlbWUtb3ItY29sb3Jcbi8vLyAgIElmIHRoZW1lLCBmb2N1cyBpbmRpY2F0b3JzIGFyZSBzZXQgdG8gdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIHRoZW1lLiBJZlxuLy8vICAgY29sb3IsIGZvY3VzIGluZGljYXRvcnMgYXJlIHNldCB0byB0aGF0IGNvbG9yLlxuLy8vXG4vLy8gQGV4YW1wbGVcbi8vLyAgIC5kZW1vLWRhcmstdGhlbWUge1xuLy8vICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtdGhlbWUoJGRhcmstdGhlbWUtbWFwKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlXG4vLy8gICAuZGVtby1yZWQtdGhlbWUge1xuLy8vICAgICBAaW5jbHVkZSBtYXQtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtdGhlbWUoI2YwMCk7XG4vLy8gICB9XG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF0ZXJpYWwvdGhlbWUtbWl4aW4tYXBpICovXG5AbWl4aW4gbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLXRoZW1lKCR0aGVtZS1vci1jb2xvcikge1xuICBAaWYgdHlwZS1vZigkdGhlbWUtb3ItY29sb3IpICE9ICdtYXAnIHtcbiAgICBAaW5jbHVkZSBfbWF0LXN0cm9uZy1mb2N1cy1pbmRpY2F0b3JzLWJvcmRlci1jb2xvcigkdGhlbWUtb3ItY29sb3IpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yKTtcbiAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycycpIHtcbiAgICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICAgIEBpbmNsdWRlIG1hdC1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1jb2xvcigkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBNaXhpbiB0aGF0IGVuc3VyZXMgZm9jdXMgaW5kaWNhdG9yIGhvc3QgZWxlbWVudHMgYXJlIHBvc2l0aW9uZWQgc28gdGhhdCB0aGUgZm9jdXMgaW5kaWNhdG9yXG4vLyBwc2V1ZG8gZWxlbWVudCB3aXRoaW4gaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgaG9zdC4gUHJpdmF0ZSBtaXhpbiBpbmNsdWRlZCB3aXRoaW5cbi8vIGBtYXQtY29yZWAuXG5AbWl4aW4gbWF0LXByaXZhdGUtc3Ryb25nLWZvY3VzLWluZGljYXRvcnMtcG9zaXRpb25pbmcoKSB7XG4gIC5tYXQtZm9jdXMtaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuXG5cbi8vIFV0aWxpdHkgZm9yIGZldGNoaW5nIGEgbmVzdGVkIHZhbHVlIGZyb20gYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgJG5hbWUpIHtcbiAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGNvbmZpZywgJGxldmVsKSwgJG5hbWUpO1xufVxuXG4vLyBHZXRzIHRoZSBmb250IHNpemUgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgZm9udC1zaXplKTtcbn1cblxuLy8gR2V0cyB0aGUgbGluZSBoZWlnaHQgZm9yIGEgbGV2ZWwgaW5zaWRlIGEgdHlwb2dyYXBoeSBjb25maWcuXG5AZnVuY3Rpb24gbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsICRsZXZlbCkge1xuICBAcmV0dXJuIF9tYXQtZ2V0LXR5cGUtdmFsdWUoJGNvbmZpZywgJGxldmVsLCBsaW5lLWhlaWdodCk7XG59XG5cbi8vIEdldHMgdGhlIGZvbnQgd2VpZ2h0IGZvciBhIGxldmVsIGluc2lkZSBhIHR5cG9ncmFwaHkgY29uZmlnLlxuQGZ1bmN0aW9uIG1hdC1mb250LXdlaWdodCgkY29uZmlnLCAkbGV2ZWwpIHtcbiAgQHJldHVybiBfbWF0LWdldC10eXBlLXZhbHVlKCRjb25maWcsICRsZXZlbCwgZm9udC13ZWlnaHQpO1xufVxuXG4vLyBHZXRzIHRoZSBsZXR0ZXIgc3BhY2luZyBmb3IgYSBsZXZlbCBpbnNpZGUgYSB0eXBvZ3JhcGh5IGNvbmZpZy5cbkBmdW5jdGlvbiBtYXQtbGV0dGVyLXNwYWNpbmcoJGNvbmZpZywgJGxldmVsKSB7XG4gIEByZXR1cm4gX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGxldHRlci1zcGFjaW5nKTtcbn1cblxuLy8gR2V0cyB0aGUgZm9udC1mYW1pbHkgZnJvbSBhIHR5cG9ncmFwaHkgY29uZmlnIGFuZCByZW1vdmVzIHRoZSBxdW90ZXMgYXJvdW5kIGl0LlxuQGZ1bmN0aW9uIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCAkbGV2ZWw6IG51bGwpIHtcbiAgJGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRjb25maWcsIGZvbnQtZmFtaWx5KTtcblxuICBAaWYgJGxldmVsICE9IG51bGwge1xuICAgICRmb250LWZhbWlseTogX21hdC1nZXQtdHlwZS12YWx1ZSgkY29uZmlnLCAkbGV2ZWwsIGZvbnQtZmFtaWx5KTtcbiAgfVxuXG4gIC8vIEd1YXJkIGFnYWluc3QgdW5xdW90aW5nIG5vbi1zdHJpbmcgdmFsdWVzLCBiZWNhdXNlIGl0J3MgZGVwcmVjYXRlZC5cbiAgQHJldHVybiBpZih0eXBlLW9mKCRmb250LWZhbWlseSkgPT0gc3RyaW5nLCB1bnF1b3RlKCRmb250LWZhbWlseSksICRmb250LWZhbWlseSk7XG59XG5cbi8vIE91dHB1dHMgdGhlIHNob3J0aGFuZCBgZm9udGAgQ1NTIHByb3BlcnR5LCBiYXNlZCBvbiBhIHNldCBvZiB0eXBvZ3JhcGh5IHZhbHVlcy4gRmFsbHMgYmFjayB0b1xuLy8gdGhlIGluZGl2aWR1YWwgcHJvcGVydGllcyBpZiBhIHZhbHVlIHRoYXQgaXNuJ3QgYWxsb3dlZCBpbiB0aGUgc2hvcnRoYW5kIGlzIHBhc3NlZCBpbi5cbkBtaXhpbiBtYXQtdHlwb2dyYXBoeS1mb250LXNob3J0aGFuZCgkZm9udC1zaXplLCAkZm9udC13ZWlnaHQsICRsaW5lLWhlaWdodCwgJGZvbnQtZmFtaWx5KSB7XG4gIC8vIElmIGFueSBvZiB0aGUgdmFsdWVzIGFyZSBzZXQgdG8gYGluaGVyaXRgLCB3ZSBjYW4ndCB1c2UgdGhlIHNob3J0aGFuZFxuICAvLyBzbyB3ZSBmYWxsIGJhY2sgdG8gcGFzc2luZyBpbiB0aGUgaW5kaXZpZHVhbCBwcm9wZXJ0aWVzLlxuICBAaWYgKCRmb250LXNpemUgPT0gaW5oZXJpdCBvclxuICAgICAgICRmb250LXdlaWdodCA9PSBpbmhlcml0IG9yXG4gICAgICAgJGxpbmUtaGVpZ2h0ID09IGluaGVyaXQgb3JcbiAgICAgICAkZm9udC1mYW1pbHkgPT0gaW5oZXJpdCBvclxuICAgICAgICRmb250LXNpemUgPT0gbnVsbCBvclxuICAgICAgICRmb250LXdlaWdodCA9PSBudWxsIG9yXG4gICAgICAgJGxpbmUtaGVpZ2h0ID09IG51bGwgb3JcbiAgICAgICAkZm9udC1mYW1pbHkgPT0gbnVsbCkge1xuXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UgdXNlIHRoZSBzaG9ydGhhbmQgYGZvbnRgLCBiZWNhdXNlIGl0J3MgdGhlIGxlYXN0IGFtb3VudCBvZiBieXRlcy4gTm90ZVxuICAgIC8vIHRoYXQgd2UgbmVlZCB0byB1c2UgaW50ZXJwb2xhdGlvbiBmb3IgYGZvbnQtc2l6ZS9saW5lLWhlaWdodGAgaW4gb3JkZXIgdG8gcHJldmVudFxuICAgIC8vIFNhc3MgZnJvbSBkaXZpZGluZyB0aGUgdHdvIHZhbHVlcy5cbiAgICBmb250OiAkZm9udC13ZWlnaHQgI3skZm9udC1zaXplfS8jeyRsaW5lLWhlaWdodH0gJGZvbnQtZmFtaWx5O1xuICB9XG59XG5cbi8vIENvbnZlcnRzIGEgdHlwb2dyYXBoeSBsZXZlbCBpbnRvIENTUyBzdHlsZXMuXG5AbWl4aW4gbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsICRsZXZlbCkge1xuICAkZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsICRsZXZlbCk7XG4gICRmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsICRsZXZlbCk7XG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsICRsZXZlbCk7XG4gICRmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsICRsZXZlbCk7XG5cbiAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoJGZvbnQtc2l6ZSwgJGZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQsICRmb250LWZhbWlseSk7XG4gIGxldHRlci1zcGFjaW5nOiBtYXQtbGV0dGVyLXNwYWNpbmcoJGNvbmZpZywgJGxldmVsKTtcbn1cblxuXG5AbWl4aW4gbWF0LW9wdGlvbi1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuXG4gIC5tYXQtb3B0aW9uIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICY6aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgICAmOmZvY3VzOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgfVxuXG4gICAgLy8gSW4gbXVsdGlwbGUgbW9kZSB0aGVyZSBpcyBhIGNoZWNrYm94IHRvIHNob3cgdGhhdCB0aGUgb3B0aW9uIGlzIHNlbGVjdGVkLlxuICAgICYubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1tdWx0aXBsZSk6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3Zlcik7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAmLm1hdC1vcHRpb24tZGlzYWJsZWQge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXByaW1hcnkgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICB9XG5cbiAgLm1hdC1hY2NlbnQgLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gIH1cblxuICAubWF0LXdhcm4gLm1hdC1vcHRpb24ubWF0LXNlbGVjdGVkOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCkge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtb3B0aW9uLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LW9wdGlvbiB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIHN1YmhlYWRpbmctMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LW9wdGlvbi1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtb3B0aW9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1vcHRpb24nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtb3B0aW9uLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtb3B0aW9uLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtb3B0aW9uLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1vcHRncm91cC1kaXNhYmxlZCAubWF0LW9wdGdyb3VwLWxhYmVsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtb3B0Z3JvdXAtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTIpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LW9wdGdyb3VwLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1vcHRncm91cC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtb3B0Z3JvdXAnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtb3B0Z3JvdXAtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1vcHRncm91cC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW9wdGdyb3VwLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuQG1peGluIG1hdC1wc2V1ZG8tY2hlY2tib3gtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcblxuICAvLyBOT1RFKHRyYXZpc2thdWZtYW4pOiBXaGlsZSB0aGUgc3BlYyBjYWxscyBmb3IgdHJhbnNsdWNlbnQgYmxhY2tzL3doaXRlcyBmb3IgZGlzYWJsZWQgY29sb3JzLFxuICAvLyB0aGlzIGRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGVsZW1lbnRzIGxheWVyZWQgb24gdG9wIG9mIG9uZSBhbm90aGVyLiBUbyBnZXQgYXJvdW5kIHRoaXMgd2VcbiAgLy8gYmxlbmQgdGhlIGNvbG9ycyB0b2dldGhlciBiYXNlZCBvbiB0aGUgYmFzZSBjb2xvciBhbmQgdGhlIHRoZW1lIGJhY2tncm91bmQuXG4gICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcms6ICM2ODY4Njg7XG4gICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0OiAjYjBiMGIwO1xuICAkZGlzYWJsZWQtY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkd2hpdGUtMzBwY3Qtb3BhY2l0eS1vbi1kYXJrLCAkYmxhY2stMjZwY3Qtb3BhY2l0eS1vbi1saWdodCk7XG4gICRjb2xvcmVkLWJveC1zZWxlY3RvcjogJy5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUnO1xuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94IHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCksIHNlY29uZGFyeS10ZXh0KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1wcmltYXJ5IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHJpbWFyeSAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KSk7XG4gIH1cblxuICAvLyBEZWZhdWx0IHRvIHRoZSBhY2NlbnQgY29sb3IuIE5vdGUgdGhhdCB0aGUgcHNldWRvIGNoZWNrYm94ZXMgYXJlIG1lYW50IHRvIGluaGVyaXQgdGhlXG4gIC8vIHRoZW1lIGZyb20gdGhlaXIgcGFyZW50LCByYXRoZXIgdGhhbiBpbXBsZW1lbnRpbmcgdGhlaXIgb3duIHRoZW1pbmcsIHdoaWNoIGlzIHdoeSB3ZVxuICAvLyBkb24ndCBhdHRhY2ggdG8gdGhlIGBtYXQtKmAgY2xhc3Nlcy4gQWxzbyBub3RlIHRoYXQgdGhpcyBuZWVkcyB0byBiZSBiZWxvdyBgLm1hdC1wcmltYXJ5YFxuICAvLyBpbiBvcmRlciB0byBhbGxvdyBmb3IgdGhlIGNvbG9yIHRvIGJlIG92ZXJ3cml0dGVuIGlmIHRoZSBjaGVja2JveCBpcyBpbnNpZGUgYSBwYXJlbnQgdGhhdFxuICAvLyBoYXMgYG1hdC1hY2NlbnRgIGFuZCBpcyBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcGFyZW50IHRoYXQgaGFzIGBtYXQtcHJpbWFyeWAuXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUsXG4gIC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtYWNjZW50IC5tYXQtcHNldWRvLWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcihtYXAtZ2V0KCRjb25maWcsIGFjY2VudCkpO1xuICB9XG5cbiAgLm1hdC13YXJuIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWQsXG4gIC5tYXQtd2FybiAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCB3YXJuKSk7XG4gIH1cblxuICAubWF0LXBzZXVkby1jaGVja2JveC1jaGVja2VkLFxuICAubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlIHtcbiAgICAmLm1hdC1wc2V1ZG8tY2hlY2tib3gtZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZDogJGRpc2FibGVkLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXBzZXVkby1jaGVja2JveC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXBzZXVkby1jaGVja2JveC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcHNldWRvLWNoZWNrYm94LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1wc2V1ZG8tY2hlY2tib3gnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHNldWRvLWNoZWNrYm94LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcHNldWRvLWNoZWNrYm94LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHNldWRvLWNoZWNrYm94LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gUmVwcmVzZW50cyBhIHR5cG9ncmFwaHkgbGV2ZWwgZnJvbSB0aGUgTWF0ZXJpYWwgZGVzaWduIHNwZWMuXG5AZnVuY3Rpb24gbWF0LXR5cG9ncmFwaHktbGV2ZWwoXG4gICRmb250LXNpemUsXG4gICRsaW5lLWhlaWdodDogJGZvbnQtc2l6ZSxcbiAgJGZvbnQtd2VpZ2h0OiA0MDAsXG4gICRmb250LWZhbWlseTogbnVsbCxcbiAgJGxldHRlci1zcGFjaW5nOiBub3JtYWwpIHtcblxuICBAcmV0dXJuIChcbiAgICBmb250LXNpemU6ICRmb250LXNpemUsXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCxcbiAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LFxuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHksXG4gICAgbGV0dGVyLXNwYWNpbmc6ICRsZXR0ZXItc3BhY2luZ1xuICApO1xufVxuXG4vLyBSZXByZXNlbnRzIGEgY29sbGVjdGlvbiBvZiB0eXBvZ3JhcGh5IGxldmVscy5cbi8vIERlZmF1bHRzIGNvbWUgZnJvbSBodHRwczovL21hdGVyaWFsLmlvL2d1aWRlbGluZXMvc3R5bGUvdHlwb2dyYXBoeS5odG1sXG4vLyBOb3RlOiBUaGUgc3BlYyBkb2Vzbid0IG1lbnRpb24gbGV0dGVyIHNwYWNpbmcuIFRoZSB2YWx1ZXMgaGVyZSBjb21lIGZyb21cbi8vIGV5ZWJhbGxpbmcgaXQgdW50aWwgaXQgbG9va2VkIGV4YWN0bHkgbGlrZSB0aGUgc3BlYyBleGFtcGxlcy5cbkBmdW5jdGlvbiBtYXQtdHlwb2dyYXBoeS1jb25maWcoXG4gICRmb250LWZhbWlseTogICAnUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIHNhbnMtc2VyaWYnLFxuICAkZGlzcGxheS00OiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTEycHgsIDExMnB4LCAzMDAsICRsZXR0ZXItc3BhY2luZzogLTAuMDVlbSksXG4gICRkaXNwbGF5LTM6ICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCg1NnB4LCA1NnB4LCA0MDAsICRsZXR0ZXItc3BhY2luZzogLTAuMDJlbSksXG4gICRkaXNwbGF5LTI6ICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCg0NXB4LCA0OHB4LCA0MDAsICRsZXR0ZXItc3BhY2luZzogLTAuMDA1ZW0pLFxuICAkZGlzcGxheS0xOiAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMzRweCwgNDBweCwgNDAwKSxcbiAgJGhlYWRsaW5lOiAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDI0cHgsIDMycHgsIDQwMCksXG4gICR0aXRsZTogICAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgyMHB4LCAzMnB4LCA1MDApLFxuICAkc3ViaGVhZGluZy0yOiAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTZweCwgMjhweCwgNDAwKSxcbiAgJHN1YmhlYWRpbmctMTogIG1hdC10eXBvZ3JhcGh5LWxldmVsKDE1cHgsIDI0cHgsIDQwMCksXG4gICRib2R5LTI6ICAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNHB4LCAyNHB4LCA1MDApLFxuICAkYm9keS0xOiAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoMTRweCwgMjBweCwgNDAwKSxcbiAgJGNhcHRpb246ICAgICAgIG1hdC10eXBvZ3JhcGh5LWxldmVsKDEycHgsIDIwcHgsIDQwMCksXG4gICRidXR0b246ICAgICAgICBtYXQtdHlwb2dyYXBoeS1sZXZlbCgxNHB4LCAxNHB4LCA1MDApLFxuICAvLyBMaW5lLWhlaWdodCBtdXN0IGJlIHVuaXQtbGVzcyBmcmFjdGlvbiBvZiB0aGUgZm9udC1zaXplLlxuICAkaW5wdXQ6ICAgICAgICAgbWF0LXR5cG9ncmFwaHktbGV2ZWwoaW5oZXJpdCwgMS4xMjUsIDQwMClcbikge1xuXG4gIC8vIERlY2xhcmUgYW4gaW5pdGlhbCBtYXAgd2l0aCBhbGwgb2YgdGhlIGxldmVscy5cbiAgJGNvbmZpZzogKFxuICAgIGRpc3BsYXktNDogICAgICAkZGlzcGxheS00LFxuICAgIGRpc3BsYXktMzogICAgICAkZGlzcGxheS0zLFxuICAgIGRpc3BsYXktMjogICAgICAkZGlzcGxheS0yLFxuICAgIGRpc3BsYXktMTogICAgICAkZGlzcGxheS0xLFxuICAgIGhlYWRsaW5lOiAgICAgICAkaGVhZGxpbmUsXG4gICAgdGl0bGU6ICAgICAgICAgICR0aXRsZSxcbiAgICBzdWJoZWFkaW5nLTI6ICAgJHN1YmhlYWRpbmctMixcbiAgICBzdWJoZWFkaW5nLTE6ICAgJHN1YmhlYWRpbmctMSxcbiAgICBib2R5LTI6ICAgICAgICAgJGJvZHktMixcbiAgICBib2R5LTE6ICAgICAgICAgJGJvZHktMSxcbiAgICBjYXB0aW9uOiAgICAgICAgJGNhcHRpb24sXG4gICAgYnV0dG9uOiAgICAgICAgICRidXR0b24sXG4gICAgaW5wdXQ6ICAgICAgICAgICRpbnB1dCxcbiAgKTtcblxuICAvLyBMb29wIHRocm91Z2ggdGhlIGxldmVscyBhbmQgc2V0IHRoZSBgZm9udC1mYW1pbHlgIG9mIHRoZSBvbmVzIHRoYXQgZG9uJ3QgaGF2ZSBvbmUgdG8gdGhlIGJhc2UuXG4gIC8vIE5vdGUgdGhhdCBTYXNzIGNhbid0IG1vZGlmeSBtYXBzIGluIHBsYWNlLCB3aGljaCBtZWFucyB0aGF0IHdlIG5lZWQgdG8gbWVyZ2UgYW5kIHJlLWFzc2lnbi5cbiAgQGVhY2ggJGtleSwgJGxldmVsIGluICRjb25maWcge1xuICAgIEBpZiBtYXAtZ2V0KCRsZXZlbCwgZm9udC1mYW1pbHkpID09IG51bGwge1xuICAgICAgJG5ldy1sZXZlbDogbWFwLW1lcmdlKCRsZXZlbCwgKGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkpKTtcbiAgICAgICRjb25maWc6IG1hcC1tZXJnZSgkY29uZmlnLCAoJGtleTogJG5ldy1sZXZlbCkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFkZCB0aGUgYmFzZSBmb250IGZhbWlseSB0byB0aGUgY29uZmlnLlxuICBAcmV0dXJuIG1hcC1tZXJnZSgkY29uZmlnLCAoZm9udC1mYW1pbHk6ICRmb250LWZhbWlseSkpO1xufVxuXG4vLyBXaGV0aGVyIGEgY29uZmlnIGlzIGZvciB0aGUgTWF0ZXJpYWwgRGVzaWduIDIwMTggdHlwb2dyYXBoeSBzeXN0ZW0uXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtdHlwb2dyYXBoeS1pcy0yMDE4LWNvbmZpZygkY29uZmlnKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS0xKSAhPSBudWxsO1xufVxuXG4vLyBXaGV0aGVyIGEgY29uZmlnIGlzIGZvciB0aGUgTWF0ZXJpYWwgRGVzaWduIDIwMTQgdHlwb2dyYXBoeSBzeXN0ZW0uXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtdHlwb2dyYXBoeS1pcy0yMDE0LWNvbmZpZygkY29uZmlnKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZSkgIT0gbnVsbDtcbn1cblxuLy8gR2l2ZW4gYSBjb25maWcgZm9yIGVpdGhlciB0aGUgMjAxNCBvciAyMDE4IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbSxcbi8vIHByb2R1Y2VzIGEgbm9ybWFsaXplZCB0eXBvZ3JhcGh5IGNvbmZpZyBmb3IgdGhlIDIwMTQgTWF0ZXJpYWwgRGVzaWduIHR5cG9ncmFwaHkgc3lzdGVtLlxuLy8gMjAxNCAtIGh0dHBzOi8vbWF0ZXJpYWwuaW8vYXJjaGl2ZS9ndWlkZWxpbmVzL3N0eWxlL3R5cG9ncmFwaHkuaHRtbCN0eXBvZ3JhcGh5LXN0eWxlc1xuLy8gMjAxOCAtIGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL3R5cG9ncmFwaHkvdGhlLXR5cGUtc3lzdGVtLmh0bWwjdHlwZS1zY2FsZVxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktdG8tMjAxNC1jb25maWcoJGNvbmZpZykge1xuICBAaWYgbWF0LXByaXZhdGUtdHlwb2dyYXBoeS1pcy0yMDE4LWNvbmZpZygkY29uZmlnKSB7XG4gICAgQHJldHVybiBtYXQtdHlwb2dyYXBoeS1jb25maWcoXG4gICAgICAgICRkaXNwbGF5LTQ6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMSksXG4gICAgICAgICRkaXNwbGF5LTM6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMiksXG4gICAgICAgICRkaXNwbGF5LTI6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtMyksXG4gICAgICAgICRkaXNwbGF5LTE6IG1hcC1nZXQoJGNvbmZpZywgaGVhZGxpbmUtNCksXG4gICAgICAgICRoZWFkbGluZTogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZS01KSxcbiAgICAgICAgJHRpdGxlOiBtYXAtZ2V0KCRjb25maWcsIGhlYWRsaW5lLTYpLFxuICAgICAgICAkc3ViaGVhZGluZy0yOiBtYXAtZ2V0KCRjb25maWcsIHN1YnRpdGxlLTEpLFxuICAgICAgICAkc3ViaGVhZGluZy0xOiBtYXAtZ2V0KCRjb25maWcsIHN1YnRpdGxlLTIpLFxuICAgICAgICAkYm9keS0yOiBtYXAtZ2V0KCRjb25maWcsIGJvZHktMSksXG4gICAgICAgICRib2R5LTE6IG1hcC1nZXQoJGNvbmZpZywgYm9keS0yKSxcbiAgICAgICAgJGJ1dHRvbjogbWFwLWdldCgkY29uZmlnLCBidXR0b24pLFxuICAgICAgICAkY2FwdGlvbjogbWFwLWdldCgkY29uZmlnLCBjYXB0aW9uKSxcbiAgICApO1xuICB9XG4gIEByZXR1cm4gJGNvbmZpZztcbn1cblxuLy8gR2l2ZW4gYSBjb25maWcgZm9yIGVpdGhlciB0aGUgMjAxNCBvciAyMDE4IE1hdGVyaWFsIERlc2lnbiB0eXBvZ3JhcGh5IHN5c3RlbSxcbi8vIHByb2R1Y2VzIGEgbm9ybWFsaXplZCB0eXBvZ3JhcGh5IGNvbmZpZyBmb3IgdGhlIDIwMTggTWF0ZXJpYWwgRGVzaWduIHR5cG9ncmFwaHkgc3lzdGVtLlxuLy8gMjAxNCAtIGh0dHBzOi8vbWF0ZXJpYWwuaW8vYXJjaGl2ZS9ndWlkZWxpbmVzL3N0eWxlL3R5cG9ncmFwaHkuaHRtbCN0eXBvZ3JhcGh5LXN0eWxlc1xuLy8gMjAxOCAtIGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL3R5cG9ncmFwaHkvdGhlLXR5cGUtc3lzdGVtLmh0bWwjdHlwZS1zY2FsZVxuQGZ1bmN0aW9uIG1hdC1wcml2YXRlLXR5cG9ncmFwaHktdG8tMjAxOC1jb25maWcoJGNvbmZpZykge1xuICBAaWYgbWF0LXByaXZhdGUtdHlwb2dyYXBoeS1pcy0yMDE0LWNvbmZpZygkY29uZmlnKSB7XG4gICAgQHJldHVybiAoXG4gICAgICAgIGhlYWRsaW5lLTE6IG1hcC1nZXQoJGNvbmZpZywgZGlzcGxheS00KSxcbiAgICAgICAgaGVhZGxpbmUtMjogbWFwLWdldCgkY29uZmlnLCBkaXNwbGF5LTMpLFxuICAgICAgICBoZWFkbGluZS0zOiBtYXAtZ2V0KCRjb25maWcsIGRpc3BsYXktMiksXG4gICAgICAgIGhlYWRsaW5lLTQ6IG1hcC1nZXQoJGNvbmZpZywgZGlzcGxheS0xKSxcbiAgICAgICAgaGVhZGxpbmUtNTogbWFwLWdldCgkY29uZmlnLCBoZWFkbGluZSksXG4gICAgICAgIGhlYWRsaW5lLTY6IG1hcC1nZXQoJGNvbmZpZywgdGl0bGUpLFxuICAgICAgICBzdWJ0aXRsZS0xOiBtYXAtZ2V0KCRjb25maWcsIHN1YmhlYWRpbmctMiksXG4gICAgICAgIHN1YnRpdGxlLTI6IG1hcC1nZXQoJGNvbmZpZywgc3ViaGVhZGluZy0xKSxcbiAgICAgICAgYm9keS0xOiBtYXAtZ2V0KCRjb25maWcsIGJvZHktMiksXG4gICAgICAgIGJvZHktMjogbWFwLWdldCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgICBidXR0b246IG1hcC1nZXQoJGNvbmZpZywgYnV0dG9uKSxcbiAgICAgICAgY2FwdGlvbjogbWFwLWdldCgkY29uZmlnLCBjYXB0aW9uKSxcbiAgICApO1xuICB9XG4gIEByZXR1cm4gJGNvbmZpZztcbn1cblxuLy8gQWRkcyB0aGUgYmFzZSB0eXBvZ3JhcGh5IHN0eWxlcywgYmFzZWQgb24gYSBjb25maWcuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF0ZXJpYWwvdGhlbWUtbWl4aW4tYXBpICovXG5AbWl4aW4gbWF0LWJhc2UtdHlwb2dyYXBoeSgkY29uZmlnLCAkc2VsZWN0b3I6ICcubWF0LXR5cG9ncmFwaHknKSB7XG4gIC5tYXQtaDEsIC5tYXQtaGVhZGxpbmUsICN7JHNlbGVjdG9yfSBoMSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGhlYWRsaW5lKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oMiwgLm1hdC10aXRsZSwgI3skc2VsZWN0b3J9IGgyIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgdGl0bGUpO1xuICAgIG1hcmdpbjogMCAwIDE2cHg7XG4gIH1cblxuICAubWF0LWgzLCAubWF0LXN1YmhlYWRpbmctMiwgI3skc2VsZWN0b3J9IGgzIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICBtYXJnaW46IDAgMCAxNnB4O1xuICB9XG5cbiAgLm1hdC1oNCwgLm1hdC1zdWJoZWFkaW5nLTEsICN7JHNlbGVjdG9yfSBoNCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHN1YmhlYWRpbmctMSk7XG4gICAgbWFyZ2luOiAwIDAgMTZweDtcbiAgfVxuXG4gIC8vIE5vdGU6IHRoZSBzcGVjIGRvZXNuJ3QgaGF2ZSBhbnl0aGluZyB0aGF0IHdvdWxkIGNvcnJlc3BvbmQgdG8gaDUgYW5kIGg2LCBidXQgd2UgYWRkIHRoZXNlIGZvclxuICAvLyBjb25zaXN0ZW5jeS4gVGhlIGZvbnQgc2l6ZXMgY29tZSBmcm9tIHRoZSBDaHJvbWUgdXNlciBhZ2VudCBzdHlsZXMgd2hpY2ggaGF2ZSBoNSBhdCAwLjgzZW1cbiAgLy8gYW5kIGg2IGF0IDAuNjdlbS5cbiAgLm1hdC1oNSwgI3skc2VsZWN0b3J9IGg1IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1mb250LXNob3J0aGFuZChcbiAgICAgICAvLyBjYWxjIGlzIHVzZWQgaGVyZSB0byBzdXBwb3J0IGNzcyB2YXJpYWJsZXNcbiAgICAgIGNhbGMoI3ttYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSl9ICogMC44MyksXG4gICAgICBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBib2R5LTEpLFxuICAgICAgbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMSlcbiAgICApO1xuXG4gICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgfVxuXG4gIC5tYXQtaDYsICN7JHNlbGVjdG9yfSBoNiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktZm9udC1zaG9ydGhhbmQoXG4gICAgICAgLy8gY2FsYyBpcyB1c2VkIGhlcmUgdG8gc3VwcG9ydCBjc3MgdmFyaWFibGVzXG4gICAgICBjYWxjKCN7bWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpfSAqIDAuNjcpLFxuICAgICAgbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSksXG4gICAgICBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgYm9keS0xKSxcbiAgICAgIG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpXG4gICAgKTtcblxuICAgIG1hcmdpbjogMCAwIDEycHg7XG4gIH1cblxuICAubWF0LWJvZHktc3Ryb25nLCAubWF0LWJvZHktMiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGJvZHktMik7XG4gIH1cblxuICAubWF0LWJvZHksIC5tYXQtYm9keS0xLCAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTEpO1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc21hbGwsIC5tYXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGNhcHRpb24pO1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTQsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktNCB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktNCk7XG4gICAgbWFyZ2luOiAwIDAgNTZweDtcbiAgfVxuXG4gIC5tYXQtZGlzcGxheS0zLCAjeyRzZWxlY3Rvcn0gLm1hdC1kaXNwbGF5LTMge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBkaXNwbGF5LTMpO1xuICAgIG1hcmdpbjogMCAwIDY0cHg7XG4gIH1cblxuICAubWF0LWRpc3BsYXktMiwgI3skc2VsZWN0b3J9IC5tYXQtZGlzcGxheS0yIHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgZGlzcGxheS0yKTtcbiAgICBtYXJnaW46IDAgMCA2NHB4O1xuICB9XG5cbiAgLm1hdC1kaXNwbGF5LTEsICN7JHNlbGVjdG9yfSAubWF0LWRpc3BsYXktMSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIGRpc3BsYXktMSk7XG4gICAgbWFyZ2luOiAwIDAgNjRweDtcbiAgfVxufVxuXG5cblxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC1hdXRvY29tcGxldGUtcGFuZWwge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgLy8gU2VsZWN0ZWQgb3B0aW9ucyBpbiBhdXRvY29tcGxldGVzIHNob3VsZCBub3QgYmUgZ3JheSwgYnV0IHdlXG4gICAgLy8gb25seSB3YW50IHRvIG92ZXJyaWRlIHRoZSBiYWNrZ3JvdW5kIGZvciBzZWxlY3RlZCBvcHRpb25zIGlmXG4gICAgLy8gdGhleSBhcmUgKm5vdCogaW4gaG92ZXIgb3IgZm9jdXMgc3RhdGUuIFRoaXMgY2hhbmdlIGhhcyB0byBiZVxuICAgIC8vIG1hZGUgaGVyZSBiZWNhdXNlIGJhc2Ugb3B0aW9uIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlXG4gICAgLy8gYXV0b2NvbXBsZXRlIGFuZCB0aGUgc2VsZWN0LlxuICAgIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1hY3RpdmUpOm5vdCg6aG92ZXIpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG5cbiAgICAgICY6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWF1dG9jb21wbGV0ZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LWF1dG9jb21wbGV0ZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtYXV0b2NvbXBsZXRlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1hdXRvY29tcGxldGUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYXV0b2NvbXBsZXRlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtYXV0b2NvbXBsZXRlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYXV0b2NvbXBsZXRlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIGNvbnRhaW5zIGFsbCBvZiB0aGUgc3R5bGVzIGZvciB0aGUgYmFkZ2Vcbi8vIHJhdGhlciB0aGFuIGp1c3QgdGhlIGNvbG9yL3RoZW1lIGJlY2F1c2Ugb2Zcbi8vIG5vIHN0eWxlIHNoZWV0IHN1cHBvcnQgZm9yIGRpcmVjdGl2ZXMuXG5cblxuXG5cblxuJG1hdC1iYWRnZS1mb250LXNpemU6IDEycHg7XG4kbWF0LWJhZGdlLWZvbnQtd2VpZ2h0OiA2MDA7XG4kbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZTogMjJweCAhZGVmYXVsdDtcbiRtYXQtYmFkZ2Utc21hbGwtc2l6ZTogJG1hdC1iYWRnZS1kZWZhdWx0LXNpemUgLSA2O1xuJG1hdC1iYWRnZS1sYXJnZS1zaXplOiAkbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZSArIDY7XG5cbi8vIE1peGluIGZvciBidWlsZGluZyBvZmZzZXQgZ2l2ZW4gZGlmZmVyZW50IHNpemVzXG5AbWl4aW4gX21hdC1iYWRnZS1zaXplKCRzaXplKSB7XG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRzaXplO1xuICB9XG5cbiAgJi5tYXQtYmFkZ2UtYWJvdmUge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICB0b3A6IC0kc2l6ZSAvIDI7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtYmFkZ2UtYmVsb3cge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBib3R0b206IC0kc2l6ZSAvIDI7XG4gICAgfVxuICB9XG5cbiAgJi5tYXQtYmFkZ2UtYmVmb3JlIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgbGVmdDogLSRzaXplO1xuICAgIH1cbiAgfVxuXG4gIFtkaXI9J3J0bCddICYubWF0LWJhZGdlLWJlZm9yZSB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogLSRzaXplO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLWFmdGVyIHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB9XG4gIH1cblxuICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1hZnRlciB7XG4gICAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogLSRzaXplO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LWJhZGdlLW92ZXJsYXAge1xuICAgICYubWF0LWJhZGdlLWJlZm9yZSB7XG4gICAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgICBsZWZ0OiAtJHNpemUgLyAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIFtkaXI9J3J0bCddICYubWF0LWJhZGdlLWJlZm9yZSB7XG4gICAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLSRzaXplIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1iYWRnZS1hZnRlciB7XG4gICAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgICByaWdodDogLSRzaXplIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBbZGlyPSdydGwnXSAmLm1hdC1iYWRnZS1hZnRlciB7XG4gICAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogLSRzaXplIC8gMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1iYWRnZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRwcmltYXJ5KTtcblxuICAgIEBpbmNsdWRlIGNkay1oaWdoLWNvbnRyYXN0KGFjdGl2ZSwgb2ZmKSB7XG4gICAgICBvdXRsaW5lOiBzb2xpZCAxcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2UtYWNjZW50IHtcbiAgICAubWF0LWJhZGdlLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJhZGdlLXdhcm4ge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLm1hdC1iYWRnZS1oaWRkZW4ge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtYmFkZ2UtZGlzYWJsZWQge1xuICAgIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgICAkYXBwLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2JhY2tncm91bmQnKTtcbiAgICAgICRiYWRnZS1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24pO1xuXG4gICAgICAvLyBUaGUgZGlzYWJsZWQgY29sb3IgdXN1YWxseSBoYXMgc29tZSBraW5kIG9mIG9wYWNpdHksIGJ1dCBiZWNhdXNlIHRoZSBiYWRnZSBpcyBvdmVybGF5ZWRcbiAgICAgIC8vIG9uIHRvcCBvZiBzb21ldGhpbmcgZWxzZSwgaXQgd29uJ3QgbG9vayBnb29kIGlmIGl0J3Mgb3BhcXVlLiBJZiBpdCBpcyBhIGNvbG9yICp0eXBlKixcbiAgICAgIC8vIHdlIGNvbnZlcnQgaXQgaW50byBhIHNvbGlkIGNvbG9yIGJ5IHRha2luZyB0aGUgb3BhY2l0eSBmcm9tIHRoZSByZ2JhIHZhbHVlIGFuZCB1c2luZ1xuICAgICAgLy8gdGhlIHZhbHVlIHRvIGRldGVybWluZSB0aGUgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCB0byBwdXQgaW50byBmb3JlZ3JvdW5kIHdoZW5cbiAgICAgIC8vIG1peGluZyB0aGUgY29sb3JzIHRvZ2V0aGVyLlxuICAgICAgQGlmICh0eXBlLW9mKCRiYWRnZS1jb2xvcikgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGFwcC1iYWNrZ3JvdW5kKSA9PSBjb2xvcikge1xuICAgICAgICAkYmFkZ2Utb3BhY2l0eTogb3BhY2l0eSgkYmFkZ2UtY29sb3IpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtaXgoJGFwcC1iYWNrZ3JvdW5kLCByZ2JhKCRiYWRnZS1jb2xvciwgMSksICgxIC0gJGJhZGdlLW9wYWNpdHkpICogMTAwJSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRiYWRnZS1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAubmctYW5pbWF0ZS1kaXNhYmxlZCAubWF0LWJhZGdlLWNvbnRlbnQsXG4gIC5tYXQtYmFkZ2UtY29udGVudC5fbWF0LWFuaW1hdGlvbi1ub29wYWJsZSB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSBhY3RpdmUgY2xhc3MgaXMgYWRkZWQgYWZ0ZXIgdGhlIGVsZW1lbnQgaXMgYWRkZWRcbiAgLy8gc28gaXQgY2FuIGFuaW1hdGUgc2NhbGUgdG8gZGVmYXVsdFxuICAubWF0LWJhZGdlLWNvbnRlbnQubWF0LWJhZGdlLWFjdGl2ZSB7XG4gICAgLy8gU2NhbGUgdG8gYG5vbmVgIGluc3RlYWQgb2YgYDFgIHRvIGF2b2lkIGJsdXJyeSB0ZXh0IGluIHNvbWUgYnJvd3NlcnMuXG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLm1hdC1iYWRnZS1zbWFsbCB7XG4gICAgQGluY2x1ZGUgX21hdC1iYWRnZS1zaXplKCRtYXQtYmFkZ2Utc21hbGwtc2l6ZSk7XG4gIH1cbiAgLm1hdC1iYWRnZS1tZWRpdW0ge1xuICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2Utc2l6ZSgkbWF0LWJhZGdlLWRlZmF1bHQtc2l6ZSk7XG4gIH1cbiAgLm1hdC1iYWRnZS1sYXJnZSB7XG4gICAgQGluY2x1ZGUgX21hdC1iYWRnZS1zaXplKCRtYXQtYmFkZ2UtbGFyZ2Utc2l6ZSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1iYWRnZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICBmb250LXdlaWdodDogJG1hdC1iYWRnZS1mb250LXdlaWdodDtcbiAgICBmb250LXNpemU6ICRtYXQtYmFkZ2UtZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWJhZGdlLXNtYWxsIC5tYXQtYmFkZ2UtY29udGVudCB7XG4gICAgLy8gU2V0IHRoZSBmb250IHNpemUgdG8gNzUlIG9mIHRoZSBvcmlnaW5hbC5cbiAgICBmb250LXNpemU6ICRtYXQtYmFkZ2UtZm9udC1zaXplICogMC43NTtcbiAgfVxuXG4gIC5tYXQtYmFkZ2UtbGFyZ2UgLm1hdC1iYWRnZS1jb250ZW50IHtcbiAgICBmb250LXNpemU6ICRtYXQtYmFkZ2UtZm9udC1zaXplICogMjtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1iYWRnZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtYmFkZ2UtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWJhZGdlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJhZGdlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtYmFkZ2UtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1iYWRnZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtYm90dG9tLXNoZWV0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigxNiwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaWFsb2cpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYm90dG9tLXNoZWV0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWJvdHRvbS1zaGVldC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBib2R5LTEpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWJvdHRvbS1zaGVldC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtYm90dG9tLXNoZWV0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1ib3R0b20tc2hlZXQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtYm90dG9tLXNoZWV0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbiRfbWF0LWJ1dHRvbi1yaXBwbGUtb3BhY2l0eTogMC4xO1xuXG4vLyBBcHBsaWVzIGEgZm9jdXMgc3R5bGUgdG8gYW4gbWF0LWJ1dHRvbiBlbGVtZW50IGZvciBlYWNoIG9mIHRoZSBzdXBwb3J0ZWQgcGFsZXR0ZXMuXG5AbWl4aW4gX21hdC1idXR0b24tZm9jdXMtb3ZlcmxheS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAmLm1hdC1wcmltYXJ5IC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gIH1cblxuICAmLm1hdC1hY2NlbnQgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICB9XG5cbiAgJi5tYXQtd2FybiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4pO1xuICB9XG5cbiAgJi5tYXQtYnV0dG9uLWRpc2FibGVkIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vIEFwcGxpZXMgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIGEgcmlwcGxlLiBJZiB0aGUgdmFsdWUgcHJvdmlkZWQgaXMgbm90IGEgU2FzcyBjb2xvcixcbi8vIHdlIGFzc3VtZSB0aGF0IHdlJ3ZlIGJlZW4gZ2l2ZW4gYSBDU1MgdmFyaWFibGUuIFNpbmNlIHdlIGNhbid0IHBlcmZvcm0gYWxwaGEtYmxlbmRpbmdcbi8vIG9uIGEgQ1NTIHZhcmlhYmxlLCB3ZSBpbnN0ZWFkIGFkZCB0aGUgb3BhY2l0eSBkaXJlY3RseSB0byB0aGUgcmlwcGxlIGVsZW1lbnQuXG5AbWl4aW4gX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJHBhbGV0dGUsICRodWUsICRvcGFjaXR5KSB7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICRodWUsICRvcGFjaXR5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIEBpZiAodHlwZS1vZigkYmFja2dyb3VuZC1jb2xvcikgIT0gY29sb3IpIHtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1idXR0b24tcmlwcGxlLWNvbG9yKCR0aGVtZSwgJGh1ZSwgJG9wYWNpdHk6ICRfbWF0LWJ1dHRvbi1yaXBwbGUtb3BhY2l0eSkge1xuICAkcHJpbWFyeTogbWFwLWdldCgkdGhlbWUsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJHRoZW1lLCB3YXJuKTtcblxuICAmLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1iYWNrZ3JvdW5kKCRwcmltYXJ5LCAkaHVlLCAkb3BhY2l0eSk7XG4gIH1cblxuICAmLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgQGluY2x1ZGUgX21hdC1idXR0b24tcmlwcGxlLWJhY2tncm91bmQoJGFjY2VudCwgJGh1ZSwgJG9wYWNpdHkpO1xuICB9XG5cbiAgJi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1yaXBwbGUtYmFja2dyb3VuZCgkd2FybiwgJGh1ZSwgJG9wYWNpdHkpO1xuICB9XG59XG5cbi8vIEFwcGxpZXMgYSBwcm9wZXJ0eSB0byBhbiBtYXQtYnV0dG9uIGVsZW1lbnQgZm9yIGVhY2ggb2YgdGhlIHN1cHBvcnRlZCBwYWxldHRlcy5cbkBtaXhpbiBfbWF0LWJ1dHRvbi10aGVtZS1wcm9wZXJ0eSgkdGhlbWUsICRwcm9wZXJ0eSwgJGh1ZSkge1xuICAkcHJpbWFyeTogbWFwLWdldCgkdGhlbWUsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCR0aGVtZSwgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJHRoZW1lLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJHRoZW1lLCBmb3JlZ3JvdW5kKTtcblxuICAmLm1hdC1wcmltYXJ5IHtcbiAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkcHJpbWFyeSwgJGh1ZSk7XG4gIH1cbiAgJi5tYXQtYWNjZW50IHtcbiAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkYWNjZW50LCAkaHVlKTtcbiAgfVxuICAmLm1hdC13YXJuIHtcbiAgICAjeyRwcm9wZXJ0eX06IG1hdC1jb2xvcigkd2FybiwgJGh1ZSk7XG4gIH1cblxuICAmLm1hdC1wcmltYXJ5LCAmLm1hdC1hY2NlbnQsICYubWF0LXdhcm4sICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgJi5tYXQtYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgICRwYWxldHRlOiBpZigkcHJvcGVydHkgPT0gJ2NvbG9yJywgJGZvcmVncm91bmQsICRiYWNrZ3JvdW5kKTtcbiAgICAgICN7JHByb3BlcnR5fTogbWF0LWNvbG9yKCRwYWxldHRlLCBkaXNhYmxlZC1idXR0b24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWJ1dHRvbi1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtYnV0dG9uLCAubWF0LWljb24tYnV0dG9uLCAubWF0LXN0cm9rZWQtYnV0dG9uIHtcbiAgICAvLyBCdXR0b25zIHdpdGhvdXQgYSBiYWNrZ3JvdW5kIGNvbG9yIHNob3VsZCBpbmhlcml0IHRoZSBmb250IGNvbG9yLiBUaGlzIGlzIG5lY2Vzc2FyeSB0b1xuICAgIC8vIGVuc3VyZSB0aGF0IHRoZSBidXR0b24gaXMgcmVhZGFibGUgb24gY3VzdG9tIGJhY2tncm91bmQgY29sb3JzLiBJdCdzIHdyb25nIHRvIGFsd2F5cyBhc3N1bWVcbiAgICAvLyB0aGF0IHRob3NlIGJ1dHRvbnMgYXJlIGFsd2F5cyBwbGFjZWQgaW5zaWRlIG9mIGNvbnRhaW5lcnMgd2l0aCB0aGUgZGVmYXVsdCBiYWNrZ3JvdW5kXG4gICAgLy8gY29sb3Igb2YgdGhlIHRoZW1lIChlLmcuIHRoZW1lZCB0b29sYmFycykuXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi10aGVtZS1wcm9wZXJ0eSgkY29uZmlnLCAnY29sb3InLCB0ZXh0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LWNvbG9yKCRjb25maWcpO1xuXG4gICAgLy8gU2V0dXAgdGhlIHJpcHBsZSBjb2xvciB0byBiZSBiYXNlZCBvbiB0aGUgdGV4dCBjb2xvci4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHJpcHBsZXNcbiAgICAvLyBhcmUgbWF0Y2hpbmcgd2l0aCB0aGUgY3VycmVudCB0aGVtZSBwYWxldHRlIGFuZCBhcmUgaW4gY29udHJhc3QgdG8gdGhlIGJhY2tncm91bmQgY29sb3JcbiAgICAvLyAoZS5nIGluIHRoZW1lZCB0b29sYmFycykuXG4gICAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBvcGFjaXR5OiAkX21hdC1idXR0b24tcmlwcGxlLW9wYWNpdHk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm9yZWdyb3VuZCwgYmFzZSk7XG4gIH1cblxuICAvLyBOb3RlOiB0aGlzIG5lZWRzIGEgYml0IGV4dHJhIHNwZWNpZmljaXR5LCBiZWNhdXNlIHdlJ3JlIG5vdCBndWFyYW50ZWVkIHRoZSBpbmNsdXNpb25cbiAgLy8gb3JkZXIgb2YgdGhlIHRoZW1lIHN0eWxlcyBhbmQgdGhlIGJ1dHRvbiByZXNldCBtYXkgZW5kIHVwIHJlc2V0dGluZyB0aGlzIGFzIHdlbGwuXG4gIC5tYXQtc3Ryb2tlZC1idXR0b246bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1mbGF0LWJ1dHRvbiwgLm1hdC1yYWlzZWQtYnV0dG9uLCAubWF0LWZhYiwgLm1hdC1taW5pLWZhYiB7XG4gICAgLy8gRGVmYXVsdCBmb250IGFuZCBiYWNrZ3JvdW5kIGNvbG9yIHdoZW4gbm90IHVzaW5nIGFueSBjb2xvciBwYWxldHRlLlxuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgcmFpc2VkLWJ1dHRvbik7XG5cbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi10aGVtZS1wcm9wZXJ0eSgkY29uZmlnLCAnY29sb3InLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICBAaW5jbHVkZSBfbWF0LWJ1dHRvbi10aGVtZS1wcm9wZXJ0eSgkY29uZmlnLCAnYmFja2dyb3VuZC1jb2xvcicsIGRlZmF1bHQpO1xuICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLXJpcHBsZS1jb2xvcigkY29uZmlnLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtc3Ryb2tlZC1idXR0b24sIC5tYXQtZmxhdC1idXR0b24ge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigwLCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtcmFpc2VkLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDIsICRjb25maWcpO1xuXG4gICAgJjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oOCwgJGNvbmZpZyk7XG4gICAgfVxuXG4gICAgJi5tYXQtYnV0dG9uLWRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigwLCAkY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWZhYiwgLm1hdC1taW5pLWZhYiB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDYsICRjb25maWcpO1xuXG4gICAgJjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmFjdGl2ZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMTIsICRjb25maWcpO1xuICAgIH1cblxuICAgICYubWF0LWJ1dHRvbi1kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWJ1dHRvbiwgLm1hdC1yYWlzZWQtYnV0dG9uLCAubWF0LWljb24tYnV0dG9uLCAubWF0LXN0cm9rZWQtYnV0dG9uLFxuICAubWF0LWZsYXQtYnV0dG9uLCAubWF0LWZhYiwgLm1hdC1taW5pLWZhYiB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWJ1dHRvbi1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1idXR0b24nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtYnV0dG9uLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtYnV0dG9uLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG4kbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuLy8gTWluaW11bSBoZWlnaHQgZm9yIGhpZ2hlc3QgZGVuc2l0eSBjYW4gdmFyeSBiYXNlZCBvbiB0aGUgY29udGVudCB0aGF0IGRldmVsb3BlcnNcbi8vIHByb2plY3QgaW50byBidXR0b24tdG9nZ2xlJ3MuIFdlIHVzZSBhIG1pbmltdW0gb2YgYDI0cHhgIHRob3VnaCBiZWNhdXNlIGNvbW1vbmx5XG4vLyBpY29ucyBvciB0ZXh0IGFyZSBkaXNwbGF5ZWQuIEljb25zIGJ5IGRlZmF1bHQgaGF2ZSBhIHNpemUgb2YgYDI0cHhgLlxuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1pbmltdW0taGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1heGltdW0taGVpZ2h0OiAkbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LWJ1dHRvbi10b2dnbGUtc3RhbmRhcmQtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYXJkLW1pbmltdW0taGVpZ2h0LFxuICApXG4pICFkZWZhdWx0O1xuXG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRkaXZpZGVyLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLFxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigyLCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFsb25lLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQsXG4gIC5tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuXG4gICAgLm1hdC1idXR0b24tdG9nZ2xlLWZvY3VzLW92ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBmb2N1c2VkLWJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG5cbiAgICAubWF0LWJ1dHRvbi10b2dnbGUtZm9jdXMtb3ZlcmxheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGZvY3VzZWQtYnV0dG9uLCAxKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgIGJvcmRlci1sZWZ0OiBzb2xpZCAxcHggJGRpdmlkZXItY29sb3I7XG4gIH1cblxuICBbZGlyPSdydGwnXSAubWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUgKyAubWF0LWJ1dHRvbi10b2dnbGUge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQubWF0LWJ1dHRvbi10b2dnbGUtdmVydGljYWwge1xuICAgIC5tYXQtYnV0dG9uLXRvZ2dsZSArIC5tYXQtYnV0dG9uLXRvZ2dsZSB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkZGl2aWRlci1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBzZWxlY3RlZC1idXR0b24pO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcblxuICAgICYubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWJ1dHRvbi10b2dnbGUtZGlzYWJsZWQge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLWJ1dHRvbik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaXNhYmxlZC1idXR0b24tdG9nZ2xlKTtcblxuICAgICYubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIH1cblxuICAgICYubWF0LWJ1dHRvbi10b2dnbGUtY2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHNlbGVjdGVkLWRpc2FibGVkLWJ1dHRvbik7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1idXR0b24tdG9nZ2xlLXN0YW5kYWxvbmUubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCxcbiAgLm1hdC1idXR0b24tdG9nZ2xlLWdyb3VwLWFwcGVhcmFuY2Utc3RhbmRhcmQge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRkaXZpZGVyLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1idXR0b24tdG9nZ2xlIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtYnV0dG9uLXRvZ2dsZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRzdGFuZGFyZC1oZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICRtYXQtYnV0dG9uLXRvZ2dsZS1zdGFuZGFyZC1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LWJ1dHRvbi10b2dnbGUtYXBwZWFyYW5jZS1zdGFuZGFyZCAubWF0LWJ1dHRvbi10b2dnbGUtbGFiZWwtY29udGVudCB7XG4gICAgICBsaW5lLWhlaWdodDogJHN0YW5kYXJkLWhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1idXR0b24tdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1idXR0b24tdG9nZ2xlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdG9nZ2xlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWNhcmQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtY2FyZCB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtb3ZlcnJpZGFibGUtZWxldmF0aW9uKDEsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAvLyBOZWVkcyBleHRyYSBzcGVjaWZpY2l0eSB0byBiZSBhYmxlIHRvIG92ZXJyaWRlIHRoZSBlbGV2YXRpb24gc2VsZWN0b3JzLlxuICAgICYubWF0LWNhcmQtZmxhdCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1vdmVycmlkYWJsZS1lbGV2YXRpb24oMCwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYXJkLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1jYXJkLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNhcmQge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWNhcmQtdGl0bGUge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgaGVhZGxpbmUpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgdGl0bGUpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FyZC1oZWFkZXIgLm1hdC1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgdGl0bGUpO1xuICB9XG5cbiAgLm1hdC1jYXJkLXN1YnRpdGxlLFxuICAubWF0LWNhcmQtY29udGVudCB7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2FyZC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtY2FyZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY2FyZCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jYXJkLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtY2FyZC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNhcmQtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIG1hdC1jaGVja2JveC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuXG4gIC8vIFRoZSBjb2xvciBvZiB0aGUgY2hlY2tib3gncyBjaGVja21hcmsgLyBtaXhlZG1hcmsuXG4gICRjaGVja2JveC1tYXJrLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGJhY2tncm91bmQpO1xuXG4gIC8vIE5PVEUodHJhdmlza2F1Zm1hbik6IFdoaWxlIHRoZSBzcGVjIGNhbGxzIGZvciB0cmFuc2x1Y2VudCBibGFja3Mvd2hpdGVzIGZvciBkaXNhYmxlZCBjb2xvcnMsXG4gIC8vIHRoaXMgZG9lcyBub3Qgd29yayB3ZWxsIHdpdGggZWxlbWVudHMgbGF5ZXJlZCBvbiB0b3Agb2Ygb25lIGFub3RoZXIuIFRvIGdldCBhcm91bmQgdGhpcyB3ZVxuICAvLyBibGVuZCB0aGUgY29sb3JzIHRvZ2V0aGVyIGJhc2VkIG9uIHRoZSBiYXNlIGNvbG9yIGFuZCB0aGUgdGhlbWUgYmFja2dyb3VuZC5cbiAgJHdoaXRlLTMwcGN0LW9wYWNpdHktb24tZGFyazogIzY4Njg2ODtcbiAgJGJsYWNrLTI2cGN0LW9wYWNpdHktb24tbGlnaHQ6ICNiMGIwYjA7XG4gICRkaXNhYmxlZC1jb2xvcjogaWYoJGlzLWRhcmstdGhlbWUsICR3aGl0ZS0zMHBjdC1vcGFjaXR5LW9uLWRhcmssICRibGFjay0yNnBjdC1vcGFjaXR5LW9uLWxpZ2h0KTtcblxuICAubWF0LWNoZWNrYm94LWZyYW1lIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1jaGVja21hcmsge1xuICAgIGZpbGw6ICRjaGVja2JveC1tYXJrLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aCB7XG4gICAgLy8gIWltcG9ydGFudCBpcyBuZWVkZWQgaGVyZSBiZWNhdXNlIGEgc3Ryb2tlIG11c3QgYmUgc2V0IGFzIGFuXG4gICAgLy8gYXR0cmlidXRlIG9uIHRoZSBTVkcgaW4gb3JkZXIgZm9yIGxpbmUgYW5pbWF0aW9uIHRvIHdvcmsgcHJvcGVybHkuXG4gICAgc3Ryb2tlOiAkY2hlY2tib3gtbWFyay1jb2xvciAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1taXhlZG1hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja2JveC1tYXJrLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1pbmRldGVybWluYXRlLCAubWF0LWNoZWNrYm94LWNoZWNrZWQge1xuICAgICYubWF0LXByaW1hcnkgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWRpc2FibGVkIHtcbiAgICAmLm1hdC1jaGVja2JveC1jaGVja2VkLFxuICAgICYubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUge1xuICAgICAgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC5tYXQtY2hlY2tib3gtY2hlY2tlZCkge1xuICAgICAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYXQtY2hlY2tib3gtbGFiZWwge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN3aXRjaCB0aGlzIHRvIGEgc29saWQgY29sb3Igc2luY2Ugd2UncmUgdXNpbmcgYG9wYWNpdHlgXG4gIC8vIHRvIGNvbnRyb2wgaG93IG9wYXF1ZSB0aGUgcmlwcGxlIHNob3VsZCBiZS5cbiAgLm1hdC1jaGVja2JveCAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCksIGJhc2UpO1xuICB9XG5cbiAgLm1hdC1jaGVja2JveC1jaGVja2VkOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKSxcbiAgLm1hdC1jaGVja2JveDphY3RpdmU6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpIHtcbiAgICAmLm1hdC1wcmltYXJ5IC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkd2Fybik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtY2hlY2tib3gtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtY2hlY2tib3gge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAvLyBUT0RPKGthcmEpOiBSZW1vdmUgdGhpcyBzdHlsZSB3aGVuIGZpeGluZyB2ZXJ0aWNhbCBiYXNlbGluZVxuICAubWF0LWNoZWNrYm94LWxheW91dCAubWF0LWNoZWNrYm94LWxhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGJvZHktMik7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2hlY2tib3gtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWNoZWNrYm94LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1jaGVja2JveCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jaGVja2JveC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNoZWNrYm94LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hlY2tib3gtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4kbWF0LWNoaXAtcmVtb3ZlLWZvbnQtc2l6ZTogMThweDtcblxuQG1peGluIF9tYXQtY2hpcC1lbGVtZW50LWNvbG9yKCRmb3JlZ3JvdW5kLCAkYmFja2dyb3VuZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRmb3JlZ3JvdW5kO1xuXG4gIC5tYXQtY2hpcC1yZW1vdmUge1xuICAgIGNvbG9yOiAkZm9yZWdyb3VuZDtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cbn1cblxuXG4vLyBBcHBsaWVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhIHJpcHBsZSBlbGVtZW50LlxuLy8gSWYgdGhlIGNvbG9yIHZhbHVlIHByb3ZpZGVkIGlzIG5vdCBhIFNhc3MgY29sb3IsXG4vLyB3ZSBhc3N1bWUgdGhhdCB3ZSd2ZSBiZWVuIGdpdmVuIGEgQ1NTIHZhcmlhYmxlLlxuLy8gU2luY2Ugd2UgY2FuJ3QgcGVyZm9ybSBhbHBoYS1ibGVuZGluZyBvbiBhIENTUyB2YXJpYWJsZSxcbi8vIHdlIGluc3RlYWQgYWRkIHRoZSBvcGFjaXR5IGRpcmVjdGx5IHRvIHRoZSByaXBwbGUgZWxlbWVudC5cbkBtaXhpbiBfbWF0LWNoaXBzLXJpcHBsZS1iYWNrZ3JvdW5kKCRwYWxldHRlLCAkZGVmYXVsdC1jb250cmFzdCwgJG9wYWNpdHkpIHtcbiAgJGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJGRlZmF1bHQtY29udHJhc3QsICRvcGFjaXR5KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3I7XG4gIEBpZiAodHlwZS1vZigkYmFja2dyb3VuZC1jb2xvcikgIT0gY29sb3IpIHtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1jaGlwLXRoZW1lLWNvbG9yKCRwYWxldHRlKSB7XG4gIEBpbmNsdWRlIF9tYXQtY2hpcC1lbGVtZW50LWNvbG9yKG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCksIG1hdC1jb2xvcigkcGFsZXR0ZSkpO1xuXG4gIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtY2hpcHMtcmlwcGxlLWJhY2tncm91bmQoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QsIDAuMSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1jaGlwcy1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAkdW5zZWxlY3RlZC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIHVuc2VsZWN0ZWQtY2hpcCk7XG4gICR1bnNlbGVjdGVkLWZvcmVncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgLm1hdC1jaGlwLm1hdC1zdGFuZGFyZC1jaGlwIHtcbiAgICBAaW5jbHVkZSBfbWF0LWNoaXAtZWxlbWVudC1jb2xvcigkdW5zZWxlY3RlZC1mb3JlZ3JvdW5kLCAkdW5zZWxlY3RlZC1iYWNrZ3JvdW5kKTtcblxuICAgICY6bm90KC5tYXQtY2hpcC1kaXNhYmxlZCkge1xuICAgICAgJjphY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oMywgJGNvbmZpZyk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtY2hpcC1yZW1vdmU6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjU0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LWNoaXAtZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvcmVncm91bmQsIGJhc2UpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2hpcC5tYXQtc3RhbmRhcmQtY2hpcC5tYXQtY2hpcC1zZWxlY3RlZCB7XG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNoaXAtdGhlbWUtY29sb3IoJHByaW1hcnkpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwLXRoZW1lLWNvbG9yKCR3YXJuKTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1jaGlwLXRoZW1lLWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWNoaXBzLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNoaXAge1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgIGZvbnQtd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYm9keS0yKTtcblxuICAgIC5tYXQtY2hpcC10cmFpbGluZy1pY29uLm1hdC1pY29uLFxuICAgIC5tYXQtY2hpcC1yZW1vdmUubWF0LWljb24ge1xuICAgICAgZm9udC1zaXplOiAkbWF0LWNoaXAtcmVtb3ZlLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIF9tYXQtY2hpcHMtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWNoaXBzLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1jaGlwcycpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1jaGlwcy1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWNoaXBzLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtY2hpcHMtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWRpdmlkZXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgLm1hdC1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cbn1cblxuQG1peGluIG1hdC1kaXZpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtZGl2aWRlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZGl2aWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZGl2aWRlcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kaXZpZGVyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGl2aWRlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRpdmlkZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIG1hdC10YWJsZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC10YWJsZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC10YWJsZSB0aGVhZCwgLm1hdC10YWJsZSB0Ym9keSwgLm1hdC10YWJsZSB0Zm9vdCxcbiAgbWF0LWhlYWRlci1yb3csIG1hdC1yb3csIG1hdC1mb290ZXItcm93LFxuICBbbWF0LWhlYWRlci1yb3ddLCBbbWF0LXJvd10sIFttYXQtZm9vdGVyLXJvd10sXG4gIC5tYXQtdGFibGUtc3RpY2t5IHtcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICB9XG5cbiAgbWF0LXJvdywgbWF0LWhlYWRlci1yb3csIG1hdC1mb290ZXItcm93LFxuICB0aC5tYXQtaGVhZGVyLWNlbGwsIHRkLm1hdC1jZWxsLCB0ZC5tYXQtZm9vdGVyLWNlbGwge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWhlYWRlci1jZWxsIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gIH1cblxuICAubWF0LWNlbGwsIC5tYXQtZm9vdGVyLWNlbGwge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdGFibGUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdGFibGUge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LWhlYWRlci1jZWxsIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICB9XG5cbiAgLm1hdC1jZWxsLCAubWF0LWZvb3Rlci1jZWxsIHtcbiAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWJsZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtdGFibGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXRhYmxlJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRhYmxlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdGFibGUtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJsZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuJG1hdC1kYXRlcGlja2VyLXNlbGVjdGVkLXRvZGF5LWJveC1zaGFkb3ctd2lkdGg6IDFweDtcbiRtYXQtZGF0ZXBpY2tlci1zZWxlY3RlZC1mYWRlLWFtb3VudDogMC42O1xuJG1hdC1kYXRlcGlja2VyLXJhbmdlLWZhZGUtYW1vdW50OiAwLjI7XG4kbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQ6IDAuMjtcbiRtYXQtY2FsZW5kYXItYm9keS1mb250LXNpemU6IDEzcHggIWRlZmF1bHQ7XG4kbWF0LWNhbGVuZGFyLXdlZWtkYXktdGFibGUtZm9udC1zaXplOiAxMXB4ICFkZWZhdWx0O1xuXG5AbWl4aW4gX21hdC1kYXRlcGlja2VyLWNvbG9yKCRwYWxldHRlKSB7XG4gIEBpbmNsdWRlIG1hdC1kYXRlLXJhbmdlLWNvbG9ycyhcbiAgICBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQsICRtYXQtZGF0ZXBpY2tlci1yYW5nZS1mYWRlLWFtb3VudCkpO1xuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlKTtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgJGJhY2tncm91bmQ6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGJhY2tncm91bmQpID09IGNvbG9yKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlLW91dCgkYmFja2dyb3VuZCwgJG1hdC1kYXRlcGlja2VyLXNlbGVjdGVkLWZhZGUtYW1vdW50KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gSWYgd2UgY291bGRuJ3QgcmVzb2x2ZSB0byBiYWNrZ3JvdW5kIHRvIGEgY29sb3IgKGUuZy4gaXQncyBhIENTUyB2YXJpYWJsZSksXG4gICAgICAvLyBmYWxsIGJhY2sgdG8gZmFkaW5nIHRoZSBjb250ZW50IG91dCB2aWEgYG9wYWNpdHlgLlxuICAgICAgb3BhY2l0eTogJG1hdC1kYXRlcGlja2VyLXRvZGF5LWZhZGUtYW1vdW50O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS10b2RheS5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJG1hdC1kYXRlcGlja2VyLXNlbGVjdGVkLXRvZGF5LWJveC1zaGFkb3ctd2lkdGhcbiAgICAgICAgICAgICAgICBtYXQtY29sb3IoJHBhbGV0dGUsIGRlZmF1bHQtY29udHJhc3QpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXIsXG4gIC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlLFxuICAuY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWNhbGVuZGFyLWJvZHktYWN0aXZlIHtcbiAgICAmID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItdW5zZWxlY3RlZC1jZWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCAwLjMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBVdGlsaXR5IG1peGluIHRvIHRhcmdldCBjZWxscyB0aGF0IGFyZW4ndCBzZWxlY3RlZC4gVXNlZCB0byBtYWtlIHNlbGVjdG9yIGVhc2llciB0byBmb2xsb3cuXG5AbWl4aW4gX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICY6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGF0ZXBpY2tlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRkaXNhYmxlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcblxuICAubWF0LWNhbGVuZGFyLWFycm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGljb24pO1xuICB9XG5cbiAgLy8gVGhlIHByZXYvbmV4dCBidXR0b25zIG5lZWQgYSBiaXQgbW9yZSBzcGVjaWZpY2l0eSB0b1xuICAvLyBhdm9pZCBiZWluZyBvdmVyd3JpdHRlbiBieSB0aGUgLm1hdC1pY29uLWJ1dHRvbi5cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSxcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbixcbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGljb24pO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGhpbnQtdGV4dCk7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCxcbiAgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci11bnNlbGVjdGVkLWNlbGwge1xuICAgICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1kYXRlLXJhbmdlLWlucHV0LXNlcGFyYXRvciB7XG4gICAgY29sb3I6ICRkaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1pbi1wcmV2aWV3IHtcbiAgICAkZGl2aWRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAgIEBpZiB0eXBlLW9mKCRkaXZpZGVyLWNvbG9yKSA9PSBjb2xvciB7XG4gICAgICAvLyBUaGUgZGl2aWRlciBjb2xvciBpcyBzZXQgdW5kZXIgdGhlIGFzc3VtcHRpb24gdGhhdCBpdCdsbCBiZSB1c2VkXG4gICAgICAvLyBmb3IgYSBzb2xpZCBib3JkZXIsIGJ1dCBiZWNhdXNlIHdlJ3JlIHVzaW5nIGEgZGFzaGVkIGJvcmRlciBmb3IgdGhlXG4gICAgICAvLyBwcmV2aWV3IHJhbmdlLCB3ZSBuZWVkIHRvIGJ1bXAgaXRzIG9wYWNpdHkgdG8gZW5zdXJlIHRoYXQgaXQncyB2aXNpYmxlLlxuICAgICAgY29sb3I6IHJnYmEoJGRpdmlkZXItY29sb3IsIG1pbihvcGFjaXR5KCRkaXZpZGVyLWNvbG9yKSAqIDIsIDEpKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgY29sb3I6ICRkaXZpZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS10b2RheSB7XG4gICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAvLyBOb3RlOiB0aG91Z2ggaXQncyBub3QgdGV4dCwgdGhlIGJvcmRlciBpcyBhIGhpbnQgYWJvdXQgdGhlIGZhY3QgdGhhdCB0aGlzIGlzIHRvZGF5J3MgZGF0ZSxcbiAgICAgIC8vIHNvIHdlIHVzZSB0aGUgaGludCBjb2xvci5cbiAgICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBoaW50LXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCA+IC5tYXQtY2FsZW5kYXItYm9keS10b2RheSB7XG4gICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLXVuc2VsZWN0ZWQtY2VsbCB7XG4gICAgICAkY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgaGludC10ZXh0KTtcblxuICAgICAgQGlmICh0eXBlLW9mKCRjb2xvcikgPT0gY29sb3IpIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBmYWRlLW91dCgkY29sb3IsICRtYXQtZGF0ZXBpY2tlci10b2RheS1mYWRlLWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBjb2xvciBkaWRuJ3QgcmVzb2x2ZSB0byBhIGNvbG9yIHZhbHVlLCBidXQgc29tZXRoaW5nIGxpa2UgYSBDU1MgdmFyaWFibGUsIHdlIGNhbid0XG4gICAgICAgIC8vIGZhZGUgaXQgb3V0IHNvIHdlIGZhbGwgYmFjayB0byByZWR1Y2luZyB0aGUgZWxlbWVudCBvcGFjaXR5LiBOb3RlIHRoYXQgd2UgZG9uJ3QgdXNlIHRoZVxuICAgICAgICAvLyAkbWF0LWRhdGVwaWNrZXItdG9kYXktZmFkZS1hbW91bnQsIGJlY2F1c2UgaGludCB0ZXh0IHVzdWFsbHkgaGFzIHNvbWUgb3BhY2l0eSBhcHBsaWVkXG4gICAgICAgIC8vIHRvIGl0IGFscmVhZHkgYW5kIHdlIGRvbid0IHdhbnQgdGhlbSB0byBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1jb2xvcihtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpKTtcblxuICAubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDQsICRjb25maWcpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCk7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgQGluY2x1ZGUgX21hdC1kYXRlcGlja2VyLWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KSk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRhdGVwaWNrZXItY29sb3IobWFwLWdldCgkY29uZmlnLCB3YXJuKSk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQtdG91Y2gge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigwLCAkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUtYWN0aXZlIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSksIHRleHQpO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCBhY2NlbnQpLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IobWFwLWdldCgkY29uZmlnLCB3YXJuKSwgdGV4dCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kYXRlLXJhbmdlLWlucHV0LWlubmVyW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1kYXRlcGlja2VyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWNhbGVuZGFyIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5IHtcbiAgICBmb250LXNpemU6ICRtYXQtY2FsZW5kYXItYm9keS1mb250LXNpemU7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwsXG4gIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbiB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBidXR0b24pO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgYnV0dG9uKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlciB0aCB7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogJG1hdC1jYWxlbmRhci13ZWVrZGF5LXRhYmxlLWZvbnQtc2l6ZTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtZGF0ZS1yYW5nZS1jb2xvcnMoXG4gICRyYW5nZS1jb2xvcixcbiAgJGNvbXBhcmlzb24tY29sb3I6IHJnYmEoI2Y5YWIwMCwgJG1hdC1kYXRlcGlja2VyLXJhbmdlLWZhZGUtYW1vdW50KSxcbiAgJG92ZXJsYXAtY29sb3I6ICNhOGRhYjUsXG4gICRvdmVybGFwLXNlbGVjdGVkLWNvbG9yOiBkYXJrZW4oJG92ZXJsYXAtY29sb3IsIDMwJSkpIHtcblxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tcmFuZ2U6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogJHJhbmdlLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLFxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29tcGFyaXNvbi1jb2xvcjtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1zdGFydDo6YmVmb3JlLFxuICBbZGlyPSdydGwnXSAubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1icmlkZ2UtZW5kOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHJhbmdlLWNvbG9yIDUwJSwgJGNvbXBhcmlzb24tY29sb3IgNTAlKTtcbiAgfVxuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWJyaWRnZS1lbmQ6OmJlZm9yZSxcbiAgW2Rpcj0ncnRsJ10gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24tYnJpZGdlLXN0YXJ0OjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCAkcmFuZ2UtY29sb3IgNTAlLCAkY29tcGFyaXNvbi1jb2xvciA1MCUpO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWluLXJhbmdlID4gLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLFxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZS5tYXQtY2FsZW5kYXItYm9keS1pbi1yYW5nZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRvdmVybGFwLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkLFxuICAubWF0LWNhbGVuZGFyLWJvZHktaW4tY29tcGFyaXNvbi1yYW5nZSA+IC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXAtc2VsZWN0ZWQtY29sb3I7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtZGF0ZXBpY2tlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZGF0ZXBpY2tlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZGF0ZXBpY2tlcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1kYXRlcGlja2VyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtZGF0ZXBpY2tlci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtZGlhbG9nLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigyNCwgJGNvbmZpZyk7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaWFsb2cpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtZGlhbG9nLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LWRpYWxvZy10aXRsZSB7XG4gICAgQGluY2x1ZGUgbWF0LXR5cG9ncmFwaHktbGV2ZWwtdG8tc3R5bGVzKCRjb25maWcsIHRpdGxlKTtcbiAgfVxufVxuXG5AbWl4aW4gX21hdC1kaWFsb2ctZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWRpYWxvZy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZGlhbG9nJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRpYWxvZy1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LWRpYWxvZy1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWRpYWxvZy10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbi8vIERlZmF1bHQgbWluaW11bSBhbmQgbWF4aW11bSBoZWlnaHQgZm9yIGNvbGxhcHNlZCBwYW5lbCBoZWFkZXJzLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLW1pbmltdW0taGVpZ2h0OiAzNnB4ICFkZWZhdWx0O1xuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1tYXhpbXVtLWhlaWdodDpcbiAgICAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItY29sbGFwc2VkLWhlaWdodCAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBtaW5pbXVtIGFuZCBtYXhpbXVtIGhlaWdodCBmb3IgZXhwYW5kZWQgcGFuZWwgaGVhZGVycy5cbiRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1leHBhbmRlZC1oZWlnaHQ6IDY0cHggIWRlZmF1bHQ7XG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWluaW11bS1oZWlnaHQ6IDQ4cHggIWRlZmF1bHQ7XG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWF4aW11bS1oZWlnaHQ6XG4gICAgJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLWhlaWdodCAhZGVmYXVsdDtcblxuLy8gRGVuc2l0eSBjb25maWd1cmF0aW9uIGZvciB0aGUgZXhwYW5zaW9uIHBhbmVsLiBDYXB0dXJlcyB0aGVcbi8vIGhlaWdodCBmb3IgYm90aCBleHBhbmRlZCBhbmQgY29sbGFwc2VkIHBhbmVsIGhlYWRlcnMuXG4kbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVuc2l0eS1jb25maWc6IChcbiAgY29sbGFwc2VkLWhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtaGVpZ2h0LFxuICAgIG1heGltdW06ICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1jb2xsYXBzZWQtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWNvbGxhcHNlZC1taW5pbXVtLWhlaWdodCxcbiAgKSxcbiAgZXhwYW5kZWQtaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZXhwYW5kZWQtbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWV4cGFuZGVkLW1pbmltdW0taGVpZ2h0LFxuICApXG4pICFkZWZhdWx0O1xuXG4vLyBOb3RlOiBLZWVwIHRoaXMgaW4gc3luYyB3aXRoIHRoZSBhbmltYXRpb24gdGltaW5nIGZvciB0aGUgdG9nZ2xlIGluZGljYXRvclxuLy8gYW5kIGJvZHkgZXhwYW5zaW9uLiBUaGVzZSBhcmUgYW5pbWF0ZWQgdXNpbmcgQW5ndWxhciBhbmltYXRpb25zLlxuJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLXRyYW5zaXRpb246IDIyNW1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG5cbkBtaXhpbiBtYXQtcHJpdmF0ZS1leHBhbnNpb24tZm9jdXMge1xuICAubWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgJiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIuY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gICAgJiAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXIuY2RrLXByb2dyYW0tZm9jdXNlZCxcbiAgICAmOm5vdCgubWF0LWV4cGFuZGVkKSAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI6aG92ZXIge1xuICAgICAgJjpub3QoW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gbWF0LWV4cGFuc2lvbi1wYW5lbC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1leHBhbnNpb24tcGFuZWwge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbigyLCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1hY3Rpb24tcm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpdmlkZXIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZXhwYW5zaW9uLWZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgfVxuXG4gIC8vIERpc2FibGUgdGhlIGhvdmVyIG9uIHRvdWNoIGRldmljZXMgc2luY2UgaXQgY2FuIGFwcGVhciBsaWtlIGl0IGlzIHN0dWNrLiBXZSBjYW4ndCB1c2VcbiAgLy8gYEBtZWRpYSAoaG92ZXIpYCBhYm92ZSwgYmVjYXVzZSB0aGUgZGVza3RvcCBzdXBwb3J0IGJyb3dzZXIgc3VwcG9ydCBpc24ndCBncmVhdC5cbiAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsOm5vdCgubWF0LWV4cGFuZGVkKTpub3QoW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSlcbiAgICAgIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci10aXRsZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItZGVzY3JpcHRpb24sXG4gIC5tYXQtZXhwYW5zaW9uLWluZGljYXRvcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlclthcmlhLWRpc2FibGVkPSd0cnVlJ10ge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLWJ1dHRvbik7XG5cbiAgICAubWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXItdGl0bGUsXG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWV4cGFuc2lvbi1wYW5lbC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTEpO1xuICAgICAgd2VpZ2h0OiBtYXQtZm9udC13ZWlnaHQoJGNvbmZpZywgc3ViaGVhZGluZy0xKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWV4cGFuc2lvbi1wYW5lbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgYm9keS0xKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LWV4cGFuc2lvbi1wYW5lbC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRleHBhbmRlZC1oZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICAgJG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgZXhwYW5kZWQtaGVpZ2h0KTtcbiAgJGNvbGxhcHNlZC1oZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICRtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlci1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGNvbGxhcHNlZC1oZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLm1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyIHtcbiAgICAgIGhlaWdodDogJGNvbGxhcHNlZC1oZWlnaHQ7XG5cbiAgICAgICYubWF0LWV4cGFuZGVkIHtcbiAgICAgICAgaGVpZ2h0OiAkZXhwYW5kZWQtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWV4cGFuc2lvbi1wYW5lbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZXhwYW5zaW9uLXBhbmVsJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWV4cGFuc2lvbi1wYW5lbC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4vLyBUaGlzIG1peGluIHdpbGwgZW5zdXJlIHRoYXQgbGluZXMgdGhhdCBvdmVyZmxvdyB0aGUgY29udGFpbmVyIHdpbGwgaGlkZSB0aGUgb3ZlcmZsb3cgYW5kXG4vLyB0cnVuY2F0ZSBuZWF0bHkgd2l0aCBhbiBlbGxpcHNpcy5cbkBtaXhpbiBtYXQtdHJ1bmNhdGUtbGluZSgpIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi8vIE1peGluIHRvIHByb3ZpZGUgYWxsIG1hdC1saW5lIHN0eWxlcywgY2hhbmdpbmcgc2Vjb25kYXJ5IGZvbnQgc2l6ZSBiYXNlZCBvbiB3aGV0aGVyIHRoZSBsaXN0XG4vLyBpcyBpbiBkZW5zZSBtb2RlLlxuQG1peGluIG1hdC1saW5lLWJhc2UoJHNlY29uZGFyeS1mb250LXNpemUpIHtcbiAgLm1hdC1saW5lIHtcbiAgICBAaW5jbHVkZSBtYXQtdHJ1bmNhdGUtbGluZSgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAvLyBhbGwgbGluZXMgYnV0IHRoZSB0b3AgbGluZSBzaG91bGQgaGF2ZSBzbWFsbGVyIHRleHRcbiAgICAmOm50aC1jaGlsZChuKzIpIHtcbiAgICAgIGZvbnQtc2l6ZTogJHNlY29uZGFyeS1mb250LXNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgbWl4aW4gbm9ybWFsaXplcyBkZWZhdWx0IGVsZW1lbnQgc3R5bGVzLCBlLmcuIGZvbnQgd2VpZ2h0IGZvciBoZWFkaW5nIHRleHQuXG5AbWl4aW4gbWF0LW5vcm1hbGl6ZS10ZXh0KCkge1xuICAmID4gKiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gVGhpcyBtaXhpbiBwcm92aWRlcyBiYXNlIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgYXJvdW5kIG1hdC1saW5lIGVsZW1lbnRzIGluIGEgbGlzdC5cbkBtaXhpbiBtYXQtbGluZS13cmFwcGVyLWJhc2UoKSB7XG4gIEBpbmNsdWRlIG1hdC1ub3JtYWxpemUtdGV4dCgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IGF1dG87XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgLy8gTXVzdCByZW1vdmUgd3JhcHBlciB3aGVuIGxpbmVzIGFyZSBlbXB0eSBvciBpdCB0YWtlcyB1cCBob3Jpem9udGFsXG4gIC8vIHNwYWNlIGFuZCBwdXNoZXMgb3RoZXIgZWxlbWVudHMgdG8gdGhlIHJpZ2h0LlxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cblxuXG4vLyBJbmNsdWRlIHRoaXMgZW1wdHkgbWl4aW4gZm9yIGNvbnNpc3RlbmN5IHdpdGggdGhlIG90aGVyIGNvbXBvbmVudHMuXG5AbWl4aW4gbWF0LWdyaWQtbGlzdC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LWdyaWQtbGlzdC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1ncmlkLXRpbGUtaGVhZGVyLFxuICAubWF0LWdyaWQtdGlsZS1mb290ZXIge1xuICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKSk7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtZ3JpZC1saXN0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1ncmlkLWxpc3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWdyaWQtbGlzdCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1ncmlkLWxpc3QtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5AbWl4aW4gbWF0LWljb24tY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LWljb24ge1xuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1pY29uLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtaWNvbi1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtaWNvbi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtaWNvbicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1pY29uLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtaWNvbi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWljb24tdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG4vLyBSZW5kZXJzIGEgZ3JhZGllbnQgZm9yIHNob3dpbmcgdGhlIGRhc2hlZCBsaW5lIHdoZW4gdGhlIGlucHV0IGlzIGRpc2FibGVkLlxuLy8gVW5saWtlIHVzaW5nIGEgYm9yZGVyLCBhIGdyYWRpZW50IGFsbG93cyB1cyB0byBhZGp1c3QgdGhlIHNwYWNpbmcgb2YgdGhlIGRvdHRlZCBsaW5lXG4vLyB0byBtYXRjaCB0aGUgTWF0ZXJpYWwgRGVzaWduIHNwZWMuXG5AbWl4aW4gbWF0LXByaXZhdGUtY29udHJvbC1kaXNhYmxlZC11bmRlcmxpbmUoJGNvbG9yKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJGNvbG9yIDAlLCAkY29sb3IgMzMlLCB0cmFuc3BhcmVudCAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogNHB4IDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gRmlndXJlcyBvdXQgdGhlIGNvbG9yIG9mIHRoZSBwbGFjZWhvbGRlciBmb3IgYSBmb3JtIGNvbnRyb2wuXG4vLyBVc2VkIHByaW1hcmlseSB0byBwcmV2ZW50IHRoZSB2YXJpb3VzIGZvcm0gY29udHJvbHMgZnJvbVxuLy8gYmVjb21pbmcgb3V0IG9mIHN5bmMgc2luY2UgdGhlc2UgY29sb3JzIGFyZW4ndCBpbiBhIHBhbGV0dGUuXG5AZnVuY3Rpb24gbWF0LXByaXZhdGUtY29udHJvbC1wbGFjZWhvbGRlci1jb2xvcigkY29uZmlnKSB7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcbiAgQHJldHVybiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0LCBpZigkaXMtZGFyay10aGVtZSwgMC41LCAwLjQyKSk7XG59XG5cblxuLyogc3R5bGVsaW50LWRpc2FibGUgbWF0ZXJpYWwvbm8tcHJlZml4ZXMgKi9cbkBtaXhpbiB1c2VyLXNlbGVjdCgkdmFsdWUpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHZhbHVlO1xuICAtbW96LXVzZXItc2VsZWN0OiAkdmFsdWU7XG4gIC1tcy11c2VyLXNlbGVjdDogJHZhbHVlO1xuICB1c2VyLXNlbGVjdDogJHZhbHVlO1xufVxuXG5AbWl4aW4gaW5wdXQtcGxhY2Vob2xkZXIge1xuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBjdXJzb3ItZ3JhYiB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiO1xuICBjdXJzb3I6IGdyYWI7XG59XG5cbkBtaXhpbiBjdXJzb3ItZ3JhYmJpbmcge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogZ3JhYmJpbmc7XG59XG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2YWx1ZSkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6ICR2YWx1ZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZhbHVlO1xufVxuXG5AbWl4aW4gcG9zaXRpb24tc3RpY2t5KCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreSAje2lmKCRpbXBvcnRhbnQsICchaW1wb3J0YW50JywgJycpfTtcbiAgcG9zaXRpb246IHN0aWNreSAje2lmKCRpbXBvcnRhbnQsICchaW1wb3J0YW50JywgJycpfTtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuXG5cbkBtaXhpbiBtYXQtaW5wdXQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtaW5wdXQtZWxlbWVudDpkaXNhYmxlZCxcbiAgLm1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LW5hdGl2ZS1zZWxlY3QubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG4gIH1cblxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGNhcmV0LWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuXG4gICAgQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IG1hdC1wcml2YXRlLWNvbnRyb2wtcGxhY2Vob2xkZXItY29sb3IoJGNvbmZpZyk7XG4gICAgfVxuXG4gICAgLy8gT24gZGFyayB0aGVtZXMgd2Ugc2V0IHRoZSBuYXRpdmUgYHNlbGVjdGAgY29sb3IgdG8gc29tZSBzaGFkZSBvZiB3aGl0ZSxcbiAgICAvLyBob3dldmVyIHRoZSBjb2xvciBwcm9wYWdhdGVzIHRvIGFsbCBvZiB0aGUgYG9wdGlvbmAgZWxlbWVudHMsIHdoaWNoIGFyZVxuICAgIC8vIGFsd2F5cyBvbiBhIHdoaXRlIGJhY2tncm91bmQgaW5zaWRlIHRoZSBkcm9wZG93biwgY2F1c2luZyB0aGVtIHRvIGJsZW5kIGluLlxuICAgIC8vIFNpbmNlIHdlIGNhbid0IGNoYW5nZSBiYWNrZ3JvdW5kIG9mIHRoZSBkcm9wZG93biwgd2UgbmVlZCB0byBleHBsaWNpdGx5XG4gICAgLy8gcmVzZXQgdGhlIGNvbG9yIG9mIHRoZSBvcHRpb25zIHRvIHNvbWV0aGluZyBkYXJrLlxuICAgIEBpZiAobWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKSkge1xuICAgICAgb3B0aW9uIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLXByaW1hcnktdGV4dDtcbiAgICAgIH1cblxuICAgICAgb3B0aW9uOmRpc2FibGVkIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWRpc2FibGVkLXRleHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1hY2NlbnQgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCRhY2NlbnQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC13YXJuIC5tYXQtaW5wdXQtZWxlbWVudCxcbiAgLm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1pbnB1dC1lbGVtZW50IHtcbiAgICBjYXJldC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC10eXBlLW1hdC1uYXRpdmUtc2VsZWN0Lm1hdC1mb3JtLWZpZWxkLWludmFsaWQgLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1pbnB1dC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuXG4gIC8vIFRoZSBhbW91bnQgb2Ygc3BhY2UgYmV0d2VlbiB0aGUgdG9wIG9mIHRoZSBsaW5lIGFuZCB0aGUgdG9wIG9mIHRoZSBhY3R1YWwgdGV4dFxuICAvLyAoYXMgYSBmcmFjdGlvbiBvZiB0aGUgZm9udC1zaXplKS5cbiAgJGxpbmUtc3BhY2luZzogKCRsaW5lLWhlaWdodCAtIDEpIC8gMjtcblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRzIHNlZW0gdG8gaGF2ZSB0aGVpciBoZWlnaHQgc2V0IHNsaWdodGx5IHRvbyBsYXJnZSBvbiBTYWZhcmkgY2F1c2luZyB0aGUgdGV4dCB0b1xuICAvLyBiZSBtaXNhbGlnbmVkIHcuci50LiB0aGUgcGxhY2Vob2xkZXIuIEFkZGluZyB0aGlzIG1hcmdpbiBjb3JyZWN0cyBpdC5cbiAgaW5wdXQubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIG1hcmdpbi10b3A6IC0kbGluZS1zcGFjaW5nICogMWVtO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LWlucHV0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1pbnB1dC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtaW5wdXQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtaW5wdXQtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1pbnB1dC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWlucHV0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5AbWl4aW4gbWF0LWxpc3QtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtbGlzdC1iYXNlIHtcbiAgICAubWF0LWxpc3QtaXRlbSB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc3ViaGVhZGVyIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LWxpc3QtaXRlbS1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaXNhYmxlZC1saXN0LW9wdGlvbik7XG4gIH1cblxuICAubWF0LWxpc3Qtb3B0aW9uLFxuICAubWF0LW5hdi1saXN0IC5tYXQtbGlzdC1pdGVtLFxuICAubWF0LWFjdGlvbi1saXN0IC5tYXQtbGlzdC1pdGVtIHtcbiAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2hvdmVyJyk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1saXN0LXNpbmdsZS1zZWxlY3RlZC1vcHRpb24ge1xuICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBob3ZlciwgMC4xMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtbGlzdC10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG5cbiAgLm1hdC1saXN0LWl0ZW0ge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIH1cblxuICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBsaXN0XG4gIC5tYXQtbGlzdC1iYXNlIHtcbiAgICAubWF0LWxpc3QtaXRlbSB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgc3ViaGVhZGluZy0yKTtcbiAgICAgIEBpbmNsdWRlIG1hdC1saW5lLWJhc2UobWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpKTtcbiAgICB9XG5cbiAgICAubWF0LWxpc3Qtb3B0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBzdWJoZWFkaW5nLTIpO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSkpO1xuICAgIH1cblxuICAgIC5tYXQtc3ViaGVhZGVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYm9keS0yKTtcbiAgICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICAgICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlbnNlIGxpc3RcbiAgLm1hdC1saXN0LWJhc2VbZGVuc2VdIHtcbiAgICAubWF0LWxpc3QtaXRlbSB7XG4gICAgICBmb250LXNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICBAaW5jbHVkZSBtYXQtbGluZS1iYXNlKG1hdC1mb250LXNpemUoJGNvbmZpZywgY2FwdGlvbikpO1xuICAgIH1cblxuICAgIC5tYXQtbGlzdC1vcHRpb24ge1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgQGluY2x1ZGUgbWF0LWxpbmUtYmFzZShtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pKTtcbiAgICB9XG5cbiAgICAubWF0LXN1YmhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgICAgZm9udC13ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1saXN0LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1saXN0Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWxpc3QtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1saXN0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtbGlzdC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1tZW51LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LW1lbnUtcGFuZWwge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsICdjYXJkJyk7XG4gIH1cblxuICAubWF0LW1lbnUtaXRlbSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ3RleHQnKTtcblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICYsXG4gICAgICAmOjphZnRlcixcbiAgICAgIC5tYXQtaWNvbi1uby1jb2xvciB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsICdkaXNhYmxlZCcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbi1uby1jb2xvcixcbiAgLm1hdC1tZW51LWl0ZW0tc3VibWVudS10cmlnZ2VyOjphZnRlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgJ2ljb24nKTtcbiAgfVxuXG4gIC5tYXQtbWVudS1pdGVtOmhvdmVyLFxuICAubWF0LW1lbnUtaXRlbS5jZGstcHJvZ3JhbS1mb2N1c2VkLFxuICAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZCxcbiAgLm1hdC1tZW51LWl0ZW0taGlnaGxpZ2h0ZWQge1xuICAgICY6bm90KFtkaXNhYmxlZF0pIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2hvdmVyJyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtbWVudS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcsIGJvZHktMSk7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTEpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC1tZW51LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1tZW51LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1tZW51Jykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LW1lbnUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1tZW51LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtbWVudS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cbiRtYXQtcGFnaW5hdG9yLWhlaWdodDogNTZweCAhZGVmYXVsdDtcbi8vIE1pbmltdW0gaGVpZ2h0IGZvciBwYWdpbmF0b3IncyBpbiB0aGUgaGlnaGVzdCBkZW5zaXR5IGlzIGRldGVybWluZWQgYmFzZWQgb24gaG93XG4vLyBtdWNoIHRoZSBwYWdpbmF0b3IgY2FuIHNocmluayB1bnRpbCB0aGUgY29udGVudCBleGNlZWRzIChpLmUuIG5hdmlnYXRpb24gYnV0dG9ucykuXG4kbWF0LXBhZ2luYXRvci1taW5pbXVtLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRtYXQtcGFnaW5hdG9yLW1heGltdW0taGVpZ2h0OiAkbWF0LXBhZ2luYXRvci1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRtYXQtcGFnaW5hdG9yLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtcGFnaW5hdG9yLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LXBhZ2luYXRvci1tYXhpbXVtLWhlaWdodCxcbiAgICBtaW5pbXVtOiAkbWF0LXBhZ2luYXRvci1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gbWF0LXBhZ2luYXRvci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG5cbiAgLm1hdC1wYWdpbmF0b3Ige1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgfVxuXG4gIC5tYXQtcGFnaW5hdG9yLFxuICAubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlciB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1wYWdpbmF0b3ItZGVjcmVtZW50LFxuICAubWF0LXBhZ2luYXRvci1pbmNyZW1lbnQge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnaWNvbicpO1xuICB9XG5cbiAgLm1hdC1wYWdpbmF0b3ItZmlyc3QsXG4gIC5tYXQtcGFnaW5hdG9yLWxhc3Qge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCBtYXQtY29sb3IoJGZvcmVncm91bmQsICdpY29uJyk7XG4gIH1cblxuICAubWF0LWljb24tYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgLm1hdC1wYWdpbmF0b3ItZGVjcmVtZW50LFxuICAgIC5tYXQtcGFnaW5hdG9yLWluY3JlbWVudCxcbiAgICAubWF0LXBhZ2luYXRvci1maXJzdCxcbiAgICAubWF0LXBhZ2luYXRvci1sYXN0IHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCAnZGlzYWJsZWQnKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtcGFnaW5hdG9yLFxuICAubWF0LXBhZ2luYXRvci1wYWdlLXNpemUgLm1hdC1zZWxlY3QtdHJpZ2dlciB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgY2FwdGlvbik7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGNhcHRpb24pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXBhZ2luYXRvci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGRlbnNpdHktc2NhbGU6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRoZWlnaHQ6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZSgkbWF0LXBhZ2luYXRvci1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LXBhZ2luYXRvci1jb250YWluZXIge1xuICAgICAgbWluLWhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wYWdpbmF0b3ItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXBhZ2luYXRvcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuQG1peGluIG1hdC1wcm9ncmVzcy1iYXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZCB7XG4gICAgZmlsbDogbWF0LWNvbG9yKCRwcmltYXJ5LCBsaWdodGVyKTtcbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLWJ1ZmZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBsaWdodGVyKTtcbiAgfVxuXG4gIC5tYXQtcHJvZ3Jlc3MtYmFyLWZpbGw6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICB9XG5cbiAgLm1hdC1wcm9ncmVzcy1iYXIubWF0LWFjY2VudCB7XG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYmFja2dyb3VuZCB7XG4gICAgICBmaWxsOiBtYXQtY29sb3IoJGFjY2VudCwgbGlnaHRlcik7XG4gICAgfVxuXG4gICAgLm1hdC1wcm9ncmVzcy1iYXItYnVmZmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCBsaWdodGVyKTtcbiAgICB9XG5cbiAgICAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1wcm9ncmVzcy1iYXIubWF0LXdhcm4ge1xuICAgIC5tYXQtcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQge1xuICAgICAgZmlsbDogbWF0LWNvbG9yKCR3YXJuLCBsaWdodGVyKTtcbiAgICB9XG5cbiAgICAubWF0LXByb2dyZXNzLWJhci1idWZmZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuLCBsaWdodGVyKTtcbiAgICB9XG5cbiAgICAubWF0LXByb2dyZXNzLWJhci1maWxsOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHdhcm4pO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXByb2dyZXNzLWJhci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBfbWF0LXByb2dyZXNzLWJhci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3MtYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1wcm9ncmVzcy1iYXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3MtYmFyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcHJvZ3Jlc3MtYmFyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3MtYmFyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcblxuICAubWF0LXByb2dyZXNzLXNwaW5uZXIsIC5tYXQtc3Bpbm5lciB7XG4gICAgY2lyY2xlIHtcbiAgICAgIHN0cm9rZTogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmLm1hdC1hY2NlbnQgY2lyY2xlIHtcbiAgICAgIHN0cm9rZTogbWF0LWNvbG9yKCRhY2NlbnQpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gY2lyY2xlIHtcbiAgICAgIHN0cm9rZTogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcm9ncmVzcy1zcGlubmVyLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcHJvZ3Jlc3Mtc3Bpbm5lcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lci1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLXNwaW5uZXItdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIF9tYXQtcmFkaW8tY29sb3IoJHBhbGV0dGUpIHtcbiAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICB9XG5cbiAgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUsXG4gIC5tYXQtcmFkaW8tcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQ6bm90KC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUpLFxuICAmLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUsXG4gICY6YWN0aXZlIC5tYXQtcmFkaW8tcGVyc2lzdGVudC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1yYWRpby1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlIHtcbiAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICB9XG5cbiAgLm1hdC1yYWRpby1idXR0b24ge1xuICAgICYubWF0LXByaW1hcnkge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtcmFkaW8tY29sb3IoJGFjY2VudCk7XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXJhZGlvLWNvbG9yKCR3YXJuKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIG5lZWRzIGV4dHJhIHNwZWNpZmljaXR5LCBiZWNhdXNlIHRoZSBjbGFzc2VzIGFib3ZlIGFyZSBjb21iaW5lZFxuICAgIC8vIChlLmcuIGAubWF0LXJhZGlvLWJ1dHRvbi5tYXQtYWNjZW50YCkgd2hpY2ggaW5jcmVhc2VzIHRoZWlyIHNwZWNpZmljaXR5IGEgbG90LlxuICAgIC8vIFRPRE86IGNvbnNpZGVyIG1ha2luZyB0aGUgc2VsZWN0b3JzIGludG8gZGVzY2VuZGFudHMgKGAubWF0LXByaW1hcnkgLm1hdC1yYWRpby1idXR0b25gKS5cbiAgICAmLm1hdC1yYWRpby1kaXNhYmxlZCB7XG4gICAgICAmLm1hdC1yYWRpby1jaGVja2VkIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlLFxuICAgICAgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXJhZGlvLXJpcHBsZSAubWF0LXJpcHBsZS1lbGVtZW50LFxuICAgICAgLm1hdC1yYWRpby1pbm5lci1jaXJjbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkKTtcbiAgICAgIH1cblxuICAgICAgLm1hdC1yYWRpby1sYWJlbC1jb250ZW50IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN3aXRjaCB0aGlzIHRvIGEgc29saWQgY29sb3Igc2luY2Ugd2UncmUgdXNpbmcgYG9wYWNpdHlgXG4gICAgLy8gdG8gY29udHJvbCBob3cgb3BhcXVlIHRoZSByaXBwbGUgc2hvdWxkIGJlLlxuICAgIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm9yZWdyb3VuZCwgYmFzZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtcmFkaW8tdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtcmFkaW8tYnV0dG9uIHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXJhZGlvLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1yYWRpby10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtcmFkaW8nKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtcmFkaW8tY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC1yYWRpby1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXJhZGlvLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc2VsZWN0LWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBtYXQtcHJpdmF0ZS1jb250cm9sLXBsYWNlaG9sZGVyLWNvbG9yKCRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtZGlzYWJsZWQgLm1hdC1zZWxlY3QtdmFsdWUge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICB9XG5cbiAgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNlY29uZGFyeS10ZXh0KTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLW92ZXJyaWRhYmxlLWVsZXZhdGlvbig0LCAkY29uZmlnKTtcblxuICAgIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpIHtcbiAgICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgaG92ZXIsIDAuMTIpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgJi5tYXQtZm9jdXNlZCB7XG4gICAgICAmLm1hdC1wcmltYXJ5IC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LWFjY2VudCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgdGV4dCk7XG4gICAgICB9XG5cbiAgICAgICYubWF0LXdhcm4gLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LXNlbGVjdC5tYXQtc2VsZWN0LWludmFsaWQgLm1hdC1zZWxlY3QtYXJyb3cge1xuICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgdGV4dCk7XG4gICAgfVxuXG4gICAgLm1hdC1zZWxlY3QubWF0LXNlbGVjdC1kaXNhYmxlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zZWxlY3QtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcblxuICAubWF0LXNlbGVjdCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgfVxuXG4gIC5tYXQtc2VsZWN0LXRyaWdnZXIge1xuICAgIGhlaWdodDogJGxpbmUtaGVpZ2h0ICogMWVtO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXNlbGVjdC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc2VsZWN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zZWxlY3QnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2VsZWN0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2VsZWN0LWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2VsZWN0LXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbkBtaXhpbiBtYXQtc2lkZW5hdi1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gICRkcmF3ZXItYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBkaWFsb2cpO1xuICAkZHJhd2VyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG9yOiAgbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCBiYWNrZ3JvdW5kKTtcbiAgJGRyYXdlci1wdXNoLWJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgZGlhbG9nKTtcbiAgJGRyYXdlci1zaWRlLWJvcmRlcjogc29saWQgMXB4IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG5cbiAgLm1hdC1kcmF3ZXItY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJhd2VyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLm1hdC1kcmF3ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmF3ZXItYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcblxuICAgICYubWF0LWRyYXdlci1wdXNoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkcmF3ZXItcHVzaC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cblxuICAgICY6bm90KC5tYXQtZHJhd2VyLXNpZGUpIHtcbiAgICAgIC8vIFRoZSBlbGV2YXRpb24gb2Ygei0xNiBpcyBub3RlZCBpbiB0aGUgZGVzaWduIHNwZWNpZmljYXRpb25zLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vbWF0ZXJpYWwuaW8vZGVzaWduL2NvbXBvbmVudHMvbmF2aWdhdGlvbi1kcmF3ZXIuaHRtbFxuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDE2LCAkY29uZmlnKTtcbiAgICB9XG4gIH1cblxuICAubWF0LWRyYXdlci1zaWRlIHtcbiAgICBib3JkZXItcmlnaHQ6ICRkcmF3ZXItc2lkZS1ib3JkZXI7XG5cbiAgICAmLm1hdC1kcmF3ZXItZW5kIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIFtkaXI9J3J0bCddIC5tYXQtZHJhd2VyLXNpZGUge1xuICAgIGJvcmRlci1sZWZ0OiAkZHJhd2VyLXNpZGUtYm9yZGVyO1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcblxuICAgICYubWF0LWRyYXdlci1lbmQge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBib3JkZXItcmlnaHQ6ICRkcmF3ZXItc2lkZS1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1kcmF3ZXItYmFja2Ryb3AubWF0LWRyYXdlci1zaG93biB7XG4gICAgJG9wYWNpdHk6IDAuNjtcbiAgICAkYmFja2Ryb3AtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgY2FyZCwgJG9wYWNpdHkpO1xuXG4gICAgQGlmICh0eXBlLW9mKCRiYWNrZHJvcC1jb2xvcikgPT0gY29sb3IpIHtcbiAgICAgIC8vIFdlIHVzZSBpbnZlcnQoKSBoZXJlIHRvIGhhdmUgdGhlIGRhcmtlbiB0aGUgYmFja2dyb3VuZCBjb2xvciBleHBlY3RlZCB0byBiZSB1c2VkLiBJZiB0aGVcbiAgICAgIC8vIGJhY2tncm91bmQgaXMgbGlnaHQsIHdlIHVzZSBhIGRhcmsgYmFja2Ryb3AuIElmIHRoZSBiYWNrZ3JvdW5kIGlzIGRhcmssXG4gICAgICAvLyB3ZSB1c2UgYSBsaWdodCBiYWNrZHJvcC5cbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGludmVydCgkYmFja2Ryb3AtY29sb3IpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBJZiB3ZSBjb3VsZG4ndCByZXNvbHZlIHRoZSBiYWNrZHJvcCBjb2xvciB0byBhIGNvbG9yIHZhbHVlLCBmYWxsIGJhY2sgdG8gdXNpbmdcbiAgICAgIC8vIGBvcGFjaXR5YCB0byBtYWtlIGl0IG9wYXF1ZSBzaW5jZSBpdHMgZW5kIHZhbHVlIGNvdWxkIGJlIGEgc29saWQgY29sb3IuXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2Ryb3AtY29sb3I7XG4gICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zaWRlbmF2LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtc2lkZW5hdi1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc2lkZW5hdi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc2lkZW5hdicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zaWRlbmF2LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2lkZW5hdi1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNpZGVuYXYtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuXG5AbWl4aW4gX21hdC1zbGlkZS10b2dnbGUtY2hlY2tlZCgkcGFsZXR0ZSwgJHRodW1iLWNoZWNrZWQtaHVlKSB7XG4gICYubWF0LWNoZWNrZWQge1xuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgJHRodW1iLWNoZWNrZWQtaHVlKTtcbiAgICB9XG5cbiAgICAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgICAgLy8gT3BhY2l0eSBpcyBkZXRlcm1pbmVkIGZyb20gdGhlIHNwZWNzIGZvciB0aGUgc2VsZWN0aW9uIGNvbnRyb2xzLlxuICAgICAgLy8gU2VlOiBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb21wb25lbnRzL3NlbGVjdGlvbi1jb250cm9scy5odG1sI3NwZWNzXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSwgMC41NCk7XG4gICAgfVxuXG4gICAgLm1hdC1yaXBwbGUtZWxlbWVudCB7XG4gICAgICAvLyBTZXQgbm8gb3BhY2l0eSBmb3IgdGhlIHJpcHBsZXMgYmVjYXVzZSB0aGUgcmlwcGxlIG9wYWNpdHkgd2lsbCBiZSBhZGp1c3RlZCBkeW5hbWljYWxseVxuICAgICAgLy8gYmFzZWQgb24gdGhlIHR5cGUgb2YgaW50ZXJhY3Rpb24gd2l0aCB0aGUgc2xpZGUtdG9nZ2xlIChlLmcuIGZvciBob3ZlciwgZm9jdXMpXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUsICR0aHVtYi1jaGVja2VkLWh1ZSk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGUtdG9nZ2xlLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRpcy1kYXJrOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC8vIENvbG9yIGh1ZXMgYXJlIGJhc2VkIG9uIHRoZSBzcGVjcyB3aGljaCBicmllZmx5IHNob3cgdGhlIGh1ZXMgdGhhdCBhcmUgYXBwbGllZCB0byBhIHN3aXRjaC5cbiAgLy8gVGhlIDIwMTggc3BlY3Mgbm8gbG9uZ2VyIGRlc2NyaWJlIGhvdyBkYXJrIHN3aXRjaGVzIHNob3VsZCBsb29rIGxpa2UuIER1ZSB0byB0aGUgbGFjayBvZlxuICAvLyBpbmZvcm1hdGlvbiBmb3IgZGFyayB0aGVtZWQgc3dpdGNoZXMsIHdlIHBhcnRpYWxseSBrZWVwIHRoZSBvbGQgYmVoYXZpb3IgdGhhdCBpcyBiYXNlZCBvblxuICAvLyB0aGUgcHJldmlvdXMgc3BlY2lmaWNhdGlvbnMuIEZvciB0aGUgY2hlY2tlZCBjb2xvciB3ZSBhbHdheXMgdXNlIHRoZSBgZGVmYXVsdGAgaHVlIGJlY2F1c2VcbiAgLy8gdGhhdCBmb2xsb3dzIE1EQyBhbmQgYWxzbyBtYWtlcyBpdCBlYXNpZXIgZm9yIHBlb3BsZSB0byBjcmVhdGUgYSBjdXN0b20gdGhlbWUgd2l0aG91dCBuZWVkaW5nXG4gIC8vIHRvIHNwZWNpZnkgZWFjaCBodWUgaW5kaXZpZHVhbGx5LlxuICAkdGh1bWItdW5jaGVja2VkLWh1ZTogaWYoJGlzLWRhcmssIDQwMCwgNTApO1xuICAkdGh1bWItY2hlY2tlZC1odWU6IGRlZmF1bHQ7XG5cbiAgJGJhci11bmNoZWNrZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQpO1xuICAkcmlwcGxlLXVuY2hlY2tlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlKTtcblxuICAubWF0LXNsaWRlLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtY2hlY2tlZCgkYWNjZW50LCAkdGh1bWItY2hlY2tlZC1odWUpO1xuXG4gICAgJi5tYXQtcHJpbWFyeSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXNsaWRlLXRvZ2dsZS1jaGVja2VkKCRwcmltYXJ5LCAkdGh1bWItY2hlY2tlZC1odWUpO1xuICAgIH1cblxuICAgICYubWF0LXdhcm4ge1xuICAgICAgQGluY2x1ZGUgX21hdC1zbGlkZS10b2dnbGUtY2hlY2tlZCgkd2FybiwgJHRodW1iLWNoZWNrZWQtaHVlKTtcbiAgICB9XG5cbiAgICAmOm5vdCgubWF0LWNoZWNrZWQpIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICAgICAgLy8gU2V0IG5vIG9wYWNpdHkgZm9yIHRoZSByaXBwbGVzIGJlY2F1c2UgdGhlIHJpcHBsZSBvcGFjaXR5IHdpbGwgYmUgYWRqdXN0ZWQgZHluYW1pY2FsbHlcbiAgICAgIC8vIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGludGVyYWN0aW9uIHdpdGggdGhlIHNsaWRlLXRvZ2dsZSAoZS5nLiBmb3IgaG92ZXIsIGZvY3VzKVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJpcHBsZS11bmNoZWNrZWQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLXRoZW1lLWVsZXZhdGlvbigxLCAkY29uZmlnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJG1hdC1ncmV5LCAkdGh1bWItdW5jaGVja2VkLWh1ZSk7XG4gIH1cblxuICAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXItdW5jaGVja2VkLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtc2xpZGUtdG9nZ2xlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50IHtcbiAgICBmb250LWZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICB9XG59XG5cbkBtaXhpbiBfbWF0LXNsaWRlLXRvZ2dsZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc2xpZGUtdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zbGlkZS10b2dnbGUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGUtdG9nZ2xlLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuQG1peGluIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJHBhbGV0dGUpIHtcbiAgLm1hdC1zbGlkZXItdHJhY2stZmlsbCxcbiAgLm1hdC1zbGlkZXItdGh1bWIsXG4gIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICB9XG5cbiAgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtdGV4dCB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkcGFsZXR0ZSwgZGVmYXVsdC1jb250cmFzdCk7XG4gIH1cblxuICAubWF0LXNsaWRlci1mb2N1cy1yaW5nIHtcbiAgICAkb3BhY2l0eTogMC4yO1xuICAgICRjb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LCAkb3BhY2l0eSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICAgLy8gYG1hdC1jb2xvcmAgdXNlcyBgcmdiYWAgZm9yIHRoZSBvcGFjaXR5IHdoaWNoIHdvbid0IHdvcmsgd2l0aFxuICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgQGlmICh0eXBlLW9mKCRjb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXNsaWRlci1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gICRtYXQtc2xpZGVyLW9mZi1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmKTtcbiAgJG1hdC1zbGlkZXItb2ZmLWZvY3VzZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW9mZi1hY3RpdmUpO1xuICAkbWF0LXNsaWRlci1kaXNhYmxlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzbGlkZXItb2ZmKTtcbiAgJG1hdC1zbGlkZXItbGFiZWxlZC1taW4tdmFsdWUtdGh1bWItY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2xpZGVyLW1pbik7XG4gICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHNsaWRlci1vZmYpO1xuICAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHk6IDAuNztcbiAgJG1hdC1zbGlkZXItdGljay1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCAkbWF0LXNsaWRlci10aWNrLW9wYWNpdHkpO1xuICAkbWF0LXNsaWRlci10aWNrLXNpemU6IDJweDtcblxuICAubWF0LXNsaWRlci10cmFjay1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtY29sb3I7XG4gIH1cblxuICAubWF0LXByaW1hcnkge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJHByaW1hcnkpO1xuICB9XG5cbiAgLm1hdC1hY2NlbnQge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJGFjY2VudCk7XG4gIH1cblxuICAubWF0LXdhcm4ge1xuICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWlubmVyLWNvbnRlbnQtdGhlbWUoJHdhcm4pO1xuICB9XG5cbiAgLm1hdC1zbGlkZXI6aG92ZXIsXG4gIC5jZGstZm9jdXNlZCB7XG4gICAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LXNsaWRlci1vZmYtZm9jdXNlZC1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1kaXNhYmxlZCB7XG4gICAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCxcbiAgICAubWF0LXNsaWRlci10cmFjay1maWxsLFxuICAgIC5tYXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLm1hdC1zbGlkZXItdHJhY2stYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGVyLW1pbi12YWx1ZSB7XG4gICAgLm1hdC1zbGlkZXItZm9jdXMtcmluZyB7XG4gICAgICAkb3BhY2l0eTogMC4xMjtcbiAgICAgICRjb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBiYXNlLCAkb3BhY2l0eSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAgIC8vIENTUyB2YXJpYWJsZXMgc28gd2UgbmVlZCB0byB1c2UgYG9wYWNpdHlgIGFzIGEgZmFsbGJhY2suXG4gICAgICBAaWYgKHR5cGUtb2YoJGNvbG9yKSAhPSBjb2xvcikge1xuICAgICAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZyB7XG4gICAgICAubWF0LXNsaWRlci10aHVtYixcbiAgICAgIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1zbGlkZXItbGFiZWxlZC1taW4tdmFsdWUtdGh1bWItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuY2RrLWZvY3VzZWQge1xuICAgICAgICAubWF0LXNsaWRlci10aHVtYixcbiAgICAgICAgLm1hdC1zbGlkZXItdGh1bWItbGFiZWwge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtc2xpZGVyLWxhYmVsZWQtbWluLXZhbHVlLXRodW1iLWxhYmVsLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpub3QoLm1hdC1zbGlkZXItdGh1bWItbGFiZWwtc2hvd2luZykge1xuICAgICAgLm1hdC1zbGlkZXItdGh1bWIge1xuICAgICAgICBib3JkZXItY29sb3I6ICRtYXQtc2xpZGVyLW9mZi1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmLmNkay1mb2N1c2VkIHtcbiAgICAgICAgLm1hdC1zbGlkZXItdGh1bWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1hdC1zbGlkZXItb2ZmLWZvY3VzZWQtY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1hdC1zbGlkZXItZGlzYWJsZWQgLm1hdC1zbGlkZXItdGh1bWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJG1hdC1zbGlkZXItZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci1oYXMtdGlja3MgLm1hdC1zbGlkZXItd3JhcHBlcjo6YWZ0ZXIge1xuICAgIGJvcmRlci1jb2xvcjogJG1hdC1zbGlkZXItdGljay1jb2xvcjtcblxuICAgIC8vIGBtYXQtY29sb3JgIHVzZXMgYHJnYmFgIGZvciB0aGUgb3BhY2l0eSB3aGljaCB3b24ndCB3b3JrIHdpdGhcbiAgICAvLyBDU1MgdmFyaWFibGVzIHNvIHdlIG5lZWQgdG8gdXNlIGBvcGFjaXR5YCBhcyBhIGZhbGxiYWNrLlxuICAgIEBpZiAodHlwZS1vZigkbWF0LXNsaWRlci10aWNrLWNvbG9yKSAhPSBjb2xvcikge1xuICAgICAgb3BhY2l0eTogJG1hdC1zbGlkZXItdGljay1vcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2xpZGVyLWhvcml6b250YWwgLm1hdC1zbGlkZXItdGlja3Mge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRtYXQtc2xpZGVyLXRpY2stY29sb3IsXG4gICAgICAgICRtYXQtc2xpZGVyLXRpY2stY29sb3IgJG1hdC1zbGlkZXItdGljay1zaXplLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCk7XG4gICAgLy8gRmlyZWZveCBkb2Vzbid0IGRyYXcgdGhlIGdyYWRpZW50IGNvcnJlY3RseSB3aXRoICd0byByaWdodCdcbiAgICAvLyAoc2VlIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEzMTQzMTkpLlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCgwLjAwMDFkZWcsICRtYXQtc2xpZGVyLXRpY2stY29sb3IsXG4gICAgICAgICRtYXQtc2xpZGVyLXRpY2stY29sb3IgJG1hdC1zbGlkZXItdGljay1zaXplLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCk7XG5cbiAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICBAaWYgKHR5cGUtb2YoJG1hdC1zbGlkZXItdGljay1jb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICAubWF0LXNsaWRlci12ZXJ0aWNhbCAubWF0LXNsaWRlci10aWNrcyB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmVwZWF0aW5nLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICRtYXQtc2xpZGVyLXRpY2stY29sb3IsXG4gICAgICAgICRtYXQtc2xpZGVyLXRpY2stY29sb3IgJG1hdC1zbGlkZXItdGljay1zaXplLCB0cmFuc3BhcmVudCAwLCB0cmFuc3BhcmVudCk7XG5cbiAgICAvLyBgbWF0LWNvbG9yYCB1c2VzIGByZ2JhYCBmb3IgdGhlIG9wYWNpdHkgd2hpY2ggd29uJ3Qgd29yayB3aXRoXG4gICAgLy8gQ1NTIHZhcmlhYmxlcyBzbyB3ZSBuZWVkIHRvIHVzZSBgb3BhY2l0eWAgYXMgYSBmYWxsYmFjay5cbiAgICBAaWYgKHR5cGUtb2YoJG1hdC1zbGlkZXItdGljay1jb2xvcikgIT0gY29sb3IpIHtcbiAgICAgIG9wYWNpdHk6ICRtYXQtc2xpZGVyLXRpY2stb3BhY2l0eTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbGlkZXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtc2xpZGVyLXRodW1iLWxhYmVsLXRleHQge1xuICAgIGZvbnQ6IHtcbiAgICAgIGZhbWlseTogbWF0LWZvbnQtZmFtaWx5KCRjb25maWcpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBjYXB0aW9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LXNsaWRlci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc2xpZGVyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zbGlkZXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2xpZGVyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc2xpZGVyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc2xpZGVyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbiRtYXQtc3RlcHBlci1oZWFkZXItaGVpZ2h0OiA3MnB4ICFkZWZhdWx0O1xuLy8gTWluaW11bSBoZWlnaHQgZm9yIGhpZ2hlc3QgZGVuc2l0eSBzdGVwcGVyJ3MgaXMgZGV0ZXJtaW5lZCBiYXNlZCBvbiBob3cgbXVjaFxuLy8gc3RlcHBlciBoZWFkZXJzIGNhbiBzaHJpbmsgdW50aWwgdGhlIHN0ZXAgaWNvbiBvciBzdGVwIGxhYmVsIGV4Y2VlZC4gV2UgY2FuJ3QgdXNlXG4vLyBhIHZhbHVlIGJlbG93IGA0MnB4YCBiZWNhdXNlIHRoZSBvcHRpb25hbCBsYWJlbCBmb3Igc3RlcHMgd291bGQgb3RoZXJ3aXNlIGV4Y2VlZC5cbiRtYXQtc3RlcHBlci1oZWFkZXItbWluaW11bS1oZWlnaHQ6IDQycHggIWRlZmF1bHQ7XG4kbWF0LXN0ZXBwZXItaGVhZGVyLW1heGltdW0taGVpZ2h0OiAkbWF0LXN0ZXBwZXItaGVhZGVyLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC1zdGVwcGVyLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtc3RlcHBlci1oZWFkZXItaGVpZ2h0LFxuICAgIG1heGltdW06ICRtYXQtc3RlcHBlci1oZWFkZXItbWF4aW11bS1oZWlnaHQsXG4gICAgbWluaW11bTogJG1hdC1zdGVwcGVyLWhlYWRlci1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZGVub3RlZCB3aXRoIGAhZGVmYXVsdGAgYmVjYXVzZSB0aGV5IGFyZSB1c2VkIGluIHRoZSBub24tdGhlbWVcbi8vIGNvbXBvbmVudCBzdHlsZXMuIE1vZGlmeWluZyB0aGVzZSB2YXJpYWJsZXMgZG9lcyBub3QgaGF2ZSB0aGUgZGVzaXJlZCBlZmZlY3QgZm9yIGNvbnN1bWVycy5cbiRtYXQtc3RlcHBlci1sYWJlbC1oZWFkZXItaGVpZ2h0OiAyNHB4O1xuJG1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbS10b3AtZ2FwOiAxNnB4O1xuJG1hdC1zdGVwcGVyLWxhYmVsLW1pbi13aWR0aDogNTBweDtcblxuJG1hdC12ZXJ0aWNhbC1zdGVwcGVyLWNvbnRlbnQtbWFyZ2luOiAzNnB4O1xuXG4kbWF0LXN0ZXBwZXItc2lkZS1nYXA6IDI0cHg7XG4kbWF0LXN0ZXBwZXItbGluZS13aWR0aDogMXB4O1xuJG1hdC1zdGVwcGVyLWxpbmUtZ2FwOiA4cHg7XG5cbiRtYXQtc3RlcC1zdWItbGFiZWwtZm9udC1zaXplOiAxMnB4O1xuJG1hdC1zdGVwLWhlYWRlci1pY29uLXNpemU6IDE2cHg7XG5cblxuQG1peGluIG1hdC1zdGVwcGVyLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG5cbiAgLm1hdC1zdGVwLWhlYWRlciB7XG4gICAgJi5jZGsta2V5Ym9hcmQtZm9jdXNlZCxcbiAgICAmLmNkay1wcm9ncmFtLWZvY3VzZWQsXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGhvdmVyKTtcbiAgICB9XG5cbiAgICAvLyBPbiB0b3VjaCBkZXZpY2VzIHRoZSA6aG92ZXIgc3RhdGUgd2lsbCBsaW5nZXIgb24gdGhlIGVsZW1lbnQgYWZ0ZXIgYSB0YXAuXG4gICAgLy8gUmVzZXQgaXQgdmlhIGBAbWVkaWFgIGFmdGVyIHRoZSBkZWNsYXJhdGlvbiwgYmVjYXVzZSB0aGUgbWVkaWEgcXVlcnkgaXNuJ3RcbiAgICAvLyBzdXBwb3J0ZWQgYnkgYWxsIGJyb3dzZXJzIHlldC5cbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtbGFiZWwsXG4gICAgLm1hdC1zdGVwLW9wdGlvbmFsIHtcbiAgICAgIC8vIFRPRE8oam9zZXBocGVycm90dCk6IFVwZGF0ZSB0byB1c2luZyBhIGNvcnJlY3RlZCBkaXNhYmxlZC10ZXh0IGNvbnRyYXN0XG4gICAgICAvLyBpbnN0ZWFkIG9mIHNlY29uZGFyeS10ZXh0LlxuICAgICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgc2Vjb25kYXJ5LXRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc3RlcC1pY29uIHtcbiAgICAgIC8vIFRPRE8oam9zZXBocGVycm90dCk6IFVwZGF0ZSB0byB1c2luZyBhIGNvcnJlY3RlZCBkaXNhYmxlZC10ZXh0IGNvbnRyYXN0XG4gICAgICAvLyBpbnN0ZWFkIG9mIHNlY29uZGFyeS10ZXh0LlxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5LCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCxcbiAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1kb25lLFxuICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVkaXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRwcmltYXJ5KTtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIGRlZmF1bHQtY29udHJhc3QpO1xuICAgIH1cblxuICAgICYubWF0LWFjY2VudCB7XG4gICAgICAubWF0LXN0ZXAtaWNvbiB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtc3RlcC1pY29uLXNlbGVjdGVkLFxuICAgICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZG9uZSxcbiAgICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWVkaXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCk7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGFjY2VudCwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5tYXQtd2FybiB7XG4gICAgICAubWF0LXN0ZXAtaWNvbiB7XG4gICAgICAgIGNvbG9yOiBtYXQtY29sb3IoJHdhcm4sIGRlZmF1bHQtY29udHJhc3QpO1xuICAgICAgfVxuXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zZWxlY3RlZCxcbiAgICAgIC5tYXQtc3RlcC1pY29uLXN0YXRlLWRvbmUsXG4gICAgICAubWF0LXN0ZXAtaWNvbi1zdGF0ZS1lZGl0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgICAgICAgY29sb3I6IG1hdC1jb2xvcigkd2FybiwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hdC1zdGVwLWljb24tc3RhdGUtZXJyb3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgICB9XG5cbiAgICAubWF0LXN0ZXAtbGFiZWwubWF0LXN0ZXAtbGFiZWwtYWN0aXZlIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICAgIH1cblxuICAgIC5tYXQtc3RlcC1sYWJlbC5tYXQtc3RlcC1sYWJlbC1lcnJvciB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCR3YXJuLCB0ZXh0KTtcbiAgICB9XG4gIH1cblxuICAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbCwgLm1hdC1zdGVwcGVyLXZlcnRpY2FsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGNhcmQpO1xuICB9XG5cbiAgLm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlcik7XG4gIH1cblxuICAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXI6OmJlZm9yZSxcbiAgLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyOjphZnRlcixcbiAgLm1hdC1zdGVwcGVyLWhvcml6b250YWwtbGluZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXN0ZXBwZXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtc3RlcHBlci12ZXJ0aWNhbCwgLm1hdC1zdGVwcGVyLWhvcml6b250YWwge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXN0ZXAtbGFiZWwge1xuICAgIGZvbnQ6IHtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYm9keS0xKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSk7XG4gICAgfTtcbiAgfVxuXG4gIC5tYXQtc3RlcC1zdWItbGFiZWwtZXJyb3Ige1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAubWF0LXN0ZXAtbGFiZWwtZXJyb3Ige1xuICAgIGZvbnQtc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTIpO1xuICB9XG5cbiAgLm1hdC1zdGVwLWxhYmVsLXNlbGVjdGVkIHtcbiAgICBmb250OiB7XG4gICAgICBzaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMik7XG4gICAgICB3ZWlnaHQ6IG1hdC1mb250LXdlaWdodCgkY29uZmlnLCBib2R5LTIpO1xuICAgIH07XG4gIH1cbn1cblxuQG1peGluIG1hdC1zdGVwcGVyLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGhlaWdodDogbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKCRtYXQtc3RlcHBlci1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG4gICR2ZXJ0aWNhbC1wYWRkaW5nOiAoJGhlaWdodCAtICRtYXQtc3RlcHBlci1sYWJlbC1oZWFkZXItaGVpZ2h0KSAvIDI7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LWhvcml6b250YWwtc3RlcHBlci1oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cblxuICAgIC5tYXQtc3RlcHBlci1sYWJlbC1wb3NpdGlvbi1ib3R0b20gLm1hdC1ob3Jpem9udGFsLXN0ZXBwZXItaGVhZGVyLFxuICAgIC5tYXQtdmVydGljYWwtc3RlcHBlci1oZWFkZXIge1xuICAgICAgcGFkZGluZzogJHZlcnRpY2FsLXBhZGRpbmcgJG1hdC1zdGVwcGVyLXNpZGUtZ2FwO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZXMgdGhhdCB0aGUgdmVydGljYWwgbGluZXMgZm9yIHRoZSBzdGVwIGNvbnRlbnQgZXhjZWVkIGludG8gdGhlIHN0ZXBcbiAgICAvLyBoZWFkZXJzIHdpdGggYSBnaXZlbiBkaXN0YW5jZSAoYCRtYXQtc3RlcHBlci1saW5lLWdhcGApIHRvIHRoZSBzdGVwIGljb24uXG4gICAgLm1hdC1zdGVwcGVyLXZlcnRpY2FsLWxpbmU6OmJlZm9yZSB7XG4gICAgICB0b3A6ICRtYXQtc3RlcHBlci1saW5lLWdhcCAtICR2ZXJ0aWNhbC1wYWRkaW5nO1xuICAgICAgYm90dG9tOiAkbWF0LXN0ZXBwZXItbGluZS1nYXAgLSAkdmVydGljYWwtcGFkZGluZztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIGhvcml6b250YWwgbGluZXMgZm9yIHRoZSBzdGVwIGhlYWRlciBhcmUgY2VudGVyZWQgdmVydGljYWxseS5cbiAgICAubWF0LXN0ZXBwZXItbGFiZWwtcG9zaXRpb24tYm90dG9tIC5tYXQtaG9yaXpvbnRhbC1zdGVwcGVyLWhlYWRlciB7XG4gICAgICAmOjphZnRlciwgJjo6YmVmb3JlIHtcbiAgICAgICAgdG9wOiAkdmVydGljYWwtcGFkZGluZyArICRtYXQtc3RlcHBlci1sYWJlbC1oZWFkZXItaGVpZ2h0IC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbnN1cmVzIHRoYXQgdGhlIGhvcml6b250YWwgbGluZSBmb3IgdGhlIHN0ZXAgY29udGVudCBpcyBhbGlnbmVkIGNlbnRlcmVkIHZlcnRpY2FsbHkuXG4gICAgLm1hdC1zdGVwcGVyLWxhYmVsLXBvc2l0aW9uLWJvdHRvbSAubWF0LXN0ZXBwZXItaG9yaXpvbnRhbC1saW5lIHtcbiAgICAgIHRvcDogJHZlcnRpY2FsLXBhZGRpbmcgKyAkbWF0LXN0ZXBwZXItbGFiZWwtaGVhZGVyLWhlaWdodCAvIDI7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYXQtc3RlcHBlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc3RlcHBlcicpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zdGVwcGVyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc3RlcHBlci10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBtaXhpbiBtYXQtc29ydC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgLm1hdC1zb3J0LWhlYWRlci1hcnJvdyB7XG4gICAgJHRhYmxlLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgJ2NhcmQnKTtcbiAgICAkdGV4dC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG5cbiAgICAvLyBCZWNhdXNlIHRoZSBhcnJvdyBpcyBtYWRlIHVwIG9mIG11bHRpcGxlIGVsZW1lbnRzIHRoYXQgYXJlIHN0YWNrZWQgb24gdG9wIG9mIGVhY2ggb3RoZXIsXG4gICAgLy8gd2UgY2FuJ3QgdXNlIHRoZSBzZW1pLXRyYW5zcGFyZW50IGNvbG9yIGZyb20gdGhlIHRoZW1lIGRpcmVjdGx5LiBJZiB0aGUgdmFsdWUgaXMgYSBjb2xvclxuICAgIC8vICp0eXBlKiwgd2UgY29udmVydCBpdCBpbnRvIGEgc29saWQgY29sb3IgYnkgdGFraW5nIHRoZSBvcGFjaXR5IGZyb20gdGhlIHJnYmEgdmFsdWUgYW5kXG4gICAgLy8gdXNpbmcgdGhlIHZhbHVlIHRvIGRldGVybWluZSB0aGUgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCB0byBwdXQgaW50byBmb3JlZ3JvdW5kXG4gICAgLy8gd2hlbiBtaXhpbmcgdGhlIGNvbG9ycyB0b2dldGhlci4gT3RoZXJ3aXNlLCBpZiBpdCByZXNvbHZlcyB0byBzb21ldGhpbmcgZGlmZmVyZW50XG4gICAgLy8gKGUuZy4gaXQgcmVzb2x2ZXMgdG8gYSBDU1MgdmFyaWFibGUpLCB3ZSB1c2UgdGhlIGNvbG9yIGRpcmVjdGx5LlxuICAgIEBpZiAodHlwZS1vZigkdGFibGUtYmFja2dyb3VuZCkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJHRleHQtY29sb3IpID09IGNvbG9yKSB7XG4gICAgICAkdGV4dC1vcGFjaXR5OiBvcGFjaXR5KCR0ZXh0LWNvbG9yKTtcbiAgICAgIGNvbG9yOiBtaXgoJHRhYmxlLWJhY2tncm91bmQsIHJnYmEoJHRleHQtY29sb3IsIDEpLCAoMSAtICR0ZXh0LW9wYWNpdHkpICogMTAwJSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1zb3J0LXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIF9tYXQtc29ydC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc29ydC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtc29ydCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1zb3J0LWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc29ydC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXNvcnQtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuQG1peGluIG1hdC10YWJzLWNvbG9yKCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC1jb2xvci1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gICRwcmltYXJ5OiBtYXAtZ2V0KCRjb25maWcsIHByaW1hcnkpO1xuICAkYWNjZW50OiBtYXAtZ2V0KCRjb25maWcsIGFjY2VudCk7XG4gICR3YXJuOiBtYXAtZ2V0KCRjb25maWcsIHdhcm4pO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRoZWFkZXItYm9yZGVyOiAxcHggc29saWQgbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyKTtcblxuICAubWF0LXRhYi1uYXYtYmFyLFxuICAubWF0LXRhYi1oZWFkZXIge1xuICAgIGJvcmRlci1ib3R0b206ICRoZWFkZXItYm9yZGVyO1xuICB9XG5cbiAgLm1hdC10YWItZ3JvdXAtaW52ZXJ0ZWQtaGVhZGVyIHtcbiAgICAubWF0LXRhYi1uYXYtYmFyLFxuICAgIC5tYXQtdGFiLWhlYWRlciB7XG4gICAgICBib3JkZXItdG9wOiAkaGVhZGVyLWJvcmRlcjtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLm1hdC10YWItbGFiZWwsIC5tYXQtdGFiLWxpbmsge1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuXG4gICAgJi5tYXQtdGFiLWRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGRpc2FibGVkLXRleHQpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCB0ZXh0KTtcbiAgfVxuXG4gIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWRpc2FibGVkIC5tYXQtdGFiLWhlYWRlci1wYWdpbmF0aW9uLWNoZXZyb24ge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgfVxuXG4gIC8vIFJlbW92ZSBoZWFkZXIgYm9yZGVyIHdoZW4gdGhlcmUgaXMgYSBiYWNrZ3JvdW5kIGNvbG9yXG4gIC5tYXQtdGFiLWdyb3VwW2NsYXNzKj0nbWF0LWJhY2tncm91bmQtJ10gLm1hdC10YWItaGVhZGVyLFxuICAubWF0LXRhYi1uYXYtYmFyW2NsYXNzKj0nbWF0LWJhY2tncm91bmQtJ10ge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuXG4gIC5tYXQtdGFiLWdyb3VwLCAubWF0LXRhYi1uYXYtYmFyIHtcbiAgICAkdGhlbWUtY29sb3JzOiAoXG4gICAgICBwcmltYXJ5OiAkcHJpbWFyeSxcbiAgICAgIGFjY2VudDogJGFjY2VudCxcbiAgICAgIHdhcm46ICR3YXJuXG4gICAgKTtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgICAvLyBTZXQgdGhlIGZvcmVncm91bmQgY29sb3Igb2YgdGhlIHRhYnNcbiAgICAgICYubWF0LSN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC10YWItbGFiZWwtZm9jdXMoJGNvbG9yKTtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1pbmstYmFyKCRjb2xvcik7XG5cbiAgICAgICAgLy8gT3ZlcnJpZGUgaW5rIGJhciB3aGVuIGJhY2tncm91bmQgY29sb3IgaXMgdGhlIHNhbWVcbiAgICAgICAgJi5tYXQtYmFja2dyb3VuZC0jeyRuYW1lfSB7XG4gICAgICAgICAgPiAubWF0LXRhYi1oZWFkZXIsID4gLm1hdC10YWItbGluay1jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgX21hdC1pbmstYmFyKCRjb2xvciwgZGVmYXVsdC1jb250cmFzdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkdGhlbWUtY29sb3JzIHtcbiAgICAgIC8vIFNldCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0YWJzIGFuZCBvdmVycmlkZSBmb2N1cyBjb2xvclxuICAgICAgJi5tYXQtYmFja2dyb3VuZC0jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCRjb2xvcik7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtdGFicy1iYWNrZ3JvdW5kKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LWluay1iYXIoJGNvbG9yLCAkaHVlOiBkZWZhdWx0KSB7XG4gIC5tYXQtaW5rLWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWF0LWNvbG9yKCRjb2xvciwgJGh1ZSk7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdGFiLWxhYmVsLWZvY3VzKCR0YWItZm9jdXMtY29sb3IpIHtcbiAgLm1hdC10YWItbGFiZWwsXG4gIC5tYXQtdGFiLWxpbmsge1xuICAgICYuY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gICAgJi5jZGstcHJvZ3JhbS1mb2N1c2VkIHtcbiAgICAgICY6bm90KC5tYXQtdGFiLWRpc2FibGVkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkdGFiLWZvY3VzLWNvbG9yLCBsaWdodGVyLCAwLjMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gX21hdC10YWJzLWJhY2tncm91bmQoJGJhY2tncm91bmQtY29sb3IpIHtcbiAgLy8gTm90ZSB0aGF0IHRoZXNlIHNlbGVjdG9ycyB0YXJnZXQgZGlyZWN0IGRlc2NlbmRhbnRzIHNvXG4gIC8vIHRoYXQgdGhlIHN0eWxlcyBkb24ndCBhcHBseSB0byBhbnkgbmVzdGVkIHRhYiBncm91cHMuXG5cbiAgLy8gU2V0IGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWIgZ3JvdXBcbiAgPiAubWF0LXRhYi1oZWFkZXIsID4gLm1hdC10YWItbGluay1jb250YWluZXIsID4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYmFja2dyb3VuZC1jb2xvcik7XG4gIH1cblxuICAvLyBTZXQgbGFiZWxzIHRvIGNvbnRyYXN0IGFnYWluc3QgYmFja2dyb3VuZFxuICA+IC5tYXQtdGFiLWhlYWRlciAubWF0LXRhYi1sYWJlbCwgPiAubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXRhYi1saW5rIHtcbiAgICBjb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0KTtcblxuICAgICYubWF0LXRhYi1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0LCAwLjQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldCBwYWdpbmF0aW9uIGNoZXZyb25zIHRvIGNvbnRyYXN0IGJhY2tncm91bmRcbiAgPiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbiAubWF0LXRhYi1oZWFkZXItcGFnaW5hdGlvbi1jaGV2cm9uLFxuICA+IC5tYXQtdGFiLWxpbmtzIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUsXG4gID4gLm1hdC10YWItaGVhZGVyIC5tYXQtZm9jdXMtaW5kaWNhdG9yOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLWNvbG9yLCBkZWZhdWx0LWNvbnRyYXN0KTtcbiAgfVxuXG4gID4gLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tZGlzYWJsZWQgLm1hdC10YWItaGVhZGVyLXBhZ2luYXRpb24tY2hldnJvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IsIGRlZmF1bHQtY29udHJhc3QsIDAuNCk7XG4gIH1cblxuICAvLyBTZXQgcmlwcGxlcyBjb2xvciB0byBiZSB0aGUgY29udHJhc3QgY29sb3Igb2YgdGhlIG5ldyBiYWNrZ3JvdW5kLiBPdGhlcndpc2UgdGhlIHJpcHBsZVxuICAvLyBjb2xvciB3aWxsIGJlIGJhc2VkIG9uIHRoZSBhcHAgYmFja2dyb3VuZCBjb2xvci5cbiAgPiAubWF0LXRhYi1oZWFkZXIgLm1hdC1yaXBwbGUtZWxlbWVudCxcbiAgPiAubWF0LXRhYi1saW5rLWNvbnRhaW5lciAubWF0LXJpcHBsZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQtY29sb3IsIGRlZmF1bHQtY29udHJhc3QsIDAuMTIpO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdGFicy10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10YWItZ3JvdXAge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXRhYi1sYWJlbCwgLm1hdC10YWItbGluayB7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHNpemU6IG1hdC1mb250LXNpemUoJGNvbmZpZywgYnV0dG9uKTtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LXRhYnMtZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXRhYnMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXRhYnMnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdGFicy1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRhYnMtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10YWJzLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuLy8gTWluaW11bSBoZWlnaHQgZm9yIHRvb2xiYXIncyBpbiB0aGUgaGlnaGVzdCBkZW5zaXR5IGlzIGRpZmZpY3VsdCB0byBkZXRlcm1pbmUgYmVjYXVzZVxuLy8gZGV2ZWxvcGVycyBjYW4gcHJvamVjdCBhcmJpdHJhcnkgY29udGVudC4gV2UgdXNlIGEgbWluaW11bSB2YWx1ZSB0aGF0IGVuc3VyZXMgdGhhdCBtb3N0XG4vLyBjb21tb24gY29udGVudCAoZS5nLiBpY29uIGJ1dHRvbnMpIGRvZXMgbm90IGV4Y2VlZCB0aGUgcm93IGJvdW5kYXJpZXMgaW4gaGlnaGVzdCBkZW5zaXR5LlxuJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0OiA0NHB4ICFkZWZhdWx0O1xuXG4kbWF0LXRvb2xiYXItaGVpZ2h0LWRlc2t0b3A6IDY0cHggIWRlZmF1bHQ7XG4kbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtZGVza3RvcDogJG1hdC10b29sYmFyLWhlaWdodC1kZXNrdG9wICFkZWZhdWx0O1xuJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0LWRlc2t0b3A6ICRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLWhlaWdodC1tb2JpbGU6IDU2cHggIWRlZmF1bHQ7XG4kbWF0LXRvb2xiYXItbWF4aW11bS1oZWlnaHQtbW9iaWxlOiAkbWF0LXRvb2xiYXItaGVpZ2h0LW1vYmlsZSAhZGVmYXVsdDtcbiRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1tb2JpbGU6ICRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC10b29sYmFyLWRlc2t0b3AtZGVuc2l0eS1jb25maWc6IChcbiAgaGVpZ2h0OiAoXG4gICAgZGVmYXVsdDogJG1hdC10b29sYmFyLWhlaWdodC1kZXNrdG9wLFxuICAgIG1heGltdW06ICRtYXQtdG9vbGJhci1tYXhpbXVtLWhlaWdodC1kZXNrdG9wLFxuICAgIG1pbmltdW06ICRtYXQtdG9vbGJhci1taW5pbXVtLWhlaWdodC1kZXNrdG9wLFxuICApXG4pICFkZWZhdWx0O1xuXG4kbWF0LXRvb2xiYXItbW9iaWxlLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtdG9vbGJhci1oZWlnaHQtbW9iaWxlLFxuICAgIG1heGltdW06ICRtYXQtdG9vbGJhci1tYXhpbXVtLWhlaWdodC1tb2JpbGUsXG4gICAgbWluaW11bTogJG1hdC10b29sYmFyLW1pbmltdW0taGVpZ2h0LW1vYmlsZSxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gX21hdC10b29sYmFyLWhlaWdodCgkaGVpZ2h0KSB7XG4gIC5tYXQtdG9vbGJhci1tdWx0aXBsZS1yb3dzIHtcbiAgICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICB9XG4gIC5tYXQtdG9vbGJhci1yb3csIC5tYXQtdG9vbGJhci1zaW5nbGUtcm93IHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cbn1cblxuQG1peGluIF9tYXQtdG9vbGJhci1jb2xvcigkcGFsZXR0ZSkge1xuICBiYWNrZ3JvdW5kOiBtYXQtY29sb3IoJHBhbGV0dGUpO1xuICBjb2xvcjogbWF0LWNvbG9yKCRwYWxldHRlLCBkZWZhdWx0LWNvbnRyYXN0KTtcbn1cblxuQG1peGluIF9tYXQtdG9vbGJhci1mb3JtLWZpZWxkLW92ZXJyaWRlcyB7XG4gIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUsXG4gIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUsXG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gIC5tYXQtc2VsZWN0LXZhbHVlLFxuICAubWF0LXNlbGVjdC1hcnJvdyxcbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgY2FyZXQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2xiYXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJHByaW1hcnk6IG1hcC1nZXQoJGNvbmZpZywgcHJpbWFyeSk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcbiAgJHdhcm46IG1hcC1nZXQoJGNvbmZpZywgd2Fybik7XG4gICRiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQpO1xuICAkZm9yZWdyb3VuZDogbWFwLWdldCgkY29uZmlnLCBmb3JlZ3JvdW5kKTtcblxuICAubWF0LXRvb2xiYXIge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgYXBwLWJhcik7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG5cbiAgICAmLm1hdC1wcmltYXJ5IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1jb2xvcigkcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1jb2xvcigkYWNjZW50KTtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtdG9vbGJhci1jb2xvcigkd2Fybik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWZvcm0tZmllbGQtb3ZlcnJpZGVzO1xuICB9XG59XG5cbkBtaXhpbiBtYXQtdG9vbGJhci10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLm1hdC10b29sYmFyLFxuICAubWF0LXRvb2xiYXIgaDEsXG4gIC5tYXQtdG9vbGJhciBoMixcbiAgLm1hdC10b29sYmFyIGgzLFxuICAubWF0LXRvb2xiYXIgaDQsXG4gIC5tYXQtdG9vbGJhciBoNSxcbiAgLm1hdC10b29sYmFyIGg2IHtcbiAgICBAaW5jbHVkZSBtYXQtdHlwb2dyYXBoeS1sZXZlbC10by1zdHlsZXMoJGNvbmZpZywgdGl0bGUpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2xiYXItZGVuc2l0eSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRkZW5zaXR5LXNjYWxlOiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkaGVpZ2h0LWRlc2t0b3A6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICRtYXQtdG9vbGJhci1kZXNrdG9wLWRlbnNpdHktY29uZmlnLCAkZGVuc2l0eS1zY2FsZSwgaGVpZ2h0KTtcbiAgJGhlaWdodC1tb2JpbGU6IG1hdC1wcml2YXRlLWRlbnNpdHktcHJvcC12YWx1ZShcbiAgICAgICRtYXQtdG9vbGJhci1tb2JpbGUtZGVuc2l0eS1jb25maWcsICRkZW5zaXR5LXNjYWxlLCBoZWlnaHQpO1xuXG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWRlbnNpdHktbGVnYWN5LWNvbXBhdGliaWxpdHkoKSB7XG4gICAgLy8gU2V0IHRoZSBkZWZhdWx0IGhlaWdodCBmb3IgdGhlIHRvb2xiYXIuXG4gICAgQGluY2x1ZGUgX21hdC10b29sYmFyLWhlaWdodCgkaGVpZ2h0LWRlc2t0b3ApO1xuXG4gICAgLy8gQXMgcGVyIHNwZWNzLCB0b29sYmFycyBzaG91bGQgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHQgaW4gbW9iaWxlIGRldmljZXMuIFRoaXMgaGFzIGJlZW5cbiAgICAvLyBzcGVjaWZpZWQgaW4gdGhlIG9sZCBndWlkZWxpbmVzIGFuZCBpcyBzdGlsbCBvYnNlcnZhYmxlIGluIHRoZSBuZXcgc3BlY2lmaWNhdGlvbnMgYnlcbiAgICAvLyBsb29raW5nIGF0IHRoZSBzcGVjIGltYWdlcy4gU2VlOiBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb21wb25lbnRzL2FwcC1iYXJzLXRvcC5odG1sI2FuYXRvbXlcbiAgICBAbWVkaWEgKCRtYXQteHNtYWxsKSB7XG4gICAgICBAaW5jbHVkZSBfbWF0LXRvb2xiYXItaGVpZ2h0KCRoZWlnaHQtbW9iaWxlKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC10b29sYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10b29sYmFyJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2xiYXItY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2xiYXItZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC10b29sYmFyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cbiRtYXQtdG9vbHRpcC10YXJnZXQtaGVpZ2h0OiAyMnB4O1xuJG1hdC10b29sdGlwLWZvbnQtc2l6ZTogMTBweDtcbiRtYXQtdG9vbHRpcC12ZXJ0aWNhbC1wYWRkaW5nOiAoJG1hdC10b29sdGlwLXRhcmdldC1oZWlnaHQgLSAkbWF0LXRvb2x0aXAtZm9udC1zaXplKSAvIDI7XG5cbiRtYXQtdG9vbHRpcC1oYW5kc2V0LXRhcmdldC1oZWlnaHQ6IDMwcHg7XG4kbWF0LXRvb2x0aXAtaGFuZHNldC1mb250LXNpemU6IDE0cHg7XG4kbWF0LXRvb2x0aXAtaGFuZHNldC12ZXJ0aWNhbC1wYWRkaW5nOlxuICAgICgkbWF0LXRvb2x0aXAtaGFuZHNldC10YXJnZXQtaGVpZ2h0IC0gJG1hdC10b29sdGlwLWhhbmRzZXQtZm9udC1zaXplKSAvIDI7XG5cbkBtaXhpbiBtYXQtdG9vbHRpcC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkYmFja2dyb3VuZDogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kKTtcblxuICAubWF0LXRvb2x0aXAge1xuICAgIGJhY2tncm91bmQ6IG1hdC1jb2xvcigkYmFja2dyb3VuZCwgdG9vbHRpcCwgMC45KTtcbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRvb2x0aXAtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtdG9vbHRpcCB7XG4gICAgZm9udC1mYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnKTtcbiAgICBmb250LXNpemU6ICRtYXQtdG9vbHRpcC1mb250LXNpemU7XG4gICAgcGFkZGluZy10b3A6ICRtYXQtdG9vbHRpcC12ZXJ0aWNhbC1wYWRkaW5nO1xuICAgIHBhZGRpbmctYm90dG9tOiAkbWF0LXRvb2x0aXAtdmVydGljYWwtcGFkZGluZztcbiAgfVxuXG4gIC5tYXQtdG9vbHRpcC1oYW5kc2V0IHtcbiAgICBmb250LXNpemU6ICRtYXQtdG9vbHRpcC1oYW5kc2V0LWZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nLXRvcDogJG1hdC10b29sdGlwLWhhbmRzZXQtdmVydGljYWwtcGFkZGluZztcbiAgICBwYWRkaW5nLWJvdHRvbTogJG1hdC10b29sdGlwLWhhbmRzZXQtdmVydGljYWwtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gX21hdC10b29sdGlwLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC10b29sdGlwLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC10b29sdGlwJykge1xuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICAkZGVuc2l0eTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkdGhlbWUpO1xuICAgICR0eXBvZ3JhcGh5OiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCR0aGVtZSk7XG5cbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgX21hdC10b29sdGlwLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdG9vbHRpcC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuQG1peGluIG1hdC1zbmFjay1iYXItY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGlzLWRhcmstdGhlbWU6IG1hcC1nZXQoJGNvbmZpZywgaXMtZGFyayk7XG4gICRhY2NlbnQ6IG1hcC1nZXQoJGNvbmZpZywgYWNjZW50KTtcblxuICAubWF0LXNuYWNrLWJhci1jb250YWluZXIge1xuICAgIC8vIFVzZSB0aGUgcHJpbWFyeSB0ZXh0IG9uIHRoZSBkYXJrIHRoZW1lLCBldmVuIHRob3VnaCB0aGUgbGlnaHRlciBvbmUgdXNlc1xuICAgIC8vIGEgc2Vjb25kYXJ5LCBiZWNhdXNlIHRoZSBjb250cmFzdCBvbiB0aGUgbGlnaHQgcHJpbWFyeSB0ZXh0IGlzIHBvb3IuXG4gICAgY29sb3I6IGlmKCRpcy1kYXJrLXRoZW1lLCAkZGFyay1wcmltYXJ5LXRleHQsICRsaWdodC1zZWNvbmRhcnktdGV4dCk7XG4gICAgYmFja2dyb3VuZDogaWYoJGlzLWRhcmstdGhlbWUsIG1hcC1nZXQoJG1hdC1ncmV5LCA1MCksICMzMjMyMzIpO1xuXG4gICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtdGhlbWUtZWxldmF0aW9uKDYsICRjb25maWcpO1xuICB9XG5cbiAgLm1hdC1zaW1wbGUtc25hY2tiYXItYWN0aW9uIHtcbiAgICBjb2xvcjogaWYoJGlzLWRhcmstdGhlbWUsIGluaGVyaXQsIG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC1zbmFjay1iYXItdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyIHtcbiAgICBmb250OiB7XG4gICAgICBmYW1pbHk6IG1hdC1mb250LWZhbWlseSgkY29uZmlnLCBib2R5LTEpO1xuICAgICAgc2l6ZTogbWF0LWZvbnQtc2l6ZSgkY29uZmlnLCBib2R5LTEpO1xuICAgIH1cbiAgfVxuXG4gIC5tYXQtc2ltcGxlLXNuYWNrYmFyLWFjdGlvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udDoge1xuICAgICAgZmFtaWx5OiBpbmhlcml0O1xuICAgICAgc2l6ZTogaW5oZXJpdDtcbiAgICAgIHdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJ1dHRvbik7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBfbWF0LXNuYWNrLWJhci1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtc25hY2stYmFyLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1zbmFjay1iYXInKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc25hY2stYmFyLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIF9tYXQtc25hY2stYmFyLWRlbnNpdHkoJGRlbnNpdHkpO1xuICAgIH1cbiAgICBAaWYgJHR5cG9ncmFwaHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtc25hY2stYmFyLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIFRoZW1lIHN0eWxlcyB0aGF0IG9ubHkgYXBwbHkgdG8gdGhlIGZpbGwgYXBwZWFyYW5jZSBvZiB0aGUgZm9ybS1maWVsZC5cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWZpbGwtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gICRmaWxsLWJhY2tncm91bmQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgYmFzZSwgaWYoJGlzLWRhcmstdGhlbWUsIDAuMSwgMC4wNCkpO1xuICAkZmlsbC1kaXNhYmxlZC1iYWNrZ3JvdW5kOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIGJhc2UsIGlmKCRpcy1kYXJrLXRoZW1lLCAwLjA1LCAwLjAyKSk7XG4gICR1bmRlcmxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNSwgMC40MikpO1xuICAkbGFiZWwtZGlzYWJsZWQtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGlzYWJsZWQtdGV4dCk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2UtZmlsbCB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZpbGwtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWRpc2FibGVkIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmaWxsLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGxhYmVsLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGU6IDA7XG5cbi8vIEFwcGxpZXMgYSBmbG9hdGluZyBsYWJlbCBhYm92ZSB0aGUgZm9ybSBmaWVsZCBjb250cm9sIGl0c2VsZi5cbkBtaXhpbiBfbWF0LWZvcm0tZmllbGQtZmlsbC1sYWJlbC1mbG9hdGluZygkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1maWxsLWRlZHVwZSlcbiAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIHdpZHRoOiAxMDAlIC8gJGZvbnQtc2NhbGUgKyAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLWZpbGwtZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtZmlsbC1kZWR1cGUgKyAwLjAwMDAxICFnbG9iYWw7XG59XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1maWxsLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBUaGUgdW5pdC1sZXNzIGxpbmUtaGVpZ2h0IGZyb20gdGhlIGZvbnQgY29uZmlnLlxuICAkbGluZS1oZWlnaHQ6IG1hdC1saW5lLWhlaWdodCgkY29uZmlnLCBpbnB1dCk7XG4gIC8vIFRoZSBhbW91bnQgdG8gc2NhbGUgdGhlIGZvbnQgZm9yIHRoZSBmbG9hdGluZyBsYWJlbCBhbmQgc3Vic2NyaXB0LlxuICAkc3Vic2NyaXB0LWZvbnQtc2NhbGU6IDAuNzU7XG4gIC8vIFRoZSBwYWRkaW5nIG9uIHRvcCBvZiB0aGUgaW5maXguXG4gICRpbmZpeC1wYWRkaW5nLXRvcDogMC4yNWVtO1xuICAvLyBUaGUgcGFkZGluZyBiZWxvdyB0aGUgaW5maXguXG4gICRpbmZpeC1wYWRkaW5nLWJvdHRvbTogMC43NWVtO1xuICAvLyBUaGUgbWFyZ2luIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtaW5maXggdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAkaW5maXgtbWFyZ2luLXRvcDogMWVtICogJGxpbmUtaGVpZ2h0ICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgYW1vdW50IHdlIG9mZnNldCB0aGUgbGFiZWwgZnJvbSB0aGUgaW5wdXQgdGV4dCBpbiB0aGUgZmlsbCBhcHBlYXJhbmNlLlxuICAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldDogLTAuNWVtO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWZpbGwge1xuICAgIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZy10b3AgMCAkaW5maXgtcGFkZGluZy1ib3R0b20gMDtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgdG9wOiAkaW5maXgtbWFyZ2luLXRvcCArICRpbmZpeC1wYWRkaW5nLXRvcDtcbiAgICAgIG1hcmdpbi10b3A6ICRmaWxsLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0O1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyOmZvY3VzICsgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWZpbGwtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZy10b3AgKyAkZmlsbC1hcHBlYXJhbmNlLWxhYmVsLW9mZnNldCxcbiAgICAgICAgICAgICAgICAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtZmlsbC1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLXRvcCArICRmaWxsLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtZmlsbC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1maWxsLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkLWZpbGwnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtZmlsbC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZmlsbC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgbGVnYWN5IGFwcGVhcmFuY2Ugb2YgdGhlIGZvcm0tZmllbGQuXG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1sZWdhY3ktY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gICRsYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCk7XG4gICR1bmRlcmxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNywgMC40MikpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gICAgfVxuXG4gICAgLm1hdC1oaW50IHtcbiAgICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yO1xuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jb250cm9sLWRpc2FibGVkLXVuZGVybGluZSgkdW5kZXJsaW5lLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gVXNlZCB0byBtYWtlIGluc3RhbmNlcyBvZiB0aGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nIG1peGluIG5lZ2xpZ2libHkgZGlmZmVyZW50LFxuLy8gYW5kIHByZXZlbnQgR29vZ2xlJ3MgQ1NTIE9wdGltaXplciBmcm9tIGNvbGxhcHNpbmcgdGhlIGRlY2xhcmF0aW9ucy4gVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSBzb21lXG4vLyBvZiB0aGUgc2VsZWN0b3JzIGNvbnRhaW4gcHNldWRvLWNsYXNzZXMgbm90IHJlY29nbml6ZWQgaW4gYWxsIGJyb3dzZXJzLiBJZiBhIGJyb3dzZXIgZW5jb3VudGVyc1xuLy8gYW4gdW5rbm93biBwc2V1ZG8tY2xhc3MgaXQgd2lsbCBkaXNjYXJkIHRoZSBlbnRpcmUgcnVsZSBzZXQuXG4kbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICAvLyBXZSB1c2UgcGVyc3BlY3RpdmUgdG8gZml4IHRoZSB0ZXh0IGJsdXJyaW5lc3MgYXMgZGVzY3JpYmVkIGhlcmU6XG4gIC8vIGh0dHA6Ly93d3cudXNlcmFnZW50bWFuLmNvbS9ibG9nLzIwMTQvMDUvMDQvZml4aW5nLXR5cG9ncmFwaHktaW5zaWRlLW9mLTItZC1jc3MtdHJhbnNmb3Jtcy9cbiAgLy8gVGhpcyByZXN1bHRzIGluIGEgc21hbGwgaml0dGVyIGFmdGVyIHRoZSBsYWJlbCBmbG9hdHMgb24gRmlyZWZveCwgd2hpY2ggdGhlXG4gIC8vIHRyYW5zbGF0ZVogZml4ZXMuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZykgc2NhbGUoJGZvbnQtc2NhbGUpIHBlcnNwZWN0aXZlKDEwMHB4KVxuICB0cmFuc2xhdGVaKDAuMDAxcHggKyAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSk7XG4gIC8vIFRoZSB0cmlja3MgYWJvdmUgdXNlZCB0byBzbW9vdGggb3V0IHRoZSBhbmltYXRpb24gb24gY2hyb21lIGFuZCBmaXJlZm94IGFjdHVhbGx5IG1ha2UgdGhpbmdzXG4gIC8vIHdvcnNlIG9uIElFLCBzbyB3ZSBkb24ndCBpbmNsdWRlIHRoZW0gaW4gdGhlIElFIHZlcnNpb24uXG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSlcbiAgICAgICAgICAgICAgICAgIHNjYWxlKCRmb250LXNjYWxlKTtcblxuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGU7XG5cbiAgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGU6ICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG4vLyBTYW1lIGFzIG1peGluIGFib3ZlLCBidXQgb21pdHMgdGhlIHRyYW5zbGF0ZVogZm9yIHByaW50aW5nIHB1cnBvc2VzLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICAvLyBUaGlzIHJlc3VsdHMgaW4gYSBzbWFsbCBqaXR0ZXIgYWZ0ZXIgdGhlIGxhYmVsIGZsb2F0cyBvbiBGaXJlZm94LCB3aGljaCB0aGVcbiAgLy8gdHJhbnNsYXRlWiBmaXhlcy5cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kaW5maXgtbWFyZ2luLXRvcCAtICRpbmZpeC1wYWRkaW5nICsgJG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1kZWR1cGUpXG4gICAgICAgICAgICAgICAgICBzY2FsZSgkZm9udC1zY2FsZSk7XG4gIC8vIFRoZSB0cmlja3MgYWJvdmUgdXNlZCB0byBzbW9vdGggb3V0IHRoZSBhbmltYXRpb24gb24gY2hyb21lIGFuZCBmaXJlZm94IGFjdHVhbGx5IG1ha2UgdGhpbmdzXG4gIC8vIHdvcnNlIG9uIElFLCBzbyB3ZSBkb24ndCBpbmNsdWRlIHRoZW0gaW4gdGhlIElFIHZlcnNpb24uXG4gICRtYXQtZm9ybS1maWVsZC1sZWdhY3ktZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtbGVnYWN5LWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10eXBvZ3JhcGh5KCRjb25maWctb3ItdGhlbWUpIHtcbiAgJGNvbmZpZzogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgLy8gVGhlIHVuaXQtbGVzcyBsaW5lLWhlaWdodCBmcm9tIHRoZSBmb250IGNvbmZpZy5cbiAgJGxpbmUtaGVpZ2h0OiBtYXQtbGluZS1oZWlnaHQoJGNvbmZpZywgaW5wdXQpO1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgYW1vdW50IG9mIHNwYWNlIGJldHdlZW4gdGhlIHRvcCBvZiB0aGUgbGluZSBhbmQgdGhlIHRvcCBvZiB0aGUgYWN0dWFsIHRleHRcbiAgLy8gKGFzIGEgZnJhY3Rpb24gb2YgdGhlIGZvbnQtc2l6ZSkuXG4gICRsaW5lLXNwYWNpbmc6ICgkbGluZS1oZWlnaHQgLSAxKSAvIDI7XG4gIC8vIFRoZSBwYWRkaW5nIG9uIHRoZSBpbmZpeC4gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUsIGJ1dCBzZWVtIHRvIG1lYXN1cmUgZnJvbSB0aGUgZWRnZVxuICAvLyBvZiB0aGUgdGV4dCBpdHNlbGYsIG5vdCB0aGUgZWRnZSBvZiB0aGUgbGluZTsgdGhlcmVmb3JlIHdlIHN1YnRyYWN0IG9mZiB0aGUgbGluZSBzcGFjaW5nLlxuICAkaW5maXgtcGFkZGluZzogMC41ZW0gLSAkbGluZS1zcGFjaW5nO1xuICAvLyBUaGUgbWFyZ2luIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtaW5maXggdG8gcmVzZXJ2ZSBzcGFjZSBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsLlxuICAkaW5maXgtbWFyZ2luLXRvcDogMWVtICogJGxpbmUtaGVpZ2h0ICogJHN1YnNjcmlwdC1mb250LXNjYWxlO1xuICAvLyBUaGUgc3BhY2UgYmV0d2VlbiB0aGUgYm90dG9tIG9mIHRoZSAubWF0LWZvcm0tZmllbGQtZmxleCBhcmVhIGFuZCB0aGUgc3Vic2NyaXB0IHdyYXBwZXIuXG4gIC8vIE1vY2tzIHNob3cgaGFsZiBvZiB0aGUgdGV4dCBzaXplLCBidXQgdGhpcyBtYXJnaW4gaXMgYXBwbGllZCB0byBhbiBlbGVtZW50IHdpdGggdGhlIHN1YnNjcmlwdFxuICAvLyB0ZXh0IGZvbnQgc2l6ZSwgc28gd2UgbmVlZCB0byBkaXZpZGUgYnkgdGhlIHNjYWxlIGZhY3RvciB0byBtYWtlIGl0IGhhbGYgb2YgdGhlIG9yaWdpbmFsIHRleHRcbiAgLy8gc2l6ZS4gV2UgYWdhaW4gbmVlZCB0byBzdWJ0cmFjdCBvZmYgdGhlIGxpbmUgc3BhY2luZyBzaW5jZSB0aGUgbW9ja3MgbWVhc3VyZSB0byB0aGUgZWRnZSBvZiB0aGVcbiAgLy8gdGV4dCwgbm90IHRoZSAgZWRnZSBvZiB0aGUgbGluZS5cbiAgJHN1YnNjcmlwdC1tYXJnaW4tdG9wOiAwLjVlbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZSAtICgkbGluZS1zcGFjaW5nICogMik7XG4gIC8vIFRoZSBwYWRkaW5nIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtd3JhcHBlciB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgc3Vic2NyaXB0LCBzaW5jZSBpdCdzXG4gIC8vIGFic29sdXRlbHkgcG9zaXRpb25lZC4gVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBzdWJzY3JpcHQncyBtYXJnaW4gYW5kIGxpbmUtaGVpZ2h0LCBidXQgd2VcbiAgLy8gbmVlZCB0byBtdWx0aXBseSBieSB0aGUgc3Vic2NyaXB0IGZvbnQgc2NhbGUgZmFjdG9yIHNpbmNlIHRoZSB3cmFwcGVyIGhhcyBhIGxhcmdlciBmb250IHNpemUuXG4gICR3cmFwcGVyLXBhZGRpbmctYm90dG9tOiAoJHN1YnNjcmlwdC1tYXJnaW4tdG9wICsgJGxpbmUtaGVpZ2h0KSAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1sZWdhY3kge1xuICAgIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkd3JhcHBlci1wYWRkaW5nLWJvdHRvbTtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgICAgcGFkZGluZzogJGluZml4LXBhZGRpbmcgMDtcbiAgICB9XG5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgICAubWF0LWlucHV0LXNlcnZlcjpmb2N1cyArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZywgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wIHdpbGwgcmVseSBvbiBBdXRvZmlsbE1vbml0b3IgaW5zdGVhZC5cbiAgICAgIC5tYXQtZm9ybS1maWVsZC1hdXRvZmlsbC1jb250cm9sOi13ZWJraXQtYXV0b2ZpbGwgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAgIC5tYXQtaW5wdXQtc2VydmVyW2xhYmVsXTpub3QoOmxhYmVsLXNob3duKSArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtbGVnYWN5LWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgdG9wOiAkaW5maXgtbWFyZ2luLXRvcCArICRpbmZpeC1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgLy8gV2Ugd2FudCB0aGUgdW5kZXJsaW5lIHRvIHN0YXJ0IGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgYm94LCBub3QgdGhlIHBhZGRpbmcgYm94LFxuICAgICAgLy8gc28gd2UgbW92ZSBpdCB1cCBieSB0aGUgcGFkZGluZyBhbW91bnQuXG4gICAgICBib3R0b206ICR3cmFwcGVyLXBhZGRpbmctYm90dG9tO1xuICAgIH1cblxuICAgIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tdG9wOiAkc3Vic2NyaXB0LW1hcmdpbi10b3A7XG5cbiAgICAgIC8vIFdlIHdhbnQgdGhlIHN1YnNjcmlwdCB0byBzdGFydCBhdCB0aGUgZW5kIG9mIHRoZSBjb250ZW50IGJveCwgbm90IHRoZSBwYWRkaW5nIGJveCxcbiAgICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50IChhZGp1c3RlZCBmb3IgdGhlIHNtYWxsZXIgZm9udCBzaXplKTtcbiAgICAgIHRvcDogY2FsYygxMDAlIC0gI3skd3JhcHBlci1wYWRkaW5nLWJvdHRvbSAvICRzdWJzY3JpcHQtZm9udC1zY2FsZX0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIHRyYW5zbGF0ZVogY2F1c2VzIHRoZSBsYWJlbCB0byBub3QgYXBwZWFyIHdoaWxlIHByaW50aW5nLCBzbyB3ZSBvdmVycmlkZSBpdCB0byBub3RcbiAgLy8gYXBwbHkgdHJhbnNsYXRlWiB3aGlsZSBwcmludGluZ1xuICBAbWVkaWEgcHJpbnQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLWxlZ2FjeSB7XG4gICAgICAmLm1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCB7XG4gICAgICAgICYubWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IC5tYXQtZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoXG4gICAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBAYnJlYWtpbmctY2hhbmdlIDguMC4wIHdpbGwgcmVseSBvbiBBdXRvZmlsbE1vbml0b3IgaW5zdGVhZC5cbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWF1dG9maWxsLWNvbnRyb2w6LXdlYmtpdC1hdXRvZmlsbCArIC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxlZ2FjeS1sYWJlbC1mbG9hdGluZy1wcmludChcbiAgICAgICAgICAgICAgICAgICRzdWJzY3JpcHQtZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNlcnZlci1zaWRlIHJlbmRlcmVkIG1hdElucHV0IHdpdGggYSBsYWJlbCBhdHRyaWJ1dGUgYnV0IGxhYmVsIG5vdCBzaG93blxuICAgICAgICAvLyAodXNlZCBhcyBhIHB1cmUgQ1NTIHN0YW5kLWluIGZvciBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQpLlxuICAgICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIF9tYXQtZm9ybS1maWVsZC1sZWdhY3ktbGFiZWwtZmxvYXRpbmctcHJpbnQoXG4gICAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtbGVnYWN5LWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge31cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1sZWdhY3knKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1sZWdhY3ktY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gICAgQGlmICRkZW5zaXR5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1sZWdhY3ktZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuLy8gVGhlbWUgc3R5bGVzIHRoYXQgb25seSBhcHBseSB0byB0aGUgb3V0bGluZSBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtb3V0bGluZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gICRsYWJlbC1kaXNhYmxlZC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXNhYmxlZC10ZXh0KTtcbiAgJG91dGxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuMywgMC4xMikpO1xuICAkb3V0bGluZS1jb2xvci1ob3ZlcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBkaXZpZGVyLCBpZigkaXMtZGFyay10aGVtZSwgMSwgMC44NykpO1xuICAkb3V0bGluZS1jb2xvci1wcmltYXJ5OiBtYXQtY29sb3IoJHByaW1hcnkpO1xuICAkb3V0bGluZS1jb2xvci1hY2NlbnQ6IG1hdC1jb2xvcigkYWNjZW50KTtcbiAgJG91dGxpbmUtY29sb3Itd2FybjogbWF0LWNvbG9yKCR3YXJuKTtcbiAgJG91dGxpbmUtY29sb3ItZGlzYWJsZWQ6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuMTUsIDAuMDYpKTtcblxuICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIHtcbiAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZSB7XG4gICAgICBjb2xvcjogJG91dGxpbmUtY29sb3I7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLWhvdmVyO1xuICAgIH1cblxuICAgICYubWF0LWZvY3VzZWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdGhpY2sge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3ItcHJpbWFyeTtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrIHtcbiAgICAgICAgY29sb3I6ICRvdXRsaW5lLWNvbG9yLWFjY2VudDtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtd2FybiAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci13YXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIENsYXNzIHJlcGVhdGVkIHNvIHRoYXQgcnVsZSBpcyBzcGVjaWZpYyBlbm91Z2ggdG8gb3ZlcnJpZGUgZm9jdXNlZCBhY2NlbnQgY29sb3IgY2FzZS5cbiAgICAmLm1hdC1mb3JtLWZpZWxkLWludmFsaWQubWF0LWZvcm0tZmllbGQtaW52YWxpZCB7XG4gICAgICAubWF0LWZvcm0tZmllbGQtb3V0bGluZS10aGljayB7XG4gICAgICAgIGNvbG9yOiAkb3V0bGluZS1jb2xvci13YXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWF0LWZvcm0tZmllbGQtZGlzYWJsZWQge1xuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRsYWJlbC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cblxuICAgICAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUge1xuICAgICAgICBjb2xvcjogJG91dGxpbmUtY29sb3ItZGlzYWJsZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtZGVkdXBlOiAwO1xuXG4vLyBBcHBsaWVzIGEgZmxvYXRpbmcgbGFiZWwgYWJvdmUgdGhlIGZvcm0gZmllbGQgY29udHJvbCBpdHNlbGYuXG5AbWl4aW4gX21hdC1mb3JtLWZpZWxkLW91dGxpbmUtbGFiZWwtZmxvYXRpbmcoJGZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCkge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRpbmZpeC1tYXJnaW4tdG9wIC0gJGluZml4LXBhZGRpbmcgKyAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGUpXG4gIHNjYWxlKCRmb250LXNjYWxlKTtcbiAgd2lkdGg6IDEwMCUgLyAkZm9udC1zY2FsZSArICRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZTtcblxuICAkbWF0LWZvcm0tZmllbGQtb3V0bGluZS1kZWR1cGU6ICRtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWRlZHVwZSArIDAuMDAwMDEgIWdsb2JhbDtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcbiAgLy8gVGhlIGFtb3VudCB0byBzY2FsZSB0aGUgZm9udCBmb3IgdGhlIGZsb2F0aW5nIGxhYmVsIGFuZCBzdWJzY3JpcHQuXG4gICRzdWJzY3JpcHQtZm9udC1zY2FsZTogMC43NTtcbiAgLy8gVGhlIHBhZGRpbmcgYWJvdmUgYW5kIGJlbG93IHRoZSBpbmZpeC5cbiAgJGluZml4LXBhZGRpbmc6IDFlbTtcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBwYWRkaW5nIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtd3JhcHBlciB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgc3Vic2NyaXB0LCBzaW5jZSBpdCdzXG4gIC8vIGFic29sdXRlbHkgcG9zaXRpb25lZC4gVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBzdWJzY3JpcHQncyBtYXJnaW4gYW5kIGxpbmUtaGVpZ2h0LCBidXQgd2VcbiAgLy8gbmVlZCB0byBtdWx0aXBseSBieSB0aGUgc3Vic2NyaXB0IGZvbnQgc2NhbGUgZmFjdG9yIHNpbmNlIHRoZSB3cmFwcGVyIGhhcyBhIGxhcmdlciBmb250IHNpemUuXG4gICR3cmFwcGVyLXBhZGRpbmctYm90dG9tOiAoJHN1YnNjcmlwdC1tYXJnaW4tdG9wICsgJGxpbmUtaGVpZ2h0KSAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gVGhlIGFtb3VudCB3ZSBvZmZzZXQgdGhlIGxhYmVsIGZyb20gdGhlIGlucHV0IHRleHQgaW4gdGhlIG91dGxpbmUgYXBwZWFyYW5jZS5cbiAgJG91dGxpbmUtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQ6IC0wLjI1ZW07XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWFwcGVhcmFuY2Utb3V0bGluZSB7XG4gICAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAgIHBhZGRpbmc6ICRpbmZpeC1wYWRkaW5nIDAgJGluZml4LXBhZGRpbmcgMDtcbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgdG9wOiAkaW5maXgtbWFyZ2luLXRvcCArICRpbmZpeC1wYWRkaW5nO1xuICAgICAgbWFyZ2luLXRvcDogJG91dGxpbmUtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQ7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQge1xuICAgICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBfbWF0LWZvcm0tZmllbGQtb3V0bGluZS1sYWJlbC1mbG9hdGluZyhcbiAgICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nICsgJG91dGxpbmUtYXBwZWFyYW5jZS1sYWJlbC1vZmZzZXQsXG4gICAgICAgICAgICAgICAgJGluZml4LW1hcmdpbi10b3ApO1xuICAgICAgfVxuXG4gICAgICAvLyBTZXJ2ZXItc2lkZSByZW5kZXJlZCBtYXRJbnB1dCB3aXRoIGEgbGFiZWwgYXR0cmlidXRlIGJ1dCBsYWJlbCBub3Qgc2hvd25cbiAgICAgIC8vICh1c2VkIGFzIGEgcHVyZSBDU1Mgc3RhbmQtaW4gZm9yIG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCkuXG4gICAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLW91dGxpbmUtbGFiZWwtZmxvYXRpbmcoXG4gICAgICAgICAgICAgICAgJHN1YnNjcmlwdC1mb250LXNjYWxlLCAkaW5maXgtcGFkZGluZyArICRvdXRsaW5lLWFwcGVhcmFuY2UtbGFiZWwtb2Zmc2V0LFxuICAgICAgICAgICAgICAgICRpbmZpeC1tYXJnaW4tdG9wKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtb3V0bGluZS1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpIHtcbiAgJHRoZW1lOiBtYXQtcHJpdmF0ZS1sZWdhY3ktZ2V0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1jaGVjay1kdXBsaWNhdGUtdGhlbWUtc3R5bGVzKCR0aGVtZSwgJ21hdC1mb3JtLWZpZWxkLW91dGxpbmUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1vdXRsaW5lLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtb3V0bGluZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtb3V0bGluZS10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5KTtcbiAgICB9XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG4vLyBUaGVtZSBzdHlsZXMgdGhhdCBvbmx5IGFwcGx5IHRvIHRoZSBzdGFuZGFyZCBhcHBlYXJhbmNlIG9mIHRoZSBmb3JtLWZpZWxkLlxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG4gICRpcy1kYXJrLXRoZW1lOiBtYXAtZ2V0KCRjb25maWcsIGlzLWRhcmspO1xuXG4gICR1bmRlcmxpbmUtY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNywgMC40MikpO1xuXG4gIC5tYXQtZm9ybS1maWVsZC1hcHBlYXJhbmNlLXN0YW5kYXJkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtdW5kZXJsaW5lIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNvbnRyb2wtZGlzYWJsZWQtdW5kZXJsaW5lKCR1bmRlcmxpbmUtY29sb3IpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7fVxuXG5AbWl4aW4gbWF0LXByaXZhdGUtZm9ybS1maWVsZC1zdGFuZGFyZC1kZW5zaXR5KCRjb25maWctb3ItdGhlbWUpIHt9XG5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtZm9ybS1maWVsZC1zdGFuZGFyZCcpIHtcbiAgICAkY29sb3I6IG1hdC1nZXQtY29sb3ItY29uZmlnKCR0aGVtZSk7XG4gICAgJGRlbnNpdHk6IG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJHRoZW1lKTtcbiAgICAkdHlwb2dyYXBoeTogbWF0LWdldC10eXBvZ3JhcGh5LWNvbmZpZygkdGhlbWUpO1xuXG4gICAgQGlmICRjb2xvciAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLWNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIEBpZiAkZGVuc2l0eSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtc3RhbmRhcmQtZGVuc2l0eSgkZGVuc2l0eSk7XG4gICAgfVxuICAgIEBpZiAkdHlwb2dyYXBoeSAhPSBudWxsIHtcbiAgICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXN0YW5kYXJkLXR5cG9ncmFwaHkoJHR5cG9ncmFwaHkpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbG9yIHN0eWxlcyB0aGF0IGFwcGx5IHRvIGFsbCBhcHBlYXJhbmNlcyBvZiB0aGUgZm9ybS1maWVsZC5cbkBtaXhpbiBtYXQtZm9ybS1maWVsZC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAkcHJpbWFyeTogbWFwLWdldCgkY29uZmlnLCBwcmltYXJ5KTtcbiAgJGFjY2VudDogbWFwLWdldCgkY29uZmlnLCBhY2NlbnQpO1xuICAkd2FybjogbWFwLWdldCgkY29uZmlnLCB3YXJuKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuICAkaXMtZGFyay10aGVtZTogbWFwLWdldCgkY29uZmlnLCBpcy1kYXJrKTtcblxuICAvLyBMYWJlbCBjb2xvcnMuIFJlcXVpcmVkIGlzIHVzZWQgZm9yIHRoZSBgKmAgc3RhciBzaG93biBpbiB0aGUgbGFiZWwuXG4gICRsYWJlbC1jb2xvcjogbWF0LWNvbG9yKCRmb3JlZ3JvdW5kLCBzZWNvbmRhcnktdGV4dCwgaWYoJGlzLWRhcmstdGhlbWUsIDAuNywgMC42KSk7XG4gICRmb2N1c2VkLWxhYmVsLWNvbG9yOiBtYXQtY29sb3IoJHByaW1hcnksIHRleHQpO1xuICAkcmVxdWlyZWQtbGFiZWwtY29sb3I6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcblxuICAvLyBVbmRlcmxpbmUgY29sb3JzLlxuICAkdW5kZXJsaW5lLWNvbG9yLWJhc2U6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgZGl2aWRlciwgaWYoJGlzLWRhcmstdGhlbWUsIDEsIDAuODcpKTtcbiAgJHVuZGVybGluZS1jb2xvci1hY2NlbnQ6IG1hdC1jb2xvcigkYWNjZW50LCB0ZXh0KTtcbiAgJHVuZGVybGluZS1jb2xvci13YXJuOiBtYXQtY29sb3IoJHdhcm4sIHRleHQpO1xuICAkdW5kZXJsaW5lLWZvY3VzZWQtY29sb3I6IG1hdC1jb2xvcigkcHJpbWFyeSwgdGV4dCk7XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1oaW50IHtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgY29sb3I6ICRmb2N1c2VkLWxhYmVsLWNvbG9yO1xuXG4gICAgJi5tYXQtYWNjZW50IHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDtcbiAgICB9XG5cbiAgICAmLm1hdC13YXJuIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1yZXF1aXJlZC1tYXJrZXIge1xuICAgIGNvbG9yOiAkcmVxdWlyZWQtbGFiZWwtY29sb3I7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWJhc2U7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQubWF0LWZvY3VzZWQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVuZGVybGluZS1mb2N1c2VkLWNvbG9yO1xuXG4gICAgICAmLm1hdC1hY2NlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLWFjY2VudDtcbiAgICAgIH1cblxuICAgICAgJi5tYXQtd2FybiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtbmF0aXZlLXNlbGVjdC5tYXQtZm9jdXNlZDpub3QoLm1hdC1mb3JtLWZpZWxkLWludmFsaWQpIHtcbiAgICAubWF0LWZvcm0tZmllbGQtaW5maXg6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkdW5kZXJsaW5lLWZvY3VzZWQtY29sb3I7XG4gICAgfVxuXG4gICAgJi5tYXQtYWNjZW50IC5tYXQtZm9ybS1maWVsZC1pbmZpeDo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3ItYWNjZW50O1xuICAgIH1cblxuICAgICYubWF0LXdhcm4gLm1hdC1mb3JtLWZpZWxkLWluZml4OjphZnRlciB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxpbmcgZm9yIHRoZSBlcnJvciBzdGF0ZSBvZiB0aGUgZm9ybSBmaWVsZC4gTm90ZSB0aGF0IHdoaWxlIHRoZSBzYW1lIGNhbiBiZVxuICAvLyBhY2hpZXZlZCB3aXRoIHRoZSBuZy0qIGNsYXNzZXMsIHdlIHVzZSB0aGlzIGFwcHJvYWNoIGluIG9yZGVyIHRvIGVuc3VyZSB0aGF0IHRoZSBzYW1lXG4gIC8vIGxvZ2ljIGlzIHVzZWQgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlIGFuZCB0byBzaG93IHRoZSBlcnJvciBtZXNzYWdlcy5cbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb3JtLWZpZWxkLWludmFsaWQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJHVuZGVybGluZS1jb2xvci13YXJuO1xuXG4gICAgICAmLm1hdC1hY2NlbnQsXG4gICAgICAubWF0LWZvcm0tZmllbGQtcmVxdWlyZWQtbWFya2VyIHtcbiAgICAgICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LWZvcm0tZmllbGQtcmlwcGxlLFxuICAgIC5tYXQtZm9ybS1maWVsZC1yaXBwbGUubWF0LWFjY2VudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdW5kZXJsaW5lLWNvbG9yLXdhcm47XG4gICAgfVxuICB9XG5cbiAgLm1hdC1lcnJvciB7XG4gICAgY29sb3I6ICR1bmRlcmxpbmUtY29sb3Itd2FybjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS1jb2xvcigkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtc3RhbmRhcmQtY29sb3IoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWZpbGwtY29sb3IoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtY29sb3IoJGNvbmZpZyk7XG59XG5cbi8vIFVzZWQgdG8gbWFrZSBpbnN0YW5jZXMgb2YgdGhlIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZyBtaXhpbiBuZWdsaWdpYmx5IGRpZmZlcmVudCxcbi8vIGFuZCBwcmV2ZW50IEdvb2dsZSdzIENTUyBPcHRpbWl6ZXIgZnJvbSBjb2xsYXBzaW5nIHRoZSBkZWNsYXJhdGlvbnMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugc29tZVxuLy8gb2YgdGhlIHNlbGVjdG9ycyBjb250YWluIHBzZXVkby1jbGFzc2VzIG5vdCByZWNvZ25pemVkIGluIGFsbCBicm93c2Vycy4gSWYgYSBicm93c2VyIGVuY291bnRlcnNcbi8vIGFuIHVua25vd24gcHNldWRvLWNsYXNzIGl0IHdpbGwgZGlzY2FyZCB0aGUgZW50aXJlIHJ1bGUgc2V0LlxuJG1hdC1mb3JtLWZpZWxkLWRlZHVwZTogMDtcblxuLy8gQXBwbGllcyBhIGZsb2F0aW5nIGxhYmVsIGFib3ZlIHRoZSBmb3JtIGZpZWxkIGNvbnRyb2wgaXRzZWxmLlxuQG1peGluIF9tYXQtZm9ybS1maWVsZC1sYWJlbC1mbG9hdGluZygkZm9udC1zY2FsZSwgJGluZml4LXBhZGRpbmcsICRpbmZpeC1tYXJnaW4tdG9wKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGluZml4LW1hcmdpbi10b3AgLSAkaW5maXgtcGFkZGluZyArICRtYXQtZm9ybS1maWVsZC1kZWR1cGUpXG4gICAgICAgICAgICAgc2NhbGUoJGZvbnQtc2NhbGUpO1xuICB3aWR0aDogMTAwJSAvICRmb250LXNjYWxlICsgJG1hdC1mb3JtLWZpZWxkLWRlZHVwZTtcblxuICAkbWF0LWZvcm0tZmllbGQtZGVkdXBlOiAkbWF0LWZvcm0tZmllbGQtZGVkdXBlICsgMC4wMDAwMSAhZ2xvYmFsO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSk7XG4gIC8vIFRoZSB1bml0LWxlc3MgbGluZS1oZWlnaHQgZnJvbSB0aGUgZm9udCBjb25maWcuXG4gICRsaW5lLWhlaWdodDogbWF0LWxpbmUtaGVpZ2h0KCRjb25maWcsIGlucHV0KTtcblxuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgZmxvYXRpbmcgbGFiZWwgYW5kIHN1YnNjcmlwdC5cbiAgJHN1YnNjcmlwdC1mb250LXNjYWxlOiAwLjc1O1xuICAvLyBUaGUgYW1vdW50IHRvIHNjYWxlIHRoZSBmb250IGZvciB0aGUgcHJlZml4IGFuZCBzdWZmaXggaWNvbnMuXG4gICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZTogMS41O1xuXG4gIC8vIFRoZSBwYWRkaW5nIG9uIHRoZSBpbmZpeC4gTW9ja3Mgc2hvdyBoYWxmIG9mIHRoZSB0ZXh0IHNpemUuXG4gICRpbmZpeC1wYWRkaW5nOiAwLjVlbTtcbiAgLy8gVGhlIG1hcmdpbiBhcHBsaWVkIHRvIHRoZSBmb3JtLWZpZWxkLWluZml4IHRvIHJlc2VydmUgc3BhY2UgZm9yIHRoZSBmbG9hdGluZyBsYWJlbC5cbiAgJGluZml4LW1hcmdpbi10b3A6IDFlbSAqICRsaW5lLWhlaWdodCAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcbiAgLy8gRm9udCBzaXplIHRvIHVzZSBmb3IgdGhlIGxhYmVsIGFuZCBzdWJzY3JpcHQgdGV4dC5cbiAgJHN1YnNjcmlwdC1mb250LXNpemU6ICRzdWJzY3JpcHQtZm9udC1zY2FsZSAqIDEwMCU7XG4gIC8vIEZvbnQgc2l6ZSB0byB1c2UgZm9yIHRoZSBmb3IgdGhlIHByZWZpeCBhbmQgc3VmZml4IGljb25zLlxuICAkcHJlZml4LXN1ZmZpeC1pY29uLWZvbnQtc2l6ZTogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNjYWxlICogMTAwJTtcbiAgLy8gVGhlIHNwYWNlIGJldHdlZW4gdGhlIGJvdHRvbSBvZiB0aGUgLm1hdC1mb3JtLWZpZWxkLWZsZXggYXJlYSBhbmQgdGhlIHN1YnNjcmlwdCB3cmFwcGVyLlxuICAvLyBNb2NrcyBzaG93IGhhbGYgb2YgdGhlIHRleHQgc2l6ZSwgYnV0IHRoaXMgbWFyZ2luIGlzIGFwcGxpZWQgdG8gYW4gZWxlbWVudCB3aXRoIHRoZSBzdWJzY3JpcHRcbiAgLy8gdGV4dCBmb250IHNpemUsIHNvIHdlIG5lZWQgdG8gZGl2aWRlIGJ5IHRoZSBzY2FsZSBmYWN0b3IgdG8gbWFrZSBpdCBoYWxmIG9mIHRoZSBvcmlnaW5hbCB0ZXh0XG4gIC8vIHNpemUuXG4gICRzdWJzY3JpcHQtbWFyZ2luLXRvcDogMC41ZW0gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGU7XG4gIC8vIFRoZSBwYWRkaW5nIGFwcGxpZWQgdG8gdGhlIGZvcm0tZmllbGQtd3JhcHBlciB0byByZXNlcnZlIHNwYWNlIGZvciB0aGUgc3Vic2NyaXB0LCBzaW5jZSBpdCdzXG4gIC8vIGFic29sdXRlbHkgcG9zaXRpb25lZC4gVGhpcyBpcyBhIGNvbWJpbmF0aW9uIG9mIHRoZSBzdWJzY3JpcHQncyBtYXJnaW4gYW5kIGxpbmUtaGVpZ2h0LCBidXQgd2VcbiAgLy8gbmVlZCB0byBtdWx0aXBseSBieSB0aGUgc3Vic2NyaXB0IGZvbnQgc2NhbGUgZmFjdG9yIHNpbmNlIHRoZSB3cmFwcGVyIGhhcyBhIGxhcmdlciBmb250IHNpemUuXG4gICR3cmFwcGVyLXBhZGRpbmctYm90dG9tOiAoJHN1YnNjcmlwdC1tYXJnaW4tdG9wICsgJGxpbmUtaGVpZ2h0KSAqICRzdWJzY3JpcHQtZm9udC1zY2FsZTtcblxuICAubWF0LWZvcm0tZmllbGQge1xuICAgIEBpbmNsdWRlIG1hdC10eXBvZ3JhcGh5LWxldmVsLXRvLXN0eWxlcygkY29uZmlnLCBpbnB1dCk7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7XG4gICAgcGFkZGluZy1ib3R0b206ICR3cmFwcGVyLXBhZGRpbmctYm90dG9tO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXByZWZpeCxcbiAgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCB7XG4gICAgLy8gQWxsb3cgaWNvbnMgaW4gYSBwcmVmaXggb3Igc3VmZml4IHRvIGFkYXB0IHRvIHRoZSBjb3JyZWN0IHNpemUuXG4gICAgLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH1cblxuICAgIC8vIEFsbG93IGljb24gYnV0dG9ucyBpbiBhIHByZWZpeCBvciBzdWZmaXggdG8gYWRhcHQgdG8gdGhlIGNvcnJlY3Qgc2l6ZS5cbiAgICAubWF0LWljb24tYnV0dG9uIHtcbiAgICAgIGhlaWdodDogJHByZWZpeC1zdWZmaXgtaWNvbi1mb250LXNjYWxlICogMWVtO1xuICAgICAgd2lkdGg6ICRwcmVmaXgtc3VmZml4LWljb24tZm9udC1zY2FsZSAqIDFlbTtcblxuICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgaGVpZ2h0OiAkbGluZS1oZWlnaHQgKiAxZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICBwYWRkaW5nOiAkaW5maXgtcGFkZGluZyAwO1xuICAgIC8vIFRocm93cyBvZmYgdGhlIGJhc2VsaW5lIGlmIHdlIGRvIGl0IGFzIGEgcmVhbCBtYXJnaW4sIHNvIHdlIGRvIGl0IGFzIGEgYm9yZGVyIGluc3RlYWQuXG4gICAgYm9yZGVyLXRvcDogJGluZml4LW1hcmdpbi10b3Agc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IHtcbiAgICAmLm1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCAubWF0LWZvcm0tZmllbGQtbGFiZWwsXG4gICAgLm1hdC1pbnB1dC1zZXJ2ZXI6Zm9jdXMgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlciAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgfVxuXG4gICAgLy8gU2VydmVyLXNpZGUgcmVuZGVyZWQgbWF0SW5wdXQgd2l0aCBhIGxhYmVsIGF0dHJpYnV0ZSBidXQgbGFiZWwgbm90IHNob3duXG4gICAgLy8gKHVzZWQgYXMgYSBwdXJlIENTUyBzdGFuZC1pbiBmb3IgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0KS5cbiAgICAubWF0LWlucHV0LXNlcnZlcltsYWJlbF06bm90KDpsYWJlbC1zaG93bikgKyAubWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclxuICAgICAgICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgQGluY2x1ZGUgX21hdC1mb3JtLWZpZWxkLWxhYmVsLWZsb2F0aW5nKFxuICAgICAgICAgICAgICAkc3Vic2NyaXB0LWZvbnQtc2NhbGUsICRpbmZpeC1wYWRkaW5nLCAkaW5maXgtbWFyZ2luLXRvcCk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIge1xuICAgIHRvcDogLSRpbmZpeC1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkaW5maXgtbWFyZ2luLXRvcDtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgdG9wOiAkaW5maXgtbWFyZ2luLXRvcCArICRpbmZpeC1wYWRkaW5nO1xuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgLy8gV2Ugd2FudCB0aGUgdW5kZXJsaW5lIHRvIHN0YXJ0IGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgYm94LCBub3QgdGhlIHBhZGRpbmcgYm94LFxuICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50LlxuICAgIGJvdHRvbTogJHdyYXBwZXItcGFkZGluZy1ib3R0b207XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogJHN1YnNjcmlwdC1mb250LXNpemU7XG4gICAgbWFyZ2luLXRvcDogJHN1YnNjcmlwdC1tYXJnaW4tdG9wO1xuXG4gICAgLy8gV2Ugd2FudCB0aGUgc3Vic2NyaXB0IHRvIHN0YXJ0IGF0IHRoZSBlbmQgb2YgdGhlIGNvbnRlbnQgYm94LCBub3QgdGhlIHBhZGRpbmcgYm94LFxuICAgIC8vIHNvIHdlIG1vdmUgaXQgdXAgYnkgdGhlIHBhZGRpbmcgYW1vdW50IChhZGp1c3RlZCBmb3IgdGhlIHNtYWxsZXIgZm9udCBzaXplKTtcbiAgICB0b3A6IGNhbGMoMTAwJSAtICN7JHdyYXBwZXItcGFkZGluZy1ib3R0b20gLyAkc3Vic2NyaXB0LWZvbnQtc2NhbGV9KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLWxlZ2FjeS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1zdGFuZGFyZC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1maWxsLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLW91dGxpbmUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbn1cblxuQG1peGluIG1hdC1mb3JtLWZpZWxkLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1sZWdhY3ktZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtc3RhbmRhcmQtZGVuc2l0eSgkZGVuc2l0eS1zY2FsZSk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWZvcm0tZmllbGQtZmlsbC1kZW5zaXR5KCRkZW5zaXR5LXNjYWxlKTtcbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZm9ybS1maWVsZC1vdXRsaW5lLWRlbnNpdHkoJGRlbnNpdHktc2NhbGUpO1xufVxuXG5AbWl4aW4gbWF0LWZvcm0tZmllbGQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LWZvcm0tZmllbGQnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtZm9ybS1maWVsZC1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cblxuJG1hdC10cmVlLW5vZGUtaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuLy8gTWluaW11bSBoZWlnaHQgZm9yIHRyZWUgbm9kZXMgaW4gaGlnaGVzdCBkZW5zaXR5IGlzIGRpZmZpY3VsdCB0byBkZXRlcm1pbmUgYXNcbi8vIGRldmVsb3BlcnMgY2FuIGRpc3BsYXkgYXJiaXRyYXJ5IGNvbnRlbnQuIFdlIHVzZSBhIG1pbmltdW0gaGVpZ2h0IHdoaWNoIGVuc3VyZXNcbi8vIHRoYXQgY29tbW9uIGNvbnRlbnQgcGxhY2VkIGluIHRyZWUgbm9kZXMgZG9lcyBub3QgZXhjZWVkIChlLmcuIGljb25zLCBjaGVja2JveGVzKS5cbiRtYXQtdHJlZS1ub2RlLW1pbmltdW0taGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuJG1hdC10cmVlLW5vZGUtbWF4aW11bS1oZWlnaHQ6ICRtYXQtdHJlZS1ub2RlLWhlaWdodCAhZGVmYXVsdDtcblxuJG1hdC10cmVlLWRlbnNpdHktY29uZmlnOiAoXG4gIGhlaWdodDogKFxuICAgIGRlZmF1bHQ6ICRtYXQtdHJlZS1ub2RlLWhlaWdodCxcbiAgICBtYXhpbXVtOiAkbWF0LXRyZWUtbm9kZS1tYXhpbXVtLWhlaWdodCxcbiAgICBtaW5pbXVtOiAkbWF0LXRyZWUtbm9kZS1taW5pbXVtLWhlaWdodCxcbiAgKVxuKSAhZGVmYXVsdDtcblxuXG5AbWl4aW4gbWF0LXRyZWUtY29sb3IoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICRmb3JlZ3JvdW5kOiBtYXAtZ2V0KCRjb25maWcsIGZvcmVncm91bmQpO1xuXG4gIC5tYXQtdHJlZSB7XG4gICAgYmFja2dyb3VuZDogbWF0LWNvbG9yKCRiYWNrZ3JvdW5kLCAnY2FyZCcpO1xuICB9XG5cbiAgLm1hdC10cmVlLW5vZGUsXG4gIC5tYXQtbmVzdGVkLXRyZWUtbm9kZSB7XG4gICAgY29sb3I6IG1hdC1jb2xvcigkZm9yZWdyb3VuZCwgdGV4dCk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10cmVlLXR5cG9ncmFwaHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkY29uZmlnOiBtYXQtZ2V0LXR5cG9ncmFwaHktY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAubWF0LXRyZWUge1xuICAgIGZvbnQtZmFtaWx5OiBtYXQtZm9udC1mYW1pbHkoJGNvbmZpZyk7XG4gIH1cblxuICAubWF0LXRyZWUtbm9kZSxcbiAgLm1hdC1uZXN0ZWQtdHJlZS1ub2RlIHtcbiAgICBmb250LXdlaWdodDogbWF0LWZvbnQtd2VpZ2h0KCRjb25maWcsIGJvZHktMSk7XG4gICAgZm9udC1zaXplOiBtYXQtZm9udC1zaXplKCRjb25maWcsIGJvZHktMSk7XG4gIH1cbn1cblxuQG1peGluIG1hdC10cmVlLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAkZGVuc2l0eS1zY2FsZTogbWF0LWdldC1kZW5zaXR5LWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKTtcbiAgJGhlaWdodDogbWF0LXByaXZhdGUtZGVuc2l0eS1wcm9wLXZhbHVlKCRtYXQtdHJlZS1kZW5zaXR5LWNvbmZpZywgJGRlbnNpdHktc2NhbGUsIGhlaWdodCk7XG5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtZGVuc2l0eS1sZWdhY3ktY29tcGF0aWJpbGl0eSgpIHtcbiAgICAubWF0LXRyZWUtbm9kZSB7XG4gICAgICBtaW4taGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWF0LXRyZWUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZykge1xuICAkdGhlbWU6IG1hdC1wcml2YXRlLWxlZ2FjeS1nZXQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLCAnbWF0LXRyZWUnKSB7XG4gICAgJGNvbG9yOiBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkdGhlbWUpO1xuICAgICRkZW5zaXR5OiBtYXQtZ2V0LWRlbnNpdHktY29uZmlnKCR0aGVtZSk7XG4gICAgJHR5cG9ncmFwaHk6IG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJHRoZW1lKTtcblxuICAgIEBpZiAkY29sb3IgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdHJlZS1jb2xvcigkY29sb3IpO1xuICAgIH1cbiAgICBAaWYgJGRlbnNpdHkgIT0gbnVsbCB7XG4gICAgICBAaW5jbHVkZSBtYXQtdHJlZS1kZW5zaXR5KCRkZW5zaXR5KTtcbiAgICB9XG4gICAgQGlmICR0eXBvZ3JhcGh5ICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LXRyZWUtdHlwb2dyYXBoeSgkdHlwb2dyYXBoeSk7XG4gICAgfVxuICB9XG59XG5cblxuXG5cbi8vIEluY2x1ZGVzIGFsbCBvZiB0aGUgdHlwb2dyYXBoaWMgc3R5bGVzLlxuQG1peGluIGFuZ3VsYXItbWF0ZXJpYWwtdHlwb2dyYXBoeSgkY29uZmlnLW9yLXRoZW1lOiBudWxsKSB7XG4gICRjb25maWc6IGlmKG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkY29uZmlnLW9yLXRoZW1lKSxcbiAgICAgIG1hdC1nZXQtdHlwb2dyYXBoeS1jb25maWcoJGNvbmZpZy1vci10aGVtZSksICRjb25maWctb3ItdGhlbWUpO1xuXG4gIC8vIElmIG5vIGFjdHVhbCBjb2xvciBjb25maWd1cmF0aW9uIGhhcyBiZWVuIHNwZWNpZmllZCwgY3JlYXRlIGEgZGVmYXVsdCBvbmUuXG4gIEBpZiBub3QgJGNvbmZpZyB7XG4gICAgJGNvbmZpZzogbWF0LXR5cG9ncmFwaHktY29uZmlnKCk7XG4gIH1cblxuICAvLyBUT0RPOiBDT01QLTMwOTogRG8gbm90IHVzZSBpbmRpdmlkdWFsIG1peGlucy4gSW5zdGVhZCwgdXNlIHRoZSBhbGwtdGhlbWUgbWl4aW4gYW5kIG9ubHlcbiAgLy8gc3BlY2lmeSBhIGB0eXBvZ3JhcGh5YCBjb25maWcgd2hpbGUgc2V0dGluZyBgY29sb3JgIGFuZCBgZGVuc2l0eWAgdG8gYG51bGxgLiBUaGlzIGlzIGN1cnJlbnRseVxuICAvLyBub3QgcG9zc2libGUgYXMgaXQgd291bGQgaW50cm9kdWNlIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSBmb3IgdHlwb2dyYXBoeSBiZWNhdXNlIHRoZSBgbWF0LWNvcmVgXG4gIC8vIG1peGluIHRoYXQgaXMgdHJhbnNpdGl2ZWx5IGxvYWRlZCBieSB0aGUgYGFsbC10aGVtZWAgZmlsZSwgaW1wb3J0cyBgYWxsLXR5cG9ncmFwaHlgIHdoaWNoXG4gIC8vIHdvdWxkIHRoZW4gbG9hZCBgYWxsLXRoZW1lYCBhZ2Fpbi4gVGhpcyB1bHRpbWF0ZWx5IHJlc3VsdHMgYSBjaXJjdWxhciBkZXBlbmRlbmN5LlxuXG4gIEBpbmNsdWRlIG1hdC1iYWRnZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYmFzZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYXV0b2NvbXBsZXRlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1ib3R0b20tc2hlZXQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtYnV0dG9uLXRvZ2dsZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtY2FyZC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtY2hlY2tib3gtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWNoaXBzLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1kaXZpZGVyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10YWJsZS10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZGF0ZXBpY2tlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtZGlhbG9nLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1leHBhbnNpb24tcGFuZWwtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWdyaWQtbGlzdC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtaWNvbi10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtaW5wdXQtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LW1lbnUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXBhZ2luYXRvci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3MtYmFyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wcm9ncmVzcy1zcGlubmVyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1yYWRpby10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc2VsZWN0LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zaWRlbmF2LXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zbGlkZS10b2dnbGUtdHlwb2dyYXBoeSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LXNsaWRlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc3RlcHBlci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc29ydC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdGFicy10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdG9vbGJhci10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtdG9vbHRpcC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtbGlzdC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtb3B0aW9uLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1vcHRncm91cC10eXBvZ3JhcGh5KCRjb25maWcpO1xuICBAaW5jbHVkZSBtYXQtc25hY2stYmFyLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10cmVlLXR5cG9ncmFwaHkoJGNvbmZpZyk7XG59XG5cblxuLy8gTWl4aW4gdGhhdCByZW5kZXJzIGFsbCBvZiB0aGUgY29yZSBzdHlsZXMgdGhhdCBhcmUgbm90IHRoZW1lLWRlcGVuZGVudC5cbkBtaXhpbiBtYXQtY29yZSgkdHlwb2dyYXBoeS1jb25maWc6IG51bGwpIHtcbiAgQGluY2x1ZGUgYW5ndWxhci1tYXRlcmlhbC10eXBvZ3JhcGh5KCR0eXBvZ3JhcGh5LWNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1yaXBwbGUoKTtcbiAgQGluY2x1ZGUgY2RrLWExMXkoKTtcbiAgQGluY2x1ZGUgY2RrLW92ZXJsYXkoKTtcbiAgQGluY2x1ZGUgY2RrLXRleHQtZmllbGQoKTtcblxuICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1wb3NpdGlvbmluZygpO1xuICBAaW5jbHVkZSBfbWF0LW1kYy1jb3JlKCk7XG59XG5cbkBtaXhpbiBtYXQtY29yZS1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gICRjb25maWc6IG1hdC1nZXQtY29sb3ItY29uZmlnKCRjb25maWctb3ItdGhlbWUpO1xuICAvLyBXcmFwcGVyIGVsZW1lbnQgdGhhdCBwcm92aWRlcyB0aGUgdGhlbWUgYmFja2dyb3VuZCB3aGVuIHRoZSB1c2VyJ3MgY29udGVudCBpc24ndFxuICAvLyBpbnNpZGUgb2YgYSBgbWF0LXNpZGVuYXYtY29udGFpbmVyYC4gTm90ZSB0aGF0IHdlIG5lZWQgdG8gZXhjbHVkZSB0aGUgYW1wZXJzYW5kXG4gIC8vIHNlbGVjdG9yIGluIGNhc2UgdGhlIG1peGluIGlzIGluY2x1ZGVkIGF0IHRoZSB0b3AgbGV2ZWwuXG4gIC5tYXQtYXBwLWJhY2tncm91bmQje2lmKCYsICcsICYubWF0LWFwcC1iYWNrZ3JvdW5kJywgJycpfSB7XG4gICAgJGJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZCk7XG4gICAgJGZvcmVncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgZm9yZWdyb3VuZCk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGJhY2tncm91bmQsIGJhY2tncm91bmQpO1xuICAgIGNvbG9yOiBtYXQtY29sb3IoJGZvcmVncm91bmQsIHRleHQpO1xuICB9XG5cbiAgLy8gUHJvdmlkZXMgZXh0ZXJuYWwgQ1NTIGNsYXNzZXMgZm9yIGVhY2ggZWxldmF0aW9uIHZhbHVlLiBFYWNoIENTUyBjbGFzcyBpcyBmb3JtYXR0ZWQgYXNcbiAgLy8gYG1hdC1lbGV2YXRpb24teiR6VmFsdWVgIHdoZXJlIGAkelZhbHVlYCBjb3JyZXNwb25kcyB0byB0aGUgei1zcGFjZSB0byB3aGljaCB0aGUgZWxlbWVudCBpc1xuICAvLyBlbGV2YXRlZC5cbiAgQGZvciAkelZhbHVlIGZyb20gMCB0aHJvdWdoIDI0IHtcbiAgICAuI3skbWF0LWVsZXZhdGlvbi1wcmVmaXh9I3skelZhbHVlfSB7XG4gICAgICBAaW5jbHVkZSBtYXQtcHJpdmF0ZS10aGVtZS1lbGV2YXRpb24oJHpWYWx1ZSwgJGNvbmZpZyk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFya2VyIHRoYXQgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgdXNlciBoYXMgYWRkZWQgYSB0aGVtZSB0byB0aGVpciBwYWdlLlxuICBAYXQtcm9vdCB7XG4gICAgLm1hdC10aGVtZS1sb2FkZWQtbWFya2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE1peGluIHRoYXQgcmVuZGVycyBhbGwgb2YgdGhlIGNvcmUgc3R5bGVzIHRoYXQgZGVwZW5kIG9uIHRoZSB0aGVtZS5cbkBtaXhpbiBtYXQtY29yZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICR0aGVtZTogbWF0LXByaXZhdGUtbGVnYWN5LWdldC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgLy8gV3JhcCB0aGUgc3ViLXRoZW1lIGluY2x1ZGVzIGluIHRoZSBkdXBsaWNhdGUgdGhlbWUgc3R5bGVzIG1peGluLiBUaGlzIGVuc3VyZXMgdGhhdFxuICAvLyB0aGVyZSB3b24ndCBiZSBtdWx0aXBsZSB3YXJuaW5ncy4gZS5nLiBpZiBgbWF0LWNvcmUtdGhlbWVgIHJlcG9ydHMgYSB3YXJuaW5nLCB0aGVuXG4gIC8vIHRoZSBpbXBvcnRlZCB0aGVtZXMgKHN1Y2ggYXMgYG1hdC1yaXBwbGUtdGhlbWVgKSBzaG91bGQgbm90IHJlcG9ydCBhZ2Fpbi5cbiAgQGluY2x1ZGUgbWF0LXByaXZhdGUtY2hlY2stZHVwbGljYXRlLXRoZW1lLXN0eWxlcygkdGhlbWUsICdtYXQtY29yZScpIHtcbiAgICBAaW5jbHVkZSBtYXQtcmlwcGxlLXRoZW1lKCR0aGVtZSk7XG4gICAgQGluY2x1ZGUgbWF0LW9wdGlvbi10aGVtZSgkdGhlbWUpO1xuICAgIEBpbmNsdWRlIG1hdC1vcHRncm91cC10aGVtZSgkdGhlbWUpO1xuICAgIEBpbmNsdWRlIG1hdC1wc2V1ZG8tY2hlY2tib3gtdGhlbWUoJHRoZW1lKTtcblxuICAgICRjb2xvcjogbWF0LWdldC1jb2xvci1jb25maWcoJHRoZW1lKTtcbiAgICBAaWYgJGNvbG9yICE9IG51bGwge1xuICAgICAgQGluY2x1ZGUgbWF0LWNvcmUtY29sb3IoJGNvbG9yKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWl4aW4gdGhhdCByZW5kZXJzIGFsbCBvZiB0aGUgY29yZSBNREMgc3R5bGVzLiBQcml2YXRlIG1peGluIGluY2x1ZGVkIHdpdGggYG1hdC1jb3JlYC5cbkBtaXhpbiBfbWF0LW1kYy1jb3JlKCkge1xuICBAaW5jbHVkZSBfbWF0LW1kYy1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1wb3NpdGlvbmluZygpO1xufVxuXG4vLyBNaXhpbiB0aGF0IGVuc3VyZXMgZm9jdXMgaW5kaWNhdG9yIGhvc3QgZWxlbWVudHMgYXJlIHBvc2l0aW9uZWQgc28gdGhhdCB0aGUgZm9jdXMgaW5kaWNhdG9yXG4vLyBwc2V1ZG8gZWxlbWVudCB3aXRoaW4gaXMgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGUgaG9zdC4gUHJpdmF0ZSBtaXhpbiBpbmNsdWRlZCB3aXRoaW5cbi8vIGBfbWF0LW1kYy1jb3JlYC5cbkBtaXhpbiBfbWF0LW1kYy1zdHJvbmctZm9jdXMtaW5kaWNhdG9ycy1wb3NpdGlvbmluZygpIHtcbiAgLm1hdC1tZGMtZm9jdXMtaW5kaWNhdG9yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLy8gQ3JlYXRlIGEgdGhlbWUuXG5AbWl4aW4gYW5ndWxhci1tYXRlcmlhbC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKSB7XG4gICRkZWR1cGUta2V5OiAnYW5ndWxhci1tYXRlcmlhbC10aGVtZSc7XG4gIEBpbmNsdWRlIG1hdC1wcml2YXRlLWNoZWNrLWR1cGxpY2F0ZS10aGVtZS1zdHlsZXMoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZywgJGRlZHVwZS1rZXkpIHtcbiAgICBAaW5jbHVkZSBtYXQtY29yZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYXV0b2NvbXBsZXRlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1iYWRnZS10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtYm90dG9tLXNoZWV0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1idXR0b24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWNhcmQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWNoZWNrYm94LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1jaGlwcy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtdGFibGUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWRhdGVwaWNrZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWRpYWxvZy10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZGl2aWRlci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1mb3JtLWZpZWxkLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1ncmlkLWxpc3QtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWljb24tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LWlucHV0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1saXN0LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1tZW51LXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXByb2dyZXNzLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtcHJvZ3Jlc3Mtc3Bpbm5lci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtcmFkaW8tdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNlbGVjdC10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc2lkZW5hdi10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgICBAaW5jbHVkZSBtYXQtc2xpZGUtdG9nZ2xlLXRoZW1lKCR0aGVtZS1vci1jb2xvci1jb25maWcpO1xuICAgIEBpbmNsdWRlIG1hdC1zbGlkZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXN0ZXBwZXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNvcnQtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRhYnMtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRvb2xiYXItdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRvb2x0aXAtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXRyZWUtdGhlbWUoJHRoZW1lLW9yLWNvbG9yLWNvbmZpZyk7XG4gICAgQGluY2x1ZGUgbWF0LXNuYWNrLWJhci10aGVtZSgkdGhlbWUtb3ItY29sb3ItY29uZmlnKTtcbiAgfVxufVxuXG5cblxuLy8gSW5jbHVkZXMgYWxsIG9mIHRoZSBjb2xvciBzdHlsZXMuXG5AbWl4aW4gYW5ndWxhci1tYXRlcmlhbC1jb2xvcigkY29uZmlnLW9yLXRoZW1lKSB7XG4gIC8vIEluIGNhc2UgYSB0aGVtZSBvYmplY3QgaGFzIGJlZW4gcGFzc2VkIGluc3RlYWQgb2YgYSBjb25maWd1cmF0aW9uIGZvclxuICAvLyB0aGUgY29sb3Igc3lzdGVtLCBleHRyYWN0IHRoZSBjb2xvciBjb25maWcgZnJvbSB0aGUgdGhlbWUgb2JqZWN0LlxuICAkY29uZmlnOiBpZihtYXQtcHJpdmF0ZS1pcy10aGVtZS1vYmplY3QoJGNvbmZpZy1vci10aGVtZSksXG4gICAgICBtYXQtZ2V0LWNvbG9yLWNvbmZpZygkY29uZmlnLW9yLXRoZW1lKSwgJGNvbmZpZy1vci10aGVtZSk7XG5cbiAgQGlmICRjb25maWcgPT0gbnVsbCB7XG4gICAgQGVycm9yICdObyBjb2xvciBjb25maWd1cmF0aW9uIHNwZWNpZmllZC4nO1xuICB9XG5cbiAgQGluY2x1ZGUgYW5ndWxhci1tYXRlcmlhbC10aGVtZSgoXG4gICAgY29sb3I6ICRjb25maWcsXG4gICAgdHlwb2dyYXBoeTogbnVsbCxcbiAgICBkZW5zaXR5OiBudWxsLFxuICApKTtcbn1cblxuXG5cblxuXG5cblxuXG5cblxuLy8gSW5jbHVkZXMgYWxsIG9mIHRoZSBkZW5zaXR5IHN0eWxlcy5cbkBtaXhpbiBhbmd1bGFyLW1hdGVyaWFsLWRlbnNpdHkoJGNvbmZpZy1vci10aGVtZSkge1xuICAvLyBJbiBjYXNlIGEgdGhlbWUgb2JqZWN0IGhhcyBiZWVuIHBhc3NlZCBpbnN0ZWFkIG9mIGEgY29uZmlndXJhdGlvbiBmb3JcbiAgLy8gdGhlIGRlbnNpdHkgc3lzdGVtLCBleHRyYWN0IHRoZSBkZW5zaXR5IGNvbmZpZyBmcm9tIHRoZSB0aGVtZSBvYmplY3QuXG4gICRjb25maWc6IGlmKG1hdC1wcml2YXRlLWlzLXRoZW1lLW9iamVjdCgkY29uZmlnLW9yLXRoZW1lKSxcbiAgICAgIG1hdC1nZXQtZGVuc2l0eS1jb25maWcoJGNvbmZpZy1vci10aGVtZSksICRjb25maWctb3ItdGhlbWUpO1xuXG4gIEBpZiAkY29uZmlnID09IG51bGwge1xuICAgIEBlcnJvciAnTm8gZGVuc2l0eSBjb25maWd1cmF0aW9uIHNwZWNpZmllZC4nO1xuICB9XG5cbiAgLy8gVE9ETzogQ09NUC0zMDk6IERvIG5vdCB1c2UgaW5kaXZpZHVhbCBtaXhpbnMuIEluc3RlYWQsIHVzZSB0aGUgYWxsLXRoZW1lIG1peGluIGFuZCBvbmx5XG4gIC8vIHNwZWNpZnkgYSBgZGVuc2l0eWAgY29uZmlnIHdoaWxlIHNldHRpbmcgYGNvbG9yYCBhbmQgYHR5cG9ncmFwaHlgIHRvIGBudWxsYC4gVGhpcyBpcyBjdXJyZW50bHlcbiAgLy8gbm90IHBvc3NpYmxlIGFzIGl0IHdvdWxkIGludHJvZHVjZSBhIGNpcmN1bGFyIGRlcGVuZGVuY3kgZm9yIGRlbnNpdHkgYmVjYXVzZSB0aGUgYG1hdC1jb3JlYFxuICAvLyBtaXhpbiB0aGF0IGlzIHRyYW5zaXRpdmVseSBsb2FkZWQgYnkgdGhlIGBhbGwtdGhlbWVgIGZpbGUsIGltcG9ydHMgYGFsbC1kZW5zaXR5YCB3aGljaFxuICAvLyB3b3VsZCB0aGVuIGxvYWQgYGFsbC10aGVtZWAgYWdhaW4uIFRoaXMgdWx0aW1hdGVseSByZXN1bHRzIGEgY2lyY3VsYXIgZGVwZW5kZW5jeS5cblxuICBAaW5jbHVkZSBtYXQtZXhwYW5zaW9uLXBhbmVsLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1zdGVwcGVyLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10b29sYmFyLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC10cmVlLWRlbnNpdHkoJGNvbmZpZyk7XG4gIEBpbmNsdWRlIG1hdC1wYWdpbmF0b3ItZGVuc2l0eSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWZvcm0tZmllbGQtZGVuc2l0eSgkY29uZmlnKTtcbiAgQGluY2x1ZGUgbWF0LWJ1dHRvbi10b2dnbGUtZGVuc2l0eSgkY29uZmlnKTtcbn1cblxuXG5cbiIsIkBpbXBvcnQgXCJ+QGFuZ3VsYXIvbWF0ZXJpYWwvdGhlbWluZ1wiOyAvLyBQbHVzIGltcG9ydHMgZm9yIG90aGVyIGNvbXBvbmVudHMgaW4geW91ciBhcHAuXG4vLyBJbmNsdWRlIHRoZSBjb21tb24gc3R5bGVzIGZvciBBbmd1bGFyIE1hdGVyaWFsLiBXZSBpbmNsdWRlIHRoaXMgaGVyZSBzbyB0aGF0IHlvdSBvbmx5XG4vLyBoYXZlIHRvIGxvYWQgYSBzaW5nbGUgY3NzIGZpbGUgZm9yIEFuZ3VsYXIgTWF0ZXJpYWwgaW4geW91ciBhcHAuXG4vLyBCZSBzdXJlIHRoYXQgeW91IG9ubHkgZXZlciBpbmNsdWRlIHRoaXMgbWl4aW4gb25jZSFcbkBpbmNsdWRlIG1hdC1jb3JlKCk7IC8vIERlZmluZSB0aGUgcGFsZXR0ZXMgZm9yIHlvdXIgdGhlbWUgdXNpbmcgdGhlIE1hdGVyaWFsIERlc2lnbiBwYWxldHRlcyBhdmFpbGFibGUgaW4gcGFsZXR0ZS5zY3NzXG4vLyAoaW1wb3J0ZWQgYWJvdmUpLiBGb3IgZWFjaCBwYWxldHRlLCB5b3UgY2FuIG9wdGlvbmFsbHkgc3BlY2lmeSBhIGRlZmF1bHQsIGxpZ2h0ZXIsIGFuZCBkYXJrZXJcbi8vIGh1ZS4gQXZhaWxhYmxlIGNvbG9yIHBhbGV0dGVzOiBodHRwczovL21hdGVyaWFsLmlvL2Rlc2lnbi9jb2xvci9cblxuLyogRm9yIHVzZSBpbiBzcmMvbGliL2NvcmUvdGhlbWluZy9fcGFsZXR0ZS5zY3NzICovXG4vLyBQYWxldHRlIE1hdGVyaWFsIOKAlCBEQVJLIHRoZW1lLiBDZW50cm8gKDUwMCkgPSBUYWlsd2luZCBibHVlLTQwMCAoIzYwQTVGQSksXG4vLyB0b20gY2Fuw7RuaWNvIGRvIHN5c3RlbSBhY2NlbnQgbm8gZGFyayBtb2RlIChtZXNtbyBkbyBgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmtgXG4vLyBlbSBgX2NvbG9ycy5zY3NzYCkuIEFBIGNvbnRyYSBvIGNhbnZhcyBlc2N1cm8gKH42LjQ6MSkgc2VtIHZpcmFyIG7DqW9uLlxuLy8gRXNjYWxhIGludGVpcmEgc2VndWUgYSBmYW3DrWxpYSBibHVlIFRhaWx3aW5kLlxuJG1kLW1jZ3BhbGV0dGUwOiAoXG4gICAgNTAgOiAjRUZGNkZGLFxuICAgIDEwMCA6ICNEQkVBRkUsXG4gICAgMjAwIDogI0JGREJGRSxcbiAgICAzMDAgOiAjOTNDNUZELFxuICAgIDQwMCA6ICM2MEE1RkEsXG4gICAgNTAwIDogIzYwQTVGQSxcbiAgICA2MDAgOiAjM0I4MkY2LFxuICAgIDcwMCA6ICMyNTYzRUIsXG4gICAgODAwIDogIzFENEVEOCxcbiAgICA5MDAgOiAjMUU0MEFGLFxuICAgIEExMDAgOiAjRUZGNkZGLFxuICAgIEEyMDAgOiAjQkZEQkZFLFxuICAgIEE0MDAgOiAjNjBBNUZBLFxuICAgIEE3MDAgOiAjMjU2M0VCLFxuICAgIC8vIFRleHRvIEJSQU5DTyBlbSA0MDAtOTAwIHByYSB1bmlmaWNhciB0b2RvIGJvdMOjbyBhY2NlbnQgbm8gZGFya1xuICAgIC8vIChwYXIgY29tIG8gYC5jaGFpci1idXR0b24tLXByaW1hcnlgIGN1c3RvbSBxdWUgYWdvcmEgdGFtYsOpbSB1c2FcbiAgICAvLyBicmFuY28pLiBUcmFkZS1vZmY6IGNvbnRyYXN0ZSB+NDoxIG5vIDQwMC81MDAgKGJsdWUtNDAwKSDigJQgYWJhaXhvXG4gICAgLy8gZGUgQUFBIG1hcyBkZW50cm8gZGEgdG9sZXLDom5jaWEgcHJhIHRleHRvIGdyYW5kZS9ib2xkIGRlIGJvdMOjby5cbiAgICBjb250cmFzdDogKFxuICAgICAgICA1MCA6ICMwMDAwMDAsXG4gICAgICAgIDEwMCA6ICMwMDAwMDAsXG4gICAgICAgIDIwMCA6ICMwMDAwMDAsXG4gICAgICAgIDMwMCA6ICMwMDAwMDAsXG4gICAgICAgIDQwMCA6ICNmZmZmZmYsXG4gICAgICAgIDUwMCA6ICNmZmZmZmYsXG4gICAgICAgIDYwMCA6ICNmZmZmZmYsXG4gICAgICAgIDcwMCA6ICNmZmZmZmYsXG4gICAgICAgIDgwMCA6ICNmZmZmZmYsXG4gICAgICAgIDkwMCA6ICNmZmZmZmYsXG4gICAgICAgIEExMDAgOiAjMDAwMDAwLFxuICAgICAgICBBMjAwIDogIzAwMDAwMCxcbiAgICAgICAgQTQwMCA6ICNmZmZmZmYsXG4gICAgICAgIEE3MDAgOiAjZmZmZmZmLFxuICAgIClcbik7XG5cbi8vIFBhbGV0dGUgTWF0ZXJpYWwg4oCUIExJR0hUIHRoZW1lLiBDZW50cm8gKDUwMCkgPSBUYWlsd2luZCBibHVlLTgwMCAoIzFFNDBBRiksXG4vLyB0b20gY2Fuw7RuaWNvIGRvIHN5c3RlbSBhY2NlbnQgY2FsaWJyYWRvIHByYSBBQUEgKH45OjEgdnMgYnJhbmNvKS4gVGV4dG9cbi8vIGJyYW5jbyBlbSA1MDAtOTAwLiBFc2NhbGEgaW50ZWlyYSBzZWd1ZSBhIGZhbcOtbGlhIGJsdWUgVGFpbHdpbmQgcHJhIGRhclxuLy8gZ3JhZGllbnRlIGNvZXJlbnRlIGRvIGhvdmVyLXBhbGUgYXTDqSBvIGRlZXAtbmF2eS5cbiRtZC1tY2dwYWxldHRlMTogKFxuICAgIDUwIDogI0VGRjZGRixcbiAgICAxMDAgOiAjREJFQUZFLFxuICAgIDIwMCA6ICNCRkRCRkUsXG4gICAgMzAwIDogIzkzQzVGRCxcbiAgICA0MDAgOiAjMjU2M0VCLFxuICAgIDUwMCA6ICMxRTQwQUYsXG4gICAgNjAwIDogIzFCM0E5RSxcbiAgICA3MDAgOiAjMTczNDhDLFxuICAgIDgwMCA6ICMxMzJCNzUsXG4gICAgOTAwIDogIzBGMjI1RSxcbiAgICBBMTAwIDogI0JGREJGRSxcbiAgICBBMjAwIDogIzYwQTVGQSxcbiAgICBBNDAwIDogIzI1NjNFQixcbiAgICBBNzAwIDogIzFFNDBBRixcbiAgICBjb250cmFzdDogKFxuICAgICAgICA1MCA6ICMwMDAwMDAsXG4gICAgICAgIDEwMCA6ICMwMDAwMDAsXG4gICAgICAgIDIwMCA6ICMwMDAwMDAsXG4gICAgICAgIDMwMCA6ICMwMDAwMDAsXG4gICAgICAgIDQwMCA6ICNmZmZmZmYsXG4gICAgICAgIDUwMCA6ICNmZmZmZmYsXG4gICAgICAgIDYwMCA6ICNmZmZmZmYsXG4gICAgICAgIDcwMCA6ICNmZmZmZmYsXG4gICAgICAgIDgwMCA6ICNmZmZmZmYsXG4gICAgICAgIDkwMCA6ICNmZmZmZmYsXG4gICAgICAgIEExMDAgOiAjMDAwMDAwLFxuICAgICAgICBBMjAwIDogIzAwMDAwMCxcbiAgICAgICAgQTQwMCA6ICNmZmZmZmYsXG4gICAgICAgIEE3MDAgOiAjZmZmZmZmLFxuICAgIClcbik7XG5cbiR0aGVtZS1wcmltYXJ5OiAoXG4gIDUwOiAjZTNlNWViLFxuICAxMDA6ICNiYWJmY2QsXG4gIDIwMDogIzhjOTVhYyxcbiAgMzAwOiAjNWU2YThiLFxuICA0MDA6ICMzYzRhNzIsXG4gIDUwMDogIzE5MmE1OSxcbiAgNjAwOiAjMTYyNTUxLFxuICA3MDA6ICMxMjFmNDgsXG4gIDgwMDogIzBlMTkzZSxcbiAgOTAwOiAjMDgwZjJlLFxuICBBMTAwOiAjNjg3ZGZmLFxuICBBMjAwOiAjMzU1MWZmLFxuICBBNDAwOiAjMDIyNWZmLFxuICBBNzAwOiAjMDAyMGU4LFxuICBjb250cmFzdDogKFxuICAgIDUwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMTAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMjAwOiAkZGFyay1wcmltYXJ5LXRleHQsXG4gICAgMzAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDQwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA1MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgNjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIDcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgICA4MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgOTAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEExMDA6ICRkYXJrLXByaW1hcnktdGV4dCxcbiAgICBBMjAwOiAkbGlnaHQtcHJpbWFyeS10ZXh0LFxuICAgIEE0MDA6ICRsaWdodC1wcmltYXJ5LXRleHQsXG4gICAgQTcwMDogJGxpZ2h0LXByaW1hcnktdGV4dCxcbiAgKVxuKTtcblxuJHRoZW1lLXNlY29uZGFyeTogKFxuICA1MDogI2YwZjFmMyxcbiAgMTAwOiAjZGFkY2UxLFxuICAyMDA6ICNjMWM0Y2QsXG4gIDMwMDogI2E4YWNiOCxcbiAgNDAwOiAjOTY5YmE5LFxuICA1MDA6ICM4Mzg5OWEsXG4gIDYwMDogIzdiODE5MixcbiAgNzAwOiAjNzA3Njg4LFxuICA4MDA6ICM2NjZjN2UsXG4gIDkwMDogIzUzNTk2YyxcbiAgQTEwMDogI2Q1ZGZmZSxcbiAgQTIwMDogI2EzYjhmZCxcbiAgQTQwMDogIzZlOTBmZixcbiAgQTcwMDogIzU1N2NmZixcbiAgY29udHJhc3Q6IChcbiAgICA1MDogIzAwMDAwMCxcbiAgICAxMDA6ICMwMDAwMDAsXG4gICAgMjAwOiAjMDAwMDAwLFxuICAgIDMwMDogIzAwMDAwMCxcbiAgICA0MDA6ICNmZmZmZmYsXG4gICAgNTAwOiAjZmZmZmZmLFxuICAgIDYwMDogI2ZmZmZmZixcbiAgICA3MDA6ICNmZmZmZmYsXG4gICAgODAwOiAjZmZmZmZmLFxuICAgIDkwMDogI2ZmZmZmZixcbiAgICBBMTAwOiAjMDAwMDAwLFxuICAgIEEyMDA6ICMwMDAwMDAsXG4gICAgQTQwMDogIzAwMDAwMCxcbiAgICBBNzAwOiAjZmZmZmZmXG4gIClcbik7XG5cbiR0aGVtZS13YXJuOiAoXG4gIDUwOiAjZjllM2UzLFxuICAxMDA6ICNmMGI5YjksXG4gIDIwMDogI2U3OGE4YSxcbiAgMzAwOiAjZGQ1YjViLFxuICA0MDA6ICNlNDNiM2IsXG4gIDUwMDogI2U5MTQxNCxcbiAgNjAwOiAjZDMxNDE0LFxuICA3MDA6ICNjMjBlMGUsXG4gIDgwMDogI2JjMGIwYixcbiAgOTAwOiAjYjAwNjA2LFxuICBBMTAwOiAjZmZkYmRiLFxuICBBMjAwOiAjZmZhOGE4LFxuICBBNDAwOiAjZmY3NTc1LFxuICBBNzAwOiAjZmY1YjViLFxuICBjb250cmFzdDogKFxuICAgIDUwOiAjMDAwMDAwLFxuICAgIDEwMDogIzAwMDAwMCxcbiAgICAyMDA6ICMwMDAwMDAsXG4gICAgMzAwOiAjMDAwMDAwLFxuICAgIDQwMDogI2ZmZmZmZixcbiAgICA1MDA6ICNmZmZmZmYsXG4gICAgNjAwOiAjZmZmZmZmLFxuICAgIDcwMDogI2ZmZmZmZixcbiAgICA4MDA6ICNmZmZmZmYsXG4gICAgOTAwOiAjZmZmZmZmLFxuICAgIEExMDA6ICMwMDAwMDAsXG4gICAgQTIwMDogIzAwMDAwMCxcbiAgICBBNDAwOiAjMDAwMDAwLFxuICAgIEE3MDA6ICMwMDAwMDAsXG4gIClcbik7XG4vLyBHZWlzdCBTYW5zICh2YXJpYWJsZSwgVmVyY2VsLCAyMDIzKSBhcyB0aGUgcHJpbWFyeSBVSSBmb250LiBQcm92aWRlc1xuLy8gY3Jvc3MtT1MgY29uc2lzdGVuY3kgc2ltaWxhciB0byB3aGF0IENsYXVkZS5haSAvIExpbmVhciAvIFZlcmNlbCBhY2hpZXZlXG4vLyB3aXRoIGNvbW1lcmNpYWwgU8O2aG5lLiBTeXN0ZW0gZm9udHMgcmVtYWluIGFzIGZhbGxiYWNrcyBmb3IgdGhlIGJyaWVmXG4vLyBwcmUtbG9hZCBwZXJpb2QuXG4kZm9udC1mYW1pbHk6IFwiR2Vpc3RcIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCI7XG5cbiRhcHAtd2FybjogbWF0LXBhbGV0dGUoJHRoZW1lLXdhcm4pOyAvLyBDcmVhdGUgdGhlIHRoZW1lIG9iamVjdCAoYSBTYXNzIG1hcCBjb250YWluaW5nIGFsbCBvZiB0aGUgcGFsZXR0ZXMpLlxuLy8gVGVtYSBjbGFyb1xuJGFwcC1wcmltYXJ5LWxpZ2h0OiBtYXQtcGFsZXR0ZSgkbWQtbWNncGFsZXR0ZTEpO1xuJGFwcC1hY2NlbnQtbGlnaHQ6IG1hdC1wYWxldHRlKCRtZC1tY2dwYWxldHRlMSk7XG4kYXBwLXRoZW1lLWxpZ2h0OiBtYXQtbGlnaHQtdGhlbWUoJGFwcC1wcmltYXJ5LWxpZ2h0LCAkYXBwLWFjY2VudC1saWdodCwgJGFwcC13YXJuKTtcbi5saWdodC10aGVtZSB7XG4gIEBpbmNsdWRlIGFuZ3VsYXItbWF0ZXJpYWwtdGhlbWUoJGFwcC10aGVtZS1saWdodCk7XG59XG5cbi8vIFRlbWEgZXNjdXJvXG4kYXBwLXByaW1hcnktZGFyazogbWF0LXBhbGV0dGUoJG1kLW1jZ3BhbGV0dGUwKTtcbiRhcHAtYWNjZW50LWRhcms6IG1hdC1wYWxldHRlKCRtZC1tY2dwYWxldHRlMCk7XG4kYXBwLXRoZW1lLWRhcms6IG1hdC1kYXJrLXRoZW1lKCRhcHAtcHJpbWFyeS1kYXJrLCAkYXBwLWFjY2VudC1kYXJrLCAkYXBwLXdhcm4pO1xuLmRhcmstdGhlbWUge1xuICBAaW5jbHVkZSBhbmd1bGFyLW1hdGVyaWFsLXRoZW1lKCRhcHAtdGhlbWUtZGFyayk7XG59XG5cblxuJGFwcC10eXBvZ3JhcGh5OiBtYXQtdHlwb2dyYXBoeS1jb25maWcoJGZvbnQtZmFtaWx5KTtcblxuQGluY2x1ZGUgYW5ndWxhci1tYXRlcmlhbC10eXBvZ3JhcGh5KCRhcHAtdHlwb2dyYXBoeSk7XG4iLCJAa2V5ZnJhbWVzIHNwaW5Bcm91bmRcbiAgZnJvbVxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpXG4gIHRvXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKVxuIiwiQGltcG9ydCBcImluaXRpYWwtdmFyaWFibGVzXCJcblxuPWNsZWFyZml4XG4gICY6OmFmdGVyXG4gICAgY2xlYXI6IGJvdGhcbiAgICBjb250ZW50OiBcIiBcIlxuICAgIGRpc3BsYXk6IHRhYmxlXG5cbj1jZW50ZXIoJHdpZHRoLCAkaGVpZ2h0OiAwKVxuICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgQGlmICRoZWlnaHQgIT0gMFxuICAgIGxlZnQ6IGNhbGMoNTAlIC0gKCN7JHdpZHRofSAvIDIpKVxuICAgIHRvcDogY2FsYyg1MCUgLSAoI3skaGVpZ2h0fSAvIDIpKVxuICBAZWxzZVxuICAgIGxlZnQ6IGNhbGMoNTAlIC0gKCN7JHdpZHRofSAvIDIpKVxuICAgIHRvcDogY2FsYyg1MCUgLSAoI3skd2lkdGh9IC8gMikpXG5cbj1mYSgkc2l6ZSwgJGRpbWVuc2lvbnMpXG4gIGRpc3BsYXk6IGlubGluZS1ibG9ja1xuICBmb250LXNpemU6ICRzaXplXG4gIGhlaWdodDogJGRpbWVuc2lvbnNcbiAgbGluZS1oZWlnaHQ6ICRkaW1lbnNpb25zXG4gIHRleHQtYWxpZ246IGNlbnRlclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wXG4gIHdpZHRoOiAkZGltZW5zaW9uc1xuXG49aGFtYnVyZ2VyKCRkaW1lbnNpb25zKVxuICBjdXJzb3I6IHBvaW50ZXJcbiAgZGlzcGxheTogYmxvY2tcbiAgaGVpZ2h0OiAkZGltZW5zaW9uc1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgd2lkdGg6ICRkaW1lbnNpb25zXG4gIHNwYW5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3JcbiAgICBkaXNwbGF5OiBibG9ja1xuICAgIGhlaWdodDogMXB4XG4gICAgbGVmdDogY2FsYyg1MCUgLSA4cHgpXG4gICAgcG9zaXRpb246IGFic29sdXRlXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNwZWVkXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvciwgb3BhY2l0eSwgdHJhbnNmb3JtXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRlYXNpbmdcbiAgICB3aWR0aDogMTZweFxuICAgICY6bnRoLWNoaWxkKDEpXG4gICAgICB0b3A6IGNhbGMoNTAlIC0gNnB4KVxuICAgICY6bnRoLWNoaWxkKDIpXG4gICAgICB0b3A6IGNhbGMoNTAlIC0gMXB4KVxuICAgICY6bnRoLWNoaWxkKDMpXG4gICAgICB0b3A6IGNhbGMoNTAlICsgNHB4KVxuICAmOmhvdmVyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYnVsbWFSZ2JhKGJsYWNrLCAwLjA1KVxuICAvLyBNb2RpZmVyc1xuICAmLmlzLWFjdGl2ZVxuICAgIHNwYW5cbiAgICAgICY6bnRoLWNoaWxkKDEpXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpIHJvdGF0ZSg0NWRlZylcbiAgICAgICY6bnRoLWNoaWxkKDIpXG4gICAgICAgIG9wYWNpdHk6IDBcbiAgICAgICY6bnRoLWNoaWxkKDMpXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KSByb3RhdGUoLTQ1ZGVnKVxuXG49b3ZlcmZsb3ctdG91Y2hcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoXG5cbj1wbGFjZWhvbGRlclxuICAkcGxhY2Vob2xkZXJzOiAnOi1tb3onICc6LXdlYmtpdC1pbnB1dCcgJy1tb3onICctbXMtaW5wdXQnXG4gIEBlYWNoICRwbGFjZWhvbGRlciBpbiAkcGxhY2Vob2xkZXJzXG4gICAgJjojeyRwbGFjZWhvbGRlcn0tcGxhY2Vob2xkZXJcbiAgICAgIEBjb250ZW50XG5cbi8vIFJlc3BvbnNpdmVuZXNzXG5cbj1mcm9tKCRkZXZpY2UpXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXZpY2UpXG4gICAgQGNvbnRlbnRcblxuPXVudGlsKCRkZXZpY2UpXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkZXZpY2UgLSAxcHgpXG4gICAgQGNvbnRlbnRcblxuPW1vYmlsZVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0IC0gMXB4KVxuICAgIEBjb250ZW50XG5cbj10YWJsZXRcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHRhYmxldCksIHByaW50XG4gICAgQGNvbnRlbnRcblxuPXRhYmxldC1vbmx5XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0YWJsZXQpIGFuZCAobWF4LXdpZHRoOiAkZGVza3RvcCAtIDFweClcbiAgICBAY29udGVudFxuXG49dG91Y2hcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGRlc2t0b3AgLSAxcHgpXG4gICAgQGNvbnRlbnRcblxuPWRlc2t0b3BcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2t0b3ApXG4gICAgQGNvbnRlbnRcblxuPWRlc2t0b3Atb25seVxuICBAaWYgJHdpZGVzY3JlZW4tZW5hYmxlZFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRkZXNrdG9wKSBhbmQgKG1heC13aWR0aDogJHdpZGVzY3JlZW4gLSAxcHgpXG4gICAgICBAY29udGVudFxuXG49dW50aWwtd2lkZXNjcmVlblxuICBAaWYgJHdpZGVzY3JlZW4tZW5hYmxlZFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR3aWRlc2NyZWVuIC0gMXB4KVxuICAgICAgQGNvbnRlbnRcblxuPXdpZGVzY3JlZW5cbiAgQGlmICR3aWRlc2NyZWVuLWVuYWJsZWRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkd2lkZXNjcmVlbilcbiAgICAgIEBjb250ZW50XG5cbj13aWRlc2NyZWVuLW9ubHlcbiAgQGlmICR3aWRlc2NyZWVuLWVuYWJsZWQgYW5kICRmdWxsaGQtZW5hYmxlZFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR3aWRlc2NyZWVuKSBhbmQgKG1heC13aWR0aDogJGZ1bGxoZCAtIDFweClcbiAgICAgIEBjb250ZW50XG5cbj11bnRpbC1mdWxsaGRcbiAgQGlmICRmdWxsaGQtZW5hYmxlZFxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRmdWxsaGQgLSAxcHgpXG4gICAgICBAY29udGVudFxuXG49ZnVsbGhkXG4gIEBpZiAkZnVsbGhkLWVuYWJsZWRcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkZnVsbGhkKVxuICAgICAgQGNvbnRlbnRcblxuLy8gUGxhY2Vob2xkZXJzXG5cbj11bnNlbGVjdGFibGVcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmVcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZVxuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmVcbiAgdXNlci1zZWxlY3Q6IG5vbmVcblxuJXVuc2VsZWN0YWJsZVxuICArdW5zZWxlY3RhYmxlXG5cbj1hcnJvdygkY29sb3I6IHRyYW5zcGFyZW50KVxuICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3JcbiAgYm9yZGVyLXJhZGl1czogMnB4XG4gIGJvcmRlci1yaWdodDogMFxuICBib3JkZXItdG9wOiAwXG4gIGNvbnRlbnQ6IFwiIFwiXG4gIGRpc3BsYXk6IGJsb2NrXG4gIGhlaWdodDogMC42MjVlbVxuICBtYXJnaW4tdG9wOiAtMC40Mzc1ZW1cbiAgcG9pbnRlci1ldmVudHM6IG5vbmVcbiAgcG9zaXRpb246IGFic29sdXRlXG4gIHRvcDogNTAlXG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZylcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyXG4gIHdpZHRoOiAwLjYyNWVtXG5cbiVhcnJvd1xuICArYXJyb3dcblxuPWJsb2NrKCRzcGFjaW5nOiAkYmxvY2stc3BhY2luZylcbiAgJjpub3QoOmxhc3QtY2hpbGQpXG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmdcblxuJWJsb2NrXG4gICtibG9ja1xuXG49ZGVsZXRlXG4gIEBleHRlbmQgJXVuc2VsZWN0YWJsZVxuICAtbW96LWFwcGVhcmFuY2U6IG5vbmVcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lXG4gIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4yKVxuICBib3JkZXI6IG5vbmVcbiAgYm9yZGVyLXJhZGl1czogJHJhZGl1cy1yb3VuZGVkXG4gIGN1cnNvcjogcG9pbnRlclxuICBwb2ludGVyLWV2ZW50czogYXV0b1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2tcbiAgZmxleC1ncm93OiAwXG4gIGZsZXgtc2hyaW5rOiAwXG4gIGZvbnQtc2l6ZTogMFxuICBoZWlnaHQ6IDIwcHhcbiAgbWF4LWhlaWdodDogMjBweFxuICBtYXgtd2lkdGg6IDIwcHhcbiAgbWluLWhlaWdodDogMjBweFxuICBtaW4td2lkdGg6IDIwcHhcbiAgb3V0bGluZTogbm9uZVxuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgdmVydGljYWwtYWxpZ246IHRvcFxuICB3aWR0aDogMjBweFxuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNjaGVtZS1tYWluXG4gICAgY29udGVudDogXCJcIlxuICAgIGRpc3BsYXk6IGJsb2NrXG4gICAgbGVmdDogNTAlXG4gICAgcG9zaXRpb246IGFic29sdXRlXG4gICAgdG9wOiA1MCVcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoNDVkZWcpXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlclxuICAmOjpiZWZvcmVcbiAgICBoZWlnaHQ6IDJweFxuICAgIHdpZHRoOiA1MCVcbiAgJjo6YWZ0ZXJcbiAgICBoZWlnaHQ6IDUwJVxuICAgIHdpZHRoOiAycHhcbiAgJjpob3ZlcixcbiAgJjpmb2N1c1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4zKVxuICAmOmFjdGl2ZVxuICAgIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC40KVxuICAvLyBTaXplc1xuICAmLmlzLXNtYWxsXG4gICAgaGVpZ2h0OiAxNnB4XG4gICAgbWF4LWhlaWdodDogMTZweFxuICAgIG1heC13aWR0aDogMTZweFxuICAgIG1pbi1oZWlnaHQ6IDE2cHhcbiAgICBtaW4td2lkdGg6IDE2cHhcbiAgICB3aWR0aDogMTZweFxuICAmLmlzLW1lZGl1bVxuICAgIGhlaWdodDogMjRweFxuICAgIG1heC1oZWlnaHQ6IDI0cHhcbiAgICBtYXgtd2lkdGg6IDI0cHhcbiAgICBtaW4taGVpZ2h0OiAyNHB4XG4gICAgbWluLXdpZHRoOiAyNHB4XG4gICAgd2lkdGg6IDI0cHhcbiAgJi5pcy1sYXJnZVxuICAgIGhlaWdodDogMzJweFxuICAgIG1heC1oZWlnaHQ6IDMycHhcbiAgICBtYXgtd2lkdGg6IDMycHhcbiAgICBtaW4taGVpZ2h0OiAzMnB4XG4gICAgbWluLXdpZHRoOiAzMnB4XG4gICAgd2lkdGg6IDMycHhcblxuJWRlbGV0ZVxuICArZGVsZXRlXG5cbj1sb2FkZXJcbiAgYW5pbWF0aW9uOiBzcGluQXJvdW5kIDUwMG1zIGluZmluaXRlIGxpbmVhclxuICBib3JkZXI6IDJweCBzb2xpZCAkZ3JleS1saWdodGVyXG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMtcm91bmRlZFxuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50XG4gIGNvbnRlbnQ6IFwiXCJcbiAgZGlzcGxheTogYmxvY2tcbiAgaGVpZ2h0OiAxZW1cbiAgcG9zaXRpb246IHJlbGF0aXZlXG4gIHdpZHRoOiAxZW1cblxuJWxvYWRlclxuICArbG9hZGVyXG5cbj1vdmVybGF5KCRvZmZzZXQ6IDApXG4gIGJvdHRvbTogJG9mZnNldFxuICBsZWZ0OiAkb2Zmc2V0XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICByaWdodDogJG9mZnNldFxuICB0b3A6ICRvZmZzZXRcblxuJW92ZXJsYXlcbiAgK292ZXJsYXlcbiIsIi8vIENvbG9yc1xuXG4kYmxhY2s6ICAgICAgICBoc2woMCwgMCUsIDQlKSAhZGVmYXVsdFxuJGJsYWNrLWJpczogICAgaHNsKDAsIDAlLCA3JSkgIWRlZmF1bHRcbiRibGFjay10ZXI6ICAgIGhzbCgwLCAwJSwgMTQlKSAhZGVmYXVsdFxuXG4kZ3JleS1kYXJrZXI6ICBoc2woMCwgMCUsIDIxJSkgIWRlZmF1bHRcbiRncmV5LWRhcms6ICAgIGhzbCgwLCAwJSwgMjklKSAhZGVmYXVsdFxuJGdyZXk6ICAgICAgICAgaHNsKDAsIDAlLCA0OCUpICFkZWZhdWx0XG4kZ3JleS1saWdodDogICBoc2woMCwgMCUsIDcxJSkgIWRlZmF1bHRcbiRncmV5LWxpZ2h0ZXI6IGhzbCgwLCAwJSwgODYlKSAhZGVmYXVsdFxuJGdyZXktbGlnaHRlc3Q6IGhzbCgwLCAwJSwgOTMlKSAhZGVmYXVsdFxuXG4kd2hpdGUtdGVyOiAgICBoc2woMCwgMCUsIDk2JSkgIWRlZmF1bHRcbiR3aGl0ZS1iaXM6ICAgIGhzbCgwLCAwJSwgOTglKSAhZGVmYXVsdFxuJHdoaXRlOiAgICAgICAgaHNsKDAsIDAlLCAxMDAlKSAhZGVmYXVsdFxuXG4kb3JhbmdlOiAgICAgICBoc2woMTQsICAxMDAlLCA1MyUpICFkZWZhdWx0XG4keWVsbG93OiAgICAgICBoc2woNDgsICAxMDAlLCA2NyUpICFkZWZhdWx0XG4kZ3JlZW46ICAgICAgICBoc2woMTQxLCA1MyUsICA1MyUpICFkZWZhdWx0XG4kdHVycXVvaXNlOiAgICBoc2woMTcxLCAxMDAlLCA0MSUpICFkZWZhdWx0XG4kY3lhbjogICAgICAgICBoc2woMjA0LCA3MSUsICA1MyUpICFkZWZhdWx0XG4kYmx1ZTogICAgICAgICBoc2woMjE3LCA3MSUsICA1MyUpICFkZWZhdWx0XG4kcHVycGxlOiAgICAgICBoc2woMjcxLCAxMDAlLCA3MSUpICFkZWZhdWx0XG4kcmVkOiAgICAgICAgICBoc2woMzQ4LCA4NiUsIDYxJSkgIWRlZmF1bHRcblxuLy8gVHlwb2dyYXBoeVxuXG4kZmFtaWx5LXNhbnMtc2VyaWY6IEJsaW5rTWFjU3lzdGVtRm9udCwgLWFwcGxlLXN5c3RlbSwgXCJTZWdvZSBVSVwiLCBcIlJvYm90b1wiLCBcIk94eWdlblwiLCBcIlVidW50dVwiLCBcIkNhbnRhcmVsbFwiLCBcIkZpcmEgU2Fuc1wiLCBcIkRyb2lkIFNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWYgIWRlZmF1bHRcbiRmYW1pbHktbW9ub3NwYWNlOiBtb25vc3BhY2UgIWRlZmF1bHRcbiRyZW5kZXItbW9kZTogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0XG5cbiRzaXplLTE6IDNyZW0gIWRlZmF1bHRcbiRzaXplLTI6IDIuNXJlbSAhZGVmYXVsdFxuJHNpemUtMzogMnJlbSAhZGVmYXVsdFxuJHNpemUtNDogMS41cmVtICFkZWZhdWx0XG4kc2l6ZS01OiAxLjI1cmVtICFkZWZhdWx0XG4kc2l6ZS02OiAxcmVtICFkZWZhdWx0XG4kc2l6ZS03OiAwLjc1cmVtICFkZWZhdWx0XG5cbiR3ZWlnaHQtbGlnaHQ6IDMwMCAhZGVmYXVsdFxuJHdlaWdodC1ub3JtYWw6IDQwMCAhZGVmYXVsdFxuJHdlaWdodC1tZWRpdW06IDUwMCAhZGVmYXVsdFxuJHdlaWdodC1zZW1pYm9sZDogNjAwICFkZWZhdWx0XG4kd2VpZ2h0LWJvbGQ6IDcwMCAhZGVmYXVsdFxuXG4vLyBTcGFjaW5nXG5cbiRibG9jay1zcGFjaW5nOiAxLjVyZW0gIWRlZmF1bHRcblxuLy8gUmVzcG9uc2l2ZW5lc3NcblxuLy8gVGhlIGNvbnRhaW5lciBob3Jpem9udGFsIGdhcCwgd2hpY2ggYWN0cyBhcyB0aGUgb2Zmc2V0IGZvciBicmVha3BvaW50c1xuJGdhcDogMzJweCAhZGVmYXVsdFxuLy8gOTYwLCAxMTUyLCBhbmQgMTM0NCBoYXZlIGJlZW4gY2hvc2VuIGJlY2F1c2UgdGhleSBhcmUgZGl2aXNpYmxlIGJ5IGJvdGggMTIgYW5kIDE2XG4kdGFibGV0OiA3NjlweCAhZGVmYXVsdFxuLy8gOTYwcHggY29udGFpbmVyICsgNHJlbVxuJGRlc2t0b3A6IDk2MHB4ICsgKDIgKiAkZ2FwKSAhZGVmYXVsdFxuLy8gMTE1MnB4IGNvbnRhaW5lciArIDRyZW1cbiR3aWRlc2NyZWVuOiAxMTUycHggKyAoMiAqICRnYXApICFkZWZhdWx0XG4kd2lkZXNjcmVlbi1lbmFibGVkOiB0cnVlICFkZWZhdWx0XG4vLyAxMzQ0cHggY29udGFpbmVyICsgNHJlbVxuJGZ1bGxoZDogMTM0NHB4ICsgKDIgKiAkZ2FwKSAhZGVmYXVsdFxuJGZ1bGxoZC1lbmFibGVkOiB0cnVlICFkZWZhdWx0XG5cbi8vIE1pc2NlbGxhbmVvdXNcblxuJGVhc2luZzogZWFzZS1vdXQgIWRlZmF1bHRcbiRyYWRpdXMtc21hbGw6IDJweCAhZGVmYXVsdFxuJHJhZGl1czogNHB4ICFkZWZhdWx0XG4kcmFkaXVzLWxhcmdlOiA2cHggIWRlZmF1bHRcbiRyYWRpdXMtcm91bmRlZDogMjkwNDg2cHggIWRlZmF1bHRcbiRzcGVlZDogODZtcyAhZGVmYXVsdFxuXG4vLyBGbGFnc1xuXG4kdmFyaWFibGUtY29sdW1uczogdHJ1ZSAhZGVmYXVsdFxuIiwiLyohIG1pbmlyZXNldC5jc3MgdjAuMC42IHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL2pndGhtcy9taW5pcmVzZXQuY3NzICovXG4vLyBCbG9ja3Ncbmh0bWwsXG5ib2R5LFxucCxcbm9sLFxudWwsXG5saSxcbmRsLFxuZHQsXG5kZCxcbmJsb2NrcXVvdGUsXG5maWd1cmUsXG5maWVsZHNldCxcbmxlZ2VuZCxcbnRleHRhcmVhLFxucHJlLFxuaWZyYW1lLFxuaHIsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDZcbiAgbWFyZ2luOiAwXG4gIHBhZGRpbmc6IDBcblxuLy8gSGVhZGluZ3NcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNlxuICBmb250LXNpemU6IDEwMCVcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbFxuXG4vLyBMaXN0XG51bFxuICBsaXN0LXN0eWxlOiBub25lXG5cbi8vIEZvcm1cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWFcbiAgbWFyZ2luOiAwXG5cbi8vIEJveCBzaXppbmdcbmh0bWxcbiAgYm94LXNpemluZzogYm9yZGVyLWJveFxuXG4qXG4gICYsXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXJcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0XG5cbi8vIE1lZGlhXG5pbWcsXG52aWRlb1xuICBoZWlnaHQ6IGF1dG9cbiAgbWF4LXdpZHRoOiAxMDAlXG5cbi8vIElmcmFtZVxuaWZyYW1lXG4gIGJvcmRlcjogMFxuXG4vLyBUYWJsZVxudGFibGVcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZVxuICBib3JkZXItc3BhY2luZzogMFxuXG50ZCxcbnRoXG4gIHBhZGRpbmc6IDBcbiAgJjpub3QoW2FsaWduXSlcbiAgICB0ZXh0LWFsaWduOiBsZWZ0XG4iLCIkYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiAkc2NoZW1lLW1haW4gIWRlZmF1bHRcbiRib2R5LXNpemU6IDE2cHggIWRlZmF1bHRcbiRib2R5LW1pbi13aWR0aDogMzAwcHggIWRlZmF1bHRcbiRib2R5LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0XG4kYm9keS1mYW1pbHk6ICRmYW1pbHktcHJpbWFyeSAhZGVmYXVsdFxuJGJvZHktb3ZlcmZsb3cteDogaGlkZGVuICFkZWZhdWx0XG4kYm9keS1vdmVyZmxvdy15OiBzY3JvbGwgIWRlZmF1bHRcblxuJGJvZHktY29sb3I6ICR0ZXh0ICFkZWZhdWx0XG4kYm9keS1mb250LXNpemU6IDFlbSAhZGVmYXVsdFxuJGJvZHktd2VpZ2h0OiAkd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdFxuJGJvZHktbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdFxuXG4kY29kZS1mYW1pbHk6ICRmYW1pbHktY29kZSAhZGVmYXVsdFxuJGNvZGUtcGFkZGluZzogMC4yNWVtIDAuNWVtIDAuMjVlbSAhZGVmYXVsdFxuJGNvZGUtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHRcbiRjb2RlLXNpemU6IDAuODc1ZW0gIWRlZmF1bHRcblxuJHNtYWxsLWZvbnQtc2l6ZTogMC44NzVlbSAhZGVmYXVsdFxuXG4kaHItYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWRlZmF1bHRcbiRoci1oZWlnaHQ6IDJweCAhZGVmYXVsdFxuJGhyLW1hcmdpbjogMS41cmVtIDAgIWRlZmF1bHRcblxuJHN0cm9uZy1jb2xvcjogJHRleHQtc3Ryb25nICFkZWZhdWx0XG4kc3Ryb25nLXdlaWdodDogJHdlaWdodC1ib2xkICFkZWZhdWx0XG5cbiRwcmUtZm9udC1zaXplOiAwLjg3NWVtICFkZWZhdWx0XG4kcHJlLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0XG4kcHJlLWNvZGUtZm9udC1zaXplOiAxZW0gIWRlZmF1bHRcblxuaHRtbFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kLWNvbG9yXG4gIGZvbnQtc2l6ZTogJGJvZHktc2l6ZVxuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkXG4gIG1pbi13aWR0aDogJGJvZHktbWluLXdpZHRoXG4gIG92ZXJmbG93LXg6ICRib2R5LW92ZXJmbG93LXhcbiAgb3ZlcmZsb3cteTogJGJvZHktb3ZlcmZsb3cteVxuICB0ZXh0LXJlbmRlcmluZzogJGJvZHktcmVuZGVyaW5nXG4gIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCVcblxuYXJ0aWNsZSxcbmFzaWRlLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxuc2VjdGlvblxuICBkaXNwbGF5OiBibG9ja1xuXG5ib2R5LFxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYVxuICBmb250LWZhbWlseTogJGJvZHktZmFtaWx5XG5cbmNvZGUsXG5wcmVcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0b1xuICBmb250LWZhbWlseTogJGNvZGUtZmFtaWx5XG5cbmJvZHlcbiAgY29sb3I6ICRib2R5LWNvbG9yXG4gIGZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplXG4gIGZvbnQtd2VpZ2h0OiAkYm9keS13ZWlnaHRcbiAgbGluZS1oZWlnaHQ6ICRib2R5LWxpbmUtaGVpZ2h0XG5cbi8vIElubGluZVxuXG5hXG4gIGNvbG9yOiAkbGlua1xuICBjdXJzb3I6IHBvaW50ZXJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lXG4gIHN0cm9uZ1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3JcbiAgJjpob3ZlclxuICAgIGNvbG9yOiAkbGluay1ob3ZlclxuXG5jb2RlXG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2RlLWJhY2tncm91bmRcbiAgY29sb3I6ICRjb2RlXG4gIGZvbnQtc2l6ZTogJGNvZGUtc2l6ZVxuICBmb250LXdlaWdodDogJGNvZGUtd2VpZ2h0XG4gIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmdcblxuaHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGhyLWJhY2tncm91bmQtY29sb3JcbiAgYm9yZGVyOiBub25lXG4gIGRpc3BsYXk6IGJsb2NrXG4gIGhlaWdodDogJGhyLWhlaWdodFxuICBtYXJnaW46ICRoci1tYXJnaW5cblxuaW1nXG4gIGhlaWdodDogYXV0b1xuICBtYXgtd2lkdGg6IDEwMCVcblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZVxuXG5zbWFsbFxuICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemVcblxuc3BhblxuICBmb250LXN0eWxlOiBpbmhlcml0XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0XG5cbnN0cm9uZ1xuICBjb2xvcjogJHN0cm9uZy1jb2xvclxuICBmb250LXdlaWdodDogJHN0cm9uZy13ZWlnaHRcblxuLy8gQmxvY2tcblxuZmllbGRzZXRcbiAgYm9yZGVyOiBub25lXG5cbnByZVxuICArb3ZlcmZsb3ctdG91Y2hcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByZS1iYWNrZ3JvdW5kXG4gIGNvbG9yOiAkcHJlXG4gIGZvbnQtc2l6ZTogJHByZS1mb250LXNpemVcbiAgb3ZlcmZsb3cteDogYXV0b1xuICBwYWRkaW5nOiAkcHJlLXBhZGRpbmdcbiAgd2hpdGUtc3BhY2U6IHByZVxuICB3b3JkLXdyYXA6IG5vcm1hbFxuICBjb2RlXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcbiAgICBjb2xvcjogY3VycmVudENvbG9yXG4gICAgZm9udC1zaXplOiAkcHJlLWNvZGUtZm9udC1zaXplXG4gICAgcGFkZGluZzogMFxuXG50YWJsZVxuICB0ZCxcbiAgdGhcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wXG4gICAgJjpub3QoW2FsaWduXSlcbiAgICAgIHRleHQtYWxpZ246IGxlZnRcbiAgdGhcbiAgICBjb2xvcjogJHRleHQtc3Ryb25nXG4iLCIvLyBGbG9hdFxuXG4uaXMtY2xlYXJmaXhcbiAgK2NsZWFyZml4XG5cbi5pcy1wdWxsZWQtbGVmdFxuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50XG5cbi5pcy1wdWxsZWQtcmlnaHRcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnRcblxuLy8gT3ZlcmZsb3dcblxuLmlzLWNsaXBwZWRcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50XG5cbi8vIE92ZXJsYXlcblxuLmlzLW92ZXJsYXlcbiAgQGV4dGVuZCAlb3ZlcmxheVxuXG4vLyBUeXBvZ3JhcGh5XG5cbj10eXBvZ3JhcGh5LXNpemUoJHRhcmdldDonJylcbiAgQGVhY2ggJHNpemUgaW4gJHNpemVzXG4gICAgJGk6IGluZGV4KCRzaXplcywgJHNpemUpXG4gICAgLmlzLXNpemUtI3skaX0je2lmKCR0YXJnZXQgPT0gJycsICcnLCAnLScgKyAkdGFyZ2V0KX1cbiAgICAgIGZvbnQtc2l6ZTogJHNpemUgIWltcG9ydGFudFxuXG4rdHlwb2dyYXBoeS1zaXplKClcblxuK21vYmlsZVxuICArdHlwb2dyYXBoeS1zaXplKCdtb2JpbGUnKVxuXG4rdGFibGV0XG4gICt0eXBvZ3JhcGh5LXNpemUoJ3RhYmxldCcpXG5cbit0b3VjaFxuICArdHlwb2dyYXBoeS1zaXplKCd0b3VjaCcpXG5cbitkZXNrdG9wXG4gICt0eXBvZ3JhcGh5LXNpemUoJ2Rlc2t0b3AnKVxuXG4rd2lkZXNjcmVlblxuICArdHlwb2dyYXBoeS1zaXplKCd3aWRlc2NyZWVuJylcblxuK2Z1bGxoZFxuICArdHlwb2dyYXBoeS1zaXplKCdmdWxsaGQnKVxuXG4kYWxpZ25tZW50czogKCdjZW50ZXJlZCc6ICdjZW50ZXInLCAnanVzdGlmaWVkJzogJ2p1c3RpZnknLCAnbGVmdCc6ICdsZWZ0JywgJ3JpZ2h0JzogJ3JpZ2h0JylcblxuQGVhY2ggJGFsaWdubWVudCwgJHRleHQtYWxpZ24gaW4gJGFsaWdubWVudHNcbiAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH1cbiAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG5cbkBlYWNoICRhbGlnbm1lbnQsICR0ZXh0LWFsaWduIGluICRhbGlnbm1lbnRzXG4gICttb2JpbGVcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS1tb2JpbGVcbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK3RhYmxldFxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LXRhYmxldFxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArdGFibGV0LW9ubHlcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS10YWJsZXQtb25seVxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArdG91Y2hcbiAgICAuaGFzLXRleHQtI3skYWxpZ25tZW50fS10b3VjaFxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArZGVza3RvcFxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LWRlc2t0b3BcbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK2Rlc2t0b3Atb25seVxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LWRlc2t0b3Atb25seVxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArd2lkZXNjcmVlblxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LXdpZGVzY3JlZW5cbiAgICAgIHRleHQtYWxpZ246ICN7JHRleHQtYWxpZ259ICFpbXBvcnRhbnRcbiAgK3dpZGVzY3JlZW4tb25seVxuICAgIC5oYXMtdGV4dC0jeyRhbGlnbm1lbnR9LXdpZGVzY3JlZW4tb25seVxuICAgICAgdGV4dC1hbGlnbjogI3skdGV4dC1hbGlnbn0gIWltcG9ydGFudFxuICArZnVsbGhkXG4gICAgLmhhcy10ZXh0LSN7JGFsaWdubWVudH0tZnVsbGhkXG4gICAgICB0ZXh0LWFsaWduOiAjeyR0ZXh0LWFsaWdufSAhaW1wb3J0YW50XG5cbi5pcy1jYXBpdGFsaXplZFxuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50XG5cbi5pcy1sb3dlcmNhc2VcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50XG5cbi5pcy11cHBlcmNhc2VcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50XG5cbi5pcy1pdGFsaWNcbiAgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnRcblxuQGVhY2ggJG5hbWUsICRwYWlyIGluICRjb2xvcnNcbiAgJGNvbG9yOiBudGgoJHBhaXIsIDEpXG4gIC5oYXMtdGV4dC0jeyRuYW1lfVxuICAgIGNvbG9yOiAkY29sb3IgIWltcG9ydGFudFxuICBhLmhhcy10ZXh0LSN7JG5hbWV9XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzXG4gICAgICBjb2xvcjogYnVsbWFEYXJrZW4oJGNvbG9yLCAxMCUpICFpbXBvcnRhbnRcbiAgLmhhcy1iYWNrZ3JvdW5kLSN7JG5hbWV9XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnRcblxuQGVhY2ggJG5hbWUsICRzaGFkZSBpbiAkc2hhZGVzXG4gIC5oYXMtdGV4dC0jeyRuYW1lfVxuICAgIGNvbG9yOiAkc2hhZGUgIWltcG9ydGFudFxuICAuaGFzLWJhY2tncm91bmQtI3skbmFtZX1cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hhZGUgIWltcG9ydGFudFxuXG4uaGFzLXRleHQtd2VpZ2h0LWxpZ2h0XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LWxpZ2h0ICFpbXBvcnRhbnRcbi5oYXMtdGV4dC13ZWlnaHQtbm9ybWFsXG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LW5vcm1hbCAhaW1wb3J0YW50XG4uaGFzLXRleHQtd2VpZ2h0LW1lZGl1bVxuICBmb250LXdlaWdodDogJHdlaWdodC1tZWRpdW0gIWltcG9ydGFudFxuLmhhcy10ZXh0LXdlaWdodC1zZW1pYm9sZFxuICBmb250LXdlaWdodDogJHdlaWdodC1zZW1pYm9sZCAhaW1wb3J0YW50XG4uaGFzLXRleHQtd2VpZ2h0LWJvbGRcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQtYm9sZCAhaW1wb3J0YW50XG5cbi5pcy1mYW1pbHktcHJpbWFyeVxuICBmb250LWZhbWlseTogJGZhbWlseS1wcmltYXJ5ICFpbXBvcnRhbnRcblxuLmlzLWZhbWlseS1zZWNvbmRhcnlcbiAgZm9udC1mYW1pbHk6ICRmYW1pbHktc2Vjb25kYXJ5ICFpbXBvcnRhbnRcblxuLmlzLWZhbWlseS1zYW5zLXNlcmlmXG4gIGZvbnQtZmFtaWx5OiAkZmFtaWx5LXNhbnMtc2VyaWYgIWltcG9ydGFudFxuXG4uaXMtZmFtaWx5LW1vbm9zcGFjZVxuICBmb250LWZhbWlseTogJGZhbWlseS1tb25vc3BhY2UgIWltcG9ydGFudFxuXG4uaXMtZmFtaWx5LWNvZGVcbiAgZm9udC1mYW1pbHk6ICRmYW1pbHktY29kZSAhaW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuJGRpc3BsYXlzOiAnYmxvY2snICdmbGV4JyAnaW5saW5lJyAnaW5saW5lLWJsb2NrJyAnaW5saW5lLWZsZXgnXG5cbkBlYWNoICRkaXNwbGF5IGluICRkaXNwbGF5c1xuICAuaXMtI3skZGlzcGxheX1cbiAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICttb2JpbGVcbiAgICAuaXMtI3skZGlzcGxheX0tbW9iaWxlXG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICt0YWJsZXRcbiAgICAuaXMtI3skZGlzcGxheX0tdGFibGV0XG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICt0YWJsZXQtb25seVxuICAgIC5pcy0jeyRkaXNwbGF5fS10YWJsZXQtb25seVxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArdG91Y2hcbiAgICAuaXMtI3skZGlzcGxheX0tdG91Y2hcbiAgICAgIGRpc3BsYXk6ICN7JGRpc3BsYXl9ICFpbXBvcnRhbnRcbiAgK2Rlc2t0b3BcbiAgICAuaXMtI3skZGlzcGxheX0tZGVza3RvcFxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArZGVza3RvcC1vbmx5XG4gICAgLmlzLSN7JGRpc3BsYXl9LWRlc2t0b3Atb25seVxuICAgICAgZGlzcGxheTogI3skZGlzcGxheX0gIWltcG9ydGFudFxuICArd2lkZXNjcmVlblxuICAgIC5pcy0jeyRkaXNwbGF5fS13aWRlc2NyZWVuXG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICt3aWRlc2NyZWVuLW9ubHlcbiAgICAuaXMtI3skZGlzcGxheX0td2lkZXNjcmVlbi1vbmx5XG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG4gICtmdWxsaGRcbiAgICAuaXMtI3skZGlzcGxheX0tZnVsbGhkXG4gICAgICBkaXNwbGF5OiAjeyRkaXNwbGF5fSAhaW1wb3J0YW50XG5cbi5pcy1oaWRkZW5cbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbi5pcy1zci1vbmx5XG4gIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCkgIWltcG9ydGFudFxuICBoZWlnaHQ6IDAuMDFlbSAhaW1wb3J0YW50XG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudFxuICBwYWRkaW5nOiAwICFpbXBvcnRhbnRcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnRcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50XG4gIHdpZHRoOiAwLjAxZW0gIWltcG9ydGFudFxuXG4rbW9iaWxlXG4gIC5pcy1oaWRkZW4tbW9iaWxlXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbit0YWJsZXRcbiAgLmlzLWhpZGRlbi10YWJsZXRcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK3RhYmxldC1vbmx5XG4gIC5pcy1oaWRkZW4tdGFibGV0LW9ubHlcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK3RvdWNoXG4gIC5pcy1oaWRkZW4tdG91Y2hcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK2Rlc2t0b3BcbiAgLmlzLWhpZGRlbi1kZXNrdG9wXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbitkZXNrdG9wLW9ubHlcbiAgLmlzLWhpZGRlbi1kZXNrdG9wLW9ubHlcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK3dpZGVzY3JlZW5cbiAgLmlzLWhpZGRlbi13aWRlc2NyZWVuXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50XG5cbit3aWRlc2NyZWVuLW9ubHlcbiAgLmlzLWhpZGRlbi13aWRlc2NyZWVuLW9ubHlcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnRcblxuK2Z1bGxoZFxuICAuaXMtaGlkZGVuLWZ1bGxoZFxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudFxuXG4uaXMtaW52aXNpYmxlXG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbittb2JpbGVcbiAgLmlzLWludmlzaWJsZS1tb2JpbGVcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rdGFibGV0XG4gIC5pcy1pbnZpc2libGUtdGFibGV0XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK3RhYmxldC1vbmx5XG4gIC5pcy1pbnZpc2libGUtdGFibGV0LW9ubHlcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rdG91Y2hcbiAgLmlzLWludmlzaWJsZS10b3VjaFxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbitkZXNrdG9wXG4gIC5pcy1pbnZpc2libGUtZGVza3RvcFxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbitkZXNrdG9wLW9ubHlcbiAgLmlzLWludmlzaWJsZS1kZXNrdG9wLW9ubHlcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rd2lkZXNjcmVlblxuICAuaXMtaW52aXNpYmxlLXdpZGVzY3JlZW5cbiAgICB2aXNpYmlsaXR5OiBoaWRkZW4gIWltcG9ydGFudFxuXG4rd2lkZXNjcmVlbi1vbmx5XG4gIC5pcy1pbnZpc2libGUtd2lkZXNjcmVlbi1vbmx5XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnRcblxuK2Z1bGxoZFxuICAuaXMtaW52aXNpYmxlLWZ1bGxoZFxuICAgIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50XG5cbi8vIE90aGVyXG5cbi5pcy1tYXJnaW5sZXNzXG4gIG1hcmdpbjogMCAhaW1wb3J0YW50XG5cbi5pcy1wYWRkaW5nbGVzc1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnRcblxuLmlzLXJhZGl1c2xlc3NcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50XG5cbi5pcy1zaGFkb3dsZXNzXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudFxuXG4uaXMtdW5zZWxlY3RhYmxlXG4gIEBleHRlbmQgJXVuc2VsZWN0YWJsZVxuXG4uaXMtcmVsYXRpdmVcbiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnRcbiIsIiRjb2x1bW4tZ2FwOiAwLjc1cmVtICFkZWZhdWx0XG5cbi5jb2x1bW5cbiAgZGlzcGxheTogYmxvY2tcbiAgZmxleC1iYXNpczogMFxuICBmbGV4LWdyb3c6IDFcbiAgZmxleC1zaHJpbms6IDFcbiAgcGFkZGluZzogJGNvbHVtbi1nYXBcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1uYXJyb3dcbiAgICBmbGV4OiBub25lXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtZnVsbFxuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogMTAwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLXRocmVlLXF1YXJ0ZXJzXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiA3NSVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy10d28tdGhpcmRzXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiA2Ni42NjY2JVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLWhhbGZcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDUwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9uZS10aGlyZFxuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogMzMuMzMzMyVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vbmUtcXVhcnRlclxuICAgIGZsZXg6IG5vbmVcbiAgICB3aWR0aDogMjUlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb25lLWZpZnRoXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiAyMCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy10d28tZmlmdGhzXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiA0MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy10aHJlZS1maWZ0aHNcbiAgICBmbGV4OiBub25lXG4gICAgd2lkdGg6IDYwJVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLWZvdXItZmlmdGhzXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiA4MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnNcbiAgICBtYXJnaW4tbGVmdDogNzUlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LXR3by10aGlyZHNcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtaGFsZlxuICAgIG1hcmdpbi1sZWZ0OiA1MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtb25lLXRoaXJkXG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LW9uZS1xdWFydGVyXG4gICAgbWFyZ2luLWxlZnQ6IDI1JVxuICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLW9mZnNldC1vbmUtZmlmdGhcbiAgICBtYXJnaW4tbGVmdDogMjAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LXR3by1maWZ0aHNcbiAgICBtYXJnaW4tbGVmdDogNDAlXG4gIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRoc1xuICAgIG1hcmdpbi1sZWZ0OiA2MCVcbiAgLmNvbHVtbnMuaXMtbW9iaWxlID4gJi5pcy1vZmZzZXQtZm91ci1maWZ0aHNcbiAgICBtYXJnaW4tbGVmdDogODAlXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTJcbiAgICAuY29sdW1ucy5pcy1tb2JpbGUgPiAmLmlzLSN7JGl9XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICAgIC5jb2x1bW5zLmlzLW1vYmlsZSA+ICYuaXMtb2Zmc2V0LSN7JGl9XG4gICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICArbW9iaWxlXG4gICAgJi5pcy1uYXJyb3ctbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgJi5pcy1mdWxsLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDEwMCVcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcy1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2Ni42NjY2JVxuICAgICYuaXMtaGFsZi1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA1MCVcbiAgICAmLmlzLW9uZS10aGlyZC1tb2JpbGVcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAzMy4zMzMzJVxuICAgICYuaXMtb25lLXF1YXJ0ZXItbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjUlXG4gICAgJi5pcy1vbmUtZmlmdGgtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjAlXG4gICAgJi5pcy10d28tZmlmdGhzLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDQwJVxuICAgICYuaXMtdGhyZWUtZmlmdGhzLW1vYmlsZVxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDYwJVxuICAgICYuaXMtZm91ci1maWZ0aHMtbW9iaWxlXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogODAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogNzUlXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy1tb2JpbGVcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAgICYuaXMtb2Zmc2V0LWhhbGYtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogNTAlXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogMjUlXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDIwJVxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtbW9iaWxlXG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDYwJVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLW1vYmlsZVxuICAgICAgbWFyZ2luLWxlZnQ6IDgwJVxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTJcbiAgICAgICYuaXMtI3skaX0tbW9iaWxlXG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LW1vYmlsZVxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICArdGFibGV0XG4gICAgJi5pcy1uYXJyb3csXG4gICAgJi5pcy1uYXJyb3ctdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgJi5pcy1mdWxsLFxuICAgICYuaXMtZnVsbC10YWJsZXRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAxMDAlXG4gICAgJi5pcy10aHJlZS1xdWFydGVycyxcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcyxcbiAgICAmLmlzLXR3by10aGlyZHMtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjYuNjY2NiVcbiAgICAmLmlzLWhhbGYsXG4gICAgJi5pcy1oYWxmLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDUwJVxuICAgICYuaXMtb25lLXRoaXJkLFxuICAgICYuaXMtb25lLXRoaXJkLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDMzLjMzMzMlXG4gICAgJi5pcy1vbmUtcXVhcnRlcixcbiAgICAmLmlzLW9uZS1xdWFydGVyLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDI1JVxuICAgICYuaXMtb25lLWZpZnRoLFxuICAgICYuaXMtb25lLWZpZnRoLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDIwJVxuICAgICYuaXMtdHdvLWZpZnRocyxcbiAgICAmLmlzLXR3by1maWZ0aHMtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNDAlXG4gICAgJi5pcy10aHJlZS1maWZ0aHMsXG4gICAgJi5pcy10aHJlZS1maWZ0aHMtdGFibGV0XG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjAlXG4gICAgJi5pcy1mb3VyLWZpZnRocyxcbiAgICAmLmlzLWZvdXItZmlmdGhzLXRhYmxldFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDgwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLFxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDc1JVxuICAgICYuaXMtb2Zmc2V0LXR3by10aGlyZHMsXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAgICYuaXMtb2Zmc2V0LWhhbGYsXG4gICAgJi5pcy1vZmZzZXQtaGFsZi10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCVcbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQsXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLXRhYmxldFxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXIsXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogMjUlXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLFxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aC10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCVcbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLFxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtdGFibGV0XG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLFxuICAgICYuaXMtb2Zmc2V0LXRocmVlLWZpZnRocy10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiA2MCVcbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocyxcbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocy10YWJsZXRcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCVcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyXG4gICAgICAmLmlzLSN7JGl9LFxuICAgICAgJi5pcy0jeyRpfS10YWJsZXRcbiAgICAgICAgZmxleDogbm9uZVxuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICAgICAgJi5pcy1vZmZzZXQtI3skaX0sXG4gICAgICAmLmlzLW9mZnNldC0jeyRpfS10YWJsZXRcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgK3RvdWNoXG4gICAgJi5pcy1uYXJyb3ctdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAmLmlzLWZ1bGwtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAxMDAlXG4gICAgJi5pcy10aHJlZS1xdWFydGVycy10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcy10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDY2LjY2NjYlXG4gICAgJi5pcy1oYWxmLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNTAlXG4gICAgJi5pcy1vbmUtdGhpcmQtdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAzMy4zMzMzJVxuICAgICYuaXMtb25lLXF1YXJ0ZXItdG91Y2hcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyNSVcbiAgICAmLmlzLW9uZS1maWZ0aC10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDIwJVxuICAgICYuaXMtdHdvLWZpZnRocy10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDQwJVxuICAgICYuaXMtdGhyZWUtZmlmdGhzLXRvdWNoXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjAlXG4gICAgJi5pcy1mb3VyLWZpZnRocy10b3VjaFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDgwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogNzUlXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjYlXG4gICAgJi5pcy1vZmZzZXQtaGFsZi10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDUwJVxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZC10b3VjaFxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSVcbiAgICAmLmlzLW9mZnNldC1vbmUtZmlmdGgtdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCVcbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLXRvdWNoXG4gICAgICBtYXJnaW4tbGVmdDogNjAlXG4gICAgJi5pcy1vZmZzZXQtZm91ci1maWZ0aHMtdG91Y2hcbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCVcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyXG4gICAgICAmLmlzLSN7JGl9LXRvdWNoXG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LXRvdWNoXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCRpIC8gMTIpXG4gICtkZXNrdG9wXG4gICAgJi5pcy1uYXJyb3ctZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICYuaXMtZnVsbC1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMTAwJVxuICAgICYuaXMtdGhyZWUtcXVhcnRlcnMtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcy1kZXNrdG9wXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNjYuNjY2NiVcbiAgICAmLmlzLWhhbGYtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDUwJVxuICAgICYuaXMtb25lLXRoaXJkLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAzMy4zMzMzJVxuICAgICYuaXMtb25lLXF1YXJ0ZXItZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDI1JVxuICAgICYuaXMtb25lLWZpZnRoLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAyMCVcbiAgICAmLmlzLXR3by1maWZ0aHMtZGVza3RvcFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDQwJVxuICAgICYuaXMtdGhyZWUtZmlmdGhzLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2MCVcbiAgICAmLmlzLWZvdXItZmlmdGhzLWRlc2t0b3BcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA4MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1xdWFydGVycy1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogNzUlXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NiVcbiAgICAmLmlzLW9mZnNldC1oYWxmLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCVcbiAgICAmLmlzLW9mZnNldC1vbmUtdGhpcmQtZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItZGVza3RvcFxuICAgICAgbWFyZ2luLWxlZnQ6IDI1JVxuICAgICYuaXMtb2Zmc2V0LW9uZS1maWZ0aC1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogMjAlXG4gICAgJi5pcy1vZmZzZXQtdHdvLWZpZnRocy1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLWRlc2t0b3BcbiAgICAgIG1hcmdpbi1sZWZ0OiA2MCVcbiAgICAmLmlzLW9mZnNldC1mb3VyLWZpZnRocy1kZXNrdG9wXG4gICAgICBtYXJnaW4tbGVmdDogODAlXG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAxMlxuICAgICAgJi5pcy0jeyRpfS1kZXNrdG9wXG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LWRlc2t0b3BcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgK3dpZGVzY3JlZW5cbiAgICAmLmlzLW5hcnJvdy13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgJi5pcy1mdWxsLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAxMDAlXG4gICAgJi5pcy10aHJlZS1xdWFydGVycy13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNzUlXG4gICAgJi5pcy10d28tdGhpcmRzLXdpZGVzY3JlZW5cbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2Ni42NjY2JVxuICAgICYuaXMtaGFsZi13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNTAlXG4gICAgJi5pcy1vbmUtdGhpcmQtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDMzLjMzMzMlXG4gICAgJi5pcy1vbmUtcXVhcnRlci13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjUlXG4gICAgJi5pcy1vbmUtZmlmdGgtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDIwJVxuICAgICYuaXMtdHdvLWZpZnRocy13aWRlc2NyZWVuXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogNDAlXG4gICAgJi5pcy10aHJlZS1maWZ0aHMtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDYwJVxuICAgICYuaXMtZm91ci1maWZ0aHMtd2lkZXNjcmVlblxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDgwJVxuICAgICYuaXMtb2Zmc2V0LXRocmVlLXF1YXJ0ZXJzLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSVcbiAgICAmLmlzLW9mZnNldC10d28tdGhpcmRzLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAgICYuaXMtb2Zmc2V0LWhhbGYtd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDUwJVxuICAgICYuaXMtb2Zmc2V0LW9uZS10aGlyZC13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogMzMuMzMzMyVcbiAgICAmLmlzLW9mZnNldC1vbmUtcXVhcnRlci13aWRlc2NyZWVuXG4gICAgICBtYXJnaW4tbGVmdDogMjUlXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiAyMCVcbiAgICAmLmlzLW9mZnNldC10d28tZmlmdGhzLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiA0MCVcbiAgICAmLmlzLW9mZnNldC10aHJlZS1maWZ0aHMtd2lkZXNjcmVlblxuICAgICAgbWFyZ2luLWxlZnQ6IDYwJVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLXdpZGVzY3JlZW5cbiAgICAgIG1hcmdpbi1sZWZ0OiA4MCVcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIDEyXG4gICAgICAmLmlzLSN7JGl9LXdpZGVzY3JlZW5cbiAgICAgICAgZmxleDogbm9uZVxuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICAgICAgJi5pcy1vZmZzZXQtI3skaX0td2lkZXNjcmVlblxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuICArZnVsbGhkXG4gICAgJi5pcy1uYXJyb3ctZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgJi5pcy1mdWxsLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDEwMCVcbiAgICAmLmlzLXRocmVlLXF1YXJ0ZXJzLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDc1JVxuICAgICYuaXMtdHdvLXRoaXJkcy1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA2Ni42NjY2JVxuICAgICYuaXMtaGFsZi1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiA1MCVcbiAgICAmLmlzLW9uZS10aGlyZC1mdWxsaGRcbiAgICAgIGZsZXg6IG5vbmVcbiAgICAgIHdpZHRoOiAzMy4zMzMzJVxuICAgICYuaXMtb25lLXF1YXJ0ZXItZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjUlXG4gICAgJi5pcy1vbmUtZmlmdGgtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogMjAlXG4gICAgJi5pcy10d28tZmlmdGhzLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDQwJVxuICAgICYuaXMtdGhyZWUtZmlmdGhzLWZ1bGxoZFxuICAgICAgZmxleDogbm9uZVxuICAgICAgd2lkdGg6IDYwJVxuICAgICYuaXMtZm91ci1maWZ0aHMtZnVsbGhkXG4gICAgICBmbGV4OiBub25lXG4gICAgICB3aWR0aDogODAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtcXVhcnRlcnMtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogNzUlXG4gICAgJi5pcy1vZmZzZXQtdHdvLXRoaXJkcy1mdWxsaGRcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2JVxuICAgICYuaXMtb2Zmc2V0LWhhbGYtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogNTAlXG4gICAgJi5pcy1vZmZzZXQtb25lLXRoaXJkLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMlXG4gICAgJi5pcy1vZmZzZXQtb25lLXF1YXJ0ZXItZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogMjUlXG4gICAgJi5pcy1vZmZzZXQtb25lLWZpZnRoLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDIwJVxuICAgICYuaXMtb2Zmc2V0LXR3by1maWZ0aHMtZnVsbGhkXG4gICAgICBtYXJnaW4tbGVmdDogNDAlXG4gICAgJi5pcy1vZmZzZXQtdGhyZWUtZmlmdGhzLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDYwJVxuICAgICYuaXMtb2Zmc2V0LWZvdXItZmlmdGhzLWZ1bGxoZFxuICAgICAgbWFyZ2luLWxlZnQ6IDgwJVxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTJcbiAgICAgICYuaXMtI3skaX0tZnVsbGhkXG4gICAgICAgIGZsZXg6IG5vbmVcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGkgLyAxMilcbiAgICAgICYuaXMtb2Zmc2V0LSN7JGl9LWZ1bGxoZFxuICAgICAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgkaSAvIDEyKVxuXG4uY29sdW1uc1xuICBtYXJnaW4tbGVmdDogKC0kY29sdW1uLWdhcClcbiAgbWFyZ2luLXJpZ2h0OiAoLSRjb2x1bW4tZ2FwKVxuICBtYXJnaW4tdG9wOiAoLSRjb2x1bW4tZ2FwKVxuICAmOmxhc3QtY2hpbGRcbiAgICBtYXJnaW4tYm90dG9tOiAoLSRjb2x1bW4tZ2FwKVxuICAmOm5vdCg6bGFzdC1jaGlsZClcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKDEuNXJlbSAtICN7JGNvbHVtbi1nYXB9KVxuICAvLyBNb2RpZmllcnNcbiAgJi5pcy1jZW50ZXJlZFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyXG4gICYuaXMtZ2FwbGVzc1xuICAgIG1hcmdpbi1sZWZ0OiAwXG4gICAgbWFyZ2luLXJpZ2h0OiAwXG4gICAgbWFyZ2luLXRvcDogMFxuICAgICYgPiAuY29sdW1uXG4gICAgICBtYXJnaW46IDBcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudFxuICAgICY6bm90KDpsYXN0LWNoaWxkKVxuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtXG4gICAgJjpsYXN0LWNoaWxkXG4gICAgICBtYXJnaW4tYm90dG9tOiAwXG4gICYuaXMtbW9iaWxlXG4gICAgZGlzcGxheTogZmxleFxuICAmLmlzLW11bHRpbGluZVxuICAgIGZsZXgtd3JhcDogd3JhcFxuICAmLmlzLXZjZW50ZXJlZFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXJcbiAgLy8gUmVzcG9uc2l2ZW5lc3NcbiAgK3RhYmxldFxuICAgICY6bm90KC5pcy1kZXNrdG9wKVxuICAgICAgZGlzcGxheTogZmxleFxuICArZGVza3RvcFxuICAgIC8vIE1vZGlmaWVyc1xuICAgICYuaXMtZGVza3RvcFxuICAgICAgZGlzcGxheTogZmxleFxuXG5AaWYgJHZhcmlhYmxlLWNvbHVtbnNcbiAgLmNvbHVtbnMuaXMtdmFyaWFibGVcbiAgICAtLWNvbHVtbkdhcDogMC43NXJlbVxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogdmFyKC0tY29sdW1uR2FwKSlcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGMoLTEgKiB2YXIoLS1jb2x1bW5HYXApKVxuICAgIC5jb2x1bW5cbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tY29sdW1uR2FwKVxuICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tY29sdW1uR2FwKVxuICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggOFxuICAgICAgJi5pcy0jeyRpfVxuICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArbW9iaWxlXG4gICAgICAgICYuaXMtI3skaX0tbW9iaWxlXG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK3RhYmxldFxuICAgICAgICAmLmlzLSN7JGl9LXRhYmxldFxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICt0YWJsZXQtb25seVxuICAgICAgICAmLmlzLSN7JGl9LXRhYmxldC1vbmx5XG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK3RvdWNoXG4gICAgICAgICYuaXMtI3skaX0tdG91Y2hcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArZGVza3RvcFxuICAgICAgICAmLmlzLSN7JGl9LWRlc2t0b3BcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4gICAgICArZGVza3RvcC1vbmx5XG4gICAgICAgICYuaXMtI3skaX0tZGVza3RvcC1vbmx5XG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK3dpZGVzY3JlZW5cbiAgICAgICAgJi5pcy0jeyRpfS13aWRlc2NyZWVuXG4gICAgICAgICAgLS1jb2x1bW5HYXA6ICN7JGkgKiAwLjI1cmVtfVxuICAgICAgK3dpZGVzY3JlZW4tb25seVxuICAgICAgICAmLmlzLSN7JGl9LXdpZGVzY3JlZW4tb25seVxuICAgICAgICAgIC0tY29sdW1uR2FwOiAjeyRpICogMC4yNXJlbX1cbiAgICAgICtmdWxsaGRcbiAgICAgICAgJi5pcy0jeyRpfS1mdWxsaGRcbiAgICAgICAgICAtLWNvbHVtbkdhcDogI3skaSAqIDAuMjVyZW19XG4iLCIkdGlsZS1zcGFjaW5nOiAwLjc1cmVtICFkZWZhdWx0XG5cbi50aWxlXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoXG4gIGRpc3BsYXk6IGJsb2NrXG4gIGZsZXgtYmFzaXM6IDBcbiAgZmxleC1ncm93OiAxXG4gIGZsZXgtc2hyaW5rOiAxXG4gIG1pbi1oZWlnaHQ6IG1pbi1jb250ZW50XG4gIC8vIE1vZGlmaWVyc1xuICAmLmlzLWFuY2VzdG9yXG4gICAgbWFyZ2luLWxlZnQ6ICR0aWxlLXNwYWNpbmcgKiAtMVxuICAgIG1hcmdpbi1yaWdodDogJHRpbGUtc3BhY2luZyAqIC0xXG4gICAgbWFyZ2luLXRvcDogJHRpbGUtc3BhY2luZyAqIC0xXG4gICAgJjpsYXN0LWNoaWxkXG4gICAgICBtYXJnaW4tYm90dG9tOiAkdGlsZS1zcGFjaW5nICogLTFcbiAgICAmOm5vdCg6bGFzdC1jaGlsZClcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0aWxlLXNwYWNpbmdcbiAgJi5pcy1jaGlsZFxuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50XG4gICYuaXMtcGFyZW50XG4gICAgcGFkZGluZzogJHRpbGUtc3BhY2luZ1xuICAmLmlzLXZlcnRpY2FsXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtblxuICAgICYgPiAudGlsZS5pcy1jaGlsZDpub3QoOmxhc3QtY2hpbGQpXG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW0gIWltcG9ydGFudFxuICAvLyBSZXNwb25zaXZlbmVzc1xuICArdGFibGV0XG4gICAgJjpub3QoLmlzLWNoaWxkKVxuICAgICAgZGlzcGxheTogZmxleFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTJcbiAgICAgICYuaXMtI3skaX1cbiAgICAgICAgZmxleDogbm9uZVxuICAgICAgICB3aWR0aDogKCRpIC8gMTIpICogMTAwJVxuIiwiJG5hdmJhci1iYWNrZ3JvdW5kLWNvbG9yOiAkc2NoZW1lLW1haW4gIWRlZmF1bHRcbiRuYXZiYXItYm94LXNoYWRvdy1zaXplOiAwIDJweCAwIDAgIWRlZmF1bHRcbiRuYXZiYXItYm94LXNoYWRvdy1jb2xvcjogJGJhY2tncm91bmQgIWRlZmF1bHRcbiRuYXZiYXItaGVpZ2h0OiAzLjI1cmVtICFkZWZhdWx0XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6IDFyZW0gIWRlZmF1bHRcbiRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAycmVtICFkZWZhdWx0XG4kbmF2YmFyLXo6IDMwICFkZWZhdWx0XG4kbmF2YmFyLWZpeGVkLXo6IDMwICFkZWZhdWx0XG5cbiRuYXZiYXItaXRlbS1jb2xvcjogJHRleHQgIWRlZmF1bHRcbiRuYXZiYXItaXRlbS1ob3Zlci1jb2xvcjogJGxpbmsgIWRlZmF1bHRcbiRuYXZiYXItaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAkc2NoZW1lLW1haW4tYmlzICFkZWZhdWx0XG4kbmF2YmFyLWl0ZW0tYWN0aXZlLWNvbG9yOiAkc2NoZW1lLWludmVydCAhZGVmYXVsdFxuJG5hdmJhci1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdFxuJG5hdmJhci1pdGVtLWltZy1tYXgtaGVpZ2h0OiAxLjc1cmVtICFkZWZhdWx0XG5cbiRuYXZiYXItYnVyZ2VyLWNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3IgIWRlZmF1bHRcblxuJG5hdmJhci10YWItaG92ZXItYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHRcbiRuYXZiYXItdGFiLWhvdmVyLWJvcmRlci1ib3R0b20tY29sb3I6ICRsaW5rICFkZWZhdWx0XG4kbmF2YmFyLXRhYi1hY3RpdmUtY29sb3I6ICRsaW5rICFkZWZhdWx0XG4kbmF2YmFyLXRhYi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHRcbiRuYXZiYXItdGFiLWFjdGl2ZS1ib3JkZXItYm90dG9tLWNvbG9yOiAkbGluayAhZGVmYXVsdFxuJG5hdmJhci10YWItYWN0aXZlLWJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkICFkZWZhdWx0XG4kbmF2YmFyLXRhYi1hY3RpdmUtYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4ICFkZWZhdWx0XG5cbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvcjogJHNjaGVtZS1tYWluICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLWJvcmRlci10b3A6IDJweCBzb2xpZCAkYm9yZGVyICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLW9mZnNldDogLTRweCAhZGVmYXVsdFxuJG5hdmJhci1kcm9wZG93bi1hcnJvdzogJGxpbmsgIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24tcmFkaXVzOiAkcmFkaXVzLWxhcmdlICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLXo6IDIwICFkZWZhdWx0XG5cbiRuYXZiYXItZHJvcGRvd24tYm94ZWQtcmFkaXVzOiAkcmFkaXVzLWxhcmdlICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLWJveGVkLXNoYWRvdzogMCA4cHggOHB4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKSwgMCAwIDAgMXB4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKSAhZGVmYXVsdFxuXG4kbmF2YmFyLWRyb3Bkb3duLWl0ZW0taG92ZXItY29sb3I6ICRzY2hlbWUtaW52ZXJ0ICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQgIWRlZmF1bHRcbiRuYXZiYXItZHJvcGRvd24taXRlbS1hY3RpdmUtY29sb3I6ICRsaW5rICFkZWZhdWx0XG4kbmF2YmFyLWRyb3Bkb3duLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kICFkZWZhdWx0XG5cbiRuYXZiYXItZGl2aWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZCAhZGVmYXVsdFxuJG5hdmJhci1kaXZpZGVyLWhlaWdodDogMnB4ICFkZWZhdWx0XG5cbiRuYXZiYXItYm90dG9tLWJveC1zaGFkb3ctc2l6ZTogMCAtMnB4IDAgMCAhZGVmYXVsdFxuXG4kbmF2YmFyLWJyZWFrcG9pbnQ6ICRkZXNrdG9wICFkZWZhdWx0XG5cbj1uYXZiYXItZml4ZWRcbiAgbGVmdDogMFxuICBwb3NpdGlvbjogZml4ZWRcbiAgcmlnaHQ6IDBcbiAgei1pbmRleDogJG5hdmJhci1maXhlZC16XG5cbi5uYXZiYXJcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1iYWNrZ3JvdW5kLWNvbG9yXG4gIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0XG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxuICB6LWluZGV4OiAkbmF2YmFyLXpcbiAgQGVhY2ggJG5hbWUsICRwYWlyIGluICRjb2xvcnNcbiAgICAkY29sb3I6IG50aCgkcGFpciwgMSlcbiAgICAkY29sb3ItaW52ZXJ0OiBudGgoJHBhaXIsIDIpXG4gICAgJi5pcy0jeyRuYW1lfVxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yXG4gICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgLm5hdmJhci1icmFuZFxuICAgICAgICAmID4gLm5hdmJhci1pdGVtLFxuICAgICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgICAmID4gYS5uYXZiYXItaXRlbSxcbiAgICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICYuaXMtYWN0aXZlXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBidWxtYURhcmtlbigkY29sb3IsIDUlKVxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICAgJjo6YWZ0ZXJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgLm5hdmJhci1idXJnZXJcbiAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICtmcm9tKCRuYXZiYXItYnJlYWtwb2ludClcbiAgICAgICAgLm5hdmJhci1zdGFydCxcbiAgICAgICAgLm5hdmJhci1lbmRcbiAgICAgICAgICAmID4gLm5hdmJhci1pdGVtLFxuICAgICAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgICAmID4gYS5uYXZiYXItaXRlbSxcbiAgICAgICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5pcy1hY3RpdmVcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYnVsbWFEYXJrZW4oJGNvbG9yLCA1JSlcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgICAubmF2YmFyLWxpbmtcbiAgICAgICAgICAgICY6OmFmdGVyXG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWludmVydFxuICAgICAgICAubmF2YmFyLWl0ZW0uaGFzLWRyb3Bkb3duOmZvY3VzIC5uYXZiYXItbGluayxcbiAgICAgICAgLm5hdmJhci1pdGVtLmhhcy1kcm9wZG93bjpob3ZlciAubmF2YmFyLWxpbmssXG4gICAgICAgIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd24uaXMtYWN0aXZlIC5uYXZiYXItbGlua1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJ1bG1hRGFya2VuKCRjb2xvciwgNSUpXG4gICAgICAgICAgY29sb3I6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgLm5hdmJhci1kcm9wZG93blxuICAgICAgICAgIGEubmF2YmFyLWl0ZW1cbiAgICAgICAgICAgICYuaXMtYWN0aXZlXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvclxuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWludmVydFxuICAmID4gLmNvbnRhaW5lclxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoXG4gICAgZGlzcGxheTogZmxleFxuICAgIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0XG4gICAgd2lkdGg6IDEwMCVcbiAgJi5oYXMtc2hhZG93XG4gICAgYm94LXNoYWRvdzogJG5hdmJhci1ib3gtc2hhZG93LXNpemUgJG5hdmJhci1ib3gtc2hhZG93LWNvbG9yXG4gICYuaXMtZml4ZWQtYm90dG9tLFxuICAmLmlzLWZpeGVkLXRvcFxuICAgICtuYXZiYXItZml4ZWRcbiAgJi5pcy1maXhlZC1ib3R0b21cbiAgICBib3R0b206IDBcbiAgICAmLmhhcy1zaGFkb3dcbiAgICAgIGJveC1zaGFkb3c6ICRuYXZiYXItYm90dG9tLWJveC1zaGFkb3ctc2l6ZSAkbmF2YmFyLWJveC1zaGFkb3ctY29sb3JcbiAgJi5pcy1maXhlZC10b3BcbiAgICB0b3A6IDBcblxuaHRtbCxcbmJvZHlcbiAgJi5oYXMtbmF2YmFyLWZpeGVkLXRvcFxuICAgIHBhZGRpbmctdG9wOiAkbmF2YmFyLWhlaWdodFxuICAmLmhhcy1uYXZiYXItZml4ZWQtYm90dG9tXG4gICAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItaGVpZ2h0XG5cbi5uYXZiYXItYnJhbmQsXG4ubmF2YmFyLXRhYnNcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2hcbiAgZGlzcGxheTogZmxleFxuICBmbGV4LXNocmluazogMFxuICBtaW4taGVpZ2h0OiAkbmF2YmFyLWhlaWdodFxuXG4ubmF2YmFyLWJyYW5kXG4gIGEubmF2YmFyLWl0ZW1cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50XG5cbi5uYXZiYXItdGFic1xuICArb3ZlcmZsb3ctdG91Y2hcbiAgbWF4LXdpZHRoOiAxMDB2d1xuICBvdmVyZmxvdy14OiBhdXRvXG4gIG92ZXJmbG93LXk6IGhpZGRlblxuXG4ubmF2YmFyLWJ1cmdlclxuICBjb2xvcjogJG5hdmJhci1idXJnZXItY29sb3JcbiAgK2hhbWJ1cmdlcigkbmF2YmFyLWhlaWdodClcbiAgbWFyZ2luLWxlZnQ6IGF1dG9cblxuLm5hdmJhci1tZW51XG4gIGRpc3BsYXk6IG5vbmVcblxuLm5hdmJhci1pdGVtLFxuLm5hdmJhci1saW5rXG4gIGNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3JcbiAgZGlzcGxheTogYmxvY2tcbiAgbGluZS1oZWlnaHQ6IDEuNVxuICBwYWRkaW5nOiAwLjVyZW0gMC43NXJlbVxuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgLmljb25cbiAgICAmOm9ubHktY2hpbGRcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbVxuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4yNXJlbVxuXG5hLm5hdmJhci1pdGVtLFxuLm5hdmJhci1saW5rXG4gIGN1cnNvcjogcG9pbnRlclxuICAmOmZvY3VzLFxuICAmOmZvY3VzLXdpdGhpbixcbiAgJjpob3ZlcixcbiAgJi5pcy1hY3RpdmVcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvclxuICAgIGNvbG9yOiAkbmF2YmFyLWl0ZW0taG92ZXItY29sb3JcblxuLm5hdmJhci1pdGVtXG4gIGZsZXgtZ3JvdzogMFxuICBmbGV4LXNocmluazogMFxuICBpbWdcbiAgICBtYXgtaGVpZ2h0OiAkbmF2YmFyLWl0ZW0taW1nLW1heC1oZWlnaHRcbiAgJi5oYXMtZHJvcGRvd25cbiAgICBwYWRkaW5nOiAwXG4gICYuaXMtZXhwYW5kZWRcbiAgICBmbGV4LWdyb3c6IDFcbiAgICBmbGV4LXNocmluazogMVxuICAmLmlzLXRhYlxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudFxuICAgIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0XG4gICAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41cmVtIC0gMXB4KVxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci10YWItaG92ZXItYmFja2dyb3VuZC1jb2xvclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdmJhci10YWItaG92ZXItYm9yZGVyLWJvdHRvbS1jb2xvclxuICAgICYuaXMtYWN0aXZlXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLXRhYi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvclxuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdmJhci10YWItYWN0aXZlLWJvcmRlci1ib3R0b20tY29sb3JcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6ICRuYXZiYXItdGFiLWFjdGl2ZS1ib3JkZXItYm90dG9tLXN0eWxlXG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkbmF2YmFyLXRhYi1hY3RpdmUtYm9yZGVyLWJvdHRvbS13aWR0aFxuICAgICAgY29sb3I6ICRuYXZiYXItdGFiLWFjdGl2ZS1jb2xvclxuICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMC41cmVtIC0gI3skbmF2YmFyLXRhYi1hY3RpdmUtYm9yZGVyLWJvdHRvbS13aWR0aH0pXG5cbi5uYXZiYXItY29udGVudFxuICBmbGV4LWdyb3c6IDFcbiAgZmxleC1zaHJpbms6IDFcblxuLm5hdmJhci1saW5rOm5vdCguaXMtYXJyb3dsZXNzKVxuICBwYWRkaW5nLXJpZ2h0OiAyLjVlbVxuICAmOjphZnRlclxuICAgIEBleHRlbmQgJWFycm93XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWFycm93XG4gICAgbWFyZ2luLXRvcDogLTAuMzc1ZW1cbiAgICByaWdodDogMS4xMjVlbVxuXG4ubmF2YmFyLWRyb3Bkb3duXG4gIGZvbnQtc2l6ZTogMC44NzVyZW1cbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbVxuICBwYWRkaW5nLXRvcDogMC41cmVtXG4gIC5uYXZiYXItaXRlbVxuICAgIHBhZGRpbmctbGVmdDogMS41cmVtXG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtXG5cbi5uYXZiYXItZGl2aWRlclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRpdmlkZXItYmFja2dyb3VuZC1jb2xvclxuICBib3JkZXI6IG5vbmVcbiAgZGlzcGxheTogbm9uZVxuICBoZWlnaHQ6ICRuYXZiYXItZGl2aWRlci1oZWlnaHRcbiAgbWFyZ2luOiAwLjVyZW0gMFxuXG4rdW50aWwoJG5hdmJhci1icmVha3BvaW50KVxuICAubmF2YmFyID4gLmNvbnRhaW5lclxuICAgIGRpc3BsYXk6IGJsb2NrXG4gIC5uYXZiYXItYnJhbmQsXG4gIC5uYXZiYXItdGFic1xuICAgIC5uYXZiYXItaXRlbVxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAgICAgZGlzcGxheTogZmxleFxuICAubmF2YmFyLWxpbmtcbiAgICAmOjphZnRlclxuICAgICAgZGlzcGxheTogbm9uZVxuICAubmF2YmFyLW1lbnVcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWJhY2tncm91bmQtY29sb3JcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKVxuICAgIHBhZGRpbmc6IDAuNXJlbSAwXG4gICAgJi5pcy1hY3RpdmVcbiAgICAgIGRpc3BsYXk6IGJsb2NrXG4gIC8vIEZpeGVkIG5hdmJhclxuICAubmF2YmFyXG4gICAgJi5pcy1maXhlZC1ib3R0b20tdG91Y2gsXG4gICAgJi5pcy1maXhlZC10b3AtdG91Y2hcbiAgICAgICtuYXZiYXItZml4ZWRcbiAgICAmLmlzLWZpeGVkLWJvdHRvbS10b3VjaFxuICAgICAgYm90dG9tOiAwXG4gICAgICAmLmhhcy1zaGFkb3dcbiAgICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDNweCBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMSlcbiAgICAmLmlzLWZpeGVkLXRvcC10b3VjaFxuICAgICAgdG9wOiAwXG4gICAgJi5pcy1maXhlZC10b3AsXG4gICAgJi5pcy1maXhlZC10b3AtdG91Y2hcbiAgICAgIC5uYXZiYXItbWVudVxuICAgICAgICArb3ZlcmZsb3ctdG91Y2hcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtICN7JG5hdmJhci1oZWlnaHR9KVxuICAgICAgICBvdmVyZmxvdzogYXV0b1xuICBodG1sLFxuICBib2R5XG4gICAgJi5oYXMtbmF2YmFyLWZpeGVkLXRvcC10b3VjaFxuICAgICAgcGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0XG4gICAgJi5oYXMtbmF2YmFyLWZpeGVkLWJvdHRvbS10b3VjaFxuICAgICAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItaGVpZ2h0XG5cbitmcm9tKCRuYXZiYXItYnJlYWtwb2ludClcbiAgLm5hdmJhcixcbiAgLm5hdmJhci1tZW51LFxuICAubmF2YmFyLXN0YXJ0LFxuICAubmF2YmFyLWVuZFxuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoXG4gICAgZGlzcGxheTogZmxleFxuICAubmF2YmFyXG4gICAgbWluLWhlaWdodDogJG5hdmJhci1oZWlnaHRcbiAgICAmLmlzLXNwYWNlZFxuICAgICAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsXG4gICAgICAubmF2YmFyLXN0YXJ0LFxuICAgICAgLm5hdmJhci1lbmRcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAgICAgYS5uYXZiYXItaXRlbSxcbiAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzXG4gICAgJi5pcy10cmFuc3BhcmVudFxuICAgICAgYS5uYXZiYXItaXRlbSxcbiAgICAgIC5uYXZiYXItbGlua1xuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmLmlzLWFjdGl2ZVxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnRcbiAgICAgIC5uYXZiYXItaXRlbS5oYXMtZHJvcGRvd25cbiAgICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAgICYuaXMtaG92ZXJhYmxlOmZvY3VzLFxuICAgICAgICAmLmlzLWhvdmVyYWJsZTpmb2N1cy13aXRoaW4sXG4gICAgICAgICYuaXMtaG92ZXJhYmxlOmhvdmVyXG4gICAgICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50XG4gICAgICAubmF2YmFyLWRyb3Bkb3duXG4gICAgICAgIGEubmF2YmFyLWl0ZW1cbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6aG92ZXJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1pdGVtLWhvdmVyLWNvbG9yXG4gICAgICAgICAgJi5pcy1hY3RpdmVcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvclxuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1hY3RpdmUtY29sb3JcbiAgLm5hdmJhci1idXJnZXJcbiAgICBkaXNwbGF5OiBub25lXG4gIC5uYXZiYXItaXRlbSxcbiAgLm5hdmJhci1saW5rXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlclxuICAgIGRpc3BsYXk6IGZsZXhcbiAgLm5hdmJhci1pdGVtXG4gICAgJi5oYXMtZHJvcGRvd25cbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoXG4gICAgJi5oYXMtZHJvcGRvd24tdXBcbiAgICAgIC5uYXZiYXItbGluazo6YWZ0ZXJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKSB0cmFuc2xhdGUoMC4yNWVtLCAtMC4yNWVtKVxuICAgICAgLm5hdmJhci1kcm9wZG93blxuICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWJvcmRlci10b3BcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJG5hdmJhci1kcm9wZG93bi1yYWRpdXMgJG5hdmJhci1kcm9wZG93bi1yYWRpdXMgMCAwXG4gICAgICAgIGJvcmRlci10b3A6IG5vbmVcbiAgICAgICAgYm90dG9tOiAxMDAlXG4gICAgICAgIGJveC1zaGFkb3c6IDAgLThweCA4cHggYnVsbWFSZ2JhKCRzY2hlbWUtaW52ZXJ0LCAwLjEpXG4gICAgICAgIHRvcDogYXV0b1xuICAgICYuaXMtYWN0aXZlLFxuICAgICYuaXMtaG92ZXJhYmxlOmZvY3VzLFxuICAgICYuaXMtaG92ZXJhYmxlOmZvY3VzLXdpdGhpbixcbiAgICAmLmlzLWhvdmVyYWJsZTpob3ZlclxuICAgICAgLm5hdmJhci1kcm9wZG93blxuICAgICAgICBkaXNwbGF5OiBibG9ja1xuICAgICAgICAubmF2YmFyLmlzLXNwYWNlZCAmLFxuICAgICAgICAmLmlzLWJveGVkXG4gICAgICAgICAgb3BhY2l0eTogMVxuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApXG4gIC5uYXZiYXItbWVudVxuICAgIGZsZXgtZ3JvdzogMVxuICAgIGZsZXgtc2hyaW5rOiAwXG4gIC5uYXZiYXItc3RhcnRcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnRcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG9cbiAgLm5hdmJhci1lbmRcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG9cbiAgLm5hdmJhci1kcm9wZG93blxuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZC1jb2xvclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRuYXZiYXItZHJvcGRvd24tcmFkaXVzXG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRuYXZiYXItZHJvcGRvd24tcmFkaXVzXG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1ib3JkZXItdG9wXG4gICAgYm94LXNoYWRvdzogMCA4cHggOHB4IGJ1bG1hUmdiYSgkc2NoZW1lLWludmVydCwgMC4xKVxuICAgIGRpc3BsYXk6IG5vbmVcbiAgICBmb250LXNpemU6IDAuODc1cmVtXG4gICAgbGVmdDogMFxuICAgIG1pbi13aWR0aDogMTAwJVxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZVxuICAgIHRvcDogMTAwJVxuICAgIHotaW5kZXg6ICRuYXZiYXItZHJvcGRvd24telxuICAgIC5uYXZiYXItaXRlbVxuICAgICAgcGFkZGluZzogMC4zNzVyZW0gMXJlbVxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcFxuICAgIGEubmF2YmFyLWl0ZW1cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW1cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yXG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWl0ZW0taG92ZXItY29sb3JcbiAgICAgICYuaXMtYWN0aXZlXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZHJvcGRvd24taXRlbS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvclxuICAgICAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1pdGVtLWFjdGl2ZS1jb2xvclxuICAgIC5uYXZiYXIuaXMtc3BhY2VkICYsXG4gICAgJi5pcy1ib3hlZFxuICAgICAgYm9yZGVyLXJhZGl1czogJG5hdmJhci1kcm9wZG93bi1ib3hlZC1yYWRpdXNcbiAgICAgIGJvcmRlci10b3A6IG5vbmVcbiAgICAgIGJveC1zaGFkb3c6ICRuYXZiYXItZHJvcGRvd24tYm94ZWQtc2hhZG93XG4gICAgICBkaXNwbGF5OiBibG9ja1xuICAgICAgb3BhY2l0eTogMFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmVcbiAgICAgIHRvcDogY2FsYygxMDAlICsgKCN7JG5hdmJhci1kcm9wZG93bi1vZmZzZXR9KSlcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KVxuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHNwZWVkXG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm1cbiAgICAmLmlzLXJpZ2h0XG4gICAgICBsZWZ0OiBhdXRvXG4gICAgICByaWdodDogMFxuICAubmF2YmFyLWRpdmlkZXJcbiAgICBkaXNwbGF5OiBibG9ja1xuICAubmF2YmFyID4gLmNvbnRhaW5lcixcbiAgLmNvbnRhaW5lciA+IC5uYXZiYXJcbiAgICAubmF2YmFyLWJyYW5kXG4gICAgICBtYXJnaW4tbGVmdDogLS43NXJlbVxuICAgIC5uYXZiYXItbWVudVxuICAgICAgbWFyZ2luLXJpZ2h0OiAtLjc1cmVtXG4gIC8vIEZpeGVkIG5hdmJhclxuICAubmF2YmFyXG4gICAgJi5pcy1maXhlZC1ib3R0b20tZGVza3RvcCxcbiAgICAmLmlzLWZpeGVkLXRvcC1kZXNrdG9wXG4gICAgICArbmF2YmFyLWZpeGVkXG4gICAgJi5pcy1maXhlZC1ib3R0b20tZGVza3RvcFxuICAgICAgYm90dG9tOiAwXG4gICAgICAmLmhhcy1zaGFkb3dcbiAgICAgICAgYm94LXNoYWRvdzogMCAtMnB4IDNweCBidWxtYVJnYmEoJHNjaGVtZS1pbnZlcnQsIDAuMSlcbiAgICAmLmlzLWZpeGVkLXRvcC1kZXNrdG9wXG4gICAgICB0b3A6IDBcbiAgaHRtbCxcbiAgYm9keVxuICAgICYuaGFzLW5hdmJhci1maXhlZC10b3AtZGVza3RvcFxuICAgICAgcGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0XG4gICAgJi5oYXMtbmF2YmFyLWZpeGVkLWJvdHRvbS1kZXNrdG9wXG4gICAgICBwYWRkaW5nLWJvdHRvbTogJG5hdmJhci1oZWlnaHRcbiAgICAmLmhhcy1zcGFjZWQtbmF2YmFyLWZpeGVkLXRvcFxuICAgICAgcGFkZGluZy10b3A6ICRuYXZiYXItaGVpZ2h0ICsgKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAqIDIpXG4gICAgJi5oYXMtc3BhY2VkLW5hdmJhci1maXhlZC1ib3R0b21cbiAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLWhlaWdodCArICgkbmF2YmFyLXBhZGRpbmctdmVydGljYWwgKiAyKVxuICAvLyBIb3Zlci9BY3RpdmUgc3RhdGVzXG4gIGEubmF2YmFyLWl0ZW0sXG4gIC5uYXZiYXItbGlua1xuICAgICYuaXMtYWN0aXZlXG4gICAgICBjb2xvcjogJG5hdmJhci1pdGVtLWFjdGl2ZS1jb2xvclxuICAgICYuaXMtYWN0aXZlOm5vdCg6Zm9jdXMpOm5vdCg6aG92ZXIpXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQtY29sb3JcbiAgLm5hdmJhci1pdGVtLmhhcy1kcm9wZG93blxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlcixcbiAgICAmLmlzLWFjdGl2ZVxuICAgICAgLm5hdmJhci1saW5rXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yXG5cbi8vIENvbWJpbmF0aW9uXG5cbi5oZXJvXG4gICYuaXMtZnVsbGhlaWdodC13aXRoLW5hdmJhclxuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAjeyRuYXZiYXItaGVpZ2h0fSlcbiIsIiRjb250YWluZXItb2Zmc2V0OiAoMiAqICRnYXApICFkZWZhdWx0XG5cbi5jb250YWluZXJcbiAgZmxleC1ncm93OiAxXG4gIG1hcmdpbjogMCBhdXRvXG4gIHBvc2l0aW9uOiByZWxhdGl2ZVxuICB3aWR0aDogYXV0b1xuICAmLmlzLWZsdWlkXG4gICAgbWF4LXdpZHRoOiBub25lXG4gICAgcGFkZGluZy1sZWZ0OiAkZ2FwXG4gICAgcGFkZGluZy1yaWdodDogJGdhcFxuICAgIHdpZHRoOiAxMDAlXG4gICtkZXNrdG9wXG4gICAgbWF4LXdpZHRoOiAkZGVza3RvcCAtICRjb250YWluZXItb2Zmc2V0XG4gICt1bnRpbC13aWRlc2NyZWVuXG4gICAgJi5pcy13aWRlc2NyZWVuXG4gICAgICBtYXgtd2lkdGg6ICR3aWRlc2NyZWVuIC0gJGNvbnRhaW5lci1vZmZzZXRcbiAgK3VudGlsLWZ1bGxoZFxuICAgICYuaXMtZnVsbGhkXG4gICAgICBtYXgtd2lkdGg6ICRmdWxsaGQgLSAkY29udGFpbmVyLW9mZnNldFxuICArd2lkZXNjcmVlblxuICAgIG1heC13aWR0aDogJHdpZGVzY3JlZW4gLSAkY29udGFpbmVyLW9mZnNldFxuICArZnVsbGhkXG4gICAgbWF4LXdpZHRoOiAkZnVsbGhkIC0gJGNvbnRhaW5lci1vZmZzZXRcbiIsIiRzZWN0aW9uLXBhZGRpbmc6IDNyZW0gMS41cmVtICFkZWZhdWx0XG4kc2VjdGlvbi1wYWRkaW5nLW1lZGl1bTogOXJlbSAxLjVyZW0gIWRlZmF1bHRcbiRzZWN0aW9uLXBhZGRpbmctbGFyZ2U6IDE4cmVtIDEuNXJlbSAhZGVmYXVsdFxuXG4uc2VjdGlvblxuICBwYWRkaW5nOiAkc2VjdGlvbi1wYWRkaW5nXG4gIC8vIFJlc3BvbnNpdmVuZXNzXG4gICtkZXNrdG9wXG4gICAgLy8gU2l6ZXNcbiAgICAmLmlzLW1lZGl1bVxuICAgICAgcGFkZGluZzogJHNlY3Rpb24tcGFkZGluZy1tZWRpdW1cbiAgICAmLmlzLWxhcmdlXG4gICAgICBwYWRkaW5nOiAkc2VjdGlvbi1wYWRkaW5nLWxhcmdlXG4iLCIkdGl0bGUtY29sb3I6ICR0ZXh0LXN0cm9uZyAhZGVmYXVsdFxuJHRpdGxlLWZhbWlseTogZmFsc2UgIWRlZmF1bHRcbiR0aXRsZS1zaXplOiAkc2l6ZS0zICFkZWZhdWx0XG4kdGl0bGUtd2VpZ2h0OiAkd2VpZ2h0LXNlbWlib2xkICFkZWZhdWx0XG4kdGl0bGUtbGluZS1oZWlnaHQ6IDEuMTI1ICFkZWZhdWx0XG4kdGl0bGUtc3Ryb25nLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0XG4kdGl0bGUtc3Ryb25nLXdlaWdodDogaW5oZXJpdCAhZGVmYXVsdFxuJHRpdGxlLXN1Yi1zaXplOiAwLjc1ZW0gIWRlZmF1bHRcbiR0aXRsZS1zdXAtc2l6ZTogMC43NWVtICFkZWZhdWx0XG5cbiRzdWJ0aXRsZS1jb2xvcjogJHRleHQgIWRlZmF1bHRcbiRzdWJ0aXRsZS1mYW1pbHk6IGZhbHNlICFkZWZhdWx0XG4kc3VidGl0bGUtc2l6ZTogJHNpemUtNSAhZGVmYXVsdFxuJHN1YnRpdGxlLXdlaWdodDogJHdlaWdodC1ub3JtYWwgIWRlZmF1bHRcbiRzdWJ0aXRsZS1saW5lLWhlaWdodDogMS4yNSAhZGVmYXVsdFxuJHN1YnRpdGxlLXN0cm9uZy1jb2xvcjogJHRleHQtc3Ryb25nICFkZWZhdWx0XG4kc3VidGl0bGUtc3Ryb25nLXdlaWdodDogJHdlaWdodC1zZW1pYm9sZCAhZGVmYXVsdFxuJHN1YnRpdGxlLW5lZ2F0aXZlLW1hcmdpbjogLTEuMjVyZW0gIWRlZmF1bHRcblxuLnRpdGxlLFxuLnN1YnRpdGxlXG4gIEBleHRlbmQgJWJsb2NrXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmRcbiAgZW0sXG4gIHNwYW5cbiAgICBmb250LXdlaWdodDogaW5oZXJpdFxuICBzdWJcbiAgICBmb250LXNpemU6ICR0aXRsZS1zdWItc2l6ZVxuICBzdXBcbiAgICBmb250LXNpemU6ICR0aXRsZS1zdXAtc2l6ZVxuICAudGFnXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZVxuXG4udGl0bGVcbiAgY29sb3I6ICR0aXRsZS1jb2xvclxuICBAaWYgJHRpdGxlLWZhbWlseVxuICAgIGZvbnQtZmFtaWx5OiAkdGl0bGUtZmFtaWx5XG4gIGZvbnQtc2l6ZTogJHRpdGxlLXNpemVcbiAgZm9udC13ZWlnaHQ6ICR0aXRsZS13ZWlnaHRcbiAgbGluZS1oZWlnaHQ6ICR0aXRsZS1saW5lLWhlaWdodFxuICBzdHJvbmdcbiAgICBjb2xvcjogJHRpdGxlLXN0cm9uZy1jb2xvclxuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGUtc3Ryb25nLXdlaWdodFxuICAmICsgLmhpZ2hsaWdodFxuICAgIG1hcmdpbi10b3A6IC0wLjc1cmVtXG4gICY6bm90KC5pcy1zcGFjZWQpICsgLnN1YnRpdGxlXG4gICAgbWFyZ2luLXRvcDogJHN1YnRpdGxlLW5lZ2F0aXZlLW1hcmdpblxuICAvLyBTaXplc1xuICBAZWFjaCAkc2l6ZSBpbiAkc2l6ZXNcbiAgICAkaTogaW5kZXgoJHNpemVzLCAkc2l6ZSlcbiAgICAmLmlzLSN7JGl9XG4gICAgICBmb250LXNpemU6ICRzaXplXG5cbi5zdWJ0aXRsZVxuICBjb2xvcjogJHN1YnRpdGxlLWNvbG9yXG4gIEBpZiAkc3VidGl0bGUtZmFtaWx5XG4gICAgZm9udC1mYW1pbHk6ICRzdWJ0aXRsZS1mYW1pbHlcbiAgZm9udC1zaXplOiAkc3VidGl0bGUtc2l6ZVxuICBmb250LXdlaWdodDogJHN1YnRpdGxlLXdlaWdodFxuICBsaW5lLWhlaWdodDogJHN1YnRpdGxlLWxpbmUtaGVpZ2h0XG4gIHN0cm9uZ1xuICAgIGNvbG9yOiAkc3VidGl0bGUtc3Ryb25nLWNvbG9yXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJ0aXRsZS1zdHJvbmctd2VpZ2h0XG4gICY6bm90KC5pcy1zcGFjZWQpICsgLnRpdGxlXG4gICAgbWFyZ2luLXRvcDogJHN1YnRpdGxlLW5lZ2F0aXZlLW1hcmdpblxuICAvLyBTaXplc1xuICBAZWFjaCAkc2l6ZSBpbiAkc2l6ZXNcbiAgICAkaTogaW5kZXgoJHNpemVzLCAkc2l6ZSlcbiAgICAmLmlzLSN7JGl9XG4gICAgICBmb250LXNpemU6ICRzaXplXG4iLCIkcHJpbWFyeTogJHR1cnF1b2lzZSAhZGVmYXVsdFxuXG4kaW5mbzogJGN5YW4gIWRlZmF1bHRcbiRzdWNjZXNzOiAkZ3JlZW4gIWRlZmF1bHRcbiR3YXJuaW5nOiAkeWVsbG93ICFkZWZhdWx0XG4kZGFuZ2VyOiAkcmVkICFkZWZhdWx0XG5cbiRsaWdodDogJHdoaXRlLXRlciAhZGVmYXVsdFxuJGRhcms6ICRncmV5LWRhcmtlciAhZGVmYXVsdFxuXG4vLyBJbnZlcnQgY29sb3JzXG5cbiRvcmFuZ2UtaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJG9yYW5nZSkgIWRlZmF1bHRcbiR5ZWxsb3ctaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJHllbGxvdykgIWRlZmF1bHRcbiRncmVlbi1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkZ3JlZW4pICFkZWZhdWx0XG4kdHVycXVvaXNlLWludmVydDogZmluZENvbG9ySW52ZXJ0KCR0dXJxdW9pc2UpICFkZWZhdWx0XG4kY3lhbi1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkY3lhbikgIWRlZmF1bHRcbiRibHVlLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRibHVlKSAhZGVmYXVsdFxuJHB1cnBsZS1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkcHVycGxlKSAhZGVmYXVsdFxuJHJlZC1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkcmVkKSAhZGVmYXVsdFxuXG4kcHJpbWFyeS1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkcHJpbWFyeSkgIWRlZmF1bHRcbiRwcmltYXJ5LWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkcHJpbWFyeSkgIWRlZmF1bHRcbiRwcmltYXJ5LWRhcms6IGZpbmREYXJrQ29sb3IoJHByaW1hcnkpICFkZWZhdWx0XG4kaW5mby1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkaW5mbykgIWRlZmF1bHRcbiRpbmZvLWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkaW5mbykgIWRlZmF1bHRcbiRpbmZvLWRhcms6IGZpbmREYXJrQ29sb3IoJGluZm8pICFkZWZhdWx0XG4kc3VjY2Vzcy1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkc3VjY2VzcykgIWRlZmF1bHRcbiRzdWNjZXNzLWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkc3VjY2VzcykgIWRlZmF1bHRcbiRzdWNjZXNzLWRhcms6IGZpbmREYXJrQ29sb3IoJHN1Y2Nlc3MpICFkZWZhdWx0XG4kd2FybmluZy1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkd2FybmluZykgIWRlZmF1bHRcbiR3YXJuaW5nLWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkd2FybmluZykgIWRlZmF1bHRcbiR3YXJuaW5nLWRhcms6IGZpbmREYXJrQ29sb3IoJHdhcm5pbmcpICFkZWZhdWx0XG4kZGFuZ2VyLWludmVydDogZmluZENvbG9ySW52ZXJ0KCRkYW5nZXIpICFkZWZhdWx0XG4kZGFuZ2VyLWxpZ2h0OiBmaW5kTGlnaHRDb2xvcigkZGFuZ2VyKSAhZGVmYXVsdFxuJGRhbmdlci1kYXJrOiBmaW5kRGFya0NvbG9yKCRkYW5nZXIpICFkZWZhdWx0XG4kbGlnaHQtaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGxpZ2h0KSAhZGVmYXVsdFxuJGRhcmstaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGRhcmspICFkZWZhdWx0XG5cbi8vIEdlbmVyYWwgY29sb3JzXG5cbiRzY2hlbWUtbWFpbjogJHdoaXRlICFkZWZhdWx0XG4kc2NoZW1lLW1haW4tYmlzOiAkd2hpdGUtYmlzICFkZWZhdWx0XG4kc2NoZW1lLW1haW4tdGVyOiAkd2hpdGUtdGVyICFkZWZhdWx0XG4kc2NoZW1lLWludmVydDogJGJsYWNrICFkZWZhdWx0XG4kc2NoZW1lLWludmVydC1iaXM6ICRibGFjay1iaXMgIWRlZmF1bHRcbiRzY2hlbWUtaW52ZXJ0LXRlcjogJGJsYWNrLXRlciAhZGVmYXVsdFxuXG4kYmFja2dyb3VuZDogJHdoaXRlLXRlciAhZGVmYXVsdFxuXG4kYm9yZGVyOiAkZ3JleS1saWdodGVyICFkZWZhdWx0XG4kYm9yZGVyLWhvdmVyOiAkZ3JleS1saWdodCAhZGVmYXVsdFxuJGJvcmRlci1saWdodDogJGdyZXktbGlnaHRlc3QgIWRlZmF1bHRcbiRib3JkZXItbGlnaHQtaG92ZXI6ICRncmV5LWxpZ2h0ICFkZWZhdWx0XG5cbi8vIFRleHQgY29sb3JzXG5cbiR0ZXh0OiAkZ3JleS1kYXJrICFkZWZhdWx0XG4kdGV4dC1pbnZlcnQ6IGZpbmRDb2xvckludmVydCgkdGV4dCkgIWRlZmF1bHRcbiR0ZXh0LWxpZ2h0OiAkZ3JleSAhZGVmYXVsdFxuJHRleHQtc3Ryb25nOiAkZ3JleS1kYXJrZXIgIWRlZmF1bHRcblxuLy8gQ29kZSBjb2xvcnNcblxuJGNvZGU6ICRyZWQgIWRlZmF1bHRcbiRjb2RlLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFkZWZhdWx0XG5cbiRwcmU6ICR0ZXh0ICFkZWZhdWx0XG4kcHJlLWJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kICFkZWZhdWx0XG5cbi8vIExpbmsgY29sb3JzXG5cbiRsaW5rOiAkYmx1ZSAhZGVmYXVsdFxuJGxpbmstaW52ZXJ0OiBmaW5kQ29sb3JJbnZlcnQoJGxpbmspICFkZWZhdWx0XG4kbGluay1saWdodDogZmluZExpZ2h0Q29sb3IoJGxpbmspICFkZWZhdWx0XG4kbGluay1kYXJrOiBmaW5kRGFya0NvbG9yKCRsaW5rKSAhZGVmYXVsdFxuJGxpbmstdmlzaXRlZDogJHB1cnBsZSAhZGVmYXVsdFxuXG4kbGluay1ob3ZlcjogJGdyZXktZGFya2VyICFkZWZhdWx0XG4kbGluay1ob3Zlci1ib3JkZXI6ICRncmV5LWxpZ2h0ICFkZWZhdWx0XG5cbiRsaW5rLWZvY3VzOiAkZ3JleS1kYXJrZXIgIWRlZmF1bHRcbiRsaW5rLWZvY3VzLWJvcmRlcjogJGJsdWUgIWRlZmF1bHRcblxuJGxpbmstYWN0aXZlOiAkZ3JleS1kYXJrZXIgIWRlZmF1bHRcbiRsaW5rLWFjdGl2ZS1ib3JkZXI6ICRncmV5LWRhcmsgIWRlZmF1bHRcblxuLy8gVHlwb2dyYXBoeVxuXG4kZmFtaWx5LXByaW1hcnk6ICRmYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdFxuJGZhbWlseS1zZWNvbmRhcnk6ICRmYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdFxuJGZhbWlseS1jb2RlOiAkZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdFxuXG4kc2l6ZS1zbWFsbDogJHNpemUtNyAhZGVmYXVsdFxuJHNpemUtbm9ybWFsOiAkc2l6ZS02ICFkZWZhdWx0XG4kc2l6ZS1tZWRpdW06ICRzaXplLTUgIWRlZmF1bHRcbiRzaXplLWxhcmdlOiAkc2l6ZS00ICFkZWZhdWx0XG5cbi8vIExpc3RzIGFuZCBtYXBzXG4kY3VzdG9tLWNvbG9yczogbnVsbCAhZGVmYXVsdFxuJGN1c3RvbS1zaGFkZXM6IG51bGwgIWRlZmF1bHRcblxuJGNvbG9yczogbWVyZ2VDb2xvck1hcHMoKFwid2hpdGVcIjogKCR3aGl0ZSwgJGJsYWNrKSwgXCJibGFja1wiOiAoJGJsYWNrLCAkd2hpdGUpLCBcImxpZ2h0XCI6ICgkbGlnaHQsICRsaWdodC1pbnZlcnQpLCBcImRhcmtcIjogKCRkYXJrLCAkZGFyay1pbnZlcnQpLCBcInByaW1hcnlcIjogKCRwcmltYXJ5LCAkcHJpbWFyeS1pbnZlcnQsICRwcmltYXJ5LWxpZ2h0LCAkcHJpbWFyeS1kYXJrKSwgXCJsaW5rXCI6ICgkbGluaywgJGxpbmstaW52ZXJ0LCAkbGluay1saWdodCwgJGxpbmstZGFyayksIFwiaW5mb1wiOiAoJGluZm8sICRpbmZvLWludmVydCwgJGluZm8tbGlnaHQsICRpbmZvLWRhcmspLCBcInN1Y2Nlc3NcIjogKCRzdWNjZXNzLCAkc3VjY2Vzcy1pbnZlcnQsICRzdWNjZXNzLWxpZ2h0LCAkc3VjY2Vzcy1kYXJrKSwgXCJ3YXJuaW5nXCI6ICgkd2FybmluZywgJHdhcm5pbmctaW52ZXJ0LCAkd2FybmluZy1saWdodCwgJHdhcm5pbmctZGFyayksIFwiZGFuZ2VyXCI6ICgkZGFuZ2VyLCAkZGFuZ2VyLWludmVydCwgJGRhbmdlci1saWdodCwgJGRhbmdlci1kYXJrKSksICRjdXN0b20tY29sb3JzKSAhZGVmYXVsdFxuJHNoYWRlczogbWVyZ2VDb2xvck1hcHMoKFwiYmxhY2stYmlzXCI6ICRibGFjay1iaXMsIFwiYmxhY2stdGVyXCI6ICRibGFjay10ZXIsIFwiZ3JleS1kYXJrZXJcIjogJGdyZXktZGFya2VyLCBcImdyZXktZGFya1wiOiAkZ3JleS1kYXJrLCBcImdyZXlcIjogJGdyZXksIFwiZ3JleS1saWdodFwiOiAkZ3JleS1saWdodCwgXCJncmV5LWxpZ2h0ZXJcIjogJGdyZXktbGlnaHRlciwgXCJ3aGl0ZS10ZXJcIjogJHdoaXRlLXRlciwgXCJ3aGl0ZS1iaXNcIjogJHdoaXRlLWJpcyksICRjdXN0b20tc2hhZGVzKSAhZGVmYXVsdFxuXG4kc2l6ZXM6ICRzaXplLTEgJHNpemUtMiAkc2l6ZS0zICRzaXplLTQgJHNpemUtNSAkc2l6ZS02ICRzaXplLTcgIWRlZmF1bHRcbiIsIiRkaXZpZGVyLWJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0ZXIgIWRlZmF1bHRcbiRkaXZpZGVyLXRoaWNrbmVzczogLjFyZW0gIWRlZmF1bHRcbiRkaXZpZGVyLWZvbnQtc2l6ZTogJHNpemUtNyAhZGVmYXVsdFxuJGRpdmlkZXItY29sb3I6ICRncmV5LWxpZ2h0ICFkZWZhdWx0XG5cbi5pcy1kaXZpZGVyLCAuaXMtZGl2aWRlci12ZXJ0aWNhbFxuICBkaXNwbGF5OiBibG9ja1xuICBwb3NpdGlvbjogcmVsYXRpdmVcbiAgYm9yZGVyLXRvcDogJGRpdmlkZXItdGhpY2tuZXNzIHNvbGlkICRkaXZpZGVyLWJhY2tncm91bmQtY29sb3JcbiAgaGVpZ2h0OiAkZGl2aWRlci10aGlja25lc3NcbiAgbWFyZ2luOiAycmVtIDBcbiAgdGV4dC1hbGlnbjogY2VudGVyXG5cblxuLmlzLWRpdmlkZXJbZGF0YS1jb250ZW50XTo6YWZ0ZXIsIC5pcy1kaXZpZGVyLXZlcnRpY2FsW2RhdGEtY29udGVudF06OmFmdGVyXG4gIGJhY2tncm91bmQ6ICR3aGl0ZVxuICBjb2xvcjogJGRpdmlkZXItY29sb3JcbiAgY29udGVudDogYXR0cihkYXRhLWNvbnRlbnQpXG4gIGRpc3BsYXk6IGlubGluZS1ibG9ja1xuICBmb250LXNpemU6ICRkaXZpZGVyLWZvbnQtc2l6ZVxuICBwYWRkaW5nOiAuNHJlbSAuOHJlbVxuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4xcmVtKVxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjFyZW0pXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4xcmVtKVxuICB0ZXh0LWFsaWduOiBjZW50ZXJcblxuLmlzLWRpdmlkZXItdmVydGljYWxcbiAgK3RhYmxldFxuICAgIGRpc3BsYXk6IGJsb2NrXG4gICAgZmxleDogbm9uZVxuICAgIHdpZHRoOiBhdXRvXG4gICAgaGVpZ2h0OiBhdXRvXG4gICAgcGFkZGluZzogMnJlbVxuICAgIG1hcmdpbjogMFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZVxuICAgIGJvcmRlci10b3A6IG5vbmVcbiAgICBtaW4taGVpZ2h0OiAycmVtXG4gICAgJjo6YmVmb3JlXG4gICAgICBib3JkZXItbGVmdDogJGRpdmlkZXItdGhpY2tuZXNzIHNvbGlkICRkaXZpZGVyLWJhY2tncm91bmQtY29sb3JcbiAgICAgIGJvdHRvbTogMXJlbVxuICAgICAgY29udGVudDogXCJcIlxuICAgICAgZGlzcGxheTogYmxvY2tcbiAgICAgIGxlZnQ6IDUwJVxuICAgICAgcG9zaXRpb246IGFic29sdXRlXG4gICAgICB0b3A6IDFyZW1cbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSlcbiAgICAmW2RhdGEtY29udGVudF06OmFmdGVyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGVcbiAgICAgIGxlZnQ6IDUwJVxuICAgICAgdG9wOiA1MCVcbiAgICAgIHBhZGRpbmc6IC4xcmVtXG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpXG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSlcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpXG5cbi5pcy1kaXZpZGVyLFxuLmlzLWRpdmlkZXItdmVydGljYWxcbiAgQGVhY2ggJG5hbWUsICRwYWlyIGluIG1lcmdlQ29sb3JNYXBzKCRjb2xvcnMsICRzaGFkZXMpXG4gICAgJGNvbG9yOiBudGgoJHBhaXIsIDEpXG4gICAgJGNvbG9yLWludmVydDogbnRoKCRwYWlyLCAyKVxuICAgICYuaXMtI3skbmFtZX1cbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvclxuXG4gICAgICAmW2RhdGEtY29udGVudF06OmFmdGVyLCAmW2RhdGEtY29udGVudF06OmFmdGVyXG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1pbnZlcnRcbiAgICAgICAgY29sb3I6ICRjb2xvclxuXG4gICAgICAmOjpiZWZvcmVcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRjb2xvclxuIiwiLy8gQXVkaXQgKDIwMjYtMDUpOiB0aGUgY29kZWJhc2Ugb25seSB1c2VzIGEgc2xpY2Ugb2YgQnVsbWEg4oCUXG4vLyAgIC0gZ3JpZCAoYC5jb2x1bW5zYC9gLmNvbHVtbmAvYC5pcy1uYXJyb3dgL2AuaXMtbXVsdGlsaW5lYC/igKYpOiA1MDArIHVzb3MuXG4vLyAgIC0gY29udGFpbmVyIChgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPmApOiB+NjAgdXNvcy5cbi8vICAgLSBzZWN0aW9uIChgPHNlY3Rpb24+YCBzZW1hbnRpYyArIGAuc2VjdGlvbmApOiBwb3Vjb3MuXG4vLyAgIC0gbmF2YmFyIChgY2xhc3M9XCJuYXZiYXJcImApOiA0IHVzb3MuXG4vLyAgIC0gc3VidGl0bGUgKGRlIGBlbGVtZW50cy90aXRsZWApOiAxMSB1c29zLlxuLy8gICAtIGJ1bG1hLWRpdmlkZXIgKGBpcy1kaXZpZGVyYCk6IDIgdXNvcy5cbi8vIFJlbW92aWRvcyBwb3IgdGVyZW0gWkVSTyB1c29zIG5vIGF1ZGl0OiBgY29tcG9uZW50cy9sZXZlbGAsXG4vLyBgZWxlbWVudHMvaW1hZ2VgLCBgZWxlbWVudHMvdGFibGVgLiBgbGF5b3V0L19hbGxgIGZvaSBxdWVicmFkbyBlbVxuLy8gYGNvbnRhaW5lcmAgKyBgc2VjdGlvbmAgKGhlcm8gZSBmb290ZXIgdGFtYsOpbSBlcmFtIDApLlxuQGltcG9ydCBcIn5idWxtYS9zYXNzL3V0aWxpdGllcy9fYWxsXCI7XG5AaW1wb3J0IFwifmJ1bG1hL3Nhc3MvYmFzZS9fYWxsXCI7XG5AaW1wb3J0IFwifmJ1bG1hL3Nhc3MvZ3JpZC9fYWxsXCI7XG5AaW1wb3J0IFwifmJ1bG1hL3Nhc3MvY29tcG9uZW50cy9uYXZiYXJcIjtcbkBpbXBvcnQgXCJ+YnVsbWEvc2Fzcy9lbGVtZW50cy9jb250YWluZXJcIjtcbkBpbXBvcnQgXCJ+YnVsbWEvc2Fzcy9sYXlvdXQvc2VjdGlvblwiO1xuQGltcG9ydCBcIn5idWxtYS9zYXNzL2VsZW1lbnRzL3RpdGxlXCI7XG5AaW1wb3J0IFwifmJ1bG1hLWRpdmlkZXIvc3JjL3Nhc3MvaW5kZXhcIjtcblxuLy8gVGFibGUgd2lkdGhcbiR3aWR0aEFtb3VudHM6ICgyLjUsIDUsIDcuNSwgMTAsIDIwLCAzMCwgMzMuMzMsIDQwLCA1MCwgNjYuNjYsIDEwMCk7IC8vIEp1c3QgYWRkIHRoZSBudW1iZXJzIGhlcmUsIHlvdSBjYW4gdXNlIHBvaW50cyB0b28uXG4kd2lkdGhVbml0OiBcIiVcIjsgLy8gQWRkIHRoZSB1bml0IGhlcmUgKHJlbXxlbXxweHwlKVxuXG5AZWFjaCAkd2lkdGggaW4gJHdpZHRoQW1vdW50cyB7XG5cdCRpOiBpbmRleCgkd2lkdGhBbW91bnRzLCAkd2lkdGgpO1xuXHQudGFibGUgdGhlYWQgdGguaXMtI3skaX0ge1xuXHRcdHdpZHRoOiAjeyR3aWR0aH0jeyR3aWR0aFVuaXR9ICFpbXBvcnRhbnQ7XG5cdH1cbn0iLCJAaW1wb3J0IFwic2V0dGluZ3MvY2hhcnRpc3Qtc2V0dGluZ3NcIjtcblxuQG1peGluIGN0LXJlc3BvbnNpdmUtc3ZnLWNvbnRhaW5lcigkd2lkdGg6IDEwMCUsICRyYXRpbzogJGN0LWNvbnRhaW5lci1yYXRpbykge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogJHdpZHRoO1xuXG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHJhdGlvICogMTAwJTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICA+IHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbkBtaXhpbiBjdC1hbGlnbi1qdXN0aWZ5KCRjdC10ZXh0LWFsaWduOiAkY3QtdGV4dC1hbGlnbiwgJGN0LXRleHQtanVzdGlmeTogJGN0LXRleHQtanVzdGlmeSkge1xuICAtd2Via2l0LWJveC1hbGlnbjogJGN0LXRleHQtYWxpZ247XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6ICRjdC10ZXh0LWFsaWduO1xuICAtbXMtZmxleC1hbGlnbjogJGN0LXRleHQtYWxpZ247XG4gIGFsaWduLWl0ZW1zOiAkY3QtdGV4dC1hbGlnbjtcbiAgLXdlYmtpdC1ib3gtcGFjazogJGN0LXRleHQtanVzdGlmeTtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6ICRjdC10ZXh0LWp1c3RpZnk7XG4gIC1tcy1mbGV4LXBhY2s6ICRjdC10ZXh0LWp1c3RpZnk7XG4gIGp1c3RpZnktY29udGVudDogJGN0LXRleHQtanVzdGlmeTtcbiAgLy8gRmFsbGJhY2sgdG8gdGV4dC1hbGlnbiBmb3Igbm9uLWZsZXggYnJvd3NlcnNcbiAgQGlmKCRjdC10ZXh0LWp1c3RpZnkgPT0gJ2ZsZXgtc3RhcnQnKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfSBAZWxzZSBpZiAoJGN0LXRleHQtanVzdGlmeSA9PSAnZmxleC1lbmQnKSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH0gQGVsc2Uge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG5AbWl4aW4gY3QtZmxleCgpIHtcbiAgLy8gRmFsbGJhY2sgdG8gYmxvY2tcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtbW96LWJveDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuQG1peGluIGN0LWNoYXJ0LWxhYmVsKCRjdC10ZXh0LWNvbG9yOiAkY3QtdGV4dC1jb2xvciwgJGN0LXRleHQtc2l6ZTogJGN0LXRleHQtc2l6ZSwgJGN0LXRleHQtbGluZS1oZWlnaHQ6ICRjdC10ZXh0LWxpbmUtaGVpZ2h0KSB7XG4gIGZpbGw6ICRjdC10ZXh0LWNvbG9yO1xuICBjb2xvcjogJGN0LXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGN0LXRleHQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjdC10ZXh0LWxpbmUtaGVpZ2h0O1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtZ3JpZCgkY3QtZ3JpZC1jb2xvcjogJGN0LWdyaWQtY29sb3IsICRjdC1ncmlkLXdpZHRoOiAkY3QtZ3JpZC13aWR0aCwgJGN0LWdyaWQtZGFzaGFycmF5OiAkY3QtZ3JpZC1kYXNoYXJyYXkpIHtcbiAgc3Ryb2tlOiAkY3QtZ3JpZC1jb2xvcjtcbiAgc3Ryb2tlLXdpZHRoOiAkY3QtZ3JpZC13aWR0aDtcblxuICBAaWYgKCRjdC1ncmlkLWRhc2hhcnJheSkge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRjdC1ncmlkLWRhc2hhcnJheTtcbiAgfVxufVxuXG5AbWl4aW4gY3QtY2hhcnQtcG9pbnQoJGN0LXBvaW50LXNpemU6ICRjdC1wb2ludC1zaXplLCAkY3QtcG9pbnQtc2hhcGU6ICRjdC1wb2ludC1zaGFwZSkge1xuICBzdHJva2Utd2lkdGg6ICRjdC1wb2ludC1zaXplO1xuICBzdHJva2UtbGluZWNhcDogJGN0LXBvaW50LXNoYXBlO1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtbGluZSgkY3QtbGluZS13aWR0aDogJGN0LWxpbmUtd2lkdGgsICRjdC1saW5lLWRhc2hhcnJheTogJGN0LWxpbmUtZGFzaGFycmF5KSB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogJGN0LWxpbmUtd2lkdGg7XG5cbiAgQGlmICgkY3QtbGluZS1kYXNoYXJyYXkpIHtcbiAgICBzdHJva2UtZGFzaGFycmF5OiAkY3QtbGluZS1kYXNoYXJyYXk7XG4gIH1cbn1cblxuQG1peGluIGN0LWNoYXJ0LWFyZWEoJGN0LWFyZWEtb3BhY2l0eTogJGN0LWFyZWEtb3BhY2l0eSkge1xuICBzdHJva2U6IG5vbmU7XG4gIGZpbGwtb3BhY2l0eTogJGN0LWFyZWEtb3BhY2l0eTtcbn1cblxuQG1peGluIGN0LWNoYXJ0LWJhcigkY3QtYmFyLXdpZHRoOiAkY3QtYmFyLXdpZHRoKSB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogJGN0LWJhci13aWR0aDtcbn1cblxuQG1peGluIGN0LWNoYXJ0LWRvbnV0KCRjdC1kb251dC13aWR0aDogJGN0LWRvbnV0LXdpZHRoKSB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogJGN0LWRvbnV0LXdpZHRoO1xufVxuXG5AbWl4aW4gY3QtY2hhcnQtc2VyaWVzLWNvbG9yKCRjb2xvcikge1xuICAuI3skY3QtY2xhc3MtcG9pbnR9LCAuI3skY3QtY2xhc3MtbGluZX0sIC4jeyRjdC1jbGFzcy1iYXJ9LCAuI3skY3QtY2xhc3Mtc2xpY2UtZG9udXR9IHtcbiAgICBzdHJva2U6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1zbGljZS1waWV9LCAuI3skY3QtY2xhc3Mtc2xpY2UtZG9udXQtc29saWR9LCAuI3skY3QtY2xhc3MtYXJlYX0ge1xuICAgIGZpbGw6ICRjb2xvcjtcbiAgfVxufVxuXG5AbWl4aW4gY3QtY2hhcnQoJGN0LWNvbnRhaW5lci1yYXRpbzogJGN0LWNvbnRhaW5lci1yYXRpbywgJGN0LXRleHQtY29sb3I6ICRjdC10ZXh0LWNvbG9yLCAkY3QtdGV4dC1zaXplOiAkY3QtdGV4dC1zaXplLCAkY3QtZ3JpZC1jb2xvcjogJGN0LWdyaWQtY29sb3IsICRjdC1ncmlkLXdpZHRoOiAkY3QtZ3JpZC13aWR0aCwgJGN0LWdyaWQtZGFzaGFycmF5OiAkY3QtZ3JpZC1kYXNoYXJyYXksICRjdC1wb2ludC1zaXplOiAkY3QtcG9pbnQtc2l6ZSwgJGN0LXBvaW50LXNoYXBlOiAkY3QtcG9pbnQtc2hhcGUsICRjdC1saW5lLXdpZHRoOiAkY3QtbGluZS13aWR0aCwgJGN0LWJhci13aWR0aDogJGN0LWJhci13aWR0aCwgJGN0LWRvbnV0LXdpZHRoOiAkY3QtZG9udXQtd2lkdGgsICRjdC1zZXJpZXMtbmFtZXM6ICRjdC1zZXJpZXMtbmFtZXMsICRjdC1zZXJpZXMtY29sb3JzOiAkY3Qtc2VyaWVzLWNvbG9ycykge1xuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWxhYmVsKCRjdC10ZXh0LWNvbG9yLCAkY3QtdGV4dC1zaXplKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1saW5lfSAuI3skY3QtY2xhc3MtbGFiZWx9LFxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfSAuI3skY3QtY2xhc3MtbGFiZWx9IHtcbiAgICBAaW5jbHVkZSBjdC1mbGV4KCk7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtcGllfSAuI3skY3QtY2xhc3MtbGFiZWx9LFxuICAuI3skY3QtY2xhc3MtY2hhcnQtZG9udXR9IC4jeyRjdC1jbGFzcy1sYWJlbH0ge1xuICAgIGRvbWluYW50LWJhc2VsaW5lOiBjZW50cmFsO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1zdGFydH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1lbmQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1zdGFydCwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtdmVydGljYWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgZmxleC1lbmQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogZW5kO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy12ZXJ0aWNhbH0uI3skY3QtY2xhc3MtZW5kfSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbH0uI3skY3QtY2xhc3Mtc3RhcnR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtZW5kLCBjZW50ZXIpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLWVuZH0ge1xuICAgIEBpbmNsdWRlIGN0LWFsaWduLWp1c3RpZnkoZmxleC1zdGFydCwgY2VudGVyKTtcbiAgICAvLyBGYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZvcmVpZ25PYmplY3RzXG4gICAgdGV4dC1hbmNob3I6IHN0YXJ0O1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLWhvcml6b250YWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgQGluY2x1ZGUgY3QtYWxpZ24tanVzdGlmeShmbGV4LWVuZCwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBzdGFydDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1jaGFydC1iYXJ9LiN7JGN0LWNsYXNzLWhvcml6b250YWwtYmFyc30gLiN7JGN0LWNsYXNzLWxhYmVsfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGZsZXgtc3RhcnQsIGZsZXgtc3RhcnQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogc3RhcnQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtY2hhcnQtYmFyfS4jeyRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnN9IC4jeyRjdC1jbGFzcy1sYWJlbH0uI3skY3QtY2xhc3MtdmVydGljYWx9LiN7JGN0LWNsYXNzLXN0YXJ0fSB7XG4gICAgLy9AaW5jbHVkZSBjdC1jaGFydC1sYWJlbCgkY3QtdGV4dC1jb2xvciwgJGN0LXRleHQtc2l6ZSwgY2VudGVyLCAkY3QtdmVydGljYWwtdGV4dC1qdXN0aWZ5KTtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGNlbnRlciwgZmxleC1lbmQpO1xuICAgIC8vIEZhbGxiYWNrIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZm9yZWlnbk9iamVjdHNcbiAgICB0ZXh0LWFuY2hvcjogZW5kO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWNoYXJ0LWJhcn0uI3skY3QtY2xhc3MtaG9yaXpvbnRhbC1iYXJzfSAuI3skY3QtY2xhc3MtbGFiZWx9LiN7JGN0LWNsYXNzLXZlcnRpY2FsfS4jeyRjdC1jbGFzcy1lbmR9IHtcbiAgICBAaW5jbHVkZSBjdC1hbGlnbi1qdXN0aWZ5KGNlbnRlciwgZmxleC1zdGFydCk7XG4gICAgLy8gRmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmb3JlaWduT2JqZWN0c1xuICAgIHRleHQtYW5jaG9yOiBlbmQ7XG4gIH1cblxuICAuI3skY3QtY2xhc3MtZ3JpZH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWdyaWQoJGN0LWdyaWQtY29sb3IsICRjdC1ncmlkLXdpZHRoLCAkY3QtZ3JpZC1kYXNoYXJyYXkpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWdyaWQtYmFja2dyb3VuZH0ge1xuICAgIGZpbGw6ICRjdC1ncmlkLWJhY2tncm91bmQtZmlsbDtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1wb2ludH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LXBvaW50KCRjdC1wb2ludC1zaXplLCAkY3QtcG9pbnQtc2hhcGUpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWxpbmV9IHtcbiAgICBAaW5jbHVkZSBjdC1jaGFydC1saW5lKCRjdC1saW5lLXdpZHRoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1hcmVhfSB7XG4gICAgQGluY2x1ZGUgY3QtY2hhcnQtYXJlYSgpO1xuICB9XG5cbiAgLiN7JGN0LWNsYXNzLWJhcn0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWJhcigkY3QtYmFyLXdpZHRoKTtcbiAgfVxuXG4gIC4jeyRjdC1jbGFzcy1zbGljZS1kb251dH0ge1xuICAgIEBpbmNsdWRlIGN0LWNoYXJ0LWRvbnV0KCRjdC1kb251dC13aWR0aCk7XG4gIH1cblxuICBAaWYgJGN0LWluY2x1ZGUtY29sb3JlZC1zZXJpZXMge1xuICAgIEBmb3IgJGkgZnJvbSAwIHRvIGxlbmd0aCgkY3Qtc2VyaWVzLW5hbWVzKSB7XG4gICAgICAuI3skY3QtY2xhc3Mtc2VyaWVzfS0je250aCgkY3Qtc2VyaWVzLW5hbWVzLCAkaSArIDEpfSB7XG4gICAgICAgICRjb2xvcjogbnRoKCRjdC1zZXJpZXMtY29sb3JzLCAkaSArIDEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGN0LWNoYXJ0LXNlcmllcy1jb2xvcigkY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaWYgJGN0LWluY2x1ZGUtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIGN0LWNoYXJ0KCk7XG5cbiAgQGlmICRjdC1pbmNsdWRlLWFsdGVybmF0aXZlLXJlc3BvbnNpdmUtY29udGFpbmVycyB7XG4gICAgQGZvciAkaSBmcm9tIDAgdG8gbGVuZ3RoKCRjdC1zY2FsZXMtbmFtZXMpIHtcbiAgICAgIC4je250aCgkY3Qtc2NhbGVzLW5hbWVzLCAkaSArIDEpfSB7XG4gICAgICAgIEBpbmNsdWRlIGN0LXJlc3BvbnNpdmUtc3ZnLWNvbnRhaW5lcigkcmF0aW86IG50aCgkY3Qtc2NhbGVzLCAkaSArIDEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFNjYWxlcyBmb3IgcmVzcG9uc2l2ZSBTVkcgY29udGFpbmVyc1xuJGN0LXNjYWxlczogKCgxKSwgKDE1LzE2KSwgKDgvOSksICg1LzYpLCAoNC81KSwgKDMvNCksICgyLzMpLCAoNS84KSwgKDEvMS42MTgpLCAoMy81KSwgKDkvMTYpLCAoOC8xNSksICgxLzIpLCAoMi81KSwgKDMvOCksICgxLzMpLCAoMS80KSkgIWRlZmF1bHQ7XG4kY3Qtc2NhbGVzLW5hbWVzOiAoY3Qtc3F1YXJlLCBjdC1taW5vci1zZWNvbmQsIGN0LW1ham9yLXNlY29uZCwgY3QtbWlub3ItdGhpcmQsIGN0LW1ham9yLXRoaXJkLCBjdC1wZXJmZWN0LWZvdXJ0aCwgY3QtcGVyZmVjdC1maWZ0aCwgY3QtbWlub3Itc2l4dGgsIGN0LWdvbGRlbi1zZWN0aW9uLCBjdC1tYWpvci1zaXh0aCwgY3QtbWlub3Itc2V2ZW50aCwgY3QtbWFqb3Itc2V2ZW50aCwgY3Qtb2N0YXZlLCBjdC1tYWpvci10ZW50aCwgY3QtbWFqb3ItZWxldmVudGgsIGN0LW1ham9yLXR3ZWxmdGgsIGN0LWRvdWJsZS1vY3RhdmUpICFkZWZhdWx0O1xuXG4vLyBDbGFzcyBuYW1lcyB0byBiZSB1c2VkIHdoZW4gZ2VuZXJhdGluZyBDU1NcbiRjdC1jbGFzcy1jaGFydDogY3QtY2hhcnQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtY2hhcnQtbGluZTogY3QtY2hhcnQtbGluZSAhZGVmYXVsdDtcbiRjdC1jbGFzcy1jaGFydC1iYXI6IGN0LWNoYXJ0LWJhciAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ob3Jpem9udGFsLWJhcnM6IGN0LWhvcml6b250YWwtYmFycyAhZGVmYXVsdDtcbiRjdC1jbGFzcy1jaGFydC1waWU6IGN0LWNoYXJ0LXBpZSAhZGVmYXVsdDtcbiRjdC1jbGFzcy1jaGFydC1kb251dDogY3QtY2hhcnQtZG9udXQgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtbGFiZWw6IGN0LWxhYmVsICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNlcmllczogY3Qtc2VyaWVzICFkZWZhdWx0O1xuJGN0LWNsYXNzLWxpbmU6IGN0LWxpbmUgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtcG9pbnQ6IGN0LXBvaW50ICFkZWZhdWx0O1xuJGN0LWNsYXNzLWFyZWE6IGN0LWFyZWEgIWRlZmF1bHQ7XG4kY3QtY2xhc3MtYmFyOiBjdC1iYXIgIWRlZmF1bHQ7XG4kY3QtY2xhc3Mtc2xpY2UtcGllOiBjdC1zbGljZS1waWUgIWRlZmF1bHQ7XG4kY3QtY2xhc3Mtc2xpY2UtZG9udXQ6IGN0LXNsaWNlLWRvbnV0ICFkZWZhdWx0O1xuJGN0LWNsYXNzLXNsaWNlLWRvbnV0LXNvbGlkOiBjdC1zbGljZS1kb251dC1zb2xpZCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ncmlkOiBjdC1ncmlkICFkZWZhdWx0O1xuJGN0LWNsYXNzLWdyaWQtYmFja2dyb3VuZDogY3QtZ3JpZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGN0LWNsYXNzLXZlcnRpY2FsOiBjdC12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1ob3Jpem9udGFsOiBjdC1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGN0LWNsYXNzLXN0YXJ0OiBjdC1zdGFydCAhZGVmYXVsdDtcbiRjdC1jbGFzcy1lbmQ6IGN0LWVuZCAhZGVmYXVsdDtcblxuLy8gQ29udGFpbmVyIHJhdGlvXG4kY3QtY29udGFpbmVyLXJhdGlvOiAoMS8xLjYxOCkgIWRlZmF1bHQ7XG5cbi8vIFRleHQgc3R5bGVzIGZvciBsYWJlbHNcbiRjdC10ZXh0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCkgIWRlZmF1bHQ7XG4kY3QtdGV4dC1zaXplOiAwLjc1cmVtICFkZWZhdWx0O1xuJGN0LXRleHQtYWxpZ246IGZsZXgtc3RhcnQgIWRlZmF1bHQ7XG4kY3QtdGV4dC1qdXN0aWZ5OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xuJGN0LXRleHQtbGluZS1oZWlnaHQ6IDE7XG5cbi8vIEdyaWQgc3R5bGVzXG4kY3QtZ3JpZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpICFkZWZhdWx0O1xuJGN0LWdyaWQtZGFzaGFycmF5OiAycHggIWRlZmF1bHQ7XG4kY3QtZ3JpZC13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGN0LWdyaWQtYmFja2dyb3VuZC1maWxsOiBub25lICFkZWZhdWx0O1xuXG4vLyBMaW5lIGNoYXJ0IHByb3BlcnRpZXNcbiRjdC1saW5lLXdpZHRoOiA0cHggIWRlZmF1bHQ7XG4kY3QtbGluZS1kYXNoYXJyYXk6IGZhbHNlICFkZWZhdWx0O1xuJGN0LXBvaW50LXNpemU6IDEwcHggIWRlZmF1bHQ7XG4vLyBMaW5lIGNoYXJ0IHBvaW50LCBjYW4gYmUgZWl0aGVyIHJvdW5kIG9yIHNxdWFyZVxuJGN0LXBvaW50LXNoYXBlOiByb3VuZCAhZGVmYXVsdDtcbi8vIEFyZWEgZmlsbCB0cmFuc3BhcmVuY3kgYmV0d2VlbiAwIGFuZCAxXG4kY3QtYXJlYS1vcGFjaXR5OiAwLjEgIWRlZmF1bHQ7XG5cbi8vIEJhciBjaGFydCBiYXIgd2lkdGhcbiRjdC1iYXItd2lkdGg6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIERvbnV0IHdpZHRoIChJZiBkb251dCB3aWR0aCBpcyB0byBiaWcgaXQgY2FuIGNhdXNlIGlzc3VlcyB3aGVyZSB0aGUgc2hhcGUgZ2V0cyBkaXN0b3J0ZWQpXG4kY3QtZG9udXQtd2lkdGg6IDYwcHggIWRlZmF1bHQ7XG5cbi8vIElmIHNldCB0byB0cnVlIGl0IHdpbGwgaW5jbHVkZSB0aGUgZGVmYXVsdCBjbGFzc2VzIGFuZCBnZW5lcmF0ZSBDU1Mgb3V0cHV0LiBJZiB5b3UncmUgcGxhbm5pbmcgdG8gdXNlIHRoZSBtaXhpbnMgeW91XG4vLyBzaG91bGQgc2V0IHRoaXMgcHJvcGVydHkgdG8gZmFsc2VcbiRjdC1pbmNsdWRlLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIElmIHRoaXMgaXMgc2V0IHRvIHRydWUgdGhlIENTUyB3aWxsIGNvbnRhaW4gY29sb3JlZCBzZXJpZXMuIFlvdSBjYW4gZXh0ZW5kIG9yIGNoYW5nZSB0aGUgY29sb3Igd2l0aCB0aGVcbi8vIHByb3BlcnRpZXMgYmVsb3dcbiRjdC1pbmNsdWRlLWNvbG9yZWQtc2VyaWVzOiAkY3QtaW5jbHVkZS1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBJZiBzZXQgdG8gdHJ1ZSB0aGlzIHdpbGwgaW5jbHVkZSBhbGwgcmVzcG9uc2l2ZSBjb250YWluZXIgdmFyaWF0aW9ucyB1c2luZyB0aGUgc2NhbGVzIGRlZmluZWQgYXQgdGhlIHRvcCBvZiB0aGUgc2NyaXB0XG4kY3QtaW5jbHVkZS1hbHRlcm5hdGl2ZS1yZXNwb25zaXZlLWNvbnRhaW5lcnM6ICRjdC1pbmNsdWRlLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFNlcmllcyBuYW1lcyBhbmQgY29sb3JzLiBUaGlzIGNhbiBiZSBleHRlbmRlZCBvciBjdXN0b21pemVkIGFzIGRlc2lyZWQuIEp1c3QgYWRkIG1vcmUgc2VyaWVzIGFuZCBjb2xvcnMuXG4kY3Qtc2VyaWVzLW5hbWVzOiAoYSwgYiwgYywgZCwgZSwgZiwgZywgaCwgaSwgaiwgaywgbCwgbSwgbiwgbykgIWRlZmF1bHQ7XG4kY3Qtc2VyaWVzLWNvbG9yczogKFxuICAjZDcwMjA2LFxuICAjZjA1YjRmLFxuICAjZjRjNjNkLFxuICAjZDE3OTA1LFxuICAjNDUzZDNmLFxuICAjNTk5MjJiLFxuICAjMDU0NGQzLFxuICAjNmIwMzkyLFxuICAjZjA1YjRmLFxuICAjZGRhNDU4LFxuICAjZWFjZjdkLFxuICAjODY3OTdkLFxuICAjYjJjMzI2LFxuICAjNjE4OGUyLFxuICAjYTc0OGNhXG4pICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcIn5jaGFydGlzdC9kaXN0L3Njc3MvY2hhcnRpc3Quc2Nzc1wiO1xuXG4vLyBJbnNpZGUgcGllIGNoYXJ0c1xuLmN0LWNoYXJ0LXBpZSB7XG4gIC5jdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gIH1cbn1cblxuLmN0LWxlZ2VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IC41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgbGk6YmVmb3JlIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNS41cHg7XG4gICAgbGVmdDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXI6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gIH1cblxuICBsaS5pbmFjdGl2ZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgXG4gIH1cblxuICAmLmN0LWxlZ2VuZC1pbnNpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAwIHRvIGxlbmd0aCgkY3Qtc2VyaWVzLWNvbG9ycykge1xuICAgIC5jdC1zZXJpZXMtI3skaX06YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG50aCgkY3Qtc2VyaWVzLWNvbG9ycywgJGkgKyAxKTtcbiAgICAgIGJvcmRlci1jb2xvcjogbnRoKCRjdC1zZXJpZXMtY29sb3JzLCAkaSArIDEpO1xuICAgIH1cbiAgfVxufVxuXG4uY3QtYmFyIHtcbiAgc3Ryb2tlLXdpZHRoOiA1MHB4O1xufVxuXG4uY3QtbGFiZWwge1xuICBmaWxsOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5jdC1ob3Jpem9udGFsLmN0LWxhYmVsLmN0LWVuZCB7XG4gICYuY3QtbGFiZWwtcm90YXRlLTQ1IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpXG4gIH1cblxuICAmLmN0LWxhYmVsLXJvdGF0ZS00NS1lbmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTAwJSkgcm90YXRlKC00NWRlZyk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxufVxuXG54LWNoYXJ0aXN0IHN2ZyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuIiwiLy8gTmV1dHJhbCBTdG9uZSBzY2FsZSAoVGFpbHdpbmQtZGVyaXZlZCkg4oCUIHdhcm0gZ3JheXMgZm9yIHN1cmZhY2VzLCB0ZXh0LCBib3JkZXJzLlxuLy8gRGVjbGFyZWQgYXQgdGhlIHRvcCBiZWNhdXNlIG5hdmJhci9zaWRlbmF2IHZhcmlhYmxlcyBiZWxvdyByZWZlcmVuY2UgdGhlc2UgdG9rZW5zLlxuJGdyYXktMDogICAjRkZGRkZGO1xuJGdyYXktNTA6ICAjRkFGQUY5O1xuJGdyYXktMTAwOiAjRjVGNUY0O1xuJGdyYXktMTI1OiAjRjFGMEVGOyAgLy8gTWlkcG9pbnQgd2FybS1zdG9uZSBlbnRyZSAxMDAgZSAxNTAg4oCUIHN1cmZhY2UgYWluZGEgbWFpcyBzdXRpbCBxdWUgZ3JheS0xNTBcbiRncmF5LTE1MDogI0VFRUNFQjsgIC8vIE1pZHBvaW50IHdhcm0tc3RvbmUgZW50cmUgMTAwIGUgMjAwIOKAlCB1c2FkbyBwcmEgc3VyZmFjZXMgZGUgY2FyZCBzdXRpbG1lbnRlIG1haXMgZXNjdXJhcyBxdWUgZ3JheS0xMDBcbiRncmF5LTIwMDogI0U3RTVFNDtcbiRncmF5LTMwMDogI0Q2RDNEMTtcbiRncmF5LTQwMDogI0E4QTI5RTsgIC8vIFRhaWx3aW5kIHN0b25lLTQwMCDigJQgYWRkZWQgMjAyNi0wNS0yMiBwYXJhIHByZWVuY2hlciBnYXAgZW50cmUgMzAwIGUgNTAwXG4kZ3JheS00NTA6ICM5MDg5ODU7ICAvLyBNaWRwb2ludCB3YXJtLXN0b25lIGludGVycG9sYWRvIGVudHJlIDQwMCBlIDUwMCAobsOjby1UYWlsd2luZCBvZmljaWFsKSDigJQgdXNhZG8gZW0gYm9yZGVyIGRvIGNoZWNrYm94IHVuY2hlY2tlZCBubyBjaGFpciBVSVxuJGdyYXktNTAwOiAjNzg3MTZDO1xuJGdyYXktNzAwOiAjNDQ0MDNDO1xuJGdyYXktOTAwOiAjMUMxOTE3O1xuXG4vLyBJbnRlcmFjdGlvbiBzdGF0ZXMgdXNpbmcgTm90aW9uJ3MgZXhhY3QgdG9rZW5zICgtLWMtYmFjVGVyICsgc2xpZ2h0bHkgZGFya2VyXG4vLyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSBzaW5jZSBOb3Rpb24ncyBzZWxlY3RlZCBpc24ndCBpbiB0aGUgcHVibGljIENTUyBkdW1wKS5cbiRob3Zlci1iZzogICNmMGVmZWQ7ICAvLyBtb3VzZW92ZXIgKE5vdGlvbiAtLWMtYmFjVGVyKVxuJGFjdGl2ZS1iZzogI2U5ZThlNjsgIC8vIGN1cnJlbnQgaXRlbSDigJQgb25lIHN0ZXAgZGFya2VyIHRoYW4gaG92ZXIgZm9yIGNsYXJpdHlcblxuJG1haW4tdGhlbWUtY29sb3I6ICMxOTJhNTk7XG4kbWFpbi10aGVtZS1jb2xvci1saWdodDogbGlnaHRlbigkbWFpbi10aGVtZS1jb2xvciwgNjApO1xuJG1haW4tdGhlbWUtY29sb3ItZGFya2VyOiBkYXJrZW4oJG1haW4tdGhlbWUtY29sb3IsIDEwKTtcbiRzZWNvbmRhcnktdGhlbWUtY29sb3I6ICNiYWJmY2Q7XG4kc2Vjb25kYXJ5LXRoZW1lLWNvbG9yLWxpZ2h0OiAjZTNlNWViO1xuJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodC1kYXJrOiAjNDM0MzQzO1xuJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodGVyOiAjZmFmYWZhOyAvLyBDb21wb25lbnQgQmFja2dyb3VuZFxuLy8gQWNjZW50IE9SSUdJTkFMIGRvIEpFTVMzIChyZXZlcnRpZG8gZG8gbWFjT1Mgc3lzdGVtQmx1ZSkuIFVzYWRvIHRhbnRvIGNvbW8gRklMTFxuLy8gZGUgc3VwZXJmw61jaWVzIChib3TDtWVzIHByaW1hcnksIGNoaXBzIHNlbGVjaW9uYWRvcywgZm9jdXMgcmluZ3MsIGNoZWNrYm94XG4vLyBgYWNjZW50LWNvbG9yYCkgUVVBTlRPIGNvbW8gY29yIGRlIFRFWFRPL0xJTksg4oCUIFNFTSB0b2tlbiBkZWRpY2FkbyBkZSB0ZXh0bzogYVxuLy8gc2VwYXJhw6fDo28gYCRhY2NlbnQtdGV4dC0qYCBmb2kgcmV2ZXJ0aWRhICh0ZXh0byBlIGdyw6FmaWNvcyB1c2FtIG8gbWVzbW8gYXp1bCkuXG4vLyAgIOKAoiBMaWdodCBgIzA2NGFkOWAg4oCUIGF6dWwgb3JpZ2luYWwgZG8gSkVNUzMgKEFBQSBzb2JyZSBicmFuY28pXG4vLyAgIOKAoiBEYXJrICBgIzYwYTVmYWAg4oCUIGJsdWUtNDAwOiBsZWfDrXZlbCBzb2JyZSBhIGZvbGhhIGVzY3VyYSAjMjAyMDIwIChBQSlcbi8vIE8gc2lnaWwgZGUgRXZlbnRvcyBzZWd1ZSBhbWJlci9nb2xkZW4g4oCUIG5hdHVyYWxtZW50ZSBkaXN0aW50byBkbyBhY2NlbnQuXG4kYWNjZW50LWJhY2tncm91bmQ6ICMwNjRhZDk7XG4kYWNjZW50LWJhY2tncm91bmQtZGFyazogIzYwYTVmYTtcbiRjaGVja2JveC1jaGVja2VkLWJhY2tncm91bmQ6ICRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHQ7XG4kYWNjZW50LWNvbG9yLXdhcm5pbmc6ICNlOTE0MTQ7XG4kYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyazogI0ZGNkI2QjsgLy8gdmVybWVsaG8tY2xhcm8gcC8gbGVnaWJpbGlkYWRlIG5vIGRhcmsgKHJlZC00MDApXG4kYWNjZW50LWNvbG9yLXN1Y2Nlc3M6ICMyZTllNDQ7XG4kYWNjZW50LWNvbG9yLXN1Y2Nlc3MtZGFyazogIzY2QkI2QTsgLy8gdmVyZGUtY2xhcm8gcC8gbGVnaWJpbGlkYWRlIG5vIGRhcmsgKGdyZWVuLTQwMClcblxuJHJldmlldy1ub3Rlcy1iYWNrZ3JvdW5kOiAjZGZmMGQ4O1xuJHJldmlldy1kcmFmdC1iYWNrZ3JvdW5kOiByZ2JhKDUxLCAxNDcsIDI1NSwgLjYpO1xuJGxpc3QtZXZlbi1iYWNrZ3JvdW5kOiAjZWVlZmYyO1xuJGxpc3QtYmFja2dyb3VuZC1ob3ZlcjogI2Q1ZDZkODtcbiRjb2x1bW4tYm9yZGVyLWNvbG9yOiAjODQ4Nzg5O1xuXG4kYWRtaW4tYmFja2dyb3VuZDogd2hpdGU7XG4kYWRtaW4tYmFja2dyb3VuZC1kYXJrOiBibGFjaztcbiRhZG1pbi1jYXJkOiAjRjZGNkY2O1xuJGFkbWluLWNhcmQtYm9yZGVyOiBsaWdodGdyYXk7XG5cbiRjb250ZW50LWJhY2tncm91bmQ6IHdoaXRlO1xuJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrOiBibGFjaztcbiRjb250ZW50LWNvbG9yOiAjMzYzNjM2O1xuJGNvbnRlbnQtY29sb3ItZGFyazogI0Y2RjZGNjtcbiRjb250ZW50LWxpZ2h0Y29sb3I6IGxpZ2h0ZW4gKCRjb250ZW50LWNvbG9yLCA2MCk7XG4kY29udGVudC1saWdodGNvbG9yLWRhcms6IGxpZ2h0Z3JheTtcbi8vIENvciBkZSB0ZXh0byBkbyBjYWJlw6dhbGhvIGRlIHRhYmVsYSAoTWF0ZXJpYWwgYC5tYXQtaGVhZGVyLWNlbGxgKTogY2luemFcbi8vIGVzbWFlY2lkby4gVG9rZW4gw7puaWNvIHJldXNhZG8gcGVsbyBjYWJlw6dhbGhvIEUgcGVsYSBjb2x1bmEgZGUgbnVtZXJhw6fDo28gKCMpLFxuLy8gcHJhIGFtYm9zIGZpY2FyZW0gaWTDqm50aWNvcy4gbGlnaHQgPSByZ2JhKDAsMCwwLC41NDEpOyBkYXJrID0gcmdiYSgyNTUsMjU1LDI1NSwuNzApLlxuJHRhYmxlLWhlYWRlci1jb2xvcjogIzAwMDAwMDhBO1xuJHRhYmxlLWhlYWRlci1jb2xvci1kYXJrOiAjRkZGRkZGQjM7XG4kY29udGVudC1ib3JkZXI6IHJnYmEoMCwgMCwgMCwgLjIzKTtcblxuJHNpZGViYXItYmFja2dyb3VuZDogJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodGVyO1xuJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtYmFja2dyb3VuZDogI2U2ZTZlNjtcblxuJGxhbmRpbmctYmFja2dyb3VuZDogd2hpdGVzbW9rZTtcbiRmb290ZXItYmFja2dyb3VuZDogd2hpdGVzbW9rZTtcbiRmYWItYmFja2dyb3VuZDogd2hpdGU7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiB3aGl0ZTtcbiRjbG9zZS1idXR0b24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiRibGFjay1iYWNrZ3JvdW5kLWFscGhhMjogcmdiYSgwLCAwLCAwLCAuMik7XG4kYmxhY2stYmFja2dyb3VuZC1hbHBoYTE6IHJnYmEoMCwgMCwgMCwgLjEpOyAvLyBDb21wb25lbnQgY29sb3JzXG5cbiRyZXZpZXctZm9ybS1ib3JkZXI6IHJnYigxNzksIDEzNiwgMjU1KTtcbiRyZXZpZXctdGV4dC1maWVsZDogcmdiYSgwLCAwLCAwLCAuNSk7XG4kcmV2aWV3LXRleHQtZmllbGQtZGFyazogcmdiKDI1NSwgMjU1LCAyNTUsIC41KTtcblxuJGV2ZW50LWNyZWF0aW9uLWZvcm0tYm9yZGVyOiByZ2IoMjQ0LCAxNjQsIDk2KTtcbiRldmVudC1yZXF1ZXN0LWZvcm0tYm9yZGVyOiAjQjlBRDgzO1xuJGV2ZW50LWNhcmQtYmFja2dyb3VuZDogI2VkZWRlZDtcbiRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyazogIzI2MjYyNjtcbi8vIFN1cGVyZsOtY2llIG5ldXRyYSBFTEVWQURBIOKAlCB1bSBwYXNzbyBhY2ltYSBkYSBmb2xoYSAoJGFkbWluLWJhY2tncm91bmQpLlxuLy8gVG9rZW4gZGUgcHJvcMOzc2l0byBnZXJhbCBwLyBlbGVtZW50b3MgXCJsZXZhbnRhZG9zXCIgKHN1Yi1ib3TDo28gZGUgc2VsZWN0LFxuLy8gY2FyZHMgZGUgYXJxdWl2bywgcGFpbsOpaXMsIGV0Yy4pLiBWYWxvciBsaWdodCA9IHRvbSBxdWVudGUgTm90aW9uIChtZXNtb1xuLy8gZG8gaG92ZXIgZGEgc2lkZWJhciBhZG1pbikgcC8gY29udmVyc2FyIGNvbSBvIHJlc3RvIGRvIGNoYWlyIFVJLlxuJHN1cmZhY2UtcmFpc2VkOiAjZjNmMmYwO1xuJHN1cmZhY2UtcmFpc2VkLWRhcms6ICMzMDMwMzA7XG5cbi8vIENvciBkZSDDjUNPTkUgc2VjdW5kw6FyaW8gLyBtdXRlZCAoZ2xpZm9zIHF1ZSBuw6NvIGNvbXBldGVtIGNvbSBvIGNvbnRlw7pkbzpcbi8vICsv4oiSIGRvIG51bWJlci1pbnB1dCwgY2hldnJvbiBkdXBsbyBkbyBzZWxlY3QsIGx1cGEgZG8gZmlsdHJvLCBzZXRhIGRvXG4vLyBkYXRlcGlja2VyLCBldGMuKS4gRXF1aXZhbGVudGUgYW8gYFVJQ29sb3Iuc2Vjb25kYXJ5TGFiZWxgIGRvIG1hY09TIOKAlFxuLy8gbmV1dHJhLCBhbGZhIDU1JSBwLyBpbnRlZ3JhciBjb20gcXVhbHF1ZXIgYmcgKGTDoSB0YW1iw6ltIG9wYWNpdHkgZmVlZGJhY2tcbi8vIG5vIGhvdmVyL2Rpc2FibGVkIHBvciBoZXJhbsOnYSkuXG4kaWNvbi1tdXRlZDogcmdiYSgwLCAwLCAwLCAwLjU1KTtcbiRpY29uLW11dGVkLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41NSk7XG5cbi8vIENvbnRyYXBhcnRlcyBcImFjZXNhc1wiIOKAlCB1c2FkYXMgZW0gaG92ZXIvZXN0YWRvIGF0aXZvIHByYSBkYXIgZmVlZGJhY2tcbi8vIHZpc3VhbCBkbyBnbGlmbyAobyBjb250YWluZXIgZ2FuaGEgYCRpY29uLWNvbnRhaW5lci1iZ2A7IG8gcHLDs3ByaW9cbi8vIGdsaWZvIGdhbmhhIGVzc2UgdG9tIG1haXMgZXNjdXJvL2NsYXJvKS5cbiRpY29uLW11dGVkLWhvdmVyOiByZ2JhKDAsIDAsIDAsIDAuODUpO1xuJGljb24tbXV0ZWQtaG92ZXItZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuXG4vLyBDb250YWluZXIgZGUgw41DT05FIOKAlCBtZXNtbyB0b20gZGUgXCJob3ZlciB0cmFuc2zDumNpZG9cIiB1c2FkbyBub3Ncbi8vIHN0ZXBwZXJzIGRvIG51bWJlci1pbnB1dCAoYCsv4oiSYCkuIFByZXRvL2JyYW5jbyBjb20gYWxmYSBiYWl4byBpbnRlZ3JhXG4vLyBjb20gcXVhbHF1ZXIgYmcuIFJldXRpbGl6w6F2ZWwgZW0gc3ViLWJvdMO1ZXMsIHBpbGwtd3JhcHMgZSBlc3RhZG9zIGhvdmVyXG4vLyBkZSBnbGlmb3Mgc2VjdW5kw6FyaW9zIOKAlCBtYW50w6ltIGEgbGluZ3VhZ2VtIGNvZXNhLlxuJGljb24tY29udGFpbmVyLWJnOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuJGljb24tY29udGFpbmVyLWJnLWRhcms6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7XG4kZXZlbnQtY2FyZC1saW5lLXNlcGFyYXRvcjogd2hpdGU7XG4kc3VibWlzc2lvbi1jcmVhdGlvbi1mb3JtLWJvcmRlcjogI0JBNTY1ODtcbiRldmVudC1jYXJkLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiRldmVudC1jYXJkLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG5cbiRzaWRlYmFyLWxhYmVsLWNvbG9yOiAjNDM0MzQzO1xuJHNpZGViYXItbGFiZWwtY29sb3ItZGFyazogI0Q2RDZENjtcblxuJHNpZGViYXItZGl2aWRlci1jb2xvcjogJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtYmFja2dyb3VuZDtcblxuLy8gVFBDIGNoYWlyIFVJIOKAlCBjYW5vbmljYWwgY2hyb21lIGJvcmRlciB0b2tlbnMuXG4vLyBPbmUgcGFpciBmb3IgdGhlIHJlc3Rpbmcgc3RhdGUgKHRoZSBmaW5lIDFweCBsaW5lcyB0aGF0IHNlcGFyYXRlIHRoZVxuLy8gc2lkZWJhciwgYnJlYWRjcnVtYiwgYW5kIG1lbnUgcGFuZWxzIGZyb20gc3Vycm91bmRpbmcgY2hyb21lKSBhbmQgb25lXG4vLyBwYWlyIGZvciB0aGUgXCJhY3RpdmVcIiBzdGF0ZSAodXNlZCB3aGVuIHRoZSB1c2VyIGhvdmVycy9kcmFncyB0aGVcbi8vIHNpZGViYXIgcmVzaXplIGhhbmRsZSwgd2hlcmUgdGhlIGVkZ2UgbGluZSBnZXRzIGEgdG91Y2ggbW9yZSBjb250cmFzdCkuXG4kY2hyb21lLWJvcmRlci1saWdodDogICAgICAgICRncmF5LTIwMDsgICAvLyAjRTdFNUU0IOKAlCBjaGFpciBVSSBkZWZhdWx0IGRpdmlkZXJcbiRjaHJvbWUtYm9yZGVyLWRhcms6ICAgICAgICAgIzNhMzkzNzsgICAgIC8vIGRhcmstbW9kZSBjb3VudGVycGFydCAod2FybSBuZWFyLWJsYWNrICsgMSBzdGVwKVxuJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlOiAkZ3JheS0zMDA7ICAgLy8gI0Q2RDNEMSDigJQgYWN0aXZlL2hvdmVyIHZhcmlhbnRcbiRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlOiAgIzVhNTY1MTsgICAgIC8vIGRhcmstbW9kZSBhY3RpdmUgdmFyaWFudFxuXG4kYWRtaW4tYWNjZW50LWNvbG9yOiB3aGl0ZTtcbiRhZG1pbi1hY2NlbnQtY29sb3ItZGFyazogd2hpdGU7XG4kYWRtaW4tYWNjZW50LWJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvci1kYXJrOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcblxuJHJvdy10b3BpYy1oaWdobGlnaHQtY29sb3I6ICNlM2U1ZWI7XG4kcm93LXRvcGljLWhpZ2hsaWdodC1jb2xvci1kYXJrOiAjMjYyNjI2O1xuXG4vLyBDb2xvcnMgZm9yIHRoZSB0b3AgbWVudSBpbiBhZG1pblxuJG5hdmJhci1hZG1pbi1iYWNrZ3JvdW5kOiAkZ3JheS01MDtcbiRuYXZiYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrOiAjMjYyNjI2O1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjogJGdyYXktNzAwO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOiAjRDZENkQ2O1xuLy8gSG92ZXIgaXMgbmV1dHJhbCBpbiBib3RoIHRoZW1lcyDigJQgbm8gYWdncmVzc2l2ZSBjb2xvciBmbGFzaC5cbi8vIERhcmsgbmF2YmFyIHVzZXMgTElHSFRFUiBob3Zlci9hY3RpdmUgdGhhbiB0aGUgc2lkZWJhciBiZWNhdXNlIHRoZSBuYXZiYXIgYmdcbi8vICgjMjYyNjI2KSBpcyBpdHNlbGYgYnJpZ2h0ZXIgdGhhbiB0aGUgc2lkZWJhciBiZyAoIzIwMjAyMCkg4oCUIHNhbWUgYWJzb2x1dGVcbi8vIGhvdmVyIGNvbG9yIHdvdWxkIGJlIGludmlzaWJsZSBoZXJlLiBWYWx1ZXMgcGlja2VkIGZvciB+MTYgLyB+MjQgYnJpZ2h0bmVzc1xuLy8gdW5pdHMgb2YgY29udHJhc3QgYWdhaW5zdCB0aGUgbmF2YmFyIGJnLlxuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvcjogJGdyYXktOTAwO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvci1kYXJrOiAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4kbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ6ICRob3Zlci1iZztcbiRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrOiAjMzYzNDMyO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuJG5hdmJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kLWRhcms6ICM0MjQwM2M7XG5cbi8vIGNvbG9ycyBmb3IgdGhlIHNpdGUgbWVudSBpbiBhZG1pblxuJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDogI2Y5ZjhmNzsgIC8vIE5vdGlvbiAtLWMtYmFjU2VjIChsaWdodClcbiRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyazogIzIwMjAyMDsgIC8vIE5vdGlvbi1lcXVpdmFsZW50IGRhcmsgc2lkZWJhciAod2FybSBuZWFyLWJsYWNrKVxuLy8gU2lkZWJhciBpdGVtIHRleHQg4oCUIHZhbHVlcyBzb3VyY2VkIGZyb20gQ2xhdWRlLmFpJ3Mgc2lkZWJhciAoY29sb3Jcbi8vIHJnYig1NSwgNTUsIDUyKSA9ICMzNzM3MzQpIGZvciBhIG1vcmUgZGVmaW5lZCAvIHJlYWRhYmxlIGdyYXkgdGhhbiB0aGVcbi8vIE5vdGlvbi1kZXJpdmVkICM3MzcyNmQgd2UgaGFkIGJlZm9yZS4gU2VsZWN0ZWQgc3RheXMgc2xpZ2h0bHkgZGFya2VyXG4vLyAoIzJjMmMyYikgc28gdGhlcmUncyBzdGlsbCBhIHN1YnRsZSBjb2xvciBzdGVwIG9uIHRvcCBvZiB0aGUgYmcgcGlsbC5cbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yOiAjMzczNzM0OyAgICAgICAgICAgICAvLyBsaWdodCB1bnNlbGVjdGVkIOKAlCBDbGF1ZGUtc3R5bGUgZGVmaW5lZCBncmF5XG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU6ICMwMDA7ICAgICAgICAgLy8gbGlnaHQgc2VsZWN0ZWQg4oCUIHB1cmUgYmxhY2sgZm9yIG1heCBjb250cmFzdCB2cyAjMzczNzM0XG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOiAjYzRjMmJkOyAgICAgICAgLy8gZGFyayB1bnNlbGVjdGVkIChsaWdodGVyIHdhcm0gZ3JheSBmb3IgYmV0dGVyIGxlZ2liaWxpdHkpXG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyazogI2YyZjFlZTsgLy8gZGFyayBzZWxlY3RlZCAoYnJpZ2h0ZXIgbmVhci13aGl0ZSlcbi8vIEhvdmVyOiB0ZXh0IGNvbG9yIHN0YXlzIGF0IHRoZSB1bnNlbGVjdGVkIHZhbHVlIChOb3Rpb24gcGF0dGVybiDigJQgb25seSBiZ1xuLy8gY2hhbmdlcyBvbiBob3ZlcikuIEJnIGlzIGEgc29mdCB3YXJtLWRhcmsgc3RlcCBhYm92ZSB0aGUgc2lkZWJhciBpbiBkYXJrIG1vZGUsXG4vLyBuZXV0cmFsIGxpZ2h0IHBpbGwgaW4gbGlnaHQgbW9kZS5cbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWNvbG9yLWRhcms6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAjZThlNmUzOyAgLy8gzpR+NiUgdnMgI2Y5ZjhmNyBzaWRlYmFyIOKAlCBOb3Rpb24taXNoIGJ1dCBtb3JlIGxlZ2libGVcbiRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyazogIzM0MzMyZjsgIC8vIM6UfjglIHZzICMyMDIwMjAgc2lkZWJhciDigJQgd2FybSBzdGVwIHVwXG4kc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kOiAkYWN0aXZlLWJnO1xuJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrOiAjM2EzOTM2OyAgLy8gdHdvIHN0ZXBzIGxpZ2h0ZXIg4oCUIHZpc2libGUgcGlsbCBpbiBkYXJrIG1vZGVcblxuXG4kc2lkZWJhci1sYWJlbC1zZWxlY3RlZC1jb2xvcjogIzNjNDA0MztcbiRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWNvbG9yLWRhcms6IHdoaXRlO1xuXG4kc2lkZWJhci1hZG1pbi1sYWJlbC1zZWxlY3RlZC1jb2xvcjogIzNjNDA0MztcbiRzaWRlYmFyLWFkbWluLWxhYmVsLWFsdC1zZWxlY3RlZC1jb2xvcjogcmdiYSgzMSwgMzEsIDMxLCAwLjgpO1xuXG4kbmF2YmFyLWFkbWluLWljb24tY29sb3I6ICRncmF5LTUwMDtcbiRuYXZiYXItaWNvbi1jb2xvcjogJHNpZGViYXItbGFiZWwtY29sb3I7XG4kbmF2YmFyLWljb24tY29sb3ItY2xlYXI6ICRzZWNvbmRhcnktdGhlbWUtY29sb3ItbGlnaHRlcjtcbiRuYXZiYXItYmFja2dyb3VuZC1jb2xvcjogI0Y2RjZGNjtcbiRuYXZiYXItYmFja2dyb3VuZC1jb2xvci1kYXJrOiAjMjYyNjI2O1xuXG4vLyBUb29sYmFyIGRvIGF1dG9yL3Jldmlzb3Ig4oCUIHBhbGV0YSB0aGVtZS1hd2FyZSBjb20gY29udHJhc3RlIFdDQUcg4omlIDM6MVxuLy8gKFVJIGNvbXBvbmVudHMsIDEuNC4xMSksIHNhdHVyYcOnw6NvIGFsdGEgKDkwLTEwMCUpIGUgbWVzbWEgaHVlIGxpZ2h0L2Rhcmtcbi8vIChyZXZpc2FkYSAyMDI2LTA1LTI3IOKAlCB2ZXJzw6NvIFwidmlicmFudGVcIikuIExpZ2h0bmVzcyB2YXJpYSAofjM4JSBsaWdodCB2c1xuLy8gfjYwJSBkYXJrKSBhcGVuYXMgcGFyYSBwYXNzYXIgY29udHJhc3RlOyBodWUgZSBzYXR1cmHDp8OjbyBmaWNhbSBwYXJhZG9zXG4vLyDihpIgY2FkYSBwYXBlbCDDqSBcIm9idmlhbWVudGUgbGFyYW5qYVwiLCBcIm9idmlhbWVudGUgYXp1bFwiIGV0YyBlbSBhbWJvcyBtb2Rvcy5cbi8vXG4vLyAgIEh1ZSAgICAgfCBMaWdodCAgICAgICAgICAgICB8IERhcmtcbi8vICAgLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tXG4vLyAgIDQ4wrAgIGFtYXJlbG8gfCAjQTg4RTAwIChMMzMlKSB8ICNGRkQ5MzMgKEw2MCUpXG4vLyAgIDIyMMKwIGF6dWwgICAgfCAjMTE0NUMyICAgICAgICB8ICM1QzhFRjBcbi8vICAgMTQwwrAgdmVyZGUgICB8ICMwODg4MzggICAgICAgIHwgIzNGREI3RFxuLy8gICAwwrAgICB2ZXJtZWxob3wgI0RDMjYyNiAgICAgICAgfCAjRkYxQTFBXG4vLyAgIDI4MMKwIHDDunJwdXJhIHwgIzc3MDhBRiAgICAgICAgfCAjQkM1RERGXG4vL1xuLy8gKipUcmFkZS1vZmYgZXhwbMOtY2l0byAoYXV0b3ItNCwgMjAyNi0wNS0yNyk6KiogRXZlbnRvcyBsaWdodCB1c2EgV0NBR1xuLy8gcmVsYXhhZG8gU8OTIG5vIHBpbGwgc2VsZWN0ZWQgKDIuNTk6MSB2cyBpZGVhbCAzOjEpLiBTb2JyZSBvIG5hdmJhciBub3JtYWxcbi8vICgjZjlmOGY3KSBlbGUgcGFzc2EgMy4xMToxIOKcky4gSnVzdGlmaWNhdGl2YTogbyBwaWxsIHNlbGVjdGVkIHRlbSA0IHNpbmFpc1xuLy8gYWRpY2lvbmFpcyAoYmcgd2FybSBiZWlnZSArIHVuZGVybGluZSAycHggY29sb3JpZG8gKyB0ZXh0byBib2xkICsgY29yKSDigJRcbi8vIG8gdXN1w6FyaW8gbsOjbyBkZXBlbmRlIGRvIGNvbnRyYXN0ZSBkbyDDrWNvbmUgcGFyYSBwZXJjZWJlciBvIGVzdGFkbyBhdGl2by5cbi8vIEVzc2UgdHJhZGUtb2ZmIHBlcm1pdGUgbWFudGVyIGEgdmlicmHDp8OjbyBcImxhcmFuamEtbGFyYW5qYVwiIHF1ZSBhXG4vLyBpZGVudGlkYWRlIHZpc3VhbCBkYSB0b29sYmFyIHBlZGUuIFRvZG9zIG9zIG91dHJvcyA5IHZhbG9yZXMgcGFzc2FtIOKJpTM6MVxuLy8gZXN0cml0byBlbSB0b2RvcyBvcyBmdW5kb3MuXG4vL1xuLy8gQ29udHJhc3RlcyB2ZXJpZmljYWRvcyAodG9kb3Mgc29icmUgcGlsbCBzZWxlY3RlZCDigJQgY2FzbyBtYWlzIGNyw610aWNvKTpcbi8vICAgTGlnaHQ6IEV2ZW50b3MgMi41OToxIChyZWxheGFkbyksIGRlbWFpcyAzLjk24oCTOC41MDoxIOKck1xuLy8gICBEYXJrOiAgMy42MOKAkzguMTM6MSDinJNcbi8vIEV2ZW50b3Mg4oCUIGRpc3RpbnRpdm8gZGVudHJvIGRhIGZhbcOtbGlhIGFtYmVyL2xhcmFuamEuIFN5c3RlbSBhY2NlbnQgw6lcbi8vIGFtYmVyLTcwMC9hbWJlci00MDAgKGRlZXAgdXRpbGl0eSk7IEV2ZW50b3MgZmljYSBlbSBhbWJlci01MDAvYW1iZXItMzAwXG4vLyBwcmEgbGVyIGNvbW8gXCJ0b20gbWFpcyBjbGFybyAvIGJyaWxoYW50ZVwiIOKAlCBwcmVzZXJ2YSBhIGlkZW50aWRhZGUgZG9cbi8vIMOtY29uZSBzZW0gc2UgY29uZnVuZGlyIGNvbSBjaHJvbWUgYWNjZW50LlxuLy8gRXZlbnRvcyA9IGdyZWVuIChsaWdodCkgLyB0ZWFsLTYwMCAoZGFyaykg4oCUIFNXQVAgZmVpdG8gY29tIFJldmlzw7Vlcy5cbi8vIEEgY29yIGNhc2EgY29tIG8gbm92byBgJGV2ZW50LXRpdGxlLWNvbG9yLSpgIChldmVudG8gdGVtIGlkZW50aWRhZGVcbi8vIHZlcmRlL3RlYWwgZW0gdG9kbyBvIHNpc3RlbWEpLiBIdWUgc2hpZnQgZW50cmUgbW9kb3Mgw6kgaW50ZW5jaW9uYWxcbi8vIChjb250cmFzdGUgZG8gdGVhbC02MDAgZmFsaGEgQUEgZW0gZGFyaywgZW50w6NvIG1hbnRpdmVtb3MgZ3JlZW5cbi8vIG1haXMgYnJpbGhhbnRlIGzDoTsgbWFzIG11ZG91IHByYSB0ZWFsLTYwMCBwcmEgZGFyIHBlcnNvbmFsaWRhZGUpLlxuJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvcjogIzA4ODgzODsgICAgICAgIC8vIGdyZWVuIChlcmEgYW1iZXItNTAwKVxuJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvci1kYXJrOiAjMkRENEJGOyAgIC8vIFRhaWx3aW5kIHRlYWwtNDAwIChlcmEgYW1iZXItMzAwKVxuLy8gU3VibWlzc8O1ZXMgdXNhIG8gQUNDRU5UIGRvIHNpc3RlbWEgKHZpYSByZWZlcsOqbmNpYSDigJQgdG9rZW4gY29udGludWFcbi8vIGRlZGljYWRvOyBtdWRhIHNlIGAkYWNjZW50LWJhY2tncm91bmRgIG11ZGFyKS5cbiRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLWRhcms6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuLy8gUmV2aXPDtWVzID0gYW1iZXIgKGhlcmRhIGRvIHF1ZSBlcmEgZGUgRXZlbnRvcykuIFNXQVAuXG4kbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvcjogI0Y1OUUwQjsgICAgIC8vIFRhaWx3aW5kIGFtYmVyLTUwMCAoZXJhIGdyZWVuKVxuJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3ItZGFyazogI0ZDRDM0RDsgLy8gVGFpbHdpbmQgYW1iZXItMzAwIChlcmEgZ3JlZW4gY2xhcm8pXG4kbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvcjogI0RDMjYyNjtcbiRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLWRhcms6ICNGRjFBMUE7XG4kbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yOiAjNzcwOEFGO1xuJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrOiAjQkM1RERGO1xuLy8gQ29vcmRlbmFkb3IgZGUgc2Vzc8OjbyB0w6ljbmljYSDigJQgaW5kaWdvICjDum5pY2EgY29yIHByaW3DoXJpYSBmcmlhIHNlbVxuLy8gZG9ubyBubyBzaXN0ZW1hOyBkaXN0aW50YSBkZSBibHVlIGRlIFN1Ym1pc3PDtWVzIGUgZG8gdGVhbCBxdWUgRXZlbnRvc1xuLy8gYXNzdW1pdSBlbSBkYXJrKS5cbiRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvcjogIzRGNDZFNTsgICAgICAgLy8gVGFpbHdpbmQgaW5kaWdvLTYwMFxuJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcms6ICM4MThDRjg7ICAvLyBUYWlsd2luZCBpbmRpZ28tNDAwXG5cbi8vIFB1YmxpY2F0aW9ucyA9IGNpYW5vL3RlYWwgKGxpdnJvL2ltcHJlc3PDo28pIOKAlCDDum5pY28gaHVlIFwiZWRpdG9yaWFsXCIgYWluZGFcbi8vIG7Do28gdXNhZG8gbm8gbmF2IGRvIGF1dG9yL3Jldmlzb3IuXG4kbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yOiAjMDg5MUIyOyAgICAgICAvLyBUYWlsd2luZCBjeWFuLTYwMFxuJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrOiAjNjdFOEY5OyAgLy8gVGFpbHdpbmQgY3lhbi0zMDBcblxuLy8g4pSA4pSAIENvciBkZWRpY2FkYSBkb3MgVMONVFVMT1MgREUgRVZFTlRPIG5vIHNpc3RlbWEg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBVc2FkYSBlbSB0b2RvIGx1Z2FyIHF1ZSByZW5kZXJpemEgXCJub21lIGRvIGV2ZW50b1wiIGNvbW8gbGluay90w610dWxvXG4vLyBwcmltw6FyaW8gKGxpc3RhIGRlIGV2ZW50b3MsIGNhcmRzIGVtIFN1Ym1pc3PDtWVzL1Jldmlzw7Vlcy9TZXNzw7Vlcyxcbi8vIGV2ZW50LXZpZXcgZXRjLikuIFNlbWFudGljYW1lbnRlID0gXCJpZGVudGlkYWRlIGRlIGV2ZW50b1wiLlxuLy8gQmF0ZSBjb20gYCRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItKmAgKEV2ZW50b3MgPSBncmVlbi90ZWFsKS5cbi8vIEh1ZSBzaGlmdCBlbnRyZSBsaWdodC9kYXJrIMOpIGludGVuY2lvbmFsLlxuJGV2ZW50LXRpdGxlLWNvbG9yLWxpZ2h0OiAjMDg4ODM4OyAgIC8vIGdyZWVuIChtZXNtbyBkbyDDrWNvbmUgRXZlbnRvcyBsaWdodClcbiRldmVudC10aXRsZS1jb2xvci1kYXJrOiAgIzJERDRCRjsgICAvLyBUYWlsd2luZCB0ZWFsLTQwMCAobWVzbW8gZG8gw61jb25lIEV2ZW50b3MgZGFyaylcblxuLy8gUGFyIGRvICRldmVudC10aXRsZS1jb2xvci0qIOKAlCBjb3IgREVESUNBREEgZGUgXCJub21lIGRhIHN1Ym1pc3PDo29cIlxuLy8gY29tbyBsaW5rL3TDrXR1bG8gcHJpbcOhcmlvIChjYXJkIGRlIHN1Ym1pc3PDo28sIGhlYWRlciBkZSBwYXBlci1pbmZvLFxuLy8gbGlzdGFzKS4gU2VtYW50aWNhbWVudGUgPSBcImlkZW50aWRhZGUgZGUgc3VibWlzc8Ojb1wiLiBIb2plIGVzcGVsaGEgb1xuLy8gJGFjY2VudC1iYWNrZ3JvdW5kLCBtYXMgZGVzYWNvcGxhZG8gcHJhIHBvZGVyIGFqdXN0YXIgdG9tL2JyaWxob1xuLy8gc2VtIGFmZXRhciBib3TDtWVzL2FjY2VudCBkbyBzaXN0ZW1hLlxuJHN1Ym1pc3Npb24tdGl0bGUtY29sb3ItbGlnaHQ6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiRzdWJtaXNzaW9uLXRpdGxlLWNvbG9yLWRhcms6ICAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvcjogI2UwZTBlMDtcbiRuYXZiYXItc2VsZWN0ZWQtbWVudS1jb2xvci1kYXJrOiAjM2M0MDQzO1xuJHNlYXJjaC1iYXItYmFja2dyb3VuZDogJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtYmFja2dyb3VuZDtcbiRsYW5kaW5nLXBhZ2UtYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYztcblxuJHN1Ym1pc3Npb24tZmlsZXM6IHJnYig1NCwgNTQsIDU0KTtcbiRpbnB1dHMtbGFuZGluZy1jb2xvcjogI2I1YjViNTtcbiRmb290ZXItdmVyc2lvbi1jb2xvcjogYmxhY2s7XG4kZmFiLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpO1xuJHRvb2x0aXAtY29sb3I6IHdoaXRlO1xuJGNsb3NlLWJ1dHRvbi1jb2xvcjogYmxhY2s7IC8vIENvbXBvbmVudCBTaGFkb3dzXG4kY2xvc2UtYnV0dG9uLWNvbG9yLWRhcms6IHdoaXRlO1xuJG1hdC1zaGFkb3c6IDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgLjIpLFxuMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLFxuMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpO1xuJHRvb2x0aXAtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIC4yKSxcbjAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSxcbjAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgLjEyKTtcbi8vICRpbnNldC1tYXQtc2hhZG93OiBpbnNldCAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgLjEyKSxcbi8vIGluc2V0IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIC4yNCk7IC8vIFN1Ym1pc3Npb24gU3RhdHVzXG4kbWF0LWNhcmQtdGl0bGUtYmFja2dyb3VuZDogI2QxZDFkMTtcbiRpbnNldC1tYXQtc2hhZG93OiAwcHggMHB4IDVweCAjYmJiYmJiOyAvLyBTdWJtaXNzaW9uIFN0YXR1c1xuJHN0YXR1cy1pY29uLWNvbG9yOiB3aGl0ZTtcbiRjbG9zZS1idXR0b24tY29sb3I6IGJsYWNrO1xuJHNsaWRlci10aWNrLWJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMSk7XG4kZmFiLXNoYWRvdzogMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAuMiksIDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgLjE0KSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAuMTIpO1xuJHRvb2x0aXAtc2hhZG93OiAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIC4yKSwgMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAuMTQpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIC4xMik7XG4kc2xpZGVyLWxhYmVsLXNoYWRvdzogMCAxcHggNXB4IDFweCByZ2JhKDAsMCwwLC43KTtcblxuLy8gVHJhY2tcbiR0cmFjay1ub3Qtb3Blbi1jb2xvcjogcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjUpO1xuJHRyYWNrLWNsb3NlZC1jb2xvcjogcmdiYSgyMjIsNTgsNDMsMC45KTtcblxuLy8gRXJyb3JzXG4kZXJyb3ItaW52YWxpZC1jb2xvcjogI0NDMDAyOTtcbiRub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcjogIzdGQzE1QztcbiRub3RpZmljYXRpb24tY29sb3I6ICNmYWZhZmE7XG5cbiRsZWdlbmQtY29sb3ItbGVzczogI2ZiOGMwMDMzO1xuJGxlZ2VuZC1jb2xvci1tb3JlOiAjYjBiZWM1ODA7XG4kbGVnZW5kLWNvbG9yLWNvcnJlY3Q6ICNiYmRlZmJhNjtcbiRsZWdlbmQtY29sb3ItZXhhY3Q6ICM4MWM3ODQ2NjtcblxuLy8gQ2hhcnQgcGFsZXR0ZSBkZWZpbml0aW9ucyBleHBvc2VkIGFzIENTUyB2YXJpYWJsZXMgKHVzZWQgYnkgQ29sb3JQYWxldHRlcyBUUyBoZWxwZXIpXG46cm9vdCB7XG4gIC8vIFRhbmdvOiB3YXJtL2Nvb2wgYWx0ZXJuYXRlZCwgZ3JvdXBlZCB0byBwcmVzZXJ2ZSBjb250cmFzdCB3aGVuIGludGVybGVhdmluZ1xuICAtLXBhbGV0dGUtdGFuZ28tZ3JvdXBzOiAjZmNlOTRmLCNlZGQ0MDAsI2M0YTAwMHwjNzI5ZmNmLCMzNDY1YTQsIzIwNGE4N3wjZmNhZjNlLCNmNTc5MDAsI2NlNWMwMHwjOGFlMjM0LCM3M2QyMTYsIzRlOWEwNnwjZTliOTZlLCNjMTdkMTEsIzhmNTkwMnwjYWQ3ZmE4LCM3NTUwN2IsIzVjMzU2NnwjODg4YTg1LCM1NTU3NTMsIzJlMzQzNnwjZWYyOTI5LCNjYzAwMDAsI2E0MDAwMHwjZWVlZWVjLCNkM2Q3Y2YsI2JhYmRiNjtcbiAgLy8gQWR3YWl0YSAoR05PTUUgSElHKTogY29vbC93YXJtIGFsdGVybmF0aW9uLCBuZXV0cmFscyBsYXN0XG4gIC0tcGFsZXR0ZS1hZHdhaXRhLWdyb3VwczogIzk5YzFmMSwjNjJhMGVhLCMzNTg0ZTQsIzFjNzFkOCwjMWE1ZmI0fCNmZmJlNmYsI2ZmYTM0OCwjZmY3ODAwLCNlNjYxMDAsI2M2NDYwMHwjOGZmMGE0LCM1N2UzODksIzMzZDE3YSwjMjZhMjY5LCMxZjdmNTZ8I2Y2NjE1MSwjZWQzMzNiLCNlMDFiMjQsI2MwMWMyOCwjYTUxZDJkfCNmOWYwNmIsI2Y4ZTQ1YywjZjZkMzJkLCNmNWMyMTEsI2U1YTUwYXwjZGM4YWRkLCNjMDYxY2IsIzkxNDFhYywjODEzZDljLCM2MTM1ODN8I2NkYWI4ZiwjYjU4MzVhLCM5ODZhNDQsIzg2NWUzYywjNjM0NTJjfCNmZmZmZmYsI2Y2ZjVmNCwjZGVkZGRhLCNjMGJmYmMsIzlhOTk5NnwjNzc3NjdiLCM1ZTVjNjQsIzNkMzg0NiwjMjQxZjMxLCMwMDAwMDA7XG59XG5cbi8vRW1wdHktc3RhdGU6XG4kZW1wdHktc3RhdGUtYmFja2dyb3VuZDogbWFpbi10aGVtZS1jb2xvci1saWdodDtcbiRlbXB0eS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICMyNjI2MjY7XG5cbi8vIE1hdC1jYXJkOiBFdmVudFxuJG1hdC1jYXJkLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiRtYXQtY2FyZC1jb2xvci1kYXJrOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7XG4kbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4vLyBDYXJkIGJvcmRlciBhbGluaGFkbyBhb3MgdG9rZW5zIGNhbsO0bmljb3MgZG8gY2hyb21lIGNoYWlyIFVJIChtZXNtYSBjb3Jcbi8vIHVzYWRhIHBvciBzaWRlYmFyIGhlYWRlciBkaXZpZGVyLCBicmVhZGNydW1iIGJvdHRvbSBib3JkZXIsIGJvdHRvbSByYWlsLFxuLy8gZSBvdXRsaW5lIGRlIHBhaW5lbCBkYXJrKS4gU3Vic3RpdHVpIG8gcmdiYSBhZC1ob2MgYW50ZXJpb3Ig4oCUIHZpc3VhbG1lbnRlXG4vLyBwcsOzeGltbyBtYXMgYWdvcmEgMTAwJSBjb2VyZW50ZSBjb20gbyByZXN0byBkbyBzaXN0ZW1hLlxuJG1hdC1jYXJkLWJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4kbWF0LWNhcmQtYm9yZGVyLWNvbG9yLWRhcms6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4kbWF0LWNhcmQtaGVhZGVyLWNvbG9yOiAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kO1xuXG4kYnV0dG9uLWRpc2FibGVkLWNvbG9yOiAjOTk5OTk5O1xuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvci1kYXJrOiM2NjY2NjY7XG5cbi8vIFNpbmFsaXphw6fDo28gZGUgXCJ1c3XDoXJpbyBpbmF0aXZvXCIgLyBhw6fDo28gcGVuZGVudGUgKGVudmVsb3BlIGRlIHJlZW52aW8gZGVcbi8vIGUtbWFpbCBkZSBhdGl2YcOnw6NvIG5hIHRhYmVsYSBkZSBQZXNzb2FzKS4gVmVybWVsaG8gZm9ydGUgbm8gbGlnaHQgcHJhXG4vLyBjaGFtYXIgYXRlbsOnw6NvOyB0b20gbWFpcyBjbGFybyBubyBkYXJrIHByYSBjb250cmFzdGFyIGNvbSBvIGNhbnZhcyB3YXJtXG4vLyAoIzIwMjAyMCkgc2VtIHZpcmFyIGJsb2NvIGdyaXRhbnRlLiBUYWlsd2luZCByZWQtNzAwIC8gcmVkLTQwMC5cbiR1c2VyLWluYWN0aXZlLWNvbG9yOiAjYzYyODI4O1xuJHVzZXItaW5hY3RpdmUtY29sb3ItZGFyazogI2Y4NzE3MTtcblxuLy8gTWF0LWNhcmQ6IFRhYmxlXG4kdGFibGUtYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICMyNjI2MjY7XG4kdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3I6ICNkMWQxZDE7XG4kdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3ItZGFyazogIzRkNGQ0ZDtcbiR0YWJsZS1saW5lLWNvbG9yOiB3aGl0ZTtcbiR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgLjI1KTtcbiR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3ItZGFyazogJGFkbWluLWFjY2VudC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4vLyBWw6l1IGRlIGhvdmVyIGRlIGxpbmhhIOKAlCBGT05URSDDmk5JQ0EsIHVzYWRvIHBlbG8gbW9kaWZpZXIgZ2xvYmFsIGAuamVtczMtdGFibGUtaG92ZXJgXG4vLyAoX3RhYmxlLnNjc3MpIGUgcmVwbGljYWRvIG5vIHN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIuIExpZ2h0ID0gcHJldG8gdHJhbnNsw7pjaWRvXG4vLyAoZXNjdXJlY2Ugc3V0aWwpOyBkYXJrID0gYnJhbmNvIHRyYW5zbMO6Y2lkbyAoY2xhcmVpYSBzdXRpbCkuIE11ZGUgYXF1aSDihpIgbXVkYSBlbSB0b2Rhcy5cbiR0YWJsZS1ob3Zlci12ZWlsLWxpZ2h0OiByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuJHRhYmxlLWhvdmVyLXZlaWwtZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA3KTtcblxuLy9NYXQtbWVudVxuJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3I6ICNGNkY2RjY7XG4kbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvci1kYXJrOiAjMzgzODM4O1xuXG4vLyBDYWxlbmRhclxuJGNhbGVuZGFyLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3I7XG4kY2FsZW5kYXItaGVhZGVyLWJhY2tncm91bmQtY29sb3ItZGFyazogJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4kY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvcjogJGV2ZW50LWNhcmQtYmFja2dyb3VuZDtcbiRjYWxlbmRhci1iYWNrZ3JvdW5kLWNvbG9yLWRhcms6ICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyaztcblxuLy8gR3JheXNjYWxlXG4kYmxhY2stMTAwOiAjZmFmYWZhO1xuJGJsYWNrLTE1MDogI2Y1ZjVmNTtcbiRibGFjay0yMDA6ICNlZGVkZWQ7XG4kYmxhY2stMzAwOiAjZDFkMWQxO1xuJGJsYWNrLTQwMDogI2JiYmJiYjtcbiRibGFjay01MDA6ICM4YjhkOGY7XG4kYmxhY2stNjAwOiAjNzI3NjdiO1xuJGJsYWNrLTcwMDogIzRkNTI1ODtcbiRibGFjay04MDA6ICMzOTNmNDQ7XG4kYmxhY2stOTAwOiAjMjkyZTM0O1xuJGJsYWNrLTEwMDA6ICMwMzAzMDM7XG5cbiR3aGl0ZS0xMDAwOiAjZmZmZmZmO1xuXG4vLyBtYXQtdGFiXG4kbWF0LXRhYi1sYWJlbDogIzQzNDM0MztcbiRtYXQtdGFiLWxhYmVsLWRhcms6ICNENkQ2RDY7XG4kbWF0LXRhYi11bmRlcmxpbmU6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4kbWF0LXRhYi11bmRlcmxpbmUtZGFyazogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuXG5cbi8vL1xuLy8gQ29sb3IgZGVmaW5pdGlvbnMgb2Ygc3VibWlzc2lvbiBhbmQgcmV2aWV3IHN0YXR1cy5cbi8vIEl0ZW0gZm9ybWF0OiBcInN0YXR1czogKCBiYWNrZ3JvdW5kQ29sb3IsIGxpbmtDb2xvciApXCJcbi8vL1xuLy8gU3VibWlzc2lvbiBTdGF0dXNcbi8vXG4vLyBDYWRhIHN0YXR1czogKGZ1bmRvLCBjb3IgZG8gdGV4dG8sIGNvciBkbyDDrWNvbmUpLiBPIMOtY29uZSDDqSB1bSB0b20gRVNDVVJPXG4vLyBoYXJtb25pemFkbyAobsOjbyBwcmltw6FyaW8gcHVybyk6IGFudGVzIEF0aXZhIHVzYXZhIGF6dWwgcHVybyAjMDAwMGZmIGVcbi8vIFJlamVpdGFkYSB2ZXJtZWxobyBwdXJvICNmZjAwMDAsIHF1ZSBkZXN0b2F2YW0gZG9zIGRlbWFpcyAodmVyZGUvbWFycm9tL2NpbnphXG4vLyBlc2N1cmVjaWRvcykuIEFnb3JhIEF0aXZhID0gYXp1bC1tYXJpbmhvIGUgUmVqZWl0YWRhID0gdmVybWVsaG8tZXNjdXJvLlxuJHN1Ym1pc3Npb24tc3RhdHVzOiAoXG4gIC8vIFwicGVuZGluZ1wiID0gc3RhdHVzIERyYWZ0IChSYXNjdW5obykg4oaSIGNpbnphLlxuICBcInBlbmRpbmdcIjogKCNlNWU1ZTUsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjNmI2YjZiKSxcbiAgXCJhY3RpdmVcIjogKCNGRkZGNTUsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjMWYzYTkzKSxcbiAgXCJhY2NlcHRlZFwiOiAoIzk5RkY5OSwkc2lkZWJhci1sYWJlbC1jb2xvciwgIzFjNzUzMCksXG4gIFwicmVqZWN0ZWRcIjogKCNmZmJkYmQsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjYjMyNjFlKSxcbiAgXCJ3aXRoZHJhd25cIjogKCNEREREREQsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjODA4MDgwKVxuKTtcblxuOnJvb3Qge1xuICAvLyBTdWJtaXNzaW9uIHN0YXR1cyBjb2xvcnMgKGRlcml2ZWQgZnJvbSAkc3VibWlzc2lvbi1zdGF0dXMgU0NTUyBtYXApXG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtcGVuZGluZzogI3tudGgobWFwLWdldCgkc3VibWlzc2lvbi1zdGF0dXMsIFwicGVuZGluZ1wiKSwgMSl9O1xuICAtLXN1Ym1pc3Npb24tc3RhdHVzLWFjdGl2ZTogI3tudGgobWFwLWdldCgkc3VibWlzc2lvbi1zdGF0dXMsIFwiYWN0aXZlXCIpLCAxKX07XG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtYWNjZXB0ZWQ6ICN7bnRoKG1hcC1nZXQoJHN1Ym1pc3Npb24tc3RhdHVzLCBcImFjY2VwdGVkXCIpLCAxKX07XG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtcmVqZWN0ZWQ6ICN7bnRoKG1hcC1nZXQoJHN1Ym1pc3Npb24tc3RhdHVzLCBcInJlamVjdGVkXCIpLCAxKX07XG4gIC0tc3VibWlzc2lvbi1zdGF0dXMtd2l0aGRyYXduOiAje250aChtYXAtZ2V0KCRzdWJtaXNzaW9uLXN0YXR1cywgXCJ3aXRoZHJhd25cIiksIDEpfTtcbiAgLS1zdWJtaXNzaW9uLXN0YXR1cy1kZWxldGVkOiAje250aChtYXAtZ2V0KCRzdWJtaXNzaW9uLXN0YXR1cywgXCJ3aXRoZHJhd25cIiksIDEpfTtcbn1cblxuLy8gUmV2aWV3IFN0YXR1c1xuJHJldmlldy1zdGF0dXM6IChcbiAgXCJhc3NpZ25lZFwiOiAoI0ZGRkZGRiwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJub3RpZmllZFwiOiAoIzk0QzBGQiwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJjb25maXJtZWRcIjogKCNGRkQ4NjAsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwiZGVjbGluZWRcIjogKCNDNkM2QzYsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwicmVtaW5kZWRcIjogKCNGRjhGQTAsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwibGF0ZVwiOiAoI2ZhNWI1YiwgJHNpZGViYXItbGFiZWwtY29sb3IsIGJsYWNrKSxcbiAgXCJkZWxlZ2F0ZWRcIjogKCNmZjg5YzksICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gIFwiY29tcGxldGVkXCI6ICgjNjNGQ0M4LCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spLFxuICBcImRyYWZ0XCI6ICgjQUFBQUFBLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgYmxhY2spXG4gICk7XG5cbiAgLy8gUmV2aWV3IGFjdGlvbnMgYnV0dG9uc1xuICAkcmV2aWV3LWFjdGlvbnM6IChcbiAgICBcImNvbmZpcm1cIjogIzI2MzZlNixcbiAgICBcImRlY2xpbmVcIjogI2NlMTQxNCxcbiAgICBcImVkaXRcIjogIzQxYWIwYyxcbiAgICBcImRlbGVnYXRlXCI6ICNjOTNkZGVcbiAgKTtcblxuICAkZW1haWwtc3RhdHVzOiAoXG4gICAgXCJwZW5kaW5nXCI6ICgjZmFiNjVjLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgIzg3NGQwMCksXG4gICAgXCJzZW50XCI6ICgjOTlGRjk5LCRzaWRlYmFyLWxhYmVsLWNvbG9yLCAjMWM3NTMwKSxcbiAgICBcInJlamVjdGVkXCI6ICgjZmZiZGJkLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgI2ZmMDAwMCksXG4gICk7XG5cbiAgJHB1YmxpY2F0aW9uLXN0YXR1czogKFxuICAgIFwicmVhZHlcIjogKCM2ZGEzNmYsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksXG4gICAgXCJub3QtcmVhZHlcIjogKCNmOTM4MjYsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCBibGFjayksIC8vIG1heWJlOiAjZmY1ZDZlXG4gICk7XG5cbi8vIFNwYW4gY29sb3JzIGZvciBzdWJtaXNzaW9uIHJhbmtpbmdcbiRzcGFuLWJlbG93LUEtYmFja2dyb3VuZC1jb2xvcjogIzc1RDc3NTtcbiRzcGFuLWFib3ZlLUItYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiRzcGFuLWJldHdlZW4tQS1hbmQtQi1iYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCAyNDAsIDc0KTtcblxuLy8gUHJvY2VlZGluZ3MgY29udGVudCB0eXBlc1xuJHByb2NlZWRpbmdzLWNvbnRlbnQtdHlwZXM6IChcbiAgXCJzdWJtaXNzaW9uXCI6ICM5OUZGOTksXG4gIFwiZmlsZVwiOiAjZTc4Yzg0LFxuICBcImluZGV4XCI6ICNhYWEsXG4gIFwiYXV0aG9yLWluZGV4XCI6ICNhYWEsXG4gIFwid2hpdGUtcGFnZVwiOiAjZmZmXG4pO1xuXG4vLyBDaGVjayBsaXN0IGFuc3dlciBzdGF0dXNcbiRjaGVja2xpc3QtYW5zd2Vycy1zdGF0dXM6IChcbiAgXCJub3QtZm91bmRcIjogI2ZmYmRiZCxcbiAgXCJ1bnJlbGF0ZWRcIjogI0ZGRkY1NSxcbiAgXCJkdXBsaWNhdGVkXCI6ICNmYWI2NWMsXG4gIFwidW5jYXRlZ29yaXplZFwiOiAjZDRkM2QzLFxuICBcImludmFsaWRcIjogIzZkNmQ2ZCxcbiAgXCJkZWxldGluZ1wiOiAjODg4ODg4LFxuICBcIm9rXCI6ICM5OUZGOTlcbik7XG5cbiRwdWJsaWNhdGlvbi1zdGF0dXMtcmVhZHk6ICM2ZGEzNmY7XG4kcHVibGljYXRpb24tc3RhdHVzLW5vdC1yZWFkeTogI2Y5MzgyNjtcbi8vIFwiUGVuZGVudGVcIiDigJQgdmVybWVsaG8gQ0hBTUFUSVZPIHAvIG8gY2hpcCBkYSBzZcOnw6NvIFN0YXR1cyBkZSBwdWJsaWNhw6fDo28uIFVzYSBvXG4vLyB2ZXJtZWxobyBkZSBlcnJvIGRvIHNpc3RlbWEgKCNDQzAwMjksIG1lc21vIGRvIGNoaXAgZGUgXCJ0cmlsaGEgZmVjaGFkYVwiKTogZm9ydGUgZVxuLy8gZW0tc2lzdGVtYSwgY29tIGJvbSBjb250cmFzdGUgcC8gdGV4dG8gYnJhbmNvICh+Ni40OjEpLiBTdWJzdGl0dWkgbyBuw6lvbiAjZjkzODI2LlxuJHB1YmxpY2F0aW9uLXN0YXR1cy1wZW5kaW5nOiAjQ0MwMDI5O1xuXG5cbi8vIEludGVyZXN0IFRvcGljcyBDb2xvcnMgZm9yIEJpZFxuJGludGVyZXN0LXRvcGljLWJhY2tncm91bmQtY29sb3I6ICM3NUQ3NzU7XG4kbmV1dHJhbC1pbnRlcmVzdC10b3BpYy1iYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwO1xuJG5vLWludGVyZXN0LXRvcGljLWJhY2tncm91bmQtY29sb3I6ICNmNjZkMDQ7XG5cblxuLy9EZWZhdWx0IGNvbG9ycyBmb3IgZGFzaGJvYXJkc1xuJGRlZmF1bHQtZmlyc3Qtc2VjdG9yLWNvbG9yOiAjZmZjODcwO1xuJGRlZmF1bHQtc2Vjb25kLXNlY3Rvci1jb2xvcjogI2Y3ZjdjNjtcbiRkZWZhdWx0LXRoaXJkLXNlY3Rvci1jb2xvcjogI2M4ZTNjNTtcbiRkZWZhdWx0LWZvdXJ0aC1zZWN0b3ItY29sb3I6ICM5Y2FkOWE7XG4kZGVmYXVsdC1maWZ0aC1zZWN0b3ItY29sb3I6ICM3NTU4NTg7XG4kZGVmYXVsdC1zaXh0aC1zZWN0b3ItY29sb3I6ICNhYmRmNTc7XG5cbi8vQ2hhcnQgZ3JpZCBjb2xvclxuJGNoYXJ0LWdyaWQtY29sb3I6ICMwMDAwMDAzMztcbiRjaGFydC1ncmlkLWNvbG9yLWRhcms6ICNmZmZmZmYzMztcblxuLy8gYXBwLXVzZXItbm90aWZpY2F0aW9uc1xuJG5vdC1yZWFkLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG9yOiBuYXZham93aGl0ZTsiLCJAaW1wb3J0IFwiY29sb3JzXCI7XG5cbi8vIEhlYWRpbmcgaGllcmFyY2h5IGFsaWduZWQgdG8gdGhlIE1hdGVyaWFsIERlc2lnbiAzIHR5cGUgcmFtcCxcbi8vIGVkaXRvcmlhbCB3ZWlnaHQgdmFyaWFudCAoT3B0aW9uIEIpOiBoZWFkbGluZXMgcmVuZGVyIGF0IHdlaWdodCA0MDAgZm9yIGFcbi8vIG1vZGVybiBcIk5vdGlvbi9MaW5lYXJcIiBmZWVsLiBUb2tlbnMgZG9jdW1lbnRlZCBpbiBfdHlwb2dyYXBoeS1tZDMuc2Nzcy5cblxuLy8gUGFnZSB0aXRsZSDigJQgdXNlZCBpbiAubWFpbi10aXRsZSBoMSBhY3Jvc3MgfjM0IGNoYWlyIHNjcmVlbnMuXG4vLyBUdW5lZCBmb3IgY2hhaXIgYXJlYSB3aGVyZSB0aGUgYnJlYWRjcnVtYiBhbHJlYWR5IGNhcnJpZXMgcGFnZSBpZGVudGl0eTpcbi8vIDIwcHggKExpbmVhci9WZXJjZWwtc3R5bGUgc3RlcCksIHdlaWdodCA1MDAgKGNsZWFyIGhpZXJhcmNoeSBvdmVyIHRoZVxuLy8gNDMwLXdlaWdodCBuYXYgaXRlbXMpLCAyNHB4IGxpbmUtaGVpZ2h0LCB0cmFja2luZyAwIChjaGFpciBVSSBydWxlKS5cbmgxIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyAgICAgICAvLyAyMHB4XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07ICAgICAgLy8gMjRweFxuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuLy8gTWF0ZXJpYWwgU3ltYm9scyBkZW50cm8gZGUgSDEg4oCUIGhlcmRhbSBGSUxMIDEgKyB3Z2h0IDQwMCAoUGVyc29uYSBBIGRhXG4vLyB0b29sYmFyIGRvIGF1dG9yL3Jldmlzb3IpLCBwYXJhIHZpc3VhbG1lbnRlIGJhdGVyZW0gY29tIG9zIMOtY29uZXMgZG9zXG4vLyBpdGVucyBkZSBuYXZlZ2HDp8Ojby4gQWxpbmhhbWVudG8gw7NwdGljbyB2aWEgYHZlcnRpY2FsLWFsaWduOiAtMC4yZW1gICtcbi8vIGBsaW5lLWhlaWdodDogMWAgKGxpbmUtYm94IGFwZXJ0YWRhIGRvIMOtY29uZSwgc2VtIHBhZGRpbmcgaGVyZGFkbykuXG5oMSAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCxcbmgxIGkubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCB7XG4gIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyA0MDAsICdGSUxMJyAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiAtMC4yZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4vLyBQYWdlLXRpdGxlIGljb24gKMOgIGVzcXVlcmRhIGRvIGgxKSDigJQgcmVjaXBlIHNpZGViYXIgbGV2ZWwtMSByZXN0OlxuLy8gTWF0ZXJpYWwgU3ltYm9scyBPdXRsaW5lZCwgb3BzeiAyMCwgd2dodCAzMDAsIEZJTEwgMCwgb3BhY2l0eSAwLjY1LlxuLy8gVGFtYW5obyAyMnB4IGhhcm1vbml6YSBjb20gaDEgMjAvMjQgKGxlYWQtaW4gc2VtIGRvbWluYXIpLiA4cHggZGUgZ2FwXG4vLyBlbnRyZSDDrWNvbmUgZSB0w610dWxvLiBHbG9iYWwgcHJhIGV2aXRhciBkdXBsaWNhciBhIHJlZ3JhIGVtIGNhZGEgcMOhZ2luYS5cbi5tYWluLXRpdGxlLWljb24ge1xuICBmb250LXNpemU6IDIycHg7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgb3BhY2l0eTogMC42NTtcbiAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDA7XG59XG5cbi8vIExhYmVsIGRvIHNsaWRlLXRvZ2dsZSBQQURSw4NPIERPIFNJU1RFTUEgKE0zKTogdGlwb2dyYWZpYSBkbyBjaGFpciBsZXZlbC0yIOKAlFxuLy8gMTNweCAoZGVuc28pLCB3ZWlnaHQgNDMwIChib2R5KSwgbGluZS1oZWlnaHQgMS4zLCBsZXR0ZXItc3BhY2luZyAwLiBVbml2ZXJzYWxcbi8vIChhbnRlcyBlc2NvcGFkbyBhIGAubWFpbi1oZWFkZXIgLm9wdGlvbnNgIGUgYC5zbWFsbC1waWNrZXJgKS5cbi5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnQge1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyBNYWpvciBzZWN0aW9uIHRpdGxlLiBNRDMgdGl0bGUtbGFyZ2UuXG5oMiB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07ICAgICAgLy8gMjJweFxuICBsaW5lLWhlaWdodDogMS43NXJlbTsgICAgIC8vIDI4cHhcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG5cbi8vIFN1YnNlY3Rpb24gLyAuc2VjdGlvbi10aXRsZSAod2hpY2ggQGV4dGVuZHMgaDMpLiBTaXplZCBhdCAxNXB4IHNvIGl0IHNpdHNcbi8vIGp1c3QgYWJvdmUgdGhlIDEzcHggYm9keSBpbiB0aGUgY2FudmFzIOKAlCBnaXZlcyBhIGNsZWFyIFwiaGVhZGVyXCIgY3VlIHdpdGhvdXRcbi8vIGFkZGluZyBhIHRoaXJkIHNjYWxlIGJleW9uZCB3aGF0IHRoZSBtZW51IGhpZXJhcmNoeSBhbHJlYWR5IGVzdGFibGlzaGVkXG4vLyAoaDE9MjAgcGFnZSB0aXRsZSwgaDM9MTUgc2VjdGlvbiBoZWFkZXIsIGJvZHk9MTMpLiBXZWlnaHQgNTAwIHZzIGJvZHkgNDMwLFxuLy8gdHJhY2tpbmcgMCAoY2hhaXIgVUkgcnVsZSkuIENvbG9yIHNldCBvbiAuc2VjdGlvbi10aXRsZSB2aWEgX2NvbG9yLXNjaGVtZS5zY3NzLlxuaDMge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgICAgIC8vIDE1cHhcbiAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyAgICAvLyAyMnB4XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyBDYXJkL3BhbmVsIHRpdGxlLiBNRDMgdGl0bGUtc21hbGwuXG5oNCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07ICAgICAgLy8gMTRweFxuICBsaW5lLWhlaWdodDogMS4yNXJlbTsgICAgIC8vIDIwcHhcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDA2MjVyZW07XG59XG5cbi8vIEV5ZWJyb3cgbGFiZWwuIE1EMyBsYWJlbC1tZWRpdW0gdXBwZXJjYXNlLlxuaDUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuNzVyZW07ICAgICAgIC8vIDEycHhcbiAgbGluZS1oZWlnaHQ6IDFyZW07ICAgICAgICAvLyAxNnB4XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBHZW5lcmljIHN1YnRpdGxlL2V5ZWJyb3cuIE1EMyBsYWJlbC1sYXJnZSB1cHBlcmNhc2UuXG4vLyBDb21wb25lbnQtbG9jYWwgLnN1YnRpdGxlIG92ZXJyaWRlcyAoZXZlbnQtc2VuZC1lbWFpbCwgZXZlbnQtdG9waWNzLFxuLy8gZGFzaGJvYXJkLXNldHRpbmdzLCBfZXZlbnQtYWRtaW4uc2Nzcykgc3RpbGwgd2luIHdoZXJlIHRoZXkgZXhpc3QuXG4uc3VidGl0bGUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyAgICAgIC8vIDE0cHhcbiAgbGluZS1oZWlnaHQ6IDEuMjVyZW07ICAgICAvLyAyMHB4XG4gIGxldHRlci1zcGFjaW5nOiAwLjAzMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBUYWJsZSBjb2x1bW4gaGVhZGVycyAoMjY0IGluc3RhbmNlcyBhcHAtd2lkZSkuIE1EMyBsYWJlbC1tZWRpdW0gdXBwZXJjYXNlXG4vLyArIHRhYnVsYXIgbnVtYmVycyBzbyBjb2x1bW5zIG9mIG51bWVyaWMgSURzIGFsaWduIHZpc3VhbGx5LlxuLm1hdC1oZWFkZXItY2VsbCB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgICAgICAgLy8gMTJweFxuICBsaW5lLWhlaWdodDogMXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDMxMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJ0bnVtXCI7XG59XG5cbi8vIE1hdGVyaWFsIGNhcmQgdGl0bGVzLiBNRDMgdGl0bGUtbWVkaXVtLlxuLm1hdC1jYXJkLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDkzNzVyZW07XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG5odG1sIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuYm9keSxcbmh0bWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG5cbiAgJi5tb2RhbC1vcGVuIHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICBhcHAtbmF2YmFyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cblxuICAmLnNpZGVzaGVldC1vcGVuIHtcbiAgICAuc2lkZXNoZWV0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYuY2RrLWdsb2JhbC1zY3JvbGxibG9jayB7XG4gICAgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBtYXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUtd2lkdGgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICB9XG5cbiAgLnRhYmxlLmlzLWZ1bGx3aWR0aCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbmFwcC1hZG1pbiB7XG4gIC5tYXQtdGFiLWJvZHktY29udGVudCB7XG4gICAgcGFkZGluZzogMC41ZW0gMWVtO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi92YXJpYWJsZXMnO1xuXG4kY2FsLW1vbnRoLXZpZXctdmFyczogKCkgIWRlZmF1bHQ7XG4kY2FsLW1vbnRoLXZpZXctdmFyczogbWFwLW1lcmdlKCRjYWwtdmFycywgJGNhbC1tb250aC12aWV3LXZhcnMpO1xuXG5AbWl4aW4gY2FsLW1vbnRoLXZpZXctdGhlbWUoJG92ZXJyaWRlcykge1xuICAkdGhlbWU6IG1hcC1tZXJnZSgkY2FsLW1vbnRoLXZpZXctdmFycywgJG92ZXJyaWRlcyk7XG5cbiAgLmNhbC1tb250aC12aWV3IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctcHJpbWFyeSk7XG5cbiAgICAuY2FsLWNlbGwtcm93OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5jYWwtY2VsbC1yb3cgLmNhbC1jZWxsOmhvdmVyLFxuICAgIC5jYWwtY2VsbC5jYWwtaGFzLWV2ZW50cy5jYWwtb3BlbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctYWN0aXZlKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1jZWxsOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheXMgLmNhbC1jZWxsLXJvdyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1iYWRnZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmFkZ2UtY29sb3IpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3aGl0ZSk7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgZXZlbnQtY29sb3ItcHJpbWFyeSk7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBldmVudC1jb2xvci1zZWNvbmRhcnkpO1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3aGl0ZSk7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY2VsbC5jYWwtd2Vla2VuZCAuY2FsLWRheS1udW1iZXIge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3ZWVrZW5kLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1jZWxsLmNhbC10b2RheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgdG9kYXktYmcpO1xuICAgIH1cblxuICAgIC5jYWwtZGF5LWNlbGwuY2FsLWRyYWctb3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4obWFwLWdldCgkdGhlbWUsIGJnLWFjdGl2ZSksIDUlKSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jYWwtb3Blbi1kYXktZXZlbnRzIHtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgd2hpdGUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGdyYXkpO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDE1cHggMCByZ2JhKG1hcC1nZXQoJHRoZW1lLCBibGFjayksIDAuNSk7XG4gICAgfVxuICB9XG59XG5cbi5jYWwtbW9udGgtdmlldyB7XG4gIC5jYWwtaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgfVxuXG4gIC5jYWwtaGVhZGVyIC5jYWwtY2VsbCB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmNhbC1kYXlzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG5cbiAgLmNhbC1jZWxsLXRvcCB7XG4gICAgbWluLWhlaWdodDogNzhweDtcbiAgICBmbGV4OiAxO1xuICB9XG5cbiAgLmNhbC1jZWxsLXJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIC5jYWwtY2VsbCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICAuY2FsLWV2ZW50IHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGwgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuY2FsLWRheS1jZWxsIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcblxuICAgIC8vIGllMTEgaGFjayBmb3IgaHR0cHM6Ly9naXRodWIuY29tL21hdHRsZXdpczkyL2FuZ3VsYXItY2FsZW5kYXIvaXNzdWVzLzUwMVxuICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmNhbC1kYXktY2VsbDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgfVxuXG4gIC5jYWwtZGF5cyAuY2FsLWNlbGwtcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIH1cblxuICAuY2FsLWRheS1iYWRnZSB7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAxMHB4O1xuICAgIHBhZGRpbmc6IDNweCA3cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG5cbiAgLmNhbC1kYXktbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLmNhbC1ldmVudHMge1xuICAgIGZsZXg6IDE7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbjogM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLmNhbC1ldmVudCB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAycHg7XG4gIH1cblxuICAuY2FsLWRheS1jZWxsLmNhbC1pbi1tb250aC5jYWwtaGFzLWV2ZW50cyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmNhbC1kYXktY2VsbC5jYWwtb3V0LW1vbnRoIC5jYWwtZGF5LW51bWJlciB7XG4gICAgb3BhY2l0eTogMC4xO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5jYWwtZGF5LWNlbGwuY2FsLXRvZGF5IC5jYWwtZGF5LW51bWJlciB7XG4gICAgZm9udC1zaXplOiAxLjllbTtcbiAgfVxuXG4gIC5jYWwtb3Blbi1kYXktZXZlbnRzIHtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICB9XG5cbiAgLmNhbC1vcGVuLWRheS1ldmVudHMgLmNhbC1ldmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMnB4O1xuICB9XG5cbiAgLmNhbC1vdXQtbW9udGgge1xuICAgIC5jYWwtZGF5LWJhZGdlLFxuICAgIC5jYWwtZXZlbnQge1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtZHJhZ2dhYmxlIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cblxuICAuY2FsLWRyYWctYWN0aXZlICoge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLmNhbC1ldmVudC10aXRsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgY2FsLW1vbnRoLXZpZXctdGhlbWUoJGNhbC1tb250aC12aWV3LXZhcnMpO1xuIiwiQGltcG9ydCAnLi4vLi4vdmFyaWFibGVzJztcblxuJGNhbC13ZWVrLXZpZXctdmFyczogKCkgIWRlZmF1bHQ7XG4kY2FsLXdlZWstdmlldy12YXJzOiBtYXAtbWVyZ2UoJGNhbC12YXJzLCAkY2FsLXdlZWstdmlldy12YXJzKTtcblxuQG1peGluIGNhbC13ZWVrLXZpZXctdGhlbWUoJG92ZXJyaWRlcykge1xuICAkdGhlbWU6IG1hcC1tZXJnZSgkY2FsLXdlZWstdmlldy12YXJzLCAkb3ZlcnJpZGVzKTtcblxuICAuY2FsLXdlZWstdmlldyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJnLXByaW1hcnkpO1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcblxuICAgIC5jYWwtZGF5LWhlYWRlcnMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktaGVhZGVycyAuY2FsLWhlYWRlciB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1oZWFkZXI6aG92ZXIsXG4gICAgLmNhbC1kYXktaGVhZGVycyAuY2FsLWRyYWctb3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctYWN0aXZlKTtcbiAgICB9XG5cbiAgICAuY2FsLWRheS1jb2x1bW4ge1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGV2ZW50LWNvbG9yLXNlY29uZGFyeSk7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBldmVudC1jb2xvci1wcmltYXJ5KTtcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgZXZlbnQtY29sb3ItcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmNhbC1hbGwtZGF5LWV2ZW50cyB7XG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtaGVhZGVyLmNhbC10b2RheSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgdG9kYXktYmcpO1xuICAgIH1cblxuICAgIC5jYWwtaGVhZGVyLmNhbC13ZWVrZW5kIHNwYW4ge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZW1lLCB3ZWVrZW5kLWNvbG9yKTtcbiAgICB9XG5cbiAgICAuY2FsLXRpbWUtZXZlbnRzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdGhlbWUsIGJvcmRlci1jb2xvcik7XG5cbiAgICAgIC5jYWwtZGF5LWNvbHVtbnMge1xuICAgICAgICAmOm5vdCguY2FsLXJlc2l6ZS1hY3RpdmUpIHtcbiAgICAgICAgICAuY2FsLWhvdXItc2VnbWVudDpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmctYWN0aXZlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsLWhvdXItb2RkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1zZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC5jYWwtZHJhZy1vdmVyIC5jYWwtaG91ci1zZWdtZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBiZy1hY3RpdmUpO1xuICAgIH1cblxuICAgIC5jYWwtaG91cjpub3QoOmxhc3QtY2hpbGQpIC5jYWwtaG91ci1zZWdtZW50LFxuICAgIC5jYWwtaG91cjpsYXN0LWNoaWxkIDpub3QoOmxhc3QtY2hpbGQpIC5jYWwtaG91ci1zZWdtZW50IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgIC5jYWwtY3VycmVudC10aW1lLW1hcmtlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgY3VycmVudC10aW1lLW1hcmtlci1jb2xvcik7XG4gICAgfVxuICB9XG59XG5cbi5jYWwtd2Vlay12aWV3IHtcbiAgKiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC5jYWwtZGF5LWhlYWRlcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1sZWZ0OiA3MHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICB9XG5cbiAgLmNhbC1kYXktaGVhZGVycyAuY2FsLWhlYWRlciB7XG4gICAgZmxleDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4O1xuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICB9XG4gIH1cblxuICAuY2FsLWRheS1oZWFkZXJzIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLmNhbC1kYXktY29sdW1uIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYm9yZGVyLWxlZnQ6IHNvbGlkIDFweDtcbiAgfVxuXG4gIC5jYWwtZXZlbnQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgfVxuXG4gIC5jYWwtdGltZS1sYWJlbC1jb2x1bW4ge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5jYWwtY3VycmVudC10aW1lLW1hcmtlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHotaW5kZXg6IDI7XG4gIH1cblxuICAuY2FsLWFsbC1kYXktZXZlbnRzIHtcbiAgICBib3JkZXI6IHNvbGlkIDFweDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDNweDtcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jYWwtZGF5LWNvbHVtbnMge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50cy1yb3cge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAzMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDcwcHg7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAmLnJlc2l6ZS1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuXG4gICAgLmNhbC1zdGFydHMtd2l0aGluLXdlZWsgLmNhbC1ldmVudCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgfVxuXG4gICAgLmNhbC1lbmRzLXdpdGhpbi13ZWVrIC5jYWwtZXZlbnQge1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgfVxuXG4gICAgLmNhbC10aW1lLWxhYmVsLWNvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5jYWwtcmVzaXplLWhhbmRsZSB7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgY3Vyc29yOiBjb2wtcmVzaXplO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuXG4gICAgICAmLmNhbC1yZXNpemUtaGFuZGxlLWFmdGVyLWVuZCB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jYWwtZXZlbnQsXG4gIC5jYWwtaGVhZGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuY2FsLWRyYWctYWN0aXZlIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgJiAqIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtdGltZS1ldmVudHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IHNvbGlkIDFweDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAuY2FsLWRheS1jb2x1bW5zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgLmNhbC1kYXktY29sdW1uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuY2FsLWV2ZW50cy1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5jYWwtZXZlbnQtY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmNhbC1ldmVudCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMnB4KTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMnB4KTtcbiAgICAgIG1hcmdpbjogMXB4O1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICB9XG5cbiAgICAuY2FsLXJlc2l6ZS1oYW5kbGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIGN1cnNvcjogcm93LXJlc2l6ZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgJi5jYWwtcmVzaXplLWhhbmRsZS1hZnRlci1lbmQge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNhbC1ob3VyLXNlZ21lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYTAnO1xuICAgIH1cbiAgfVxuXG4gIC5jYWwtZXZlbnQtY29udGFpbmVyOm5vdCguY2FsLWRyYWdnYWJsZSkge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5jYWwtZHJhZ2dhYmxlIHtcbiAgICBjdXJzb3I6IG1vdmU7XG4gIH1cblxuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItdHlwZS1uby11bmtub3duICovXG4gIG13bC1jYWxlbmRhci13ZWVrLXZpZXctaG91ci1zZWdtZW50LCAvKiBmaXggZm9yIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXR0bGV3aXM5Mi9hbmd1bGFyLWNhbGVuZGFyL2lzc3Vlcy8yNjAqL1xuICAuY2FsLWhvdXItc2VnbWVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuY2FsLWhvdXI6bm90KDpsYXN0LWNoaWxkKSAuY2FsLWhvdXItc2VnbWVudCxcbiAgLmNhbC1ob3VyOmxhc3QtY2hpbGQgOm5vdCg6bGFzdC1jaGlsZCkgLmNhbC1ob3VyLXNlZ21lbnQge1xuICAgIGJvcmRlci1ib3R0b206IHRoaW4gZGFzaGVkO1xuICB9XG5cbiAgLmNhbC10aW1lIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5jYWwtaG91ci1zZWdtZW50LmNhbC1hZnRlci1ob3VyLXN0YXJ0IHtcbiAgICAuY2FsLXRpbWUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2FsLXN0YXJ0cy13aXRoaW4tZGF5IC5jYWwtZXZlbnQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNXB4O1xuICB9XG5cbiAgLmNhbC1lbmRzLXdpdGhpbi1kYXkgLmNhbC1ldmVudCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7XG4gIH1cbn1cblxuQGluY2x1ZGUgY2FsLXdlZWstdmlldy10aGVtZSgkY2FsLXdlZWstdmlldy12YXJzKTtcbiIsIi5jYWwtZGF5LXZpZXcge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3ItdHlwZS1uby11bmtub3duICovXG4gIG13bC1jYWxlbmRhci13ZWVrLXZpZXctaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmNhbC1ldmVudHMtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogNzBweDtcbiAgfVxuXG4gIC5jYWwtZGF5LWNvbHVtbiB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gIH1cblxuICAuY2FsLWN1cnJlbnQtdGltZS1tYXJrZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA3MHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vdmFyaWFibGVzJztcblxuJGNhbC10b29sdGlwLXZhcnM6ICgpICFkZWZhdWx0O1xuJGNhbC10b29sdGlwLXZhcnM6IG1hcC1tZXJnZSgkY2FsLXZhcnMsICRjYWwtdG9vbHRpcC12YXJzKTtcblxuQG1peGluIGNhbC10b29sdGlwLXRoZW1lKCRvdmVycmlkZXMpIHtcbiAgJHRoZW1lOiBtYXAtbWVyZ2UoJGNhbC10b29sdGlwLXZhcnMsICRvdmVycmlkZXMpO1xuXG4gIC5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC10b3AgLmNhbC10b29sdGlwLWFycm93IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmxhY2spO1xuICB9XG5cbiAgLmNhbC10b29sdGlwLmNhbC10b29sdGlwLXJpZ2h0IC5jYWwtdG9vbHRpcC1hcnJvdyB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmxhY2spO1xuICB9XG5cbiAgLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWJvdHRvbSAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJHRoZW1lLCBibGFjayk7XG4gIH1cblxuICAuY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtbGVmdCAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmxhY2spO1xuICB9XG5cbiAgLmNhbC10b29sdGlwLWlubmVyIHtcbiAgICBjb2xvcjogbWFwLWdldCgkdGhlbWUsIHdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVtZSwgYmxhY2spO1xuICB9XG59XG5cbi5jYWwtdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBmb250LXNpemU6IDExcHg7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgb3BhY2l0eTogMC45O1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtdG9wIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC10b3AgLmNhbC10b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggMDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCA1cHg7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7XG59XG5cbi5jYWwtdG9vbHRpcC5jYWwtdG9vbHRpcC1yaWdodCAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDVweCAwO1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtYm90dG9tIHtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWJvdHRvbSAuY2FsLXRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gIGJvcmRlci13aWR0aDogMCA1cHggNXB4O1xufVxuXG4uY2FsLXRvb2x0aXAuY2FsLXRvb2x0aXAtbGVmdCB7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBtYXJnaW4tbGVmdDogLTNweDtcbn1cblxuLmNhbC10b29sdGlwLmNhbC10b29sdGlwLWxlZnQgLmNhbC10b29sdGlwLWFycm93IHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweCAwIDVweCA1cHg7XG59XG5cbi5jYWwtdG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogMjAwcHg7XG4gIHBhZGRpbmc6IDNweCA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbn1cblxuLmNhbC10b29sdGlwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG5AaW5jbHVkZSBjYWwtdG9vbHRpcC10aGVtZSgkY2FsLXRvb2x0aXAtdmFycyk7XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4ubWF0LWRpYWxvZy1jb250YWluZXIge1xuICBib3JkZXItcmFkaXVzOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMTVweCAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgLm1vZGFsV2luZG93IHtcbiAgICB3aWR0aDogMjUwcHg7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAubG9nb0NvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuODEyNXJlbTtcbiAgICAgIG1hcmdpbjogMS43cmVtIDAgMnJlbSAwO1xuXG4gICAgICAubG9nbyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAxcHggNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7XG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6IEdhaW5zYm9ybztcbiAgICAgICAgLy8gY29sb3I6IGJsYWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAuMjVyZW07XG4gICAgICB3aWR0aDogMTEycHg7XG4gICAgfVxuXG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgLy8gYm9yZGVyOiAwcHggbm9uZSB3aGl0ZTtcbiAgICAubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggM3B4IDFweCBMaWdodEdyYXk7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICAvLyBib3JkZXItdG9wOiAwcHggbm9uZSB3aGl0ZTtcbiAgICBib3JkZXI6IDBweCBub25lIHdoaXRlO1xuICB9XG59XG5cbi5tYXQtZm9ybS1maWVsZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS41O1xuXG4gIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICAubWF0LWljb24ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIH1cbiAgfVxufVxuXG5hcHAtc2VhcmNoLWJ1dHRvbiB7XG4gIC5tYXQtc2VhcmNoX2ZpZWxkIHtcbiAgICBpbnB1dCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBoZWlnaHQ6IDNweDtcblxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pY29uLWNvbG9yO1xuICAgICAgYm9yZGVyLXJhZGl1czogMS41cHg7XG4gICAgfVxuXG4gICAgJi5tYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQge1xuICAgICAgbGFiZWwubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjRzIGVhc2UtaW47XG5cbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjI4MTI1ZW0pIHNjYWxlKDEuNSkgcGVyc3BlY3RpdmUoMTAwcHgpIHRyYW5zbGF0ZVooMC4wMDFweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHRvcDogMnJlbTtcblxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XG4gICAgfVxuICB9XG59XG5cbi50b3BpY3MtdGFibGUge1xuICAubWF0LXJhZGlvLWxhYmVsIHtcbiAgICB3aWR0aDogMjBweDtcbiAgfVxufVxuXG4vLyBhZGRzIGJyZWFrcyB0byB0aGUgbWF0LWNoZWNrYm94ZXMgd2l0aCBsb25nIGxhYmVsc1xuLm1hdC1jaGVja2JveC1sYXlvdXQge1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICFpbXBvcnRhbnQ7XG59XG5cbi8vIE8gbWF0LXNlbGVjdCAoY29tIGBbZGlzYWJsZU9wdGlvbkNlbnRlcmluZ109XCJ0cnVlXCJgLCBnbG9iYWwgZW0gYXBwLXNlbGVjdC1pbnB1dC9cbi8vIC1sZS8tZmxhZykgYW5jb3JhIG8gcGFpbmVsIG5vIFRPUE8gZGEgY2FpeGEg4oaSIHNvYnJlcG9yaWEgbyBpbnB1dC4gRW1wdXJyYW1vcyBvXG4vLyBgLm1hdC1zZWxlY3QtcGFuZWwtd3JhcGAgcHJhIGJhaXhvLCB+cGVsYSBBTFRVUkEgZGEgY2FpeGEsIHByYSBhYnJpciBsb2dvIEFCQUlYT1xuLy8gZGVsYS4gVmFsb3IgY2FsaWJyYWRvIHByYXMgY2FpeGFzIExFR0FEQVMgKGFwcGVhcmFuY2UgcGFkcsOjbywgfjM2cHgpLiBDb21taXRcbi8vIG9yaWdpbmFsOiBkOTYzM2ExMTAuXG4ubWF0LXNlbGVjdC1wYW5lbC13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDQwcHg7XG59XG5cbi8vIENhaXhhcyBGSUxURVItU1RZTEVEIChtYXJjYSBgamVtczMtc2VsZWN0LXBhbmVsLWNvbXBhY3RgKTogY29ycmXDp8OjbyBkb1xuLy8gcG9zaWNpb25hbWVudG8gZG8gcGFpbmVsIGRvIG1hdC1zZWxlY3QgTVVMVElQTEUuIEJhc2UgKGRhIGZvbnRlIGRvIEBhbmd1bGFyL1xuLy8gbWF0ZXJpYWwgMTEuMik6IG8gcGFpbmVsIFNPQlJFUMOVRSBvIGdhdGlsaG8gcGVsbyB0b3BvIChvdmVybGF5WTp0b3Avb3JpZ2luWTp0b3ApLFxuLy8gYXBsaWNhIGB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwcHgpYCAob2Zmc2V0WCBkZSBtdWx0aXBsZSkgZSBvZmZzZXRZPTAgKHZpYVxuLy8gYGRpc2FibGVPcHRpb25DZW50ZXJpbmdgKS4gTyBgbGVmdGAgY2FuY2VsYSBvIC00MCBlIG8gYHRvcGAgZGVzY2UgcHJhIGJhaXhvIGRhIGNhaXhhLlxuLy8gT3MgdmFsb3JlcyBmb3JhbSBDQUxJQlJBRE9TIHBlbG8gRE9NIHJlYWwgKGdldEJvdW5kaW5nQ2xpZW50UmVjdCBtZWRpZG8pOiBjb21cbi8vIHRvcDoyNi9sZWZ0OjQwIG8gcGFpbmVsIGZpY2F2YSBkeExlZnQ9KzExcHgsIGR5VG9wPSs3cHgg4oaSIGNvcnJpZ2lkbyBwLyBib3JkYVxuLy8gZXNxdWVyZGEgYWxpbmhhZGEgw6AgY2FpeGEgKGR4TGVmdOKGkjApIGUgfjRweCBkZSBmb2xnYSBhYmFpeG8gKGR5VG9w4oaSNCk6XG4vLyAgIGxlZnQgPSA0MCAtIDExID0gMjlweCA7ICB0b3AgPSAyNiAtIDMgPSAyM3B4XG4ubWF0LXNlbGVjdC1wYW5lbC13cmFwOmhhcyguamVtczMtc2VsZWN0LXBhbmVsLWNvbXBhY3QpIHtcbiAgdG9wOiAyM3B4O1xuICBsZWZ0OiAyOXB4O1xufVxuXG4vLyBaZXJhIGEgYW5pbWHDp8OjbyBkZSBhYmVydHVyYSBkbyBwYWluZWwgZmlsdGVyLXN0eWxlZCDigJQgcGFyZWlhIGNvbSBvIHJlc3RvXG4vLyBkbyBKRU1TMyAobWVudXMvcG9wb3ZlcnMgasOhIGFicmVtIHNlbSBhbmltYcOnw6NvKS4gTsODTyBtZXhlciBlbSB0cmFuc2Zvcm06XG4vLyBNYXRlcmlhbCB1c2EgdHJhbnNsYXRlWCgtNDBweCkgZSBvdXRyb3MgcHJhIHBvc2ljaW9uYXIgbyBwYWluZWwuXG4ubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwge1xuICBhbmltYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uY29tcGFjdCB7XG4gIC5tYXQtZm9ybS1maWVsZCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4kYnV0dG9uLWhlaWdodDogJGNvbnRyb2wtaGVpZ2h0OyAgIC8vIGFsaWFzIGxlZ2FkbyDihpIgdG9rZW4gw7puaWNvICh2ZXIgX3ZhcmlhYmxlcy5zY3NzKVxuXG4uYnV0dG9ucyB7XG4gIC5pcy1kaXZpZGVyIHtcbiAgICBtYXJnaW46IDJyZW0gMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU5OXB4KSB7XG4gICAgICBtYXJnaW46IDFyZW0gMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsYW5kaW5nLWJhY2tncm91bmQ7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuOTVyZW0pO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG59XG5cbmEge1xuICBvdXRsaW5lOiAwO1xuICAvLyBDb252ZW7Dp8OjbyBkbyBKRU1TMzogbGlua3MgbnVuY2Egc3VibGluaGFtIG5vIGhvdmVyLiBSZWdyYSBnbG9iYWxcbiAgLy8gY29kaWZpY2FkYSBhcXVpIHByYSBldml0YXIgcXVlIGNhZGEgcMOhZ2luYSByZWludmVudGUgbyBgJjpob3ZlclxuICAvLyB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIH1gLiBWZXIgbWVtw7NyaWEgZmVlZGJhY2tfbm9fbGlua191bmRlcmxpbmVfaG92ZXIuXG4gICY6aG92ZXIgeyB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbn1cblxuYnV0dG9uIHtcbiAgaGVpZ2h0OiAkYnV0dG9uLWhlaWdodDtcbn1cblxuLy8gQSByZWdyYSBhY2ltYSBGT1LDh0EgYSBhbHR1cmEgZGUgdG9kbyA8YnV0dG9uPiBhbyB0b2tlbi4gTyBNYXRlcmlhbCwgcG9yw6ltLFxuLy8gY2VudHJhbGl6YSBvIGxhYmVsIGRvcyBib3TDtWVzIGRlIFRFWFRPIHZpYSBgbGluZS1oZWlnaHQ6IDM2cHhgIGZpeG8g4oCUIHF1ZVxuLy8gZGVzY2FzYSBxdWFuZG8gJGNvbnRyb2wtaGVpZ2h0IOKJoCAzNnB4IChvIGxhYmVsIGRlc2xpemEgcHJhIGJhaXhvKS4gQW1hcnJhbW9zIG9cbi8vIGxpbmUtaGVpZ2h0IGFvIHRva2VuIHAvIG8gbGFiZWwgY2VudHJhbGl6YXIgZW0gUVVBTFFVRVIgYWx0dXJhLiAobWF0LXJhaXNlZC1idXR0b25cbi8vIGrDoSBjZW50cmFsaXphIHZpYSBgaW5saW5lLWdyaWRgIG1haXMgYWJhaXhvLCBlbnTDo28gZmljYSBkZSBmb3JhLilcbmJ1dHRvbi5tYXQtYnV0dG9uLFxuYnV0dG9uLm1hdC1mbGF0LWJ1dHRvbixcbmJ1dHRvbi5tYXQtc3Ryb2tlZC1idXR0b24ge1xuICBsaW5lLWhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xufVxuXG4uY2xvc2UuYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuXG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmb250LXNpemU6IDIycHg7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDI7XG59XG5cbi5yaXBwbGUtYnV0dG9uLm1hdC1yYWlzZWQtYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG5cbiAgLm1hdC1pY29uIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gICYuc2VsZWN0ZWQge1xuICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAxcHggMXB4IDVweCAkYmxhY2stNTAwO1xuICAgIH1cbiAgfVxuXG4gICY6bm90KC5zZWxlY3RlZCkge1xuICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAxcHggMXB4IDVweCAkYmxhY2stNTAwO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6ICRzaWRlYmFyLWxhYmVsLXNlbGVjdGVkLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYubWF0LXJhaXNlZC1idXR0b24uY2RrLXByb2dyYW0tZm9jdXNlZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5zdWJtaXNzaW9ucywgLnJldmlld3MsIC5ldmVudHMsIC5teWV2ZW50cywgLmNvbW1pdHRlZXMsIC5ldmVudC1hZG1pbiB7XG4gIC5maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLnRvZ2dsZSB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIH1cblxuICAgICAgLm5vdGlmeS1idXR0b24ge1xuICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ubm90aWZ5LWJ1dHRvbiB7XG4gIGNvbG9yOiByZWQgIWltcG9ydGFudDtcbn1cblxuLmZpbGUtaWNvbi1idXR0b25zIHtcbiAgbGluZS1oZWlnaHQ6ICRmaWxlLWljb24tc2l6ZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgYnV0dG9uIHtcbiAgICBoZWlnaHQ6ICRmaWxlLWljb24tc2l6ZTtcbiAgICB3aWR0aDogJGZpbGUtaWNvbi1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZmlsZS1pY29uLXNpemU7XG4gIH1cblxuICAuc21hbGxlci1idXR0b24sIC5zbWFsbGVyLWJ1dHRvbiBtYXQtaWNvbiB7XG4gICAgaGVpZ2h0OiAkZmlsZS1pY29uLXNpemUtc21hbGxlcjtcbiAgICB3aWR0aDogJGZpbGUtaWNvbi1zaXplLXNtYWxsZXI7XG4gICAgbGluZS1oZWlnaHQ6ICRmaWxlLWljb24tc2l6ZS1zbWFsbGVyO1xuICAgIGZvbnQtc2l6ZTogJGZpbGUtaWNvbi1zaXplLXNtYWxsZXItZm9udHNpemU7XG4gIH1cblxuICBhcHAtZmlsZS11cGxvYWQge1xuICAgIG1hcmdpbi1sZWZ0OiAuNWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogJGZpbGUtaWNvbi1zaXplLXNtYWxsZXI7XG4gIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAuYXBwLWljb24tYnV0dG9uIOKAlCBib3TDo28gaWNvbi1vbmx5IDQww5c0MCBkbyBKRU1TMy5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGFkcsOjbyDDum5pY28gY29tcGFydGlsaGFkbyBwb3I6IHNpbm8gZGUgbm90aWZpY2HDp8O1ZXMgKC5wcm9maWxlLWJ1dHRvbiksXG4vLyBtZW51IGRlIHVzdcOhcmlvICgudXNlci1tZW51LWJ1dHRvbiksIHRyaWdnZXIgZG8gY29tbWFuZCBwYWxldHRlXG4vLyAoLmNvbW1hbmQtcGFsZXR0ZS10cmlnZ2VyKSBlIGJvdMOjbyBkZSBmaWx0cm9zICguZmlsdGVyLWJ1dHRvbikuXG4vLyBTdWJzdGl0dWkgfjMwIGxpbmhhcyBkdXBsaWNhZGFzIGVtIGNhZGEgY29tcG9uZW50ZS4gVG9rZW5zIGRlIGhvdmVyL1xuLy8gbWVudS1vcGVuIGZpY2FtIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgIChnYXRlZCBwb3IgdGVtYSkuIFVzZSBqdW50b1xuLy8gY29tIGEgY2xhc3NlIGVzcGVjw61maWNhIGRvIGNvbnRleHRvIChleDogYGNsYXNzPVwiYXBwLWljb24tYnV0dG9uIGZpbHRlci1idXR0b25cImApXG4vLyDigJQgYSBlc3BlY8OtZmljYSBmaWNhIGNvbW8gaG9vayBkZSBKUyBlIG92ZXJyaWRlcyBwb250dWFpcyAoYmFkZ2UsIGV0YykuXG4uYXBwLWljb24tYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMDBtcyAkZWFzZS1vdXQ7XG5cbiAgLy8gUmlwcGxlL2ZvY3VzLW92ZXJsYXkgZG8gbWF0LWJ1dHRvbiDigJQgZXNjb25kaWRvcyBwcmEgc3VyZmFjZSBmaWNhciBsaW1wYS5cbiAgOjpuZy1kZWVwIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgOjpuZy1kZWVwIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIMONY29uZSDigJQgMjBweCBjb20gYXhlcyB3Z2h0IDMwMC9GSUxMIDAgZGVmYXVsdC4gT3BhY2l0eSAwLjY1IGJhc2UsXG4gIC8vIDAuOSBob3ZlciwgMSBjb20gYC5tZW51LW9wZW5gIChlc3RhZG8gYXRpdm8gZG8gbWVudS9wYWluZWwpLlxuICAubWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMTIwbXMgJGVhc2Utb3V0O1xuICAgIC8vIGBmb250LXZhcmlhdGlvbi1zZXR0aW5nc2AgcmVtb3ZpZG8gZGEgdHJhbnNpw6fDo286IGNhZGEgZnJhbWUgaW50ZXJtZWRpw6FyaW9cbiAgICAvLyByZS1zaGFwZSBhIGdseXBoIChjdXN0byBhbHRvIHF1YW5kbyBkaXNwYXJhKS4gRW0gdGFiZWxhcyBjb20gbXVpdG9zXG4gICAgLy8gYC5hcHAtaWNvbi1idXR0b25gIHBvciBsaW5oYSwgaG92ZXIgdmlhamFuZG8gZW50cmUgbGluaGFzIHBhZ2EgZXNzZVxuICAgIC8vIHJlLXNoYXBlIGVtIHbDoXJpb3Mgw61jb25lcyBzaW11bHTDom5lb3MuXG4gIH1cblxuICAvLyBgOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZClgIOKAlCBib3TDo28gZGVzYWJpbGl0YWRvIG7Do28gY2xhcmVpYSBvIMOtY29uZSBubyBob3ZlclxuICAvLyAoZXJhIGVzc2UgbyBob3ZlciBxdWUgc29icmF2YSBubyBcIi4uLlwiIGVtIG1vZG8gZWRpw6fDo287IGFzIG91dHJhcyByZWdyYXMgZGUgaG92ZXJcbiAgLy8gasOhIGVzdGF2YW0gZ3VhcmRhZGFzLCBtYXMgbyByZWFsY2UgZG8gw61jb25lIG7Do28pLlxuICAmOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCk6aG92ZXIgLm1hdC1pY29uIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gIH1cblxuICAmLm1lbnUtb3BlbiAubWF0LWljb24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDE7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS1jLWFjY2VudCwgIzdDMkQxMik7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxufVxuXG5cblxuLy8gQ2hhaXIgVUkgYnV0dG9uIGZhbWlseSDigJQgcGFyIFwicHJpbWFyeSBmaWxsZWRcIiAvIFwic2Vjb25kYXJ5IHN0cm9rZWRcIlxuLy8gY29tcGFydGlsaGFkbyBwb3IgZm9ybSBzdWJtaXQtYmFycywgZGlhbG9ncywgZSBxdWFscXVlciBmbHV4byBkZSBhw6fDo29cbi8vIGNvbmZpcm1hci9jYW5jZWxhci4gQ2VudHJhbGl6YXIgYXF1aSBldml0YSBkcmlmdCB2aXN1YWwgZW50cmUgcMOhZ2luYXNcbi8vIChkZXNjb2JyaW1vcyBpc3NvIGNvbXBhcmFuZG8gRGVzY2FydGFyIGRvIHJldmlld3MtY29uZmlndXJhdGlvbiB2c1xuLy8gQ2FuY2VsYXIgZG8gY29uZmlybWF0aW9uLWRpYWxvZyDigJQgZXN0YXZhbSBjb20gZ2VvbWV0cmlhIGRpZmVyZW50ZSkuXG4vL1xuLy8gVXNvOlxuLy8gICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiAgIGNsYXNzPVwiY2hhaXItYnV0dG9uIGNoYWlyLWJ1dHRvbi0tcHJpbWFyeVwiICAgLi4uPlNhbHZhcjwvYnV0dG9uPlxuLy8gICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjbGFzcz1cImNoYWlyLWJ1dHRvbiBjaGFpci1idXR0b24tLXNlY29uZGFyeVwiIC4uLj5DYW5jZWxhcjwvYnV0dG9uPlxuLy9cbi8vIFZhcmlhbnRlIGRlc3RydXRpdmE6IGFwbGljYXIgYGNvbG9yPVwid2FyblwiYCBubyBib3TDo28gcHJpbcOhcmlvOyBjb3Igw6lcbi8vIGdlcmVuY2lhZGEgcGVsbyBNYXRlcmlhbCwgZ2VvbWV0cmlhL3RpcG9ncmFmaWEgasOhIHbDqm0gZGFxdWkuXG4vL1xuLy8gT3ZlcnJpZGVzIGxvY2FpcyAoZXg6IHN1Ym1pdCBkbyByZXZpZXdzLWNvbmZpZ3VyYXRpb24gY29tIG1pbi13aWR0aFxuLy8gbWFpb3IgcG9yIGNhdXNhIGRvIGxhYmVsIFwiU2FsdmFyIGFsdGVyYcOnw7Vlc1wiL1wiU2FsdmFuZG/igKZcIikgc2VndWVtXG4vLyBwb3Nzw612ZWlzIOKAlCBiYXN0YSBzb2JyZXNjcmV2ZXIgbWluLXdpZHRoIG5vIGNvbXBvbmVudGUuXG4uY2hhaXItYnV0dG9uLm1hdC1mbGF0LWJ1dHRvbixcbi5jaGFpci1idXR0b24ubWF0LXN0cm9rZWQtYnV0dG9uIHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBtaW4td2lkdGg6IDk2cHg7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMjBtcyBlYXNlLCBib3JkZXItY29sb3IgMTIwbXMgZWFzZSxcbiAgICAgICAgICAgICAgYm94LXNoYWRvdyAxMjBtcyBlYXNlLCBmaWx0ZXIgMTIwbXMgZWFzZTtcbn1cblxuLy8gQ2VudHJhbGl6YSB2ZXJ0aWNhbG1lbnRlIMOtY29uZSArIHRleHRvIGRlbnRybyBkbyBib3TDo28uIE8gd3JhcHBlciBkbyBNYXRlcmlhbFxuLy8gKGAubWF0LWJ1dHRvbi13cmFwcGVyYCkgYWxpbmhhIG8gY29udGXDumRvIHBlbGEgbGluaGEgZGUgYmFzZSBwb3IgcGFkcsOjbywgbyBxdWVcbi8vIGRlc2VuY29udHJhIG8gw61jb25lIGRvIHLDs3R1bG87IGlubGluZS1mbGV4ICsgYWxpZ24taXRlbXMgY2VudGVyIHJlc29sdmUgZW1cbi8vIFRPRE8gY2hhaXItYnV0dG9uIGNvbSBkaXJldGl2YSAobWF0LWZsYXQvbWF0LXN0cm9rZWQpLlxuLmNoYWlyLWJ1dHRvbi5tYXQtZmxhdC1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcixcbi5jaGFpci1idXR0b24ubWF0LXN0cm9rZWQtYnV0dG9uIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnkubWF0LXN0cm9rZWQtYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgLy8gQmFja2dyb3VuZCBlIGJvcmRlciBleHBsw61jaXRvcyBHTE9CQUlTIChuw6NvIHRoZW1lLXNjb3BlZCkuIE1hdGVyaWFsXG4gIC8vIGRpYWxvZ3MgcmVuZGVyaXphbSB2aWEgY2RrLW92ZXJsYXktY29udGFpbmVyOyBlbWJvcmEgLmxpZ2h0LXRoZW1lL1xuICAvLyAuZGFyay10aGVtZSBlc3RlamFtIGVtIDxib2R5PiwgcmVncmFzIGdsb2JhaXMgc2VtIHByZWZpeG8gZ2FyYW50ZW1cbiAgLy8gYXBsaWNhw6fDo28gaW5kZXBlbmRlbnRlIGRlIHF1YWxxdWVyIGNhbWluaG8gZGUgY2FzY2FkZS5cbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I7XG4gIC8vIENvciBkZSB0ZXh0byBleHBsw61jaXRhICh0aGVtZS1hd2FyZSkuIFNlbSBlbGEgbyBNYXRlcmlhbCBhcGxpY2EgdW0gZm9yZWdyb3VuZFxuICAvLyBwYWRyw6NvIHF1ZSBubyBkYXJrIGZpY2EgZXNjdXJvIOKGkiBcIkRlc2NhcnRhclwiIGVzbWFlY2lkbyBtZXNtbyBoYWJpbGl0YWRvLlxuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gIC8vIEJvcmRhIGRvcyBDT05UUk9MRVMgPSBjaHJvbWUtYm9yZGVyLUFDVElWRSAobWFpcyBkZWZpbmlkYSksIE1FU01PIHRva2VuIGRvIHRyaW8gZG9cbiAgLy8gaGVhZGVyIChjYWl4YSBkZSBmaWx0cm8sIGJvdMOjbyBkZSBmaWx0cm8sIGJvdMOjbyBkZSBhw6fDtWVzKS4gSGFybW9uaXphIG9zIGJvdMO1ZXMgZGFcbiAgLy8gYmFycmEgZGUgYcOnw7VlcyBjb20gbyBoZWFkZXI7IG8gYGNocm9tZS1ib3JkZXJgIGJhc2UgZmljYSByZXNlcnZhZG8gYSBESVZJU09SRVMuXG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xufVxuXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Lm1hdC1zdHJva2VkLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcms7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xufVxuXG4vLyBIb3ZlciBkb3MgYm90w7VlcyBkYSBiYXJyYSBkZSBjb25maXJtYcOnw6NvIChjaGFpci1idXR0b24pLiBDb21vIG8gZm9jdXMtb3ZlcmxheSBmb2lcbi8vIHplcmFkbyAoYWJhaXhvKSwgbyBmZWVkYmFjayDDqSBleHBsw61jaXRvOiBlbGV2YcOnw6NvIHN1dGlsIG5vcyBkb2lzICsgbXVkYW7Dp2EgZGUgZnVuZG9cbi8vIG5vIHNlY3VuZMOhcmlvIGUgbGV2ZSBlc2N1cmVjaW1lbnRvIG5vIHByaW3DoXJpby4gRXhjbHVpIG8gZXN0YWRvIGRlc2FiaWxpdGFkby5cbi5jaGFpci1idXR0b24ubWF0LWZsYXQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6aG92ZXIsXG4uY2hhaXItYnV0dG9uLm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG59XG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Lm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tc2Vjb25kYXJ5Lm1hdC1zdHJva2VkLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xufVxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6aG92ZXIge1xuICBmaWx0ZXI6IGJyaWdodG5lc3MoMC45Myk7XG59XG5cbi8vIFplcmEgbyB0aW50IGRvIGZvY3VzIG92ZXJsYXkgbm8gY2hhaXItYnV0dG9uIChNYXRlcmlhbCBhcGxpY2EgfjAuMTJcbi8vIG9wYWNpdHkgcXVhbmRvIGZvY2FkbyDigJQgbyBxdWUgZMOhIGEgaW1wcmVzc8OjbyB2aXN1YWwgZGUgXCJmdW5kbyBjaW56YVwiXG4vLyBubyBib3TDo28gQ2FuY2VsYXIgZG8gZGlhbG9nLCBxdWUgw6kgYXV0by1mb2NhZG8pLiBGb2N1cyBjb250aW51YVxuLy8gcGVyY2VwdMOtdmVsIHZpYSAuY2RrLWZvY3VzZWQgb3V0bGluZS5cbi5jaGFpci1idXR0b24gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSB7XG4gIG9wYWNpdHk6IDAgIWltcG9ydGFudDtcbn1cblxuLy8gRGlzYWJsZWQ6IE1hdGVyaWFsIGFwbGljYSBzZXUgcHLDs3ByaW8gZ3JheSAoYC5tYXQtYnV0dG9uLWRpc2FibGVkYCksXG4vLyBxdWUgZGVzdG9hIGRvIHJlc3RvIGRvIGNoYWlyIFVJLiBGb3LDp2Ftb3Mgb3MgdG9rZW5zIGdsb2JhaXNcbi8vIGAkYnV0dG9uLWRpc2FibGVkLWNvbG9yYCAvIGAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLWRhcmtgIChqw6EgdXNhZG9zIGVtXG4vLyBgYnV0dG9uOmRpc2FibGVkYCBlbSBfY29sb3Itc2NoZW1lLnNjc3MsIG1hcyBNYXRlcmlhbCB2ZW5jZSBwb3Jcbi8vIHNwZWNpZmljaXR5KS4gTyBgLm1hdC1pY29uYCBoZXJkYSB2aWEgYGNvbG9yOiBpbmhlcml0YCAoc2V0YWRvIG5vXG4vLyBvdmVycmlkZSBkbyBmbG9hdGluZy1zdWJtaXQtYmFyKS4gQWp1c3RhciBnbG9iYWxtZW50ZSA9IGVkaXRhciBvIHRva2VuLlxuLmNoYWlyLWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLFxuLmNoYWlyLWJ1dHRvbjpkaXNhYmxlZCxcbi5jaGFpci1idXR0b25bZGlzYWJsZWRdIHtcbiAgY29sb3I6ICRidXR0b24tZGlzYWJsZWQtY29sb3IgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b246ZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiAkYnV0dG9uLWRpc2FibGVkLWNvbG9yLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gRGlzYWJsZWQgZG8gUFJJTUFSWSAobWF0LWZsYXQtYnV0dG9uKTogbWFudMOpbSBvIGF6dWwsIGFwZW5hcyBlc21hZWNpZG8g4oCUXG4vLyBuw6NvIGNhaXIgbm8gZ3JheSBkZWZhdWx0IGRvIE1hdGVyaWFsLiBSZWdyYSBnbG9iYWw6IHVtIGJvdMOjbyBkZXNhYmlsaXRhZG9cbi8vIHRlbSBxdWUgc2UgcGFyZWNlciBjb20gbyBtZXNtbyBib3TDo28gaGFiaWxpdGFkbywgc8OzIHF1ZSBhcGFnYWRvLCBlbVxuLy8gUVVBTFFVRVIgY29udGV4dG8gKHRhYmVsYSBkZSB0cmlsaGFzLCBmbG9hdGluZyBiYXIsIHByw6l2aWEsIGV0Yy4pLiBTZW1cbi8vIGlzc28gbyBNYXRlcmlhbCBzb2JyZXNjcmV2ZSBiYWNrZ3JvdW5kK2NvbG9yIGNvbSBvIHByZXNldCBkZSBkaXNhYmxlZCBlXG4vLyBkZXN0b2EgZG8gcmVzdG8gZGEgVUkuIENvYnJlIHRhbnRvIGBbZGlzYWJsZWRdYCBxdWFudG8gYC5tYXQtYnV0dG9uLWRpc2FibGVkYFxuLy8gKGNsYXNzZSBxdWUgTWF0ZXJpYWwgYWRpY2lvbmEgcXVhbmRvIHVtIDxhPiBjaGFpci1idXR0b24gcGVyZGUgcm91dGVyTGluaykuXG4uY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0tcHJpbWFyeS5tYXQtZmxhdC1idXR0b24ubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbjpkaXNhYmxlZCxcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXQtY29sb3IoJGFwcC1wcmltYXJ5LWxpZ2h0LCA1MDApICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Lm1hdC1mbGF0LWJ1dHRvbi5tYXQtYnV0dG9uLWRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uOmRpc2FibGVkLFxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnkubWF0LWZsYXQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6IG1hdC1jb2xvcigkYXBwLXByaW1hcnktZGFyaywgNTAwKSAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjU1O1xufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIGNoYWlyLWJ1dHRvbiBcInB1cm9cIiDigJQgcGFyYSA8YnV0dG9uPi88YT4gY29tIGNsYXNzPVwiY2hhaXItYnV0dG9uXCIgU0VNXG4vLyBkaXJldGl2YSBNYXRlcmlhbC4gUmVwbGljYSBhIGdlb21ldHJpYS90aXBvZ3JhZmlhL2VzdGFkb3MgcXVlXG4vLyBtYXQtc3Ryb2tlZC1idXR0b24gZSBtYXQtZmxhdC1idXR0b24gZm9ybmVjZXJpYW0uIFNlbGV0b3Jcbi8vIGA6bm90KC5tYXQtYnV0dG9uLWJhc2UpYCBtaXJhIHPDsyBvcyBiYXJlIChNYXRlcmlhbCBzZW1wcmUgYWRpY2lvbmFcbi8vIC5tYXQtYnV0dG9uLWJhc2UgbmFzIHN1YXMgdmFyaWFudGVzKSwgZW50w6NvIGVzdGVzIGNvbnZpdmVtIGNvbSBvc1xuLy8gY2hhaXItYnV0dG9uIE1hdGVyaWFsIGRvIHJlc3RvIGRvIGFwcCBzZW0gY29saXPDo28uIENvYnJlIDxhPiAobmF2ZWdhw6fDo29cbi8vIHZpYSByb3V0ZXJMaW5rLCBleC46IGHDp8O1ZXMgZG8gbWVtYnJvIGRvIGNvbWl0w6ogbmEgcMOhZ2luYSBkbyBldmVudG8pIGFsw6ltXG4vLyBkZSA8YnV0dG9uPi5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLmNoYWlyLWJ1dHRvbjpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAvLyDDjWNvbmUgaW50ZXJubyBhbGluaGFkbyBhbyB0YW1hbmhvIGRhIHRpcG9ncmFmaWEgZG8gYm90w6NvICgxM3B4LzE2cHgpLlxuICAvLyBDb2JyZSAzIGZvcm1hcyBkZSByZW5kZXJpemFyIG8gw61jb25lOiBgbWF0LWljb25gIChNYXRlcmlhbCDigJQgMjRweFxuICAvLyBkZWZhdWx0LCBwcmVjaXNhIGNhcCksIGAubWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZGAgKHNwYW4gY29tIGFcbiAgLy8gZm9udGUgc2VsZi1ob3N0ZWQsIEpFTVMzIHB1cm8gc2VtIE1hdGVyaWFsKSBlIGAuamVtczNzYCAoZm9udFNldFxuICAvLyBjbMOhc3NpY28pLiBOYXMgdmFyaWFudGVzIGNvbSBkaXJldGl2YSBNYXRlcmlhbCBvIHdyYXBwZXJcbiAgLy8gYC5tYXQtYnV0dG9uLXdyYXBwZXJgIGrDoSBkaW1lbnNpb25hOyBhcXVpIMOpIG8gcGFyIHB1cm8uXG4gIG1hdC1pY29uLFxuICAubWF0LWljb24sXG4gIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuICAuamVtczNzLFxuICAuamVtczNyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogNnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICB9XG4gIC8vIGhlaWdodDogYXV0byBzb2JyZXNjcmV2ZSBhIHJlZ3JhIGdsb2JhbCBgYnV0dG9uIHsgaGVpZ2h0IH1gIG1hcyBhcXVpXG4gIC8vIHF1ZXJlbW9zIGV4YXRhbWVudGUgYSBhbHR1cmEgcGFkcsOjbyBkbyBNYXRlcmlhbCDigJQgZW50w6NvIGRlaXhhbW9zLlxuICBoZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgbWluLXdpZHRoOiA5NnB4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7ICAgICAgICAgICAgLy8gPSAkY2hyb21lLXJhZGl1cyBkbyBtYXQtc3Ryb2tlZC1idXR0b25cbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgICAgICAgIC8vIDxhPiBlc3RpbGl6YWRvIGNvbW8gYm90w6NvIG7Do28gc3VibGluaGFcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcblxuICAvLyBGb2NvIHZpc8OtdmVsIHPDsyBwb3IgdGVjbGFkbyDigJQgbWVzbWEgaWTDqWlhIGRvIGNkay1rZXlib2FyZC1mb2N1c2VkLlxuICAmOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxuXG4gIC8vIERpc2FibGVkOiBjdXJzb3IgKyBzZW0gaW50ZXJhw6fDo28uIEVzbWFlY2Vtb3MgQVBFTkFTIHRleHRvIGUgw61jb25lXG4gIC8vIChuw6NvIG8gYm90w6NvIGludGVpcm8gY29tIGBvcGFjaXR5YCwgcXVlIGNsYXJlYXJpYSB0YW1iw6ltIGJvcmRhIGUgYmcpLlxuICAvLyBgY29sb3JgIHJlYmFpeGFkYSB2aWEgcmdiYTsgw61jb25lIHNlZ3VlIHBvciBgY29sb3I6IGluaGVyaXRgIChkZWZpbmlkb1xuICAvLyBubyBmbG9hdGluZy1zdWJtaXQtYmFyLmNvbXBvbmVudC5zY3NzKS5cbiAgJjpkaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM4KTtcbiAgfVxufVxuXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1iYXNlKTpkaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b246bm90KC5tYXQtYnV0dG9uLWJhc2UpW2Rpc2FibGVkXSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzgpO1xufVxuXG4vLyBTZWNvbmRhcnkgKG91dGxpbmVkLCBmdW5kbyBkZSBjYXJkKTogZXF1aXZhbGVudGUgYW8gbWF0LXN0cm9rZWQtYnV0dG9uLlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeTpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbn1cblxuLy8gUHJpbWFyeSAoZmlsbGVkLCBmdW5kbyBhY2NlbnQpOiBlcXVpdmFsZW50ZSBhbyBtYXQtZmxhdC1idXR0b24gKyBjb2xvcj1cInByaW1hcnlcIi5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogNTAwO1xufVxuLmRhcmstdGhlbWUgLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gIC8vIFRleHRvIEJSQU5DTyBubyBhY2NlbnQgKG1lc21hIGRlY2lzw6NvIGRvIGxpZ2h0KTogY29uc2lzdMOqbmNpYVxuICAvLyB2aXN1YWwgZW0gdG9kbyBib3TDo28gZGUgYWNjZW50LiBgJGFkbWluLWFjY2VudC1jb2xvci1kYXJrYCA9IHdoaXRlLlxuICBjb2xvcjogJGFkbWluLWFjY2VudC1jb2xvci1kYXJrO1xufVxuXG4vLyBXYXJuIChmaWxsZWQsIHZlcm1lbGhvKTogZXF1aXZhbGVudGUgYW8gbWF0LWZsYXQtYnV0dG9uICsgY29sb3I9XCJ3YXJuXCIuXG4vLyBQYXJhIGHDp8O1ZXMgcXVlIHBlZGVtIGF0ZW7Dp8OjbyAoZXguOiBjb25maXJtYXIgY29udml0ZSBwZW5kZW50ZSBkZSBUUEMpLlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXdhcm46bm90KC5tYXQtYnV0dG9uLWJhc2UpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyaztcbiAgY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIEhvdmVyIOKAlCBzZWNvbmRhcnk6IGJnID0gYCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmRgIChtZXNtb1xuLy8gZG8gaG92ZXIgZG8gbWVudSBsYXRlcmFsIG1vZGVybm8gZG8gVFBDIGNoYWlyKS4gU2VtIHRyYW5zaXRpb247IHNlbSBib3gtc2hhZG93LlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXNlY29uZGFyeTpub3QoLm1hdC1idXR0b24tYmFzZSk6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1zZWNvbmRhcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xufVxuXG4vLyBIb3ZlciDigJQgcHJpbWFyeS93YXJuOiBlc2N1cmVjZSBsZXZlbWVudGUsIGlndWFsIGFvIG1hdC1mbGF0LWJ1dHRvbi5cbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKTpub3QoOmRpc2FibGVkKTpob3Zlcixcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKTpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gIGZpbHRlcjogYnJpZ2h0bmVzcygwLjkzKTtcbn1cblxuLy8gRGlzYWJsZWQg4oCUIHByaW1hcnkvd2FybjogZGVycnViYSBvIGFjY2VudCAoYmcgKyBib3JkZXIpIGUgY2FpIG5vIHZpc3VhbFxuLy8gZG8gc2Vjb25kYXJ5IGRlc2FiaWxpdGFkby4gQXNzaW0gYm90w7VlcyBjb20gYWNjZW50LWNvbG9yIGZpY2FtIGlkw6pudGljb3Ncbi8vIGFvcyBjb252ZW5jaW9uYWlzIHF1YW5kbyBpbmF0aXZvcyAoc8OzIG8gdGV4dG8gZXNtYWVjaWRvIGNhcnJlZ2EgbyBlc3RhZG8pLlxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpOmRpc2FibGVkLFxuLmNoYWlyLWJ1dHRvbi5jaGFpci1idXR0b24tLXByaW1hcnk6bm90KC5tYXQtYnV0dG9uLWJhc2UpW2Rpc2FibGVkXSxcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKTpkaXNhYmxlZCxcbi5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS13YXJuOm5vdCgubWF0LWJ1dHRvbi1iYXNlKVtkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKTpkaXNhYmxlZCxcbi5kYXJrLXRoZW1lIC5jaGFpci1idXR0b24uY2hhaXItYnV0dG9uLS1wcmltYXJ5Om5vdCgubWF0LWJ1dHRvbi1iYXNlKVtkaXNhYmxlZF0sXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSk6ZGlzYWJsZWQsXG4uZGFyay10aGVtZSAuY2hhaXItYnV0dG9uLmNoYWlyLWJ1dHRvbi0td2Fybjpub3QoLm1hdC1idXR0b24tYmFzZSlbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyaztcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuXG4vLyBHZW5lcmFsIHJlZmFjdG9yXG5cbmJ1dHRvbiB7XG4gICYubWF0LXJhaXNlZC1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuXG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuXG4gICAgLm1hdC1pY29uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjRyZW07XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG5cbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA0cHg7XG5cbiAgICAgICYubWF0LWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAxcHggMXB4IDdweCAkYmxhY2stNTAwO1xuICAgIH1cbiAgfVxuXG4gICYucHJvZmlsZS1idXR0b24sICYubWF0LWljb24tYnV0dG9uLnByb2ZpbGUtYnV0dG9uIHtcbiAgICB3aWR0aDogJGJ1dHRvbi1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkYnV0dG9uLWhlaWdodDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1oZWlnaHQ7XG4gIH1cblxuICAmW2NvbG9yXS5tYXQtcmFpc2VkLWJ1dHRvbiBzcGFuLm1hdC1idXR0b24td3JhcHBlcjpub3QoOmhhcygubWF0LWljb24pKSwgXG4gICZbY29sb3JdLm1hdC1yYWlzZWQtYnV0dG9uIHNwYW4ubWF0LWJ1dHRvbi13cmFwcGVyOmhhcyhzcGFuKSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAmLm1hdC1yYWlzZWQtYnV0dG9uLm1hdC1idXR0b24tZGlzYWJsZWQubWF0LWJ1dHRvbi1kaXNhYmxlZFtkaXNhYmxlZD1cInRydWVcIl0ge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7IC8vIHNpemVzXG5AaW1wb3J0ICdjb21wb25lbnRzL2hlYWRlcic7XG5cbiRtYXgtYmFzZS1jb250YWluZXItd2lkdGg6IDExMDBweDtcblxuJGRlc2t0b3Atd2lkdGgtbWQ6IDE0NTBweDtcbiRkZXNrdG9wLXdpZHRoLXNtOiAxMjE2cHg7XG4kdGFibGV0LWJyZWFrdXAtd2lkdGg6IDc2OHB4O1xuJG1vYmlsZS13aWR0aDogNDg2cHg7XG4kc2NyZWVuLWlQaG9uZVNFLXBvcnRyYWl0LXdpZHRoOiAzMjBweDtcbiRzY3JlZW4taVBob25lOC1wb3J0cmFpdC13aWR0aDogMzc1cHg7XG4kc2NyZWVuLWlQaG9uZTEyLXByby13aWR0aDogMzkwcHg7XG4kc2NyZWVuLWlQaG9uZThwbHVzLXBvcnRyYWl0LXdpZHRoOiA0MTRweDtcbiRzY3JlZW4taVBhZE1pbmktcG9ydHJhaXQtd2lkdGg6IDg4MHB4O1xuJHNjcmVlbi1pUGFkTWluaS1sYW5kc2NhcGUtd2lkdGg6IDEwMjRweDtcblxuLy8gU2NyZWVuIHdpZHRoIHBlciBpbnRlcmZhY2VcbiRzY3JlZW4tbWFpbi1wb3J0YWwtc2hvcnQ6IDg5MHB4O1xuXG5cbiRtaW4tc2NyZWVuLXdpZHRoOiAzMjBweDtcbiRuYXZiYXItbW9iaWxlLWJyZWFrOiA2MDBweDtcblxuJGV2ZW50LXRpdGxlLWJhcjogMHB4OyAgICAgICAgICAvLyAobGVnYWN5IHNsb3QsIGtlcHQgYXQgemVybzsgZG8gbm90IHJldXNlKVxuJHdvcmtzcGFjZS1iYXItaGVpZ2h0OiAwcHg7ICAgICAgIC8vIHdvcmtzcGFjZSBiYXIgcmVtb3ZlZCDigJQga2VlcGluZyB0aGUgdmFyaWFibGUgYXQgMCBzbyBhbnkgZG93bnN0cmVhbSBvZmZzZXRzIHJlc29sdmUgbmF0dXJhbGx5ICh1bml0IG9icmlnYXTDs3JpYSBwcmEgY2FsYygpIGMvIHZhcigpIG7Do28gcXVlYnJhcilcbiRsZWZ0LWNvbHVtbi1oZWFkZXItaGVpZ2h0OiAwcHg7ICAvLyAobGVnYWN5IHNsb3QsIGtlcHQgYXQgemVybzsgZG8gbm90IHJldXNlIOKAlCBoZWFkZXIgc3RyaXAgcmVtb3ZlZCBieSByZXF1ZXN0KVxuJGV4cGVyaW1lbnRhbC1zaWRlYmFyLXdpZHRoOiAyNDBweDsgLy8gZXhwZXJpbWVudGFsIHNpbmdsZS1zaWRlYmFyIChpY29uK3RleHQgKyBhY2NvcmRpb24gY2hpbGRyZW4pLCBzaXRzIHRvIHRoZSBsZWZ0IG9mIHRoZSBvcmlnaW5hbCBjaHJvbWUgZm9yIEEvQiBjb21wYXJpc29uXG4kYWN0aXZpdHktYmFyLXdpZHRoOiA0OHB4OyAgICAgIC8vIFZTIENvZGUtc3R5bGUgdmVydGljYWwgaWNvbiBiYXIgb24gdGhlIGxlZnQgKFRQQyBjaGFpciBwcmltYXJ5IG5hdmlnYXRpb24gaW4gTW9kZXJuKS4gSWNvbi1vbmx5LCA0MMOXNDAgYnV0dG9ucy5cbiRjbGFzc2ljLXRvb2xiYXItaGVpZ2h0OiA1NXB4OyAgLy8gSG9yaXpvbnRhbCB0b29sYmFyIGhlaWdodCBpbiBDbGFzc2ljIGxheW91dC4gU2l6ZWQgdG8gZml0IGEgY29tcGFjdCBpY29uLXBpbGwgKDI4cHgpICsgdGlueSBnYXAgKyBsYWJlbCAoMTBweCkgKyBidXR0b24gcGFkZGluZyArIHNtYWxsIGJyZWF0aGluZyByb29tIOKAlCB0aWdodGVyIHRoYW4gdGhlIGljb24tb25seSBNb2Rlcm4gdmFyaWFudCBzbyBpY29uIGFuZCBsYWJlbCByZWFkIGFzIGEgdW5pdC5cbiRldmVudC1icmVhZGNydW1iLWhlaWdodDogMzZweDsgLy8gVG90YWwgcmVuZGVyZWQgaGVpZ2h0IG9mIHRoZSBicmVhZGNydW1iIChtYXRjaGVzIGAuZXZlbnQtYnJlYWRjcnVtYiB7IGhlaWdodDogMzZweCB9YCBpbiBldmVudC1icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzIOKAlCB3aXRoIHRoZSBwcm9qZWN0J3MgZ2xvYmFsIGBib3gtc2l6aW5nOiBib3JkZXItYm94YCwgdGhlIDFweCBgYm9yZGVyLWJvdHRvbWAgaXMgSU5DTFVERUQgaW4gdGhlIDM2cHgsIG5vdCBhZGRlZCBvbiB0b3ApLiBNb2Rlcm4gbGF5b3V0IHVzZXMgdGhpcyBkaXJlY3RseS5cbiRjbGFzc2ljLWJyZWFkY3J1bWItaGVpZ2h0OiAyNnB4OyAvLyBDb21wYWN0IG92ZXJyaWRlIGZvciBDbGFzc2ljIG9ubHkg4oCUIGFwcGxpZWQgdmlhIHRoZSBgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKWAgYmxvY2sgaW4gYWRtaW4tZXZlbnQtc2lkZWJhci5jb21wb25lbnQuc2NzcyAoaGVpZ2h0ICsgZm9udCArIGljb24gb3ZlcnJpZGVzIG9uIHRoZSBicmVhZGNydW1iKSBzbyB0aGUgc3RyaXAgcmVjb3ZlcnMgdmVydGljYWwgc3BhY2UgZm9yIHRoZSBjYW52YXMuXG4kYWRtaW4tc3VibWVudS13aWR0aDogMTY1cHg7ICAgIC8vIFRQQyBjaGFpciBzdWItbmF2aWdhdGlvbiBwYW5lbCAoYmV0d2VlbiBhY3Rpdml0eSBiYXIgYW5kIGNvbnRlbnQpXG4kbmF2YmFyLWhlaWdodDogNTVweDtcbiRwcm94eS1iYXItaGVpZ2h0OiAzMHB4O1xuJHByb3h5LWJhci1tYXJnaW4tc2l6ZTogNDVweDtcbiRzaWRlbmF2LXdpZHRoOiAyMDBweDtcbiRzaWRlbmF2LW1vYmlsZS13aWR0aDogMjUwcHg7XG4kY29udGVudC13aWR0aDogJHNpZGVuYXYtd2lkdGggKyAxMDBweDtcbiRjb250ZW50LXdpZHRoLWFkbWluOiAwcHg7XG4kc2lkZW5hdi1taW5pLXdpZHRoOiA0NXB4OyAvLyB6LWluZGV4ZXNcbiRzaWRlbmF2LWFkbWluLW1pbmktd2lkdGg6IDc5cHg7XG4kc2lkZWJhci1jb250ZW50LXotaW5kZXg6IDEwO1xuJHNpZGViYXItei1pbmRleDogMjA7XG4kbmF2YmFyLXotaW5kZXg6IDMxO1xuJHByb2dyZXNzLWJhci16LWluZGV4OiAxMTAwOyAgLy8gYWJvdmUgYWxsIGFwcCBjaHJvbWUgKHdvcmtzcGFjZSBiYXIsIGFjdGl2aXR5IGJhciwgbWF0LWRyYXdlcikgc28gdGhlIGxvYWRpbmcgaW5kaWNhdG9yIGlzIG5ldmVyIGNsaXBwZWRcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiAycHg7XG4kc2lkZWJhci1iYWNrZHJvcC16LWluZGV4OiAzNTtcbiRzaWRlYmFyLW1vYmlsZS16LWluZGV4OiA0MDtcbiRuYXZiYXItaWNvbi1zaXplOiA3MnB4O1xuXG4vLyBGaWxlIGljb24gc2l6ZSB2YXJpYWJsZXMuXG4kZmlsZS1pY29uLXNpemU6IDMwcHg7XG4kZmlsZS1pY29uLXNpemUtc21hbGxlcjogJGZpbGUtaWNvbi1zaXplICogMC42O1xuJGZpbGUtaWNvbi1zaXplLXNtYWxsZXItZm9udHNpemU6IDAuOHJlbTtcblxuXG4vLyBNYWluIGxheW91dCBwYWRkaW5ncyBvciBtYXJnaW5cbiRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLW1kOiAxLjNyZW07XG4kbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbTogMC41cmVtO1xuJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LXRhYmxldDogMXJlbTtcbiRsYXRlcmFsLXBhZGRpbmctY29udGVudC1tb2JpbGU6IDAuNXJlbTtcblxuLy8gc2l6ZSBmb3IgYXZhdGFyXG4kYXZhdGFyLXNpemU6IDM2cHg7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVFBDIGNoYWlyIFVJIOKAlCBlbGV2YXRpb24gdG9rZW5zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFR3byBjYW5vbmljYWwgdGllcnMgdXNlZCBhY3Jvc3MgdGhlIGNoYWlyIFVJIG1lbnVzOlxuLy8gICAxLiBQQU5FTCAg4oCUIGFuY2hvcmVkIG1lbnVzICh1c2VyIG1lbnUsIG5vdGlmaWNhdGlvbnMsIGZseW91dCkuXG4vLyAgICAgICAgICAgICAgIEFwcGxpZWQgdmlhIGBmaWx0ZXI6IGRyb3Atc2hhZG93KC4uLilgIHNvIHRoZSBzaGFkb3dcbi8vICAgICAgICAgICAgICAgZm9sbG93cyB0aGUgcGFuZWwgc2lsaG91ZXR0ZSAoaW5jbC4gdGhlIGZseW91dCdzXG4vLyAgICAgICAgICAgICAgIGFycm93IHRhaWwpLiBEYXJrIG1vZGUgYWRkaXRpb25hbGx5IGdldHMgYSAxcHhcbi8vICAgICAgICAgICAgICAgb3V0bGluZSB2aWEgYGJveC1zaGFkb3c6IDAgMCAwIDFweCA8ZGFyay1ib3JkZXI+YCxcbi8vICAgICAgICAgICAgICAga2VwdCBpbmxpbmUgYmVjYXVzZSBpdCdzIGEgY29sb3VyLXRva2VuIGRlY2lzaW9uXG4vLyAgICAgICAgICAgICAgIHJhdGhlciB0aGFuIGFuIGVsZXZhdGlvbiBvbmUuXG4vLyAgIDIuIEZMT0FUSU5HIOKAlCBkcmFnIHByZXZpZXdzIChjZGtEcmFnIGNsb25lcykuIFNsaWdodGx5IGxhcmdlclxuLy8gICAgICAgICAgICAgICAgIGJsdXIgLyBoZWF2aWVyIGFscGhhIHRoYW4gcGFuZWxzIOKAlCBjb21tdW5pY2F0ZXNcbi8vICAgICAgICAgICAgICAgICBcImxpZnRlZCBjbG9uZVwiIHZzIFwiYW5jaG9yZWQgcGFuZWxcIi5cbiRzaGFkb3ctcGFuZWwtbGlnaHQ6ICAgIGRyb3Atc2hhZG93KDAgM3B4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjMyKSk7XG4kc2hhZG93LXBhbmVsLWRhcms6ICAgICBkcm9wLXNoYWRvdygwIDVweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC43KSk7XG4kc2hhZG93LWZsb2F0aW5nLWxpZ2h0OiAwIDZweCAxOHB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4kc2hhZG93LWZsb2F0aW5nLWRhcms6ICAwIDhweCAyMnB4IHJnYmEoMCwgMCwgMCwgMC41NSk7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVFBDIGNoYWlyIFVJIOKAlCBjb3JuZXIgcmFkaXVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNpbmdsZSBjYW5vbmljYWwgcmFkaXVzIHVzZWQgYWNyb3NzIHRoZSBjaGFpciBVSTogaW50ZXJhY3RpdmUgcGlsbHNcbi8vIChzaWRlYmFyIGl0ZW1zLCBtZW51IGl0ZW1zLCBmbHlvdXQgaXRlbXMsIGJyZWFkY3J1bWIgc2VnbWVudHMsXG4vLyBjaHJvbWUgYnV0dG9ucykgQU5EIHBhbmVsIHN1cmZhY2VzIChtYXQtbWVudS1wYW5lbCwgc2lkZWJhciBoZWFkZXIpLlxuLy8gNnB4IGlzIHRoZSBHaXRIdWItc3R5bGUgXCJtb2Rlcm4gYXBwXCIgY29ybmVyIHRoYXQgcmVhZHMgYXMgcm91bmRlZFxuLy8gd2l0aG91dCBmZWVsaW5nIHNvZnQuIENlbnRyYWxpc2VkIGhlcmUgc28gYW55IGZ1dHVyZSB0dW5pbmcgb2YgdGhlXG4vLyBjaGFpciBVSSdzIGNvcm5lciBpZGVudGl0eSBpcyBhIHNpbmdsZS10b2tlbiBjaGFuZ2UuXG4kY2hyb21lLXJhZGl1czogNnB4O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRQQyBjaGFpciBVSSDigJQgY29udHJvbCBoZWlnaHRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQWx0dXJhIGNhbsO0bmljYSBkb3MgY29udHJvbGVzIGludGVyYXRpdm9zIGRvIEpFTVMzIChjYWl4YXMgZGUgaW5wdXQvc2VsZWN0XG4vLyBmaWx0ZXItc3R5bGVkLCBkYXRlcGlja2VyLCBudW1iZXItaW5wdXQsIGNoYWlyLWJ1dHRvbiwgc2VsZXRvciBkZSByZXZpc29yIGRhXG4vLyB0YWJlbGEgZGUgc3VnZXN0w7VlcykuIEZvbnRlIMOaTklDQSBkZSB2ZXJkYWRlOiBhbnRlcyBjYWRhIHByZXNldC9jb21wb25lbnRlXG4vLyBoYXJkY29kYXZhIGAzNnB4YCAoZMOpYml0byBkZSB0b2tlbikuIE11ZGFyIGFxdWkgcmVmbGV0ZSBlbSB0b2Rvcy4gQ29tIG9cbi8vIGBib3gtc2l6aW5nOiBib3JkZXItYm94YCBnbG9iYWwsIGVzdGEgYWx0dXJhIElOQ0xVSSBib3JkYSArIHBhZGRpbmcuXG4vL1xuLy8gRXNjb2xoYSAyNnB4ICgyMDI2LTA2KTogYWxpbmhhIGNvbSBhIGRlbnNpZGFkZSBuYXRpdmEgZG8gbWFjT1Mg4oCUXG4vLyAgIOKAoiBtYWNPUyBSZWd1bGFyIE5TVGV4dEZpZWxkL05TUG9wVXBCdXR0b24g4omIIDIyLTI2cHguXG4vLyAgIOKAoiBXaW5kb3dzIEZsdWVudCAyIENvbXBhY3QgPSAyNHB4LCBEZWZhdWx0ID0gMzJweCDihpIgMjYgZmljYSBwcsOzeGltbyBkbyBjb21wYWN0LlxuLy8gICDigKIgV0NBRyB0YXJnZXQg4omlIDI0cHggY3VtcHJpZG8uXG4kY29udHJvbC1oZWlnaHQ6IDI2cHg7XG5cbi8vIFRhbWFuaG8gZGUgZm9udGUgZG8gQ09OVEXDmkRPIGRvcyBjb250cm9sZXMgZG8gY2hhaXIgVUkgKHZhbG9yIGRpZ2l0YWRvXG4vLyBubyBpbnB1dCwgb3DDp8OjbyBzZWxlY2lvbmFkYSBubyBzZWxlY3QsIG3DoXNjYXJhIGRvIGRhdGVwaWNrZXIsIG7Dum1lcm8pLlxuLy8gQWxpbmhhIGNvbSBvIGJvZHkgYmFzZSBkbyBKRU1TMyAoMTNweCDigJQgdmVyIGBmZWVkYmFja19iYXNlX2JvZHlfdGV4dGApXG4vLyBlIGNvbSBvIFJlZ3VsYXIgZG8gbWFjT1MgKFNGIFRleHQgMTNwdCkuIEFudGVzIGNhZGEgcHJlc2V0IGhhcmRjb2RhdmFcbi8vIDE0cHggKGhlcmFuw6dhIGRvIE1hdGVyaWFsIDExKSDigJQgdG9rZW4gw7puaWNvIGFxdWkgZXZpdGEgZHJpZnQuXG4kY29udHJvbC1mb250LXNpemU6IDEzcHg7XG5cbi8vIFBlc28gZG8gQ09OVEXDmkRPIGRvcyBjb250cm9sZXMgKHRleHRvIGRlbnRybyBkYSBjYWl4YTogdmFsb3IgZGlnaXRhZG8gbm9cbi8vIGlucHV0LCB2YWxvciBleGliaWRvIG5vIHRyaWdnZXIgZG8gc2VsZWN0LCBtw6FzY2FyYSBkbyBkYXRlcGlja2VyLCBwbGFjZWhvbGRlcixcbi8vIHByZWZpeC9zdWZmaXgpLiBQZXNvIG5vcm1hbCDigJQgbsOjbyBjb21wZXRlIGNvbSBsYWJlbHMgYWRqYWNlbnRlcy4gRGlmZXJlbnRlXG4vLyBkbyBwZXNvIGRvcyBJVEVOUyBERU5UUk8gZG9zIHBhaW7DqWlzIGFiZXJ0b3MgKCRtZW51LWl0ZW0td2VpZ2h0ID0gNTAwKS5cbiRjb250cm9sLWNvbnRlbnQtd2VpZ2h0OiA0MDA7XG5cbi8vIEZvbnQtd2VpZ2h0IGRvcyBpdGVucyBlbSBNRU5VUy9QQUlOw4lJUyAob3DDp8OjbyBkbyBzZWxlY3QsIGl0ZW0gZG8gbWVudSBkZVxuLy8gY29udGV4dG8sIGxpbmhhIGRhIGxpc3RhIGRlIGZ1c28sIGV0Yy4pLiBBbnRlcyBoYXJkY29kZWQgZW0gfjEwIGx1Z2FyZXMuXG4kbWVudS1pdGVtLXdlaWdodDogNDAwO1xuJG1lbnUtaXRlbS13ZWlnaHQtc2VsZWN0ZWQ6IDYwMDtcbiRtZW51LWl0ZW0td2VpZ2h0LW11dGVkOiA0MDA7ICAgLy8gdGFncyBcIihicm93c2VyKVwiL1wiKGV2ZW50KVwiLCBvZmZzZXQgR01UXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVFBDIGNoYWlyIFVJIOKAlCBlYXNpbmcgZnVuY3Rpb25cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU2luZ2xlIGNhbm9uaWNhbCBlYXNpbmcgY3VydmUgdXNlZCBieSBldmVyeSBhbmltYXRpb24vdHJhbnNpdGlvblxuLy8gYWNyb3NzIHRoZSBjaGFpciBVSSAoc2lkZWJhciB3aWR0aCB0b2dnbGUsIGJyZWFkY3J1bWIgbGVmdCB0cmFja2luZyxcbi8vIGRyYWctZHJvcCByb3cgc2hpZnRzLCBldGMuKS4gU2FtZSBzaGFwZSBhcyBNYXRlcmlhbCdzIFwic3RhbmRhcmRcIlxuLy8gY3VydmUg4oCUIGEgcXVpY2sgc3RhcnQgYW5kIGEgc2xvdyBlYXNlLW91dC4gRGVmaW5lZCBvbmNlIGhlcmUgc29cbi8vIHRpbWluZyBjaGFuZ2VzIGNhbiBiZSBtYWRlIGluIG9uZSBwbGFjZS5cbiRlYXNlLW91dDogY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSk7XG5cbi8vIER1cmHDp8OjbyBjYW7DtG5pY2EgZGEgYW5pbWHDp8OjbyBkZSBhYmVydHVyYS9mZWNoYW1lbnRvIGRvIHNpZGViYXIgZXhwZXJpbWVudGFsXG4vLyAobW9kZXJubykuIFVzYWRhIHBvcjogYC5leHBlcmltZW50YWwtc2lkZWJhciB7IHRyYW5zaXRpb246IHdpZHRoIH1gIGUgcG9yXG4vLyBUT0RPIGVsZW1lbnRvIHF1ZSBwcmVjaXNlIGRlc2xpemFyIGp1bnRvIChicmVhZGNydW1iLCByZXNpemUtaGFuZGxlLCBldGMuKS5cbi8vIFRlciB1bWEgZm9udGUgw7puaWNhIGV2aXRhIGRyaWZ0IGVudHJlIGVsZXMg4oCUIG11ZGFyIGFxdWkgPSB0dWRvIGRlc2xpemEgbm9cbi8vIG1lc21vIHJpdG1vLlxuJGV4cGVyaW1lbnRhbC1zaWRlYmFyLXRyYW5zaXRpb24tZHVyYXRpb246IDIwMG1zO1xuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJzsgICAvLyBtaXhpbiBgamVtczMtY291bnQtYmFkZ2VgXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQm90w6NvIGljb24tb25seSBkZSBoZWFkZXIgKGNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbikuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFVzYWRvIG5vcyBoZWFkZXJzIGRhcyBww6FnaW5hcyBkbyBhdXRvci9yZXZpc29yIChFdmVudG9zLCBNaW5oYXNcbi8vIHN1Ym1pc3PDtWVzLCBNaW5oYXMgcmV2aXPDtWVzLCBldGMuKSBwYXJhIGHDp8O1ZXMgY29tbyBGSUxUUkFSLCBCQUlYQVIsXG4vLyBjb25maWd1cmFyIHZpc3VhbGl6YcOnw6NvLCBldGMuXG4vL1xuLy8gTyBjb250ZcO6ZG8gZG8gbWVudS9hw6fDo28gcXVlIG8gYm90w6NvIGRpc3BhcmEgw6kgcmVzcG9uc2FiaWxpZGFkZSBkb1xuLy8gY29tcG9uZW50ZSBwYWkgKGhhbmRsZXJzIGAoY2xpY2spYCwgW21hdE1lbnVUcmlnZ2VyRm9yXSwgZXRjLik7IGVzdGVcbi8vIGFycXVpdm8gY3VpZGEgQVBFTkFTIGRvIHZpc3VhbCDigJQgZ2VvbWV0cmlhLCBib3JkYSwgaG92ZXIsIGJhZGdlcyxcbi8vIGVzdGFkbyBcIm1lbnUgYWJlcnRvXCIgZSBkYXJrLW1vZGUuXG4vL1xuLy8gVmFyaWFudGVzIChtb2RpZmljYWRvcmFzIG9wY2lvbmFpcyk6XG4vLyAgIC0gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tLWZpbHRlcmAgIOKGkiBzZW3Dom50aWNhIGRlIGZpbHRyby5cbi8vICAgLSBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi0tYWN0aW9uc2Ag4oaSIHNlbcOibnRpY2EgZGUgbWVudSBkZSBhw6fDtWVzIChkb3dubG9hZCArIGHDp8O1ZXMpLlxuLy8gICAtIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLmhhcy1hY3RpdmVgICDihpIgZXN0YWRvIFwiYXRpdm9cIlxuLy8gICAgIChleC46IHRlbSBmaWx0cm9zIGF0aXZvcyksIHByZWVuY2hlIG8gw61jb25lIChGSUxMIDEpIGNvbVxuLy8gICAgIHdnaHQgNDAwIGUgb3BhY2lkYWRlIDEuXG4vLyAgIC0gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24ubWVudS1vcGVuYCDihpIgbWVudSBhYmVydG8gKHNlbGVjaW9uYWRvKSxcbi8vICAgICBib3JkYSBhY2NlbnQgMnB4IHNpbmFsaXphbmRvIGEgc2VsZcOnw6NvIGF0aXZhLlxuXG4kY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLXNpemU6IDM2cHg7XG5cbi5jaGFpci1oZWFkZXItaWNvbi1idXR0b24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLXNpemUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAkY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLXNpemUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAkY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLXNpemUgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQ7XG4gIC8vIGAuYXBwLWljb24tYnV0dG9uYCBnbG9iYWwgKGVtIGBfYnV0dG9uLnNjc3NgKSBkZWZpbmVcbiAgLy8gYGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50YCBubyBtZXNtbyBuw612ZWwgZGUgZXNwZWNpZmljaWRhZGUg4oCUIHNlbVxuICAvLyBgIWltcG9ydGFudGAgYXF1aSBhIGJvcmRhIHNvbWUgcXVhbmRvIG8gYm90w6NvIHRhbWLDqW0gdGVtIGFxdWVsYSBjbGFzc2UuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMTAwbXMgJGVhc2Utb3V0O1xuXG4gIC8vIEhvdmVyIOKAlCBib3JkYSBcImVuZ3Jvc3NhZGFcIiB2aWEgYm94LXNoYWRvdyBvdXRzZXQgMXB4IG5hIG1lc21hIGNvclxuICAvLyBkYSBib3JkYSAobmV1dHJhKS4gWmVybyBpbXBhY3RvIGVtIGxheW91dCAoYm9yZGVyIHJlYWwgY29udGludWEgMXB4KTtcbiAgLy8gZWZlaXRvIHZpc3VhbCDDqSB1bWEgYm9yZGEgMsOXIG1haXMgZ3Jvc3NhLlxuICAvL1xuICAvLyBgYmFja2dyb3VuZC1jb2xvcmAgcHJlY2lzYSBzZXIgcHJlc2VydmFkbyBleHBsaWNpdGFtZW50ZSBwb3JxdWUgb1xuICAvLyBgX2NvbG9yLXNjaGVtZS5zY3NzYCBhcGxpY2EgdW0gY2luemEgbm8gaG92ZXIvbWVudS1vcGVuIGRvXG4gIC8vIGAuYXBwLWljb24tYnV0dG9uYCBnbG9iYWwgKG1haXMgZXNwZWPDrWZpY28g4oCUIGAubGlnaHQtdGhlbWUgLmFwcC1pY29uLWJ1dHRvbjpob3ZlcmApLlxuICAvLyBCb3TDo28gZGVzYWJpbGl0YWRvIChleC46IFwiLi4uXCIgbm8gbW9kbyBlZGnDp8OjbyBkYSBww6FnaW5hKSBuw6NvIHJlYWdlIGFvIGhvdmVyOiBzZW1cbiAgLy8gYm9yZGEgZW5ncm9zc2FkYSBuZW0gZnVuZG8uIEd1YXJkYSBwb3IgYC5tYXQtYnV0dG9uLWRpc2FibGVkYCAoY2xhc3NlIHF1ZSBvIE1hdGVyaWFsXG4gIC8vIHNlbXByZSBww7VlIG5vIG1hdC1idXR0b24gZGVzYWJpbGl0YWRvKSBFIHBvciBgOmRpc2FibGVkYC4gUGFyZWFkbyBjb20gbyBndWFyZCBkb1xuICAvLyBmdW5kbyBjaW56YSBkbyBgLmFwcC1pY29uLWJ1dHRvbjpob3ZlcmAgZW0gYF9jb2xvci1zY2hlbWUuc2Nzc2AuXG4gICY6bm90KC5tYXQtYnV0dG9uLWRpc2FibGVkKTpub3QoOmRpc2FibGVkKTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC8vIERlc2FiaWxpdGFkbzogY3Vyc29yIG5ldXRybyArIGBwb2ludGVyLWV2ZW50czogbm9uZWAuIEVzdGUgw7psdGltbyBtYXRhIG8gYDpob3ZlcmBcbiAgLy8gTkEgUkFJWiAobyBlbGVtZW50byBuZW0gcmVjZWJlIGV2ZW50b3MgZGUgcG9udGVpcm8pLCBlbnTDo28gbmVuaHVtYSByZWdyYSBkZSBob3ZlclxuICAvLyBkaXNwYXJhIOKAlCBpbmRlcGVuZGVudGUgZGUgdMOqLWxhcyB0b2RhcyBndWFyZGFkby4gw4kgdGFtYsOpbSB1bSBkaWFnbsOzc3RpY286IHNlIGFpbmRhXG4gIC8vIGhvdXZlciBob3ZlciBjb20gaXN0bywgbyBib3TDo28gTsODTyBlc3TDoSBmaWNhbmRvIGRlc2FiaWxpdGFkbyAoYcOtIMOpIGZpYcOnw6NvLCBuw6NvIENTUykuXG4gICYubWF0LWJ1dHRvbi1kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gU2VsZWNpb25hZG8gKG1lbnUgYWJlcnRvKSDigJQgYm9yZGEgYWNjZW50IChtZXNtYSBmYW3DrWxpYSBkbyBiYWRnZSksXG4gIC8vIHNpbmFsaXphbmRvIGEgc2VsZcOnw6NvIGF0aXZhLiBCb3JkYSByZWFsICsgYm94LXNoYWRvdyBuYSBjb3IgYWNjZW50XG4gIC8vIHBhcmEgdW0gYW5lbCAycHggbGltcG8gZSB1bmlmb3JtZS5cbiAgJi5tZW51LW9wZW4ge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRXN0YWRvIFwiaGFzLWFjdGl2ZVwiIOKAlCB1c2FkbyBlbSBmaWx0cm9zIHF1ZSBUw4pNIGZpbHRyb3MgYXRpdm9zXG4gIC8vIG1lc21vIGNvbSBvIG1lbnUgZmVjaGFkby4gU29icmVzY3JldmUgbyDDrWNvbmUgcGFyYSBgZmlsbGVkYC5cbiAgJi5oYXMtYWN0aXZlIC5tYXQtaWNvbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgNDAwLCAnRklMTCcgMTtcbiAgfVxuXG4gIC8vIEJhZGdlIGNvbnRhZG9yIOKAlCBuw7ptZXJvIG9wY2lvbmFsIG5vIGNhbnRvIHN1cGVyaW9yIGRpcmVpdG9cbiAgLy8gKGV4LjogbsK6IGRlIGZpbHRyb3MgYXRpdm9zKS4gU2VtcHJlIGFjY2VudCBjb2xvciBwYXJhIGRlc3RhY2FyLlxuICAvLyBHZW9tZXRyaWEgdmlhIG1peGluIGNvbXBhcnRpbGhhZG87IHBvc2ljaW9uYW1lbnRvICsgc29tYnJhIGxvY2Fpcy5cbiAgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZSB7XG4gICAgQGluY2x1ZGUgamVtczMtY291bnQtYmFkZ2UoJGFjY2VudC1iYWNrZ3JvdW5kKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAtNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICB9XG59XG5cbi8vIC0tLS0gRGFyay1tb2RlIC0tLS1cbi8vIFNvYmUgbyBkw61naXRvIH4xcHggZW0gdG9kb3Mgb3MgYmFkZ2VzIChiZWxsLCBzZWcsIGNoYWlyLWhlYWRlcikgbm9cbi8vIGRhcmssIHZpYSBgcGFkZGluZy1ib3R0b21gLiBSZWdyYSBnbG9iYWwg4oCUIHZpdmUgYXF1aSAobsOjbyBubyBtaXhpbilcbi8vIHBvcnF1ZSBgLmRhcmstdGhlbWUgJmAgZGVudHJvIGRvIG1peGluIHNvZnJlIHNjb3Bpbmcgbmdjb250ZW50IGRvXG4vLyBBbmd1bGFyIEVtdWxhdGVkIGUgbsOjbyBiYXRlIG5vIGJvZHkuXG4uZGFyay10aGVtZSAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLWJhZGdlLFxuLmRhcmstdGhlbWUgLmJlbGwtYmFkZ2UsXG4uZGFyay10aGVtZSAuc2VnLWJhZGdlIHtcbiAgLy8gUmVkdXppciBgbGluZS1oZWlnaHRgIChlcmEgMTZweCA9IGhlaWdodCkgZmF6IGEgbGluZS1ib3ggZG8gdGV4dG9cbiAgLy8gZW5jb2xoZXIgZSBmaWNhciBhbmNvcmFkYSBubyB0b3BvIGRvIGNvbnRhaW5lci4gRGlnaXQgZGVzY2UgbWVub3NcbiAgLy8gPSB2aXN1YWxtZW50ZSBzb2JlIH4ycHguIGBwYWRkaW5nLWJvdHRvbTogMnB4YCBzb3ppbmhvIG7Do28gZnVuY2lvbmFcbiAgLy8gKGJvcmRlci1ib3ggKyBsaW5lLWhlaWdodD1oZWlnaHQgZmF6ZW0gYSBsaW5lLWJveCBvdmVyZmxvdyBvXG4gIC8vIGNvbnRlbnQtYm94LCBlIG8gdGV4dG8gZmljYSBuYSBtZXNtYSBwb3Npw6fDo28pLiBgIWltcG9ydGFudGBcbiAgLy8gcG9ycXVlIGEgcmVncmEgc2NvcGVkIGRvIG1peGluIChgLnVzZXItbm90aWZpY2F0aW9ucyAuYmVsbC1iYWRnZVxuICAvLyBbX25nY29udGVudC14eHhdYCAwLDQsMCkgc29icmVww7VlIGVzdGEgZ2xvYmFsIDAsMiwwLlxuICBsaW5lLWhlaWdodDogMTRweCAhaW1wb3J0YW50O1xufVxuXG4vLyBPdmVycmlkZSBlc3BlY8OtZmljbyBkbyBgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi1iYWRnZWAgbm8gZGFyazogYXF1aVxuLy8gbyBkw61naXRvIERFU0NFIDJweCAoZW0gdmV6IGRlIHN1YmlyIGNvbSBhIHJlZ3JhIGFjaW1hKS4gQXBsaWNhZG8gbm9zXG4vLyBiYWRnZXMgZG9zIGJvdMO1ZXMgZGUgZmlsdHJvIGRlIE1pbmhhcyBTdWJtaXNzw7VlcyBlIE1pbmhhcyBSZXZpc8O1ZXMuXG4vLyBSZXN0YXVyYSBsaW5lLWhlaWdodCBhbyB2YWxvciBuYXR1cmFsICsgcGFkZGluZy10b3AgcHJhIGVtcHVycmFyXG4vLyBhIGxpbmUtYm94IChlIG8gZMOtZ2l0byBkZW50cm8gZGVsYSkgMnB4IHByYSBiYWl4by5cbi5kYXJrLXRoZW1lIC5jaGFpci1oZWFkZXItaWNvbi1idXR0b24tYmFkZ2Uge1xuICBsaW5lLWhlaWdodDogMTZweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMC41cHggIWltcG9ydGFudDtcbn1cblxuLmRhcmstdGhlbWUgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmUgIWltcG9ydGFudDtcbiAgLy8gQ29yIGRvIMOtY29uZSDigJQgYW50ZXMgZmljYXZhIGluZGVmaW5pZGEgZSBjYcOtYSBwcmEgcHJldG8gKGhlcmRhZG9cbiAgLy8gZG8gYm9keSBubyBkYXJrKSwgaW52aXPDrXZlbCBzb2JyZSBiZyBlc2N1cm8uIE5vIGNoYWlyIGZ1bmNpb25hdmFcbiAgLy8gcG9yIHJlZ3JhcyBhbmNlc3RyYWlzIGFkbWluOyBub3MgdXNvcyBkbyBhdXRvci9yZXZpc29yIChleC46IHBhaW5lbFxuICAvLyBkZSBub3RpZmljYcOnw7VlcykgbsOjbyBjaGVnYXZhLiBTZXRhciBhcXVpIGZlY2hhIG8gZ2FwIGdsb2JhbG1lbnRlLlxuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgLm1hdC1pY29uIHsgY29sb3I6IGluaGVyaXQ7IH1cblxuICAvLyBHdWFyZGEgZGUgZGlzYWJsZWQgdGFtYsOpbSBubyBkYXJrIChwYXIgZG8gZ3VhcmQgbGlnaHQgbMOhIGVtIGNpbWEpLlxuICAmOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBTZWxlY2lvbmFkbyAobWVudSBhYmVydG8pIOKAlCBib3JkYSBhY2NlbnQgZG8gREFSSyAoI0ZCQkYyNCwgYW1iZXItNDAwKS4gQW50ZXNcbiAgLy8gcmV1c2F2YSAkYWNjZW50LWJhY2tncm91bmQgKCM3QzJEMTIsIGJyaWNrLXJlZCBkbyBsaWdodCksIHF1ZSBmaWNhdmEgXCJtdWRkeVwiIGVcbiAgLy8gc2VtIGNvbnRyYXN0ZSBzb2JyZSBhIHN1cGVyZsOtY2llIGVzY3VyYS4gJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgw6kgbyB0b2tlbiBkZVxuICAvLyBhY2NlbnQgcHLDs3ByaW8gZG8gZGFyayAobWVzbW8gZG8gYmFkZ2UgYWJhaXhvKSDihpIgYW5lbCBsaW1wbyBlIGxlZ8OtdmVsLlxuICAmLm1lbnUtb3BlbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBCYWRnZSDigJQgbWVzbWEgZmFtw61saWEgYWNjZW50IGRvIGRhcmsgKGFtYmVyKS4gVGV4dG8gZXNjdXJvIHAvIGNvbnRyYXN0ZSBzb2JyZSBvXG4gIC8vIGFtYmVyIGNsYXJvIChubyBsaWdodCDDqSBicmFuY28gc29icmUgYnJpY2stcmVkKS4gU8OzIHNvYnJlc2NyZXZlIGNvcmVzO1xuICAvLyBnZW9tZXRyaWEgdmVtIGRvIG1peGluLlxuICAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLWJhZGdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICBjb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgfVxufVxuXG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1peGluIGBqZW1zMy1jb3VudC1iYWRnZWAg4oCUIEZPTlRFIMOaTklDQSBkYSBnZW9tZXRyaWEgZG9zIGJhZGdlc1xuLy8gbnVtw6lyaWNvcyBkbyBhcHAgKGNvbnRhZG9yIGRlIG7Do28tbGlkYXMsIGZpbHRyb3MgYXRpdm9zLCBldGMuKS5cbi8vXG4vLyBWaXZlIGVtIGFycXVpdm8gZGVkaWNhZG8gKHNlbSBkZWNsYXJhw6fDtWVzIENTUykgcG9ycXVlIEBpbXBvcnRcbi8vIFNBU1MgaW5jbHVpIFRVRE8gZG8gYXJxdWl2byBpbXBvcnRhZG8uIFNlIGVzdGl2ZXNzZSBlbVxuLy8gYF9oZWFkZXItaWNvbi1idXR0b24uc2Nzc2AgKGNvbW8gZXN0YXZhIGFudGVzKSwgcXVhbHF1ZXIgY29tcG9uZW50ZVxuLy8gcXVlIGltcG9ydGFzc2UgcHJhIHVzYXIgbyBtaXhpbiBhcnJhc3RhcmlhIG8gYC5jaGFpci1oZWFkZXItaWNvbi1idXR0b25cbi8vIHsgYmFja2dyb3VuZDogd2hpdGUgfWAgcHJvIHNldSBlc2NvcG8g4oCUIGNvbGlkaW5kbyBjb20gYSB2ZXJzw6NvIGdsb2JhbFxuLy8gdmlhIENTUyBzY29wZWQgZGEgQW5ndWxhciAoYF9uZ2NvbnRlbnQtKmApLCBxdWVicmFuZG8gbyBkYXJrLW1vZGUuXG4vL1xuLy8gQ29uc3VtaWRvcmVzIGF0dWFpczpcbi8vICAg4oCiIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLWJhZGdlYCAoaGVhZGVyLWljb24tYnV0dG9uLCBjb3IgYWNjZW50KVxuLy8gICDigKIgYC5iZWxsLWJhZGdlYCAodXNlci1ub3RpZmljYXRpb25zLCBjb3Igd2FybmluZylcbi8vICAg4oCiIGAuc2VnLWJhZGdlYCAobm90aWZpY2F0aW9ucy1jZW50ZXIsIGNvciB3YXJuaW5nKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AbWl4aW4gamVtczMtY291bnQtYmFkZ2UoJGJnLWNvbG9yLCAkdGV4dC1jb2xvcjogI2ZmZmZmZikge1xuICAvLyBHZW9tZXRyaWEgKyB0aXBvZ3JhZmlhICsgY2VudHJhbGl6YcOnw6NvIGFsaW5oYWRhcyBhb1xuICAvLyBgLnNpZGViYXItaXRlbS1iYWRnZWAgZG8gbWVudSBsYXRlcmFsIChhdXRvci9yZXZpc29yKTpcbiAgLy8gICB3ZWlnaHQgNjAwLCBwYWRkaW5nIGAwIDVweGAsIGNlbnRyYWxpemHDp8OjbyB2aWFcbiAgLy8gICBgbGluZS1oZWlnaHQ6IDE2cHggKyB0ZXh0LWFsaWduOiBjZW50ZXJgLiBBc3NpbSBvcyA0IGJhZGdlcyBkb1xuICAvLyAgIGFwcCByZW5kZXJpemFtIGlkw6pudGljb3MgZW0gYWx0dXJhIGUgYWxpbmhhbWVudG8gZG8gZ2x5cGguXG4gIG1pbi13aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBwYWRkaW5nOiAwIDVweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC8vIERhcmstbW9kZTogY29ycmXDp8OjbyDDs3B0aWNhIHZpdmUgZW0gcmVncmEgR0xPQkFMIGZvcmEgZG8gbWl4aW5cbiAgLy8gKHZpZGUgYF9oZWFkZXItaWNvbi1idXR0b24uc2Nzc2ApLiBOw6NvIHBvZGUgZmljYXIgYXF1aSBwb3JxdWVcbiAgLy8gcXVhbmRvIG8gbWl4aW4gw6kgaW5jbHXDrWRvIG51bSBTQ1NTIGRlIGNvbXBvbmVudGUsIG8gQW5ndWxhclxuICAvLyBFbXVsYXRlZCBhZGljaW9uYSBgW19uZ2NvbnRlbnQteHh4XWAgYSBUT0RPUyBvcyBzZWxlY3RvcnMsXG4gIC8vIGluY2x1c2l2ZSBgLmRhcmstdGhlbWVgIOKAlCBlIG8gYm9keSAocXVlIHRlbSBgLmRhcmstdGhlbWVgKSBuw6NvXG4gIC8vIHRlbSBlc3NlIGF0cmlidXRvLCBxdWVicmFuZG8gbyBtYXRjaC5cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi5tYXQtdG9vbHRpcCB7XG4gICYuY2FyZFRvb2x0aXAge1xuICAgIGJveC1zaGFkb3c6ICR0b29sdGlwLXNoYWRvdztcblxuICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICAgcGFkZGluZzogMTJweDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgfVxufVxuXG4vLyBUb29sdGlwIGN1c3RvbSBkb3MgcGlsbHMgZGUgY3JpdMOpcmlvIGRvIENBQkXDh0FMSE8gZGUgc2NvcmUgKExpc3RhIGRlIFN1Ym1pc3PDtWVzKS4gVml2ZSBubyA8Ym9keT5cbi8vIChmb3JhIGRvIENESyBvdmVybGF5KSwgZW50w6NvIGVzdGlsaXphZG8gYXF1aSBlbSBlc2NvcG8gZ2xvYmFsIOKAlCBJR1VBTCBhbyBiYWzDo28gZG8gbWF0LXRvb2x0aXA6XG4vLyBjaW56YSBubyBjbGFybywgY2xhcm8gbm8gZXNjdXJvLiBDb250ZcO6ZG8gPSBsZWdlbmRhIE1VTFRJLUxJTkhBICh0w610dWxvICsgXCJ2YWxvcjogZGVzY3Jpw6fDo29cIiBwb3Jcbi8vIGxpbmhhLCBjb20gXFxuKTogYHdoaXRlLXNwYWNlOiBwcmUtbGluZWAgcHJlc2VydmEgYXMgcXVlYnJhczsgYHRleHQtYWxpZ246IGxlZnRgIHBvcnF1ZSDDqSBsZWdlbmRhLlxuLnNnLWNyaXQtdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTcsIDk3LCA5NywgMC45Mik7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbn1cbi5kYXJrLXRoZW1lIC5zZy1jcml0LXRvb2x0aXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG4gIGNvbG9yOiAkZ3JheS05MDA7XG59XG5cbi8vIERhcmstbW9kZSB0b29sdGlwczogaW52ZXJ0IE1hdGVyaWFsJ3MgZGVmYXVsdCBkYXJrIGJhbGxvb24gdG8gYSBsaWdodFxuLy8gYmFsbG9vbiB3aXRoIGRhcmsgdGV4dCBzbyB0b29sdGlwcyByZW1haW4gbGVnaWJsZSBhZ2FpbnN0IHRoZSBkYXJrIFVJXG4vLyBjaHJvbWUuIExpdmVzIGF0IGJvZHkgc2NvcGUgYmVjYXVzZSBtYXQtdG9vbHRpcCBpcyByZW5kZXJlZCBpbiB0aGUgQ0RLXG4vLyBvdmVybGF5IGNvbnRhaW5lciAoc2libGluZyBvZiB0aGUgYXBwIHJvb3QsIGJ1dCBzdGlsbCB1bmRlciBib2R5IHdoZXJlXG4vLyAuZGFyay10aGVtZSBpcyBhcHBsaWVkKS5cbi5kYXJrLXRoZW1lIC5tYXQtdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMCAhaW1wb3J0YW50O1xuICBjb2xvcjogJGdyYXktOTAwICFpbXBvcnRhbnQ7XG59XG4iLCIubm90aWZpY2F0aW9uLW1lbnUge1xuICBidXR0b24ubWF0LW1lbnUtaXRlbSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIHRleHQtb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMnJlbTtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRtYWluLXRoZW1lLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgIH1cblxuICAgIC50aW1lIHtcbiAgICAgIG1hcmdpbi10b3A6IC41ZW07XG5cbiAgICAgIG1hdC1pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDtcblxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYXBwLXNpZGViYXIge1xuICBtYXQtc2lkZW5hdiB7XG4gICAgLm1hdC1saXN0IC5tYXQtbGlzdC1pdGVtIC5tYXQtbGlzdC1pdGVtLWNvbnRlbnQge1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzO1xuICAgIH1cblxuICAgIC5tYXQtbGlzdCBidXR0b24ubWF0LWljb24tYnV0dG9uIHtcbiAgICAgIHRyYW5zaXRpb246IG1hcmdpbiAwLjJzO1xuICAgICAgY29sb3I6ICRuYXZiYXItaWNvbi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLm1pbmkge1xuICAgIG1hdC1zaWRlbmF2IHtcbiAgICAgIC5tYXQtbGlzdCAubWF0LWxpc3QtaXRlbSAubWF0LWxpc3QtaXRlbS1jb250ZW50IHtcbiAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjNzO1xuICAgICAgICBwYWRkaW5nOiAwIDdweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWF0LXNpZGVuYXYgLm1hdC1pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gIH1cbn1cblxuYXBwLWFkbWluLWV2ZW50LXNpZGViYXIge1xuICBtYXQtc2lkZW5hdiB7XG4gICAgLm1hdC1saXN0IHtcbiAgICAgIC5tYXQtbGlzdC1pdGVtIC5tYXQtbGlzdC1pdGVtLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYubWVudSB7XG4gICAgICAubWF0LWRyYXdlci1pbm5lci1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIG1hdC1saXN0IHtcbiAgICAgICAgICAmLmJvdHRvbS1hbGlnbmVkIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZW5kO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7ICAgICAgICAvLyBqZW1zLXNlbGVjdGVkLWNoZWNrIChjaGVjayBTRi1zdHlsZSBjb21wYXJ0aWxoYWRvKVxuQGltcG9ydCAnZHJhZy1oYW5kbGUnO1xuXG4vLyBDaHJvbWUgR0xPQkFMIGRvIG1hdC1tZW51IChwYWluZWwgKyBpdGVucyArIHN3aXRjaGVycyBkbyB1c2VyLW1lbnUgY2hhaXIpLlxuLy8gUmVncmFzIFBMQU5BUyAoc2VtIGA6Om5nLWRlZXBgKSBwZWxvIE1FU01PIG1vdGl2byBqw6EgZG9jdW1lbnRhZG8gbm8gYmxvY29cbi8vIGAudmlldy1wcm9maWxlLW1lbnVgIG5vIGZpbSBkZXN0ZSBhcnF1aXZvOiBudW0gc3R5bGVzaGVldCBHTE9CQUwgbyBgOjpuZy1kZWVwYFxuLy8gdmlyYSBwc2V1ZG8gaW52w6FsaWRvIOKGkiBvIGJyb3dzZXIgZGVzY2FydGEgYSByZWdyYTsgYSDDum5pY2EgY8OzcGlhIHF1ZSBmdW5jaW9uYXZhXG4vLyBlcmEgSU5KRVRBREEgcG9yIHVtIGNvbXBvbmVudGUgRW11bGF0ZWQgcXVlIGltcG9ydGEgZXN0ZSBhcnF1aXZvIChhdmF0YXItcHJvZmlsZVxuLy8gZXRjLiksIHByZXNlbnRlIGVtIHF1YXNlIHRvZGEgdGVsYSDigJQgTUFTIG7Do28gbm8gc2hlbGwgYD92aWV3TW9kZT1mdWxsYFxuLy8gKHJlbmRlcml6YSBzw7MgYDxyb3V0ZXItb3V0bGV0PmApLCBvbmRlIG8gcGFpbmVsIGRvIG1hdC1tZW51IHBlcmRpYSBvIHBhZGRpbmdcbi8vIGxhdGVyYWwgKDRweOKGkjApLiBQbGFuYXMsIHZhbGVtIFNFTVBSRSB2aWEgYF9jb3JlLnNjc3NgLCBub3MgZG9pcyBtb2Rvcy5cbi8vIChBIGluZGVudGHDp8OjbyBhIHNlZ3VpciDDqSB2ZXN0w61naW8gZG8gYW50aWdvIHdyYXBwZXIgYDo6bmctZGVlcGAuKVxuICAgIC5tYXQtbWVudS1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyAoUmVtb3ZlZCkgRXhwZXJpbWVudGFsIHNpZGViYXIgZmx5b3V0IG1hdC1tZW51IHN0eWxlcy5cbiAgICAvLyBUaGUgZmx5b3V0IGlzIG5vdyBhIGN1c3RvbSBgPGFzaWRlIGNsYXNzPVwiZXhwZXJpbWVudGFsLWZseW91dFwiPmBcbiAgICAvLyBlbGVtZW50IHJlbmRlcmVkIGF0IHRoZSAuc2lkZWJhciByb290IGJ5IGBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhcmBcbiAgICAvLyAoc2VlIGFkbWluLWV2ZW50LXNpZGViYXIuY29tcG9uZW50LnNjc3MgZm9yIGl0cyBzdHlsaW5nKS4gVGhlIG9sZFxuICAgIC8vIGAubWF0LW1lbnUtcGFuZWwuZXhwZXJpbWVudGFsLWZseW91dC1tZW51YCBydWxlIHRyZWUgdGhhdCB1c2VkIHRvXG4gICAgLy8gbGl2ZSBoZXJlIHdhcyBkZWxldGVkIHRvIGF2b2lkIGZyYW1ld29yayBmaWdodHMgKG1hdC1tZW51J3NcbiAgICAvLyAhaW1wb3J0YW50IHNpemluZywgQ0RLIG92ZXJsYXkgaW5saW5lIHBvc2l0aW9uaW5nLCBhdXRvLWNsb3NlIG9uXG4gICAgLy8gaXRlbSBjbGljaykuIFRoZSBsaWdodC9kYXJrIHRoZW1lIHJ1bGVzIGZvciBgLmV4cGVyaW1lbnRhbC1mbHlvdXRgXG4gICAgLy8gbGl2ZSBpbiBgX2NvbG9yLXNjaGVtZS5zY3NzYC5cblxuICAgIC5tYXQtbWVudS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWF0LW1lbnUtaXRlbSB7XG4gICAgICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgICAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIDMwcHggY2FzYSBhIGFsdHVyYSBkb3MgaXRlbnMgZG8gc2lkZWJhciBkbyBjaGFpclxuICAgICAgICAvLyAoYC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtYCkg4oCUIG8gY29tZW50w6FyaW8gYWJhaXhvIGrDoSBkZWNsYXJhdmEgYVxuICAgICAgICAvLyBpbnRlbsOnw6NvIChcInNhbWUgZGVmaW5pdGlvbnMgYXMgdGhlIHN1Ym1lbnUgaXRlbXMgaW4gdGhlIGNoYWlyIHNpZGViYXJcIiksXG4gICAgICAgIC8vIG1hcyBvIHZhbG9yIGVzdGF2YSBlbSAzNnB4LiBBbGluaGFkby5cbiAgICAgICAgaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMnB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcblxuICAgICAgICAubWF0LWljb24ge1xuICAgICAgICAgICAgLy8gYHBhZGRpbmctdG9wOiA0cHhgIGZvaSByZW1vdmlkbzogY29tIGBkaXNwbGF5OmZsZXg7IGFsaWduLWl0ZW1zOmNlbnRlcmBcbiAgICAgICAgICAgIC8vIG5vIGl0ZW0sIG8gw61jb25lIErDgSDDqSBjZW50cmFkbyB2ZXJ0aWNhbG1lbnRlLiBPIHBhZGRpbmcgZW1wdXJyYXZhIG9cbiAgICAgICAgICAgIC8vIMOtY29uZSA0cHggcHJhIGJhaXhvLCBkZXNsb2NhbmRvLW8gZW0gcmVsYcOnw6NvIGFvIHLDs3R1bG8g4oCUIGRlc2FsaW5oYW1lbnRvXG4gICAgICAgICAgICAvLyB2aXPDrXZlbCBwcmluY2lwYWxtZW50ZSBubyB1c2VyLW1lbnUgKGAudHBjLXVzZXItbWVudWApLCBvbmRlIG9zIGl0ZW5zXG4gICAgICAgICAgICAvLyBjb252aXZlbSBjb20gd2lkZ2V0cyBxdWUgasOhIGFuY29yYW0gbyDDrWNvbmUgbm8gY2VudHJvLlxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubWF0LWRpdmlkZXIge1xuICAgICAgICBtYXJnaW46IDAgMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gVFBDIGNoYWlyIGFyZWEgdXNlciBtZW51IOKAlCB0ZXh0IGl0ZW1zIGZvbGxvdyB0aGUgc2FtZSBkZWZpbml0aW9ucyBhc1xuICAgIC8vIHRoZSBzdWJtZW51IGl0ZW1zIGluIHRoZSBjaGFpciBzaWRlYmFyLiBUaGUgdGhlbWUgKyBsYW5ndWFnZSByb3dzIGFyZVxuICAgIC8vIGludGVudGlvbmFsbHkgbGVmdCB0byB0aGUgZ2xvYmFsIGRlZmF1bHRzICh0aGV5J3JlIGljb24tb25seSBhbmQgbmVlZFxuICAgIC8vIHRoZWlyIG93biB0cmVhdG1lbnQgbGF0ZXIpLlxuICAgIC8vIFNlbGV0b3IgY29icmUgQU1CT1M6IGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWAgKGxlZ2FkbyBtYXQtbWVudSlcbiAgICAvLyBlIGAudHBjLXVzZXItbWVudWAgc3RhbmRhbG9uZSAocG9wb3Zlci1iYXNlZCwgRmFzZSAx4oCTNSkuXG4gICAgLy8g4pWQ4pWQ4pWQIEdlb21ldHJpYSBkb3MgaXRlbnMgZW0gYC50cGMtdXNlci1tZW51YCAvIGAuY29udGFpbmVyLW9wdGlvbmAg4pWQ4pWQ4pWQXG4gICAgLy8gRk9OVEUgw5pOSUNBIGRlIGFsdHVyYS9wYWRkaW5nL8OtY29uZSBkb3MgbWVudXMgSkVNUzMgbW9kZXJub3MgKHVzZXItbWVudSxcbiAgICAvLyBcIi4uLlwiIGRvcyBhY3Rpb25zLW1lbnUtYnV0dG9uLCBicmVhZGNydW1iLCBzdWJtaXNzaW9uLWxpc3QsIHZpZXctcHJvZmlsZSxcbiAgICAvLyBjb2xvci1waWNrZXIsIGxhbmRpbmcsIGV0Yy4pLiBBbnRlcyBlc3NhIGdlb21ldHJpYSB2aXZpYSBlbVxuICAgIC8vIGBfY29sb3Itc2NoZW1lLnNjc3NgIChmb3JhIGRvIGVzY29wbyBkZXNzZSBhcnF1aXZvLCBxdWUgZGV2aWEgc2VyIHPDsyBjb3IpLlxuICAgIC8vXG4gICAgLy8gQmFzZSA9IDI2cHggKGRlbnNvLCBjYXNhIGAuamVtczMtc2VsZWN0LXBhbmVsYCkuIEV4Y2XDp8OjbyA9IHVzZXItbWVudVxuICAgIC8vID0gMjhweCB2aWEgY2xhc3NlIGRpc3RpbnRpdmEgYC51c2VyLW1lbnVgIG5vIHdyYXBwZXIgZG8gYXZhdGFyLXByb2ZpbGUuXG4gICAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0sXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0sXG4gICAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI2cHggIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCA4cHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAvLyBFeGNlw6fDo28gcHJvIHVzZXItbWVudSAoYXZhdGFyLXByb2ZpbGUpOiAyOHB4IOKAlCBtYWlzIHJlc3Bpcm8gZW0gbWVudVxuICAgIC8vIGxvbmdvIGNoZWlvIGRlIG9ww6fDtWVzLiBFc3BlY2lmaWNpZGFkZSAoMCwyLDApIGlndWFsIMOgIGJhc2U7IGEgZXNwZWPDrWZpY2FcbiAgICAvLyB2ZW5jZSBwb3Igb3JkZW0gKGRlY2xhcmFkYSBkZXBvaXMpLlxuICAgIC50cGMtdXNlci1tZW51LnVzZXItbWVudSAubWF0LW1lbnUtaXRlbSxcbiAgICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudS51c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IDI4cHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogMjhweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAvLyBJY29uIGdlb21ldHJ5IOKAlCBjb211bSBhIHRvZG9zIG9zIG1lbnVzIGNvbSBgLnRwYy11c2VyLW1lbnVgL2AuY29udGFpbmVyLW9wdGlvbmAuXG4gICAgLy8gUGVzby9GSUxMIGFuaW1hbSBubyBob3ZlciAoZWZlaXRvIGRlIFwiYWNlbmRlclwiIG8gw61jb25lIGRhIG9ww6fDo28gc29iIG8gY3Vyc29yKS5cbiAgICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXG4gICAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAgIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgb3BhY2l0eTogMC42NTtcbiAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gICAgICAgIC8vIFNlbSB0cmFuc2nDp8OjbzogbXVkYW7Dp2EgZGUgcGVzby9maWxsIGluc3RhbnTDom5lYSAoZXN0aWxvIG1hY09TKS5cbiAgICB9XG4gICAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uLFxuICAgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtOmhvdmVyIC5tYXQtaWNvbixcbiAgICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbTpob3ZlciAubWF0LWljb24ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ29wc3onIDIwLCAnd2dodCcgNDAwLCAnRklMTCcgMDtcbiAgICB9XG4gICAgLy8gTGVhZGluZyBjb20gZmxhZyBlbW9qaSAoZW0gdmV6IGRlIG1hdC1pY29uKSDigJQgZXNwZWxoYXIgZ2VvbWV0cmlhLlxuICAgIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtIC5mbGFnIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHggIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCAnTm90byBDb2xvciBFbW9qaScsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSxcbiAgICAudHBjLXVzZXItbWVudSB7XG5cbiAgICAgICAgLy8gU3VwcmltZSBvIGVmZWl0byByaXBwbGUgZG8gTWF0ZXJpYWwgZW0gVE9ET1Mgb3MgbWF0LW1lbnUtaXRlbXNcbiAgICAgICAgLy8gZG8gdXNlciBtZW51IOKAlCBmZWVkYmFjayBkZSBjbGlxdWUgYXF1aSBmaWNhIHBvciBjb250YSBkb1xuICAgICAgICAvLyBob3ZlciBiZyArIGHDp8OjbyBpbWVkaWF0YSAodHJvY2EgZGUgdGVtYS9sYXlvdXQvaWRpb21hLFxuICAgICAgICAvLyBuYXZlZ2HDp8OjbykuIE8gcmlwcGxlIG7Do28gY29tYmluYSBjb20gbyByZXN0YW50ZSBkbyBjaGFpciBVSVxuICAgICAgICAvLyAoZXN0aWxvIHRpcG9ncsOhZmljby9taW5pbWFsIMOgIGxhIE5vdGlvbi9MaW5lYXIpLlxuICAgICAgICAubWF0LW1lbnUtaXRlbSAubWF0LXJpcHBsZSxcbiAgICAgICAgLm1hdC1tZW51LWl0ZW0gLm1hdC1idXR0b24tcmlwcGxlLFxuICAgICAgICAubWF0LW1lbnUtaXRlbSAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFRvcCA4cHggbWF0Y2hlcyB0aGUgbGF0ZXJhbCBpbnNldCAocGFuZWwgNHB4ICsgaXRlbSBtYXJnaW4gNHB4ID1cbiAgICAgICAgLy8gOHB4KS4gQm90dG9tIHVzZXMgNXB4IHRvIGNvbXBlbnNhdGUgZm9yIHRoZSBwZXItaXRlbSAxcHggbWFyZ2luLVxuICAgICAgICAvLyBib3R0b20gKHNvIHRoZSB2aXNpYmxlIHNwYWNlIGJlbG93IHRoZSBsYXN0IHJvdyDiiYggNnB4LCBqdXN0IHVuZGVyXG4gICAgICAgIC8vIHRoZSA4cHggdG9wKSwgc2luY2UgaXRlbXMgZG9uJ3QgY2FycnkgYSBtYXJnaW4tdG9wLlxuICAgICAgICBwYWRkaW5nOiA4cHggNHB4IDVweCA0cHggIWltcG9ydGFudDtcbiAgICAgICAgLy8gNnB4IHBhbmVsIGNvcm5lcnMgKEdpdEh1Yi1zdHlsZSkg4oCUIG1vZGVybiBQV0EgcmFkaXVzIHdpdGhvdXRcbiAgICAgICAgLy8gbWFraW5nIHRoZSBjaHJvbWUgZmVlbCBcInNvZnRcIjsgbWF0Y2hlcyB0aGUgNnB4LXJhZGl1cyBvZiB0aGVcbiAgICAgICAgLy8gaW5uZXIgaXRlbSBwaWxscyBmb3IgYSBjb2hlcmVudCBjb3JuZXIgZmFtaWx5LiBTaGFkb3cgbGl2ZXMgaW5cbiAgICAgICAgLy8gYF9jb2xvci1zY2hlbWUuc2Nzc2AgKHRoZW1lLWF3YXJlKS5cbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcblxuICAgICAgICAvLyBTZWN0aW9uIGRpdmlkZXJzIOKAlCBrZWVwIHRoZW0gdmlzdWFsbHkgY2xlYXIgb2YgdGhlIGl0ZW0gaG92ZXJcbiAgICAgICAgLy8gcGlsbHMgYWJvdmUvYmVsb3cgc28gdGhlIGdyb3VwcyByZWFkIGFzIGRpc2NyZXRlIGJsb2Nrcy4gTGF0ZXJhbFxuICAgICAgICAvLyBtYXJnaW5zIGFyZSBORUdBVElWRSA0cHggc28gdGhlIGxpbmUgZXNjYXBlcyB0aGUgcGFuZWwncyA0cHhcbiAgICAgICAgLy8gbGVmdC9yaWdodCBwYWRkaW5nIGFuZCBydW5zIGVkZ2UtdG8tZWRnZSBhY3Jvc3MgdGhlIGZ1bGwgcGFuZWxcbiAgICAgICAgLy8gd2lkdGggKGluc3RlYWQgb2Ygc2l0dGluZyBpbmRlbnRlZCBsaWtlIHRoZSBpdGVtIHBpbGxzIGFib3ZlL2JlbG93KS5cbiAgICAgICAgLm1hdC1kaXZpZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogNnB4IC00cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFJlZ3JhcyBkZSBnZW9tZXRyaWEgZGUgYC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtYCBhZ29yYVxuICAgICAgICAvLyB2aXZlbSBubyBlc2NvcG8gYDo6bmctZGVlcGAgZGlyZXRvIChhY2ltYSksIHByYSBuw6NvIGRlcGVuZGVyZW1cbiAgICAgICAgLy8gZGEgY2xhc3NlIGB0cGMtdXNlci1tZW51YCBwcm9wYWdhciBhdMOpIG8gcGFpbmVsLlxuXG4gICAgICAgIC8vIENvbXBhY3QgbGFuZ3VhZ2Ugc3dpdGNoZXIgKGZsYWctb25seSBidXR0b25zKS4gTm8gcmlnaHQgbWFyZ2luIOKAlFxuICAgICAgICAvLyBlYWNoIGZsYWcgaXMgY2VudHJlZCBpbnNpZGUgaXRzIDQ0w5czMiBjZWxsLCBubyBsYWJlbCBmb2xsb3dpbmcuXG4gICAgICAgIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbSAuZmxhZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdBcHBsZSBDb2xvciBFbW9qaScsICdTZWdvZSBVSSBFbW9qaScsICdOb3RvIENvbG9yIEVtb2ppJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBUaGVtZSBzd2l0Y2hlciByb3cg4oCUIGNlbnRlciB0aGUgdGhyZWUgb3B0aW9ucyBhcyBhIHRpZ2h0IGNsdXN0ZXJcbiAgICAgICAgLy8gKG92ZXJyaWRlIHRoZSBjb21wb25lbnQncyBganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuYCArIHBlci1cbiAgICAgICAgLy8gYnV0dG9uIGxhdGVyYWwgbWFyZ2lucykgYW5kIHN0cmlwIHRoZSBnbG9iYWwgbWF0LW1lbnUtaXRlbSB2ZXJ0aWNhbFxuICAgICAgICAvLyBtYXJnaW4gc28gdGhlIHJvdyBodWdzIHRoZSBkaXZpZGVycyB3aXRob3V0IGV4dHJhIHBhZGRpbmcuXG4gICAgICAgIC5jb250YWluZXItdGhlbWUsXG4gICAgICAgIC5jb250YWluZXItbGF5b3V0LFxuICAgICAgICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3Qge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGdhcDogNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWN0aXZlIG9wdGlvbiDigJQgY3Vyc29yIGRlZmF1bHQgc8OzIHByYSBjb211bmljYXIgdmlzdWFsbWVudGVcbiAgICAgICAgLy8gcXVlIG8gY2VsbCBuw6NvIMOpIGludGVyYXRpdm8gKGEgbMOzZ2ljYSBkZSBuby1vcCBlc3TDoSBub1xuICAgICAgICAvLyB0ZW1wbGF0ZSB2aWEgYHN0b3BQcm9wYWdhdGlvbmAgKyBgZGlzYWJsZVJpcHBsZWApLlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gICAgICAgIC5jb250YWluZXItbGF5b3V0IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gICAgICAgIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIGA6bm90KC4uLilgIGJ1bXBzIHNwZWNpZmljaXR5IHBhc3QgdGhlIGF2YXRhci1wcm9maWxlIGNvbXBvbmVudCdzXG4gICAgICAgIC8vIHZpZXctZW5jYXBzdWxhdGVkIGA6Zmlyc3QtY2hpbGRgIC8gYDpsYXN0LWNoaWxkYCBtYXJnaW4gcnVsZXMuXG4gICAgICAgIC8vIFdpZGVyIDQ0w5czMiBjZWxscyB3aXRoIGEgNnB4LXJhZGl1cyBwaWxsIOKAlCBleHRyYSBob3Jpem9udGFsIHJvb21cbiAgICAgICAgLy8gZ2l2ZXMgdGhlIGFjdGl2ZSBoaWdobGlnaHQgYSBtb3JlIHN1YnN0YW50aWFsIGNoaXAgd2l0aG91dCBwdXNoaW5nXG4gICAgICAgIC8vIHRoZSBidXR0b25zIGFwYXJ0IHZpc3VhbGx5LlxuICAgICAgICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtOm5vdCgudHBjLW5vLXN1Y2gtY2xhc3MpLFxuICAgICAgICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbTpub3QoLnRwYy1uby1zdWNoLWNsYXNzKSxcbiAgICAgICAgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IC5tYXQtbWVudS1pdGVtOm5vdCgudHBjLW5vLXN1Y2gtY2xhc3MpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDRweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVGhlbWUgc3dpdGNoZXIgaWNvbnMgKGxpZ2h0L2Rhcmsvc3lzdGVtKS4gTm9ybWFsaXplZCB0byB0aGVcbiAgICAgICAgLy8gc3lzdGVtLXdpZGUgaWNvbi1heGlzIGxhZGRlcjogYHdnaHQgMzAwIC8gRklMTCAwYCBhdCByZXN0IOKGklxuICAgICAgICAvLyBgd2dodCA0MDAgLyBGSUxMIDFgIHdoZW4gdGhlIG9wdGlvbiBpcyB0aGUgY3VycmVudCB0aGVtZVxuICAgICAgICAvLyAoYC5oaWdobGlnaHQtYnV0dG9uYCkuIFRoZSBGSUxMIHRyYW5zaXRpb24gaXMgd2hhdCBjYXJyaWVzIHRoZVxuICAgICAgICAvLyBcInNlbGVjdGVkXCIgY3VlIGhlcmUgKHJlc3Qgb2YgdGhlIGNoYWlyIFVJIGtlZXBzIEZJTEwgMCBhbHdheXMsXG4gICAgICAgIC8vIGJ1dCBzZWxlY3Rpb24gaW5zaWRlIHRoaXMgd2lkZ2V0IGlzIGV4YWN0bHkgdGhlIHVzZS1jYXNlIGZvclxuICAgICAgICAvLyB0aGUgZmlsbCBheGlzIOKAlCBzYW1lIGV4Y2VwdGlvbiB3ZSBtYWtlIGZvciB0aGUgZmF2b3JpdGUgc3RhcikuXG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uIHtcbiAgICAgICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xuICAgICAgICAgICAgLy8gU2VtIHRyYW5zacOnw6NvOiBtdWRhbsOnYSBkZSBwZXNvL2ZpbGwgaW5zdGFudMOibmVhIChlc3RpbG8gbWFjT1MpLlxuICAgICAgICB9XG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiAubWF0LWljb24ge1xuICAgICAgICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDQwMCwgJ0ZJTEwnIDA7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIGFjdGl2ZSB0aGVtZSBidXR0b24gaXMgYWxzbyBgW2Rpc2FibGVkXWA7IGZvcmNlIGZ1bGwgb3BhY2l0eVxuICAgICAgICAvLyBzbyB0aGUgZmlsbGVkIGljb24gcmVhZHMgYXMgYSBzZWxlY3RlZCBzdGF0ZSwgbm90IGEgZGltbWVkIGNvbnRyb2wuXG4gICAgICAgIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbixcbiAgICAgICAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4vLyBCYXJyYSBkZSByb2xhZ2VtIEhPUklaT05UQUwgZmFudGFzbWEgZG8gbW9kYWwgZGUgZWRpw6fDo28gZGUgdGVtcGxhdGUuIE8gTWF0ZXJpYWwgZMOhXG4vLyBgb3ZlcmZsb3c6IGF1dG9gIFRBTlRPIG5vIGAubWF0LWRpYWxvZy1jb250YWluZXJgIFFVQU5UTyBubyBgLm1hdC1kaWFsb2ctY29udGVudGAsIGVcbi8vIGFwbGljYSBgbWFyZ2luOiAwIC0yNHB4YCBubyBjb250ZW50IChjb20gYm94LXNpemluZyBib3JkZXItYm94IGdsb2JhbCwgbyBjb250ZW50IGZpY2Fcbi8vIDQ4cHggbWFpcyBsYXJnbyBxdWUgYSDDoXJlYSBkbyBjb250YWluZXIsIGVuY29zdGFuZG8gbm8gcGFkZGluZykuIE8gYG92ZXJmbG93LXg6aGlkZGVuYFxuLy8gZG8gY29tcG9uZW50ZSBjb2JyZSBzw7MgbyBjb250ZW50OyBvIENPTlRBSU5FUiBjb250aW51YXZhIHBvZGVuZG8gcm9sYXIgbm8gZWl4byBYLiBDb3J0YXJcbi8vIHPDsyBvIFggbm8gY29udGFpbmVyIGVsaW1pbmEgYSBmYW50YXNtYSBzZW0gYWZldGFyIG8gc2Nyb2xsIHZlcnRpY2FsIGludGVybm8gZG8gY29udGXDumRvLlxuLmVtYWlsLXRlbXBsYXRlLWVkaXQtZGlhbG9nLXBhbmVsIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIC8vIFN1cGVyZsOtY2llIFRJTkdJREEgKGNpbnphLXBlZHJhKSBubyBsaWdodCwgcC8gb3MgY2FtcG9zIGJyYW5jb3MgXCJlbGV2YXJlbVwiXG4gICAgLy8gKG1haXMgY29udHJhc3RlL3Byb2Z1bmRpZGFkZSBxdWUgbyBtb2RhbCB0b2RvIGJyYW5jbykuIERhcmsgc29icmVzY3JldmUgYWJhaXhvLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTEwMDtcbn1cblxuLy8gU3VwZXJmw61jaWUgZG8gbW9kYWwgZGUgZWRpw6fDo28gZGUgdGVtcGxhdGUgbm8gREFSSyDigJQgZXNjYWxhIFFVRU5URSBkbyBKRU1TM1xuLy8gKGVtIHZleiBkbyBjaW56YSBmcmlvIHBhZHLDo28gZG8gTWF0ZXJpYWwpLCBlc2NvcGFkYSBhbyBwYW5lbENsYXNzIGRvIGRpw6Fsb2dvLlxuLy8gTsOtdmVsIFwic3VwZXJmw61jaWVcIiAoIzI2MjYyNik7IGlucHV0cyBmaWNhbSByZWN1YWRvcyAoIzIwMjAyMCkgZSBjaGlwcyBlbGV2YWRvc1xuLy8gKCMzNDMzMmYpLCBkZWZpbmlkb3Mgbm9zIHJlc3BlY3Rpdm9zIGNvbXBvbmVudGVzLiBCb3JkYSBkZXNjb2xhIGRvIGZ1bmRvIGVzY3Vyby5cbi5kYXJrLXRoZW1lIC5lbWFpbC10ZW1wbGF0ZS1lZGl0LWRpYWxvZy1wYW5lbCAubWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcms7XG59XG5cbi8vIFBvcG92ZXIgZmx1dHVhbnRlIGRlIGJ1c2NhIGRlIGRlc3RpbmF0w6FyaW8gKGFiZXJ0byBwZWxvIGNoaXAgXCIrXCIpLiBDb250ZcO6ZG9cbi8vIHZpdmUgbm8gb3ZlcmxheSDihpIgZXN0aWxvcyBnbG9iYWlzLiBPIGFwcC11c2VyLXNlYXJjaCBlIG8gYm90w6NvIFwiQWRpY2lvbmFyXCJcbi8vIGrDoSBzw6NvIHRlbcOhdGljb3M7IGFxdWkgc8OzIG8gXCJjYXJ0w6NvXCIgKyByZXRlbWF0aXphciBvIGNhbXBvIGRlIGJ1c2NhXG4vLyAocHJldG8gcHVybyBkbyB1c2VyLXNlYXJjaCDihpIgcmVjdWFkbykuXG4ucmVjaXBpZW50LXNlYXJjaC1wb3BvdmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAwLjVyZW07XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE2KTtcblxuICAgIC8vIE8gYGFwcC11c2VyLXNlYXJjaGAgcMO1ZSBgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyYCBlbVxuICAgIC8vIGBwb3NpdGlvbjogYWJzb2x1dGVgIChzZW0gdG9wL2xlZnQpIHByYSBhIMOhcmVhIGRlIGhpbnQgbsOjbyBkZXNhbGluaGFyXG4gICAgLy8gb3Mgdml6aW5ob3MgZW0gYGFsaWduLWl0ZW1zOmNlbnRlcmAuIERlbnRybyBkbyBwb3BvdmVyIG7Do28gaMOhIHZpemluaG9zXG4gICAgLy8g4oCUIG1hcyBvIHdyYXBwZXIgYWJzb2x1dGUgcG91c2EgZW0gY2ltYSBkbyBpbnB1dC4gRGV2b2x2ZW1vcyBhbyBmbHV4byxcbiAgICAvLyBzZW0gcmVzZXJ2YXIgZXNwYcOnbyBxdWFuZG8gbsOjbyBow6EgaGludCAobWF0LWhpbnQgYXBhcmVjZSBzw7MgZW0gZXJybyk6XG4gICAgLy8gICDigKIgd3JhcHBlciBgc3RhdGljYCBtYXMgY29sYXBzYWRvIChtaW4taGVpZ2h0OjApIOKGkiBzZW0gXCJidXJhY29cIiBhYmFpeG9cbiAgICAvLyAgIOKAoiBvIHJlc3Bpcm8gZGUgNHB4IMOpIGRvIHByw7NwcmlvIGAubWF0LWhpbnRgLCBxdWUgc8OzIGV4aXN0ZSBzZSBob3V2ZXJcbiAgICAvLyAgICAgbWVuc2FnZW0g4oCUIGFzc2ltIG8gcG9wb3ZlciBmaWNhIHNpbcOpdHJpY28gcXVhbmRvIGxpbXBvLlxuICAgIGFwcC11c2VyLXNlYXJjaCAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgYXBwLXVzZXItc2VhcmNoIC5tYXQtaGludCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNHB4O1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxufVxuLmxpZ2h0LXRoZW1lIC5yZWNpcGllbnQtc2VhcmNoLXBvcG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLnJlY2lwaWVudC1zZWFyY2gtcG9wb3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyaztcbiAgICAubWF0LWZvcm0tZmllbGQtZmxleCB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNsYXNoIG1lbnUgZGUgdmFyacOhdmVpcyAoZWRpdG9yIGRlIHRlbXBsYXRlIGRlIGUtbWFpbCkg4oCUIGRyb3Bkb3duIGFuY29yYWRvXG4vLyBhYmFpeG8gZG8gY2FtcG8gdmlhIENESyBvdmVybGF5OyBjb250ZcO6ZG8gdml2ZSBubyBvdmVybGF5IChnbG9iYWwgKyB0aGVtZS1hd2FyZSkuXG4udmFyaWFibGUtc2xhc2gtbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXgtaGVpZ2h0OiAyODBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNik7XG5cbiAgICAvLyBJdGVtID0gW2NoaXAgZGEgdmFyacOhdmVsXSAtIGV4cGxpY2HDp8OjbywgbnVtYSBsaW5oYSAoYSBleHBsaWNhw6fDo28gcXVlYnJhXG4gICAgLy8gc2UgZm9yIGxvbmdhKS4gTyBjaGlwIMOpIG8gTUVTTU8gZG9zIGVkaXRvcmVzIChgLnZ0ZS1jaGlwYCkuXG4gICAgLnZhcmlhYmxlLXNsYXNoLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyAgICAgICAgICAgICAgICAgLy8gdmVuY2UgbyBnbG9iYWwgYGJ1dHRvbiB7IGhlaWdodDogMzZweCB9YFxuICAgICAgICBwYWRkaW5nOiA1cHggOHB4O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgICAgICAgLy8gQ2hpcCBkYSB2YXJpw6F2ZWwgKHNlbSBcIsOXXCIgYXF1aSDihpIgcGFkZGluZyBlcXVpbGlicmFkbykuXG4gICAgICAgIC52dGUtY2hpcCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgICB9XG4gICAgICAgIC52YXItZGVzYyB7IGZsZXg6IDEgMSBhdXRvOyBtaW4td2lkdGg6IDA7IGZvbnQtc2l6ZTogMTJweDsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIH1cbn1cbi5saWdodC10aGVtZSAudmFyaWFibGUtc2xhc2gtbWVudSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gICAgLnZhcmlhYmxlLXNsYXNoLWl0ZW0ge1xuICAgICAgICAudmFyLWRlc2MgeyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDsgfVxuICAgIH1cbn1cbi5kYXJrLXRoZW1lIC52YXJpYWJsZS1zbGFzaC1tZW51IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gICAgLnZhcmlhYmxlLXNsYXNoLWl0ZW0ge1xuICAgICAgICAudmFyLWRlc2MgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgICAgICY6aG92ZXIsICYuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrOyB9XG4gICAgfVxufVxuXG4vLyBDaGlwcyBkZSB2YXJpw6F2ZWwgZG8gYXBwLXZhcmlhYmxlLXRlbXBsYXRlLWVkaXRvci4gR0xPQkFJUyBwb3JxdWUgb3MgY2hpcHMgc8Ojb1xuLy8gY3JpYWRvcyB2aWEgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCAoc2VtIG8gYXRyaWJ1dG8gZGUgZW5jYXBzdWxhw6fDo28gZG9cbi8vIGNvbXBvbmVudGUpLCBlbnTDo28gZXN0aWxvcyBjb21wb25lbnQtc2NvcGVkIG7Do28gb3MgYWxjYW7Dp2FtLiBQw61sdWxhXG4vLyBgbm9tZSDDl2AgY29tIGJvdMOjbyBkZSByZW1vw6fDo28uXG4udnRlLWNoaXAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgcGFkZGluZzogMCA0cHggMCA4cHg7XG4gICAgbWFyZ2luOiAwIDFweDtcbiAgICAvLyBFc3F1ZW1hIEFaVUwgQ0xBUk8gKG1haXMgY29udHJhc3RlKS4gVGV4dG8vw5cgPSB0b2tlbiBkZSBhenVsIGRlIHBhcGVsXG4gICAgLy8gKCRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvciAjMTE0NUMyIGxpZ2h0IC8gIzVDOEVGMCBkYXJrKTsgZnVuZG8gZVxuICAgIC8vIGJvcmRhIGVtIGF6dWwgY2xhcm8gKFRhaWx3aW5kIGJsdWUtNTAvMjAwKSBubyBsaWdodCBlIHRpbnRhIGF6dWwgbm8gZGFyay5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmZkYmZlO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmNmZmO1xuICAgIGNvbG9yOiAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3I7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIC52dGUtY2hpcC1yZW1vdmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEwMG1zIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMTAwbXMgZWFzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCA2OSwgMTk0LCAwLjE0KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi52dGUtcmVhZG9ubHkgLnZ0ZS1jaGlwLXJlbW92ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLy8gRGVzdGFxdWUgZG8gUFJFVklFVzogZnVuZG8gYXp1bCBjbGFybyBhdHLDoXMgZGUgY2FkYSB2YXJpw6F2ZWwgasOhIHN1YnN0aXR1w61kYVxuLy8gKGdlcmFkbyBwb3IgSlMgbm8gZWRpdG9yIOKGkiBnbG9iYWwpLiBTZW0gYm9yZGE7IHPDsyByZWFsY2UgZG8gdGV4dG8uXG4udnRlLXByZXZpZXctdmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZmMGZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAwIDJweDtcbn1cbi5kYXJrLXRoZW1lIC52dGUtcHJldmlldy12YXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOTIsIDE0MiwgMjQwLCAwLjMwKTtcbn1cblxuLmRhcmstdGhlbWUgLnZ0ZS1jaGlwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxNDIsIDI0MCwgMC4yMik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDkyLCAxNDIsIDI0MCwgMC41NSk7XG4gICAgY29sb3I6ICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvci1kYXJrO1xuICAgIC52dGUtY2hpcC1yZW1vdmU6aG92ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDkyLCAxNDIsIDI0MCwgMC4zMCk7IH1cbn1cblxuLm1lbnUtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC5kaXNhYmxlZC1idXR0b24ge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBtYXQtaWNvbiB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgIH1cbiAgICAubWF0LW1lbnUtaXRlbSB7XG4gICAgICAgIG1hcmdpbjogMnB4IDVweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuXG4vLyBNZW51IGRlIFZJU8ODTyBkZSBwZXJmaWwgKHBhcGVyLWluZm8pOiBvIGl0ZW0gVklHRU5URSBhcGFyZWNlIFwic2VsZWNpb25hZG9cIiBlXG4vLyBmaWNhIE7Dg08gY2xpY8OhdmVsIChgW2Rpc2FibGVkXWAgbm8gdGVtcGxhdGUpLiBEZXMtZXNtYWVjZSBvIGRpbSBkbyBkaXNhYmxlZCBlXG4vLyBhcGxpY2EgbyByZWFsY2UgZG8gaXRlbSBhdHVhbC5cbi8vIFNFTSBgOjpuZy1kZWVwYDogbyBwYWluZWwgZG8gbWF0LW1lbnUgdml2ZSBubyBPVkVSTEFZIChuw612ZWwgYm9keSksIGZvcmEgZGVcbi8vIHF1YWxxdWVyIGNvbXBvbmVudGUsIGVudMOjbyBwcmVjaXNhIGRlIHJlZ3JhIEdMT0JBTCBwbGFuYS4gRGVudHJvIGRlIDo6bmctZGVlcCxcbi8vIG8gc3R5bGVzLmNzcyBnbG9iYWwgZW1pdGlhIGA6Om5nLWRlZXAgLnZpZXctcHJvZmlsZS1tZW514oCmYCAocHNldWRvIGludsOhbGlkbyDihpJcbi8vIHJlZ3JhIGRlc2NhcnRhZGEgcGVsbyBicm93c2VyKSBlIG8gcmVhbGNlIHPDsyBhcGFyZWNpYSBxdWFuZG8gYWxndW0gY29tcG9uZW50ZVxuLy8gcXVlIGltcG9ydGEgZXN0ZSBhcnF1aXZvIGVzdGF2YSBuYSB0ZWxhIOKAlCBvIHF1ZSBOw4NPIG9jb3JyZSBuYSBww6FnaW5hIGRvIGNoYWlyLlxuLy8gT3DDp8O1ZXMgU0VNIMOtY29uZSBsw61kZXIuIFJlc2VydmFtIDI4cHggw6AgZXNxdWVyZGEgcC8gbyBjaGVjayBkbyBpdGVtIGF0dWFsXG4vLyAobWVzbWEgbcOpdHJpY2EgZG8gYGFwcC1qZW1zLXNlbGVjdGAgLyBgLmplbXMzLXNlbGVjdC1wYW5lbGApLCBlbnTDo28gbyByw7N0dWxvXG4vLyBOw4NPIGRlc2xvY2EgcXVhbmRvIG8gY2hlY2sgYXBhcmVjZS9zb21lLiBgcG9zaXRpb246IHJlbGF0aXZlYCBhbmNvcmEgb1xuLy8gYDo6YmVmb3JlYC4gUmVncmFzIFBMQU5BUyAoc2VtIGA6Om5nLWRlZXBgKTogbyBwYWluZWwgdml2ZSBubyBvdmVybGF5IChib2R5KSBlXG4vLyBvIGJsb2NvIGA6Om5nLWRlZXBgIGFjaW1hIMOpIGRyb3BhZG8gbmEgcMOhZ2luYSBkbyBjaGFpciAocHNldWRvIGdsb2JhbCBpbnbDoWxpZG8pLlxuLy8gUHJlZml4byBgLm1hdC1tZW51LXBhbmVsYCDihpIgc3BlY2lmaWNpdHkgKDAsNCwwKSBwLyBWRU5DRVIgYSByZWdyYSBiYXNlIGRvc1xuLy8gaXRlbnMgZW0gYF9jb2xvci1zY2hlbWUuc2Nzc2AgKGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbVxuLy8geyBwYWRkaW5nOiAwIDhweCAhaW1wb3J0YW50IH1gLCAoMCwzLDApKSDigJQgc2VtIGlzdG8sIG8gcGFkZGluZy1sZWZ0IGRlIDhweCBkYVxuLy8gYmFzZSBnYW5oYSBwb3Igb3JkZW0gZGUgc291cmNlIGUgbyByw7N0dWxvIGNvbGEgbm8gY2hlY2sgKGFjYXZhbGFtZW50bykuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudS52aWV3LXByb2ZpbGUtbWVudSAubWF0LW1lbnUtaXRlbSxcbi50cGMtdXNlci1tZW51LnZpZXctcHJvZmlsZS1tZW51IC5tYXQtbWVudS1pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHggIWltcG9ydGFudDtcbn1cbi8vIEl0ZW0gQVRVQUw6IG1hcmNhZG8gU8OTIHBlbG8gQ0hFQ0sgw6AgRVNRVUVSREEgKGZvbnRlIMO6bmljYTogYGplbXMtc2VsZWN0ZWQtY2hlY2tgLFxuLy8gbyBtZXNtbyBkbyBzZWxlY3QgZ2xvYmFsKS4gRm9yYSBvIGNoZWNrLCBjb21wb3J0YS1zZSBjb21vIG9zIGRlbWFpcyBpdGVucyDigJRcbi8vIGludGVyYXRpdm86IHJlYWzDp2Egbm8gOmhvdmVyIGUgbW9zdHJhIGEgbcOjb3ppbmhhIChjbGljYXIgbmVsZSDDqSBuby1vcCkuIE7Dg08gZm9yw6dhXG4vLyBtYWlzIGN1cnNvci9vcGFjaXR5L2NvbG9yOiBlcmFtIHJlbWVuZG9zIGRvIGBbZGlzYWJsZWRdYCAoasOhIHJlbW92aWRvKSwgZSBvXG4vLyBgY29sb3IgIWltcG9ydGFudGAgYWluZGEgYXRyYXBhbGhhcmlhIG8gdGV4dG8gYnJhbmNvIGRvIGhvdmVyIG5vIG1hY09TLlxuLnRwYy11c2VyLW1lbnUudmlldy1wcm9maWxlLW1lbnUgLm1hdC1tZW51LWl0ZW0uaXMtY3VycmVudDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBqZW1zLXNlbGVjdGVkLWNoZWNrKCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yKTtcbn1cbi5kYXJrLXRoZW1lIC50cGMtdXNlci1tZW51LnZpZXctcHJvZmlsZS1tZW51IC5tYXQtbWVudS1pdGVtLmlzLWN1cnJlbnQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgICAvLyBzw7MgYSBjb3IgbXVkYSBubyBkYXJrXG59XG5cbi8vIOKVkOKVkOKVkCBIb3ZlciBlc3RpbG8gbWFjT1Mg4oCUIHPDsyBiZyBkZSByb3dzIGVzcGVjw61maWNvcyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIEl0ZW0gaG92ZXIgZ2VyYWwgKGJhY2tncm91bmQgQWNjZW50Q29sb3IgKyB0ZXh0by/DrWNvbmUvY2hlY2sgYnJhbmNvcykgZm9pXG4vLyBjb25zb2xpZGFkbyBubyBibG9jbyBbTUFDLVNUWUxFXSBhYmFpeG8uIEFxdWkgU8OTIGZpY2FtIG9zIG1lbnVzIGVzcGVjaWFpc1xuLy8gcXVlIHByZWNpc2FtIGJnIGFjY2VudCBTRU0gdG9jYXIgbm8gY29udGXDumRvIChjaGlwcyBjb20gaWRlbnRpZGFkZSB2aXN1YWxcbi8vIHByw7NwcmlhKTogc3RhdHVzLW1lbnUtcm93IGUgZ3JvdXAtbWVudS1yb3cgKExpc3RhIGRlIFN1Ym1pc3PDtWVzKS5cbjpyb290W2RhdGEtb3M9XCJtYWNcIl0ge1xuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5zdGF0dXMtbWVudS1yb3c6aG92ZXIsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLnN0YXR1cy1tZW51LXJvdy5hY3RpdmUsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG4gIC8vIFwiKyBOb3ZvIEdydXBvXCIg4oCUIG7Do28gw6kgY2hpcCwgdGVtIGBjb2xvcmAgcGluYWRvIHBlbG8gYC5ncm91cC1jaGlwLW1lbnUtYmFzaWNgXG4gIC8vICgwLDEsMCArIG5nY29udGVudCk7IGZvcsOnYSBicmFuY28gcHJhIGNvbnRyYXN0YXIgY29tIG8gZnVuZG8gYXp1bCBkbyByb3cuXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwIC5pY29uLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAgLmljb24ge1xuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xuICB9XG59XG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5kYXJrLXRoZW1lIHtcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuc3RhdHVzLW1lbnUtcm93OmhvdmVyLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5zdGF0dXMtbWVudS1yb3cuYWN0aXZlLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdzpob3ZlcixcbiAgLmplbXMtcG9wb3Zlci1wYW5lbCAuZ3JvdXAtbWVudS1yb3cuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICB9XG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAsXG4gIC5qZW1zLXBvcG92ZXItcGFuZWwgLmdyb3VwLW1lbnUtcm93OmhvdmVyIC5ncm91cC1jaGlwLW1lbnUtYWRkLWdyb3VwIC5pY29uLFxuICAuamVtcy1wb3BvdmVyLXBhbmVsIC5ncm91cC1tZW51LXJvdy5hY3RpdmUgLmdyb3VwLWNoaXAtbWVudS1hZGQtZ3JvdXAgLmljb24ge1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIOKVkOKVkOKVkCBBbmltYcOnw6NvIGRlIGFiZXJ0dXJhIGRvIHBvcG92ZXIg4oCUIHBvciBPUyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIE1hYzogaW5zdGFudMOibmVvIChwYWRyw6NvIGRvIE5TTWVudSDigJQgbmFkYSBhcXVpKS5cbi8vIExpbnV4L0dUSy9LREUgKGUgZGVmYXVsdCBgb3RoZXJgKTogZmFkZSArIHNjYWxlICgwLjjihpIxLjApLCAxMjBtcyBlYXNlLW91dC5cbi8vICAgRXN0aWxvIHRyYWRpY2lvbmFsIGRvIEdOT01FL0dUSzQuIE9yaWdlbSBkbyBzY2FsZSByZXNwZWl0YSBgLm9wZW5zLXVwYC5cbi8vIFdpbmRvd3M6IGZhZGUgKyBzbGlkZSB2ZXJ0aWNhbCAofjhweCwgZGlyZcOnw6NvIG9wb3N0YSDDoCDDom5jb3JhKSwgMTgwbXNcbi8vICAgZWFzZS1vdXQuIEFsaW5oYSBhbyBGbHVlbnQgRGVzaWduIHJlYWwgKDEwLzExKSDigJQgbWVudXMgZG8gV2luZG93cyBuw6NvXG4vLyAgIGZhemVtIFwicGVyc2lhbmFcIiwgZmF6ZW0gZXNzZSBmYWRlK3NsaWRlIHN1dGlsLiBTZW0gZWZlaXRvIGFjcnlsaWMgbm9cbi8vICAgZnVuZG8g4oCUIG8gcGFpbmVsIHBlcm1hbmVjZSBjb20gbyBtZXNtbyBiZyBkbyByZXN0byBkYSBVSS5cbi8vIFJlZ3JhIGVtIFNDU1MgR0xPQkFMIChuw6NvIHBhc3NhIHBvciB2aWV3IGVuY2Fwc3VsYXRpb24pLlxuOnJvb3Q6bm90KFtkYXRhLW9zPVwibWFjXCJdKTpub3QoW2RhdGEtb3M9XCJ3aW5kb3dzXCJdKSAuamVtcy1wb3BvdmVyLXBhbmVsIHtcbiAgYW5pbWF0aW9uOiBqZW1zLXBvcG92ZXItaW4gMTIwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7XG59XG5Aa2V5ZnJhbWVzIGplbXMtcG9wb3Zlci1pbiB7XG4gIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH1cbiAgdG8gICB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbn1cblxuOnJvb3RbZGF0YS1vcz1cIndpbmRvd3NcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCB7XG4gIGFuaW1hdGlvbjogamVtcy1wb3BvdmVyLWluLXdpbiAxODBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMCwgMSk7XG59XG46cm9vdFtkYXRhLW9zPVwid2luZG93c1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm9wZW5zLXVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGplbXMtcG9wb3Zlci1pbi13aW4tdXA7XG59XG5Aa2V5ZnJhbWVzIGplbXMtcG9wb3Zlci1pbi13aW4ge1xuICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC04cHgpOyB9XG4gIHRvICAgeyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbn1cbkBrZXlmcmFtZXMgamVtcy1wb3BvdmVyLWluLXdpbi11cCB7XG4gIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KTsgfVxuICB0byAgIHsgb3BhY2l0eTogMTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG59XG5cbi8vIEFjZXNzaWJpbGlkYWRlIOKAlCBxdWVtIHByZWZlcmUgbW92aW1lbnRvIHJlZHV6aWRvLCBzZW0gYW5pbWHDp8OjbyBlbSBORU5IVU0gU08uXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuamVtcy1wb3BvdmVyLXBhbmVsIHsgYW5pbWF0aW9uOiBub25lOyB9XG59XG5cblxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4vLyBbTUFDLVNUWUxFIOKAlCBSRU1PVkVSIFBSQSBSRVZFUlRFUl0gRXN0aWxvIG1hY09TLWxpa2Ugbm9zIG1lbnVzL2Ryb3Bkb3ducy5cbi8vIEdhdGUgw7puaWNvOiBgOnJvb3RbZGF0YS1vcz1cIm1hY1wiXWAgKGNhcmltYmFkbyBwb3IgYGJpbmRPc0NsYXNzVG9Sb290KClgIGVtXG4vLyBgZGV2aWNlLnRzYCwgY2hhbWFkbyBubyBib290c3RyYXAgcG9yIGBCYXNlQ29tcG9uZW50YCkuIFRyb2NhciB2aWEgRGV2VG9vbHM6XG4vLyAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5kYXRhc2V0Lm9zID0gJ3dpbmRvd3MnICAgKG91ICdsaW51eCcvJ21hYycpXG4vL1xuLy8gRXNjb3BvOiBpdGVucyBkZSBUT0RBUyBhcyBmYW3DrWxpYXMgZGUgZHJvcGRvd24gSkVNUzMgKGTDqWJpdG8gY29uaGVjaWRvIOKAlFxuLy8gdmVyIG1lbcOzcmlhIGBwcm9qZWN0X2Rlc2lnbl9zeXN0ZW1fbWlncmF0aW9uX2RlYnRgKTpcbi8vICAg4oCiIHBvcG92ZXIgaXRlbXMgKG1hdC1tZW51LWl0ZW0sIFtyb2xlPW1lbnVpdGVtXSwgamVtcy1zZWxlY3Qtb3B0aW9uKVxuLy8gICDigKIgbWF0LXNlbGVjdCAvIG1hdC1hdXRvY29tcGxldGUgKC5tYXQtb3B0aW9uKVxuLy9cbi8vIENvbXBvcnRhbWVudG86XG4vLyAgIOKAoiBGb250IHNtb290aGluZyBzdWJwaXhlbCAobWF0Y2hpbmcgc3RlbXMgbWFpcyBncm9zc29zIGRvIHNpc3RlbWEpXG4vLyAgIOKAoiBIb3Zlci9hY3RpdmUgYmcgPSBgQWNjZW50Q29sb3JgIChDU1MgQ29sb3IgTDUsIHJlc29sdmUgcHJvIGFjY2VudCBPUylcbi8vICAg4oCiIFRleHRvL8OtY29uZS9jaGVjayBwaW50YW0gYnJhbmNvIHByYSBjb250cmFzdGVcbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuXG4vLyBGb250IHNtb290aGluZzogbWF0Y2hpbmcgbyByZW5kZXJpbmcgbmF0aXZvIGRvcyBtZW51cyBtYWNPUyAoc3VicGl4ZWwpLlxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5tYXQtbWVudS1pdGVtLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIFtyb2xlPVwibWVudWl0ZW1cIl0sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xufVxuXG4vLyBIb3Zlci9hY3RpdmUgYmcgKyB0ZXh0by/DrWNvbmUgYnJhbmNvcy4gYDpyb290W2RhdGEtb3M9XCJtYWNcIl1gIGNvbXBvdW5kIGNvbVxuLy8gZHVwbGljYcOnw6NvIGRlIHNlbGV0b3JlcyBiYXNlIChgLm1hdC1vcHRpb24ubWF0LW9wdGlvbmAsIGAuamVtcy1zZWxlY3Qtb3B0aW9uXG4vLyAuamVtcy1zZWxlY3Qtb3B0aW9uYCkgc29iZSBzcGVjaWZpY2l0eSBwcmEgYmF0ZXIgYXMgcmVncmFzIGNoYWlyLXN0eWxlXG4vLyBleGlzdGVudGVzIChgX2NvbG9yLXNjaGVtZS5zY3NzYCAwLDUsMCBlIDAsNiwwKSBzZW0gYCFpbXBvcnRhbnRgIGFjdW11bGFyXG4vLyBtYWlzIGZ1bmRvLiBDb21iaW5hIGxpZ2h0K2RhcmsgYXV0b21hdGljYW1lbnRlIChBY2NlbnRDb2xvci9BY2NlbnRDb2xvclRleHRcbi8vIGrDoSBzw6NvIHRoZW1lLWF3YXJlIHBlbG8gT1MpLlxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5tYXQtbWVudS1pdGVtLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIFtyb2xlPVwibWVudWl0ZW1cIl06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uamVtcy1zZWxlY3Qtb3B0aW9uOmhvdmVyLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uamVtcy1zZWxlY3Qtb3B0aW9uLmFjdGl2ZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLm1hdC1hY3RpdmU6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLm1hdC1hY3RpdmU6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEFjY2VudENvbG9yICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi8vIENvciBicmFuY2EgY29icmUgVEVYVC1DT05URU5UICsgw61jb25lcyArIHNwYW4gaW50ZXJubyBgLm1hdC1vcHRpb24tdGV4dGAuXG4vLyAobyBjYXNjYWRlIGRvIGNvbG9yIGRvIGl0ZW0gcG9kZSBzZXIgcGVyZGlkbyBlbSBzcGFucyBjb20gY29sb3IgcHLDs3ByaW87XG4vLyBhcXVpIGdhcmFudGltb3MgZXhwbMOtY2l0by4pXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIFtyb2xlPVwibWVudWl0ZW1cIl06aG92ZXIgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb246aG92ZXIgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uYWN0aXZlIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uOmhvdmVyIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAuamVtcy1wb3BvdmVyLXBhbmVsIC5qZW1zLXNlbGVjdC1vcHRpb24uYWN0aXZlIC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbDpub3QoLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCkgLm1hdC1vcHRpb246aG92ZXIgLm1hdC1pY29uLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbDpub3QoLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCkgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZSAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uOmhvdmVyIC5tYXQtaWNvbixcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLm1hdC1hdXRvY29tcGxldGUtcGFuZWwgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZSAubWF0LWljb24sXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsOm5vdCguc3RhdHVzLWNoaXAtc2VsZWN0LXBhbmVsKSAubWF0LW9wdGlvbjpob3ZlciAubWF0LW9wdGlvbi10ZXh0LFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbDpub3QoLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCkgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZSAubWF0LW9wdGlvbi10ZXh0LFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbjpob3ZlciAubWF0LW9wdGlvbi10ZXh0LFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbCAubWF0LW9wdGlvbi5tYXQtYWN0aXZlIC5tYXQtb3B0aW9uLXRleHQge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4vLyBDaGVjayBkYSBvcMOnw6NvIHNlbGVjaW9uYWRhIChgOjpiZWZvcmVgIGRvIG1peGluIGBqZW1zLXNlbGVjdGVkLWNoZWNrYCwgQ1NTXG4vLyBtYXNrKS4gVXNhIGBiYWNrZ3JvdW5kLWNvbG9yYCBjb21vIGZpbGwgKE7Dg08gYGNvbG9yYCkuIENvYnJlOlxuLy8gICDigKIgYXBwLWplbXMtc2VsZWN0OiBgLmplbXMtc2VsZWN0LW9wdGlvbi5zZWxlY3RlZDo6YmVmb3JlYFxuLy8gICDigKIgbWF0LXNlbGVjdDogYC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDo6YmVmb3JlYFxuLy8gICDigKIgdmlldy1wcm9maWxlLW1lbnUgKGFwcC1wb3BvdmVyIGNvbSBpcy1jdXJyZW50KTogYC5tYXQtbWVudS1pdGVtLmlzLWN1cnJlbnQ6OmJlZm9yZWBcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uLnNlbGVjdGVkOmhvdmVyOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5zZWxlY3RlZC5hY3RpdmU6OmJlZm9yZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAuamVtcy1zZWxlY3Qtb3B0aW9uOmhvdmVyOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5qZW1zLXBvcG92ZXItcGFuZWwgLmplbXMtc2VsZWN0LW9wdGlvbi5hY3RpdmU6OmJlZm9yZSxcbjpyb290W2RhdGEtb3M9XCJtYWNcIl0gLmplbXMtcG9wb3Zlci1wYW5lbCAubWF0LW1lbnUtaXRlbS5pcy1jdXJyZW50OmhvdmVyOjpiZWZvcmUsXG46cm9vdFtkYXRhLW9zPVwibWFjXCJdIC5tYXQtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpob3Zlcjo6YmVmb3JlLFxuOnJvb3RbZGF0YS1vcz1cIm1hY1wiXSAubWF0LXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQubWF0LWFjdGl2ZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuIiwiQGltcG9ydCAnY29sb3JzJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AgKCRjb21wb25lbnQsICRzZWxlY3RvciwgJHByb3AsICRsaWdodFZhbHVlLCAkZGFya1ZhbHVlKSB7XG4gICAgLmxpZ2h0LXRoZW1lIHtcbiAgICAgICN7JGNvbXBvbmVudH0gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgI3skcHJvcH06ICRsaWdodFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICAuZGFyay10aGVtZSB7XG4gICAgICAjeyRjb21wb25lbnR9ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgI3skcHJvcH06ICRkYXJrVmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbi8vIENoZWNrIFwic2VsZWNpb25hZG9cIiBhbyBlc3RpbG8gU0YgU3ltYm9scyAobWFjT1MpOiBxdWFkcmFkbyAxNMOXMTQgYW5jb3JhZG8gw6Bcbi8vIEVTUVVFUkRBIGRhIG9ww6fDo28gKGFic29sdXRlICsgdmVydGljYWwtY2VudGVyKSwgZGVzZW5oYWRvIHBvciBTVkctbWFzayBlXG4vLyBwaW50YWRvIHZpYSBgYmFja2dyb3VuZC1jb2xvcmAgKHRoZW1lLWF3YXJlIHBlbGEgY29yIHBhc3NhZGEpLiBGb250ZSDDmk5JQ0EgZG9cbi8vIGNoZWNrIHVzYWRvIG5vIGBhcHAtamVtcy1zZWxlY3RgLCBubyBmaWx0cm8gYC5qZW1zMy1zZWxlY3QtcGFuZWxgIGUgbm8gbWVudVxuLy8gc2VsZXRvciBkZSBwZXJmaWwgKHBhcGVyLWluZm8pLiBBIG9ww6fDo28gcXVlIHJlY2ViZSBwcmVjaXNhIGRlXG4vLyBgcG9zaXRpb246IHJlbGF0aXZlYCBlIHJlc2VydmFyIH4yOHB4IGRlIGBwYWRkaW5nLWxlZnRgLiBObyBkYXJrLCBiYXN0YVxuLy8gc29icmVzY3JldmVyIGBiYWNrZ3JvdW5kLWNvbG9yYCAoYSBnZW9tZXRyaWEvbcOhc2NhcmEgbsOjbyBtdWRhbSkuXG5AbWl4aW4gamVtcy1zZWxlY3RlZC1jaGVjaygkY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkaW5zZXQ6IDhweCkge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTRweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6ICRpbnNldDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00yLjUgNi41IEw1IDkgTDkuNSAzLjUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00yLjUgNi41IEw1IDkgTDkuNSAzLjUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG59XG4iLCJhcHAtY3VzdG9tLWZvcm0ge1xuICBhcHAtbXVsdGlsaW5lLXRleHQtaW5wdXQge1xuICAgIGFwcC1jdXN0b20tZm9ybSB7XG4gICAgICBtYXQtZm9ybS1maWVsZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXBwLXRhYmxlLWZvcm0tZmllbGRzLWNvbnRhaW5lciB7XG4gICAgYXBwLWN1c3RvbS1mb3JtIHtcbiAgICAgIG1hdC1mb3JtLWZpZWxkIHtcbiAgICAgICAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIsXG4gICAgICAgIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuZXZlbnQtYWRtaW4geyAgXG4gIGgzIC5zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxuICBoNCAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIH1cblxuICBoNSAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xNXJlbTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG5cbiAgaDYgLnN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBmb250LXdlaWdodDogMjAwO1xuICB9XG59IiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLm1hdC1zbmFjay1iYXItY29udGFpbmVyIHtcblxuICAmLmVycm9yLFxuICAmLm5vdGlmaWNhdGlvbixcbiAgJi53YXJuaW5nIHtcbiAgICBtYXJnaW4tbGVmdDogMjRweCArICRzaWRlbmF2LWFkbWluLW1pbmktd2lkdGg7XG4gIH1cblxuICAmLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAkZXJyb3ItaW52YWxpZC1jb2xvcjtcbiAgICBjb2xvcjogJHNlY29uZGFyeS10aGVtZS1jb2xvci1saWdodGVyO1xuICB9XG5cbiAgJi5ub3RpZmljYXRpb24ge1xuICAgIGJhY2tncm91bmQ6ICRub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1jb2xvcjtcbiAgfVxuXG4gICYud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmZTI4OTtcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgfVxufSIsIi5tYXQtZmFiIHtcbiAgLm1hdC1idXR0b24td3JhcHBlciB7XG4gICAgICAubWF0LWljb24ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5wYWdpbmF0b3ItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgbWF0LXBhZ2luYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYuYm90dG9tIHtcbiAgICAgIHRvcDogdW5zZXQ7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgLm1hdC1wYWdpbmF0b3Itb3V0ZXItY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCAxcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDNweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cbiAgICAgIC5tYXQtcGFnaW5hdG9yLWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi5zaG93LWFsbC1zdWJtaXNzaW9ucyB7XG4gIC5tYXQtY2FyZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgLnBhcGVyLWluZm8ge1xuICAgICAgLm1haW4ge1xuICAgICAgICA+IC5jb2x1bW5zIHtcbiAgICAgICAgICBtYXJnaW46IC0wLjc1cmVtIC0wLjc1cmVtIDAgLTAuNzVyZW07XG5cbiAgICAgICAgICAudGl0bGUtcm93IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhZ2VicmVhayB7XG4gICAgYnJlYWstYWZ0ZXI6IGFsd2F5cztcbiAgfVxufVxuXG4uc2hvdy1hbGwtc3VibWlzc2lvbnMtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlY29uZGFyeS10aGVtZS1jb2xvcjtcbiAgcGFkZGluZzogMWVtO1xufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2hlYWRlcic7XG5AaW1wb3J0ICdjb2xvcnMnO1xuXG5tYXQtY2FyZCB7XG4gIC8vIGJveC1zaGFkb3c6IDAgNnB4IDVweCAtMXB4ICRibGFjay1iYWNrZ3JvdW5kLWFscGhhMSwgMCAtMXB4IDEwcHggMCAkYmxhY2stYmFja2dyb3VuZC1hbHBoYTEgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODZweCkge1xuICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAxMHB4IC0xcHggJGJsYWNrLWJhY2tncm91bmQtYWxwaGExLCAwIC0xcHggMjBweCAwICRibGFjay1iYWNrZ3JvdW5kLWFscGhhMTtcbiAgfVxuXG4gIC5tYXQtY2FyZC1oZWFkZXItdGV4dHtcbiAgICBtYXJnaW46IDAgNXB4O1xuICB9XG5cbiAgLy8gU3R5bGUgZXZlbnRzIGNhcmRzXG4gICYuZXZlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmOm5vdChbY2xhc3MqPScjeyRtYXQtZWxldmF0aW9uLXByZWZpeH0nXSl7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIC5ob3Jpem9udGFsLWFsaWdue1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIC5pbmZvcm1hdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAud2FybmluZyB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDAgMC41cmVtIDJyZW07XG4gICAgICB9XG4gICAgICAud2FybmluZyArIC5pbmZvcm1hdGlvbiB7XG4gICAgICAgIHdpZHRoOiA2MCU7IC8qIG92ZXJyaWRlICovXG4gICAgICB9XG5cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHRhYmxldC1icmVha3VwLXdpZHRoKXtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuaW5mb3JtYXRpb257XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAud2FybmluZ3tcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogMXJlbSAycmVtIDAuNXJlbSAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhvcml6b250YWwtYWxpZ24ge1xuICAgICAgICAgIGZsb2F0Om5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpsaW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5pdGlhbDtcbiAgICAgIH1cblxuICAgICAgLndhcm5pbmctcHVibGljLWF0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRyYWNrLW5vdC1vcGVuLWNvbG9yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHJlbTtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAZXh0ZW5kIGg1O1xuICAgICAgfVxuICAgIH1cblxuICAgIG1hdC1jYXJkLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG5cbiAgICBtYXQtY2FyZC1zdWJ0aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgIH1cblxuICAgIC5mbG9hdC1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmxlZnQtYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgfVxuICB9XG5cbiAgJi5zdWJjb25mZXJlbmNlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJyZW07XG4gICAgcGFkZGluZy1yaWdodDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cblxuICAmLmFkbWluLWV2ZW50IHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG5cbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgbWF0LWNhcmQtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtYXQtY2FyZC1oZWFkZXItY29sb3I7XG4gICAgICBjb2xvcjogJHNpZGViYXItbGFiZWwtY29sb3I7XG5cbiAgICAgIEBleHRlbmQgaDI7XG4gICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG5cbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA4cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogOHB4O1xuXG4gICAgICBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcblxuICAgICAgLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcblxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6YmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbWF0LXNwaW5uZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIG1hdC1jYXJkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgbWF0LWV4cGFuc2lvbi1wYW5lbCB7XG4gICAgICAgIG1hcmdpbjogMC41cmVtIDA7XG5cbiAgICAgICAgbWF0LWFjdGlvbi1yb3cge1xuICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXQtY2FyZC1hY3Rpb25zIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHRhYmxlIHtcblxuICAgICAgLm1hdC1mb290ZXItY2VsbCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICB9XG5cbiAgICAgIC5tYXQtaGVhZGVyLWNlbGwge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZXZlbnQtY2FyZC1saW5lLXNlcGFyYXRvcjtcbiAgICAgIH1cblxuICAgICAgLm1hdC1jZWxsIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGV2ZW50LWNhcmQtbGluZS1zZXBhcmF0b3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5iYXNlLWNhcmQge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuXG4gICAgbWF0LWNhcmQtaGVhZGVyIHtcbiAgICAgIEBleHRlbmQgaDI7XG4gICAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XG5cbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA4cHg7XG5cbiAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuXG4gICAgICAuY2xvc2VkLWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDhweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDhweDtcbiAgICAgIH1cblxuICAgICAgLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDFweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgICAgLy8gdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOmJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIG1hdC1zcGlubmVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtYXQtY2FyZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFRpdGxlIHdpdGggSDMgcHJvcGVydGllc1xuLmNhcmQtdGl0bGUge1xuICBAZXh0ZW5kIGgzO1xuICBjb2xvcjogJHNpZGViYXItbGFiZWwtY29sb3I7XG59XG5cbi8vIFN1YnRpdGxlIHdpdGggSDQgcHJvcGVydGllc1xuLmNhcmQtc3VidGl0bGUge1xuICBAZXh0ZW5kIGg0O1xufVxuXG4vLyBDb250ZW50IHdpdGggSDUgcHJvcGVydGllc1xuLmNhcmQtY29udGVudCB7XG4gIEBleHRlbmQgaDU7XG59XG5cblxuLnNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XG5cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIEBleHRlbmQgaDM7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIH1cblxuICAuc2VjdGlvbi1jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNHJlbTtcbiAgfVxufVxuLy8gLm9wdGlvbnMge1xuLy8gICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbi8vIH1cblxuLy8gLm1hdC1zbGlkZS10b2dnbGUge1xuLy8gICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4vLyB9XG5cbi8vIC5jb2x1bW4ge1xuLy8gICBwYWRkaW5nLWJvdHRvbTogMDtcbi8vIH1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi5uZ3gtbWF0LXRpbWVwaWNrZXItc3BhY2VyIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVlbTtcbn1cblxuLy8gUmVzcGlybyBlbnRyZSBhIMO6bHRpbWEgbGluaGEgZG9zIGRpYXMgZG8gY2FsZW5kw6FyaW8gZSBhIMOhcmVhIGRlIGhvcmFzLlxuLy8gQSBsaWIgZGVzZW5oYSB1bWEgbGluaGEgZGl2aXPDs3JpYSB2aWEgYDo6YmVmb3JlYCBubyB0b3BvIGRvIGNvbnRhaW5lciDigJRcbi8vIGVzY29uZGVtb3MuXG4vLyBMYXlvdXQ6IHRpbWVwaWNrZXIgQ0VOVFJBTElaQURPIGhvcml6b250YWxtZW50ZTsgbyBib3TDo28gZG8gZnVzbyBmbHV0dWFcbi8vIGNvbW8gYHBvc2l0aW9uOiBhYnNvbHV0ZWAgw6AgZGlyZWl0YSDigJQgbGFyZ3VyYSB2YXJpw6F2ZWwgZGVsZSBuw6NvIGVtcHVycmFcbi8vIG8gaG9yYS9taW51dG8vc2V0YXMgKHF1ZSBmaWNhbSBmaXhvcyBpbmRlcGVuZGVudGUgZG8gZnVzbyBlc2NvbGhpZG8pLlxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLnRpbWUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgICAvLyB2ZW5jZSBvIGBwYWRkaW5nLXRvcDogNXB4YCBkYSBsaWJcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gRmFpeGEgw7p0aWwgbWFpcyBlc3RyZWl0YSBxdWUgbyBwYWluZWwg4oCUIGhvcmEgZmljYSBjZW50cmFkYSBuZWxhIGUgb1xuICAvLyBmdXNvIGZpY2EgcHLDs3hpbW8gw6AgaG9yYSAobsOjbyBjb2xhZG8gbmEgYm9yZGEgZGlyZWl0YSBkbyBwYWluZWwpLlxuICBtYXgtd2lkdGg6IDIyMHB4O1xuXG4gICY6OmJlZm9yZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzVweCk7ICAgLy8gZGVzbG9jYSBob3JhL21pbnV0by9zZXRhcyAzNXB4IHByYSBlc3F1ZXJkYVxuICB9XG5cbiAgYXBwLXRpbWUtem9uZS1pbnB1dCxcbiAgLmNvbnRhaW5lci1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDsgICAgICAgICAgICAgICAgICAgLy8gMTVweCBwcmEgZXNxdWVyZGEgZW0gcmVsYcOnw6NvIMOgIGJvcmRhIGRpcmVpdGEgZGEgZmFpeGFcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuLy8gRW5xdWFudG8gbyBwYWluZWwgZG8gZGF0ZXBpY2tlciBlc3RpdmVyIFwibGltcG9cIiAoc2VtIGludGVyYcOnw6NvL211ZGFuw6dhKSxcbi8vIG9zIGJvdMO1ZXMgw5cgKGNhbmNlbGFyKSBlIOKckyAoY29uZmlybWFyKSBmaWNhbSBkZXNhYmlsaXRhZG9zIOKAlCBuw6NvIGjDoSBvIHF1ZVxuLy8gcHJlc2VydmFyL2Rlc2NhcnRhci4gQSBjbGFzc2UgYC5pcy1jbGVhbi1waWNrZXJgIMOpIHNldGFkYSBubyBgLmNkay1vdmVybGF5LXBhbmVgXG4vLyBwZWxvIGBvbkNhbGVuZGFyT3BlbmVkYCBkbyBjb21wb25lbnRlIGUgw6kgcmVtb3ZpZGEgbm8gcHJpbWVpcm8gY2xpY2sgZGVudHJvIGRvXG4vLyBwYWluZWwuIFNlbSBlc3NhIGZsYWcgb3MgYm90w7VlcyBnYW5oYW0gY29tcG9ydGFtZW50byBub3JtYWwuXG4uY2RrLW92ZXJsYXktcGFuZS5pcy1jbGVhbi1waWNrZXIgLmFjdGlvbnMgYnV0dG9uIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMC40ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcbn1cblxuLy8gQ2VudHJhbGl6YcOnw6NvIHZlcnRpY2FsIGRvcyBnbGlmb3Mgw5cgZSDinJMgZGVudHJvIGRvcyBib3TDtWVzIGRhIMOhcmVhIGAuYWN0aW9uc2Bcbi8vIGRvIHBhaW5lbCBkbyBkYXRlcGlja2VyLiBNYXRlcmlhbCBkZWZhdWx0IGRlaXhhIGAubWF0LWJ1dHRvbi13cmFwcGVyYCBjb21vXG4vLyBpbmxpbmUtYmxvY2sgKyBgLm1hdC1pY29uYCBjb20gYGxpbmUtaGVpZ2h0YCBkYSBmb250ZSAoYmFzZWxpbmUtYWxpZ25lZCksXG4vLyBxdWUgZGVzY2VudHJhbGl6YSB2cyBhIGFsdHVyYSBkbyBib3TDo28gKDM2cHgpLiBGb3LDp2EgZmxleC1jZW50ZXIgbmEgY2FkZWlhLlxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuXG4gIC5tYXQtYnV0dG9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgfVxuICBtYXQtaWNvbixcbiAgLm1hdC1pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBSZXNwaXJvIGRlIDJweCBlbnRyZSBvcyBib3TDtWVzIMOXIGUg4pyTLlxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uICsgYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IDJweCAhaW1wb3J0YW50O1xufVxuXG4vLyBDZW50cmFsaXphIGEgZHVwbGEgw5cgLyDinJMgaG9yaXpvbnRhbG1lbnRlIG5vIHBhaW5lbCAoZGVmYXVsdCBkYSBsaWIgw6kgZmxleC1lbmQpXG4vLyArIGVzcGHDp28gZXh0cmEgYWNpbWEgcHJhIGRhciByZXNwaXJvIGVudHJlIG8gdGltZXBpY2tlciBlIG9zIGJvdMO1ZXMgZGUgYcOnw6NvLlxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogMTdweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLWJvdHRvbTogMTdweCAhaW1wb3J0YW50OyAgIC8vIGlndWFsIGFvIHRvcCBwcmEgc2ltZXRyaWFcbn1cblxuLy8gU2VtIHRyYW5zacOnw6NvIGRlIGhvdmVyIG5vcyBib3TDtWVzIMOXIGUg4pyTIOKAlCBtdWRhbsOnYSBkZSBmdW5kbyBpbnN0YW50w6JuZWEsXG4vLyBtYXMgbyBlZmVpdG8gZGUgaG92ZXIgKGJnKSBkbyBNYXRlcmlhbCBmaWNhIHByZXNlcnZhZG8uXG4uY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b24sXG4uY2RrLW92ZXJsYXktcGFuZSAuYWN0aW9ucyBidXR0b24gKiB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gSG92ZXIgZG8gw5cgKGNhbmNlbGFyKSDigJQgZmFtw61saWEgXCJib3TDo28vbWVudVwiIGRvIGNoYWlyIFVJOlxuLy8gYCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmRgLCBtZXNtbyBkbyBtYXQtbWVudS1pdGVtIGVcbi8vIGJyZWFkY3J1bWIuIFZlbmNlIG8gYC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXlgIGRvIE1hdGVyaWFsIChkZWZhdWx0XG4vLyBjaW56YSB0cmFuc2zDumNpZG8pIG5ldXRyYWxpemFuZG8gbyBvdmVybGF5LlxuLy8gYDpmaXJzdC1jaGlsZGAgPSDDlyAocHJlcGVuZCBkbyBgYWRkQnV0dG9uQ2xvc2VgKS5cbi5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZCAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHtcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xufVxuLmNkay1vdmVybGF5LXBhbmUgLmFjdGlvbnMgYnV0dG9uOmZpcnN0LWNoaWxkOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5jZGstb3ZlcmxheS1wYW5lIC5hY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZDpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQm90w6NvIOKckyAoY29uZmlybWFyKSBFTkFCTEVEIOKAlCBmaWxsIGFjY2VudCArIMOtY29uZSBicmFuY28gKG1lc21hIGZhbcOtbGlhXG4vLyBkb3MgcHJpbcOhcmlvcyBkbyBjaGFpciBVSSkuIE8gw5cgKGNhbmNlbGFyKSBmaWNhIG5vIGZvcm1hdG8gXCJzdHJva2VkXCJcbi8vIG5ldXRybzsgc8OzIG8g4pyTIHZpcmEgXCJwcmltYXJ5XCIuIEVzdGFkbyBkaXNhYmxlZCAoZm9ybSBsaW1wbyDihpIgY2xhc3NlXG4vLyBgLmlzLWNsZWFuLXBpY2tlcmAgbm8gcGFuZSwgT1UgYFtkaXNhYmxlZF1gIG5vIGJvdMOjbyBxdWFuZG8gbyBmb3JtIGVzdMOhXG4vLyBpbnbDoWxpZG8pIG1hbnTDqW0gbyB2aXN1YWwgbmV1dHJvL29wYWNvIG9yaWdpbmFsLlxuLy8gYDpsYXN0LWNoaWxkYCA9IOKckyAobyDDlyDDqSBgcHJlcGVuZGBhZG8gYW50ZXMgcGVsbyBgYWRkQnV0dG9uQ2xvc2VgKS5cbi5jZGstb3ZlcmxheS1wYW5lOm5vdCguaXMtY2xlYW4tcGlja2VyKSAuYWN0aW9ucyBidXR0b246bGFzdC1jaGlsZDpub3QoW2Rpc2FibGVkXSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgLm1hdC1pY29uIHsgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxufVxuLmRhcmstdGhlbWUgLmNkay1vdmVybGF5LXBhbmU6bm90KC5pcy1jbGVhbi1waWNrZXIpIC5hY3Rpb25zIGJ1dHRvbjpsYXN0LWNoaWxkOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQ2hhaXIgVUkgYWxpZ25tZW50OiBkYXRlcGlja2VyL3RpbWVwaWNrZXIgcG9wdXAgdHlwb2dyYXBoeS5cbi8vIFBvcHVwIMOpIHJlbmRlcml6YWRvIGVtIGBjZGstb3ZlcmxheS1jb250YWluZXJgIGRpcmV0byBzb2IgPGJvZHk+LCBmb3JhXG4vLyBkbyBjb21wb25lbnQgZW5jYXBzdWxhdGlvbiDigJQgcnVsZXMgcHJlY2lzYW0gc2VyIGdsb2JhaXMuIEFsaW5oYSBhc1xuLy8gZm9udGVzIGRvIHBvcHVwIGNvbSBvIHJpdG1vIDEzLzQzMCBkYSBww6FnaW5hLlxuLy8gQm9yZGVyLXJhZGl1cyBkbyBwb3B1cCBhbGluaGFkbyBjb20gbyByZXN0byBkbyBjaGFpciBVSSAoJGNocm9tZS1yYWRpdXMpLlxuLy8gUGFkZGluZyByZWR1emlkbyBwcmEgY29tcGFjdGFyIChNYXRlcmlhbCBkZWZhdWx0IHRlbSB+OHB4IG5vIC5tYXQtY2FsZW5kYXJcbi8vIHF1ZSB2aXZlIGRlbnRybyBkbyAubWF0LWRhdGVwaWNrZXItY29udGVudCkuXG4ubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50OyAgIC8vIG1lc21hIGNvciBkb3MgcGFpbsOpaXMgZG8gc2VsZWN0XG4gIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50OyAgICAgIC8vIDJweCBkZSByZXNwaXJvIGVudHJlIG8gcGFpbmVsIGUgYSBjYWl4YVxuICBtYXJnaW4tYm90dG9tOiAycHggIWltcG9ydGFudDsgICAvLyBpZGVtIHF1YW5kbyBhYnJlIHByYSBjaW1hXG4gIC8vIExhcmd1cmEgZG8gcG9wdXAgY29tcGFjdGFkYSDigJQgTWF0ZXJpYWwgZGVmYXVsdCB+Mjk2cHguIENvbW8gYSBjYWxlbmRhclxuICAvLyB0YWJsZSBmb2kgcmVkdXppZGEgcHJhIDIwMHB4LCBvIHBvcHVwIHRlbSBlc3Bhw6dvIGxhdGVyYWwgc29icmFuZG87XG4gIC8vIDI1NnB4IGRlaXhhIGZvbGdhIGNvbmZvcnTDoXZlbCBzZW0gZGVzcGVyZMOtY2lvLlxuICB3aWR0aDogMjU2cHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIC8vIFNvbWJyYSB1bmlmaWNhZGEgY29tIG9zIHBhaW7DqWlzIGRvIHNlbGVjdCAobGlnaHQpOiBmaWx0ZXIgZW0gdmV6IGRvXG4gIC8vIGJveC1zaGFkb3cgZGVmYXVsdCBNYXRlcmlhbCAocXVlIHVzYSBlbGV2YXRpb24gbXVpdG8gcGVzYWRhKS5cbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG5cbiAgLm1hdC1jYWxlbmRhciB7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5tYXQtY2FsZW5kYXIge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcblxuICAvLyBIZWFkZXIgKG3DqnMvYW5vICsgYXJyb3dzKSBzb2JlIOKAlCByZWR1eiBwYWRkaW5nLXRvcCBkbyBoZWFkZXIgcHJhXG4gIC8vIGNvbGFyIGNvbSBhIGJvcmRhIHN1cGVyaW9yIGRvIHBvcHVwLlxuICAubWF0LWNhbGVuZGFyLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTJweCAxMnB4IDA7XG5cbiAgICAubWF0LWNhbGVuZGFyLWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvdMO1ZXMg4oC5IOKAuiAgKHByZXZpb3VzL25leHQgbW9udGgpLiBDb250aW51YW0gc2VuZG8gYDxidXR0b24gbWF0LWljb24tYnV0dG9uPmAsXG4gICAgLy8gbWFzIGVzY29uZGVtb3MgbyBjaHJvbWUgTWF0ZXJpYWwgKHJpcHBsZS9mb2N1cy1vdmVybGF5L2dsaWZvIGRlZmF1bHQpIGVcbiAgICAvLyBpbmpldGFtb3MgU1ZHIGNoZXZyb24gdmlhIGA6OmFmdGVyYC4gUmVzdWx0YWRvOiBwYXJlY2UgdW0gYm90w6NvIEhUTUwgcHVyb1xuICAgIC8vIGNvbSBvIG1lc21vIHBlc28gdmlzdWFsIGRvcyBnbGlmb3Mgc2VjdW5kw6FyaW9zICgkaWNvbi1tdXRlZCAvIGhvdmVyKS5cbiAgICAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbixcbiAgICAubWF0LWNhbGVuZGFyLW5leHQtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDI0cHggIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkICFpbXBvcnRhbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgIC8vIE8gTWF0ZXJpYWwgZGVzZW5oYSBvIGNoZXZyb24gdmlhIGA6OmFmdGVyYCBubyBQUsOTUFJJTyBib3TDo29cbiAgICAgIC8vICh0cmnDom5ndWxvIENTUyBjb20gYm9yZGVyICsgdHJhbnNmb3JtKS4gWmVyYW1vcyBjb21wbGV0YW1lbnRlXG4gICAgICAvLyBwcmEgZWxlIG7Do28gY29tcGV0aXIgY29tIG8gbm9zc28gU1ZHLW1hc2sgbm8gd3JhcHBlci5cbiAgICAgICY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLm1hdC1idXR0b24td3JhcHBlciBzdmcsXG4gICAgICAubWF0LWJ1dHRvbi13cmFwcGVyIC5tYXQtaWNvbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgICAvLyBDaGV2cm9uIFNWRyBpbmxpbmUgdmlhIG1hc2sgKG1lc21vIHBhZHLDo28gZG8gY2hldnJvbiBkbyBzZWxlY3QpLlxuICAgICAgLm1hdC1idXR0b24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgLm1hdC1idXR0b24td3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24gLm1hdC1idXR0b24td3JhcHBlcjo6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEwIDEwJyBmaWxsPSdub25lJz48cGF0aCBkPSdNNi41IDIgTDMgNSBMNi41IDgnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICAgICAgICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAgMTAnIGZpbGw9J25vbmUnPjxwYXRoIGQ9J002LjUgMiBMMyA1IEw2LjUgOCcgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICB9XG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiAubWF0LWJ1dHRvbi13cmFwcGVyOjphZnRlciB7XG4gICAgICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTAgMTAnIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00zLjUgMiBMNyA1IEwzLjUgOCcgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgICAgICAgICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMCAxMCcgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTMuNSAyIEw3IDUgTDMuNSA4JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgIH1cblxuICAgIC8vIENocm9tZSBNYXRlcmlhbCBmb3JhIOKAlCBzZW0gcmlwcGxlL2ZvY3VzLW92ZXJsYXkgcXVlIGRlaXhhcmlhbVxuICAgIC8vIFwiZmxhc2hcIiBhbyBjbGljYXIvaG92ZXIuXG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24gLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxcbiAgICAubWF0LWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b24gLm1hdC1yaXBwbGUsXG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5LFxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24gLm1hdC1idXR0b24tcmlwcGxlLFxuICAgIC5tYXQtY2FsZW5kYXItbmV4dC1idXR0b24gLm1hdC1yaXBwbGUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEhvdmVyOiBcImFjZW5kZVwiIChtZXNtYSBsaW5ndWFnZW0gZG8gY2hldnJvbiBkbyBzZWxlY3QgZSBkbyBjYWxlbmTDoXJpbykuXG4gICAgLm1hdC1jYWxlbmRhci1wcmV2aW91cy1idXR0b246aG92ZXIsXG4gICAgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXIgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZyAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIFRvZG9zIG9zIHLDs3R1bG9zIGRvIGNhbGVuZMOhcmlvIOKAlCBwZXLDrW9kbyAobcOqcy9hbm8pLCBib2R5LWxhYmVsIChGRVYvSkFO4oCmKSxcbiAgICAvLyBoZWFkZXIgKGRpYXMgZGEgc2VtYW5hKS4gUG9sw610aWNhIHN5c3RlbS13aWRlIGBuby1jYXBzYCDigJQgb3ZlcnJpZGVcbiAgICAvLyBhbyBNYXRlcmlhbCBkZWZhdWx0IGUgYW8gcHLDs3ByaW8gYHRleHQtdHJhbnNmb3JtYCBpbmxpbmUgdmlhIGxpZ2F0dXJlLlxuICAgIC5tYXQtY2FsZW5kYXItcGVyaW9kLWJ1dHRvbixcbiAgICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24gKixcbiAgICAubWF0LWNhbGVuZGFyLWJvZHktbGFiZWwsXG4gICAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uIHtcbiAgICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA4cHggIWltcG9ydGFudDsgICAvLyA4cHggZW0gdm9sdGEg4oCUIHJlc3Bpcm8gZG8gaGVhZGVyIG5vIHRvcG8gKyBiYXNlIHVuaWZvcm1lIHAvIG9zIHNlbGV0b3JlcyBkZSBhbm8vbcOqcy5cbiAgfVxuXG4gIC8vIExpbWl0YSBsYXJndXJhIGRhIHRhYmVsYSBwcmEgZW5jb2xoZXIgbyBnYXAgaG9yaXpvbnRhbCBlbnRyZSBkaWFzLlxuICAvLyBNYXRlcmlhbCBkZWZhdWx0IGRlaXhhIG8gdGFibGUgZXN0aWNhciBwcmEgMTAwJSBkbyBjb250YWluZXI7IGNhZGEgdGRcbiAgLy8gdmlyYSB+NDBweC4gQ29tIG1heC13aWR0aCAyNDBweCBvIGNhbGVuZMOhcmlvIGZpY2EgdmlzdWFsbWVudGUgY29tcGFjdG8uXG4gIC5tYXQtY2FsZW5kYXItdGFibGUge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAvLyBSZXNwaXJvIGVudHJlIGEgbGluaGEgZGFzIGluaWNpYWlzIChEIFMgVC4uLikgZSBhIDHCqiBsaW5oYSBkbyBtw6pzIOKAlFxuICAvLyA4cHggdmlhIHBhZGRpbmctdG9wIG5hIHByaW1laXJhIGxpbmhhIGRvIGJvZHkgKGEgYGhlaWdodGAgbm8gZGl2aWRlclxuICAvLyBwb2RlIG7Do28gYmFzdGFyIGRlcGVuZGVuZG8gZGEgdGFiZWxhKS5cbiAgLm1hdC1jYWxlbmRhci1ib2R5IHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogOHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuXG4gIC8vIFRpcG9ncmFmaWEgZG8gcsOzdHVsbyBcIkp1bi4gZGUgMjAyNlwiIOKAlCBpZ3VhbCBhbyBjb250ZcO6ZG8gZGFzIGNhaXhhc1xuICAvLyBkZSB0ZXh0byBkbyBKRU1TMyAoMTNweCAvIDQwMCAvIC0wLjAxZW0gLyBjb3IgZG8gYm9keSBkbyBjaGFpciBVSSkuXG4gIC8vIEhvdmVyOiBmYW3DrWxpYSBcImJvdMOjby9tZW51XCIgZG8gY2hhaXIgVUlcbiAgLy8gKGAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kYCwgbWVzbW8gZG8gbWF0LW1lbnUtaXRlbSBlXG4gIC8vIGRvIMOXIGRvIGRhdGVwaWNrZXIpLiBOZXV0cmFsaXphIG8gYC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXlgIGRvIE1hdGVyaWFsLlxuICAubWF0LWNhbGVuZGFyLXBlcmlvZC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cbiAgICAubWF0LWJ1dHRvbi1mb2N1cy1vdmVybGF5IHsgb3BhY2l0eTogMCAhaW1wb3J0YW50OyB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDsgfVxuICB9XG5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQ7ICAgICAgICAgICAgICAgIC8vIG11dGVkLCBtYXMgdmlzw612ZWwgZW0gcXVhbHF1ZXIgYmdcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgICAgICAgICAgICAgIC8vIHNlbSBib3JkYSBhbyByZWRvciBkYXMgaW5pY2lhaXNcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBNYXRlcmlhbCBkZXNlbmhhIHVtIGRpdmlkZXIgKGAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyYClcbiAgLy8gbG9nbyBhYmFpeG8gZGFzIGluaWNpYWlzLiBBIExJTkhBIGVtIHNpIChgOjphZnRlcmApIGZpY2EgZXNjb25kaWRhLlxuICAvLyBFc3Bhw6dvIGVudHJlIGhlYWRlciBlIDHCqiBsaW5oYSBkb3MgZGlhcyB2ZW0gdmlhIGBoZWlnaHRgIGV4cGzDrWNpdG9cbiAgLy8gbm8gYDx0aD5gIGRpdmlkZXIg4oCUIGltdW5lIGEgYHBhZGRpbmc6IDAgIWltcG9ydGFudGAgZSBhb1xuICAvLyBgYm9yZGVyLWNvbGxhcHNlYCBkYSB0YWJlbGEuXG4gIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXIge1xuICAgIGhlaWdodDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBgLm1hdC1jYWxlbmRhci1ib2R5LWxhYmVsYCDDqSBvIHLDs3R1bG8gXCJGRVYuXCIgcXVlIE1hdGVyaWFsIHJlbmRlcml6YVxuICAvLyBjb21vIGPDqWx1bGEgaW52aXPDrXZlbCBubyBpbsOtY2lvIGRhIHByaW1laXJhIHNlbWFuYSBwYXJjaWFsLiBDb21vIG9cbiAgLy8gaGVhZGVyIGrDoSBtb3N0cmEgXCJGRVYuIERFIDIwMjFcIiwgYSBsYWJlbCBkZW50cm8gZG8gYm9keSDDqSByZWR1bmRhbnRlLlxuICAvLyBFc2NvbmRlciBjb20gYHZpc2liaWxpdHk6IGhpZGRlbmAgcHJlc2VydmEgbyBsYXlvdXQgZG8gY29sc3BhbiAoYVxuICAvLyBwcmltZWlyYSBzZW1hbmEgcGFyY2lhbCBmaWNhIGFsaW5oYWRhIGNvcnJldGFtZW50ZSkgbWFzIG9jdWx0YSBvIHRleHRvLlxuICAvLyBNYXRlcmlhbCByZW5kZXJpemEgZXNzZSBgPHRkPmAgY29tbyB1bSBsYWJlbC9wbGFjZWhvbGRlciBjb2xzcGFuIG5vXG4gIC8vIGluw61jaW8gZGEgcHJpbWVpcmEgc2VtYW5hIHBhcmNpYWwuIENvbW8gbyBoZWFkZXIgasOhIG1vc3RyYSBcIkZFVi4gREUgMjAyMVwiLFxuICAvLyBvIHLDs3R1bG8gYXF1aSDDqSByZWR1bmRhbnRlLiBaZXJhciBhbHR1cmEvZm9udC9wYWRkaW5nIGNvbGFwc2FcbiAgLy8gdmlzdWFsbWVudGUgc2VtIHF1ZWJyYXIgbyBhbGluaGFtZW50byBkYXMgY29sdW5hcyAobyBjb2xzcGFuIGNvbnRpbnVhXG4gIC8vIHJlc2VydmFuZG8gY29sdW5hcywgc8OzIG7Do28gdGVtIGFsdHVyYSkuXG4gIC5tYXQtY2FsZW5kYXItYm9keS1sYWJlbCB7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBMaW5oYSBkZSBpbmljaWFpcyAoRCBTIFQgUS4uLikgc2VtIHBhZGRpbmctYm90dG9tIOKAlCBNYXRlcmlhbCBkZWZhdWx0XG4gIC8vIGVtcHVycmEgOHB4IGFiYWl4byBkYXMgaW5pY2lhaXMgYW50ZXMgZGEgYm9keSBjb21lw6dhci5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdHIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gTWF0ZXJpYWwgY29tcHV0YSBhbHR1cmEgcG9yIHJvdyAodGFibGUgbGF5b3V0KSwgbsOjbyBwb3IgY2VsbC4gUHJhXG4gIC8vIGNvbXBhY3RhciBvIGdhcCBlbnRyZSByb3dzIGRlIGRpYXMgcHJlY2lzYSBhdGFjYXIgbyA8dHI+IGRpcmV0by5cbiAgLm1hdC1jYWxlbmRhci1ib2R5IHRyIHtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbCB7XG4gICAgaGVpZ2h0OiAyNnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudCB7XG4gICAgaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDI0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIHRvcDogMXB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgfVxuXG4gIC8vIFNlbGV0b3IgZGUgQU5PICh2aWV3IFwibXVsdGkteWVhclwiKSDigJQgYSBjw6lsdWxhIGRlZmF1bHQgKDI0w5cyNCkgZmljYVxuICAvLyBwZXF1ZW5hIHByYSBhYnJpZ2FyIFwiMjAyNlwiLiBWaXJhIFBJTEwgYWxvbmdhZG8gKGxhcmd1cmEgY29uZm9ydMOhdmVsXG4gIC8vICsgcmFkaXVzIHBpbGwpLiBIZWlnaHQgbWFudGlkYS5cbiAgbmd4LW1hdC1tdWx0aS15ZWFyLXZpZXcge1xuICAgIC8vIFNlbSBsaW5oYSBkZSBpbmljaWFpcyBuZXNzYSB2aWV3IOKAlCBvIGAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyYFxuICAgIC8vIChzcGFjZXIgZGVmYXVsdCBkbyBNYXRlcmlhbCkgdmlyYSB1bWEgZm9sZ2Egc3VwZXJpb3IgaW7DunRpbC4gU29tZS5cbiAgICAubWF0LWNhbGVuZGFyLXRhYmxlLWhlYWRlci1kaXZpZGVyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50IHtcbiAgICAgIHdpZHRoOiA0NHB4ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMnB4ICFpbXBvcnRhbnQ7ICAgLy8gcGlsbCAoPSBoZWlnaHQvMilcbiAgICB9XG4gIH1cblxuICAvLyBTZWxldG9yIGRlIE3DilMgKHZpZXcgXCJ5ZWFyXCIpIOKAlCBtZXNtYSBpZGVpYTogXCJqYW5cIiwgXCJmZXZcIi4uLiBwcmVjaXNhbVxuICAvLyBkZSBtYWlzIGxhcmd1cmEgcXVlIGEgY8OpbHVsYSBkZWZhdWx0LiBQaWxsIGlkw6pudGljbyBhbyBkbyBhbm8uXG4gIG5neC1tYXQteWVhci12aWV3IHtcbiAgICAvLyBJZGVtIOKAlCBzZW0gbGluaGEgZGUgaW5pY2lhaXMsIHNwYWNlciBuw6NvIGZheiBzZW50aWRvLlxuICAgIC5tYXQtY2FsZW5kYXItdGFibGUtaGVhZGVyLWRpdmlkZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLm5neC1tYXQtdGltZXBpY2tlciB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEzcHg7XG5cbiAgaW5wdXQsXG4gIC5tYXQtaW5wdXQtZWxlbWVudCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBBcHJveGltYSBhcyAzIGxpbmhhcyAo4payIC8gaG9yYTptaW51dG8gLyDilrwpIOKAlCBNYXRlcmlhbCBkw6EgNDBweCBkZSBhbHR1cmFcbiAgLy8gbm8gYG1hdC1pY29uLWJ1dHRvbmAgKyBlc3Bhw6dvIGRlIHRkOyByZWR1emltb3MgYSBhbHR1cmEgZG9zIGFycm93c1xuICAvLyBlIG8gcGFkZGluZyBkb3MgdGRzIHByYSBjb21wYWN0YXIgbyBibG9jby5cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gQm90w7VlcyBkZSBzcGluICjilrIg4pa8KSBTRU0gY2hyb21lIE1hdGVyaWFsIOKAlCBwYXJlY2VtIEhUTUwgcHVybyxcbiAgLy8gaWd1YWwgYW9zICsv4oiSIGRvIG51bWJlci1pbnB1dDogdHJhbnNwYXJlbnRlIGVtIHJlcG91c28sIGZpbGwgZG8gdG9rZW5cbiAgLy8gbm8gaG92ZXIsIGdsaWZvIFwiYWNlbmRlXCIgbm8gaG92ZXIsIHNlbSByaXBwbGUvZm9jdXMtb3ZlcmxheS5cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIHtcbiAgICB3aWR0aDogMjRweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRpY29uLW11dGVkICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgJjpob3Zlcjpub3QoW2Rpc2FibGVkXSkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogJGljb24tbXV0ZWQtaG92ZXIgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiAubWF0LXJpcHBsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgYnV0dG9uLm1hdC1pY29uLWJ1dHRvbiBtYXQtaWNvbixcbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSBidXR0b24ubWF0LWljb24tYnV0dG9uIC5tYXQtaWNvbiB7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICB9XG4gIC8vIFdyYXBwZXIgaW50ZXJubyBkbyBtYXQtZm9ybS1maWVsZCAoaW5wdXQgZGEgaG9yYS9taW51dG8pIOKAlCB6ZXJhIGFzXG4gIC8vIG1hcmdlbnMvcGFkZGluZ3MgZGVmYXVsdCBkbyBgLm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJgIHF1ZSBlbXB1cnJhbVxuICAvLyBhcyBsaW5oYXMgZGUgc2V0YXMgcHJhIGxvbmdlLlxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIC5tYXQtZm9ybS1maWVsZC13cmFwcGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgLm1hdC1mb3JtLWZpZWxkLWluZml4IHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5uZ3gtbWF0LXRpbWVwaWNrZXItdGFibGUgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSxcbiAgLm5neC1tYXQtdGltZXBpY2tlci10YWJsZSAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIGFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5maWx0ZXItc3R5bGVkIOKAlCBQUkVTRVQgR0xPQkFMIGRvIGRhdGVwaWNrZXIgbm8gZXN0aWxvXG4vLyBkYSBjYWl4YSBkZSBmaWx0cm8gKGFwcC1jdXN0b20tc2VhcmNoIGAuY2hpcC1leHBhbmRlZGApLiBGT05URSDDmk5JQ0E6IGVkaXRhclxuLy8gYXF1aSByZWZsZXRlIGVtIFRPRE9TIG9zIHVzb3MuIE9wdC1pbiBwb3IgY2xhc3NlOyBjb21iaW5lIGNvbSBvcyBpbnB1dHMgZG9cbi8vIGNvbXBvbmVudGUgY29uZm9ybWUgbyBjYXNvIChmbGFncyBzZXBhcmFkb3MpOlxuLy9cbi8vICAgPGFwcC1kYXRldGltZXBpY2tlci1pbnB1dCBjbGFzcz1cImZpbHRlci1zdHlsZWRcIlxuLy8gICAgICAgIFtsb2NrQ2xvc2VdPVwidHJ1ZVwiICAgICAgICAvLyBjYWxlbmTDoXJpbyBtb2RhbCAoc8OzIGZlY2hhIHBvciBYL2NoZWNrKVxuLy8gICAgICAgIFtpbmxpbmVUaW1lWm9uZV09XCJ0cnVlXCIgICAvLyBnbG9ibyArIHZpc3VhbGl6YWRvciBkZSBmdXNvcyBubyBjYW1wb1xuLy8gICAgICAgIFtlbmFibGVkVGltZVpvbmVdPVwidHJ1ZVwiIC4uLj5cbi8vXG4vLyBUcsOqcyBwZcOnYXMgZG8gcHJlc2V0OiAoMSkgYSBDQUlYQSBjb20gZGF0YSA9IC5maWx0ZXItc3R5bGVkIChlc3RlIGJsb2NvKTtcbi8vICgyKSBvIFNFTEVUT1IgZGUgZGF0YSA9IHBvcHVwIGRvIGNhbGVuZMOhcmlvICgubWF0LWNhbGVuZGFyLCBqw6EgZ2xvYmFsIGFjaW1hKVxuLy8gKyBtb2RhbCB2aWEgW2xvY2tDbG9zZV07ICgzKSBvIFZJU1VBTElaQURPUiBkZSBmdXNvcyA9IGdsb2JvICsgYXBwLWRpYWxvZy10aW1lem9uZVxuLy8gdmlhIFtpbmxpbmVUaW1lWm9uZV0gKGVzdGlsbyBkbyBnbG9ibyBubyBmaW0gZGVzdGUgYmxvY28pLlxuLy9cbi8vIE8gbWF0LWZvcm0tZmllbGQgKGFwcGVhcmFuY2U9b3V0bGluZSkgw6kgXCJhY2hhdGFkb1wiOiBlc2NvbmRlbW9zIG8gY2hyb21lIGRvXG4vLyBvdXRsaW5lICsgbGFiZWwgZmx1dHVhbnRlICsgc3Vic2NyaXB0LCBlIGRlc2VuaGFtb3MgYSBjYWl4YSBkaXJldG8gbm9cbi8vIGAubWF0LWZvcm0tZmllbGQtZmxleGAuIEdsb2JhbCAoc2VtIDo6bmctZGVlcCk6IG8gY29tcG9uZW50ZSDDqSBFbXVsYXRlZCwgbWFzXG4vLyBlc3RhcyByZWdyYXMgdml2ZW0gbm8gc3R5bGVzaGVldCBHTE9CQUwsIGVudMOjbyBhdGluZ2VtIGFzIGNsYXNzZXMgaW50ZXJuYXNcbi8vIHNlbSBwcmVjaXNhciBkZSBlbmNhcHN1bGFtZW50by5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbmFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5maWx0ZXItc3R5bGVkIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIC8vIERlZmF1bHQgYGZsZXg6IDAgMCBhdXRvYCAoY29udGXDumRvIG5hdHVyYWwpIHPDsyBmb3JhIGRvIGdyaWQgQnVsbWEuXG4gIC8vIENvbSBgLmNvbHVtbmAsIGRlaXhhbW9zIGFzIHJlZ3JhcyBkZSBmbGV4IGRvIEJ1bG1hIChgZmxleDogMSAxIDBgIGV0Yy4pXG4gIC8vIGRvbWluYXJlbSDigJQgc2Vuw6NvIG8gaG9zdCBuw6NvIGNyZXNjZSBuYSBjb2x1bmEgZSBvcyBpcm3Do29zIGZpY2FtXG4gIC8vIGRlc2FsaW5oYWRvcyAoY2FzbyBkYXMgRGF0YXMgdnMgTG9jYWxpemHDp8OjbykuXG4gICY6bm90KC5jb2x1bW4pIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjYwcHg7ICAgICAvLyBsYXJndXJhIGRlZmF1bHQgZm9yYSBkbyBncmlkXG4gIH1cblxuICAvLyBtYXQtZm9ybS1maWVsZCBpbnRlcm5vIGV4cGFuZGUgcHJhIGxhcmd1cmEgZG8gaG9zdC4gU2VtIGlzc28sIHF1YW5kb1xuICAvLyBvIGNvbnN1bWlkb3IgcGFzc2EgYFt3aWR0aF09XCInMjAwcHgnXCJgICh2aWEgSG9zdEJpbmRpbmcgZW0gLnRzKSwgbyBob3N0XG4gIC8vIGdhbmhhIDIwMHB4IG1hcyBvIGZvcm0tZmllbGQgY29udGludWEgY29udGVudC1zaXplZCDihpIgY2FpeGEgdmlzdWFsbWVudGVcbiAgLy8gbsOjbyByZXNwZWl0YSBhIGxhcmd1cmEgc29saWNpdGFkYS5cbiAgLy8gTsODTyB1c2FyIGA+YCBwb3JxdWUgbyB0ZW1wbGF0ZSB0ZW0gdW0gd3JhcHBlciBgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItaW5wdXRcIj5gXG4gIC8vIGVudHJlIG8gaG9zdCBlIG8gYG1hdC1mb3JtLWZpZWxkYCDigJQgZGVzY2VuZGVudGUsIG7Do28gZmlsaG8gZGlyZXRvLlxuICAuZGF0ZXBpY2tlci1pbnB1dCB7IHdpZHRoOiAxMDAlOyB9XG4gIC5tYXQtZm9ybS1maWVsZCB7IHdpZHRoOiAxMDAlOyBtaW4td2lkdGg6IDA7IH1cblxuICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgbWluLXdpZHRoOiAwOyB9XG4gIC8vIFN1YnNjcmlwdC13cmFwcGVyIHZpc8OtdmVsIGVtIEFCU09MVVRFIGFiYWl4byBkYSBjYWl4YSBwcmEgbW9zdHJhclxuICAvLyBtYXQtZXJyb3Igc2VtIGVtcHVycmFyIG8gbGF5b3V0IChtZXNtYSB0w6ljbmljYSBkbyBfZm9ybS1maWVsZC5zY3NzKS5cbiAgLm1hdC1mb3JtLWZpZWxkLXN1YnNjcmlwdC13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDJweDtcbiAgICByaWdodDogMnB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gIC5tYXQtZXJyb3Ige1xuICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC8vIEVzY29uZGUgbWF0LWhpbnQgKGluY2x1aW5kbyBvIGA/YCBkbyBgW2hlbHBdYCkgbmEgw6FyZWEgZGUgc3Vic2NyaXB0IHByYVxuICAvLyBuw6NvIHNvYnJlcG9yIGRpdmlkZXJzIGVudHJlIHNlw6fDtWVzLlxuICAubWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVyLFxuICAubWF0LWhpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1mb3JtLWZpZWxkLW91dGxpbmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLy8gQSBjYWl4YSDigJQgZXNwZWxoYSBgLmNoaXAtZXhwYW5kZWRgOiAzNnB4LCByYWRpdXMvZnVuZG8vYm9yZGEgZG9zIHRva2Vuc1xuICAvLyBjaHJvbWUuIFBhZGRpbmctTEVGVCByZWR1emlkbyBhIDRweCBwcmEgZW5jb3N0YXIgbyBib3TDo28gZG8gY2FsZW5kw6FyaW9cbiAgLy8gcHLDs3hpbW8gZGEgYm9yZGEgKG8gYm90w6NvIHRlbSBob3ZlciBiZyBxdWUgYWJyYcOnYSBvcyA0cHggcmVzdGFudGVzKTtcbiAgLy8gcGFkZGluZy1yaWdodCBzZWd1ZSAxMHB4IGRvIGdhcCBuYXR1cmFsIMOgIGRpcmVpdGEuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxMHB4IDAgM3B4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIC8vIENsaWNrIGVtIFFVQUxRVUVSIHBvbnRvIGRvIGJveCBhYnJlIG8gcGlja2VyIChoYW5kbGVyIG5vXG4gICAgLy8gYC5kYXRlcGlja2VyLWlucHV0YCB3cmFwcGVyKSDigJQgY3Vyc29yIGBwb2ludGVyYCBzaW5hbGl6YSBpc3NvLlxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyBIb3Zlci9mb2NvIGluc3RhbnTDom5lb3Mg4oCUIHNlbSB0cmFuc2nDp8OjbyAoYSBwZWRpZG8gZG8gdXN1w6FyaW8pLlxuICAgIC8vIE5lY2Vzc8OhcmlvIHByYSBvIGZsZXggY2hhaW4gc2hyaW5rZWFyOiBgb3ZlcmZsb3c6IGhpZGRlbmAgY2xpcGEgbyBjb250ZcO6ZG9cbiAgICAvLyBxdWUgdmF6YSBhbMOpbSBkYSBib3JkYSBkbyBib3g7IGBtaW4td2lkdGg6IDBgIGxpYmVyYSBvIGl0ZW0gZmlsaG8gZG8gZmxleFxuICAgIC8vIHBhaSBhIGVuY29saGVyIGFiYWl4byBkbyB0YW1hbmhvIGRlIGNvbnRlw7pkby5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuICAvLyBJbnB1dC9tYXNrIGludGVybm8gdGFtYsOpbSBoZXJkYSBvIHBvaW50ZXIgKHJlYWRvbmx5LCBjbGljayBkZWxlZ2FkbykuXG4gIC5tYXQtaW5wdXQtZWxlbWVudCxcbiAgLmNvbnRhaW5lci1kYXRlLXRpbWUtbWFzayB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7IG1pbi13aWR0aDogMDsgfVxuICAuX2NvbnRhaW5lci1pbnB1dCB7IG1pbi13aWR0aDogMDsgfVxuXG4gIC8vIENhbGVuZMOhcmlvID0gw41DT05FLUdVSUEgw4AgRVNRVUVSREEgKGNvbW8gbyBgZmlsdGVyX2FsdGAgZG8gZmlsdHJvKTogbW92aWRvXG4gIC8vIHAvIGFudGVzIGRvIHRleHRvIChgb3JkZXI6IC0xYCksIG11dGVkLCAxOHB4LCBzZW0gY2hyb21lIGRlIG1hdC1pY29uLWJ1dHRvbi5cbiAgLy8gTyBzdWZmaXggZG8gTWF0ZXJpYWwgw6kgYGRpc3BsYXk6YmxvY2tgIChsaW5lLWJveCAyM3B4KSArIHRvZ2dsZSBpbmxpbmUgbmFcbiAgLy8gYmFzZWxpbmUgKGFmdW5kYXZhIH42LjVweCk7IGZvcsOnYW1vcyBmbGV4LWNlbnRlciBuYSBjYWRlaWEuIE1hdGVyaWFsIGFpbmRhXG4gIC8vIGFwbGljYSBgcG9zaXRpb246cmVsYXRpdmU7IHRvcDo0cHhgIG5vIHN1ZmZpeCDigJQgemVyYW1vcy5cbiAgLm1hdC1mb3JtLWZpZWxkLXN1ZmZpeCB7XG4gICAgb3JkZXI6IC0xO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG4gIH1cbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgfVxuICAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvLyBCb3TDo28gMjjDlzI4IOKAlCDDoXJlYSBjbGljw6F2ZWwgcXVhZHJhZGEsIGhvdmVyIGJnIFwiYWJyYcOnYW5kb1wiIG8gZ2xpZm8uXG4gICAgLy8gYCFpbXBvcnRhbnRgIG5lY2Vzc8OhcmlvIHByYSB2ZW5jZXIgYC5tYXQtYnV0dG9uLWJhc2UgeyBoZWlnaHQ6IDM2cHggfWBcbiAgICAvLyBkbyBNYXRlcmlhbCAoc3BlY2lmaWNpdHkgYWx0YSArIHJlZ3JhIGdsb2JhbCBkbyBidXR0b24geyBoZWlnaHQ6IDM2cHggfVxuICAgIC8vIGVtIGBfYnV0dG9uLnNjc3NgKS5cbiAgICB3aWR0aDogMjhweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMjhweCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMDBtcyBlYXNlO1xuICB9XG4gIC8vIFNlbSBmaWxsIGRlIGhvdmVyIG5vIGJvdMOjbyBkbyBjYWxlbmTDoXJpbyDigJQgc8OzIGEgQ09SIGRvIGdsaWZvIG11ZGFcbiAgLy8gKG1lc21hIGxpbmd1YWdlbSBkb3MgKy/iiJIgZSBjaGV2cm9uIGRvIHNlbGVjdDogbyBjb250YWluZXIgZmljYSBsaW1wbykuXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1idXR0b24tZm9jdXMtb3ZlcmxheSxcbiAgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWJ1dHRvbi1yaXBwbGUsXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1yaXBwbGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBPIMOtY29uZSBkZWZhdWx0IGRvIHRvZ2dsZSDDqSB1bSBTVkcgQ0hFSU8gKFwiZ3Jvc3NlaXJvXCIpLiBFc2NvbmRlbW9zIGVcbiAgLy8gcmVuZGVyaXphbW9zIG8gZ2xpZm8gRklOTyBkbyBNYXRlcmlhbCBTeW1ib2xzIHZpYSBsaWdhdHVyZSBubyBgOjphZnRlcmAuXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZS1kZWZhdWx0LWljb24sXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgc3ZnIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdjYWxlbmRhcl90b2RheSc7XG4gICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBTeW1ib2xzIE91dGxpbmVkJztcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gICAgLy8gTWVzbWEgY29yIGRvIHN1Yi1ib3TDo28gZG8gc2VsZWN0IOKAlCBtdXRlZCBlbSByZXBvdXNvLCBcImFjZW5kZVwiIG5vIGhvdmVyLlxuICAgIC8vIFNlbSBvcGFjaXR5IChvIHRva2VuIGrDoSBlbWJ1dGUgYSBhbGZhIGNvcnJldGEpLlxuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDtcbiAgfVxuICAvLyBcIkFjZW5kZVwiIG5vIGhvdmVyIGRhIENBSVhBIEUgZW5xdWFudG8gbyBwYWluZWwgZG8gY2FsZW5kw6FyaW8gZXN0w6EgYWJlcnRvXG4gIC8vIChvIG1vdXNlIG1pZ3JhIHBybyBwYWluZWwgZSBwZXJkZXJpYSBvIGhvdmVyIOKAlCBpZ3VhbCBhbyBjaGV2cm9uIGRvIHNlbGVjdFxuICAvLyBxdWFuZG8gYC5pcy1vcGVuYCkuIENvYnJlIGAucGlja2VyLW9wZW5gICh3cmFwcGVyIHByw7NwcmlvKSwgYC5tYXQtZm9jdXNlZGBcbiAgLy8gKE1hdGVyaWFsIGR1cmFudGUgb3ZlcmxheSkgZSBjYWl4YXMgY29tIHZpc3VhbGl6YWRvciBkZSBmdXNvIGFiZXJ0b1xuICAvLyAoYDpoYXMoLnR6LWdsb2JlLm1lbnUtb3BlbilgKS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlcixcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aGFzKC50ei1nbG9iZS5tZW51LW9wZW4pIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5waWNrZXItb3BlbiAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyLFxuICAubWF0LWZvY3VzZWQgLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlciB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyO1xuICB9XG5cbiAgLy8gUHJlc2VydmEgbyBoYWxvIChib3gtc2hhZG93KSBkYSBjYWl4YSBlbnF1YW50byBvIHZpc3VhbGl6YWRvciBkZSBmdXNvXG4gIC8vIGVzdMOhIGFiZXJ0byDigJQgbyBtb3VzZSBtaWdyYSBwcm8gcG9wb3ZlciBlIG8gYDpob3ZlcmAgbmF0dXJhbCBzZSBwZXJkZS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aGFzKC50ei1nbG9iZS5tZW51LW9wZW4pIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gw4FyZWEgZG8gdmFsb3Ig4oCUIHNlbSBvIGJvcmRlci10b3AgZG8gb3V0bGluZTsgbGFyZ3VyYSBuYXR1cmFsIChhIGNhaXhhXG4gIC8vIGFicmHDp2EgbyBjb250ZcO6ZG8gbnVtYSDDum5pY2EgbGluaGEsIGNvbW8gbyBmaWx0cm8pLlxuICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gVmFsb3IgKyBvZmZzZXQgbnVtYSDDum5pY2EgbGluaGEsIGNlbnRyYWxpemFkb3MsIGdhcCBlbnh1dG8gKGVyYSAxNXB4KS5cbiAgLl9jb250YWluZXItaW5wdXQge1xuICAgIGdhcDogNnB4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuXG4gIC8vIFRpcG9ncmFmaWEgSUTDik5USUNBIGFvIGAuY2hpcC1pbnB1dGAgZG8gZmlsdHJvOiAxNHB4IC8gNDAwIC8gLTAuMDFlbSAvIGNvclxuICAvLyBkZSBjb3JwbyBkbyBjaGFpciBVSSAobyBkZWZhdWx0IGRvIGNvbXBvbmVudGUgw6kgMTNweC80MzApLlxuICAuY29udGFpbmVyLWRhdGUtdGltZS1tYXNrIHtcbiAgICBmb250LXNpemU6ICRjb250cm9sLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIC8vIElNUE9SVEFOVEU6IGBmbGV4LWJhc2lzOiBhdXRvYCAobsOjbyAwKSDigJQgc8OzIGFzc2ltIGEgc29tYSBkb3MgYmFzaXMgbm9cbiAgICAvLyBgLl9jb250YWluZXItaW5wdXRgIGV4Y2VkZSBhIGxhcmd1cmEgZGlzcG9uw612ZWwgcXVhbmRvIGjDoSBjb250ZcO6ZG9cbiAgICAvLyBkZW1haXMsIGRpc3BhcmFuZG8gbyBzaHJpbmsgcGhhc2UgZG8gZmxleC4gQ29tIGBiYXNpczogMGAsIGEgbWFza1xuICAgIC8vIGdhbmhhdmEgZXNwYcOnbyBzw7MgdmlhIGBncm93YCwgZSBvIG9mZnNldCAocXVlIHRlbSBzaHJpbmsgOTk5OSkgbnVuY2FcbiAgICAvLyBlcmEgYWNpb25hZG8gcHJhIGNvbGFwc2FyLiBgbWluLXdpZHRoOiAwYCBsaWJlcmEgbyBzaHJpbmsgYWJhaXhvIGRlXG4gICAgLy8gbWluLWNvbnRlbnQ7IGBvdmVyZmxvdzogaGlkZGVuYCArIGB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpc2AgYXBsaWNhbVxuICAgIC8vIFwiLi4uXCIgY29tbyDDumx0aW1vIHJlY3Vyc28gKGFww7NzIG8gb2Zmc2V0IGNvbGFwc2FyKS5cbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICBkaXNwbGF5OiBibG9jazsgICAgICAgLy8gdGV4dC1vdmVyZmxvdyBleGlnZSBjb250ZXh0byBkZSBibG9jb1xuICAgICAgbWluLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuICAucGxhY2Vob2xkZXItbWFzayB7XG4gICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgfVxuICAvLyBPZmZzZXQgZGUgdGltZXpvbmUgUkVDVUFETyDigJQgc2VjdW5kw6FyaW8gYW8gdmFsb3IuXG4gIC8vIGBmbGV4OiAwIDk5OTkgYXV0b2AgKyBgbWluLXdpZHRoOiAwYCArIGBvdmVyZmxvdzogaGlkZGVuYDogcXVhbmRvIGjDoVxuICAvLyBvdmVyZmxvdyBubyBgLl9jb250YWluZXItaW5wdXRgLCBvIG9mZnNldCBlbmNvbGhlIH45OTk5eCBtYWlzIHLDoXBpZG8gcXVlIGFcbiAgLy8gZGF0YSAocXVlIHRlbSBgZmxleC1zaHJpbms6IDFgKS4gUmVzdWx0YWRvOiBvIGAoVVRDLi4uKWAgXCJzb21lXCIgUFJJTUVJUk9cbiAgLy8gKGxhcmd1cmEgY29sYXBzYSBhIDAsIGNvbnRlw7pkbyDDqSBjbGlwYWRvKSwgZSBTw5MgREVQT0lTIOKAlCBzZSBhaW5kYSBhc3NpbVxuICAvLyBuw6NvIGNvdWJlciDigJQgYSBkYXRhIHRydW5jYSBjb20gXCIuLi5cIi4gU2VtIHRocmVzaG9sZCBlbSBweCwgc2VtIGNvbnRhaW5lclxuICAvLyBxdWVyeTogbyBwcsOzcHJpbyBtb3RvciBkZSBmbGV4IGRlY2lkZSBjb20gYmFzZSBubyBvdmVyZmxvdyByZWFsLlxuICAub2Zmc2V0IHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmbGV4OiAwIDk5OTkgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFZJU1VBTElaQURPUiBkZSBmdXNvcyAocmVhZC1vbmx5LCBbaW5saW5lVGltZVpvbmVdKSDDoCBkaXJlaXRhIGRvIHZhbG9yOlxuICAvLyBnbG9ibyBTVVRJTCAobWVub3IgKyBvcGFjaXR5IGJhaXhhICsgdHJhw6dvIGZpbm8pLCBzZW0gY2hyb21lIGRlIG1hdC1pY29uLWJ1dHRvbi5cbiAgYXBwLWRpYWxvZy10aW1lem9uZS5pbmxpbmUtdHotdmlld2VyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuXG4gICAgLy8gTyA8c3Bhbj4gd3JhcHBlciBkbyBib3TDo28gw6kgaW5saW5lIChiYXNlbGluZSkg4oaSIGpvZ2F2YSBvIGdsb2JvIH4xLjNweFxuICAgIC8vIGFjaW1hIGRvIGNlbnRyby4gRmxleC1jZW50ZXIgbm8gd3JhcHBlciBhbGluaGEuXG4gICAgPiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuc21hbGxlci1idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLnNtYWxsZXItYnV0dG9uIC5tYXQtYnV0dG9uLWZvY3VzLW92ZXJsYXksXG4gICAgLnNtYWxsZXItYnV0dG9uIC5tYXQtYnV0dG9uLXJpcHBsZSxcbiAgICAuc21hbGxlci1idXR0b24gLm1hdC1yaXBwbGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuc21hbGxlci1idXR0b24gLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGVhc2U7XG4gICAgfVxuICAgIC5zbWFsbGVyLWJ1dHRvbjpob3ZlciAubWF0LWljb24geyBvcGFjaXR5OiAwLjc7IH1cbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY28gPSBtZXNtYSBsaW5ndWFnZW0gZG8gYC5jaGlwLWV4cGFuZGVkYC5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gIH1cbiAgLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4LFxuICAubWF0LWZvcm0tZmllbGQtZmxleDpmb2N1cy13aXRoaW4sXG4gIC8vIFBpY2tlciBhYmVydG86IG1hbnTDqW0gbyBib3ggY29tIG8gbG9vayBcInNlbGVjdGVkXCIgbWVzbW8gc2UgbyBmb2NvIGRvXG4gIC8vIHRlY2xhZG8gdGl2ZXIgbWlncmFkbyBwcm8gb3ZlcmxheSBkbyBjYWxlbmTDoXJpby5cbiAgLnBpY2tlci1vcGVuIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbi8vIERhcmsgbW9kZSDigJQgZXNwZWxoYSBvcyB0b2tlbnMgKi1kYXJrIGRhIGNhaXhhIGRlIGZpbHRyby5cbi5kYXJrLXRoZW1lIGFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5maWx0ZXItc3R5bGVkIHtcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgfVxuICAuY29udGFpbmVyLWRhdGUtdGltZS1tYXNrIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgLnBsYWNlaG9sZGVyLW1hc2sgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIsXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhhcygudHotZ2xvYmUubWVudS1vcGVuKSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICB9XG4gIC5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCxcbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6Zm9jdXMtd2l0aGluLFxuICAucGlja2VyLW9wZW4gLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICB9XG4gIC8vIENvciBkbyBnbGlmbyBkbyBjYWxlbmTDoXJpbyBlbSBkYXJrIOKAlCBtdXRlZCBlbSByZXBvdXNvLCBhY2VuZGUgbm8gaG92ZXIuXG4gIC8vIFNlbSBmaWxsIG5vIGJvdMOjbyAobWVzbWEgbGluZ3VhZ2VtIGRvcyBvdXRyb3MgZ2xpZm9zIHNlY3VuZMOhcmlvcykuXG4gIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrO1xuICB9XG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIsXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhhcygudHotZ2xvYmUubWVudS1vcGVuKSAubWF0LWRhdGVwaWNrZXItdG9nZ2xlIC5tYXQtaWNvbi1idXR0b246OmFmdGVyLFxuICAucGlja2VyLW9wZW4gLm1hdC1kYXRlcGlja2VyLXRvZ2dsZSAubWF0LWljb24tYnV0dG9uOjphZnRlcixcbiAgLm1hdC1mb2N1c2VkIC5tYXQtZGF0ZXBpY2tlci10b2dnbGUgLm1hdC1pY29uLWJ1dHRvbjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3Zlci1kYXJrO1xuICB9XG59XG5cbi8vIERhcmsgdGhlbWUgZG9zIGJvdMO1ZXMg4oC5IOKAuiBkbyBjYWxlbmTDoXJpbyDigJQgdml2ZW0gbm8gb3ZlcmxheSBwb3J0YWxsYWRvXG4vLyAoZm9yYSBkbyBob3N0IGBhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXRgKSwgcG9yIGlzc28gZXNjb3BvIGdsb2JhbC5cbi5kYXJrLXRoZW1lIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IC5tYXQtY2FsZW5kYXItcHJldmlvdXMtYnV0dG9uLFxuLmRhcmstdGhlbWUgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQgLm1hdC1jYWxlbmRhci1uZXh0LWJ1dHRvbiB7XG4gIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrICFpbXBvcnRhbnQ7XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3Zlci1kYXJrICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGljb24tY29udGFpbmVyLWJnLWRhcmsgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBEYXJrOiBjb3IgZGUgZnVuZG8gZG8gbWluaS1wYWluZWwgZG8gZGF0ZXBpY2tlciBpZ3VhbCDDoCBkb3MgcGFpbsOpaXMgZG9cbi8vIHNlbGVjdCAoYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFya2ApIOKAlCBtYW50w6ltIGEgbGluZ3VhZ2VtIGNvZXNhXG4vLyBlbnRyZSBvdmVybGF5cy5cbi5kYXJrLXRoZW1lIC5tYXQtZGF0ZXBpY2tlci1jb250ZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7ICAgLy8gbWVzbWEgXCJib3JkYVwiIGRvcyBwYWluw6lpcyBkbyBzZWxlY3RcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbWVzbWEgc29tYnJhIGRlIHBhaW5lbCBkbyBkYXJrXG5cbiAgLy8gQ29yIGRvIHLDs3R1bG8gXCJKdW4uIGRlIDIwMjZcIiBubyBkYXJrIOKAlCBtZXNtYSBkbyBjb250ZcO6ZG8gZGFzIGNhaXhhcyBkZSB0ZXh0by5cbiAgLm1hdC1jYWxlbmRhci1wZXJpb2QtYnV0dG9uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7IH1cbiAgfVxuICAvLyBJbmljaWFpcyBkb3MgZGlhcyBkYSBzZW1hbmEgKEQgUyBUIFEuLi4pIG5vIGRhcmsg4oCUIG11dGVkIGNsYXJvXG4gIC8vIChvIGRlZmF1bHQgZG8gTWF0ZXJpYWwgZmljYSBwcmV0byBxdWFzZSBpbnZpc8OtdmVsIHNvYnJlIGEgZm9saGEgZXNjdXJhKS5cbiAgLm1hdC1jYWxlbmRhci10YWJsZS1oZWFkZXIgdGgge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrO1xuICB9XG5cbiAgLy8gQm90w7VlcyBkZSBzcGluICjilrIg4pa8KSBkbyB0aW1lcGlja2VyIG5vIGRhcmsg4oCUIG11dGVkIGNsYXJvOyBob3ZlclxuICAvLyBcImFjZW5kZVwiIGNvbSBmdW5kbyBkbyB0b2tlbiBkYXJrLlxuICAubmd4LW1hdC10aW1lcGlja2VyLXRhYmxlIGJ1dHRvbi5tYXQtaWNvbi1idXR0b24ge1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmctZGFyayAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyLWRhcmsgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLy8g4pSA4pSA4pSAIENvciBkbyBkaWEvbcOqcy9hbm8gU0VMRUNJT05BRE8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBPIHRlbWEgcHJlLWNvbXBpbGFkbyBgaW5kaWdvLXBpbmsuY3NzYCBkbyBNYXRlcmlhbCBwaW50YVxuLy8gYC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7IGJhY2tncm91bmQtY29sb3I6ICMzZjUxYjUgfWAgKGluZGlnbyBkb1xuLy8gTWF0ZXJpYWwpLiBOb3NzbyBhY2NlbnQgw6kgc3lzdGVtQmx1ZSAoIzAwN0FGRikg4oCUIG1haXMgY2xhcm8vdml2by4gQXF1aVxuLy8gc29icmVzY3JldmVtb3MgcHJhIG1hbnRlciBpZGVudGlkYWRlIHZpc3VhbCBkbyBKRU1TMyBubyBjYWxlbmTDoXJpby5cbi5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi8vIEhvdmVyL2ZvY28gZW0gY8OpbHVsYSBOw4NPIHNlbGVjaW9uYWRhIOKAlCB2w6l1IHN1dGlsIGRvIGFjY2VudCAobWVzbWFcbi8vIHJlY2VpdGEgZG8gTWF0ZXJpYWwsIHPDsyB0cm9jYSBvIGh1ZSkuIH4xNSUgb3BhY2l0eSBtYW50w6ltIGxlZ2liaWxpZGFkZVxuLy8gZG8gZGlhOyBvIE1hdGVyaWFsIGRlZmF1bHQgdXNhdmEgYSBtZXNtYSAlIHNvYnJlIG8gaW5kaWdvLlxuLm1hdC1jYWxlbmRhci1ib2R5LWNlbGw6bm90KC5tYXQtY2FsZW5kYXItYm9keS1kaXNhYmxlZCk6aG92ZXJcbiAgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLFxuLmNkay1rZXlib2FyZC1mb2N1c2VkIC5tYXQtY2FsZW5kYXItYm9keS1hY3RpdmVcbiAgPiAubWF0LWNhbGVuZGFyLWJvZHktY2VsbC1jb250ZW50Om5vdCgubWF0LWNhbGVuZGFyLWJvZHktc2VsZWN0ZWQpOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktY29tcGFyaXNvbi1pZGVudGljYWwpLFxuLmNkay1wcm9ncmFtLWZvY3VzZWQgLm1hdC1jYWxlbmRhci1ib2R5LWFjdGl2ZVxuICA+IC5tYXQtY2FsZW5kYXItYm9keS1jZWxsLWNvbnRlbnQ6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRhY2NlbnQtYmFja2dyb3VuZCwgMC4xNSkgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtY2FsZW5kYXItYm9keS1jZWxsOm5vdCgubWF0LWNhbGVuZGFyLWJvZHktZGlzYWJsZWQpOmhvdmVyXG4gID4gLm1hdC1jYWxlbmRhci1ib2R5LWNlbGwtY29udGVudDpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmssIDAuMjIpICFpbXBvcnRhbnQ7XG59XG4vLyBcIkhvamVcIiAoY8OpbHVsYSBkbyBkaWEgYXR1YWwsIGNvbnRvcm5vKSDigJQgaW5kaWdvIHBvciBkZWZhdWx0OyBtb3ZlIHAvIGFjY2VudC5cbi5tYXQtY2FsZW5kYXItYm9keS10b2RheTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LXNlbGVjdGVkKTpub3QoLm1hdC1jYWxlbmRhci1ib2R5LWNvbXBhcmlzb24taWRlbnRpY2FsKSB7XG4gIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LWNhbGVuZGFyLWJvZHktdG9kYXk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1zZWxlY3RlZCk6bm90KC5tYXQtY2FsZW5kYXItYm9keS1jb21wYXJpc29uLWlkZW50aWNhbCkge1xuICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnY29sb3JzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUFJFU0VUIEdMT0JBTCBgLmZpbHRlci1zdHlsZWRgIHBhcmEgb3Mgd3JhcHBlcnMgYGFwcC10ZXh0LWlucHV0YCBlXG4vLyBgYXBwLXNlbGVjdC1pbnB1dGAgKGUgdmFyaWFudGVzIC1mbGFnLy1sZSBxdWUgY29tcGFydGlsaGFtIG8gdGVtcGxhdGUtYmFzZSkuXG4vL1xuLy8gTWVzbW8gY2hyb21lIGRvcyBwaWNrZXJzIEpFTVMzIChkYXRlcGlja2VyIC8gbnVtYmVyLWlucHV0IC8gdGhyZXNob2xkLWJhbmQpOlxuLy8gY2FpeGEgMzZweCwgcmFkaXVzL2JvcmRlci9iZyBkb3MgdG9rZW5zIGNocm9tZSwgc2VtIHVuZGVybGluZSBvdSBvdXRsaW5lXG4vLyBNYXRlcmlhbCBsZWdhZG9zLiBPcHQtaW4gcG9yIGNsYXNzZSBubyBob3N0IOKAlCBhc3NpbSBhIG1pZ3Jhw6fDo28gw6kgZ3JhZHVhbFxuLy8gKHDDoWdpbmEtYS1ww6FnaW5hKSBlIGZvcm1hcyByZWF0aXZhcy9uZ01vZGVsL3ZhbGlkYXRvcnMgY29udGludWFtIGludGFjdG9zLlxuLy9cbi8vIFVTTzpcbi8vICAgPGFwcC10ZXh0LWlucHV0IGNsYXNzPVwiZmlsdGVyLXN0eWxlZFwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgLi4uLz5cbi8vICAgPGFwcC1zZWxlY3QtaW5wdXQgY2xhc3M9XCJmaWx0ZXItc3R5bGVkXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVcIiAuLi4vPlxuLy9cbi8vIENvbWJpbmUgY29tIGBbd2lkdGhdPVwiJzxuPidcImAgcXVhbmRvIHByZWNpc2FyIGRlIGxhcmd1cmEgZml4YSAoZGVmYXVsdFxuLy8gdmlyYSBvIGNvbnRlw7pkbyBuYXR1cmFsIOKAlCBob3N0IMOpIGBkaXNwbGF5OiBibG9ja2ApLlxuLy9cbi8vIE5PVEEg4oCUIHZpZXcgZW5jYXBzdWxhdGlvbiAoYGZlZWRiYWNrX2FuZ3VsYXJfdmlld19lbmNhcHN1bGF0aW9uYCk6IGVzdGVcbi8vIGFycXVpdm8gw6kgR0xPQkFMIChpbXBvcnRhZG8gZW0gYF9jb3JlLnNjc3NgKS4gTsOjbyB0ZW50ZSByZXBsaWNhciBlc3Nhc1xuLy8gcmVncmFzIG5vIHNjb3BlZCBzY3NzIGRvIGNvbXBvbmVudGUgY29uc3VtaWRvcjsgbyBBbmd1bGFyIGRyb3BhXG4vLyBzaWxlbmNpb3NhbWVudGUgcmVncmFzIHF1ZSB0b2NhbSBpbnRlcm5vcyBkbyBNYXRlcmlhbC5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJWZpbHRlci1zdHlsZWQtYm94IHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgLy8gV3JhcHBlciBpbnRlcm5vIGdlcmFkbyBwZWxvIGFwcC10ZXh0LWlucHV0IChgZGl2Lm51bWVyaWMtaW5wdXRgKSBlIHBlbG9zXG4gIC8vIGFwcC1zZWxlY3QtaW5wdXQvLWZsYWcvLWxlIChgZGl2LnNlbGVjdC1pbnB1dGAvYGRpdi5zZWxlY3QtaW5wdXQtbGVgKS5cbiAgLy8gTyBgLnRpLWRlc2NyaXB0aW9uYCBtb3JhIERFTlRSTyBkZXNzZSB3cmFwcGVyIChpZ3VhbCBhbyBgZHQtZGVzY3JpcHRpb25gXG4gIC8vIGRlbnRybyBkbyBgLmRhdGVwaWNrZXItaW5wdXRgKSBwcmEgZXNjYXBhciBkbyBwYWRkaW5nIGRvIGAuY29sdW1uYCBCdWxtYVxuICAvLyBkbyBwYWkg4oCUIGVudMOjbyDDqSBvIFdSQVBQRVIgcXVlIGdhbmhhIGBwb3NpdGlvbjogcmVsYXRpdmVgLCBuw6NvIG8gaG9zdC5cbiAgPiAubnVtZXJpYy1pbnB1dCxcbiAgPiBkaXYuc2VsZWN0LWlucHV0LFxuICA+IGRpdi5zZWxlY3QtaW5wdXQtbGUsXG4gID4gZGl2IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBtYXQtZm9ybS1maWVsZCB7IHdpZHRoOiAxMDAlOyBtaW4td2lkdGg6IDA7IH1cblxuICAvLyBaZXJhIG8gY2hyb21lIGxlZ2FjeS9vdXRsaW5lIGRvIE1hdGVyaWFsIOKAlCB2YW1vcyBwaW50YXIgYSBjYWl4YSBuw7NzIG1lc21vcy5cbiAgLy8gRXNjb25kZSB0YW1iw6ltIG8gYC5tYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyYCAobyBtYXQtbGFiZWwgZmx1dHVhbnRlXG4gIC8vIGludGVybm8gZG8gTWF0ZXJpYWwpIOKAlCB1c2Ftb3MgbGFiZWwgRVNUUlVUVVJBTCBleHRlcm5vICgudGktZGVzY3JpcHRpb24pLlxuICAubWF0LWZvcm0tZmllbGQtd3JhcHBlciB7IG1hcmdpbjogMDsgcGFkZGluZzogMDsgbWluLXdpZHRoOiAwOyB9XG4gIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tYXQtZm9ybS1maWVsZC11bmRlcmxpbmUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1wbGFjZWhvbGRlci1yZXF1aXJlZCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8vIFN1YnNjcmlwdC13cmFwcGVyICjDoXJlYSBkZSBlcnJvL2hpbnQgZG8gTWF0ZXJpYWwpIOKAlCBwb3NpY2lvbmFkb1xuICAvLyBBQlNPTFVUTyBsb2dvIGFiYWl4byBkYSBjYWl4YSwgcHJhIG7Do28gZW1wdXJyYXIgbyBsYXlvdXQuIFPDsyBmaWNhXG4gIC8vIHZpc8OtdmVsIHF1YW5kbyBvIGZvcm0tZmllbGQgZXN0w6EgaW52w6FsaWRvIEUgdG91Y2hlZC9kaXJ0eSAoTWF0ZXJpYWxcbiAgLy8gasOhIGNvbnRyb2xhIGlzc28gdmlhIGBtYXQtZm9ybS1maWVsZC1pbnZhbGlkYCkuXG4gIC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAycHg7XG4gICAgcmlnaHQ6IDJweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAubWF0LWVycm9yIHtcbiAgICBjb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAvLyBFc2NvbmRlIG1hdC1oaW50IChpbmNsdWluZG8gbyBgP2AgZG8gYFtoZWxwXWApIG5hIMOhcmVhIGRlIHN1YnNjcmlwdCBwcmFcbiAgLy8gbsOjbyBzb2JyZXBvciBkaXZpZGVycyBlbnRyZSBzZcOnw7Vlcy4gTyBzdWJzY3JpcHQgQUJTT0xVVEUgZXhww7VlIHPDs1xuICAvLyBlcnJvcyDigJQgZmVlZGJhY2sgaW5mb3JtYXRpdm8gKGBbaGVscF1gKSBkZXZlIGlyIGVtIG91dHJvIGx1Z2FyLlxuICAubWF0LWZvcm0tZmllbGQtaGludC13cmFwcGVyLFxuICAubWF0LWhpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBMYWJlbCBFU1RSVVRVUkFMIGFjaW1hIGRhIGNhaXhhIOKAlCBtZXNtbyBwYWRyw6NvIGRvcyBkZW1haXMgcGlja2VycyBnbG9iYWlzXG4gIC8vIChgLmR0LWRlc2NyaXB0aW9uYCBubyBkYXRlcGlja2VyLCBgLm5pLWRlc2NyaXB0aW9uYCBubyBudW1iZXItaW5wdXQpLlxuICAvLyBSZW5kZXJpemFkbyBwZWxvIHRlbXBsYXRlIGRvIHdyYXBwZXIgKGA8bGFiZWwgKm5nSWY9XCJkZXNjcmlwdGlvblwiXG4gIC8vIGNsYXNzPVwidGktZGVzY3JpcHRpb25cIj5gKSBBTlRFUyBkbyBtYXQtZm9ybS1maWVsZC4gUG9zaWNpb25hbWVudG9cbiAgLy8gQUJTT0xVVE8gc29icmUgbyBob3N0IChxdWUgdGVtIGBwb3NpdGlvbjogcmVsYXRpdmVgKS5cbiAgLnRpLWRlc2NyaXB0aW9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDJweDtcbiAgICByaWdodDogMnB4O1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MzA7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87ICAgLy8gcGVybWl0ZSBvIGhvdmVyIOKGkiBtYXRUb29sdGlwIChhcHBPdmVyZmxvd1Rvb2x0aXApIG5vIGxhYmVsXG5cbiAgICAvLyBNYXJjYWRvciBkZSBjYW1wbyBvYnJpZ2F0w7NyaW8gKGA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLW1hcmtcIj4qPC9zcGFuPmApLlxuICAgIC8vIFZlcm1lbGhvIGluc3RpdHVjaW9uYWwgKyBtYXJnaW4tbGVmdCBtw61uaW1vIOKAlCBzZWd1ZSBjb252ZW7Dp8OjbyBkb1xuICAgIC8vIHNpc3RlbWEgKHVzYWRhIHRhbWLDqW0gZW0gYC5qZW1zLXNlbGVjdC1kZXNjcmlwdGlvbmApLlxuICAgIC5yZXF1aXJlZC1tYXJrIHtcbiAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAvLyBBIGNhaXhhIHZpc8OtdmVsIOKAlCBnZW9tZXRyaWEvdG9rZW5zIGlndWFpcyBhb3MgZGVtYWlzIHBpY2tlcnMgZG8gSkVNUzMuXG4gIC8vIGBtYXJnaW4tdG9wOiAxNnB4YCByZXNlcnZhIG8gZXNwYcOnbyBkbyBsYWJlbC1hY2ltYSAobGFiZWwgYWJzb2x1dG8gbm9cbiAgLy8gdG9wbyBkYSBgLm1hdC1mb3JtLWZpZWxkYCk7IG1lc21vIG9mZnNldCB1c2FkbyBwZWxvXG4gIC8vIGAuZHQtZGVzY3JpcHRpb24gKyBtYXQtZm9ybS1maWVsZGAgbm8gZGF0ZXBpY2tlciBlIHBlbG9cbiAgLy8gYC5uaS1kZXNjcmlwdGlvbiArIC5udW1iZXItaW5wdXQtYm94YCBubyBudW1iZXItaW5wdXQuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogJGNvbnRyb2wtaGVpZ2h0O1xuICAgIG1pbi1oZWlnaHQ6ICRjb250cm9sLWhlaWdodDtcbiAgICBtYXJnaW46IDE2cHggMCAwO1xuICAgIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgICAvLyBIb3Zlci9mb2NvIGluc3RhbnTDom5lb3Mg4oCUIHNlbSB0cmFuc2nDp8OjbyAoYSBwZWRpZG8gZG8gdXN1w6FyaW8pLlxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gUXVhbmRvIGjDoSBib3TDo28gZGUgY29waWFyIG5vIHN1ZmZpeCAoYGFwcC10ZXh0LWlucHV0IFtjb3B5VmFsdWVdYCksXG4gIC8vIHplcmEgbyBwYWRkaW5nLXJpZ2h0IHBybyBib3TDo28gZmljYXIgZmx1c2ggY29tIGEgYm9yZGEgZGlyZWl0YS5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aGFzKC50aS1jb3B5LWJ0bikge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tYXQtZm9ybS1maWVsZC1pbmZpeCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7ICAgICAgICAgICAgIC8vIGNlbnRyYWxpemEgbyBpbnB1dCB2ZXJ0aWNhbG1lbnRlIHZpYSBmbGV4XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1zZWxmOiBzdHJldGNoOyAgICAgICAvLyBvY3VwYSB0b2RhIGEgYWx0dXJhIGRvIGAubWF0LWZvcm0tZmllbGQtZmxleGBcbiAgfVxuXG4gIC8vIFByZWZpeC9zdWZmaXggY29tIGEgTUVTTUEgdGlwb2dyYWZpYS9iYXNlbGluZSBkbyBpbnB1dCDigJQgdmlzdWFsbWVudGVcbiAgLy8gY29udMOtbnVvcyAoZXguOiBwcmVmaXggY29tIGEgVVJMLWJhc2UsIGlucHV0IGNvbSBvIHNsdWcgZG8gZXZlbnRvKS5cbiAgLy8gbGluZS1oZWlnaHQgZml4byBpZMOqbnRpY28gYW8gZG8gaW5wdXQgKyBkaXNwbGF5OiBpbmxpbmUtZmxleCArIGNlbnRlclxuICAvLyBhbGlnbm1lbnQgZ2FyYW50ZW0gcXVlIHByZWZpeCBlIGlucHV0IGZpcXVlbSBubyBNRVNNTyBlaXhvIHZlcnRpY2FsXG4gIC8vIChzZW0gaXNzbywgbyBsZWdhY3kgYXBsaWNhIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSBjb20gdHJhbnNmb3JtXG4gIC8vIHByw7NwcmlvIGRvIHByZWZpeCwgcXVlIGRlc2FsaW5oYSBsZXZlbWVudGUpLlxuICAubWF0LWZvcm0tZmllbGQtcHJlZml4LFxuICAubWF0LWZvcm0tZmllbGQtc3VmZml4IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRjb250cm9sLWNvbnRlbnQtd2VpZ2h0O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICAvLyBUZXh0byBkbyBwcmVmaXgvc3VmZml4IHNlbGVjaW9uw6F2ZWwgY29tIGN1cnNvciBkZSB0ZXh0by4gTWF0ZXJpYWwgcG9yXG4gICAgLy8gZGVmYXVsdCB1c2EgYHVzZXItc2VsZWN0OiBub25lYCBlbSBwcmVmaXgvc3VmZml4IChlc3BlcmFuZG8gw61jb25lcyk7XG4gICAgLy8gYXF1aSBmb3LDp2Ftb3MgdGV4dG8tbGlrZSBwcmEgdXN1w6FyaW8gcG9kZXIgZGVzdGFjYXIgZSBjb3BpYXIgbyB0cmVjaG8uXG4gICAgdXNlci1zZWxlY3Q6IHRleHQ7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICB9XG5cbiAgLy8gSW5wdXQgY29tIGxpbmUtaGVpZ2h0IGZpeG8gaWTDqm50aWNvIGFvIHByZWZpeC9zdWZmaXguIGAhaW1wb3J0YW50YFxuICAvLyBwcmEgdmVuY2VyIG8gYG1hcmdpbi10b3A6IC0wLjA2MjVlbWAgZSBgdmVydGljYWwtYWxpZ246IGJvdHRvbWAgcXVlXG4gIC8vIG8gTWF0ZXJpYWwgbGVnYWN5IGFwbGljYSBubyBgLm1hdC1pbnB1dC1lbGVtZW50YCAocXVlIHRlbSBtZXNtYVxuICAvLyBlc3BlY2lmaWNpZGFkZSBxdWUgYSBub3NzYSByZWdyYSkuIFNlbSBhbHR1cmEgZml4YSBwcmEgZGVpeGFyIG8gZmxleFxuICAvLyBkbyBpbmZpeCBjZW50cmFsaXphciBvIGlucHV0LlxuICAubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogMCAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFRpcG9ncmFmaWEgZG8gSU5QVVQvU0VMRUNUIOKAlCBhbGluaGEgY29tIGAuY2hpcC1pbnB1dGAgZG8gZmlsdHJvXG4gIC8vICgxNC80MDAvLTAuMDFlbSkgdXNhZGEgbm9zIGRlbWFpcyBwcmVzZXRzIGRvIHNpc3RlbWEuXG4gIC5tYXQtaW5wdXQtZWxlbWVudCxcbiAgLm1hdC1zZWxlY3QtdmFsdWUtdGV4dCB7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogJGNvbnRyb2wtY29udGVudC13ZWlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gIH1cblxuICAubWF0LWZvcm0tZmllbGQtbGFiZWwge1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cblxuICAvLyBIb3Zlci9mb2NvIOKAlCBNRVNNQSBsaW5ndWFnZW0gZG8gYGFwcC1kYXRldGltZXBpY2tlci1pbnB1dC5maWx0ZXItc3R5bGVkYFxuICAvLyAoZSBkbyBgLmNoaXAtZXhwYW5kZWRgKTogaG92ZXIgZ2FuaGEgcmluZyAxcHggbmEgYm9yZGEtYWN0aXZlOyBmb2NvXG4gIC8vIG1hbnTDqW0gbyByaW5nIG1hcyB0cm9jYSBhIGNvciBwZWxvIGFjY2VudC5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gIH1cbiAgJi5tYXQtZm9jdXNlZCAubWF0LWZvcm0tZmllbGQtZmxleCxcbiAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4LFxuICAubWF0LWZvcm0tZmllbGQtZmxleDpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBFc3RhZG8gaW52w6FsaWRvIOKAlCBib3JkYSB2ZXJtZWxoYSAoc2VtIG8gXCJyaW5nXCIgZGUgZXJybyBncm9zc28gZG8gTWF0ZXJpYWwpLlxuICAubWF0LWZvcm0tZmllbGQtaW52YWxpZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gIH1cblxuICAvLyBFc3RhZG8gREVTQUJJTElUQURPIChleC46IHNlbGVjdCBkZSBmaWx0cm8gc2VtIG9ww6fDtWVzIHByYSBtb3N0cmFyKTogY2FpeGFcbiAgLy8gYXBlbmFzIGVzbWFlY2lkYS4gYHBvaW50ZXItZXZlbnRzOiBub25lYCBuYSBjYWl4YSDDqSBvIHB1bG8gZG8gZ2F0byDigJQgc2VtXG4gIC8vIGV2ZW50b3MgZGUgbW91c2UgbyBgOmhvdmVyYCBOVU5DQSBkaXNwYXJhLCBlbnTDo28gbyBzdWItYm90w6NvIGRvIGNoZXZyb24gbsOjb1xuICAvLyBcImFjZW5kZVwiLCBuw6NvIGFwYXJlY2UgY3Vyc29yIGJsb3F1ZWFkbyBlIG5lbmh1bSByZWFsY2UgZXNjYXBhLiBPIHNlbGVjdCBqw6FcbiAgLy8gZXN0w6EgZGVzYWJpbGl0YWRvIChuYWRhIHByYSBjbGljYXIpLCBlbnTDo28gemVyYXIgcG9pbnRlci1ldmVudHMgw6kgc2VndXJvLlxuICAvLyBPIE1hdGVyaWFsIG1hcmNhIG8gYG1hdC1mb3JtLWZpZWxkYCBjb20gYC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZGAuXG4gIC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgb3BhY2l0eTogMC41NTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLy8gTGFiZWwgZXNtYWVjaWRvIGp1bnRvIHF1YW5kbyBhIGNhaXhhIGVzdMOhIGRlc2FiaWxpdGFkYS4gTyBgLnRpLWRlc2NyaXB0aW9uYFxuICAvLyDDqSBpcm3Do28gQU5URVJJT1IgZG8gbWF0LWZvcm0tZmllbGQgKGZvcmEgZG8gYWxjYW5jZSBkZSBjb21iaW5hdG9yIGNvbXVtKSxcbiAgLy8gZW50w6NvIGRldGVjdGFtb3MgbyBlc3RhZG8gcGVsbyB3cmFwcGVyIGNvbSBgOmhhcygpYC5cbiAgPiBkaXY6aGFzKC5tYXQtZm9ybS1maWVsZC1kaXNhYmxlZCkgLnRpLWRlc2NyaXB0aW9uIHtcbiAgICBvcGFjaXR5OiAwLjU1O1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBWYXJpYW50OiB0ZXh0LWlucHV0IChpbnB1dCBzaW1wbGVzKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmFwcC10ZXh0LWlucHV0LmZpbHRlci1zdHlsZWQge1xuICBAZXh0ZW5kICVmaWx0ZXItc3R5bGVkLWJveDtcbn1cblxuLy8g4pSA4pSA4pSAIFZhcmlhbnQ6IGlucHV0LWZpbHRlci1hdXRvY29tcGxldGUgKGlucHV0ICsgbWF0LWF1dG9jb21wbGV0ZSkg4pSA4pSA4pSA4pSAXG4vLyBFc3RlbmRlIFRleHRJbnB1dENvbXBvbmVudCDigJQgaGVyZGEgYGRlc2NyaXB0aW9uYCBlIHZpc3VhbCBkZSBpbnB1dC5cbmFwcC1pbnB1dC1maWx0ZXItYXV0b2NvbXBsZXRlLmZpbHRlci1zdHlsZWQge1xuICBAZXh0ZW5kICVmaWx0ZXItc3R5bGVkLWJveDtcbn1cblxuLy8g4pSA4pSA4pSAIFZhcmlhbnQ6IG11bHRpbGluZS10ZXh0LWlucHV0ICh0ZXh0YXJlYSkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBEaWZlcmVudGUgZG9zIGRlbWFpczogYWx0dXJhIG7Do28tZml4YSAoY3Jlc2NlIGNvbSBgW3Jvd3NdYCkuIFJldXNhIGFcbi8vIGNhaXhhIGNocm9tZSBtYXMgbGliZXJhIGhlaWdodCBhdXRvL21pbi1oZWlnaHQuXG5hcHAtbXVsdGlsaW5lLXRleHQtaW5wdXQuZmlsdGVyLXN0eWxlZCB7XG4gIEBleHRlbmQgJWZpbHRlci1zdHlsZWQtYm94O1xuXG4gIC8vIFdyYXBwZXIgbG9jYWwgZXNwZWPDrWZpY28gZG8gbXVsdGlsaW5lIChgZGl2Lm11bHRpbGluZS10ZXh0LWlucHV0YCkuXG4gID4gLm11bHRpbGluZS10ZXh0LWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAvLyBCb3ggYWJyYcOnYSBvIHRleHRhcmVhIOKAlCBzZW0gYWx0dXJhIGZpeGEgbmVtIG1pbi1oZWlnaHQgcHLDs3ByaW8gKG8gbWluIMOpXG4gIC8vIGRvIHRleHRhcmVhKTsgcGFkZGluZyB2ZXJ0aWNhbCBtYW50w6ltIG8gcmVzcGlybyBpbnRlcm5vLiBgbWFyZ2luOiAwYFxuICAvLyBzb2JyZXNjcmV2ZSBvIGBtYXJnaW46IDE2cHggMCAwYCBoZXJkYWRvIGRvIGJhc2UgcHJlc2V0IChxdWUgcmVzZXJ2YXJpYVxuICAvLyBlc3Bhw6dvIHBybyBsYWJlbC1hY2ltYSBhYnNvbHV0byDigJQgbsOjbyB1c2FkbyBubyBtdWx0aWxpbmUgcGFkcsOjbykuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBRdWFuZG8gSMOBIGRlc2NyaXB0aW9uIGxhYmVsIChgLnRpLWRlc2NyaXB0aW9uYCksIHJlc3RhdXJhIGEgcmVzZXJ2YSBkZVxuICAvLyAxNnB4IG5vIHRvcG8gcHJhIHF1ZSBvIGxhYmVsIGFic29sdXRvIG7Do28gZmlxdWUgc29icmVwb3N0byBhbyB0ZXh0YXJlYS5cbiAgJjpoYXMoPiAubXVsdGlsaW5lLXRleHQtaW5wdXQgPiAudGktZGVzY3JpcHRpb24pIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBPdmVycmlkZSBkbyBpbmZpeC1mbGV4IGhlcmRhZG8gZG8gYmFzZSBwcmVzZXQgKG5lY2Vzc8OhcmlvIHBybyBhbGluaGFtZW50b1xuICAvLyBwcmVmaXgraW5wdXQgbm8gdGV4dC1pbnB1dCkuIFBybyBtdWx0aWxpbmUsIHRleHRhcmVhIMOpIG8gw7puaWNvIGZpbGhvIGVcbiAgLy8gcXVlcmVtb3MgcXVlIGVsZSBcImZpcXVlIGNvbGFkb1wiIG5vIHRvcG8gZG8gYm94LCBzZW0gY2VudHJhbGl6YcOnw6NvIG91XG4gIC8vIHN0cmV0Y2ggcXVlIGNyaWEgZ2FwIGFjaW1hIGRvIHRleHRvLlxuICAubWF0LWZvcm0tZmllbGQtaW5maXgge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGFsaWduLXNlbGY6IGF1dG87XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gVGV4dGFyZWEgYXV0by1jcmVzY2UgdmlhIGBjZGtUZXh0YXJlYUF1dG9zaXplYCDigJQgYHJlc2l6ZTogbm9uZWAgZGVzbGlnYVxuICAvLyBvIGhhbmRsZSBtYW51YWwgZG8gYnJvd3NlciAoQ0RLIGFqdXN0YSBzb3ppbmhvIGFvIGNvbnRlw7pkbykuIGBvdmVyZmxvdzpcbiAgLy8gaGlkZGVuYCBpbXBlZGUgc2Nyb2xsYmFyIOKAlCBhIGNhaXhhIFNFTVBSRSBtb3N0cmEgdG9kbyBvIHRleHRvLlxuICAvLyBBIGFsdHVyYSBNw41OSU1BIMOpIGNvbnRyb2xhZGEgcGVsbyBgW2Nka0F1dG9zaXplTWluUm93c11gIG5vIHRlbXBsYXRlXG4gIC8vIChjb25zdW1pZG9yZXMgcGFzc2FtIGByb3dzPVwiTlwiYCkg4oCUIE7Dg08gdXNhciBDU1MgYG1pbi1oZWlnaHRgIGFxdWlcbiAgLy8gKGNhdXNhIGRvdWJsZS1taW4gY29tIG8gQ0RLIGUgYSBjYWl4YSBjcmVzY2UgZXJyYWRvKS5cbiAgdGV4dGFyZWEubWF0LWlucHV0LWVsZW1lbnQge1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAgICAgICAvLyBDREsgYXV0b3NpemUgbWVkZSBlbSBjb250ZW50LWJveDsgc2VtIGlzdG8gYm9yZGErcGFkZGluZyBwb2RlbSBjbGlwYXJcbiAgICAvLyBsaW5lLWhlaWdodCBleHBsw61jaXRvICgxLjUgPSBlc3Bhw6dhbWVudG8gcmVzcGlyw6F2ZWwgZGUgbGVpdHVyYSkg4oCUXG4gICAgLy8gYG5vcm1hbGAgY2F1c2EgbyBgY2RrVGV4dGFyZWFBdXRvc2l6ZWAgYSBzdWItbWVkaXIgbyBzY3JvbGxIZWlnaHRcbiAgICAvLyAoYnJvd3NlcnMgcmV0b3JuYW0gdW0gdmFsb3IgcXVlIGRpZmVyZSBhbGd1bnMgcHggZG8gYWx0dXJhIHJlYWwsXG4gICAgLy8gY2xpcGFuZG8gYSDDumx0aW1hIGxpbmhhKS4gVmFsb3IgbnVtw6lyaWNvIMOpIGRldGVybWluw61zdGljby5cbiAgICAvLyBgIWltcG9ydGFudGAgc29icmVzY3JldmUgbyBgbGluZS1oZWlnaHQ6IDFgIGRvIGJhc2UgcHJlc2V0IChxdWUgw6lcbiAgICAvLyBwcm8gYWxpbmhhbWVudG8gcHJlZml4K2lucHV0IG5vIGlubGluZSBpbnB1dCkuXG4gICAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xuICAgIC8vIFBhZGRpbmctYm90dG9tIDJweCA9IGJ1ZmZlciBwcmEgY29icmlyIGFycmVkb25kYW1lbnRvcyBkbyBhdXRvc2l6ZVxuICAgIC8vIHF1ZSBhaW5kYSBhc3NpbSBjb3J0YW0gYSDDumx0aW1hIGxpbmhhIGVtIGFsZ3VucyBicm93c2Vycy9mb250ZXMuXG4gICAgcGFkZGluZzogMCAwIDJweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIOKUgOKUgOKUgCBWYXJpYW50OiBzZWxlY3QtaW5wdXQgKGNvbWJvIGJveCkgZSB2YXJpYW50ZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBSZWZpbmFkbyAyMDI2LTA2IHByYSBwdXhhciBsaW5ndWFnZW0gTkFUSVZBIGRlIHNlbGVjdCBkbyBtYWNPUy9XaW5kb3dzOlxuLy8gICAxLiBCZyBkYSBjYWl4YSBtYWlzIFNVVElMIChzZW1pLXRyYW5zcGFyZW50ZSwgZXN0aWxvIE5TUG9wVXBCdXR0b24pLlxuLy8gICAyLiBDaGV2cm9uIERVUExPICjih4UgdXArZG93bikgY29tbyBubyBtYWNPUy5cbi8vICAgMy4gU1VCLUJPVMODTyB2aXN1YWwgw6AgZGlyZWl0YSAobGV2ZSBiZyArIGJvcmRlci1sZWZ0KSBjb21vIFdpbmRvd3MuXG4vLyAgIDQuIEVzdGFkb3MgZGUgZm9jby9ob3ZlciBwZXJtYW5lY2VtIGludGFjdG9zIChhY2NlbnQpIOKAlCBzw7MgbyByZXN0byBtdWRhLlxuYXBwLXNlbGVjdC1pbnB1dC5maWx0ZXItc3R5bGVkLFxuYXBwLXNlbGVjdC1pbnB1dC1mbGFnLmZpbHRlci1zdHlsZWQsXG5hcHAtc2VsZWN0LWlucHV0LWxlLmZpbHRlci1zdHlsZWQge1xuICBAZXh0ZW5kICVmaWx0ZXItc3R5bGVkLWJveDtcblxuICAvLyAxKSBCZyBzZW1pLXRyYW5zcGFyZW50ZSBzb2JyZSBvIGNhbnZhcyDigJQgZmx1dHVhIHN1dGlsLCBlc3RpbG8gbWFjT1MuXG4gIC8vICAgIE1hbnTDqW0gbGVnaWJpbGlkYWRlIGRvIHRleHRvIChib3JkYSBjb250aW51YSBkZWZpbmluZG8gbyBib3gpLlxuICAvLyAgICDimqAgTsODTyBzb2JyZXNjcmV2ZXIgYGRpc3BsYXlgL2BhbGlnbi1pdGVtc2AgZG8gYC5tYXQtc2VsZWN0LXZhbHVlYCBvdVxuICAvLyAgICBgLm1hdC1zZWxlY3QtdHJpZ2dlcmAg4oCUIE1hdGVyaWFsIGxlZ2FjeSB1c2EgYGRpc3BsYXk6IHRhYmxlLWNlbGxgIG5vXG4gIC8vICAgIHZhbHVlOyB0cm9jYXIgcC8gZmxleCBmYXogbyB0ZXh0byBzdW1pci5cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXgge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Mik7XG4gIH1cblxuICAvLyBNYXRlcmlhbCAxMSB1c2EgYGRpc3BsYXk6IGlubGluZS10YWJsZWAgbm8gYC5tYXQtc2VsZWN0LXRyaWdnZXJgIChjb21cbiAgLy8gdmFsdWUvYXJyb3cgY29tbyB0YWJsZS1jZWxscykuIElzc28gaW1wZWRlIG8gd3JhcHBlciBkbyBhcnJvdyBkZVxuICAvLyByZXNwZWl0YXIgYGFsaWduLXNlbGZgIGUgdHJhdmEgYSBhbHR1cmEgZGEgcm93IG5hIGRvIHRleHRvLiBGb3LDp2Ftb3NcbiAgLy8gRkxFWCBubyB0cmlnZ2VyIGUgYGRpc3BsYXk6IGJsb2NrOyBmbGV4OiAxIDEgYXV0b2Agbm8gdmFsdWUgcHJhXG4gIC8vIHByZXNlcnZhciBvIHJlbmRlcmluZyBkbyB0ZXh0byAoZWxsaXBzaXMpIOKAlCBzZW0gcXVlYnJhciBvXG4gIC8vIGA8bWF0LXNlbGVjdC12YWx1ZS10ZXh0PmAsIHF1ZSBlcmEgbyBtb3Rpdm8gb3JpZ2luYWwgZGUgbWFudGVyIG9cbiAgLy8gZGlzcGxheTogdGFibGUtY2VsbCBubyB2YWx1ZS5cbiAgLm1hdC1zZWxlY3QtdHJpZ2dlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5tYXQtc2VsZWN0LXZhbHVlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgLy8gMykgU3ViLWJvdMOjbyBkbyBjaGV2cm9uIOKAlCBRVUFEUkFETyBjb20gY2FudG9zIDRweCAoaWTDqm50aWNvIGFvXG4gIC8vICAgIGBhcHAtamVtcy1zZWxlY3RgKS4gQmcgdmlhIHRva2VuIGAkc3VyZmFjZS1yYWlzZWRgIChoYXJtb25pemEgY29tXG4gIC8vICAgIG8gcmVzdG8gZG8gY2hhaXIgVUkpLiBNYXJnZW0gbmVnYXRpdmEgOHB4IHB1eGEgbyBzdWItYm90w6NvIHByYVxuICAvLyAgICB+MnB4IGRhIGJvcmRhIGRpcmVpdGEgZG8gYm94IChwYWRkaW5nLXJpZ2h0IGRvIGZsZXggw6kgMTBweCkuXG4gIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1yaWdodDogLThweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7ICAgLy8gbWVzbWEgY29yIGRhIGJvcmRhIGRhIGNhaXhhOyBlc3TDoXRpY2FcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7ICAgICAgICAgICAgICAgICAgICAvLyBcInNvbWVcIiBuYSBjYWl4YTsgaG92ZXIgZGEgY2FpeGEgcHJlZW5jaGVcbiAgICAvLyBaZXJhIGxpbmUtaGVpZ2h0ICsgdHJhbnNmb3JtIGhlcmRhZG9zIGRvIE1hdGVyaWFsIOKAlCBldml0YSBvZmZzZXRcbiAgICAvLyB2ZXJ0aWNhbCBmYW50YXNtYSBkZW50cm8gZG8gY8OtcmN1bG8uXG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC8vIEhvdmVyIGRhIENBSVhBIEUgbWVudSBhYmVydG8gKG1hdC1mb2N1c2VkIOKGkiBtYXQtc2VsZWN0IGNvbSBwYWluZWwgYWJlcnRvKVxuICAvLyDihpIgc3ViLWJvdMOjbyBnYW5oYSBmaWxsIGRvIHRva2VuIGUgbyBjaGV2cm9uIFwiYWNlbmRlXCIgKGNvciBtYWlzIGVzY3VyYS9jbGFyYSkuXG4gIC5tYXQtZm9ybS1maWVsZC1mbGV4OmhvdmVyIC5tYXQtc2VsZWN0LWFycm93LXdyYXBwZXIsXG4gIC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmc7XG4gIH1cbiAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1zZWxlY3QtYXJyb3csXG4gIC5tYXQtZm9jdXNlZCAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyO1xuICB9XG5cbiAgLy8gMikgQ2hldnJvbiBEVVBMTyAodXArZG93bikg4oCUIFNGIFN5bWJvbCBgY2hldnJvbi51cC5jaGV2cm9uLmRvd25gIGVtXG4gIC8vICAgIHBlc28gYC5tZWRpdW1gLiBDb3IgdmlhIGBVSUNvbG9yLnNlY29uZGFyeUxhYmVsYCBkYSBBcHBsZVxuICAvLyAgICAobGlnaHQ6IHJnYmEoNjAsNjAsNjcsMC42MCkgLyBkYXJrOiByZ2JhKDIzNSwyMzUsMjQ1LDAuNjApKS5cbiAgLy8gICAgVGFtYW5obyB+MTDDlzEycHQgbWVkaWRvIGVtIHByaW50cyBkbyBTeXN0ZW0gU2V0dGluZ3MuXG4gIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQ7XG4gICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIC8vIE1hdGVyaWFsIGFwbGljYSBgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNSUpYCBubyBhcnJvdyBwLyBjb21wZW5zYXJcbiAgICAvLyBvIHRyacOibmd1bG8gQ1NTLWJvcmRlciBvcmlnaW5hbC4gQ29tbyB1c2Ftb3MgU1ZHIG1hc2ssIG8gdHJhbnNmb3JtXG4gICAgLy8gc8OzIGRlc2NlbnRyYWxpemEg4oCUIHplcmFtb3MuXG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIC13ZWJraXQtbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PScxMicgdmlld0JveD0nMCAwIDEwIDEyJz48cGF0aCBkPSdNMiA0IEw1IDEgTDggNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjxwYXRoIGQ9J00yIDggTDUgMTEgTDggOCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICAgICAgICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTAnIGhlaWdodD0nMTInIHZpZXdCb3g9JzAgMCAxMCAxMic+PHBhdGggZD0nTTIgNCBMNSAxIEw4IDQnIGZpbGw9J25vbmUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48cGF0aCBkPSdNMiA4IEw1IDExIEw4IDgnIGZpbGw9J25vbmUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gIH1cbn1cblxuLmRhcmstdGhlbWUge1xuICBhcHAtc2VsZWN0LWlucHV0LmZpbHRlci1zdHlsZWQsXG4gIGFwcC1zZWxlY3QtaW5wdXQtZmxhZy5maWx0ZXItc3R5bGVkLFxuICBhcHAtc2VsZWN0LWlucHV0LWxlLmZpbHRlci1zdHlsZWQge1xuICAgIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSk7ICAgLy8gc3V0aWwgZW0gZGFya1xuICAgIH1cbiAgICAubWF0LXNlbGVjdC1hcnJvdy13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgICB9XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlcixcbiAgICAubWF0LWZvY3VzZWQgLm1hdC1zZWxlY3QtYXJyb3ctd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1jb250YWluZXItYmctZGFyaztcbiAgICB9XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIgLm1hdC1zZWxlY3QtYXJyb3csXG4gICAgLm1hdC1mb2N1c2VkIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3Zlci1kYXJrO1xuICAgIH1cbiAgICAubWF0LXNlbGVjdC1hcnJvdyB7XG4gICAgICBjb2xvcjogJGljb24tbXV0ZWQtZGFyaztcbiAgICB9XG4gIH1cbn1cblxuLy8gQnVsbWEgYC5jb2x1bW5gIGRlZmF1bHQgdGVtIGBwYWRkaW5nOiAwLjc1cmVtYCAoMTJweCkuIFByb3Mgd3JhcHBlcnNcbi8vIGRlIGZvcm11bMOhcmlvIGRvIEpFTVMzIHJlZHV6aW1vcyBwcmEgNnB4IOKGkiBncmFkZSBtYWlzIGNvbXBhY3RhLCBjb21cbi8vIG1lbm9zIFwiYXJcIiBlbnRyZSBhcyBjYWl4YXMuIFZhbGUgdGFudG8gcHJvcyB3cmFwcGVycyBjb20gYC5maWx0ZXItc3R5bGVkYFxuLy8gcXVhbnRvIHByb3MgcXVlIHVzYW0gYFt3aWR0aF1gIChudW1iZXItaW5wdXQsIGRhdGV0aW1lcGlja2VyKS5cbmFwcC10ZXh0LWlucHV0LmNvbHVtbixcbmFwcC1zZWxlY3QtaW5wdXQuY29sdW1uLFxuYXBwLXNlbGVjdC1pbnB1dC1mbGFnLmNvbHVtbixcbmFwcC1zZWxlY3QtaW5wdXQtbGUuY29sdW1uLFxuYXBwLWlucHV0LWZpbHRlci1hdXRvY29tcGxldGUuY29sdW1uLFxuYXBwLW11bHRpbGluZS10ZXh0LWlucHV0LmNvbHVtbixcbmFwcC1udW1iZXItaW5wdXQuY29sdW1uLFxuYXBwLWRhdGV0aW1lcGlja2VyLWlucHV0LmNvbHVtbixcbmFwcC1qZW1zLXNlbGVjdC5jb2x1bW4ge1xuICBwYWRkaW5nOiA2cHg7XG59XG5cbi8vIE1vYmlsZSAo4omkNzY4cHgpOiBmb3LDp2Egb3Mgd3JhcHBlcnMgSkVNUzMgYSBzZSBjb21wb3J0YXJlbSBjb21vXG4vLyBibG9jayAxMDAlIHdpZHRoLCB2ZW5jZW5kbyBvIGBkaXNwbGF5OiBpbmxpbmUtZmxleGAgaGVyZGFkbyBkbyBwcmVzZXRcbi8vIChxdWUgdGVtIG1haW9yIGVzcGVjaWZpY2lkYWRlIHF1ZSBvIGAuY29sdW1uIHsgZGlzcGxheTogYmxvY2sgfWAgQnVsbWFcbi8vIG5vIG1vYmlsZSkuIFNlbSBpc3NvLCBvcyBjYW1wb3MgbsOjbyBjb2xhcHNhbSBwcmEgdmVydGljYWwgbm8gY2VsdWxhci5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gIGFwcC10ZXh0LWlucHV0LmNvbHVtbixcbiAgYXBwLXNlbGVjdC1pbnB1dC5jb2x1bW4sXG4gIGFwcC1zZWxlY3QtaW5wdXQtZmxhZy5jb2x1bW4sXG4gIGFwcC1zZWxlY3QtaW5wdXQtbGUuY29sdW1uLFxuICBhcHAtaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZS5jb2x1bW4sXG4gIGFwcC1tdWx0aWxpbmUtdGV4dC1pbnB1dC5jb2x1bW4sXG4gIGFwcC1udW1iZXItaW5wdXQuY29sdW1uLFxuICBhcHAtZGF0ZXRpbWVwaWNrZXItaW5wdXQuY29sdW1uLFxuICBhcHAtamVtcy1zZWxlY3QuY29sdW1uIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gT3ZlcmxheXMgZG9zIGRyb3Bkb3ducyAobWF0LXNlbGVjdCwgbWF0LWF1dG9jb21wbGV0ZSwgZGF0ZXBpY2tlcikg4oCUXG4vLyByZW5kZXJpemFkb3MgZm9yYSBkbyBob3N0IHBlbG8gQ0RLIE92ZXJsYXksIHBvcnRhbnRvIGEgcmVncmEgw6kgR0xPQkFMXG4vLyAobsOjbyBwb2RlIHNlciBzY29wZWFkYSBwZWxvIGhvc3QpLiAxcHggZGUgcmVzcGlybyBlbnRyZSBhIGJvcmRhIGluZmVyaW9yXG4vLyBkYSBjYWl4YSBlIG8gdG9wbyBkbyBwYWluZWwsIHByYSBuw6NvIHBhcmVjZXIgXCJjb2xhZG9cIiBubyBpbnB1dC5cbi5tYXQtc2VsZWN0LXBhbmVsLFxuLm1hdC1hdXRvY29tcGxldGUtcGFuZWwsXG4ubWF0LWRhdGVwaWNrZXItY29udGVudCB7XG4gIG1hcmdpbi10b3A6IDFweDtcbn1cblxuLy8gQ2FsZW5kw6FyaW8gZG8gZGF0ZXBpY2tlcjogcXVhbmRvIG8gQ0RLIHBvc2ljaW9uYSBBQ0lNQSAoc2VtIGVzcGHDp29cbi8vIGVtYmFpeG8pLCBvIGBtYXJnaW4tdG9wYCBhY2ltYSDDqSBpcnJlbGV2YW50ZSDigJQgc8OzIGBtYXJnaW4tYm90dG9tYCBjcmlhXG4vLyBvIHJlc3Bpcm8gZW50cmUgYSBib3JkYSBpbmZlcmlvciBkbyBjYWxlbmTDoXJpbyBlIGEgc3VwZXJpb3IgZGEgY2FpeGEuXG4vLyAycHggKGEgcGVkaWRvIGRvIHVzdcOhcmlvKSDigJQgYG1hcmdpbi10b3A6IDFweGAgY29udGludWEgYXBsaWNhZG8gcHJhXG4vLyBhYmVydHVyYSBwYWRyw6NvIChwcmEgYmFpeG8pLlxuLm1hdC1kYXRlcGlja2VyLWNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG59XG5cbi8vIG1hdC1hdXRvY29tcGxldGUgYWJlcnRvIEFDSU1BIGRvIGNhbXBvOiBvIENESyBww7VlIGEgY2xhc3NlIGBtYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWFib3ZlYFxuLy8gbm8gYC5jZGstb3ZlcmxheS1wYW5lYC4gQcOtIGEgYm9yZGEgSU5GRVJJT1IgZG8gcGFpbmVsIGVuY29zdGEgbm8gdG9wbyBkYSBjYWl4YSBlIGNvYnJlIGFcbi8vIGJvcmRhIGF6dWwgZG8gaW5wdXQuIGBtYXJnaW4tYm90dG9tOiAxcHhgIGFmYXN0YSBvIHBhaW5lbCAxcHggcHJhIGNpbWEsIHJldmVsYW5kbyBvIGF6dWxcbi8vIChvIGBtYXJnaW4tdG9wOiAxcHhgIGdsb2JhbCBzw7MgdmFsZSBwcmEgYWJlcnR1cmEgcHJhIGJhaXhvKS4gRXNjb3BvIG5hIGJ1c2NhIGRlIHVzdcOhcmlvcy5cbi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLWFib3ZlIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLnVzZXItc2VhcmNoLWF1dG9jb21wbGV0ZSB7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbn1cblxuLy8gQ2hyb21lIGRvcyBwYWluw6lpcyBkZSBkcm9wZG93biAobWF0LXNlbGVjdCAvIG1hdC1hdXRvY29tcGxldGUpIHZlbSBkb1xuLy8gcHJlc2V0IGNvbXBhcnRpbGhhZG8gYC5qZW1zMy1zZWxlY3QtcGFuZWxgIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgLiBPc1xuLy8gd3JhcHBlcnMgYC5maWx0ZXItc3R5bGVkYCAoYXBwLXNlbGVjdC1pbnB1dCwgLWZsYWcsIC1sZSkgYXBsaWNhbSBlc3NlXG4vLyBwYW5lbENsYXNzIGF1dG9tYXRpY2FtZW50ZSB2aWEgbmdPbkluaXQg4oCUIG8gY29uc3VtZXIgbsOjbyBwcmVjaXNhIHBhc3NhclxuLy8gbmFkYS4gQXF1aSBOw4NPIHJlZGVmaW5pbW9zIGdsb2JhbG1lbnRlIGAubWF0LXNlbGVjdC1wYW5lbGAgcG9ycXVlIGlzc29cbi8vIGFmZXRhIG1lbnVzIGZvcmEgZG8gcGFkcsOjbyBKRU1TMyAoQW5ndWxhciBNYXRlcmlhbCBwdXJvcywgY2hpcC1tZW51cyBldGMuKS5cblxuLy8gRGFyayB0aGVtZSDigJQgcGFyZWlhIG9zIHRva2VucyAqLWRhcmsgZGUgY2FkYSBwcm9wcmllZGFkZSBwaW50YWRhLlxuLmRhcmstdGhlbWUge1xuICBhcHAtdGV4dC1pbnB1dC5maWx0ZXItc3R5bGVkLFxuICBhcHAtc2VsZWN0LWlucHV0LmZpbHRlci1zdHlsZWQsXG4gIGFwcC1zZWxlY3QtaW5wdXQtZmxhZy5maWx0ZXItc3R5bGVkLFxuICBhcHAtc2VsZWN0LWlucHV0LWxlLmZpbHRlci1zdHlsZWQsXG4gIGFwcC1pbnB1dC1maWx0ZXItYXV0b2NvbXBsZXRlLmZpbHRlci1zdHlsZWQsXG4gIGFwcC1tdWx0aWxpbmUtdGV4dC1pbnB1dC5maWx0ZXItc3R5bGVkIHtcbiAgICAubWF0LWZvcm0tZmllbGQtZmxleCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgICB9XG4gICAgLm1hdC1mb3JtLWZpZWxkLWZsZXg6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICAgIH1cbiAgICAubWF0LWlucHV0LWVsZW1lbnQsXG4gICAgLm1hdC1zZWxlY3QtdmFsdWUtdGV4dCB7XG4gICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICB9XG4gICAgLnRpLWRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgfVxuICAgIC5tYXQtc2VsZWN0LWFycm93IHtcbiAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gICAgfVxuICAgICYubWF0LWZvY3VzZWQgLm1hdC1mb3JtLWZpZWxkLWZsZXgsXG4gICAgLm1hdC1mb3JtLWZpZWxkLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1mbGV4IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgfVxuICB9XG59XG5cbi8vIOKUgOKUgCBhcHAtdXNlci1zZWFyY2ggZW0gT1ZFUkxBWSAocG9wb3Zlci9kacOhbG9nbyk6IGNvbnTDqW0gbyBoaW50IG5hIGNhaXhhIOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gTyBgYXBwLXVzZXItc2VhcmNoYCBww7VlIG8gYC5tYXQtZm9ybS1maWVsZC1zdWJzY3JpcHQtd3JhcHBlcmAgZW1cbi8vIGBwb3NpdGlvbjogYWJzb2x1dGVgIChzZW0gdG9wL2xlZnQpIHByYSBhIMOhcmVhIGRlIGhpbnQgbsOjbyBkZXNhbGluaGFyIHZpemluaG9zXG4vLyBpbmxpbmUgKGFsaWduLWl0ZW1zOmNlbnRlcikgbm9zIEZPUk1VTMOBUklPUyBkZSBww6FnaW5hLiBNYXMgbnVtIG92ZXJsYXkgZmx1dHVhbnRlXG4vLyBvIHdyYXBwZXIgYWJzb2x1dGUgcG91c2EgRk9SQSBkYSBjYWl4YSDigJQgbyBoaW50IFwiTmVuaHVtIHVzdcOhcmlvIGVuY29udHJhZG9cIlxuLy8gYXBhcmVjaWEgc29sdG8gYWJhaXhvIGRvIHBvcG92ZXIuIENvbW8gb3MgdXNvcyBpbmxpbmUgY29tIGFsaW5oYW1lbnRvIHZpdmVtIGVtXG4vLyBww6FnaW5hcyAobsOjbyBlbSBvdmVybGF5cyksIGRldm9sdmVtb3MgbyBzdWJzY3JpcHQgYW8gZmx1eG8gR0xPQkFMTUVOVEUgcC8gdG9kb1xuLy8gdXNlci1zZWFyY2ggZGVudHJvIGRlIGAuY2RrLW92ZXJsYXktcGFuZWAuIFNvbHXDp8OjbyDDum5pY2EgKHNlbSBmaXhlcyBwb3IgcMOhZ2luYSk6XG4vLyBzdWJzdGl0dWkgb3MgcGF0Y2hlcyBwb250dWFpcyB0aXBvIGAucmVjaXBpZW50LXNlYXJjaC1wb3BvdmVyYC5cbi5jZGstb3ZlcmxheS1wYW5lIGFwcC11c2VyLXNlYXJjaCAubWF0LWZvcm0tZmllbGQtc3Vic2NyaXB0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbi5jZGstb3ZlcmxheS1wYW5lIGFwcC11c2VyLXNlYXJjaCAubWF0LWhpbnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNHB4O1xuICBwYWRkaW5nOiAwIDRweDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHN1Ym1pc3Npb24gYW5kIHJldmlldy5cbiRzdWJtaXNzaW9uLWJnOiByZ2JhKDAsIDAsIDAsIC4xKTtcbiRyZXZpZXctYmc6IHJnYmEoMCwgMCwgMCwgLjEpO1xuXG4vLy9cbi8vIENsYXNzIGRlZmluaXRpb25zIGZvciBzdWJtaXNzaW9uIGFuZCByZXZpZXcgc3RhdHVzLCBjb25zaWRlcmluZyBvcHRpb25hbCBiYWNrZ3JvdW5kLWZpbGwgYW5kIGxpbmtzLlxuLy8vXG5cbi5wYXBlckJhY2tncm91bmQgeyAvLyBDbGFzcyBmb3IgdG9nZ2xpbmcgYmFja2dyb3VuZCBPTiBhbmQgT0ZGLlxuICAvLyBDb3IgYmFzZSBkbyB0ZXh0byBubyBDT05UQUlORVIgKGhlcmRhZGEpLCBuw6NvIGRpcmV0byBub3Mgc3BhbnMvc21hbGxzLiBBbnRlc1xuICAvLyBgc3Bhbjpub3QoLm1hdC1idXR0b24td3JhcHBlciksIHNtYWxsIHsgY29sb3I6ICRibGFjay0xMDAwIH1gIGZvcsOnYXZhICMwMzAzMDMgZW0gVE9ET1xuICAvLyBzcGFuL3NtYWxsIGludGVybm8gZSBBVFJPUEVMQVZBIGEgY29yIHByw7NwcmlhIGRlIGNvbXBvbmVudGVzIChleC46IGFwcC1maWxlLXBpbGwsXG4gIC8vIGRlc2NyacOnw6NvKS4gQ29tbyBjb3IgaGVyZGFkYSwgZWxlbWVudG9zIHNlbSBjb3IgcHLDs3ByaWEgcGVnYW0gYSBiYXNlOyBjb21wb25lbnRlc1xuICAvLyBtYW50w6ptIGEgZGVsZXMuIFZhbG9yID0gIzM3MzczNCAoY29yIGJhc2UgZGUgdGV4dG8gZG8gc2lzdGVtYSksIG7Do28gbyAjMDMwMzAzIGFudGVyaW9yLlxuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cbiAgYSwgLmZhLWZpbGUtcGRmLCAuZmEtdXBsb2FkIHtcbiAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBEYXJrOiB0cm9jYSBwcm8gYWNjZW50LWRhcmsgKGFtYmVyLTQwMCkuIFBhZHLDo28gZGUgdG9kYSBjaGFpciBVSTpcbiAgLy8gYWNjZW50IG11ZGEgZW50cmUgdGVtYXMuIGAhaW1wb3J0YW50YCBuZWNlc3PDoXJpbyBwcmEgdmVuY2VyIGFzIHJlZ3Jhc1xuICAvLyBsaWdodCBhY2ltYSAodGFtYsOpbSBjb20gYCFpbXBvcnRhbnRgKS5cbiAgLmRhcmstdGhlbWUgJiB7XG4gICAgYSwgLmZhLWZpbGUtcGRmLCAuZmEtdXBsb2FkIHtcbiAgICAgIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN1Ym1pc3Npb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJtaXNzaW9uLWJnO1xuICB9XG5cbiAgLnJldmlldyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJldmlldy1iZztcbiAgfVxuXG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAvLyBwYWRkaW5nOiA0cHggMTBweCAhaW1wb3J0YW50O1xuICBjb2xvcjogJGNvbnRlbnQtY29sb3I7XG5cbiAgQG1peGluIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRzdGF0dXMtbGlzdCkge1xuICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAmLiN7JHN0YXR1c30sICYuI3skc3RhdHVzfS5wYXBlci1zdGF0dXMge1xuLy8gICAgICAgIGEge1xuLy8gICAgICAgICAgY29sb3I6ICN7bnRoKCRjb250ZW50LCAyKX0gIWltcG9ydGFudDtcbi8vICAgICAgICB9XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI3tudGgoJGNvbnRlbnQsIDEpfSAhaW1wb3J0YW50O1xuXG4gICAgICAgIC5tYXQtaWNvbi5zdGF0dXMtaWNvbiB7XG4gICAgICAgICAgY29sb3I6ICN7bnRoKCRjb250ZW50LCAzKX0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc3VibWlzc2lvbiB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHN1Ym1pc3Npb24tc3RhdHVzKTtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkcHVibGljYXRpb24tc3RhdHVzKTtcbiAgfVxuXG4gIC8vIFRhZyBkZSByZXZpc8OjbzogZnVuZG8gQ0xBUk8gKGxpZ2h0ZW4gZGEgY29yIGRvIHN0YXR1cykgKyBib3JkYSBFU0NVUkFcbiAgLy8gZG8gbWVzbW8gdG9tIChkYXJrZW4pLiBTb2JyZXNjcmV2ZSBvIGJnIGNoZWlvIGRvIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kXG4gIC8vIHPDsyBubyBjaGlwICgucGFwZXItc3RhdHVzKSDigJQgbyBmaWxsIGRlIGNhcmQvbGluaGEgY29udGludWEgbmEgY29yIGNoZWlhLlxuICBAbWl4aW4gZ2VuZXJhdGUtc3RhdHVzLXJldmlldy1ib3JkZXIoJHN0YXR1cy1saXN0KSB7XG4gICAgQGVhY2ggJHN0YXR1cywgJGNvbnRlbnQgaW4gJHN0YXR1cy1saXN0IHtcbiAgICAgICYuI3skc3RhdHVzfS5wYXBlci1zdGF0dXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKG50aCgkY29udGVudCwgMSksIDIwJSkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKG50aCgkY29udGVudCwgMSksIDMwJSkgIWltcG9ydGFudDtcblxuICAgICAgICAvLyDDjWNvbmUgbm8gbWVzbW8gdG9tIGVzY3VybyBkYSBib3JkYS5cbiAgICAgICAgLm1hdC1pY29uLnN0YXR1cy1pY29uIHtcbiAgICAgICAgICBjb2xvcjogZGFya2VuKG50aCgkY29udGVudCwgMSksIDMwJSkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYucmV2aWV3IHtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkcmV2aWV3LXN0YXR1cyk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLXJldmlldy1ib3JkZXIoJHJldmlldy1zdGF0dXMpO1xuICB9XG5cbiAgLy8gRGlmZXJlbmNpYcOnw6NvIGRlIEZPUk1BIGVudHJlIG9zIGRvaXMgc2lzdGVtYXMgZGUgc3RhdHVzIChhbWJvc1xuICAvLyBwcmVlbmNoaWRvcyDigJQgYm9tIGNvbnRyYXN0ZSk6IHN1Ym1pc3PDo28gPSBQSUxMIHN1cGVyLWFycmVkb25kYWRvO1xuICAvLyByZXZpc8OjbyA9IFJFVMOCTkdVTE8uIEVzY29wbyBubyBjaGlwICgucGFwZXItc3RhdHVzKS4gUHLDqS1hdGVudGl2by5cbiAgJi5zdWJtaXNzaW9uLnBhcGVyLXN0YXR1cyB7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgfVxuICAmLnJldmlldy5wYXBlci1zdGF0dXMge1xuICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zdGF0dXNCYWNrZ3JvdW5kIHtcbiAgQG1peGluIGdlbmVyYXRlLXN0YXR1cy1iYWNrZ3JvdW5kKCRzdGF0dXMtbGlzdCkge1xuICAgICAgQGVhY2ggJHN0YXR1cywgJGNvbnRlbnQgaW4gJHN0YXR1cy1saXN0IHtcbiAgICAgICYuI3skc3RhdHVzfS5pY29uLXN0YXR1cy1tb2JpbGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAje250aCgkY29udGVudCwgMSl9ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDJweDtcblxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDVweCByZ2JhKDAsIDAsIDAsIC4zKSA7XG5cbiAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzcHg7XG5cbiAgICAgICAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgICAgLmJvcmRlckJhY2tncm91bmQge1xuICAgICAgICAgICYuYm9yZGVyQ29sb3JCYWNrZ3JvdW5kIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5tYXQtaWNvbi5pY29uIHtcbiAgICAgICAgICBjb2xvcjogI3tudGgoJGNvbnRlbnQsIDMpfSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcblxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RyaW5nIHtcbiAgICAgICAgICAvLyBjb2xvcjogI3tudGgoJGNvbnRlbnQsIDMpfSAhaW1wb3J0YW50O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAvLyBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRhZyBkZSByZXZpc8OjbyBtb2JpbGU6IGZ1bmRvIGNsYXJvIChsaWdodGVuKSArIGJvcmRhIGVzY3VyYSAoZGFya2VuKS5cbiAgQG1peGluIGdlbmVyYXRlLXN0YXR1cy1yZXZpZXctYm9yZGVyKCRzdGF0dXMtbGlzdCkge1xuICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAmLiN7JHN0YXR1c30uaWNvbi1zdGF0dXMtbW9iaWxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihudGgoJGNvbnRlbnQsIDEpLCAyMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCAzMCUpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgLy8gw41jb25lIG5vIG1lc21vIHRvbSBlc2N1cm8gZGEgYm9yZGEuXG4gICAgICAgIC5tYXQtaWNvbi5pY29uIHtcbiAgICAgICAgICBjb2xvcjogZGFya2VuKG50aCgkY29udGVudCwgMSksIDMwJSkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc3VibWlzc2lvbiB7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLWJhY2tncm91bmQoJHN1Ym1pc3Npb24tc3RhdHVzKTtcbiAgfVxuXG4gICYucmV2aWV3IHtcbiAgICBAaW5jbHVkZSBnZW5lcmF0ZS1zdGF0dXMtYmFja2dyb3VuZCgkcmV2aWV3LXN0YXR1cyk7XG4gICAgQGluY2x1ZGUgZ2VuZXJhdGUtc3RhdHVzLXJldmlldy1ib3JkZXIoJHJldmlldy1zdGF0dXMpO1xuICB9XG5cbiAgLy8gRGlmZXJlbmNpYcOnw6NvIGRlIEZPUk1BIChtb2JpbGUpOiBzdWJtaXNzw6NvID0gUElMTDsgcmV2aXPDo28gPSBSRVTDgk5HVUxPLlxuICAvLyBBbWJvcyBjb20gw61jb25lLlxuICAmLnN1Ym1pc3Npb24uaWNvbi1zdGF0dXMtbW9iaWxlIHtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweCAhaW1wb3J0YW50O1xuICB9XG4gICYucmV2aWV3Lmljb24tc3RhdHVzLW1vYmlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gU3VibWlzc2lvbiBGb3JtIEFuc3dlcnNcbi5zdWJtaXNzaW9uLWZvcm0taXRlbSB7XG4gIHAge1xuICAgIC5maWVsZC10aXRsZSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAuZmllbGQtZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbiAgfVxufVxuIiwiICAvLyBNRDMgYm9keS1zbWFsbCAoMTJweCAvIDQwMCAvIDE2cHggbGluZS1oZWlnaHQgLyArMC4wMjVyZW0gdHJhY2tpbmcpLlxuICAubGVnZW5kLCAuY2FwdGlvbiB7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDI1cmVtO1xuXG4gICAgc3BhbiB7XG4gICAgICBwYWRkaW5nOiAwLjI1ZW07XG4gICAgICBtYXJnaW46IDAgMC4yNWVtO1xuXG4gICAgICBtaW4td2lkdGg6IDkwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxuIiwiQGltcG9ydCAnY29sb3JzJztcblxuLy8g4pSA4pSAIEF2aXNvIC8gZXN0YWRvIGRlIHDDoWdpbmEgKE5PVElDRSkg4oCUIGRlZmluacOnw6NvIMOaTklDQSBlIGdsb2JhbCDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIE1lbnNhZ2VucyBpbmZvcm1hdGl2YXMgLyBlc3RhZG9zIHZhemlvcyBhbyBsb25nbyBkYSBww6FnaW5hIGRlIHN1Ym1pc3PDo29cbi8vIChyZXZpc8O1ZXMgbsOjbyBsaWJlcmFkYXMsIHNlbSBtZW5zYWdlbnMgbmEgZGlzY3Vzc8OjbywgcHJhem8gZGUgY29uZmVyw6puY2lhIG7Do29cbi8vIGRlZmluaWRvLCBzZW0gcmVncmFzIGRlIGFycXVpdm8sIGV0Yy4pLiBUT0RPUyBjb21lw6dhbSBjb20gbyDDrWNvbmUgYGluZm9gIGVcbi8vIGNvbXBhcnRpbGhhbSBhbGluaGFtZW50byAow6AgZXNxdWVyZGEpLCBjb3IsIHBlc28gZSB0YW1hbmhvIGRhIGZvbnRlLlxuLy9cbi8vIFVzbyBubyB0ZW1wbGF0ZSAobyDDrWNvbmUgw6kgTWF0ZXJpYWwgU3ltYm9scyBwb3IgbGlnYWR1cmEg4oCUIHNlbSBNYXRJY29uTW9kdWxlKTpcbi8vICAgPHAgY2xhc3M9XCJwYWdlLW5vdGljZVwiPlxuLy8gICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPmluZm88L3NwYW4+XG4vLyAgICAgPHNwYW4+e3sgJ2NoYXZlLmkxOG4nIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuLy8gICA8L3A+XG4ucGFnZS1ub3RpY2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW46IDRweCAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07ICAgLy8gMTNweFxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogJGdyYXktNTAwO1xuXG4gICAgLy8gw41jb25lIGzDrWRlciAoaW5mbykuIGAubWF0LWljb25gIHRhbWLDqW0gY29iZXJ0byBwLyBxdWVtIGrDoSB1c2EgPG1hdC1pY29uPi5cbiAgICA+IC5tYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkLFxuICAgID4gLm1hdC1pY29uIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbn1cblxuLmRhcmstdGhlbWUgLnBhZ2Utbm90aWNlIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICBvcGFjaXR5OiAwLjc7ICAgLy8gbWVzbWEgbGV2ZXphIGRhIG1lbnNhZ2VtIGRlIHJlZmVyw6puY2lhIChyZWJ1dHRhbCkgbm8gZGFya1xufVxuIiwiLmhvbWUge1xuICAudXNlci1kYXNoYm9hcmQsIC5zdWJtaXNzaW9ucywgLnJldmlld3MsIC5ldmVudHMsIC5teWV2ZW50cywgLmNvbW1pdHRlZXMge1xuICAgIC5tYWluLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcblxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLWlQaG9uZThwbHVzLXBvcnRyYWl0LXdpZHRoKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC52c3BhY2VyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgfVxuICB9XG4gIC5zdWJtaXNzaW9ucywgLnJldmlld3Mge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICB9XG59XG5cbi5hZG1pbiB7XG4gIC5ldmVudC1hZG1pbiAuc3ViY29uZmVyZW5jZXN7XG4gICAgLmNvbHVtbnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIm1hcmtkb3duIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgfVxuXG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuJGJsb2NrLWhlaWdodDogNjBweDtcbiRvcHRpb25zLXdpZHRoOiAyMTBweDtcbiRmaWx0ZXJzLXdpZHRoOiAxMjBweDtcblxuLm1haW57XG4gICAgJi1oZWFkZXIge1xuICAgICAgICAvLyBwYWRkaW5nOiAwLjI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAvLyBBbmNob3IgcGFyYSBgLnBhZ2UtZmlsdGVyLXJvd2AgcXVhbmRvIGVsYSB2aXZlIGRlbnRybyBkbyBoZWFkZXJcbiAgICAgICAgLy8gKG1vZG8gXCJjaGlwIGNlbnRyYWxpemFkbyBubyBoZWFkZXJcIikuIEEgcm93IHZpcmEgYWJzb2x1dGFtZW50ZVxuICAgICAgICAvLyBjZW50cmFsaXphZGEgbm8gZWl4byBYLCBpbmRlcGVuZGVudGUgZGEgbGFyZ3VyYSBkZSB0aXRsZS9vcHRpb25zLlxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLm1haW4tdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgLy8gUmVjdW8gZXNxdWVyZG8gcGFkcsOjbyBkbyB0w610dWxvIOKAlCBoaXN0b3JpY2FtZW50ZSBwcmVzZW50ZSBlbVxuICAgICAgICAgICAgLy8gU3VibWlzc8O1ZXMgKHZpYSBjYXNjYWRlIGluZGlyZXRhKTsgZXhwbMOtY2l0byBhcXVpIHByYSB2YWxlclxuICAgICAgICAgICAgLy8gZW0gdG9kYXMgYXMgcMOhZ2luYXMgY29tIGVzc2UgaGVhZGVyIChhdXRvci9yZXZpc29yKS5cbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG5cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRibG9jay1oZWlnaHQ7XG5cbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNvbnRlbnQ7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTtcblxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgLmZpbHRlckFuZE9wdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4taVBob25lOHBsdXMtcG9ydHJhaXQtd2lkdGgpIHtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcHRpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDAuNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogJGJsb2NrLWhlaWdodDtcblxuICAgICAgICAgICAgLm1hdC1jaGVja2JveC1sYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ub3RpZnktYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBRdWFuZG8gaMOhIGNoaXAtc2VhcmNoIGRlbnRybyBkbyAub3B0aW9ucyAoYXBlbmFzIG5hcyA1IHDDoWdpbmFzXG4gICAgICAgICAgICAvLyBhdXRvci9yZXZpc29yKSwgdHJvY2EgcGFyYSBsYXlvdXQgaG9yaXpvbnRhbCDigJQgdG9nZ2xlcyArIGNoaXBcbiAgICAgICAgICAgIC8vIGZpY2FtIGxhZG8gYSBsYWRvIGVtIHZleiBkZSBlbXBpbGhhZG9zIHZlcnRpY2FsbWVudGUuIE8gcmVzdG9cbiAgICAgICAgICAgIC8vIGRvIGFwcCAoY2hhaXIgYWRtaW4gZXRjKSBtYW50w6ltIGZsZXgtY29sdW1uIGRvIGxlZ2Fkby5cbiAgICAgICAgICAgICY6aGFzKGFwcC1jdXN0b20tc2VhcmNoKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXJzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogJGJsb2NrLWhlaWdodDtcblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46MCAwLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maWx0ZXJMYWJlbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4taVBob25lOHBsdXMtcG9ydHJhaXQtd2lkdGgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgICAgIC5hY3Rpb24tYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cbiAgICAgICAgICAgIGhlaWdodDogJGJsb2NrLWhlaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTtcblxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46MCAwLjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0LWJyZWFrdXAtd2lkdGgpIHtcbiAgICAgICAgICAgIC5tYWluLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAkYmxvY2staGVpZ2h0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbi1idXR0b25zIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1ib2R5IHtcbiAgICAgICAgcGFkZGluZzogMHJlbTtcbiAgICB9XG5cbiAgICAvLyBGaWx0cm8gY2VudHJhbGl6YWRvIG5vIGhlYWRlciAobW9kbyBhbHdheXNPcGVuKS4gVXNhIHBvc2l0aW9uOmFic29sdXRlXG4gICAgLy8gcGFyYSBnYXJhbnRpciBjZW50cmFsaXphw6fDo28gdmlzdWFsIGV4YXRhLCBpZ25vcmFuZG8gYXMgbGFyZ3VyYXNcbiAgICAvLyBhc3NpbcOpdHJpY2FzIGRlIGAubWFpbi10aXRsZWAgKGVzcXVlcmRhKSBlIGAuZmlsdGVyQW5kT3B0aW9uc2AgKGRpcmVpdGEpLlxuICAgICYtaGVhZGVyID4gLnBhZ2UtZmlsdGVyLXJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIC8vIEFjaW1hIGRvcyBkZW1haXMgZmxleCBpdGVtcyBwcmEgbsOjbyBmaWNhciBjb2JlcnRvLlxuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLnNlcGFyYXRvciB7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGhyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1zZWxlY3RlZC1tZW51LWNvbG9yO1xuICAgICAgICBjb2xvcjogJG5hdmJhci1zZWxlY3RlZC1tZW51LWNvbG9yO1xuXG4gICAgICAgIGhlaWdodDogMXB4O1xuXG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgICAvLyB3aWR0aDogMTAwdnc7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGRlc2t0b3Atd2lkdGgtc20pIHtcbiAgICAgICAgICAgIC8vIHdpZHRoOiBjYWxjKDEwMHZ3ICsgKDIgKiAoI3skbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1tZH0pKSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3AtbWR9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRkZXNrdG9wLXdpZHRoLXNtKSB7XG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDB2dyArICgyICogKCN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3Atc219KSkpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGMoLTEgKiAjeyRsYXRlcmFsLXBhZGRpbmctY29udGVudC1kZXNrdG9wLXNtfSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGV0LWJyZWFrdXAtd2lkdGgpIHtcbiAgICAgICAgICAgIC8vIHdpZHRoOiBjYWxjKDEwMHZ3ICsgKDIgKiAoI3skbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtdGFibGV0fSkpKTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKC0xICogI3skbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtdGFibGV0fSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLXdpZHRoKSB7XG4gICAgICAgICAgICAvLyB3aWR0aDogY2FsYygxMDB2dyArICgyICogKCN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LW1vYmlsZX0pKSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogY2FsYygtMSAqICN7JGxhdGVyYWwtcGFkZGluZy1jb250ZW50LW1vYmlsZX0pO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxcmVtIDA7XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbSAwO1xuICAgIH1cblxuICAgICYtYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgIH1cbn1cblxuLy8gU2VjdGlvbiBkaXZpZGVyIOKAlCBsaW5oYSBob3Jpem9udGFsIGVudHJlIHNlw6fDtWVzIGFkamFjZW50ZXMuXG4vLyBQYWRyw6NvIGNoYWlyIFVJIHVzYWRvIGVtIHRvZGFzIGFzIHDDoWdpbmFzIGNvbSBtw7psdGlwbGFzIC5zZWN0aW9uXG4vLyAoY2hlY2tsaXN0LCByZXZpZXdzLWNvbmZpZ3VyYXRpb24sIGV0Yy4pLiBCb3JkZXItdG9wIGNvbG9yIHZpYVxuLy8gYF9jb2xvci1zY2hlbWUuc2Nzc2AgKHRoZW1lLWF3YXJlOiAkY2hyb21lLWJvcmRlci1saWdodC9kYXJrKS5cbi8vXG4vLyBgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudGAgc29icmVzY3JldmUgbyBgLnNlY3Rpb24geyBwYWRkaW5nLXRvcDogMFxuLy8gIWltcG9ydGFudCB9YCBmb3LDp2FkbyBwb3IgYF9jYXJkLnNjc3NgLiBgbWFyZ2luLXRvcDogMXJlbWAgZMOhIHJlc3Bpcm9cbi8vIGFjaW1hIGRvIGRpdmlkZXIuXG4vL1xuLy8gQ29icmUgdGFtYsOpbSBjb21iaW5hw6fDtWVzIGNvbSBgLnJvdy1tZGAgKHdyYXBwZXIgZGUgc3ViLXNlY3Rpb25zXG4vLyBzaWRlLWJ5LXNpZGUpIHVzYWRvIGVtIHJldmlld3MtY29uZmlndXJhdGlvbi5cbi5zZWN0aW9uICsgLnNlY3Rpb24sXG4uc2VjdGlvbiArIC5yb3ctbWQsXG4ucm93LW1kICsgLnNlY3Rpb24ge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBtYXJnaW4tdG9wOiAwLjNyZW07XG4gICAgcGFkZGluZy10b3A6IDFyZW0gIWltcG9ydGFudDtcbn1cblxuLnN1YnNlY3Rpb24ge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICB9XG5cbiAgICAmLWJvZHkge1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW07XG4gICAgfVxufVxuXG4uc3Vic3Vic2VjdGlvbiB7XG4gICAgcGFkZGluZzogMS41cmVtO1xufVxuXG4vLyBTb21icmEgaW5mZXJpb3IgbmEgdG9vbGJhciAobmF2YmFyIGF1dG9yL3Jldmlzb3IpIEFQRU5BUyBuYSBww6FnaW5hIGRlXG4vLyBzdWJtaXNzw6NvIChwYXBlci1pbmZvLCBtb250YWRhIHZpYSBhcHAtc3VibWlzc2lvbi12aWV3KS4gUmVncmEgR0xPQkFMIGNvbVxuLy8gYDpoYXMoKWAgcG9ycXVlIGEgbmF2YmFyIGUgbyBjb250ZcO6ZG8gc8OjbyBzdWLDoXJ2b3JlcyBJUk3Dg1Mgc29iIGAuaG9tZWBcbi8vIChgOmhvc3QtY29udGV4dGAgc8OzIGFsY2Fuw6dhIGFuY2VzdHJhaXMsIG7Do28gaXJtw6NvcykuIFPDsyBjYXNhIG5hIMOhcmVhIGAuaG9tZWBcbi8vIChhdXRvci9yZXZpc29yKSDigJQgYSByb3RhIGFkbWluIHVzYSBvdXRybyBzaGVsbCwgZW50w6NvIGEgYWRtaW4gbsOjbyDDqSBhZmV0YWRhLlxuLmhvbWU6aGFzKC5wYWdlLWNvbnRlbnQgYXBwLXN1Ym1pc3Npb24tdmlldykgYXBwLW5hdmJhciAubmF2YmFyIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbn1cbi8vIERhcmsgbW9kZTogc29tYnJhIHByZXRhIHNvYnJlIGZ1bmRvIGVzY3VybyBwcmVjaXNhIG1haXMgb3BhY2lkYWRlXG4vLyBwcmEgYW5jb3JhciB2aXN1YWxtZW50ZSAoYSBtZXNtYSAwLjE4IGRvIGxpZ2h0IHNvbWUgbm8gZGFyaykuXG4uZGFyay10aGVtZSAuaG9tZTpoYXMoLnBhZ2UtY29udGVudCBhcHAtc3VibWlzc2lvbi12aWV3KSBhcHAtbmF2YmFyIC5uYXZiYXIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuNyksXG4gICAgICAgICAgICAgICAgMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG5cbi8vIFNvbWJyYSBQRVJNQU5FTlRFIG5hIGJhcnJhIGRlIG5hdmVnYcOnw6NvIChicmVhZGNydW1iKSBkbyBUUEMgQ2hhaXIgZW5xdWFudG8gYVxuLy8gcMOhZ2luYSBkZSBzdWJtaXNzw6NvIGVzdMOhIGFiZXJ0YSDigJQgZW0gbGF5b3V0IE1PREVSTk8gKGAubGVnYWN5LWNocm9tZS1kaXNhYmxlZGApXG4vLyBPVSBBTVBMTyAoYC53aWRlLW1vZGVgKSwgbWFzIE7Dg08gbm8gY2zDoXNzaWNvLW7Do28tYW1wbG8uIEEgYmFycmEgVklTw41WRUwgw6kgb1xuLy8gYC5ldmVudC1icmVhZGNydW1iYCAocG9zaXRpb246IGZpeGVkKTsgbyBob3N0IGBhcHAtZXZlbnQtYnJlYWRjcnVtYmAgc8OzXG4vLyByZXNlcnZhIDM2cHggZW0gZmx1eG8g4oCUIHBvciBpc3NvIGEgc29tYnJhIHZhaSBubyBlbGVtZW50byBpbnRlcm5vLCBuw6NvIG5vIGhvc3Rcbi8vIChzZW7Do28gZmljYSBhdHLDoXMgZGEgYmFycmEsIGludmlzw612ZWwpLlxuLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIsXG4uc2lkZWJhci53aWRlLW1vZGU6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLFxuLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIsXG4uc2lkZWJhci53aWRlLW1vZGU6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iIHtcbiAgICBib3gtc2hhZG93OiAwIDJweCA2cHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcbn1cbi8vIERhcmsgbW9kZTogc29tYnJhIHByZXRhIHByZWNpc2EgbWFpcyBvcGFjaWRhZGUgRSAyIGNhbWFkYXMgcHJhXG4vLyBhbmNvcmFyIHNvYnJlIGZ1bmRvIGVzY3VybyAobWVzbWEgdMOpY25pY2EgZGFzIGJhcnJhcyBhdXRvci9yZXZpc29yKS5cbi5kYXJrLXRoZW1lIC5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLFxuLmRhcmstdGhlbWUgLnNpZGViYXIud2lkZS1tb2RlOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5kYXJrLXRoZW1lIC5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6aGFzKGFwcC1leHBvcnQtc3VibWlzc2lvbnMpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLFxuLmRhcmstdGhlbWUgLnNpZGViYXIud2lkZS1tb2RlOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYiB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC43KSxcbiAgICAgICAgICAgICAgICAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLy8gU29tYnJhIG5hIGJvcmRhIERJUkVJVEEgZG8gc2lkZWJhciBtb2Rlcm5vLCBuYXMgcMOhZ2luYXMgRlVMTC1CTEVFRCAoc3VibWlzc8OjbyBlXG4vLyBjZXJ0aWZpY2FkbyBkZSBhcHJlc2VudGHDp8OjbyksIG9uZGUgbyBjb250ZcO6ZG8gdmFpIGRlIHBvbnRhIGEgcG9udGEgZSBwcmVjaXNhIGRlc3NhXG4vLyBzb21icmEgcHJhIHNlIHNlcGFyYXIgZG8gbWVudS5cbi8vXG4vLyDDiSB1bWEgYGJveC1zaGFkb3dgIE5BIFBSw5NQUklBIGAuZXhwZXJpbWVudGFsLXNpZGViYXJgIOKAlCBuw6NvIG1haXMgdW0gcHNldWRvIGA6OmFmdGVyYFxuLy8gZml4byBhbmNvcmFkbyBlbSBgbGVmdDogdmFyKC0tZXhwZXJpbWVudGFsLXNpZGViYXItd2lkdGgpYC4gTW90aXZvOiBvIHBzZXVkbyBTQUxUQVZBIGFvXG4vLyBhYnJpci9jb2xhcHNhciAodW1hIGB0cmFuc2l0aW9uYCBOw4NPIHJlYWdlIGEgbXVkYW7Dp2EgZGUgY3VzdG9tIHByb3BlcnR5IG7Do28tcmVnaXN0cmFkYSksXG4vLyBlbnF1YW50byBvIGB3aWR0aGAgZG8gc2lkZWJhciBhbmltYXZhIOKGkiBvIFwiZWZlaXRvIGRlIGRvaXMgcGFpbsOpaXNcIi4gQ29tbyBhIGJveC1zaGFkb3cgZmF6XG4vLyBwYXJ0ZSBkYSBjYWl4YSBkbyBzaWRlYmFyLCBlbGEgYWNvbXBhbmhhIG8gYHdpZHRoYCBuYSBhbmltYcOnw6NvIERFIEdSQcOHQSwgc2luY3Jvbml6YWRhLlxuLy9cbi8vIE8gYGNsaXAtcGF0aGAgcmVjb3J0YSBhIHNvbWJyYSBBQ0lNQSBkYSBiYXNlIGRvIGJyZWFkY3J1bWIgKG1lc21vIHBvbnRvIHF1ZSBvIGB0b3BgIGRvXG4vLyBwc2V1ZG8gYW50aWdvKSwgcHJhIGVsYSBuw6NvIGNydXphci9jb2JyaXIgYSBiYXJyYSBkZSBuYXZlZ2HDp8Ojby4gTyBwb2zDrWdvbm8gbWFudMOpbSBUT0RPIG9cbi8vIGNvbnRlw7pkbyBkbyBzaWRlYmFyIChkZW50cm8gZGUgYDAgMCDihpIgMTAwJSDihpIgYm90dG9tYCk7IHPDsyBhIHNvbWJyYSDigJQgcXVlIGZpY2EgQUzDiU0gZGVcbi8vIGAxMDAlYCwgw6AgZGlyZWl0YSDigJQgw6kgcmVjb3J0YWRhIG5vIHRyZWNobyBkbyB0b3BvIChjbGlwLXBhdGggcmVjb3J0YSBib3gtc2hhZG93KS4gQVxuLy8gYGJvcmRlci1yaWdodGAgKGRpdmlzb3IgZGUgMXB4KSBkbyBzaWRlYmFyIHBlcm1hbmVjZSwgZGVmaW5pZGEgw6AgcGFydGUuXG4uc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOm5vdCgud2lkZS1tb2RlKTpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLFxuLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpub3QoLndpZGUtbW9kZSk6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIC5leHBlcmltZW50YWwtc2lkZWJhcixcbi5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6bm90KC53aWRlLW1vZGUpOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSAuZXhwZXJpbWVudGFsLXNpZGViYXIge1xuICAgIGJveC1zaGFkb3c6IDZweCAwIDEwcHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMTEpO1xuICAgIGNsaXAtcGF0aDogcG9seWdvbihcbiAgICAgICAgMCAwLFxuICAgICAgICAxMDAlIDAsXG4gICAgICAgIDEwMCUgY2FsYyh2YXIoLS1jaHJvbWUtdG9wLW9mZnNldCkgKyAzNnB4KSxcbiAgICAgICAgY2FsYygxMDAlICsgMjRweCkgY2FsYyh2YXIoLS1jaHJvbWUtdG9wLW9mZnNldCkgKyAzNnB4KSxcbiAgICAgICAgY2FsYygxMDAlICsgMjRweCkgMTAwJSxcbiAgICAgICAgMCAxMDAlXG4gICAgKTtcbn1cblxuLy8gQ29udHJvbGVzIGRlIHB1YmxpY2HDp8OjbzogYSBww6FnaW5hIHRlcm1pbmEgbmFzIEFCQVMg4oCUIGUsIGRlbnRybyBkZWxhcywgbmFcbi8vIGJhcnJhIGRlIGNvbmZpcm1hw6fDo28sIHF1ZSBqw6EgdGVtIHJlc3Bpcm8gcHLDs3ByaW8uIE8gYHBhZGRpbmctYm90dG9tYCBxdWUgb1xuLy8gY2FudmFzIGFwbGljYSBwb3IgcGFkcsOjbyAoYGFkbWluLWV2ZW50LXNpZGViYXIuY29tcG9uZW50LnNjc3NgKSBzb2JyYSBhcXVpLlxuLy9cbi8vIEEgcmVncmEgdml2ZSBBUVVJLCBlIG7Do28gbm8gU0NTUyBkYSBww6FnaW5hLCBwb3IgZG9pcyBtb3Rpdm9zIHF1ZSBzZSBzb21hbTogYVxuLy8gY3VzdG9tIHByb3BlcnR5IHByZWNpc2Egc2VyIGVzY3JpdGEgbm8gTUVTTU8gZWxlbWVudG8gcXVlIGEgY29uc29tZSAoZWxhc1xuLy8gaGVyZGFtIGRlIGNpbWEgcGFyYSBiYWl4bywgZSBvIGAubWF0LXNpZGVuYXYtY29udGVudGAgw6kgQU5DRVNUUkFMIGRhIHDDoWdpbmEpLFxuLy8gZSByZWdyYSBxdWUgYXRyYXZlc3NhIGNvbXBvbmVudGVzIHRlbSBkZSBzZXIgZ2xvYmFsIOKAlCBubyBTQ1NTIGRlIHVtXG4vLyBjb21wb25lbnRlIGNvbSBlbmNhcHN1bGFtZW50byBlbXVsYWRvLCBvIHNlbGV0b3IgZ2FuaGFyaWEgbyBhdHJpYnV0byBkZVxuLy8gZW5jYXBzdWxhbWVudG8gZSBuw6NvIGNhc2FyaWEgY29tIHVtIGVsZW1lbnRvIGRlIGZvcmEuIDFweCBlbSB2ZXogZGUgMCBldml0YVxuLy8gY29sYXBzbyBkZSBtYXJnZW0gZW50cmUgbyDDumx0aW1vIGZpbGhvIGUgbyBjYW52YXMuXG4ubWF0LXNpZGVuYXYtY29udGVudDpoYXMoYXBwLWV2ZW50LXB1YmxpY2F0aW9uKSB7XG4gICAgLS1jYW52YXMtcGFkZGluZy1ib3R0b206IDFweDtcbn1cblxuLy8gUMOhZ2luYSBkZSBzdWJtaXNzw6NvOiBmdW5kbyBjaW56YSBjb2JyaW5kbyBUT0RPIG8gY29udGFpbmVyIGRlIHNjcm9sbCAobGF0ZXJhaXNcbi8vIEUgcm9kYXDDqSkuIFN1YnN0aXR1aSBvIGFudGlnbyBmdWxsLWJsZWVkIHBvciBtYXJnZW0gbmVnYXRpdmEgKGZyw6FnaWwgbm8gY2hhaXIpLlxuLy9cbi8vIEF1dG9yOiBvIGNvbnRhaW5lciDDqSBgLnBhZ2UtY29udGVudGAuXG4ucGFnZS1jb250ZW50OmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MDtcbn1cbi8vIENoYWlyOiB6ZXJhIG8gcGFkZGluZyBsYXRlcmFsIGRvIGNvbnRlbnQgKHBhcGVyLWluZm8gcHJlZW5jaGUgZGUgcG9udGEgYSBwb250YSkuXG4vLyBaZXJhIHRhbWLDqW0gbyBwYWRkaW5nLUJPVFRPTSAoOHB4IGRlZmF1bHQgZG8gTWF0ZXJpYWwgbm8gbWF0LXNpZGVuYXYtY29udGVudCk6XG4vLyBlbGUgc29tYXZhIGFvIGd1dHRlciBkZSAyNHB4IGRvIHBhcGVyLWluZm8sIGRlaXhhbmRvIG8gdsOjbyBpbmZlcmlvciAoMzJweClcbi8vIG1haW9yIHF1ZSBvIHN1cGVyaW9yICgyNHB4KS4gTyBwYXBlci1pbmZvIGrDoSBmb3JuZWNlIHNldSBwcsOzcHJpbyBndXR0ZXIuXG5tYXQtc2lkZW5hdi1jb250ZW50OmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG4vLyBDaGFpcjogcGludGEgZGUgY2luemEgVE9EQSBhIHBpbGhhIGRvIE1hdGVyaWFsIGRyYXdlciAoY29udGVudCArIGNvbnRhaW5lciwgbm9zXG4vLyAyIG7DrXZlaXMgYW5pbmhhZG9zKS4gYC5zaWRlYmFyIOKApmAgKDAsMywwKSArIGAhaW1wb3J0YW50YCBWRU5DRSBvIGJnIGRvIHRlbWFcbi8vIChfY29sb3Itc2NoZW1lLnNjc3M6IGBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAubWF0LXNpZGVuYXYtY29udGVudGAgPSBicmFuY28sXG4vLyBtZXNtYSBlc3BlY2lmaWNpZGFkZSAwLDEsMSBxdWUgYSBtaW5oYSByZWdyYSBhbnRpZ2EgcGVyZGlhIHBvciBvcmRlbSkgZSBvXG4vLyBgI2ZhZmFmYWAgZGVmYXVsdCBkbyBNYXRlcmlhbCBubyBgLm1hdC1kcmF3ZXItY29udGFpbmVyYC4gw4kgbyBxdWUgZmFsdGF2YSBwcmFcbi8vIG1hdGFyIGEgZmFpeGEgYnJhbmNhIGRvIHJvZGFww6kgKG8gcGFkZGluZy1ib3R0b20gYnJhbmNvIGFiYWl4byBkbyBjb250ZcO6ZG8pLlxuLnNpZGViYXI6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIC5tYXQtc2lkZW5hdi1jb250ZW50LFxuLnNpZGViYXI6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIC5tYXQtZHJhd2VyLWNvbnRhaW5lcixcbi5zaWRlYmFyOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5zaWRlYmFyOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSAubWF0LWRyYXdlci1jb250YWluZXIsXG4uc2lkZWJhcjpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLm1hdC1zaWRlbmF2LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTUwICFpbXBvcnRhbnQ7XG59XG4vLyBPdmVyc2Nyb2xsIGJvdW5jZSAobWFjT1MgdHJhY2twYWQpIHJldmVsYSBvIGJnIGRvIGA8aHRtbD5gIChxdWVtIHJvbGEgZW1cbi8vIGFkbWluKS4gTyB0ZW1hIGRlZmluZSBgaHRtbDpoYXMoYm9keS5saWdodC10aGVtZSkgeyBiYWNrZ3JvdW5kOiB3aGl0ZSB9YFxuLy8gZSBgaHRtbDpoYXMoYm9keS5kYXJrLXRoZW1lKSB7IGJhY2tncm91bmQ6IGJsYWNrIH1gXG4vLyAoX2NvbG9yLXNjaGVtZS5zY3NzOjM0NCwzNDgg4oCUIGVzcGVjaWZpY2lkYWRlIDAsMSwyKS4gUHJhIHZlbmNlciwgY2FzYW1vc1xuLy8gbyBwYWRyw6NvIGRhIHDDoWdpbmEgZGUgc3VibWlzc8OjbyBsb2dvIGFjaW1hIChsaW5oYXMgNDM3LTQ0Mik6IGR1cGxhXG4vLyBgOmhhc2AgKHRlbWEgKyBww6FnaW5hIHYyKSA9IGVzcGVjaWZpY2lkYWRlIDAsMSwzLiBDb3IgZGFyayA9IE1FU01PXG4vLyBgJGFkbWluLWJhY2tncm91bmQtZGFya2AgKGJsYWNrKSBxdWUgbyBwYXBlci1pbmZvIHVzYSBjb21vIGNhbnZhcyDigJRcbi8vIGNvbnNpc3TDqm5jaWEgY29tIGEgZm9saGEgYCMyMDIwMjBgIChlbGV2YWRhKSBxdWUgZmljYSB2aXPDrXZlbCBhY2ltYS5cbmh0bWw6aGFzKGJvZHkubGlnaHQtdGhlbWUpOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTUwO1xufVxuaHRtbDpoYXMoYm9keS5kYXJrLXRoZW1lKTpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG4vLyBTdGlja3kgZGEgYmFycmEgZGUgbWV0YWRhZG9zIG5vIGNoYWlyOiBvIHNjcm9sbGVyIHJlYWwgw6kgbyBgaHRtbGAsIG1hcyBhIHBpbGhhXG4vLyBgbWF0LXNpZGVuYXYtY29udGVudGAvYGNvbnRhaW5lcmAgKG92ZXJmbG93IGF1dG8vaGlkZGVuKSBpbnRlcmNlcHRhIG9cbi8vIGBwb3NpdGlvbjogc3RpY2t5YCBTRU0gcm9sYXIgKHF1ZW0gcm9sYSDDqSBvIGh0bWwpLiBDb21vIGVzc2FzIGNhbWFkYXMgbsOjb1xuLy8gcm9sYW0sIHRvcm5hbW9zIGBvdmVyZmxvdzogdmlzaWJsZWAgc8OzIG5lc3NhIHDDoWdpbmEg4oCUIGFzc2ltIG8gc3RpY2t5IHNlIHByZW5kZVxuLy8gYW8gYGh0bWxgIChzZW0gY3JpYXIgYmFycmEgZGUgcm9sYWdlbSBpbnRlcm5hLCBhbyBjb250csOhcmlvIGRvIGhhY2sgYW50aWdvKS5cbi8vIE8gYFtzY3JvbGw9bm9dYCAob3ZlcmZsb3c6Y2xpcCkgTsODTyBpbnRlcmNlcHRhIHN0aWNreSwgZW50w6NvIGZpY2EgY29tbyBlc3TDoS5cbi5zaWRlYmFyOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSAubWF0LWRyYXdlci1jb250YWluZXIsXG4uc2lkZWJhcjpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykgLm1hdC1kcmF3ZXItY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbi8vIFwiRGFuw6dhclwiIG5vIGZpbSBkYSBww6FnaW5hIChjaGFpciwgbW9kbyB2aXPDo28pOiBvIHZpZHJvIGZvc2NvIHN0aWNreVxuLy8gKGAucGFwZXItc2hlZXQ6aGFzKC5tZXRhLWNhcmQuc3R1Y2spOjpiZWZvcmVgLCBjb20gYG1hcmdpbi1ib3R0b21gIE5FR0FUSVZPKSBmYXogb1xuLy8gY29udGXDumRvIGFjaW1hIG11ZGFyIGRlIGFsdHVyYSBkdXJhbnRlIG8gc2Nyb2xsOyBvIFNDUk9MTCBBTkNIT1JJTkcgZG8gQ2hyb21lXG4vLyByZWFqdXN0YSBvIHNjcm9sbFRvcCBlIGVudHJhIGVtIGxvb3AgbmEgYmFzZSAob25kZSBuw6NvIGjDoSBiYXJyYSBmbHV0dWFudGUgZXN0ZW5kZW5kb1xuLy8gbyBmaW0g4oCUIHBvciBpc3NvIG7Do28gb2NvcnJlIGVtIGVkacOnw6NvKS4gQ29tbyBvIHNjcm9sbGVyIMOpIG8gYGh0bWxgLCBkZXNsaWdhbW9zIG9cbi8vIGFuY2hvcmluZyBkZWxlIFPDkyBuZXN0YSBww6FnaW5hIChyZWN1cnNvIG1lbm9yOyBvIGNvbnRlw7pkbyBsYXp5IGNhcnJlZ2EgYWJhaXhvIGRhXG4vLyBkb2JyYSwgZW50w6NvIG7Do28gcGVyZGUgbmFkYSBwZXJjZXB0w612ZWwpLlxuaHRtbDpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykge1xuICAgIG92ZXJmbG93LWFuY2hvcjogbm9uZTtcbn1cbi8vIE1lc21vIG1vdGl2byBuYSBWaXPDo28gZGUgQ2FsZW5kw6FyaW86IG8gY2FsZW5kw6FyaW8gw6kgcmVuZGVyaXphZG8gaW50ZWlybyBub1xuLy8gZmx1eG8gZGEgcMOhZ2luYSAocXVlbSByb2xhIMOpIG8gYGh0bWxgKSBlIGEgbGluaGEgZGUgZGlhcyBkYSBzZW1hbmEgdXNhXG4vLyBgcG9zaXRpb246IHN0aWNreWAgcGFyYSBmaWNhciBmaXhhIG5vIHRvcG8uIFNlbSBsaWJlcmFyIG8gb3ZlcmZsb3cgZGVzdGFzXG4vLyBjYW1hZGFzLCBvIHN0aWNreSDDqSBpbnRlcmNlcHRhZG8gcG9yIGVsYXMg4oCUIHF1ZSBuw6NvIHJvbGFtIOKAlCBlIGEgbGluaGEgc29tZVxuLy8gYW8gcm9sYXIgYSBww6FnaW5hLlxuLnNpZGViYXI6aGFzKGFwcC1jYWxlbmRhci12aWV3KSAubWF0LWRyYXdlci1jb250YWluZXIsXG4uc2lkZWJhcjpoYXMoYXBwLWNhbGVuZGFyLXZpZXcpIC5tYXQtZHJhd2VyLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi8vIExpc3RhciBQcm9ncmFtYTogbyBmdW5kbyBlbSB2b2x0YSBkYSBmb2xoYSB1c2EgYSBNRVNNQSBjb3IgZGEgZm9saGEsIGUgZXNzYVxuLy8gY29yIMOpIGRlZmluaWRhIG51bSBsdWdhciBzw7Mg4oCUIGAtLXByb2dyYW0tcGFwZXJgLCBuYSBmb2xoYSBkbyBwcm9ncmFtYVxuLy8gKGBwcm9ncmFtLXNoZWV0LmNzcy50c2AsIGluamV0YWRhIGVucXVhbnRvIGEgdGVsYSBlc3TDoSBtb250YWRhKS4gQXF1aSBhcGVuYXNcbi8vIExFTU9TIGEgdmFyacOhdmVsOyBuw6NvIHJlcGV0aXIgbyB2YWxvci4gVmFsZSBub3MgZG9pcyB0ZW1hcywgZGUgcHJvcMOzc2l0bzogb1xuLy8gcHJvZ3JhbWEgw6kgcGFwZWwsIG7Do28gc2VndWUgY2xhcm8vZXNjdXJvLiBQaW50YXIgc8OzIG8gYG1hdC1zaWRlbmF2LWNvbnRlbnRgXG4vLyBkZWl4YXJpYSBmYWl4YSBubyByb2RhcMOpLCBkYcOtIG8gYC5tYXQtZHJhd2VyLWNvbnRhaW5lcmAganVudG8uXG4uc2lkZWJhcjpoYXMoYXBwLWV2ZW50LXByb2dyYW0pIC5tYXQtc2lkZW5hdi1jb250ZW50LFxuLnNpZGViYXI6aGFzKGFwcC1ldmVudC1wcm9ncmFtKSAubWF0LWRyYXdlci1jb250YWluZXIsXG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLWV2ZW50LXByb2dyYW0pIC5tYXQtc2lkZW5hdi1jb250ZW50LFxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1ldmVudC1wcm9ncmFtKSAubWF0LWRyYXdlci1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyYW0tcGFwZXIsICNmZmZmZmYpICFpbXBvcnRhbnQ7XG59XG4vLyBPdmVyc2Nyb2xsIGVsw6FzdGljbzogcXVlbSByb2xhIMOpIG8gYGh0bWxgLCBlIMOpIG8gZnVuZG8gZGVsZSBxdWUgYXBhcmVjZSBhb1xuLy8gcHV4YXIgYWzDqW0gZG8gdG9wby9maW0uIFByZWNpc2EgQ0FTQVIgYSBmb3JtYSBkbyBzZWxldG9yIGRvIHRlbWFcbi8vIChgaHRtbDpoYXMoYm9keS5kYXJrLXRoZW1lKWAsIDAsMSwxIOKAlCBvIGA6aGFzKClgIGhlcmRhIGEgZXNwZWNpZmljaWRhZGUgZG9cbi8vIGFyZ3VtZW50byBtYWlzIGVzcGVjw61maWNvKTogc2VtIG8gYGJvZHkuPHRlbWE+YCBhcXVpLCBhIG1pbmhhIHJlZ3JhIGZpY2FyaWFcbi8vIGVtIDAsMCwyIGUgbyBwcmV0byBkbyB0ZW1hIGVzY3VybyB2ZW5jZXJpYSwgYXBhcmVjZW5kbyBuYXMgcG9udGFzLlxuaHRtbDpoYXMoYm9keS5saWdodC10aGVtZSk6aGFzKGFwcC1ldmVudC1wcm9ncmFtKSxcbmh0bWw6aGFzKGJvZHkuZGFyay10aGVtZSk6aGFzKGFwcC1ldmVudC1wcm9ncmFtKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3JhbS1wYXBlciwgI2ZmZmZmZik7XG59XG4vLyBNb2RvIGVzY3Vyby5cbi5kYXJrLXRoZW1lIC5wYWdlLWNvbnRlbnQ6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrO1xufVxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIC5tYXQtc2lkZW5hdi1jb250ZW50LFxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1zdWJtaXNzaW9uLXZpZXcpIC5tYXQtZHJhd2VyLWNvbnRhaW5lcixcbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSAubWF0LXNpZGVuYXYtY29udGVudCxcbi5kYXJrLXRoZW1lIC5zaWRlYmFyOmhhcyhhcHAtZXhwb3J0LXN1Ym1pc3Npb25zKSAubWF0LWRyYXdlci1jb250YWluZXIsXG4uZGFyay10aGVtZSAuc2lkZWJhcjpoYXMoYXBwLWV4cG9ydC1zdWJtaXNzaW9ucykgLm1hdC1zaWRlbmF2LWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBPdmVyc2Nyb2xsIGVsw6FzdGljbyAobWFjT1MgcnViYmVyLWJhbmQpOiBvIHNjcm9sbGVyIFJFQUwgw6kgbyBgaHRtbGAgZSBvIGZ1bmRvXG4vLyBkZWxlIMOpIHByb3BhZ2FkbyBwcm8gY2FudmFzIChhIMOhcmVhIHF1ZSBhcGFyZWNlIGFvIHB1eGFyIGFsw6ltIGRvIHRvcG8vZmltKS4gT1xuLy8gdGVtYSBwaW50YSBgaHRtbDpoYXMoYm9keS5saWdodC10aGVtZSlgIGRlIGJyYW5jbyAoX2NvbG9yLXNjaGVtZS5zY3NzOjM0NCxcbi8vIGVzcGVjaWZpY2lkYWRlIDAsMSwyKS4gRXNwZWxoYW1vcyBlc3NlIHBhZHLDo28gKyBhIGNvbmRpw6fDo28gZGEgcMOhZ2luYSBkZVxuLy8gc3VibWlzc8OjbyAoMCwxLDMpIHByYSBWRU5DRVIgZSBkZWl4YXIgbyBjYW52YXMgY2luemEuIFZhbGUgYXV0b3IgZSBjaGFpci5cbmh0bWw6aGFzKGJvZHkubGlnaHQtdGhlbWUpOmhhcyhhcHAtc3VibWlzc2lvbi12aWV3KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTUwO1xufVxuaHRtbDpoYXMoYm9keS5kYXJrLXRoZW1lKTpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldykge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIENlcnRpZmljYWRvIGRlIGFwcmVzZW50YcOnw6NvIChhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKTogTUVTTU8gZnVsbC1ibGVlZFxuLy8gY2luemEgZGEgcMOhZ2luYSBkZSBzdWJtaXNzw6NvIGFjaW1hLiBDb21vIMOpIE9VVFJPIHNlbGVjdG9yIGRlIGNvbXBvbmVudGUsIGFzXG4vLyByZWdyYXMgYDpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldylgIG7Do28gbyBhbGNhbsOnYW0g4oCUIGVzcGVsaGFtb3MgYXF1aSBwLyBhdXRvclxuLy8gKGAucGFnZS1jb250ZW50YCkgZSBjaGFpciAoYG1hdC1zaWRlbmF2LWNvbnRlbnRgL2Auc2lkZWJhcmAgZHJhd2VyKSwgbGlnaHQrZGFyayxcbi8vICsgbyBjYW52YXMgZG8gYGh0bWxgIChvdmVyc2Nyb2xsKSArIGBvdmVyZmxvdzogdmlzaWJsZWAgbm8gc2hlbGwgKHNlbsOjbyBhXG4vLyBTT01CUkEgZ3JhbmRlIGRhIGZvbGhhIGRvIGNlcnRpZmljYWRvIMOpIHJlY29ydGFkYSBwZWxhIHBpbGhhIGRvIGRyYXdlciwgZG9cbi8vIG1lc21vIGplaXRvIHF1ZSBhIHN1Ym1pc3PDo28gcHJlY2lzYSDigJQgYSBmb2xoYSBmYXogc25hcC10by1maXQsIG51bmNhIHJvbGEpLlxuLy8gRXNwZWNpZmljaWRhZGUgYGFwcC1ob21lIC5ob21lIC5wYWdlLWNvbnRlbnRgICgwLDIsMSkgKyBgIWltcG9ydGFudGAgcC8gVkVOQ0VSIG9cbi8vIHRva2VuIGJyYW5jbyBkbyBgX2NvbG9yLXNjaGVtZS5zY3NzOjI0NTlgIChtZXNtYSBlc3BlY2lmaWNpZGFkZSwgbWFzICFpbXBvcnRhbnQpLlxuLy8gU2VtIGlzc28sIG8gYC5jZXJ0aWZpY2F0ZS1wYWdlYCBwaW50YSBhIMOhcmVhIHZpc8OtdmVsIGRlIGNpbnphLCBtYXMgbyBgLnBhZ2UtY29udGVudGBcbi8vIGF0csOhcyBjb250aW51YSBicmFuY28gKGFwYXJlY2Ugbm9zIHNsaXZlcnMvZ2FwKS5cbmFwcC1ob21lIC5ob21lIC5wYWdlLWNvbnRlbnQ6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTUwICFpbXBvcnRhbnQ7XG59XG4vLyBBIG5hdmJhciDDqSBmaXhlZCBlIG8gYC5wYWdlLWNvbnRlbnRgIGNvbWXDp2EgZW0gYHRvcDogbmF2YmFyICsgM3B4YCAoaG9tZS5zY3NzKVxuLy8g4oaSIHNvYnJhIHVtYSBmYWl4YSBkZSAzcHggYXRyw6FzIGRlbGEgbW9zdHJhbmRvIG8gZnVuZG8gZG8gYC5ob21lYCAocXVlIG8gdG9rZW5cbi8vIGBfY29sb3Itc2NoZW1lLnNjc3M6MjQ1N2AgcGludGEgZGUgQlJBTkNPIGNvbSAhaW1wb3J0YW50KS4gw4kgYSBsaW5oYSBicmFuY2EuXG4vLyBgYXBwLWhvbWUgLmhvbWVgICgwLDEsMSkgKyAhaW1wb3J0YW50IHZlbmNlIG8gdG9rZW4uXG5hcHAtaG9tZSAuaG9tZTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MCAhaW1wb3J0YW50O1xufVxubWF0LXNpZGVuYXYtY29udGVudDpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuLnNpZGViYXI6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIC5tYXQtc2lkZW5hdi1jb250ZW50LFxuLnNpZGViYXI6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIC5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTUwICFpbXBvcnRhbnQ7XG59XG4vLyBTaGVsbCBOw4NPIHJlY29ydGEg4oaSIGEgc29tYnJhIGRhIGZvbGhhIGRlc3ZhbmVjZSBubyBjaW56YSAoZXNwZWxoYSBhcyBsaW5oYXNcbi8vIGRhIHN1Ym1pc3PDo28gYWNpbWEpLiBWYWxlIGF1dG9yIChgLnBhZ2UtY29udGVudGApIGUgY2hhaXIgKGRyYXdlcikuXG4ucGFnZS1jb250ZW50OmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSxcbi5zaWRlYmFyOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSAubWF0LWRyYXdlci1jb250YWluZXIsXG4uc2lkZWJhcjpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgLm1hdC1kcmF3ZXItY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbi8vIE8gYWRtaW4tZXZlbnQtc2lkZWJhciBlbWJydWxoYSBvIHJvdXRlci1vdXRsZXQgbnVtIGA8ZGl2IHNjcm9sbD1cIm5vXCJcbi8vIHN0eWxlPVwib3ZlcmZsb3c6IGNsaXBcIj5gIChwLyBzdGlja3kgZGUgcMOhZ2luYSBpbnRlcm5hIG7Do28gdmF6YXIpLiBPIGNlcnRpZmljYWRvXG4vLyBmYXogc25hcC10by1maXQgZSBlbmNvc3RhIG5hIGJvcmRhIOKGkiBlc3NlIGNsaXAgY29ydGEgYSBzb21icmEgZGEgZm9saGEuXG4vLyBEZXN0cmF2YW1vcyBTw5MgcC8gbyBjZXJ0aWZpY2FkbyAobsOjbyB0ZW0gc3RpY2t5IG5lbSByb2xhKS4gYG92ZXJmbG93OiBjbGlwYCDDqVxuLy8gSU5MSU5FIOKGkiBwcmVjaXNhIGRlIGAhaW1wb3J0YW50YCBwLyB2ZW5jZXIuXG5bc2Nyb2xsPVwibm9cIl06aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWhvbWUgLmhvbWUgLnBhZ2UtY29udGVudDpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1ob21lIC5ob21lOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIC5tYXQtc2lkZW5hdi1jb250ZW50LFxuLmRhcmstdGhlbWUgLnNpZGViYXI6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIC5tYXQtZHJhd2VyLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuaHRtbDpoYXMoYm9keS5saWdodC10aGVtZSk6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xNTA7XG59XG5odG1sOmhhcyhib2R5LmRhcmstdGhlbWUpOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbn1cblxuLy8gU29tYnJhcyBkbyBjaHJvbWUgbm8gY2VydGlmaWNhZG8g4oCUIE1FU01BUyBkYSBww6FnaW5hIGRlIHN1Ym1pc3PDo28gKG5hdmJhciBkb1xuLy8gYXV0b3IvcmV2aXNvciwgYnJlYWRjcnVtYiBkbyBjaGFpciwgZSBib3JkYSBkaXJlaXRhIGRvIG1lbnUgbGF0ZXJhbCBtb2Rlcm5vKSxcbi8vIGVzcGVsaGFkYXMgZG8gYmxvY28gYDpoYXMoYXBwLXN1Ym1pc3Npb24tdmlldylgIGFjaW1hLiBWZXIgYXF1ZWxlIGJsb2NvIHAvIG9cbi8vIHJhY2lvbmFsIGRlIGNhZGEgdMOpY25pY2EuIEEgbmF2YmFyIE7Dg08gdGVtIHNvbWJyYSBwcsOzcHJpYSAobyBkZWZhdWx0IMOpIHPDsyB1bVxuLy8gYm9yZGVyLWJvdHRvbSBww6FsaWRvIGRlICRjaHJvbWUtYm9yZGVyLWxpZ2h0KSDigJQgYSBlbGV2YcOnw6NvIMOpIHNlbXByZSBwb3ItcMOhZ2luYS5cbi5ob21lOmhhcygucGFnZS1jb250ZW50IGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIGFwcC1uYXZiYXIgLm5hdmJhciB7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gICAgLy8gTmV1dHJhbGl6YSBvIGJvcmRlci1ib3R0b20gcMOhbGlkbyAoI0U3RTVFNCkgZG8gYF9jb2xvci1zY2hlbWUuc2Nzc2Ag4oCUIGNvbnRyYVxuICAgIC8vIGEgc29tYnJhIGVsZSB2aXJhIHVtYSBsaW5oYSBjbGFyYS4gQSBzZXBhcmHDp8OjbyBmaWNhIHPDsyBuYSBzb21icmEuIGAhaW1wb3J0YW50YFxuICAgIC8vIHAvIHZlbmNlciBvIHRva2VuIChxdWUgdGFtYsOpbSB1c2EgIWltcG9ydGFudCkuXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5ob21lOmhhcygucGFnZS1jb250ZW50IGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIGFwcC1uYXZiYXIgLm5hdmJhciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC43KSxcbiAgICAgICAgICAgICAgICAwIDhweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cbi5zaWRlYmFyLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQ6aGFzKGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGUpIGFwcC1ldmVudC1icmVhZGNydW1iIC5ldmVudC1icmVhZGNydW1iLFxuLnNpZGViYXIud2lkZS1tb2RlOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYiB7XG4gICAgYm94LXNoYWRvdzogMCAycHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG59XG4uZGFyay10aGVtZSAuc2lkZWJhci5sZWdhY3ktY2hyb21lLWRpc2FibGVkOmhhcyhhcHAtcHJlc2VudGF0aW9uLWNlcnRpZmljYXRlKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYixcbi5kYXJrLXRoZW1lIC5zaWRlYmFyLndpZGUtbW9kZTpoYXMoYXBwLXByZXNlbnRhdGlvbi1jZXJ0aWZpY2F0ZSkgYXBwLWV2ZW50LWJyZWFkY3J1bWIgLmV2ZW50LWJyZWFkY3J1bWIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuNyksXG4gICAgICAgICAgICAgICAgMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4vLyAoQSBzb21icmEgZGEgYm9yZGEgZGlyZWl0YSBkbyBzaWRlYmFyIHBhcmEgYGFwcC1wcmVzZW50YXRpb24tY2VydGlmaWNhdGVgIGFnb3JhIMOpIGEgbWVzbWFcbi8vICBgYm94LXNoYWRvd2AgKyBgY2xpcC1wYXRoYCBkYSBzdWJtaXNzw6NvIOKAlCB2ZXIgYSByZWdyYSBjb21iaW5hZGEgYWNpbWEuIE8gcHNldWRvIGA6OmFmdGVyYFxuLy8gIHF1ZSBzYWx0YXZhIGZvaSByZW1vdmlkby4pXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vYmlsZSBwb3J0cmFpdCDigJQgYm9keSBvZmZzZXQgcHJvIGJvdHRvbSBuYXZcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEEgbmF2YmFyIGVtIG1vYmlsZSBwb3J0cmFpdCBmaWNhIGVtIERVQVMgcGFydGVzOiB0b3AgbWluaSBiYXIgKDQ4cHgsIGFpbmRhXG4vLyBubyBmbHV4byBkZWZhdWx0KSArIGJvdHRvbSBuYXYgKDY0cHggKyBzYWZlLWFyZWEsIGBwb3NpdGlvbjogZml4ZWRgKS4gT1xuLy8gYm90dG9tIG5hdiBzb2JyZXDDtWUgbyBmaW5hbCBkbyBjb250ZcO6ZG8g4oCUIHJlc2VydmFtb3MgcGFkZGluZy1ib3R0b20gbm8gYm9keVxuLy8gcHJhIG5pbmd1w6ltIGZpY2FyIGVzY29uZGlkbyBlbWJhaXhvIGRlbGUuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkge1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDY0cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSwgMCkpO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNb2JpbGUgUG9ydHJhaXQg4oCUIFRPUCBtaW5pIGJhciArIEJPVFRPTSBwcmltYXJ5IG5hdiAocmVncmFzIEdMT0JBSVMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWaXZlIEFRVUkgKGFycXVpdm8gZ2xvYmFsLCBzZW0gc2NvcGluZyBBbmd1bGFyKSBlIE7Dg08gZW1cbi8vIGBuYXZiYXIuY29tcG9uZW50LnNjc3NgIHBvcnF1ZSBxdWFuZG8gbyBBbmd1bGFyIEVtdWxhdGVkIHNjb3BhIGEgcmVncmEsXG4vLyBhZGljaW9uYSBgW19uZ2NvbnRlbnQteHh4XWAgYSBUT0RPUyBvcyBzaW1wbGUgc2VsZWN0b3JzIOKAlCBpbmNsdXNpdmVcbi8vIGBodG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdYC4gQ29tbyBgPGh0bWw+YCBuw6NvIHRlbSBlc3NlIGF0cmlidXRvLFxuLy8gbyBzZWxldG9yIE5VTkNBIGNhc2EgZSBhcyByZWdyYXMgbsOjbyBhcGxpY2FtLiBFc3RlIMOpIG8gbWVzbW8gdGlwbyBkZSBidWdcbi8vIHF1ZSBhcGFyZWNlIGNvbSBgLmRhcmstdGhlbWVgIHNjb3BpbmcgZW0gU0NTUyBkZSBjb21wb25lbnRlLlxuLy9cbi8vIEFycXVpdGV0dXJhOlxuLy8gICDigKIgVG9wIG1pbmkgYmFyIChhIHByw7NwcmlhIGAubmF2YmFyYCwgYWx0dXJhIDQ4cHgpIOKGkiBsb2dvICsgcmlnaHQtY29udGFpbmVyXG4vLyAgICAgKHNlYXJjaCwgaGVscCwgbm90aWYsIGF2YXRhcikuIGAubmF2YmFyLWl0ZW1zYCBzYWkgZG8gZmx1eG8gZGFxdWkuXG4vLyAgIOKAoiBCb3R0b20gbmF2IChhIGAubmF2YmFyLWl0ZW1zYCBwcm9tb3ZpZGEgYSBgcG9zaXRpb246IGZpeGVkYCkg4oaSXG4vLyAgICAgYXBlbmFzIG9zIDUgbmF2IGl0ZW1zIHByaW3DoXJpb3MuIDY0cHggKyBzYWZlLWFyZWEgZG8gaVBob25lLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBhcHAtbmF2YmFyIC5uYXZiYXIge1xuICAgIC8vIFRvcCBtaW5pIGJhciDigJQgZm9yw6dhIHRvcCBwb3NpdGlvbiAob3ZlcnJpZGUgZGFzIGBAbWVkaWEgbWF4LXdpZHRoYFxuICAgIC8vIHF1ZSBjb2xvY2F2YW0gYSBuYXZiYXIgaW50ZWlyYSBubyBib3R0b20pLlxuICAgIHRvcDogdmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDhweDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIC8vIE5hdiBpdGVtcyBzYWkgZG8gZmx1eG8gZG8gdG9wIGJhciBlIHZpcmEgYmFycmEgUFLDk1BSSUEgbm8gYm90dG9tLlxuICAgIC8vIGAhaW1wb3J0YW50YCBuYSBwb3NpdGlvbi9ib3R0b20vbGVmdC9yaWdodC9oZWlnaHQgcG9ycXVlIGFzIHJlZ3Jhc1xuICAgIC8vIHNjb3BlZCBkbyBjb21wb25lbnRlIGBuYXZiYXIuY29tcG9uZW50LnNjc3NgIHTDqm0gbWVzbWFcbiAgICAvLyBzcGVjaWZpY2l0eSBlIGNhcnJlZ2FtIERFUE9JUyDigJQgc2VtICFpbXBvcnRhbnQgbyBgcG9zaXRpb246XG4gICAgLy8gcmVsYXRpdmVgIGJhc2UgZG8gY29tcG9uZW50ZSB2ZW5jaWEuXG4gICAgLm5hdmJhci1pdGVtcyB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IC0xcHggIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDY0cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIE9QQUNPIGV4cGzDrWNpdG8g4oCUIG1lc21hIGNvciBkYSBuYXZiYXIgZGVza3RvcFxuICAgICAgICAvLyAoYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmRgIOKAlCB0b2tlbiBnbG9iYWwgZG8gY2hyb21lKS5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gICAgICAgIHotaW5kZXg6IDMwO1xuXG4gICAgICAgIC8vIEluZGljYXRvciArIHVuZGVybGluZSBDT01QQVJUSUxIQURPUyBjb20gbyBkZXNrdG9wIOKAlCBtZXNtYSBKUyxcbiAgICAgICAgLy8gbWVzbWEgQ1NTIGJhc2UgZG8gbmF2YmFyLmNvbXBvbmVudC5zY3NzLiBPIEpTIGFwb250YSBwcmFcbiAgICAgICAgLy8gLm1hdC1pY29uIGVtIG1vYmlsZS1wb3J0cmFpdCwgZW50w6NvIGEgcMOtbHVsYSBkZXNsaXphIG5vIHRhbWFuaG9cbiAgICAgICAgLy8gZG8gw61jb25lLiBPdmVycmlkZXMgbW9iaWxlIGFiYWl4byAodHJhcMOpemlvIGludmVydGlkbyBkb1xuICAgICAgICAvLyB1bmRlcmxpbmUgcHJhIGVsZSBcImFicmlyIHByYSBiYWl4b1wiIG5vIHRvcG8gZG8gcGlsbCkuXG4gICAgICAgIC5uYXZiYXItaXRlbXMtdW5kZXJsaW5lIHtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigycHggMCwgY2FsYygxMDAlIC0gMnB4KSAwLCAxMDAlIDEwMCUsIDAgMTAwJSkgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENhZGEgaXRlbSBvY3VwYSAxLzUgZGEgbGFyZ3VyYSB2aWEgZmxleCDigJQgZGlzdHJpYnVpw6fDo28gdW5pZm9ybWUuXG4gICAgICAgIGFwcC1zaWRlYmFyLWl0ZW0ge1xuICAgICAgICAgICAgZmxleDogMSAxIDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAgIC8vIEJvdHRvbS1uYXYgbW9iaWxlIMOpIEZMQVQg4oCUIHNlbSBib3JkZXJzLCBzZW0gYmcgbm8gaG92ZXIsIHNlbVxuICAgICAgICAvLyByYWRpdXMgZGUgY2hpcC4gRXN0YWRvIGF0aXZvID0gc8OzIGNvciBhY2NlbnQgKyDDrWNvbmUgZmlsbGVkXG4gICAgICAgIC8vIChwYWRyw6NvIGlPUy9BbmRyb2lkKS4gIWltcG9ydGFudCB2ZW5jZSBvIGxheW91dCBkZXNrdG9wIHBpbGwuXG4gICAgICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDRweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIEEgcmVncmEgLnNlbGVjdGVkIGFudGlnYSAodHJhbnNwYXJlbnQpIGZvaSBSRU1PVklEQSDigJQgY29uZmxpdGF2YVxuICAgICAgICAvLyBjb20gbyBiZyBhY2NlbnQgdGludCBxdWUgYXBsaWNhbW9zIG5vIFRpZXIgMSAoYmxvY28gYWJhaXhvKS5cbiAgICAgICAgLy8gU29tZSBjb20gbyB1bmRlcmxpbmUgYWNjZW50IGRvIGl0ZW0gYXRpdm8g4oCUIGVzdGFkbyBhdGl2byBqw6FcbiAgICAgICAgLy8gw6kgc2luYWxpemFkbyBwZWxhIGNvciBkbyB0ZXh0by/DrWNvbmUgdmlhIF9jb2xvci1zY2hlbWUuc2Nzcy5cbiAgICAgICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uOjpiZWZvcmUsXG4gICAgICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gRGFyazogYm9yZGVyLXRvcCBkbyBib3R0b20gbmF2IG11ZGEgcHJhIHRva2VuIGRhcmsuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9iaWxlIFBvcnRyYWl0IOKAlCBQb2xpbWVudG8gVGllciAxICsgMiAobmF2YmFyKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29tcGxlbWVudGEgbyBibG9jbyBhbnRlcmlvci4gQWRpw6fDtWVzOlxuLy8gICBUMS4xIExvZ28gdG9wLWxlZnQgcmVzdGF1cmFkb1xuLy8gICBUMS4yIMONY29uZXMgZG8gcmlnaHQtY29udGFpbmVyIGVtcHVycmFkb3MgcHJhIGRpcmVpdGFcbi8vICAgVDEuMyBFc3RhZG8gYXRpdm8gZG8gYm90dG9tIG5hdiBjb20gYmcgYWNjZW50IHRpbnQgKyB0b3AgYmFyIDNweFxuLy8gICBUMS40IEljb24gc2l6ZSAyMnB4IG5vIGJvdHRvbSBuYXZcbi8vICAgVDIuNSA6YWN0aXZlIHRhcCBmZWVkYmFjayAoYmcgYW8gdG9jYXIpXG4vLyAgIFQyLjYgTGFiZWwgMTFweCArIG1haXMgcmVzcGlybyBlbnRyZSDDrWNvbmUgZSBsYWJlbFxuLy8gICBUMi43IENvbnRlbnQgZ3V0dGVyIGxhdGVyYWwgMTbihpIxMlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBhcHAtbmF2YmFyIHtcbiAgICAvLyBUMS4xIOKAlCBMb2dvIHZvbHRhIGEgYXBhcmVjZXIgbm8gdG9wLWxlZnQuIFNvYnJlc2NyZXZlIG9cbiAgICAvLyBgZGlzcGxheTogbm9uZWAgRSBgd2lkdGg6IDBweGAgZG8gYEBtZWRpYSBtYXgtd2lkdGhgIGRvIGNvbXBvbmVudC5cbiAgICAubmF2YmFyIGEubG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCA4cHggMCA0cHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgLy8gTsODTyB1c2EgYD5gIChkaXJlY3QgY2hpbGQpIHBvcnF1ZSBubyBIVE1MIG8gaW1nIHZpdmUgZGVudHJvIGRlXG4gICAgLy8gYDxwaWN0dXJlPmAgKGdyYW5kY2hpbGQgZGEgYW5jaG9yKS4gRGVzY2VuZGVudGUgw6kgbyBxdWUgY2FzYS5cbiAgICAubmF2YmFyIGEubG9nbyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm5hdmJhciBhLmxvZ28gcGljdHVyZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gVDEuMiDigJQgYC5zcGFjZXJgIChlbnRyZSBuYXYtaXRlbXMgZSByaWdodC1jb250YWluZXIpIHNvbWU7XG4gICAgLy8gcmlnaHQtY29udGFpbmVyIGZpY2EgYW5jb3JhZG8gw6AgZGlyZWl0YSBjb20gbWFyZ2luLWxlZnQgYXV0by5cbiAgICAubmF2YmFyIC5zcGFjZXIgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgLm5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbn1cblxuLy8gQm90dG9tIG5hdiDigJQgTWF0ZXJpYWwgMyBFeHByZXNzaXZlICsgQWRhcHRpdmUgbGFiZWxzLlxuLy8gICDigKIgQ2VsbCBiZyB0b3RhbG1lbnRlIFRSQU5TUEFSRU5URSAoZXJhIHRpbnQgYXp1bCBubyBjZWxsIGludGVpcm8pLlxuLy8gICDigKIgSW5kaWNhdG9yIGJhciBTVVBFUklPUiBSRU1PVklETyAoZXJhIDNweCBhY2NlbnQgbm8gdG9wbykuXG4vLyAgIOKAoiBTZWxlY2lvbmFkbzogUMONTFVMQSBhY2NlbnQgYWJyYcOnYW5kbyBTw5MgbyDDrWNvbmUgKyDDrWNvbmUgRklMTEVEXG4vLyAgICAgKE1hdGVyaWFsIFN5bWJvbHMgdmFyaWF0aW9uIEZJTEw9MSkgKyBsYWJlbCBhY2NlbnQgYm9sZC5cbi8vICAg4oCiIE7Do28tc2VsZWNpb25hZG86IHPDsyDDrWNvbmUgbWFpb3IgKDI2cHgpLCBTRU0gbGFiZWwg4oCUIGxhYmVsIHJlc2VydmFkYVxuLy8gICAgIHZpYSB2aXNpYmlsaXR5OmhpZGRlbiBwcmEgbsOjbyBwdWxhciBhbHR1cmEgbmEgdHJvY2EuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIHtcbiAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC8vIENvbnRhaW5lciBkbyDDrWNvbmUgdmlyYSBvIFwiaGl0Ym94XCIgZGEgcMOtbHVsYS4gVXNhbW9zIHBhZGRpbmdcbiAgICAgICAgLy8gdmVydGljYWwgbWVub3IgcHJhIGRlaXhhciByZXNwaXJvIHBybyBsYWJlbCBhdGl2by5cbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2cHggIWltcG9ydGFudDtcblxuICAgICAgICAvLyBQMyDigJQgSG92ZXIvcHJlc3NlZC4gUMOtbHVsYSBlc2N1cmVjZSB+Mi0zJSBubyB0b3F1ZS9ob3Zlci5cbiAgICAgICAgLy8gQXBsaWNhIGVtIC5tYXQtaWNvbiAobsOjbyBubyBidXR0b24pIHBvcnF1ZSBhIHDDrWx1bGEgVklWRSBub1xuICAgICAgICAvLyAubWF0LWljb24gKGJnIGNvbSBwYWRkaW5nK2JvcmRlci1yYWRpdXMpLlxuICAgICAgICAvLyBUYXAgZmVlZGJhY2sgU1VUSUw6IGJnIGxldmUgbm8gQk9Uw4NPIChuw6NvIG5vIMOtY29uZSkgZHVyYW50ZVxuICAgICAgICAvLyBvIHRvcXVlIOKAlCBuw6NvIHRpbnRhIGEgY29yIGRvIMOtY29uZSwgc8OzIGEgw6FyZWEgYW8gcmVkb3IuXG4gICAgICAgIC8vIEZhZGUgcsOhcGlkbyBwcmEgc2Vuc2HDp8OjbyBkZSBcImZsYXNoIHTDoXRpbFwiLlxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEyMG1zIGVhc2Utb3V0O1xuICAgICAgICAmOmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA0MG1zO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUDIg4oCUIEJhZGdlIG1lbm9yICgxNHB4IGVtIHZleiBkZSAxNnB4KSArIGJvcmRhIGJyYW5jYSAxLjVweFxuICAgIC8vICAgICAgcHJhIFwiZGVzY29sYXJcIiBkbyBmdW5kby9ww61sdWxhLiBBdW1lbnRhIHRyYW5zZm9ybSBZIHByYSBmaWNhclxuICAgIC8vICAgICAgbWFpcyBjb2xhZG8gbmEgYm9yZGEgc3VwZXJpb3IgZG8gw61jb25lLlxuICAgIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbiAuc2lkZWJhci1pdGVtLWJhZGdlIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxcHggNHB4IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogOXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24gLnNpZGViYXItaXRlbS1iYWRnZXMge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNHB4LCAwKSAhaW1wb3J0YW50O1xuICAgICAgICB6LWluZGV4OiAxMDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIC5zaWRlYmFyLWl0ZW0tYmFkZ2Uge1xuICAgICAgICB6LWluZGV4OiAxMDAgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAvLyBRdWVicmEgbyBzdGFja2luZyBjb250ZXh0IGRvIGBhcHAtc2lkZWJhci1pdGVtYCAocXVlIGVyYSB6PTEpIOKAlFxuICAgIC8vIGNvbSBgei1pbmRleDogYXV0b2AsIG8gYmFkZ2UgZXNjYXBhIHBybyBjb250ZXh0byBwYWkgKGAubmF2YmFyLWl0ZW1zYClcbiAgICAvLyBlIHBvZGUgaXIgcHJhIHo9MyAoYWNpbWEgZGEgbGluaGEgYWNjZW50LCB6PTIpLiBBIGJvcmRhIGRvIGJvdMOjb1xuICAgIC8vIGNvbnRpbnVhIG5vIGZsdXhvIG5hdHVyYWwsIEFCQUlYTyBkYSBsaW5oYSBhY2NlbnQgKHo9MikuIE9ubHktYmFkZ2UtdXAsXG4gICAgLy8gYm9yZGVyLXN0aWxsLWRvd24uXG4gICAgYXBwLXNpZGViYXItaXRlbSB7XG4gICAgICAgIHotaW5kZXg6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyDDjUNPTkUgZGVmYXVsdDogcMOtbHVsYSBHSE9TVCAoYmcgY2luemEgdWx0cmEtc3V0aWwpIGVtIFRPRE9TLlxuICAgIC8vIENyaWEgXCJncmlkIHVuaWZvcm1lXCIg4oCUIHRvZG9zIG9zIGl0ZW5zIHBhcmVjZW0gY29udGlkb3MsIGF0aXZvXG4gICAgLy8gdnMuIGluYXRpdm8gc2UgZGlzdGluZ3VlIHBlbG8gdGludCBhY2NlbnQsIG7Do28gcGVsYSBwcmVzZW7Dp2FcbiAgICAvLyBkZSBjb250YWluZXIuXG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIC5tYXQtaWNvbiB7XG4gICAgICAgIC8vIE1hdGNoIHZpc3VhbCBkbyBkZXNrdG9wOiBzw7MgYm9yZGEgbm8gaW5hdGl2bzsgc2VsZWN0ZWQgZ2FuaGFcbiAgICAgICAgLy8gc29tYnJhIChyZWdyYSBhYmFpeG8pLiBTZW0gYmcgdGludCwgc2VtIHVuZGVybGluZS5cbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDIycHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDIycHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgICAgICAgLy8gQ29yICsgb3BhY2lkYWRlIGhlcmRhZGFzIGRvIGNvbG9yLXNjaGVtZSAobWVzbWEgZG9zIMOtY29uZXNcbiAgICAgICAgLy8gbm8gZGVza3RvcCkuIFNlbSBvcGFjaXR5IDwgMSBhcXVpIOKAlCBkZXNrdG9wIG7Do28gZGltbWEuXG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIC8vIEZJTEwgMSBzZW1wcmUg4oCUIMOtY29uZXMgZG8gYm90dG9tIG5hdiBlbSBtb2JpbGUgc8OjbyBmaWxsZWRcbiAgICAgICAgLy8gKG1haXMgbWFzc2EgdmlzdWFsLCBsZWl0dXJhIGluc3RhbnTDom5lYSBlbSB0b3F1ZSkuXG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnRklMTCcgMSwgJ3dnaHQnIDQwMCwgJ29wc3onIDI0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gTEFCRUwgZGVmYXVsdDogc2VtcHJlIFZJU8ONVkVMIChldml0YSByZWNvbmhlY2ltZW50byB0cnVuY2FkbyBzw7NcbiAgICAvLyBwZWxvIMOtY29uZSwgZXNwZWNpYWxtZW50ZSBwb3JxdWUgb3Mgw61jb25lcyBhcXVpIHTDqm0gY29yZXMgZGUgbWFyY2FcbiAgICAvLyBxdWUgbsOjbyBzZSBwcmVzdGFtIGEgc2VyZW0gbGlkb3MgY29tbyBcImVzdGFkb1wiKS5cbiAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24gLmxhYmVsLXNob3J0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLXRvcDogM3B4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gRXN0YWRvIEFUSVZPIOKAlCBwaWxsIGFjY2VudCArIGZpbGxlZCArIGxhYmVsIHZpc8OtdmVsLlxuICAgIC8vIGAuc2VsZWN0ZWQuc2VsZWN0ZWRgIChkdXBsaWNhZG8pIGJ1bXBvIHNwZWNpZmljaXR5IHByYSB2ZW5jZXIgb1xuICAgIC8vIGAubmF2YmFyW19uZ2NvbnRlbnQtKl0gLm5hdmJhci1pdGVtc1tfbmdjb250ZW50LSpdIC5zaWRlYmFyLWl0ZW1cbiAgICAvLyAuamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZGAgZG8gY29tcG9uZW50ICgwLDcsMCBwZWxvIG5nY29udGVudCkuXG4gICAgLy8gU2VsZWN0ZWQ6IHBpbGwgYnJhbmNvICsgYWNjZW50IGxpbmUgdsOqbSBkbyBgLm5hdmJhci1pdGVtcy1pbmRpY2F0b3JgXG4gICAgLy8gKyBgLm5hdmJhci1pdGVtcy11bmRlcmxpbmVgIChKUyBzaGFyZWQgY29tIGRlc2t0b3AsIGFuaW1hIGVudHJlIGl0ZW5zKS5cbiAgICAvLyBBcXVpIHPDsyBuZXV0cmFsaXphbW9zIG8gZ2hvc3QgcGlsbCBkYSAubWF0LWljb24gKHRyYW5zcGFyZW50ZSksXG4gICAgLy8gbWFudGVuZG8gbyDDrWNvbmUgb3BhY28uXG4gICAgLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkLnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgLm1hdC1pY29uIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAvLyBCZyArIGJvcmRlciBoZXJkYW0gZG8gZXN0YWRvIGRlZmF1bHQgKHRyYW5zcGFyZW50ZSArIGJvcmRhXG4gICAgICAgICAgICAvLyBjaHJvbWUpLiBNYXRjaCBkZXNrdG9wOiBzZWxlY3RlZCBOw4NPIGVzY29uZGUgYm9yZGEgbmVtXG4gICAgICAgICAgICAvLyBtdWRhIGJnIGRvIHByw7NwcmlvIGJvdMOjbyAobyBpbmRpY2F0b3IgYnJhbmNvIHZpdmUgbnVtXG4gICAgICAgICAgICAvLyBlbGVtZW50byBzZXBhcmFkbyBhdHLDoXMg4oCUIC5uYXZiYXItaXRlbXMtaW5kaWNhdG9yKS5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gRGFyazogc8OzIGFqdXN0ZSBkZSBib3JkZXItY29sb3IgcHJhIGNocm9tZS1ib3JkZXItZGFyayAobWVzbW8gcGFkcsOjb1xuLy8gZG8gc2lkZWJhci1pdGVtIGNvbXBvbmVudCBlbSBgOmhvc3QtY29udGV4dCguZGFyay10aGVtZSlgKS5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIHtcbiAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24gLm1hdC1pY29uIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICAgIH1cbiAgICAvLyBTZWxlY3RlZCBlbSBkYXJrOiBzZW0gYmcgZXh0cmEgbm8gLm1hdC1pY29uLiBNYXRjaCBkZXNrdG9wIOKAlFxuICAgIC8vIG8gcGlsbCBicmFuY28vZXNjdXJvIHZlbSBkbyBgLm5hdmJhci1pdGVtcy1pbmRpY2F0b3JgIChzaGFyZWQpLlxufVxuXG4vLyBEYXJrOiBob3Zlci9hY3RpdmUgZGEgcMOtbHVsYSArIGJvcmRhIGRvIGJhZGdlIG5vIGJnIGVzY3Vyby5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIHtcbiAgICAuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTW9iaWxlIFBvcnRyYWl0IOKAlCBNZWxob3JpYXMgVGllciBCL0MvRC9FICsgQSBwYXJjaWFsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIHtcbiAgICAvLyBCLiBTYWZlLWFyZWEtaW5zZXQtdG9wIOKAlCByZXNwZWl0YSBvIG5vdGNoIGRlIGlQaG9uZSAvIHN0YXR1cyBiYXJcbiAgICAvLyAgICBBbmRyb2lkLiBUb3AgYmFyIHNvYmUgcHJhIGZvcmEgZGEgw6FyZWEgXCJjbGljw6F2ZWxcIiBkbyBub3RjaCBlXG4gICAgLy8gICAgYXVtZW50YSBhbHR1cmEgcHJhIGNvbXBlbnNhci5cbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDApICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogY2FsYyg0OHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDApKSAhaW1wb3J0YW50O1xuICAgICAgICAvLyBUcmFuc3BhcmVudGUg4oCUIG8gZ2xhc3MgZG8gLm1haW4taGVhZGVyIChxdWUgY29icmUgVE9ETyBvXG4gICAgICAgIC8vIHRvcG8sIG5vdGNoIGluY2x1w61kbykgw6kgcXVlbSB2aXN1YWxtZW50ZSByZXByZXNlbnRhIGEgdG9wIGJhci5cbiAgICAgICAgLy8gU8OTIGJnIOKAlCBOQURBIGRlIGJhY2tkcm9wLWZpbHRlci90cmFuc2Zvcm0vZmlsdGVyIGFxdWksIHNlbsOjb1xuICAgICAgICAvLyB2aXJhIGNvbnRhaW5pbmcgYmxvY2sgZSBxdWVicmEgbyBgcG9zaXRpb246IGZpeGVkYCBkYSBib3R0b21cbiAgICAgICAgLy8gbmF2IChgLm5hdmJhci1pdGVtc2Agc29iZSBwcmEgZGVudHJvIGRvIHRvcG8pLlxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLy8gQy4gQm90dG9tIG5hdiBjb20gc29tYnJhIHN1dGlsIOKAlCBkw6Egc2Vuc2HDp8OjbyBkZSBjYW1hZGEgZWxldmFkYVxuICAgIC8vICAgIHNvYnJlIG8gY29udGXDumRvIChwYWRyw6NvIGlPUy9BbmRyb2lkKS4gU3Vic3RpdHVpIGEgYm9yZGVyLXRvcFxuICAgIC8vICAgIHBsYW5hIHBvciB1bWEgc29tYnJhIHN1cGVyaW9yIDItY2FtYWRhcy5cbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyB7XG4gICAgICAgIGJvcmRlci10b3A6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAtMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDYpLFxuICAgICAgICAgICAgICAgICAgICAwIC0zcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICAgIH1cblxuICAgIC8vIEQuIExvZ28sIHNlYXJjaCwgaGVscCwgYmVsbCDigJQgVE9ET1Mgb2N1bHRvcyBubyB0b3BvLiBTZWFyY2gsXG4gICAgLy8gICAgaGVscGRlc2sgZSBub3RpZmljYcOnw7VlcyBtaWdyYW0gcHJvIG1lbnUgZG8gdXN1w6FyaW8gKGTDqWJpdG9cbiAgICAvLyAgICBkZSB0ZW1wbGF0ZSDigJQgYWluZGEgbsOjbyBtb3ZpZG9zLCBhcGVuYXMgb2N1bHRvcyBhcXVpKS5cbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgYS5sb2dvLFxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAuc3BhY2VyLFxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuY29tbWFuZC1wYWxldHRlLXRyaWdnZXIsXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIC5zdXBwb3J0LWhlbHAtYnV0dG9uLFxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciBhcHAtdXNlci1ub3RpZmljYXRpb25zIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIE8gYC5yaWdodC1uYXZiYXItY29udGFpbmVyYCBpbnRlaXJvIHNvbWUgbm8gdG9wbyDigJQgdG9kb3Mgb3Mgw61jb25lc1xuICAgIC8vIChzZWFyY2gvaGVscC9iZWxsL2F2YXRhciBkbyB0b3BvKSBlc3TDo28gb2N1bHRvcyBpbmRpdmlkdWFsbWVudGUuXG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEF2YXRhciBtb2JpbGUg4oCUIDbCuiBzbG90IERFTlRSTyBkYSAubmF2YmFyLWl0ZW1zICh2aXPDrXZlbCBzw7MgYXF1aSkuXG4gICAgLy8gRGVzbG9jYSBhIGZpbGEgZGUgc2lkZWJhci1pdGVtcyA0cHggcHJhIGRpcmVpdGEgKHZpc3VhbCBiYWxhbmNlKS5cbiAgICAvLyBPIGF2YXRhciAobW9iaWxlLXVzZXItbWVudS1zbG90KSBjb21wZW5zYSBjb20gbWFyZ2luLWxlZnQ6IC00cHggcHJhXG4gICAgLy8gbsOjbyBkZXNsb2NhciBqdW50byDigJQgc8OzIG9zIMOtY29uZXMgYW5kYW0uXG4gICAgLy8gRGVzbG9jYSA0cHggcHJhIGRpcmVpdGEgdmlhIG1hcmdpbiAoTsODTyB0cmFuc2Zvcm0g4oCUIHRyYW5zZm9ybSBjcmlhXG4gICAgLy8gc3RhY2tpbmcgY29udGV4dCBlIHByZW5kZSBvIGJhZGdlLCBpbXBlZGluZG8tbyBkZSBzdWJpciBhY2ltYSBkYVxuICAgIC8vIGxpbmhhIGFjY2VudCkuIE1hcmdpbi1sZWZ0IG5vIHByaW1laXJvLCBtYXJnaW4tcmlnaHQgYWp1c3RhZG8gbm9cbiAgICAvLyDDumx0aW1vOyBvdSBhcGVuYXMgcGFkZGluZ2cgbmEgbmF2YmFyLWl0ZW1zIHByYSBlbXB1cnJhciB0b2Rvcy5cbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNHB4O1xuICAgIH1cbiAgICBhcHAtbmF2YmFyIC5uYXZiYXIgLm5hdmJhci1pdGVtcyAubW9iaWxlLXVzZXItbWVudS1zbG90IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAvLyBTb2JlIG1haXMgcXVlIG9zIG91dHJvcyDigJQgbyBhdmF0YXIgKDM2w5czNikgw6kgbWFpb3IgcXVlIG8gcGlsbFxuICAgICAgICAvLyBkbyDDrWNvbmUgKH4zMiBhbHRvKSwgZW50w6NvIHByZWNpc2EgY29tZcOnYXIgbWFpcyBhbHRvIHByYSBxdWUgb1xuICAgICAgICAvLyBjZW50cm8gdmlzdWFsIGJhdGEgY29tIGEgXCJsaW5oYSBkb3Mgw61jb25lc1wiIChuw6NvIGNvbSBhIGxpbmhhXG4gICAgICAgIC8vIGRvcyBsYWJlbHMpLlxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgZmxleDogMCAwIDU2cHg7XG4gICAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMgLm1vYmlsZS11c2VyLW1lbnUtc2xvdCAudXNlci1tZW51LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zIC5tb2JpbGUtdXNlci1tZW51LXNsb3QgLnVzZXItbWVudS1waG90byB7XG4gICAgICAgIHdpZHRoOiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICAgICAgICAvLyBDYW50b3MgYXJyZWRvbmRhZG9zIOKAlCBtZXNtbyAkY2hyb21lLXJhZGl1cyBkbyBhdmF0YXIgZGVza3RvcC5cbiAgICAgICAgLy8gQSByZWdyYSBkbyBkZXNrdG9wIG1pcmEgYC5yaWdodC1uYXZiYXItY29udGFpbmVyIC51c2VyLW1lbnUtcGhvdG9gXG4gICAgICAgIC8vIGUgbsOjbyBwZWdhIGVzc2Ugbm92byBzbG90LlxuICAgICAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAvLyBFLiBHdXR0ZXIgbGF0ZXJhbCBkb3MgY2FyZHMgbWFpcyBhcGVydGFkbyBlbSBtb2JpbGUgcG9ydHJhaXQuXG4gICAgLy8gICAgQXByb3ZlaXRhIGEgbGFyZ3VyYSBlc3RyZWl0YSBkbyB2aWV3cG9ydCAobWFpcyBlc3Bhw6dvIHByb1xuICAgIC8vICAgIGNvbnRlw7pkbykuIEFwbGljYSBubyBzaGVsbCBwYWRyw6NvIGAucGFnZS1jb250ZW50YC5cbiAgICAvLyAgICBUYW1iw6ltOiBgei1pbmRleDogYXV0b2AgZGVycnViYSBvIHN0YWNraW5nIGNvbnRleHQgcXVlXG4gICAgLy8gICAgcHJlbmRlcmlhIG8gYC5tYWluLWhlYWRlcmAgKHo9MzIpIGFiYWl4byBkYSBuYXZiYXIgKHo9MzEpLFxuICAgIC8vICAgIHRvcm5hbmRvIG8gZmlsdHJvIGludmlzw612ZWwgbm8gdG9wby5cbiAgICAucGFnZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHggIWltcG9ydGFudDtcbiAgICAgICAgei1pbmRleDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICAvLyBob21lLnNjc3MgZW1wdXJyYSAucGFnZS1jb250ZW50IHByYSBiYWl4byAodG9wOiBuYXZiYXIrMytjaHJvbWUpXG4gICAgICAgIC8vIOKAlCBlbSBtb2JpbGUtcG9ydHJhaXQgbyBvZmZzZXQgdml2ZSBubyAubWFpbi1ib2R5LCBhcXVpIHplcmEuXG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAvLyBob21lLnNjc3MgYXBsaWNhIHBhZGRpbmctYm90dG9tOiBuYXZiYXItaGVpZ2h0KzI4ICg9ODNweCkgZW1cbiAgICAgICAgLy8gaVBob25lOC1wb3J0cmFpdCDigJQgbGVnYWRvIGRhIGJvdHRvbS1iYXIgYW50aWdhLiBPIG5vc3NvIGJvZHlcbiAgICAgICAgLy8gasOhIHJlc2VydmEgMzIrc2FmZSBwcmEgYm90dG9tIG5hdiwgZW50w6NvIGFxdWkgemVyYSBwcmEgbsOjb1xuICAgICAgICAvLyBkdXBsaWNhciBmb2xnYS5cbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBBLiBGVVPDg08gbmF2YmFyICsgbWFpbi1oZWFkZXIgZW0gVU1BIGxpbmhhIHPDsy5cbiAgICAvLyAgICBMYXlvdXQ6IFtmaWx0cm8gZGEgcMOhZ2luYSBjZW50cmFsaXphZG9dIFthdmF0YXIgKHVzZXItbWVudSldLlxuICAgIC8vICAgIE8gYC5tYWluLWhlYWRlcmAgZGEgcMOhZ2luYSDDqSBQT1NJQ0lPTkFETyBzb2JyZSBhIGZhaXhhIGRhXG4gICAgLy8gICAgbmF2YmFyICh0b3A9MCArIHNhZmUtYXJlYSkgZSB2aXJhIG8gZG9ubyB2aXN1YWwgZG8gdG9wby5cbiAgICAvLyAgICBUaXRsZSBkYSBww6FnaW5hIHNvbWUgKGJvdHRvbSBuYXYgasOhIHNpbmFsaXphIGEgcMOhZ2luYSBhdGl2YSkuXG4gICAgLy8gICAgcmlnaHQ6IDYwcHggcmVzZXJ2YSBlc3Bhw6dvIHBybyBhdmF0YXIgcXVlIGNvbnRpbnVhIG5vIG5hdmJhci5cbiAgICAvLyBIZWFkZXIgZW0gbW9iaWxlLXBvcnRyYWl0IOKAlCBVTSDDum5pY28gYmxvY28gZGUgcmVncmFzLiBFc3BlY2lmaWNpZGFkZVxuICAgIC8vIGFsdGEgKDYgY2xhc3NlcykgcHJhIHZlbmNlciBvIGBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnRgIGRvXG4gICAgLy8gZXZlbnRzLmNvbXBvbmVudC5zY3NzIGNvbXBpbGFkbyBjb20gMyBhdHRycyBgX25nY29udGVudGAgKHNwZWMgMCw2LDApLlxuICAgIC5tYWluLWhlYWRlci5tYWluLWhlYWRlci5tYWluLWhlYWRlci5tYWluLWhlYWRlci5tYWluLWhlYWRlci5tYWluLWhlYWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoNDhweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKSkgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDhweCAhaW1wb3J0YW50O1xuICAgICAgICAvLyBwYWRkaW5nLXRvcCBjb21wZW5zYSBvIG5vdGNoIOKAlCBmaWx0cm8gZmljYSBhYmFpeG8gZGVsZS5cbiAgICAgICAgcGFkZGluZzogZW52KHNhZmUtYXJlYS1pbnNldC10b3AsIDApIDEycHggMCAhaW1wb3J0YW50O1xuICAgICAgICAvLyDDmk5JQ0EgbGF5b3V0IHJlZ3JhIOKAlCBmbGV4LWNlbnRlci4gQW51bGEgbyBncmlkIGhlcmRhZG8uXG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIEdsYXNzICsgemVybyBzb21icmEgKGdsYXNzIHJlYWwgdml2ZSBubyA6OmJlZm9yZSkuXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHotaW5kZXg6IGNhbGMoI3skbmF2YmFyLXotaW5kZXh9ICsgMSkgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICAgIC8vIENhbWFkYSBkZSBibHVyIGNvbSBtw6FzY2FyYSBncmFkaWVudGUuIEZpY2EgQVRSw4FTIGRvIGNvbnRlw7pkbyBkb1xuICAgIC8vIGhlYWRlciAoZmlsdGVyIGNoaXApIHBvcnF1ZSBhIG9yZGVtIG5vIERPTSAoOjpiZWZvcmUgYW50ZXMgZGVcbiAgICAvLyBmaWxob3MgcmVhaXMpIGUgbyBwb2ludGVyLWV2ZW50czpub25lIGdhcmFudGVtIHF1ZSBuw6NvIGludGVyY2VwdGVcbiAgICAvLyBpbnRlcmHDp8Ojby5cbiAgICAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXI6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIFRpbnQgZW0gZ3JhZGllbnRlOiB0b3BvIGNvbSA1MCUgZGUgb3BhY2lkYWRlIGJyYW5jYSwgcm9kYXDDqVxuICAgICAgICAvLyAxMDAlIHRyYW5zcGFyZW50ZS4gQ29tYmluYWRvIGNvbSBvIG1hc2sgKG1lc21vIHBlcmZpbCkgZMOhIHVtXG4gICAgICAgIC8vIGZhZGUgZHVwbG8gc3VhdmUg4oCUIG5vIHJvZGFww6kgc29tZSB0YW50byBvIHRpbnQgcXVhbnRvIG8gYmx1ci5cbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigzcHgpIHNhdHVyYXRlKDExNSUpO1xuICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoM3B4KSBzYXR1cmF0ZSgxMTUlKTtcbiAgICAgICAgLy8gTcOhc2NhcmE6IG9wYWNhIG5vIHRvcG8gKGJsdXIgY2hlaW8pIOKGkiB0cmFuc3BhcmVudGUgbm8gZmltXG4gICAgICAgIC8vIChibHVyIHplcm8pLiBNYXRjaCBpT1MvbWFjT1MgdHJhbnNsdWNlbnQgbmF2LlxuICAgICAgICAtd2Via2l0LW1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMwMDAgMCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgICAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDAwIDAlLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICB9XG4gICAgLy8gT3ZlcnJpZGUgZG8gZXZlbnRzLmNvbXBvbmVudC5zY3NzIHF1ZSBhcGxpY2EgYm94LXNoYWRvdyBlbSBpcy1zY3JvbGxlZC5cbiAgICAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIuaXMtc2Nyb2xsZWQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLy8gKEFudGVzOiBgOjpiZWZvcmUgeyBkaXNwbGF5OiBub25lIH1gIHByYSBkZXNsaWdhciBhIGV4dGVuc8OjbyBkZSBiZ1xuICAgIC8vICBkbyBldmVudHMuc2Nzcy4gQWdvcmEgcmVhcHJvdmVpdGFtb3MgbyA6OmJlZm9yZSBwcm8gZ2xhc3MgZ3JhZGllbnQsXG4gICAgLy8gIGVudMOjbyBOw4NPIGVzY29uZGVtb3MgbWFpcy4gQSByZWdyYSBkbyBnbGFzcyBmaWNhIG5vIGJsb2NvIEEuKVxuXG4gICAgLy8gVGl0bGUgZGEgcMOhZ2luYSBzb21lIOKAlCBib3R0b20gbmF2IGrDoSBtb3N0cmEgcXVhbCBww6FnaW5hIGVzdMOhIGF0aXZhLlxuICAgIC5tYWluLWhlYWRlci5tYWluLWhlYWRlciAubWFpbi10aXRsZSxcbiAgICAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIgLnBhZ2UtYWN0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBGaWx0cm8gw6kgbyDDum5pY28gZmlsaG8gdmlzw612ZWwuIFNlbSBncmlkLWNvbHVtbiwgc2VtIGp1c3RpZnktc2VsZi5cbiAgICAvLyBDb21vIG8gcGFpIMOpIGZsZXgtY2VudGVyLCBvIGZpbHRybyBjZW50cmFsaXphIGF1dG9tYXRpY2FtZW50ZS5cbiAgICAvLyBtYXgtd2lkdGggbGltaXRhIGEgbGFyZ3VyYSDDunRpbDsgbWFyZ2luIGF1dG8gZm9yw6dhIGNlbnRyYWxpemHDp8Ojb1xuICAgIC8vIGNhc28gb3V0cm9zIGlybcOjb3MgYXBhcmXDp2FtLlxuICAgIC8vIFNocmluay10by1maXQ6IGZpbHRybyBzw7Mgb2N1cGEgYSBsYXJndXJhIG5hdHVyYWwgZG8gY2hpcCAofjI4MHB4KS5cbiAgICAvLyBTZW0gd2lkdGg6IDEwMCUsIHNlbSBtYXgtd2lkdGguIE8gZmxleC1jZW50ZXIgZG8gLm1haW4taGVhZGVyXG4gICAgLy8gY2VudHJhbGl6YSBhIGNhaXhhIGludGVpcmEgYXV0b21hdGljYW1lbnRlLiBTZSBhbGd1bSBkaWEgbyBjaGlwXG4gICAgLy8gZmljYXIgbXVpdG8gbGFyZ28sIGNhcCBjb20gbWF4LXdpZHRoLlxuICAgIC5tYWluLWhlYWRlci5tYWluLWhlYWRlciAucGFnZS1zZWFyY2gtZmlsdGVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogNnB4O1xuICAgIH1cbiAgICAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXIgLnBhZ2Utc2VhcmNoLWZpbHRlciBhcHAtY3VzdG9tLXNlYXJjaCB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIOKUgOKUgCBhcHAtY3VzdG9tLXNlYXJjaCDigJQgZGVzaWduIGdsb2JhbCBtb2JpbGUg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICAgLy8gQXBsaWNhIGVtIFRPREFTIGFzIGluc3TDom5jaWFzIGRvIGNvbXBvbmVudGUgZW0gbW9iaWxlLXBvcnRyYWl0LFxuICAgIC8vIG7Do28gc8OzIG5vIGhlYWRlciAoMTAgY2FsbGVycyBhZG1pbiB0YW1iw6ltIGhlcmRhbSBxdWFuZG8vc2UgbyBhcHBcbiAgICAvLyBmb3IgdXNhZG8gZW0gbW9iaWxlKS5cbiAgICAvLyDigKIgRXNjb25kZSBvIGF0YWxobyBcIi9cIiAobsOjbyBmYXogc2VudGlkbyBlbSB0b3F1ZSlcbiAgICAvLyDigKIgQm9yZGVyLXJhZGl1cyBhcnJlZG9uZGFkbyBkb3MgZG9pcyBsYWRvcyAocGlsbCBzaGFwZSlcbiAgICBhcHAtY3VzdG9tLXNlYXJjaCAuc2hvcnRjdXQtaGludCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtZXhwYW5kZWQsXG4gICAgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtdHJpZ2dlciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLFxuICAgICAgICAgICAgICAgICAgICAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE2KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEJvdMOjbyBkZSBmaWx0cm8gKGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLS1maWx0ZXJgKSBhbyBsYWRvIGRvXG4gICAgLy8gY2hpcCDigJQgZW0gbW9iaWxlIGRldmUgdGVyIG1lc21hIGJnIGUgc29tYnJhIGRvIGNoaXAgcHJhIHBhcmVjZXJlbVxuICAgIC8vIFwiaXJtw6Nvc1wiLiBCZyA9IGAkYWRtaW4tYmFja2dyb3VuZGAgKG8gTUVTTU8gZG8gYC5jaGlwLWV4cGFuZGVkYCBlbVxuICAgIC8vIF9jb2xvci1zY2hlbWUuc2NzcyDigJQgY29tIGBhbHdheXNPcGVuYCBvIGNoaXAgdmlzw612ZWwgw6kgbyBleHBhbmRpZG8sXG4gICAgLy8gbsOjbyBvIHRyaWdnZXIgY29sYXBzYWRvKSwgc29tYnJhIGlkw6pudGljYS5cbiAgICAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uLS1maWx0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE0KSxcbiAgICAgICAgICAgICAgICAgICAgMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xNikgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyAubWFpbi1ib2R5IG9mZnNldCA9IHPDsyBuYXZiYXIgKDQ4ICsgc2FmZS1hcmVhKSArIGZvbGdhICg4cHgpLlxuICAgIC8vIFNlbSBlc3Bhw6dvIGV4dHJhIHBybyBoZWFkZXIg4oCUIGVsZSBhZ29yYSB2aXZlIERFTlRSTyBkYSBmYWl4YVxuICAgIC8vIGRhIG5hdmJhci5cbiAgICAubWFpbi1ib2R5IHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGMoNDhweCArIGVudihzYWZlLWFyZWEtaW5zZXQtdG9wLCAwKSkgIWltcG9ydGFudDtcbiAgICAgICAgLy8gUmVzZXJ2YSBwcm8gYm90dG9tIG5hdiDigJQgYXF1aSBlIG7Do28gbm8gYm9keSBwb3JxdWUgLmhvbWVcbiAgICAgICAgLy8gKGFuY2VzdG9yKSDDqSBoZWlnaHQ6MTAwdmggKyBvdmVyZmxvdyB2aXNpYmxlLCBvIHF1ZSBmYXogb1xuICAgICAgICAvLyBwYWRkaW5nIGRvIGJvZHkgc2VyIFwiZW5nb2xpZG9cIiBxdWFuZG8gb3MgY2FyZHMgb3ZlcmZsb3dhbS5cbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoNjRweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwKSkgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIEMtZGFyazogc29tYnJhIG1haXMgaW50ZW5zYSBwcmEgdmVuY2VyIGJnIGVzY3VybyArIGJnIG9wYWNvLlxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGFwcC1uYXZiYXIgLm5hdmJhciAubmF2YmFyLWl0ZW1zLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgYXBwLW5hdmJhciAubmF2YmFyIC5uYXZiYXItaXRlbXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgLTJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjUpLFxuICAgICAgICAgICAgICAgIDAgLTZweCAxNHB4IHJnYmEoMCwgMCwgMCwgMC4zNSkgIWltcG9ydGFudDtcbn1cblxuLy8gR2xhc3MgZGFyazogbmF2YmFyIHRyYW5zcGFyZW50ZSArIHRpbnQgZG8gaGVhZGVyIGVtICMyMDIwMjAgKG1lc21hXG4vLyBjb3IgZGEgLm5hdmJhciBkbyBkZXNrdG9wIGRhcmsgPSAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspLlxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGFwcC1uYXZiYXIgLm5hdmJhcixcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIGFwcC1uYXZiYXIgLm5hdmJhciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiBub25lICFpbXBvcnRhbnQ7XG59XG4vLyBEYXJrIGRvIGZpbHRlciBidXR0b24g4oCUIGAkYWRtaW4tYmFja2dyb3VuZC1kYXJrYCwgcGFyZWFuZG8gb1xuLy8gYC5jaGlwLWV4cGFuZGVkYCBkYXJrIChtZXNtbyBwYXIgbGlnaHQvZGFyayBkYSByZWdyYSBhY2ltYSkuXG5ib2R5LmRhcmstdGhlbWVbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi0tZmlsdGVyLFxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5LmRhcmstdGhlbWUgLmNoYWlyLWhlYWRlci1pY29uLWJ1dHRvbi0tZmlsdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG5ib2R5LmRhcmstdGhlbWVbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLm1haW4taGVhZGVyLm1haW4taGVhZGVyOjpiZWZvcmUsXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSAubWFpbi1oZWFkZXIubWFpbi1oZWFkZXI6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgzMiwgMzIsIDMyLCAwLjUpIDAlLCByZ2JhKDMyLCAzMiwgMzIsIDApIDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1vYmlsZSBQb3J0cmFpdCDigJQgTWVudSBkbyB1c3XDoXJpbyBjb21vIEJPVFRPTSBTSEVFVFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTyBwb3BvdmVyIGRvIGF2YXRhciAoYC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlYCkgw6lcbi8vIHBvcnRhZG8gcHJvIDxib2R5PiDigJQgcmVncmFzIGdsb2JhaXMgY2FzYW0uIEVtIG1vYmlsZS1wb3J0cmFpdCBlbGUgZGVpeGEgZGVcbi8vIHNlciBwb3BvdmVyIGFuY29yYWRvIGUgdmlyYSBib3R0b20gc2hlZXQ6IHNvYmUgZG8gcm9kYXDDqSwgb2N1cGEgYSBsYXJndXJhXG4vLyB0b2RhLCBjYW50b3Mgc3VwZXJpb3JlcyBhcnJlZG9uZGFkb3MsIGhhbmRsZSBiYXIgbm8gdG9wbywgc2NyaW0gYXRyw6FzLlxuLy8gRGVza3RvcCBlIHRhYmxldHMgTsODTyByZWNlYmVtIGVzc2FzIHJlZ3JhcyDigJQgbyBwb3BvdmVyIGFuY29yYWRvIG5vcm1hbFxuLy8gY29udGludWEgdmFsZW5kbyBsw6EuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIHtcbiAgICAvLyBBbnVsYSB0cmFuc2Zvcm0gaW5saW5lIHNldGFkbyBwZWxvIGBwb3NpdGlvbigpYCBkbyBwb3BvdmVyIOKAlCBzaGVldCBmaWNhXG4gICAgLy8gZml4byBubyByb2RhcMOpLCBuw6NvIGFuY29yYWRvIGFvIHRyaWdnZXIuXG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAvLyBBbHR1cmEgVkFSScOBVkVMIOKAlCBjcmVzY2UgY29tIG8gY29udGXDumRvLiBDYXAgZW0gOTJ2aCBzw7MgY29tb1xuICAgIC8vIHNhbHZhZ3VhcmRhIChleC46IGlkaW9tYXMgZnV0dXJvcyBhdW1lbnRhbSBkZW1haXMgbyBtZW51KS5cbiAgICAvLyBgaGVpZ2h0OiBhdXRvYCArIG1heCBjYXAgPSBzaGVldCBhY29tcGFuaGEgbyBuw7ptZXJvIGRlIGl0ZW5zLlxuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1heC1oZWlnaHQ6IDkydmggIWltcG9ydGFudDtcbiAgICAvLyBPdmVyZmxvdyBSRURJUkVDSU9OQURPIHBybyBgLnRwYy11c2VyLW1lbnVgIChjaGlsZCkg4oCUIHNlIG9cbiAgICAvLyBzY3JvbGwgZmljYXIgbm8gc2hlZXQsIG8gYnJvd3NlciBoaWphY2thIG8gZ2VzdG8gZGUgYXJyYXN0YXJcbiAgICAvLyBwcmEgYmFpeG8gY29tbyBzY3JvbGwgaW50ZXJubyBlIGVtaXRlIHBvaW50ZXJjYW5jZWwsIG1hdGFuZG9cbiAgICAvLyBtZXUgZHJhZy10by1jbG9zZS5cbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICAvLyB0b3VjaC1hY3Rpb246IG5vbmUgaW1wZWRlIHF1YWxxdWVyIGhpamFjayBkbyBicm93c2VyIHNvYnJlIGdlc3Rvc1xuICAgIC8vIG5vIHNoZWV0LiBPIHNjcm9sbCB2aXZlIG5vIGZpbGhvLCBjb20gcGFuLXkgYXRpdm8gbMOhLlxuICAgIHRvdWNoLWFjdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIC8vIEJnIGRvIHNoZWV0IOKAlCBtZXNtYSBjb3IgZG8gYC50cGMtdXNlci1tZW51YCAodmlhXG4gICAgLy8gYCRzaWRlYmFyLWFkbWluLWJhY2tncm91bmRgKS4gTyBzaGVldCB0ZW0gcGFkZGluZy10b3AgcHJvIGhhbmRsZVxuICAgIC8vIGJhcjsgc2VtIGJnIHByw7NwcmlvLCBlc3NhIGZhaXhhIGZpY2FyaWEgdHJhbnNwYXJlbnRlIGUgbW9zdHJhcmlhXG4gICAgLy8gbyBzY3JpbS9ww6FnaW5hIGF0csOhcy5cbiAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kO1xuICAgIC8vIENhbnRvcyBhcnJlZG9uZGFkb3Mgc8OzIG5vIHRvcG8gKHNlbnNhw6fDo28gZGUgXCJzaGVldCBzdWJpbmRvXCIpLlxuICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDAgIWltcG9ydGFudDtcbiAgICAvLyBIYW5kbGUgYmFyIHZpc3VhbCDigJQgZ3JpcCBjaW56YSBjZW50cmFsaXphZG8gbm8gdG9wby5cbiAgICBwYWRkaW5nLXRvcDogMThweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tLCAwKSArIDEycHgpICFpbXBvcnRhbnQ7XG4gICAgLy8gU29tYnJhIHByYSBkZXNjb2xhciBkbyBiZyBhdHLDoXMuXG4gICAgYm94LXNoYWRvdzogMCAtNnB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjE4KSAhaW1wb3J0YW50O1xuICAgIC8vIEFuaW1hIGVudHJhZGEg4oCUIHNvYmUgZGUgYmFpeG8uXG4gICAgYW5pbWF0aW9uOiBtb2JpbGUtdXNlci1zaGVldC1pbiAyNDBtcyBjdWJpYy1iZXppZXIoLjIsIC44LCAuMiwgMSk7XG59XG4vLyBIYW5kbGUgYmFyIChncmlwKSB2aWEgOjpiZWZvcmUg4oCUIHBlcXVlbm8gcGlsbCBjaW56YSBubyB0b3BvIGRvIHNoZWV0LlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA4cHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYmFja2dyb3VuZDogJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlOjpiZWZvcmUsXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbn1cbi8vIEJnIGRvIHNoZWV0IGVtIGRhcmsg4oCUIHVzYSBgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrYCAobWVzbWEgY29yXG4vLyBkbyAudHBjLXVzZXItbWVudSBkYXJrKS5cbmJvZHkuZGFyay10aGVtZVtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSxcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIFNjcmltIGF0csOhcyBkbyBzaGVldDogZXNjdXJlY2UgbyBhcHAgcGFyYSBzaW5hbGl6YXIgcXVlIG8gc2hlZXQgw6kgbW9kYWwuXG4vLyBVc2Ftb3MgYDpoYXMoKWAgcHJhIHPDsyBhcGxpY2FyIHF1YW5kbyBvIHNoZWV0LWNhbmRpZGF0ZSBlc3TDoSBhYmVydG8gbm8gYm9keS5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keTpoYXMoLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSkgLmplbXMtcG9wb3Zlci1iYWNrZHJvcCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMCwgMjAsIDIwLCAwLjQyKSAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbjogbW9iaWxlLXVzZXItc2NyaW0taW4gMjQwbXMgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgbW9iaWxlLXVzZXItc2hlZXQtaW4ge1xuICAgIGZyb20geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSkgIWltcG9ydGFudDsgfVxuICAgIHRvICAgeyB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDsgfVxufVxuQGtleWZyYW1lcyBtb2JpbGUtdXNlci1zY3JpbS1pbiB7XG4gICAgZnJvbSB7IGJhY2tncm91bmQ6IHJnYmEoMjAsIDIwLCAyMCwgMCk7IH1cbiAgICB0byAgIHsgYmFja2dyb3VuZDogcmdiYSgyMCwgMjAsIDIwLCAwLjQyKTsgfVxufVxuXG4vLyBTY3JvbGwgbG9jazogZW5xdWFudG8gbyBzaGVldCBlc3RpdmVyIGFiZXJ0bywgYSBww6FnaW5hIGRlIGZ1bmRvIG7Do28gcm9sYS5cbi8vIE8gc2hlZXQgdGVtIHNldSBwcsOzcHJpbyBvdmVyZmxvdyBpbnRlcm5vLCBlbnTDo28gY29udGludWEgc2Nyb2xsw6F2ZWwuXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdOmhhcygubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlKSxcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl06aGFzKC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUpIGJvZHkge1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbiAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cbi8vIFNoZWV0OiBzZW0gdG91Y2gtYWN0aW9uIGdsb2JhbCDigJQgbyBsaXN0ZW5lciBKUyBjb250cm9sYSBkcmFnIHZzIHNjcm9sbFxuLy8gKHByZXZlbnREZWZhdWx0IG5vIGRyYWcsIGRlaXhhIGJyb3dzZXIgaGFuZGxlYXIgc2Nyb2xsIGZvcmEgZGEgZ3JpcCB6b25lKS5cblxuLy8gSXRlbnMvYmxvY29zIGV4Y2x1c2l2b3MgZG8gc2hlZXQgbW9iaWxlIOKAlCBvY3VsdG9zIGVtIHF1YWxxdWVyIGRlbnNpZGFkZVxuLy8gcXVlIE7Dg08gc2VqYSBtb2JpbGUtcG9ydHJhaXQuIENvYnJlIGhlYWRlciBkbyB1c3XDoXJpbywgbGFiZWxzIGRlIHNlw6fDo28sXG4vLyBlIG9zIDMgaXRlbnMgbWlncmFkb3MgZG8gdG9wbyAoc2VhcmNoL2hlbHAvbm90aWZpY2F0aW9ucykuIE5vIGRlc2t0b3Bcbi8vIG9zIDMgYm90w7VlcyB2aXZlbSBubyBgLnJpZ2h0LW5hdmJhci1jb250YWluZXJgLCBlbnTDo28gcmVwZXRpLWxvcyBub1xuLy8gbWVudSBkZXNrdG9wIHNlcmlhIHJlZHVuZMOibmNpYS5cbi8vIE51Y2xlYXI6IGJvZHkgYW5jZXN0b3IgKyBjbGFzcyB0cmlwbGljYWRhIOKAlCB2ZW5jZSBxdWFscXVlciByZWdyYVxuLy8gaW50ZXJuYSBkbyBBbmd1bGFyIE1hdGVyaWFsLlxuYm9keSAubW9iaWxlLW9ubHktbWVudS1pdGVtLm1vYmlsZS1vbmx5LW1lbnUtaXRlbS5tb2JpbGUtb25seS1tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keSAubW9iaWxlLW9ubHktbWVudS1pdGVtLm1vYmlsZS1vbmx5LW1lbnUtaXRlbS5tb2JpbGUtb25seS1tZW51LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cbi8vIENocm9tZS1jb2xsYXBzZWQgKGRlc2t0b3AgYXBlcnRhZG8pOiBzZWFyY2gvaGVscC9iZWxsIGRvIHRvcG8gc29tZW0g4oCUXG4vLyBtaWdyYW0gcHJvIG1lbnUgZG8gYXZhdGFyIChtZXNtbyBwYWRyw6NvIG1vYmlsZS1wb3J0cmFpdCkuXG5odG1sW2RhdGEtY2hyb21lLWNvbGxhcHNlZD1cInRydWVcIl0gYXBwLW5hdmJhciAubmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIC5jb21tYW5kLXBhbGV0dGUtdHJpZ2dlcixcbmh0bWxbZGF0YS1jaHJvbWUtY29sbGFwc2VkPVwidHJ1ZVwiXSBhcHAtbmF2YmFyIC5uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLnN1cHBvcnQtaGVscC1idXR0b24sXG5odG1sW2RhdGEtY2hyb21lLWNvbGxhcHNlZD1cInRydWVcIl0gYXBwLW5hdmJhciAubmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi8vIE9wb3N0bzogaXRlbnMgcXVlIHPDsyBleGlzdGVtIG5vIGRlc2t0b3AgKGV4LjogQ29waWFyIEpFTVMgSUQg4oCUIGVtXG4vLyBtb2JpbGUgbyBJRCBqw6EgYXBhcmVjZSBubyBoZWFkZXIgZG8gc2hlZXQpLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSBib2R5IC5kZXNrdG9wLW9ubHktbWVudS1pdGVtLmRlc2t0b3Atb25seS1tZW51LWl0ZW0uZGVza3RvcC1vbmx5LW1lbnUtaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyDilIDilIAgTGluaGEgZGUgYcOnw7VlcyByw6FwaWRhcyBkbyBhdmF0YXItbWVudSAoY2hyb21lLWNvbGxhcHNlZCkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBTZWFyY2ggLyBoZWxwZGVzayAvIGJlbGwgdmlyYW0gdW1hIGxpbmhhIGNvbnZlbmNpb25hbCBkZSBtYXQtbWVudS1pdGVtXG4vLyAocGFkcsOjbyBgY29udGFpbmVyLXRoZW1lYCkgbm8gdG9wbyBkbyBtZW51LCBzw7MgcXVhbmRvIGEgbmF2YmFyIGFwZXJ0YS5cbi8vIEVtIG1vYmlsZS1wb3J0cmFpdCB1c2Etc2UgbyBgbW9iaWxlLXF1aWNrLWFjdGlvbnNgIGrDoSBleGlzdGVudGUuXG5ib2R5IC5jaHJvbWUtY29sbGFwc2VkLW9ubHkuY2hyb21lLWNvbGxhcHNlZC1vbmx5LmNocm9tZS1jb2xsYXBzZWQtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuaHRtbFtkYXRhLWNocm9tZS1jb2xsYXBzZWQ9XCJ0cnVlXCJdIGJvZHkgLmNocm9tZS1jb2xsYXBzZWQtb25seS5jaHJvbWUtY29sbGFwc2VkLW9ubHkuY2hyb21lLWNvbGxhcHNlZC1vbmx5IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkgLmNocm9tZS1jb2xsYXBzZWQtb25seS5jaHJvbWUtY29sbGFwc2VkLW9ubHkuY2hyb21lLWNvbGxhcHNlZC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4vLyDilIDilIAgQcOnw7VlcyByw6FwaWRhcyBsYWRvIGEgbGFkbyAobW9iaWxlKSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFNlYXJjaCAvIGhlbHBkZXNrIC8gbm90aWZpY2HDp8O1ZXMgcmVuZGVyYW0gY29tbyAzIMOtY29uZXMgZW0gcm93LCBzZW1cbi8vIGxhYmVscy4gV3JhcHBlciBgbW9iaWxlLXF1aWNrLWFjdGlvbnNgIHPDsyBleGlzdGUgZW0gbW9iaWxlLXBvcnRyYWl0XG4vLyAoZ2F0ZSAubW9iaWxlLW9ubHktbWVudS1pdGVtKS5cbi8vIExheW91dCBjYXNhIGNvbSAuY29udGFpbmVyLXRoZW1lIChsaW5oYSBkZSBlc2NvbGhhIGRlIHRlbWEpIOKAlCBjbHVzdGVyXG4vLyBjZW50cmFsaXphZG8sIGdhcCA0cHgsIGNlbGxzIDQ0w5czMi5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogOHB4IDAgIWltcG9ydGFudDtcbiAgICBnYXA6IDRweCAhaW1wb3J0YW50O1xufVxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSAubW9iaWxlLXF1aWNrLWFjdGlvbnMtYnRuIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDQ0cHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICBtaW4taGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xufVxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSAubW9iaWxlLXF1aWNrLWFjdGlvbnMtYnRuIC5tYXQtaWNvbiB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAyMnB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDIycHggIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDIycHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnb3BzeicgMjAsICd3Z2h0JyAzMDAsICdGSUxMJyAwO1xufVxuLy8gRmxhZ3Mg4oCUIG1lc21hcyBkaW1lbnPDtWVzIGRvcyDDrWNvbmVzLCBtYXMgbyBlbW9qaSB2aXZlIG51bSA8c3Bhbj4uXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIC5tb2JpbGUtcXVpY2stYWN0aW9ucy1mbGFnIC5mbGFnIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi8vIERpdmlzb3IgdmVydGljYWwgZW50cmUgcXVpY2sgYWN0aW9ucyBlIGZsYWdzLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSAubW9iaWxlLXF1aWNrLWFjdGlvbnMtZGl2aWRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogMCA2cHg7XG4gICAgYmFja2dyb3VuZDogJGNocm9tZS1ib3JkZXItbGlnaHQ7XG59XG5ib2R5LmRhcmstdGhlbWVbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUgLm1vYmlsZS1xdWljay1hY3Rpb25zLWRpdmlkZXIsXG5odG1sW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIGJvZHkuZGFyay10aGVtZSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSAubW9iaWxlLXF1aWNrLWFjdGlvbnMtZGl2aWRlciB7XG4gICAgYmFja2dyb3VuZDogJGNocm9tZS1ib3JkZXItZGFyaztcbn1cblxuLy8g4pSA4pSAIENsZWFudXAgZG8gLnRwYy11c2VyLW1lbnUgZGVudHJvIGRvIHNoZWV0IOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gS2lsbCBkbyBkcm9wLXNoYWRvdyBlIGRvIGJvcmRlci1yYWRpdXMgaW50ZXJubyDigJQgbyBzaGVldCBqw6Egw6kgb1xuLy8gXCJjb250YWluZXIgdmlzdWFsXCIsIG8gbWVudSBpbnRlcm5vIGRldmUgZmx1aXIgc2VtIHNvbWJyYSBwcsOzcHJpYSBuZW1cbi8vIGNhbnRvcyBhcnJlZG9uZGFkb3MgZXh0cmFzLlxuaHRtbFtkYXRhLWRldmljZT1cIm1vYmlsZS1wb3J0cmFpdFwiXSAuamVtcy1wb3BvdmVyLXBhbmVsLm1vYmlsZS11c2VyLXNoZWV0LWNhbmRpZGF0ZSAudHBjLXVzZXItbWVudSB7XG4gICAgZmlsdGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIC8vIFNjcm9sbCBkbyBjb250ZcO6ZG8gdml2ZSBBUVVJIChuw6NvIG5vIHNoZWV0KSDigJQgc2hlZXQgZmljYSBjb21cbiAgICAvLyB0b3VjaC1hY3Rpb246IG5vbmUgcHJvIGRyYWctdG8tY2xvc2UsIGUgZXN0ZSBjb250YWluZXIgY3VpZGFcbiAgICAvLyBkbyBzY3JvbGwgY29tIHBhbi15IG5hdHVyYWwgZG8gYnJvd3Nlci5cbiAgICBmbGV4OiAxIDEgYXV0byAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXk6IGF1dG8gIWltcG9ydGFudDtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMCAhaW1wb3J0YW50O1xufVxuXG4vLyDilIDilIAgSGVhZGVyIGRvIHNoZWV0IG1vYmlsZSDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUge1xuICAgIC5tb2JpbGUtdXNlci1oZWFkIHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDEycHg7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMjBweCAxMnB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gICAgICAgIC8vIHRvdWNoLWFjdGlvbjogbm9uZSDigJQgbyBoZWFkZXIgZG8gdXN1w6FyaW8gw6kgcGFydGUgZGEgZ3JpcCB6b25lO1xuICAgICAgICAvLyBzZW0gaXNzbyBvIGJyb3dzZXIgaW50ZXJwcmV0YSBvIGdlc3RvIGNvbW8gc2Nyb2xsIGRlIC50cGMtdXNlci1tZW51XG4gICAgICAgIC8vIChxdWUgdGVtIHBhbi15KSBlIGNhbmNlbGEgbm9zc28gZHJhZy10by1jbG9zZS5cbiAgICAgICAgdG91Y2gtYWN0aW9uOiBub25lO1xuICAgIH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1hdmF0YXIge1xuICAgICAgICBmbGV4OiAwIDAgNDBweDtcbiAgICAgICAgd2lkdGg6IDQwcHg7IGhlaWdodDogNDBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogJGNocm9tZS1ib3JkZXItbGlnaHQ7XG4gICAgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLWF2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBvYmplY3QtZml0OiBjb3ZlcjsgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5tb2JpbGUtdXNlci1oZWFkLWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGNvbnRlbnQtY29sb3I7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1tYWlsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1pZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIH1cblxuICAgIC8vIOKUgOKUgCBTZWN0aW9uIGxhYmVscyAoQcOnw7VlcyByw6FwaWRhcyAvIENvbnRhIC8gQXBhcsOqbmNpYSAvIFNvYnJlKSDilIDilIBcbiAgICAubW9iaWxlLXNlY3Rpb24tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxNHB4IDIwcHggNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTAuNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICAvLyBSZXNldGEgaG92ZXIvZm9jdXMgZG8gbWF0LW1lbnUtaXRlbSBxdWUgaGVyZGFyaWFtLlxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgLy8g4pSA4pSAIERlc3RydWN0aXZlIChTYWlyKSDigJQgdmVybWVsaG8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4gICAgLm1vYmlsZS1kZXN0cnVjdGl2ZS1pdGVtIHtcbiAgICAgICAgY29sb3I6ICNkNjQ1NTAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1vYmlsZS1kZXN0cnVjdGl2ZS1pdGVtIC5tYXQtaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjZDY0NTUwICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4vLyBEYXJrIHZhcmlhbnRzIOKAlCBib3JkZXIsIHRleHRvcy5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gYm9keS5kYXJrLXRoZW1lIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlLFxuYm9keS5kYXJrLXRoZW1lW2RhdGEtZGV2aWNlPVwibW9iaWxlLXBvcnRyYWl0XCJdIC5qZW1zLXBvcG92ZXItcGFuZWwubW9iaWxlLXVzZXItc2hlZXQtY2FuZGlkYXRlIHtcbiAgICAubW9iaWxlLXVzZXItaGVhZCB7IGJvcmRlci1ib3R0b20tY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7IH1cbiAgICAubW9iaWxlLXVzZXItaGVhZC1hdmF0YXIgeyBiYWNrZ3JvdW5kOiAkY2hyb21lLWJvcmRlci1kYXJrOyB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtbmFtZSB7IGNvbG9yOiAkY29udGVudC1jb2xvci1kYXJrOyB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtbWFpbCB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gICAgLm1vYmlsZS11c2VyLWhlYWQtaWQgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gICAgLm1vYmlsZS1zZWN0aW9uLWxhYmVsIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxufVxuXG4vLyBMYXlvdXQgZG9zIGl0ZW5zIGRlbnRybyBkbyBzaGVldCDigJQgbWFpcyByZXNwaXJvLCB0aXBvZ3JhZmlhIGxldmVtZW50ZSBtYWlvclxuLy8gcXVlIG8gbWF0LW1lbnUtaXRlbSBwYWRyw6NvIGRvIGRlc2t0b3AgKHRvdWNoIHRhcmdldHMgaU9TIOKJpSA0NHB4KS5cbmh0bWxbZGF0YS1kZXZpY2U9XCJtb2JpbGUtcG9ydHJhaXRcIl0gLmplbXMtcG9wb3Zlci1wYW5lbC5tb2JpbGUtdXNlci1zaGVldC1jYW5kaWRhdGUge1xuICAgIC50cGMtdXNlci1tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogNHB4IDA7XG4gICAgfVxuICAgIC8vIENhZGEgbGluaGEgZG8gbWVudSAobWF0LW1lbnUtaXRlbSBwcmVzZXJ2YWRvLCBzw7MgZXNwYcOnYW1lbnRvIG1haW9yKS5cbiAgICAubWF0LW1lbnUtaXRlbSwgW21hdC1tZW51LWl0ZW1dIHtcbiAgICAgICAgaGVpZ2h0OiA0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAgIFttYXQtbWVudS1pdGVtXSAubWF0LWljb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gT3ZlcmZsb3cgbWVudSBkbyBoYW1idXJnZXIgZGEgbmF2YmFyIOKAlCBpdGVtcyByZW5kZXJpemFkb3Mgbm8gYm9keVxuLy8gKG1hdC1tZW51IHBvcnRhbGVkKS4gTyB0ZW1wbGF0ZSBhcGxpY2EgYC5pcy1uYXYtdmlzaWJsZWAgbm9zIGl0ZW1zXG4vLyBxdWUgQUlOREEgYXBhcmVjZW0gbmEgbmF2IChuw6NvIGFic29ydmlkb3MpOyByZWdyYSBhYmFpeG8gZXNjb25kZVxuLy8gZXN0ZXMgZG8gbWVudSBwcmEgZXZpdGFyIHJlZHVuZMOibmNpYS5cbi8vIFNlbGVjdG9yIGNoYWluYSAubWF0LW1lbnUtcGFuZWwgKyAubmF2LW92ZXJmbG93LW1pIHByYSB2ZW5jZXIgb1xuLy8gYC5uYXYtb3ZlcmZsb3ctbWkgeyBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQgfWAgZG8gYmxvY28gZGUgbGF5b3V0LlxuLy8g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtbmF2LXZpc2libGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIHYyIFwiVmVyIHRvZGFzIGFzIHN1Ym1pc3PDtWVzXCIgYXRpdmE6IHplcmEgbyBwYWRkaW5nIGxhdGVyYWwgZG9cbi8vIG1hdC1zaWRlbmF2LWNvbnRlbnQgcHJhIHF1ZSBvIGNpbnphIGRhIHDDoWdpbmEgKGBhcHAtZXhwb3J0LXN1Ym1pc3Npb25zYFxuLy8gdGVtIGJnIGNpbnphIG5vIGhvc3QpIHByZWVuY2hhIGVkZ2UtdG8tZWRnZS4gU2VtIGlzc28gcmVzdGFyaWFtIGZhaXhhc1xuLy8gYnJhbmNhcyBkZSB+MjFweCBlbnRyZSBhIGZvbGhhIGUgbyBzaWRlYmFyL2JvcmRhIGRpcmVpdGEuXG5ib2R5LmV4cG9ydC1zdWJtaXNzaW9ucy1hY3RpdmUgLm1hdC1zaWRlbmF2LWNvbnRlbnQgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cblxuLy8gYC0tY29udGVudC1sZWZ0LW9mZnNldGA6IGRpc3TDom5jaWEgZG8gQ0FOVkFTICjDoXJlYSBkZSBjb250ZcO6ZG8pIMOgIGJvcmRhXG4vLyBlc3F1ZXJkYSBkbyB2aWV3cG9ydC4gVmFyaWEgcG9yIG1vZG8gZG8gc2hlbGwuIMOJIGNvbnN1bWlkYSBwZWxhIGJhcnJhXG4vLyBmbHV0dWFudGUgZG8gYGFwcC1leHBvcnQtc3VibWlzc2lvbnNgIChlIHN1YSBiYW5kYSBkZSBibHVyKSBwcmFcbi8vIGNlbnRyYWxpemFyIHNvYnJlIG8gY2FudmFzIGVtIHZleiBkbyB2aWV3cG9ydCwgYWRhcHRhbmRvIGFvcyAzIG1vZG9zLlxuLy8gICBNb2Rlcm4gbmFycm93OiBjYW52YXMgY29tZcOnYSBkZXBvaXMgZGEgYGV4cGVyaW1lbnRhbC1zaWRlYmFyYCAoMjQwcHggZGVmYXVsdCkuXG4vLyAgIE1vZGVybiB3aWRlOiAgIHNpZGViYXIgb2N1bHRvICgwcHgpLlxuLy8gICBDbGFzc2ljOiAgICAgICBleHBlcmltZW50YWwgKyBhY3Rpdml0eS1iYXIgKyBhZG1pbi1zdWJtZW51LlxuLy8gRGVmaW5pZGFzIG5vIGJvZHkgUFJBIEdBUkFOVElSIGhlcmFuw6dhIHByYSBxdWFscXVlciBkZXNjZW5kZW50ZSBkYSB2Mixcbi8vIG1lc21vIHNlIG8gYC5zaWRlYmFyYCBkbyBhZG1pbi1ldmVudC1zaWRlYmFyIG7Do28gZm9yIGFuY2VzdHJhbCBkaXJldG8uXG4vLyBgOmhhcygpYCBjYXNhIHF1YWxxdWVyIGVzdGFkbyBkZSBtb2RlIGRlbnRybyBkbyBib2R5LlxuYm9keTpoYXMoLnNpZGViYXIubGVnYWN5LWNocm9tZS1kaXNhYmxlZDpub3QoLndpZGUtbW9kZSkpIHtcbiAgICAtLWNvbnRlbnQtbGVmdC1vZmZzZXQ6IHZhcigtLWV4cGVyaW1lbnRhbC1zaWRlYmFyLXdpZHRoLCAjeyRleHBlcmltZW50YWwtc2lkZWJhci13aWR0aH0pO1xufVxuYm9keTpoYXMoLnNpZGViYXIud2lkZS1tb2RlKSB7XG4gICAgLS1jb250ZW50LWxlZnQtb2Zmc2V0OiAwcHg7XG4gICAgLy8gV2lkZS1tb2RlOiBvIGJyZWFkY3J1bWIgY29sYXBzYSAoOmhvc3QgaGVpZ2h0OjAgKyBiYXJyYSB0cmFuc2xhZGFcbiAgICAvLyBmb3JhIGRvIHZpZXdwb3J0KSDigJQgbsOjbyByZXNlcnZhIGFsdHVyYS4gQSBiYXJyYSBmbHV0dWFudGUgZGEgdjIgdXNhXG4gICAgLy8gZXNzYSB2YXIgcHJhIGNhbGN1bGFyIHNldSB0b3A7IGVtIHdpZGUtbW9kZSBmaWNhIDAuXG4gICAgLS1icmVhZGNydW1iLXJlc2VydmVkLWhlaWdodDogMHB4O1xufVxuYm9keTpoYXMoLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKTpub3QoLndpZGUtbW9kZSkpIHtcbiAgICAvLyBDbGFzc2ljOiBgLm1hdC1zaWRlbmF2LWNvbnRhaW5lci5jb250ZW50IHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudCB9YFxuICAgIC8vIChhZG1pbi1ldmVudC1zaWRlYmFyIGxpbmhhIH4yMDkwKSB6ZXJhIG8gb2Zmc2V0IGRvIG91dGVyOyBzw7MgbyBJTk5FUlxuICAgIC8vIGAubWF0LXNpZGVuYXYtY29udGVudCB7IG1hcmdpbi1sZWZ0OiB2YXIoLS1hZG1pbi1zdWJtZW51LXdpZHRoKSB9YFxuICAgIC8vIGNvbnRhLiBgLmNsYXNzaWMtc3VibWVudWAgw6kgZml4ZWQtcG9zaXRpb24gw6AgZXNxdWVyZGEgY29tIGVzc2EgbWVzbWFcbiAgICAvLyBsYXJndXJhIOKGkiBjYW52YXMgY29tZcOnYSBlbSBhZG1pbi1zdWJtZW51LXdpZHRoLCBuYWRhIG1haXMuXG4gICAgLS1jb250ZW50LWxlZnQtb2Zmc2V0OiB2YXIoLS1hZG1pbi1zdWJtZW51LXdpZHRoLCAjeyRhZG1pbi1zdWJtZW51LXdpZHRofSk7XG4gICAgLy8gQ2xhc3NpYyB0b3AgY2hyb21lOiBicmVhZGNydW1iIGNvbXBhY3RvICgyNikgKyB0b29sYmFyIGhvcml6b250YWwgKDU1KSA9IDgxLlxuICAgIC0tYnJlYWRjcnVtYi1yZXNlcnZlZC1oZWlnaHQ6IGNhbGMoI3skY2xhc3NpYy1icmVhZGNydW1iLWhlaWdodH0gKyAjeyRjbGFzc2ljLXRvb2xiYXItaGVpZ2h0fSk7XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gUGFpbmVsIFwidmF6aW9cIiBkYXMgcMOhZ2luYXMgZGUgbGlzdGEgZG8gYXV0b3IvcmV2aXNvciAoU3VibWlzc8O1ZXMsXG4vLyBSZXZpc8O1ZXMsIFNlc3PDtWVzIHF1ZSBjb29yZGVubywgVFBDcywgUHVibGljYcOnw7VlcywgQ29vcmRlbmHDp8OjbykuXG4vLyBDYXJ0w6NvIG91dGxpbmUgdHJhY2VqYWRvICsgdMOtdHVsbyArIG1lbnNhZ2VtLCBjZW50cmFsaXphZG8uXG4uZW1wdHktcGFnZS1wYW5lbCB7XG4gICAgbWF4LXdpZHRoOiA1NjBweDtcbiAgICBtYXJnaW46IDNyZW0gYXV0bztcbiAgICBwYWRkaW5nOiAyLjVyZW0gMi41cmVtIDJyZW07XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG59XG5ib2R5LmRhcmstdGhlbWUgLmVtcHR5LXBhZ2UtcGFuZWwge1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbn1cblxuLmVtcHR5LXBhZ2UtdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDAuNzVyZW07XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5ib2R5LmRhcmstdGhlbWUgLmVtcHR5LXBhZ2UtdGl0bGUge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xufVxuXG4uZW1wdHktcGFnZS1tZXNzYWdlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogJGdyYXktNTAwO1xufVxuXG4vLyBVdGlsaWRhZGUgZ2xvYmFsIOKAlCBlc2NvbmRlIFNFTSBjb2xhcHNhciBsYXlvdXQgKGdyaWQgMy1zbG90IGRvIGhlYWRlclxuLy8gZGUgcMOhZ2luYXMgY29udGludWEgYWxpbmhhZG8pLiBVc2FkbyBubyBgLnBhZ2Utc2VhcmNoLWZpbHRlcmAgcXVhbmRvXG4vLyBhIHDDoWdpbmEgbsOjbyB0ZW0gY29udGXDumRvIChuYWRhIHByYSBmaWx0cmFyKS5cbi5pcy1pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vLyDilIDilIDilIAgLmplbXMzLW5hdGl2ZS1pbnB1dCDigJQgaW5wdXQgZGUgdGV4dG8gTkFUSVZPIGVzdGlsaXphZG8gZG8gSkVNUzMg4pSA4pSA4pSA4pSA4pSAXG4vLyBNZXNtbyBwYWRyw6NvIGRvIGAuamVtczMtbmF0aXZlLWNoZWNrYm94YDogZXNjYXBhIGRvcyB3cmFwcGVycyBNYXRlcmlhbCxcbi8vIHJlc3BpcmEgb3MgdG9rZW5zIGRvIHNpc3RlbWEsIGNvbXBvcnRhLXNlIGNvbW8gY29udHJvbGUgXCJjaGFpci1sZXZlbFwiXG4vLyAobWVzbWEgYWx0dXJhICRjb250cm9sLWhlaWdodCBkb3MgZGVtYWlzKS5cbi8vXG4vLyBVU086XG4vLyAgIDxsYWJlbCBjbGFzcz1cImplbXMzLW5hdGl2ZS1pbnB1dC1sYWJlbFwiPlxuLy8gICAgIFLDs3R1bG9cbi8vICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1pbnB1dFwiIFsobmdNb2RlbCldPVwidmFsdWVcIj5cbi8vICAgPC9sYWJlbD5cbi8vXG4vLyBFc3RhZG9zOiA6Zm9jdXMgKGJvcmRlciBjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSArIGhhbG8pLCA6ZGlzYWJsZWQsXG4vLyA6aW52YWxpZC5hcmlhLWludmFsaWQ9dHJ1ZSAoYm9yZGEgdmVybWVsaGEpLiBEYXJrIHBhcmVhZG8uXG5cbi5qZW1zMy1uYXRpdmUtaW5wdXQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgLy8gVGV4dGFyZWE6IG1lc21hIGNhaXhhLCBtYXMgY3Jlc2NlIGVtIGFsdHVyYSAobWluLWhlaWdodCB+NCBsaW5oYXMpLlxuICAgICYuamVtczMtbmF0aXZlLWlucHV0LS10ZXh0YXJlYSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygjeyRjb250cm9sLWhlaWdodH0gKiAzKTtcbiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICAgIC8vIENocm9tZSBwYXJlYWRvIGFvIGBhcHAtamVtcy1zZWxlY3RgIChgLmplbXMtc2VsZWN0LXRyaWdnZXJgKTpcbiAgICAvLyBtZXNtYSBib3JkZXItY29sb3IsIG1lc21vIGJnLCBtZXNtYSB3ZWlnaHQg4oCUIGFzc2ltIG9zIGNvbnRyb2xlc1xuICAgIC8vIGFsaW5oYW0gdmlzdWFsbWVudGUgbGFkbyBhIGxhZG8gbm8gbWVzbW8gZm9ybXVsw6FyaW8uXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkY29udHJvbC1jb250ZW50LXdlaWdodDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDEwMG1zIGVhc2Utb3V0LCBib3gtc2hhZG93IDEwMG1zIGVhc2Utb3V0O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTsgfVxuXG4gICAgLy8gSG92ZXI6IGhhbG8gY2luemEgKG1lc21vIGRvIGAuamVtcy1zZWxlY3QtdHJpZ2dlcmApLlxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KDpmb2N1cyk6bm90KFthcmlhLWludmFsaWQ9XCJ0cnVlXCJdKSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gRm9jdXMgKHNlbGVjdGVkKTogYm9yZGEgKyBoYWxvIGF6dWlzIChhY2NlbnQpLiBDYXNhIGNvbSBvXG4gICAgLy8gYC5qZW1zLXNlbGVjdC10cmlnZ2VyYCBlbSBlc3RhZG8gOmZvY3VzL2lzLW9wZW4uXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBvcGFjaXR5OiAwLjU1O1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cblxuICAgICZbYXJpYS1pbnZhbGlkPVwidHJ1ZVwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nO1xuICAgIH1cbn1cblxuLmplbXMzLW5hdGl2ZS1pbnB1dC1sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU1KTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG5cbiAgICAucmVxdWlyZWQtbWFyayB7XG4gICAgICAgIGNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxufVxuXG4uamVtczMtbmF0aXZlLWlucHV0LWVycm9yIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1pbi1oZWlnaHQ6IDFlbTtcbn1cblxuLy8gTGF5b3V0IGxhYmVsIChlc3F1ZXJkYSkgKyBlcnJvIChkaXJlaXRhLCBhbGluaGFkbyBhbyBmaW0gZG8gY2FtcG8pXG4vLyBudW1hIG1lc21hIGxpbmhhIEFDSU1BIGRvIGlucHV0LiBVc2EgZmxleCArIGdhcDsgZXJybyByZXNldGEgb1xuLy8gYG1hcmdpbi10b3BgIGRvIGJsb2NvIGlubGluZSBwcmEgZmljYXIgbmEgbWVzbWEgYmFzZWxpbmUgZG8gbGFiZWwuXG4uamVtczMtbmF0aXZlLWlucHV0LWxhYmVscm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZ2FwOiA4cHg7XG5cbiAgICAuamVtczMtbmF0aXZlLWlucHV0LWxhYmVsIHsgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG4gICAgLmplbXMzLW5hdGl2ZS1pbnB1dC1lcnJvciB7IG1hcmdpbi10b3A6IDA7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG59XG5cbmJvZHkuZGFyay10aGVtZSB7XG4gICAgLmplbXMzLW5hdGl2ZS1pbnB1dCB7XG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7IH1cbiAgICAgICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKTpub3QoOmZvY3VzKTpub3QoW2FyaWEtaW52YWxpZD1cInRydWVcIl0pIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICAgIH1cbiAgICAgICAgJlthcmlhLWludmFsaWQ9XCJ0cnVlXCJdIHsgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyazsgfVxuICAgIH1cbiAgICAuamVtczMtbmF0aXZlLWlucHV0LWxhYmVsIHsgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsgfVxuICAgIC5qZW1zMy1uYXRpdmUtaW5wdXQtZXJyb3IgeyBjb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms7IH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vLyDilIDilIDilIAgLmplbXMzLW5hdGl2ZS1idXR0b24g4oCUIGJvdMOjbyBOQVRJVk8gZXN0aWxpemFkbyBkbyBKRU1TMyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIE1lc21vIHBhZHLDo28gZG8gYC5qZW1zMy1uYXRpdmUtaW5wdXRgIGUgYC5qZW1zMy1uYXRpdmUtY2hlY2tib3hgOlxuLy8gZXZpdGEgbyB3cmFwcGVyIE1hdGVyaWFsIChtYXQtZmxhdC1idXR0b24sIG1hdC1yYWlzZWQtYnV0dG9uIGV0Yy4pLFxuLy8gcmVzcGlyYSBvcyB0b2tlbnMgZG8gY2hhaXIgVUkuXG4vL1xuLy8gVVNPOlxuLy8gICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1idXR0b24gamVtczMtbmF0aXZlLWJ1dHRvbi0tcHJpbWFyeVwiPkVudHJhcjwvYnV0dG9uPlxuLy8gICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1idXR0b24gamVtczMtbmF0aXZlLWJ1dHRvbi0tc2Vjb25kYXJ5XCI+Q2FuY2VsYXI8L2J1dHRvbj5cbi8vXG4vLyBWYXJpYW50ZXM6IC0tcHJpbWFyeSAoYWNjZW50IGZpbGxlZCksIC0tc2Vjb25kYXJ5IChjaHJvbWUgc3Ryb2tlZCksXG4vLyAtLWRhbmdlciAodmVybWVsaG8gZmlsbGVkLCBhw6fDtWVzIGRlc3RydXRpdmFzKS5cblxuLmplbXMzLW5hdGl2ZS1idXR0b24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBtaW4td2lkdGg6IDk2cHg7XG4gICAgaGVpZ2h0OiAkY29udHJvbC1oZWlnaHQ7XG4gICAgcGFkZGluZzogMCAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLy8gYGZlZWRiYWNrX25vX2hvdmVyX3RyYW5zaXRpb25gOiBob3ZlciDDqSBpbnN0YW50w6JuZW8gbm8gSkVNUzMuXG4gICAgLy8gYHRyYW5zaXRpb25gIHPDsyBlbSBmb2N1cy12aXNpYmxlIChtdWRhbsOnYSBkZSBlc3RhZG8sIG7Do28gaG92ZXIpLlxuXG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxufVxuXG4vLyBQcmltYXJ5IOKAlCBhY2NlbnQgZmlsbGVkLlxuLmplbXMzLW5hdGl2ZS1idXR0b24uamVtczMtbmF0aXZlLWJ1dHRvbi0tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGZpbHRlcjogYnJpZ2h0bmVzcygwLjk0KTsgfVxuICAgICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHsgZmlsdGVyOiBicmlnaHRuZXNzKDAuODgpOyB9XG59XG5ib2R5LmRhcmstdGhlbWUgLmplbXMzLW5hdGl2ZS1idXR0b24uamVtczMtbmF0aXZlLWJ1dHRvbi0tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgY29sb3I6ICMwYTFhMmU7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbn1cblxuLy8gU2Vjb25kYXJ5IOKAlCBjaHJvbWUgc3Ryb2tlZC5cbi5qZW1zMy1uYXRpdmUtYnV0dG9uLmplbXMzLW5hdGl2ZS1idXR0b24tLXNlY29uZGFyeSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuXG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNCk7IH1cbn1cbmJvZHkuZGFyay10aGVtZSAuamVtczMtbmF0aXZlLWJ1dHRvbi5qZW1zMy1uYXRpdmUtYnV0dG9uLS1zZWNvbmRhcnkge1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNik7IH1cbn1cblxuLy8gRGFuZ2VyIOKAlCBhw6fDo28gZGVzdHJ1dGl2YSAoZXhjbHVpciwgZGVzY2FydGFyKS4gTWVzbW8gcGVzbyB2aXN1YWwgZG9cbi8vIGAtLXByaW1hcnlgLCB0cm9jYW5kbyBvIGFjY2VudCBwZWxvIHZlcm1lbGhvIGluc3RpdHVjaW9uYWwuXG4uamVtczMtbmF0aXZlLWJ1dHRvbi5qZW1zMy1uYXRpdmUtYnV0dG9uLS1kYW5nZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtY29sb3Itd2FybmluZztcblxuICAgICY6aG92ZXI6bm90KDpkaXNhYmxlZCkgeyBmaWx0ZXI6IGJyaWdodG5lc3MoMC45NCk7IH1cbiAgICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7IGZpbHRlcjogYnJpZ2h0bmVzcygwLjg4KTsgfVxufVxuYm9keS5kYXJrLXRoZW1lIC5qZW1zMy1uYXRpdmUtYnV0dG9uLmplbXMzLW5hdGl2ZS1idXR0b24tLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcms7XG4gICAgY29sb3I6ICMyYTBhMGE7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWNvbG9yLXdhcm5pbmctZGFyaztcbn1cblxuLy8gTW9kaWZpY2Fkb3IgYC0tYmxvY2tgIOKAlCBsYXJndXJhIDEwMCUgZGEgY29sdW5hIChmb3JtIHN1Ym1pdCBlbSBjYXJkXG4vLyB2ZXJ0aWNhbCwgdGlwbyBzaWduaW4pLlxuLmplbXMzLW5hdGl2ZS1idXR0b24uamVtczMtbmF0aXZlLWJ1dHRvbi0tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuIiwiLnNtYWxsLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5tYXQtaGVhZGVyLXJvdyB7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgLm1hdC1oZWFkZXItY2VsbDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY29sdW1uLXN0YXR1cywgLm1hdC1jb2x1bW4tZXZlbnQsIC5tYXQtY29sdW1uLXRyYWNrRmlsZU5hbWUsIC5tYXQtY29sdW1uLWRlYWRsaW5lLCAubWF0LWNvbHVtbi1idXR0b24ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1jb2x1bW4tc3RhdHVzIHtcbiAgICAgICAgICAgIHdpZHRoOiA1NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1jb2x1bW4tZXZlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDExNXB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1jb2x1bW4tZGVhZGxpbmUge1xuICAgICAgICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXQtY29sdW1uLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWF0LXJvdyB7XG4gICAgICAgIC5tYXQtY2VsbDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1jZWxsOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1jb2x1bW4tc3RhdHVzLCAubWF0LWNvbHVtbi1ldmVudCwgLm1hdC1jb2x1bW4tdHJhY2tGaWxlTmFtZSwgLm1hdC1jb2x1bW4tZGVhZGxpbmUsIC5tYXQtY29sdW1uLWJ1dHRvbiB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICB0ZC5tYXQtY29sdW1uLXN0YXR1cyB7XG4gICAgICAgICAgICB3aWR0aDogNTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRkLm1hdC1jb2x1bW4tZXZlbnQge1xuICAgICAgICAgICAgd2lkdGg6IDExNXB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdGQubWF0LWNvbHVtbi1kZWFkbGluZSB7XG4gICAgICAgICAgICB3aWR0aDogMTI1cHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdGQubWF0LWNvbHVtbi1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdHIudXBjb21pbmcgLm1hdC1jb2x1bW4tZGVhZGxpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKDI1NSwgMTY1LCAwLCAuNSk7XG4gICAgfVxuXG4gICAgdHIubGF0ZSAubWF0LWNvbHVtbi1kZWFkbGluZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IFJHQkEoMTY1LCA0MiwgNDIsIC41KTtcbiAgICB9XG5cbiAgICAmLmxlZ2VuZCB7XG4gICAgICAgIC51cGNvbWluZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKDI1NSwgMTY1LCAwLCAuNSk7XG4gICAgICAgIH1cblxuICAgICAgICAubGF0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSR0JBKDE2NSwgNDIsIDQyLCAuNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnRhYmxlIHtcbiAgICAmLnNpbXBsZS10YWJsZXtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gIFxuICAgICAgICB0aCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgdGgsIHRkIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyAgIFxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1saW5lLWNvbG9yO1xuICAgICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgXG4gICAgICAgICAgJi5tYXQtaGVhZGVyLWNlbGw6Zmlyc3Qtb2YtdHlwZSwgJi5tYXQtY2VsbDpmaXJzdC1vZi10eXBlLCAmLm1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGUsICYubWF0LWNlbGw6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jb250ZW50LWJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4yNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5qdXN0aWZ5LWNlbnRlciB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQsIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoOmxhc3QtY2hpbGQsIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgIFxuICAgICAgICB0ciB7XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgXG4gICAgXG4gICAgICAgIHRmb290IHRkIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbiAgICBcbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjVyZW07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5mbGV4ZWQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBcbiAgICAgICAgICBtYXQtaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAubm8tbGluZSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLm5vLXJpZ2h0LWxpbmV7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5uby1ib3R0b20tbGluZXtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuICAgICAgICB9XG4gICAgXG4gICAgICAgIC5uby1wYWRkaW5nIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hdC1pY29uLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcblxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6YmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWF0LWJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICAubWF0LWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnRhYmxlIHtcbiAgICAmLmhpZ2hsaWdodC10YWJsZSB7XG4gICAgICAgICR0YWJsZS1ob3Zlci1ib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgJHRhYmxlLXJvdy1ib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgICAgICAgXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6IDBweCAxcHggIWltcG9ydGFudDtcbiAgICAgICAgXG4gICAgICAgIHRoLCB0ZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIC41ZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSA+IHRyLCB0Zm9vdCA+IHRyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBcbiAgICAgICAgICAgIC5tYXQtaWNvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCwgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgdGQ6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHRhYmxlLXJvdy1ib3JkZXItcmFkaXVzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHRhYmxlLXJvdy1ib3JkZXItcmFkaXVzO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQ6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAkdGFibGUtaG92ZXItYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR0YWJsZS1yb3ctYm9yZGVyLXJhZGl1cztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkdGFibGUtcm93LWJvcmRlci1yYWRpdXM7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6ICR0YWJsZS1ob3Zlci1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ob3Zlci1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkLCB0ZDpsYXN0LWNoaWxke1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB0ZDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogJHRhYmxlLWhvdmVyLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgdGQ6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6ICR0YWJsZS1ob3Zlci1ib3JkZXItd2lkdGggc29saWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRkLm1hdC1mb290ZXItY2VsbHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Zm9vdCB7XG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgLm1hdC1zb3J0LWhlYWRlci1jb250YWluZXIge1xuICAgIGp1c3RpZnktY29udGVudDpjZW50ZXIgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFNvcnQgaGVhZGVyIChNYXRlcmlhbCk6IGEgw6FyZWEgY2xpY8OhdmVsIHAvIG9yZGVuYXIgw6kgQVBFTkFTIG8gdMOtdHVsbyBkYSBjb2x1bmEsXG4vLyBOw4NPIGEgY8OpbHVsYSBpbnRlaXJhLiBPIGAubWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lcmAgUFJFRU5DSEUgYSBjw6lsdWxhIChmbGV4IGJsb2NrICtcbi8vIGp1c3RpZnktY29udGVudDpjZW50ZXIpLCBlbnTDo28gcmVzdHJpbmdpciBvIHBvbnRlaXJvIGEgZWxlIG7Do28gYmFzdGEuIEluZXJ0aXphbW9zIG9cbi8vIGA8dGg+YCArIG8gY29udGFpbmVyIGUgcmVhdGl2YW1vcyBzw7MgbyBDT05URcOaRE8gKGAubWF0LXNvcnQtaGVhZGVyLWNvbnRlbnRgID0gbyB0w610dWxvLFxuLy8gZGltZW5zaW9uYWRvIHBlbG8gdGV4dG8pIGUgYSBzZXRhLiBPIGNsaXF1ZSBubyB0w610dWxvIGJvcmJ1bGhhIGF0w6kgbyBsaXN0ZW5lciBkbyB0aC5cbi8vIEdsb2JhbDogdmFsZSBwLyBhIHRhYmVsYSBwYWRyw6NvICguamVtczMtdGFibGUpIGUgYSBkYSBMaXN0YSBkZSBTdWJtaXNzw7Vlcy5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLm1hdC1zb3J0LWhlYWRlciB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC5tYXQtc29ydC1oZWFkZXItY29udGFpbmVyIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuICAubWF0LXNvcnQtaGVhZGVyLWNvbnRlbnQsXG4gIC5tYXQtc29ydC1oZWFkZXItYXJyb3cge1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuXG4vLyB0YWJsZSB7XG4vLyAgICAgJi5zaW1wbGUtdGFibGV7XG4vLyAgICAgICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgICAgICBiYWNrZ3JvdW5kOiAkdGFibGUtYmFja2dyb3VuZC1jb2xvcjtcbi8vICAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuLy8gICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcblxuLy8gICAgICAgICB0aCB7XG4vLyAgICAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yO1xuLy8gICAgICAgICAgIGZvbnQtc2l6ZTogMC44MHJlbTtcbi8vICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuLy8gICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbi8vICAgICAgICAgICBjb2xvcjogJHNpZGViYXItbGFiZWwtY29sb3I7XG4vLyAgICAgICAgIH1cbiAgICBcbi8vICAgICAgICAgdGgsIHRkIHtcbi8vICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuLy8gICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgXG4vLyAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkdGFibGUtbGluZS1jb2xvcjtcbi8vICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gICAgICAgICAgIGJvcmRlci13aWR0aDogdGhpbjtcbiAgICBcbiAgICBcbi8vICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4vLyAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcblxuLy8gICAgICAgICAgIGhlaWdodDogNDhweDtcbi8vICAgICAgICAgICBtaW4taGVpZ2h0OiA0OHB4O1xuICAgIFxuLy8gICAgICAgICAgICYubWF0LWhlYWRlci1jZWxsOmZpcnN0LW9mLXR5cGUsICYubWF0LWNlbGw6Zmlyc3Qtb2YtdHlwZSwgJi5tYXQtaGVhZGVyLWNlbGw6bGFzdC1vZi10eXBlLCAmLm1hdC1jZWxsOmxhc3Qtb2YtdHlwZSB7XG4vLyAgICAgICAgICAgICBwYWRkaW5nOiAwIDFyZW07XG4vLyAgICAgICAgICAgfVxuXG4vLyAgICAgICAgICAgLmNvbnRlbnQtYnV0dG9uIHtcbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuLy8gICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbi8vICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4vLyAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4vLyAgICAgICAgICAgICBzcGFuIHtcbi8vICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1cmVtO1xuLy8gICAgICAgICAgICAgfVxuXG4vLyAgICAgICAgICAgICAmLmp1c3RpZnktY2VudGVyIHtcbi8vICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgICAgICAgIH1cbi8vICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICB0aDpmaXJzdC1jaGlsZCwgdGQ6Zmlyc3QtY2hpbGQge1xuLy8gICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgIH1cblxuLy8gICAgICAgICB0aDpsYXN0LWNoaWxkLCB0ZDpsYXN0LWNoaWxkIHtcbi8vICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IG5vbmU7XG4vLyAgICAgICAgIH1cbiAgICBcbi8vICAgICAgICAgdGJvZHkgdGQge1xuLy8gICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbi8vICAgICAgICAgfVxuICAgIFxuICAgIFxuLy8gICAgICAgICB0Zm9vdCB0ZCB7XG4vLyAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBub25lO1xuLy8gICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBub25lO1xuLy8gICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmU7XG4gICAgXG4vLyAgICAgICAgICAgYnV0dG9uIHtcbi8vICAgICAgICAgICAgIG1hcmdpbjogMC41cmVtO1xuLy8gICAgICAgICAgIH1cbi8vICAgICAgICAgfVxuICAgIFxuLy8gICAgICAgICAuZmxleGVkIHtcbi8vICAgICAgICAgICB3aWR0aDogMTAwJTtcbi8vICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIFxuLy8gICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuLy8gICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgXG4vLyAgICAgICAgICAgbWF0LWljb24ge1xuLy8gICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbi8vICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuLy8gICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vICAgICAgICAgICB9XG4vLyAgICAgICAgIH1cbiAgICBcbi8vICAgICAgICAgLm5vLWxpbmUge1xuLy8gICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lO1xuLy8gICAgICAgICB9XG4gICAgXG4vLyAgICAgICAgIC5uby1yaWdodC1saW5le1xuLy8gICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgfVxuICAgIFxuLy8gICAgICAgICAubm8tYm90dG9tLWxpbmV7XG4vLyAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgfVxuICAgIFxuLy8gICAgICAgICAubm8tcGFkZGluZyB7XG4vLyAgICAgICAgICAgcGFkZGluZzogMDtcbi8vICAgICAgICAgfVxuXG4vLyAgICAgICAgIC5tYXQtaWNvbi1idXR0b24ge1xuLy8gICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4vLyAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG5cbi8vICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbi8vICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuLy8gICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbi8vICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbi8vICAgICAgICAgICAgIGEge1xuLy8gICAgICAgICAgICAgICAgIGNvbG9yOmJsYWNrO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG5cbi8vICAgICAgICAgLm1hdC1idXR0b24td3JhcHBlciB7XG4vLyAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbi8vICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4vLyAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuLy8gICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuLy8gICAgICAgICAgICAgLm1hdC1pY29uIHtcbi8vICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuLy8gICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuLy8gICAgICAgICAgICAgfVxuLy8gICAgICAgICB9XG4vLyAgICAgfVxuLy8gfVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIC5qZW1zMy10YWJsZSDigJQgVEFCRUxBIFBBRFLDg08gZG8gSkVNUzMgKHJlZmVyw6puY2lhOiB0YWJlbGEgZGEgTGlzdGEgZGVcbi8vIFN1Ym1pc3PDtWVzKS4gRnVuY2lvbmEgdGFudG8gY29tIE1hdGVyaWFsIChgPHRhYmxlIG1hdC10YWJsZT5gKSBxdWFudG9cbi8vIGNvbSBgPHRhYmxlPmAgSFRNTCBwdXJvIOKAlCBiYXN0YSBhIGNsYXNzZS5cbi8vXG4vLyAgIDx0YWJsZSBjbGFzcz1cImplbXMzLXRhYmxlXCI+IC4uLiA8L3RhYmxlPlxuLy8gICA8dGFibGUgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cIi4uLlwiIGNsYXNzPVwiamVtczMtdGFibGVcIj4gLi4uIDwvdGFibGU+XG4vL1xuLy8gVXNlIGBtYXQtdGFibGVgIGFwZW5hcyBxdWFuZG8gcHJlY2lzYXIgZG9zIHJlY3Vyc29zIGRvIE1hdGVyaWFsXG4vLyAoc29ydCwgcGFnaW5hdGlvbiwgc3RpY2t5IGNvbHVtbnMsIHZpcnR1YWxpemF0aW9uKS4gUHJhIHRhYmVsYXNcbi8vIGVzdMOhdGljYXMvc2ltcGxlcywgSFRNTCBwdXJvIMOpIG8gc3VmaWNpZW50ZSBlIG1haXMgbGV2ZS5cbi8vXG4vLyBDYXJhY3RlcsOtc3RpY2FzOlxuLy8gICDigKIgSGVhZGVyIHRyYW5zcGFyZW50ZSwgc2VtIGJvcmRhOyB0aXBvbG9naWEgMTJweCAvIDUwMCAvIHNlbnRlbmNlIGNhc2UgL1xuLy8gICAgIGNvciBgcmdiYSgwLDAsMCwuNTQxKWAgKD0gZGVmYXVsdCBgLm1hdC1oZWFkZXItY2VsbGAgZG8gTWF0ZXJpYWwpLlxuLy8gICDigKIgTGluaGFzIGRlIGNvbnRlw7pkbyBjb20gZnVuZG8gY2luemEgKGAkZ3JheS0xMjVgKSwgc3Vwb3J0YW5kbyBkYXJrIG1vZGUuXG4vLyAgIOKAoiBTZXBhcmFkb3IgZW50cmUgY8OpbHVsYXMgPSBnYXAgdHJhbnNwYXJlbnRlIChib3JkZXItc3BhY2luZyAxcHgpIOKAlCBzZW1cbi8vICAgICBib3JkYXMgaW50ZXJuYXM7IG8gXCJyZXNwaXJvXCIgZW50cmUgY29sdW5hcy9saW5oYXMgcmV2ZWxhIGEgcMOhZ2luYSBhdHLDoXMuXG4vLyAgIOKAoiBDYW50b3MgYXJyZWRvbmRhZG9zICg2cHgpIG5hIHByaW1laXJhIGUgw7psdGltYSB0ZCBkZSBjYWRhIGxpbmhhLlxuLy8gICDigKIgQ29udGXDumRvIDEzcHggLyA0MDAgLyBgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3JgICgjMzczNzM0KSDigJRcbi8vICAgICBhIGFsdHVyYSBkYSBsaW5oYSB2ZW0gU8OTIGRvIHBhZGRpbmcgaW50ZXJubyAoYDAuNWVtICsgMnB4YCkuXG4vL1xuLy8gT3MgYCFpbXBvcnRhbnRgIGV4aXN0ZW0gcHJhIHZlbmNlciAoMSkgcmVncmFzIE1hdGVyaWFsIGNvbSBtZXNtYVxuLy8gZXNwZWNpZmljaWRhZGUgY2FycmVnYWRhcyBhbnRlcyAoYm9yZGVyLXNwYWNpbmcsIHJvdyBoZWlnaHQpIGUgKDIpIHJlZ3Jhc1xuLy8gZ2xvYmFpcyBhbnRpZ2FzIGVtIGBfY29sb3Itc2NoZW1lLnNjc3NgIChgc2ltcGxlLXRhYmxlIHRoYCBjb2xvcikuIFF1YW5kbyBhXG4vLyBgLnNpbXBsZS10YWJsZWAgZm9yIGFwb3NlbnRhZGEsIHBvZGVtb3MgbGltcGFyIG9zIGRvIGhlYWRlci5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbnRhYmxlLmplbXMzLXRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBgIWltcG9ydGFudGAgdmVuY2UgbyBgLm1hdC10YWJsZSB7IGJhY2tncm91bmQ6IHdoaXRlIH1gIGRvIHRlbWEgZG9cbiAgICAvLyBBbmd1bGFyIE1hdGVyaWFsIChtZXNtYSBlc3BlY2lmaWNpZGFkZTsgTWF0ZXJpYWwgY29zdHVtYSBjYXJyZWdhclxuICAgIC8vIGRlcG9pcywgZW50w6NvIHNlbSBgIWltcG9ydGFudGAgbyBicmFuY28gdmVuY2UpLlxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbiAgICAvLyBgIWltcG9ydGFudGAgbmVjZXNzw6FyaW8gcHJhIHZlbmNlciBgdGFibGUubWF0LXRhYmxlIHsgYm9yZGVyLXNwYWNpbmc6IDAgfWBcbiAgICAvLyBpbmpldGFkbyBwZWxvIE1hdGVyaWFsIChtZXNtYSBlc3BlY2lmaWNpZGFkZTsgTWF0ZXJpYWwgY2FycmVnYSBwcmltZWlybykuXG4gICAgYm9yZGVyLXNwYWNpbmc6IDFweCAxcHggIWltcG9ydGFudDtcblxuICAgIC8vIE1hdGVyaWFsIGZpeGEgYHRyLm1hdC1oZWFkZXItcm93IHsgaGVpZ2h0OiA1NnB4IH1gIGUgYHRyLm1hdC1yb3cgeyBoZWlnaHQ6IDQ4cHggfWA7XG4gICAgLy8gc29sdGFtb3MgcHJhIGFsdHVyYSBzZWd1aXIgbyBwYWRkaW5nIGludGVybm8gKG1lc21hIGVzdHJhdMOpZ2lhIGRhIHYyKS5cbiAgICAvLyBQcmEgSFRNTCBwdXJvIG8gYDx0cj5gIGrDoSDDqSBgaGVpZ2h0OiBhdXRvYCBwb3IgZGVmYXVsdCDigJQgcmVncmEgw6kgbm8tb3AuXG4gICAgdHIubWF0LWhlYWRlci1yb3csXG4gICAgdHIubWF0LXJvdyB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8vIEhlYWRlciDigJQgTWF0ZXJpYWwgKGAubWF0LWhlYWRlci1jZWxsYCkgb3UgSFRNTCBwdXJvIChgdGhgKS5cbiAgICB0aCxcbiAgICB0aC5tYXQtaGVhZGVyLWNlbGwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBwYWRkaW5nOiAycHggMC41cmVtO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0MSkgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC8vIExpbmhhcyBkZSBjb250ZcO6ZG8g4oCUIE1hdGVyaWFsIChgLm1hdC1jZWxsYCkgb3UgSFRNTCBwdXJvIChgdGRgKS5cbiAgICAvLyBBbHR1cmEgZGEgbGluaGEgPSBwYWRkaW5nIGludGVybm8gKyBjb250ZcO6ZG8sIHNlbSBgbGluZS1oZWlnaHRgIGV4cGzDrWNpdG9cbiAgICAvLyAoaGVyZGEgZG8gZGVmYXVsdCBkbyBuYXZlZ2Fkb3IpLiBWZXJ0aWNhbCBjb21wYWN0byAoMnB4KSDDqSBvIFBBRFLDg08gZGFcbiAgICAvLyB0YWJlbGEgSkVNUzMg4oCUIHRvZG9zIG9zIGNvbnN1bWlkb3JlcyAocGVvcGxlLXRhYmxlLCBldmVudC10cmFja3MsXG4gICAgLy8gZXZlbnQtc2V0dGluZ3MtZW1haWwpIHVzYXZhbSBlc3NhIGFsdHVyYSwgZW50w6NvIGVsYSB2aXZlIGFxdWkgZSBuw6NvIGVtXG4gICAgLy8gb3ZlcnJpZGVzIGxvY2Fpcy4gSG9yaXpvbnRhbCBtYW50w6ltIDguNXB4IChyZXNwaXJvIGVudHJlIGNvbHVuYXMpLlxuICAgIHRkLFxuICAgIHRkLm1hdC1jZWxsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMTI1O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweCA4LjVweDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIC5qZW1zMy10YWJsZS1udW1iZXJpbmcg4oCUIG1vZGlmaWVyIHByYSBjb2x1bmEgZGUgbnVtZXJhw6fDo28gZGUgbGluaGFzLlxuICAgIC8vIEFwbGljYWRvIG5vIDx0aD4gZSA8dGQ+IGRhIGNvbHVuYSBkbyDDrW5kaWNlOiBjw6lsdWxhIHRyYW5zcGFyZW50ZSwgc2VtXG4gICAgLy8gYXJyZWRvbmRhbWVudG8sIHRpcG9ncmFmaWEgbGV2ZSAoMTIvNDMwKS4gQSAywqogY29sdW5hIChuZXh0IHNpYmxpbmcpXG4gICAgLy8gYXNzdW1lIG8gcmFkaXVzIGVzcXVlcmRvIGRvIFwiY2FyZFwiIGRhIGxpbmhhIOKAlCBkYcOtIG8gw61uZGljZSBmaWNhXG4gICAgLy8gdmlzdWFsbWVudGUgRk9SQSBkYSBsaW5oYS1jYXJkLCBjb21vIHVtIG1hcmNhZG9yIGRpc2NyZXRvIMOgIGVzcXVlcmRhLlxuICAgIC8vIENvbnN1bWlkb3IgZGVpeGEgbyA8dGg+IHZhemlvIChzZW0gdMOtdHVsbyk7IENTUyBqw6EgY29tcGFjdGEgbyBlc3Bhw6dvLlxuICAgIHRoLmplbXMzLXRhYmxlLW51bWJlcmluZyxcbiAgICB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcsXG4gICAgdGguamVtczMtdGFibGUtbnVtYmVyaW5nLm1hdC1oZWFkZXItY2VsbCxcbiAgICB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcubWF0LWNlbGwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgICAgbWluLXdpZHRoOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIFF1YW5kbyBhIDHCqiBjb2x1bmEgw6kgbnVtZXJhw6fDo28sIGEgMsKqIHBhc3NhIGEgcmVjZWJlciBvIHJhZGl1cyBlc3F1ZXJkby5cbiAgICB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZCxcbiAgICB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZC5tYXQtY2VsbCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICAgIH1cbn1cblxuLy8gRGFyayBtb2RlOiBudW1iZXJpbmcgc2VndWUgYSBjb3IgZGUgdGV4dG8gbGV2ZWwtMiBlc2N1cmEuXG4uZGFyay10aGVtZSB0YWJsZS5qZW1zMy10YWJsZSB7XG4gICAgdGguamVtczMtdGFibGUtbnVtYmVyaW5nLFxuICAgIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyxcbiAgICB0aC5qZW1zMy10YWJsZS1udW1iZXJpbmcubWF0LWhlYWRlci1jZWxsLFxuICAgIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZy5tYXQtY2VsbCB7XG4gICAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgIH1cbn1cblxuLy8gLmplbXMzLXRhYmxlLWhvdmVyIOKAlCBtb2RpZmllciBvcHQtaW4gcHJhIHRhYmVsYXMgaW50ZXJhdGl2YXMgKGxpbmhhXG4vLyBjbGljw6F2ZWwpLiBDb250b3JubyBkZSBob3ZlciAoMnB4KSBhbyByZWRvciBkYSBsaW5oYSB2aWEgYSB0w6ljbmljYSBDQU7DlE5JQ0Fcbi8vIGA6OmJlZm9yZWAgKHNlcGFyYWRvciB2ZXJ0aWNhbCkgKyBgOjphZnRlcmAgKGNvbnRvcm5vKSDigJQgYSBNRVNNQSBkYSBMaXN0YSBkZVxuLy8gU3VibWlzc8O1ZXMgLyBwZW9wbGUtdGFibGUuIChib3gtc2hhZG93IGZhbGhhOiBvIGJnIG9wYWNvIGRhIGPDqWx1bGEgdml6aW5oYVxuLy8gcGludGEgUE9SIENJTUEgZGEgc29tYnJhIG5vIGdhcCDihpIgY29udG9ybm8gXCJjb3J0YWRvXCIuIE8gYDo6YWZ0ZXJgLCBhY2ltYSBkb1xuLy8gYDo6YmVmb3JlYCBuYSBwaWxoYSwgcGFzc2EgUE9SIENJTUEgZGFzIHBvbnRhcyBkbyBzZXBhcmFkb3Ig4oaSIGxpbmhhIGNvbnTDrW51YS4pXG4vL1xuLy8gR2VuZXJhbGl6YSBwb3IgTUFSQ0FET1JFUyDigJQgYSB0YWJlbGEgc8OzIGRlY2xhcmEgc3VhIGVzdHJ1dHVyYSBlIG8gY29udG9ybm8gc2Vcbi8vIGFkYXB0YSDDoHMgY29sdW5hcyBkZSBDT05URcOaRE8sIHNlbSBjw7NkaWdvIHBvciB0YWJlbGE6XG4vLyAgIOKAoiBgLmplbXMzLXRhYmxlLW51bWJlcmluZ2Ag4oaSIGNvbHVuYSBhdXhpbGlhciBkZSBuw7ptZXJvICgxwqosIGZvcmEgZG8gXCJjYXJkXCIpLlxuLy8gICDigKIgYC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlYCDihpIgY29sdW5hIHNlbGV0b3IgKMO6bHRpbWEsIGZvcmEgZG8gXCJjYXJkXCIpLlxuLy8gQ29tIGlzc28sIFwiMcKqL8O6bHRpbWEgY29sdW5hIGRlIGNvbnRlw7pkb1wiIChxdWUgcmVjZWJlbSBhcyBib3JkYXMgZXNxdWVyZGEvXG4vLyBkaXJlaXRhKSBzw6NvIGRlcml2YWRhcyBlc3RydXR1cmFsbWVudGUsIGNvYnJpbmRvIHRvZGFzIGFzIGNvbWJpbmHDp8O1ZXMuXG4vLyAoTWVtw7NyaWE6IGZlZWRiYWNrX3RhYmxlX2hvdmVyX3NlcGFyYXRvcl90ZWNobmlxdWUuKVxuLy9cbi8vIEZ1bmNpb25hIGNvbSBNYXRlcmlhbCAoYHRkLm1hdC1jZWxsYCkgRSBjb20gYDx0YWJsZT5gIEhUTUwgUFVSTzogb3Mgc2VsZXRvcmVzXG4vLyBtaXJhbSBgdGRgIChxdWUgY29icmUgYW1ib3MpLCBlbnTDo28gdGFiZWxhcyBwdXJhcyBnYW5oYW0gbyBtZXNtbyBob3Zlci9zZXBhcmFkb3Jcbi8vIHPDsyBhZGljaW9uYW5kbyBhIGNsYXNzZSDigJQgc2VtIHJlcGxpY2FyIGEgcmVjZWl0YSBwb3IgY29tcG9uZW50ZS5cbi8vXG4vLyAgIDx0YWJsZSBjbGFzcz1cImplbXMzLXRhYmxlIGplbXMzLXRhYmxlLWhvdmVyXCI+IC4uLiA8L3RhYmxlPlxudGFibGUuamVtczMtdGFibGUtaG92ZXIge1xuICAgIC8vIFNlbSBnYXAgaG9yaXpvbnRhbCDigJQgbyBzZXBhcmFkb3IgZW50cmUgY29sdW5hcyBwYXNzYSBhIHNlciBkZXNlbmhhZG8gcG9yXG4gICAgLy8gYDo6YmVmb3JlYCAoY29tIGdhcCwgbyBjb250b3JubyBkbyBob3ZlciBmaWNhdmEgXCJjb3J0YWRvXCIpLiBNYW50w6ltIHPDsyBvXG4gICAgLy8gZ2FwIHZlcnRpY2FsIGRlIDFweCBlbnRyZSBsaW5oYXMuIE1lc21hIGVzcGVjaWZpY2lkYWRlIGRvIGAuamVtczMtdGFibGVgXG4gICAgLy8gYmFzZTsgdmVuY2UgcG9yIHZpciBkZXBvaXMgbm8gYXJxdWl2by5cbiAgICBib3JkZXItc3BhY2luZzogMCAxcHggIWltcG9ydGFudDtcblxuICAgIHRib2R5IHRyLFxuICAgIHRyLm1hdC1yb3cge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLy8gUmVzZXJ2YSBkbyBjb250b3JubyAoYDo6YWZ0ZXJgLCBib3JkYSB0cmFuc3BhcmVudGUg4oaSIHNlbSBsYXlvdXQtc2hpZnQpIGVcbiAgICAvLyDDom5jb3JhIChgcG9zaXRpb246IHJlbGF0aXZlYCkgZW0gVE9EQSBjw6lsdWxhIGRlIGNvbnRlw7pkbyAoZXhjbHVpIGFcbiAgICAvLyBudW1lcmHDp8OjbyBhdXhpbGlhciwgcXVlIGZpY2EgZm9yYSBkbyBcImNhcmRcIiBkYSBsaW5oYSkuXG4gICAgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaW5zZXQ6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2VwYXJhZG9yIHZlcnRpY2FsIGVudHJlIGNvbHVuYXMgZGUgY29udGXDumRvIOKAlCBlbSB0b2RhcyBFWENFVE8gYSDDumx0aW1hXG4gICAgLy8gKGN1amEgYm9yZGEgZGlyZWl0YSBqw6Egw6kgbyBjb250b3JubyBkYSBsaW5oYSkuIENvciA9IGJnIGRvIHBhaW5lbCAocmV2ZWxhXG4gICAgLy8gbyBcImdhcFwiKS4gTyBjb21ibyBjb20gYC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlYCByZW1vdmUgbyBzZXBhcmFkb3IgZGFcbiAgICAvLyBwZW7Dumx0aW1hIChxdWUgdmlyYSBhIMO6bHRpbWEgY29sdW5hIGRlIGNvbnRlw7pkbykuXG4gICAgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAvLyAxwqogY29sdW5hIGRlIGNvbnRlw7pkbyDihpIgcmVzZXJ2YSBib3JkYSBlc3F1ZXJkYS4gU2VtIG51bWVyYcOnw6NvOiBhIDHCqiB0ZDtcbiAgICAvLyBjb20gbnVtZXJhw6fDo286IGEgdGQgbG9nbyBhcMOzcyBlbGEuXG4gICAgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gw5psdGltYSBjb2x1bmEgZGUgY29udGXDumRvIOKGkiByZXNlcnZhIGJvcmRhIGRpcmVpdGEgKGNhc28gU0VNIHNlbGV0b3I7IG9cbiAgICAvLyBjb21ibyBzZWxlY3RhYmxlIG1vdmUgaXNzbyBwcmEgcGVuw7psdGltYSkuXG4gICAgdGQ6bGFzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyDilIDilIAgRXN0YWRvIEhPVkVSOiBjb2xvcmUgbyBjb250b3JubyAoY2luemEpIOKUgOKUgFxuICAgIHRib2R5IHRyOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyOmhvdmVyIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpsYXN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkOmxhc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIEhvdmVyIEVTQ1VSRUNFIGEgY8OpbHVsYTogdsOpdSBwcmV0byB0cmFuc2zDumNpZG8gY29tbyBGVU5ETyBkbyB0ZC4gQ29tb1xuICAgIC8vIGEgY8OpbHVsYSBwaW50YSBTT0JSRSBxdWFscXVlciBjb3IgZGEgbGluaGEgKGluY2x1c2l2ZSBjb3IgZGUgc3RhdHVzKSwgb1xuICAgIC8vIHbDqXUgbWlzdHVyYSBjb20gbyBxdWUgZXN0w6EgZW1iYWl4byDigJQgc2VtIHByZWNpc2FyIHNhYmVyIGEgY29yIG9yaWdpbmFsLlxuICAgIC8vIGAhaW1wb3J0YW50YCB2ZW5jZSByZWdyYXMgZGUgY29yIGNoZWlhIChleC46IGNlbGwtYmcgc2V0YWRvIHZpYVxuICAgIC8vIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCBlbSBfY29sb3Itc2NoZW1lLnNjc3MpLiBNZXNtYSB0w6ljbmljYSB1c2FkYVxuICAgIC8vIGVtIGBzdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyYC5cbiAgICAvL1xuICAgIC8vIFNvYnJlIG8gYDpub3QoLmplbXMzLXRhYmxlLXNlbGVjdGFibGUpYDogZXNwZWxoYSBFWEFUQU1FTlRFIG8gcGFkcsOjb1xuICAgIC8vIGRhcyBib3JkYXMgZGUgaG92ZXIgYWNpbWEg4oCUIHF1YW5kbyBow6EgbW9kaWZpZXIgc2VsZWN0YWJsZSwgYSDDumx0aW1hXG4gICAgLy8gY29sdW5hIMOpIG8gY2hlY2tib3ggZGUgc2VsZcOnw6NvIFwiZm9yYSBkbyBjYXJkXCIgZSBOw4NPIHJlY2ViZSBuZW5odW1cbiAgICAvLyBjaHJvbWUgZGUgaG92ZXIgKGJvcmRhIG91IHbDqXUpLiBBIHJlZ3JhLWlybcOjIHByYSBzZWxlY3RhYmxlIGVzdMOhIGxvZ29cbiAgICAvLyBhYmFpeG8gZSBleGNsdWkgYDpsYXN0LW9mLXR5cGVgIG5vIHNlbGV0b3IuXG4gICAgJjpub3QoLmplbXMzLXRhYmxlLXNlbGVjdGFibGUpIHtcbiAgICAgICAgdGJvZHkgdHI6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpLFxuICAgICAgICB0ci5tYXQtcm93OmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHRhYmxlLWhvdmVyLXZlaWwtbGlnaHQsICR0YWJsZS1ob3Zlci12ZWlsLWxpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5qZW1zMy10YWJsZS1zZWxlY3RhYmxlIHtcbiAgICAgICAgdGJvZHkgdHI6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKSxcbiAgICAgICAgdHIubWF0LXJvdzpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkdGFibGUtaG92ZXItdmVpbC1saWdodCwgJHRhYmxlLWhvdmVyLXZlaWwtbGlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlIOKAlCBtb2RpZmllciBvcHQtaW4gcHJhIHRhYmVsYXMgY29tIGxpbmhhc1xuLy8gc2VsZWNpb27DoXZlaXMuIENvbnZlbsOnw6NvOlxuLy8gICDigKIgw5psdGltYSBjb2x1bmEgKG1hdENvbHVtbkRlZj1cInNlbGVjdFwiKSA9IGNoZWNrYm94LCBjw6lsdWxhIHRyYW5zcGFyZW50ZVxuLy8gICAgIGZvcmEgZG8gXCJjYXJkXCIgZGEgbGluaGEgKG1lc21hIGzDs2dpY2EgdmlzdWFsIGRhIG51bWVyYcOnw6NvIMOgIGVzcXVlcmRhKS5cbi8vICAg4oCiIEhlYWRlciBkYSBjb2x1bmEgPSBjaGVja2JveCBtYXN0ZXIgcHJhIG1hcmNhci9kZXNtYXJjYXIgdG9kYXMuXG4vLyAgIOKAoiBMaW5oYXMgc2VsZWNpb25hZGFzIGdhbmhhbSBjbGFzc2UgYC5pcy1zZWxlY3RlZGAgbmEgPHRyPiDihpIgYm9yZGFcbi8vICAgICBhY2NlbnQgY29sb3IgKGNvbnRvcm5vIHBlcnNpc3RlbnRlKS5cbi8vXG4vLyAgIDx0YWJsZSBjbGFzcz1cImplbXMzLXRhYmxlIGplbXMzLXRhYmxlLXNlbGVjdGFibGVcIj5cbi8vICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInNlbGVjdFwiPiAuLi4gPC9uZy1jb250YWluZXI+XG4vLyAgICAgPHRyICptYXRSb3dEZWY9XCIuLi5cIiBbY2xhc3MuaXMtc2VsZWN0ZWRdPVwici5zZWxlY3RlZFwiPjwvdHI+XG4vLyAgIDwvdGFibGU+XG50YWJsZS5qZW1zMy10YWJsZS1zZWxlY3RhYmxlIHtcbiAgICAvLyDDmmx0aW1hIGNvbHVuYSAoc2VsZWN0KSA9IHRyYW5zcGFyZW50ZSwgZm9yYSBkbyBcImNhcmRcIi4gU2VtIHJhZGl1cy5cbiAgICB0aDpsYXN0LW9mLXR5cGUsXG4gICAgdGgubWF0LWhlYWRlci1jZWxsOmxhc3Qtb2YtdHlwZSxcbiAgICB0ZDpsYXN0LW9mLXR5cGUsXG4gICAgdGQ6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAyLjVlbTtcbiAgICAgICAgbWluLXdpZHRoOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBDaGVja2JveGVzIChtYXN0ZXIgbm8gaGVhZGVyICsgZGUgbGluaGEpIGVuY29saGlkb3MgKHNjYWxlIDAuOCkgZSBjZW50cmFkb3MuXG4gICAgdGg6bGFzdC1vZi10eXBlIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyLFxuICAgIHRoLm1hdC1oZWFkZXItY2VsbDpsYXN0LW9mLXR5cGUgLm1hdC1jaGVja2JveC1pbm5lci1jb250YWluZXIsXG4gICAgdGQ6bGFzdC1vZi10eXBlIC5tYXQtY2hlY2tib3gtaW5uZXItY29udGFpbmVyLFxuICAgIHRkOmxhc3Qtb2YtdHlwZSAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8vIFBlbsO6bHRpbWEgY29sdW5hIGFzc3VtZSBvIHJhZGl1cyBkaXJlaXRvIGRvIFwiY2FyZFwiIChhIMO6bHRpbWEgdmlyb3Ugc2VsZXRvcikuXG4gICAgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKSxcbiAgICB0ZDpudGgtbGFzdC1vZi10eXBlKDIpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDZweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDtcbiAgICB9XG5cbiAgICAvLyBTZWxlY2lvbmFkbyAocGVyc2lzdGVudGUpIOKAlCBjb250b3JubyBhY2NlbnQgdmlhIGA6OmFmdGVyYCAobWVzbWEgdMOpY25pY2EgZG9cbiAgICAvLyBob3ZlcjsgcmVxdWVyIGAuamVtczMtdGFibGUtaG92ZXJgIHAvIGEgcmVzZXJ2YSBkbyBwc2V1ZG8pLiBBY2VpdGFcbiAgICAvLyBgLmlzLXNlbGVjdGVkYCBlIGAuc2VsZWN0ZWRgLiBgOm5vdCg6bGFzdC1vZi10eXBlKWAgZXhjbHVpIG8gc2VsZXRvcjsgw7psdGltYVxuICAgIC8vIGNvbHVuYSBkZSBjb250ZcO6ZG8gPSBwZW7Dumx0aW1hIHRkIChgOm50aC1sYXN0LW9mLXR5cGUoMilgKS5cbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZCB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZCB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICB9XG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkLmplbXMzLXRhYmxlLW51bWJlcmluZyArIHRkOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZCB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQ6Zmlyc3Qtb2YtdHlwZTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICB9XG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgIH1cbn1cblxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUtc2VsZWN0YWJsZSB7XG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZCB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LnNlbGVjdGVkIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZCB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZCB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZCB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZCB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZCB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZCB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgfVxuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZCB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbn1cblxuLy8gQ29tYm8gaG92ZXIgKyBzZWxlY3RhYmxlOiBvIHNlbGV0b3IgKMO6bHRpbWEgdGQpIMOpIHRyYW5zcGFyZW50ZSwgZm9yYSBkbyBjYXJkO1xuLy8gYSDDumx0aW1hIGNvbHVuYSBkZSBDT05URcOaRE8gdmlyYSBhIHBlbsO6bHRpbWEgKGA6bnRoLWxhc3Qtb2YtdHlwZSgyKWApLlxudGFibGUuamVtczMtdGFibGUtaG92ZXIuamVtczMtdGFibGUtc2VsZWN0YWJsZSB7XG4gICAgdGQ6bGFzdC1vZi10eXBlOjphZnRlciB7IGNvbnRlbnQ6IG5vbmU7IH1cbiAgICB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOjpiZWZvcmUgeyBjb250ZW50OiBub25lOyB9XG4gICAgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIHRib2R5IHRyOmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93OmhvdmVyIHRkOm50aC1sYXN0LW9mLXR5cGUoMik6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBTZWxlY3RlZCArIGhvdmVyOiBib3JkYSBkaXJlaXRhIFBSRVNFUlZBIGFjY2VudCAoc2VtIGlzc28sIGEgcmVncmEgZGVcbiAgICAvLyBob3ZlciBhY2ltYSBzb2JyZXNjcmV2aWEgbyBhY2NlbnQgZG8gc2VsZWN0ZWQg4oCUIGB0ci5zZWxlY3RlZDpob3ZlcmAgdmVuY2VcbiAgICAvLyBwb3Igc3BlY2lmaWNpdHkgZGUgMSBjbGFzc2UgYSBtYWlzIHF1ZSBgdHI6aG92ZXJgKS5cbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZDpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQ6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQ6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgfVxufVxuXG4vLyBEYXJrIOKAlCBjb250b3JubyBkbyBob3ZlciBlbSBicmFuY28gdHJhbnNsw7pjaWRvLlxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUtaG92ZXIge1xuICAgIC8vIFNlcGFyYWRvciB2ZXJ0aWNhbCBubyBkYXJrID0gTUVTTUEgY29yIGRvIGdhcCBob3Jpem9udGFsIChjYW52YXMgYXRyw6FzIGRhXG4gICAgLy8gdGFiZWxhLCAkYWRtaW4tYmFja2dyb3VuZC1kYXJrKS4gTm8gbGlnaHQgdXNhIG8gYmcgY2xhcm8gZG8gcGFpbmVsOyBubyBkYXJrXG4gICAgLy8gbyB2YWxvciBjbGFybyB2aXJhdmEgbGluaGEgYnJhbmNhLCBlbnTDo28gdXNhbW9zIG8gY2FudmFzIGVzY3VybyBwLyB2ZXJ0aWNhbFxuICAgIC8vIGUgaG9yaXpvbnRhbCBmaWNhcmVtIGlkw6pudGljb3MuXG4gICAgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOm5vdCg6bGFzdC1vZi10eXBlKTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICB9XG5cbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgfVxuICAgIHRib2R5IHRyOmhvdmVyIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0cjpob3ZlciB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICB9XG4gICAgdGJvZHkgdHI6aG92ZXIgdGQ6bGFzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpsYXN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICB9XG5cbn1cblxuLy8gRGFyayBob3ZlciB2ZWlsIOKAlCBlc2NyaXRvIHNlbSBuZXN0aW5nIGAmYCBwcmEgZGVpeGFyIHNlbGVjdG9yIGV4cGzDrWNpdG9cbi8vIChlIGV2aXRhciBzdXJwcmVzYXMgY29tIGEgcmVncmEgYWNpbWEpLiBNZXNtYSBkaXZpc8OjbyBkbyBsaWdodDogc2VsZWN0YWJsZVxuLy8gRVhDTFVJIGA6bGFzdC1vZi10eXBlYCBwcmEgbsOjbyBwaW50YXIgbyBjaGVja2JveCBcImZvcmEgZG8gY2FyZFwiLlxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUtaG92ZXI6bm90KC5qZW1zMy10YWJsZS1zZWxlY3RhYmxlKSB0Ym9keSB0cjpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyksXG4uZGFyay10aGVtZSB0YWJsZS5qZW1zMy10YWJsZS1ob3Zlcjpub3QoLmplbXMzLXRhYmxlLXNlbGVjdGFibGUpIHRyLm1hdC1yb3c6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHRhYmxlLWhvdmVyLXZlaWwtZGFyaywgJHRhYmxlLWhvdmVyLXZlaWwtZGFyaykgIWltcG9ydGFudDtcbn1cblxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUtaG92ZXIuamVtczMtdGFibGUtc2VsZWN0YWJsZSB0Ym9keSB0cjpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpLFxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUtaG92ZXIuamVtczMtdGFibGUtc2VsZWN0YWJsZSB0ci5tYXQtcm93OmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkdGFibGUtaG92ZXItdmVpbC1kYXJrLCAkdGFibGUtaG92ZXItdmVpbC1kYXJrKSAhaW1wb3J0YW50O1xufVxuXG4uZGFyay10aGVtZSB0YWJsZS5qZW1zMy10YWJsZS1ob3Zlci5qZW1zMy10YWJsZS1zZWxlY3RhYmxlIHtcbiAgICB0Ym9keSB0cjpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdzpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgfVxuXG4gICAgLy8gU2VsZWN0ZWQgKyBob3ZlcjogYm9yZGEgRElSRUlUQSBwcmVzZXJ2YSBhY2NlbnQtZGFyay5cbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZDpob3ZlciB0ZDpudGgtbGFzdC1vZi10eXBlKDIpOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQ6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyLFxuICAgIHRyLm1hdC1yb3cuc2VsZWN0ZWQ6aG92ZXIgdGQ6bnRoLWxhc3Qtb2YtdHlwZSgyKTpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyaztcbiAgICB9XG59XG5cbi8vIERhcmsg4oCUIHNlbGVjdGVkICsgaG92ZXI6IHRvcC9ib3R0b20gKyBsZWZ0IHByZXNlcnZhbSBhY2NlbnQtZGFyayAoc2VtXG4vLyBpc3NvIG8gaG92ZXIgZGFyayBhY2ltYSB2ZW5jZSBvIHNlbGVjdGVkIGRhcmssIHBlcmRlbmRvIG8gYWNjZW50IGVtXG4vLyB0b2RvcyBvcyBsYWRvcyB2aXPDrXZlaXMpLlxuLmRhcmstdGhlbWUgdGFibGUuamVtczMtdGFibGUtaG92ZXIge1xuICAgIHRib2R5IHRyLmlzLXNlbGVjdGVkOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuc2VsZWN0ZWQ6aG92ZXIgdGQ6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0ci5tYXQtcm93LmlzLXNlbGVjdGVkOmhvdmVyIHRkOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZDpob3ZlciB0ZDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgIH1cbiAgICB0Ym9keSB0ci5pcy1zZWxlY3RlZDpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdGJvZHkgdHIuaXMtc2VsZWN0ZWQ6aG92ZXIgdGQuamVtczMtdGFibGUtbnVtYmVyaW5nICsgdGQ6OmFmdGVyLFxuICAgIHRib2R5IHRyLnNlbGVjdGVkOmhvdmVyIHRkOmZpcnN0LW9mLXR5cGU6bm90KC5qZW1zMy10YWJsZS1udW1iZXJpbmcpOjphZnRlcixcbiAgICB0Ym9keSB0ci5zZWxlY3RlZDpob3ZlciB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZDpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5pcy1zZWxlY3RlZDpob3ZlciB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZDpob3ZlciB0ZDpmaXJzdC1vZi10eXBlOm5vdCguamVtczMtdGFibGUtbnVtYmVyaW5nKTo6YWZ0ZXIsXG4gICAgdHIubWF0LXJvdy5zZWxlY3RlZDpob3ZlciB0ZC5qZW1zMy10YWJsZS1udW1iZXJpbmcgKyB0ZDo6YWZ0ZXIge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG4gICAgfVxufVxuXG4vLyAuamVtczMtdGFibGUtYWN0aW9uIOKAlCDDrWNvbmUgY2xpY8OhdmVsIHNpbXBsZXMgcHJhIGNvbHVuYXMgZGUgYcOnw6NvIGRlbnRyb1xuLy8gZGUgdW1hIGAuamVtczMtdGFibGVgLiBTZW0gY2hyb21lIGRvIE1hdGVyaWFsIChzZW0gNDDDlzQwLCBzZW0gcmlwcGxlLFxuLy8gc2VtIGZ1bmRvKSwgYXBlbmFzIG8gw61jb25lLiBGdW5jaW9uYSBlbSBgPGE+YCAocm91dGVyTGluaykgZSBgPGJ1dHRvbj5gXG4vLyDigJQgZW0gYDxidXR0b24+YCB6ZXJhbW9zIG8gY2hyb21lIG5hdGl2byArIG8gYGJ1dHRvbiB7IGhlaWdodDogMzZweCB9YFxuLy8gZ2xvYmFsIGUgbyBgcGFkZGluZ2AvYGJhY2tncm91bmRgIGhlcmRhZG9zLlxuLmplbXMzLXRhYmxlLWFjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogJGdyYXktNTAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgICAvLyBPdmVycmlkZXMgcXVhbmRvIG8gY29uc3VtaWRvciB1c2EgYDxidXR0b24+YCDigJQgbmV1dHJhbGl6YSBkZWZhdWx0c1xuICAgIC8vIG5hdGl2b3MgZG8gbmF2ZWdhZG9yIGUgYSByZWdyYSBnbG9iYWwgYGJ1dHRvbiB7IGhlaWdodDogMzZweCB9YC5cbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgLy8gUGFkZGluZyBjcmlhIGEgXCJhbG1vZmFkYVwiIGRvIGhvdmVyIGNpcmN1bGFyIHNlbSBtdWRhciBhIHBvc2nDp8OjbyBkb1xuICAgIC8vIMOtY29uZSAoZSBzZW0gYWZldGFyIG8gbGF5b3V0IGVudHJlIGVzdGFkb3MpLlxuICAgIHBhZGRpbmc6IDRweDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgLy8gQWNlaXRhIG8gw61jb25lIGNvbW8gYDxtYXQtaWNvbj5gIE9VIGNvbW8gYDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPmBcbiAgICAvLyAobyBnbGlmbyDDqSBvIG1lc21vOiBhIGNsYXNzZSDDqSBnbG9iYWwgZW0gYF9mb250cy1sb2NhbC5zY3NzYCkuIE8gc3BhbiBldml0YVxuICAgIC8vIGluc3RhbmNpYXIgdW0gY29tcG9uZW50ZSBBbmd1bGFyIHBvciBsaW5oYSBkYSB0YWJlbGEuXG4gICAgbWF0LWljb24sXG4gICAgLm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgfVxuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICB9XG4gICAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgICB9XG59XG4uZGFyay10aGVtZSAuamVtczMtdGFibGUtYWN0aW9uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpO1xuICAgIH1cbiAgICAmOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7IH1cbn1cblxuLy8gRGFyayBtb2RlIOKAlCBmdW5kbyBgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrYCBlIHRleHRvIGNsYXJvLFxuLy8gYWxpbmhhZG8gYW9zIGNhcmRzIGF1dG9yL3Jldmlzb3Igbm92b3MuXG4uZGFyay10aGVtZSB0YWJsZS5qZW1zMy10YWJsZSB7XG4gICAgdGgsXG4gICAgdGgubWF0LWhlYWRlci1jZWxsIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICB0ZCxcbiAgICB0ZC5tYXQtY2VsbCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICAgICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgfVxufVxuIiwiQGltcG9ydCAnY29sb3JzJztcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDSElQIGRlIFTDk1BJQ08gKGV4aWJpw6fDo28sIHJlYWQtb25seSkg4oCUIGRlZmluacOnw6NvIMOaTklDQSBnbG9iYWwuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBpbGwgZXN0w6F0aWNvIHF1ZSByb3R1bGEgdW0gdMOzcGljby4gVXNhZG8gZW06XG4vLyAgIC0gTGlzdGEgZGUgU3VibWlzc8O1ZXMgKGBzdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyID4gLnN1Ym1pc3Npb24tdG9waWNzYClcbi8vICAgLSBKYW5lbGEgXCJQZXNxdWlzYXIgcG9yIGludGVyZXNzZVwiIChgZmluZC1yZXZpZXdlcnMtYnktaW50ZXJlc3RgKVxuLy9cbi8vIE8gY2hpcCBFRElUw4FWRUwgZGUgZ2VzdMOjbyBkZSB0w7NwaWNvcyAoYGV2ZW50LXRvcGljc2A6IGhvdmVyLCBkcmFnLFxuLy8gaXMtaW5hY3RpdmUsIHBhcmVudCkgw6kgT1VUUk8gZGVzaWduIOKAlCBmaWNhIGVzY29wYWRvIG5vIGNvbXBvbmVudGUsIE7Dg08gbWlncmFyLlxuLnRvcGljLWNoaXAge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC1zaXplOiAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbWluLWhlaWdodDogMS40cmVtO1xuICBib3JkZXItcmFkaXVzOiAxNnB4OyAgICAgICAgICAgICAgICAgICAgLy8gcGlsbCwgY29tbyBvIG1hdC1jaGlwIGRlZmF1bHRcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm94LXNoYWRvdzogMCAwIDFweCByZ2JhKDAsIDAsIDAsIC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGV2ZW50LWNhcmQtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb250ZW50LWNvbG9yO1xufVxuIiwiLy8gQ2FyZCBkbyBwb3BvdmVyIGRvIHRocmVzaG9sZCBiYW5kIGRhIGNvbHVuYSBTcGFuIChMaXN0YSBkZSBTdWJtaXNzw7VlcykuXG4vL1xuLy8gR0xPQkFMIGRlIHByb3DDs3NpdG8gKG7Do28gbm8gc2NzcyBkbyBjb21wb25lbnRlKS4gTyBwb3BvdmVyIMOpIHBvcnRhZG8gcHJvIDxib2R5PiBlIGFcbi8vIHRhYmVsYSAoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIpIMOpIFZpZXdFbmNhcHN1bGF0aW9uLkVtdWxhdGVkOiB1bWEgcmVncmFcbi8vIGAuZGFyay10aGVtZSAuc3Bhbi10aHJlc2hvbGQtcG9wYCBlc2NyaXRhIG5vIHNjc3MgZG8gY29tcG9uZW50ZSBjb21waWxhIGNvbW9cbi8vIGAuZGFyay10aGVtZVtfbmdjb250ZW50LXhdIC5zcGFuLXRocmVzaG9sZC1wb3BbX25nY29udGVudC14XWAg4oCUIGUgY29tbyBhIGNsYXNzZVxuLy8gYGRhcmstdGhlbWVgIG1vcmEgbm8gPGJvZHk+IChxdWUgTsODTyB0ZW0gbyBhdHJpYnV0byBfbmdjb250ZW50KSwgbyBzZWxldG9yIGRhcmsgbnVuY2Fcbi8vIGNhc2Eg4oaSIG8gY2FyZCBmaWNhdmEgc2VtcHJlIGNsYXJvLCBtZXNtbyBlbSBkYXJrIG1vZGUuIGA6aG9zdC1jb250ZXh0KC5kYXJrLXRoZW1lKWBcbi8vIHRhbWLDqW0gbsOjbyByZXNvbHZlIHBvcnF1ZSBvIGNhcmQgw6kgcG9ydGFkbyBwcmEgRk9SQSBkbyBob3N0IGRhIHRhYmVsYS4gU2VtXG4vLyBlbmNhcHN1bGFtZW50byAoYXF1aSksIGAuZGFyay10aGVtZSAuc3Bhbi10aHJlc2hvbGQtcG9wYCBjYXNhIG8gPGJvZHk+IG5vcm1hbG1lbnRlLlxuLy8gKG1lbcOzcmlhIGZlZWRiYWNrX2FuZ3VsYXJfdmlld19lbmNhcHN1bGF0aW9uKVxuQGltcG9ydCAnY29sb3JzJztcblxuLnNwYW4tdGhyZXNob2xkLXBvcCB7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5LTMwMDtcbiAgYm9yZGVyLXJhZGl1czogNnB4OyAgICAgICAgICAgICAgLy8gPSAkY2hyb21lLXJhZGl1cyAoZGUgX3ZhcmlhYmxlcywgbsOjbyBpbXBvcnRhZG8gYXF1aSlcbiAgYm94LXNoYWRvdzogMCAzcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMzIpO1xuICBwYWRkaW5nOiAxMnB4IDE0cHggNHB4OyAgICAgICAgICAvLyBib3R0b20gbWVub3I6IG8gYmFuZCBqw6EgcmVzZXJ2YSAzMHB4IHAvIHNldGFzL3ZhbG9yZXNcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMzczNzM0O1xuICB9XG59XG5cbi5kYXJrLXRoZW1lIC5zcGFuLXRocmVzaG9sZC1wb3Age1xuICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgYm94LXNoYWRvdzogMCA1cHggMTRweCByZ2JhKDAsIDAsIDAsIDAuNyk7XG5cbiAgLnNwYW4tdGhyZXNob2xkLXBvcF9fdGl0bGUge1xuICAgIGNvbG9yOiAkY29udGVudC1jb2xvci1kYXJrO1xuICB9XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnY29sb3JzJztcblxuLy8gRXN0aWxvcyBkYSBtaW5pLXRhYmVsYSBkZSBub3RhcyAoY29sdW5hIFwiTm90YXMgaW5kaXZpZHVhaXNcIikuIEdMT0JBTCBwb3JxdWUgYWdvcmEgb1xuLy8gQ0FCRcOHQUxITyB2aXZlIG5vIDx0aD4gZG8gcGFpIChzdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyKSBlIGEgQ8OJTFVMQSBudW0gY29tcG9uZW50ZS1maWxob1xuLy8gKGFwcC1zY29yZS1jZWxsLCBPblB1c2gpLiBEYXJrIHZpYSBgLmRhcmstdGhlbWVgIChlcmEgOmhvc3QtY29udGV4dCBubyBjb21wb25lbnRlIEVtdWxhdGVkKS5cblxuLy8gUEVSRiBkZSByZXNpemUvc2Nyb2xsOiBgY29udGVudC12aXNpYmlsaXR5OiBhdXRvYCBmYXogbyBicm93c2VyIFBVTEFSIG8gbGF5b3V0L3BhaW50IGRhc1xuLy8gbWluaS10YWJlbGFzIHF1ZSBlc3TDo28gRk9SQSBkYSB2aWV3cG9ydC4gU2VtIGlzdG8sIGEgdGFiZWxhIChsYXlvdXQgYXV0b23DoXRpY28pIHJlLW1lZGlhIGFzXG4vLyB+MTk0IG1pbmktdGFiZWxhcyBkZSBub3RhcyBhIGNhZGEgZXZlbnRvIGRlIHJlc2l6ZSDihpIgcmVhcnJhbmpvIGxlbnRvLiBDb20gaXN0bywgc8OzIGFzIHZpc8OtdmVpc1xuLy8gc8OjbyBtZWRpZGFzL3BpbnRhZGFzLiBBIGxhcmd1cmEgw6kgRVNUw4FWRUwgKHRvZGFzIGFzIG1pbmktdGFiZWxhcyB0w6ptIGEgbWVzbWEgbGFyZ3VyYSBmaXhhKSwgZW50w6NvXG4vLyBhIGNvbHVuYSBuw6NvIFwicHVsYVwiOyBhIGFsdHVyYSBkYXMgZm9yYSBkYSB0ZWxhIHVzYSBhIGVzdGltYXRpdmEgYGF1dG9gIChsZW1icmFkYSBhcMOzcyBhIDHCqlxuLy8gcmVuZGVyaXphw6fDo28gZGUgY2FkYSB1bWEpLCBwb2RlbmRvIGRhciB1bSBsZXZlIHJlZmxvdyBubyAxwrogc2Nyb2xsIGF0w6kgc2VyZW0gbWVkaWRhcy5cbmFwcC1zY29yZS1jZWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQtdmlzaWJpbGl0eTogYXV0bztcbiAgY29udGFpbi1pbnRyaW5zaWMtc2l6ZTogYXV0byA0MDBweCBhdXRvIDcycHg7ICAgLy8gZmFsbGJhY2sgc8OzIGF0w6kgY2FkYSBjw6lsdWxhIHJlbmRlcml6YXIgMcOXXG4gIC8vIGNvbnRlbnQtdmlzaWJpbGl0eSBlbWJ1dGUgUEFJTlQgY29udGFpbm1lbnQgKHJlY29ydGEgYW8gYm94LCBjb21vIG92ZXJmbG93OmhpZGRlbikuIEEgc29tYnJhXG4gIC8vIHBvciBsaW5oYSBwcm9qZXRhLXNlIH40cHggcHJhIGZvcmEgZG8gYm94IChhYmFpeG8gZGEgw7psdGltYSBsaW5oYSwgYWNpbWEgZGEgcHJpbWVpcmEpIOKGkiBzZXJpYVxuICAvLyByZWNvcnRhZGEuIEVzdGEgZm9sZ2EgdmVydGljYWwgZMOhIGVzcGHDp28gcHJhIHNvbWJyYSBjYWJlciBERU5UUk8gZG8gYm94IGUgbsOjbyBzZXIgY29ydGFkYS5cbiAgcGFkZGluZzogNHB4IDA7XG59XG5cbi5zY29yZS1ncmlkIHtcblx0ZGlzcGxheTogZ3JpZDtcblx0Ly8gc3RyZXRjaCBub3MgZG9pcyBlaXhvczogY2FkYSBjw6lsdWxhIFBSRUVOQ0hFIGEgbGFyZ3VyYSBFIGEgQUxUVVJBIGRhIHN1YSDDoXJlYSBubyBncmlkXG5cdC8vIChvIGZ1bmRvIGNpbnphIGNvYnJlIGEgY8OpbHVsYSBpbnRlaXJhLCBpbmNsdXNpdmUgYXMgVkFaSUFTIOKAlCByZXZpc8OjbyBpbmNvbXBsZXRhLCBzdGF0dXNcblx0Ly8gZG8gcm9kYXDDqSk7IG8gY29udGXDumRvIMOpIGNlbnRyYWxpemFkbyBwb3IgZGVudHJvICh0ZXh0LWFsaWduICsgbGluZS1oZWlnaHQgLyBmbGV4KS5cblx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdGp1c3RpZnktaXRlbXM6IHN0cmV0Y2g7XG5cdC8vIExpbmhhcyBzZXBhcmFkYXMgcG9yIDFweCB0cmFuc3BhcmVudGUgKHJvdy1nYXAg4oaSIGEgY29yIGRhIGxpbmhhIGFwYXJlY2UgZW50cmUgZWxhcyk7XG5cdC8vIENPTFVOQVMgYWRqYWNlbnRlcyAoY29sdW1uLWdhcCAwKSwgZGl2aWRpZGFzIHBvciB1bSA6OmJlZm9yZSBkZSAxcHgg4oCUIE1FU01BIHTDqWNuaWNhIGRhXG5cdC8vIHRhYmVsYSBwcmluY2lwYWwgKGJvcmRlci1zcGFjaW5nIDAgMXB4KS4gQXNzaW0gbyBjb250b3JubyBkZSBob3ZlciAoOjphZnRlciBpbnNldDowKSBmaWNhXG5cdC8vIGNvbnTDrW51byBwb3JxdWUgYXMgY8OpbHVsYXMgc2UgVE9DQU0gKHNlbSBnYXAgaG9yaXpvbnRhbCBwLyBjb3J0YXIgYSBib3JkYSkuXG5cdHJvdy1nYXA6IDFweDtcblx0Y29sdW1uLWdhcDogMDtcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xuXHRsaW5lLWhlaWdodDogMS41O1xuXHR3aWR0aDogbWF4LWNvbnRlbnQ7XG5cdG1heC13aWR0aDogMTAwJTtcblx0bWFyZ2luOiAwIGF1dG87XG5cblx0Ly8gQ2FkYSBMSU5IQSBkYSBtaW5pLXRhYmVsYSDDqSB1bSBcInBpbGxcIiBhcnJlZG9uZGFkbzogYSAxwqogY8OpbHVsYSBkYSBsaW5oYSBhcnJlZG9uZGEgw6Bcblx0Ly8gZXNxdWVyZGEgKC5zZy1ybCkgZSBhIMO6bHRpbWEgw6AgZGlyZWl0YSAoLnNnLXJyKSDigJQgbWFyY2FkYXMgbm8gSFRNTCBwb3JxdWUgbyBuwrogZGVcblx0Ly8gY3JpdMOpcmlvcyDDqSB2YXJpw6F2ZWwgKG7Do28gZMOhIHByYSBtaXJhciBwb3IgbnRoLWNoaWxkKS5cblx0LnNnLXJsIHsgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IH1cblx0LnNnLXJyIHsgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDsgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDsgfVxuXG5cdC8vIFdyYXBwZXIgZGUgTElOSEE6IGNhaXhhIHJlYWwgdmlhIGBzdWJncmlkYCAoYXMgY8OpbHVsYXMgc2VndWVtIGFsaW5oYWRhcyDDoHMgY29sdW5hcyBkbyBncmlkXG5cdC8vIHBhaSksIHByYSBhIGxpbmhhIHRlciBjYWl4YSBwcsOzcHJpYSBlIGFjZWl0YXIgdW0gYm94LXNoYWRvdyBQT1IgTElOSEEuIFBlcm1pdGUgbyA6aG92ZXIgbmFcblx0Ly8gbGluaGEgaW50ZWlyYS4gU8OzIGNvcnBvL3JvZGFww6kuXG5cdC5zZy1yb3cge1xuXHRcdGRpc3BsYXk6IGdyaWQ7XG5cdFx0Z3JpZC1jb2x1bW46IDEgLyAtMTtcblx0XHRncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHN1YmdyaWQ7XG5cdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdFx0Ly8gQWx0dXJhIHVuaWZvcm1lID0gw61jb25lIGRlIHN0YXR1cyAoMTZweCkgKyAxcHggYWNpbWEgKyAxcHggYWJhaXhvLiBTZW0gaXN0bywgYSBsaW5oYVxuXHRcdC8vIFwiY29udmlkYWRvXCIgKHPDsyDDrWNvbmUsIHNlbSBuw7ptZXJvcykgZmljYSBtZW5vciBxdWUgYXMgbGluaGFzIGNvbSB0ZXh0by4gTyBwaWxsICgxNnB4KVxuXHRcdC8vIGNlbnRyYWxpemFkbyBuYSBjw6lsdWxhIGVzdGljYWRhIGdhcmFudGUgbyAxcHggZGUgZm9sZ2EgZW0gY2ltYSBlIGVtYmFpeG8uXG5cdFx0bWluLWhlaWdodDogMThweDtcblx0fVxuXG5cdC8vIENvbSBcIkNvbG9yaXIgbGluaGFzIGNvbSBzdGF0dXNcIiBMSUdBRE8sIGNhZGEgQ8OJTFVMQSDDqSBjaW56YSAoY29udHJhc3RlIGNvbnRyYSBhIGxpbmhhXG5cdC8vIGNvbG9yaWRhKS4gQ29tIG8gdG9nZ2xlIERFU0xJR0FETywgYSBsaW5oYSAoYHRyLm5vLXN0YXR1cy1jb2xvcmApIMOpIGJyYW5jYSDihpIgYSBtaW5pLXRhYmVsYVxuXHQvLyBhY29tcGFuaGEgZSBmaWNhIGJyYW5jYSAob3ZlcnJpZGUgbG9nbyBhYmFpeG8pLiBBcyBjw6lsdWxhcyB2aXZlbSBzb2IgLnNnLXJvdyAoY29ycG8vcm9kYXDDqSk7XG5cdC8vIG8gY2FiZcOnYWxobyAoLnNjb3JlLWdyaWQtaGVhZCkgZmljYSBkZSBmb3JhLiBgcG9zaXRpb246cmVsYXRpdmVgIGFuY29yYSBvIDo6YWZ0ZXIgZG8gY29udG9ybm8uXG5cdCY6bm90KC5zY29yZS1ncmlkLWhlYWQpIC5zZy1yb3cgPiAqIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0xMDA7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdC5kYXJrLXRoZW1lICYgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7IH1cblxuXHRcdC8vIENvbnRvcm5vIGRlIGhvdmVyIOKAlCBNRVNNQSB0w6ljbmljYSBkYSB0YWJlbGEgcHJpbmNpcGFsOiA6OmFmdGVyIGNvbSBib3JkYSB0b3AvYm90dG9tIGVtXG5cdFx0Ly8gdG9kYSBjw6lsdWxhIChsZWZ0IG5hIDHCqiAuc2ctcmwsIHJpZ2h0IG5hIMO6bHRpbWEgLnNnLXJyKSwgdHJhbnNwYXJlbnRlIHBvciBwYWRyw6NvLlxuXHRcdCY6OmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0aW5zZXQ6IDA7XG5cdFx0XHRib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuXHRcdFx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Ym9yZGVyLXRvcDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdH1cblxuXHRcdC8vIFNlcGFyYWRvciBkZSBDT0xVTkEgKDo6YmVmb3JlKSwgY29tbyBuYSB0YWJlbGEgcHJpbmNpcGFsOiBsaW5oYSAxcHggw6AgZGlyZWl0YSBkZSBjYWRhXG5cdFx0Ly8gY8OpbHVsYSAobWVub3MgYSDDumx0aW1hIC5zZy1ycikuIEZpY2EgQUJBSVhPIGRvIDo6YWZ0ZXIg4oaSIG8gY29udG9ybm8gZGUgaG92ZXIgcGFzc2EgcG9yIGNpbWEuXG5cdFx0Jjpub3QoLnNnLXJyKTo6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR3aWR0aDogMXB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA4KTtcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRcdFx0LmRhcmstdGhlbWUgJiB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTsgfVxuXHRcdH1cblx0XHQmLnNnLXJsOjphZnRlciB7IGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblx0XHQmLnNnLXJyOjphZnRlciB7IGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cdH1cblxuXHQvLyBcIkNvbG9yaXIgbGluaGFzIGNvbSBzdGF0dXNcIiBERVNMSUdBRE8gKGFuY2VzdHJhbCBgdHIubm8tc3RhdHVzLWNvbG9yYCk6IG5vIHRlbWEgY2xhcm8gYSBsaW5oYVxuXHQvLyDDqSBicmFuY2EsIGVudMOjbyBhIG1pbmktdGFiZWxhIGFjb21wYW5oYSDigJQgY8OpbHVsYXMgYnJhbmNhcyBlbSB2ZXogZG8gY2luemEgZGUgY29udHJhc3RlLiBGaWNhXG5cdC8vIEFOVEVTIGRvIGJsb2NvIGRlIGhvdmVyIHByYSBvIGhvdmVyIChtZXNtYSBlc3BlY2lmaWNpZGFkZSwgb3JkZW0gZGUgZm9udGUpIGNvbnRpbnVhciB2ZW5jZW5kby5cblx0Ly8gTm8gZGFyaywgYXMgbGluaGFzIFwic2VtIHN0YXR1c1wiIHPDo28gcGxhbmFzIGVzY3VyYXMg4oaSIG1hbnRlbW9zIG8gZnVuZG8gZXNjdXJvIGRhcyBjw6lsdWxhcy5cblx0Lm5vLXN0YXR1cy1jb2xvciAmOm5vdCguc2NvcmUtZ3JpZC1oZWFkKSAuc2ctcm93ID4gKiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcblx0XHQuZGFyay10aGVtZSAmIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrOyB9XG5cdH1cblxuXHQvLyBTb21icmEgUE9SIExJTkhBIChuYSBjYWl4YSAuc2ctcm93KSwgbm9zIFFVQVRSTyBsYWRvcyDigJQgU0VNUFJFLCBpbmRlcGVuZGVudGUgZGUgXCJDb2xvcmlyIGxpbmhhc1xuXHQvLyBjb20gc3RhdHVzXCIuIEFww7NzIG8gZml4IGRvIHBhZGRpbmcsIGEgY2FpeGEgZGEgbGluaGEgPT0gY8OpbHVsYXMsIGVudMOjbyBhIHNvbWJyYSBhYnJhw6dhIGEgbGluaGFcblx0Ly8gdGFudG8gY29tIENvbG9yaXIgT0ZGIChjw6lsdWxhcyBicmFuY2FzKSBxdWFudG8gT04gKGPDqWx1bGFzIGNpbnphL2NvbG9yaWRhcyksIHNlbSBkZXNjb2xhci5cblx0Ly8gRGFyazogbGluaGFzIHBsYW5hcyDihpIgc2VtIHNvbWJyYSAoc29tYnJhIGVzY3VyYSBzb21lIG5vIGZ1bmRvIGVzY3VybykuXG5cdCY6bm90KC5zY29yZS1ncmlkLWhlYWQpIC5zZy1yb3cge1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjE4KTtcblx0XHQuZGFyay10aGVtZSAmIHsgYm94LXNoYWRvdzogbm9uZTsgfVxuXHR9XG5cblx0Ly8gSE9WRVIgZGEgTElOSEEgKHZpYSAuc2ctcm93IGRpc3BsYXk6Y29udGVudHMpOiBjbGFyZWlhIGFzIGPDqWx1bGFzICsgcmV2ZWxhIG8gY29udG9ybm9cblx0Ly8gY2luemEgKHJnYmEgLjI1KSDigJQgbWVzbW8gZGVzdGFxdWUgZGFzIGxpbmhhcyBkYSB0YWJlbGEgcHJpbmNpcGFsLlxuXHQmOm5vdCguc2NvcmUtZ3JpZC1oZWFkKSAuc2ctcm93OmhvdmVyID4gKiB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktNTA7XG5cdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG5cdFx0fVxuXHRcdCYuc2ctcmw6OmFmdGVyIHsgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblx0XHQmLnNnLXJyOjphZnRlciB7IGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXHRcdC5kYXJrLXRoZW1lICYge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuXHRcdFx0fVxuXHRcdFx0Ji5zZy1ybDo6YWZ0ZXIgeyBib3JkZXItbGVmdC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXHRcdFx0Ji5zZy1ycjo6YWZ0ZXIgeyBib3JkZXItcmlnaHQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7IH1cblx0XHR9XG5cdH1cblxuXHQvLyBgPiAqOm5vdCguc2ctcm93KWAgPSBmaWxob3MgZGlyZXRvcyBkbyBncmlkIFFVRSBOw4NPIFPDg08gbGluaGEgKGFzIHBpbGxzIGRvIENBQkXDh0FMSE8pLiBDb20gb1xuXHQvLyBzdWJncmlkLCBhcyBgLnNnLXJvd2Agc8OjbyBmaWxoYXMgZGlyZXRhcyBkbyBgLnNjb3JlLWdyaWRgOyBzZW0gbyBgOm5vdCguc2ctcm93KWAsIGVzc2UgcGFkZGluZ1xuXHQvLyBjYcOtYSBOQSBMSU5IQSwgZGVpeGFuZG8gYSBjYWl4YSA4cHggbWFpcyBsYXJnYSBxdWUgYXMgY8OpbHVsYXMgKDRweC9sYWRvKSDihpIgYnJhbmNvL3NvbWJyYSBhbMOpbVxuXHQvLyBkYXMgY8OpbHVsYXMgZSBib3JkYSBkZSBob3ZlciBcInBhcmEgZGVudHJvXCIuIE8gcGFkZGluZyByZWFsIGRhcyBjw6lsdWxhcyB2ZW0gcG9yIGAuc2ctcm93ID4gKmAuXG5cdD4gKjpub3QoLnNnLXJvdyksIC5zZy1yb3cgPiAqIHtcblx0XHRtaW4td2lkdGg6IDA7XG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xuXHRcdHBhZGRpbmc6IDAgNHB4O1xuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7ICAgICAgLy8gY29udGXDumRvIGNlbnRyYWxpemFkbyBuYSBjw6lsdWxhIGVzdGljYWRhXG5cdH1cblxuXHQvLyBSZXZpc29yOiBhbGluaGFkbyDDoCBlc3F1ZXJkYSAow6kgYSBjb2x1bmEgXCJsYXJnYVwiL2ZsZXjDrXZlbCkuXG5cdC5zZy1yZXZpZXdlciB7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXG5cdC8vIEPDqWx1bGEgZG8gc3RhdHVzOiBmaWNhIGNpbnphICh2aWEgYD4gKmApIGUgY2VudHJhbGl6YSBvIHBpbGwgcGVxdWVubyBwb3IgZGVudHJvLlxuXHQuc2ctc3RhdHVzLWNlbGwge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdGEgeyBjb2xvcjogaW5oZXJpdDsgfVxuXHQuc2ctaGlkZGVuLWV5ZSB7IGZvbnQtc2l6ZTogMTJweDsgZGlzcGxheTogaW5saW5lOyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cblx0Ly8gU3RhdHVzIGRlIGNhZGEgcmV2aXPDo286IFBJTEwgc8OzIGNvbSDDrWNvbmUgKHRleHRvIHZhaSBwcm8gdG9vbHRpcCkuIENvcmVzID0gbWVzbWFzIGRvXG5cdC8vIGNoaXAgZGUgcmV2aXPDo28gKG1hcGEgJHJldmlldy1zdGF0dXM6IGJnIGNsYXJvICsgYm9yZGEvw61jb25lIGVzY3Vyb3MgcC8gY29udHJhc3RlKSxcblx0Ly8gdmlhIEBlYWNoIGxvY2FsIChvIG1peGluIHJldmlldy1jaGlwLWNvbG9ycyB2aXZlIG51bSBwYXJ0aWFsIG7Do28gaW1wb3J0YWRvIGFxdWkpLlxuXHQuc2ctc3RhdHVzIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdC8vIFF1YWRyYWRvOiBsYXJndXJhID0gYWx0dXJhIGZpeGFzIChzZW0gcGFkZGluZyBob3Jpem9udGFsLCBxdWUgZGVpeGF2YSByZXRhbmd1bGFyKS5cblx0XHR3aWR0aDogMTZweDtcblx0XHRoZWlnaHQ6IDE2cHg7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3JkZXItcmFkaXVzOiAzcHg7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cblx0XHRtYXQtaWNvbiB7XG5cdFx0XHRmb250LXNpemU6IDlweDtcblx0XHRcdHdpZHRoOiA5cHg7XG5cdFx0XHRoZWlnaHQ6IDlweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA5cHg7XG5cdFx0fVxuXG5cdFx0QGVhY2ggJHN0YXR1cywgJGNvbnRlbnQgaW4gJHJldmlldy1zdGF0dXMge1xuXHRcdFx0Ji4jeyRzdGF0dXN9IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihudGgoJGNvbnRlbnQsIDEpLCAyMCUpO1xuXHRcdFx0XHRib3JkZXItY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpO1xuXHRcdFx0XHRjb2xvcjogZGFya2VuKG50aCgkY29udGVudCwgMSksIDQwJSk7XG5cdFx0XHRcdG1hdC1pY29uIHsgY29sb3I6IGRhcmtlbihudGgoJGNvbnRlbnQsIDEpLCA0MCUpOyB9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Ly8gTGluaGEgZGUgbcOpZGlhczogZGVzdGFjYWRhIHPDsyBwZWxvIHBlc28gZGEgZm9udGUuIErDoSDDqSBzZXBhcmFkYSBkYXMgcmV2aXPDtWVzIHBlbG8gZ2FwXG5cdC8vIGRlIDFweCB0cmFuc3BhcmVudGUg4oCUIHNlbSBmaWxldGUvYm9yZGEgKGVyYSByZXNxdcOtY2lvIGRvIGVzdGlsbyBhbnRpZ28sIHZpcmF2YSB1bWFcblx0Ly8gbGluaGEgZXNjdXJhIHBvciBjw6lsdWxhKS5cblx0LnNnLWZvb3Qge1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdH1cblxuXHQvLyBSw7N0dWxvIFwiQXZnLlwiICgxwqogY8OpbHVsYSBkbyByb2RhcMOpKTogYWxpbmhhZG8gw6AgRElSRUlUQSDigJQgZW5jb3N0YSBub3MgdmFsb3JlcyBkYXNcblx0Ly8gY29sdW5hcyBkZSBub3RhLCBtb3N0cmFuZG8gb3UgbsOjbyBhIGNvbHVuYSBSZXZpc29yIChlbGEgw6kgYWJzb3J2aWRhIHBvciBzcGFuPTIgbm8gSFRNTCkuXG5cdC5zZy1mb290LnNnLXJsIHtcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0fVxufVxuXG4vLyBDYWJlw6dhbGhvIGRvIGdyaWQgKG1pZ3JhZG8gcHJhIGxpbmhhIGRlIHTDrXR1bG9zKTogc2VtIGZ1bmRvIGJyYW5jbyBhdHLDoXMgKGZpY2Egc29icmUgYVxuLy8gYmFycmEgZGUgdMOtdHVsb3MpLCBlbnTDo28gdXNhIGEgY29yIGRlIHTDrXR1bG8gdGhlbWUtYXdhcmUgZSBkZWl4YSBvcyByw7N0dWxvcyBxdWVicmFyZW1cbi8vIGxpbmhhIChlbSB2ZXogZGUgY29ydGFyKSwgasOhIHF1ZSBhIGNvbHVuYSDDqSBlc3RyZWl0YS5cbi5zY29yZS1ncmlkLnNjb3JlLWdyaWQtaGVhZCB7XG5cdC8vIEJvdHRvbS1hbGluaGEgb3MgdMOtdHVsb3MgZGFzIGNvbHVuYXMgZGUgcmV2aXPDo28gbmEgYmFzZSBkbyBncmlkIChxdWUgasOhIGZpY2EgbmEgYmFzZVxuXHQvLyBkbyBgdGhgIHZpYSB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tKSDihpIgdG9kb3Mgb3MgdMOtdHVsb3MsIG1lc21vIG9zIHF1ZSBxdWVicmFtIGVtIHbDoXJpYXNcblx0Ly8gbGluaGFzLCBlbmNvc3RhbSBuYSBiYXNlIGUgZmljYW0gbmEgTUVTTUEgbGluaGEgZG9zIGRlbWFpcyB0w610dWxvcyBkZSBjb2x1bmEgZGEgdGFiZWxhLlxuXHRhbGlnbi1pdGVtczogZW5kO1xuXG5cdD4gKiB7XG5cdFx0Y29sb3I6ICR0YWJsZS1oZWFkZXItY29sb3I7XG5cdFx0d2hpdGUtc3BhY2U6IG5vcm1hbDtcblx0XHR3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGNsaXA7XG5cdFx0bGluZS1oZWlnaHQ6IDEuMjtcblx0fVxuXHQuZGFyay10aGVtZSAmID4gKiB7IGNvbG9yOiAkdGFibGUtaGVhZGVyLWNvbG9yLWRhcms7IH1cblxuXHQvLyBDYWJlw6dhbGhvIGRlIGNyaXTDqXJpbzogc8OzIGEgSU5JQ0lBTCBudW0gcGlsbCBjaW56YSAoZGVzY3Jpw6fDo28gY29tcGxldGEgbm8gdG9vbHRpcCksXG5cdC8vIGVtIHZleiBkbyByw7N0dWxvIGludGVpcm8uIEEgY8OpbHVsYSBkbyBncmlkIHPDsyBjZW50cmEvYm90dG9tLWFsaW5oYSBvIHBpbGwuXG5cdC5zZy1jcml0LWhlYWQge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cdC5zZy1jcml0LXBpbGwge1xuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0bWluLXdpZHRoOiAxLjI1cmVtO1xuXHRcdGhlaWdodDogMS4yNXJlbTtcblx0XHRwYWRkaW5nOiAwIDRweDtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjAwO1xuXHRcdGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGZvbnQtc2l6ZTogMC43NXJlbTtcblx0XHRsaW5lLWhlaWdodDogMTtcblx0fVxuXHQuZGFyay10aGVtZSAmIC5zZy1jcml0LXBpbGwge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNCk7XG5cdFx0Y29sb3I6ICRjb250ZW50LWNvbG9yLWRhcms7XG5cdH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGnDoWxvZ29zIChtYXQtZGlhbG9nKVxuLy9cbi8vIGBteS1jdXN0b20tZGlhbG9nLWNsYXNzYCDDqSB1bSBgcGFuZWxDbGFzc2AgdXNhZG8gcG9yIHbDoXJpb3MgY29tcG9uZW50ZXNcbi8vIChwYXBlci1pbmZvLCBkZWxldGVkLXN1Ym1pc3Npb25zLCBwYXBlci1yZXZpZXctYWN0aW9ucywgZXZlbnQtcHVibGljYXRpb24sXG4vLyBkacOhbG9nb3MgZGUgc2Vzc8OjbyBkYSBWaXPDo28gZGUgQ2FsZW5kw6FyaW/igKYpLiBBIHJlZ3JhIHZpdmlhIG51bSBgOjpuZy1kZWVwYFxuLy8gc2VtIGA6aG9zdGAgZGVudHJvIGRvIFNDU1MgZGEgVmlzw6NvIGRlIENhbGVuZMOhcmlvIOKAlCBvdSBzZWphLCBzw7MgZXhpc3RpYVxuLy8gZW5xdWFudG8gYXF1ZWxlIGNvbXBvbmVudGUgZXN0aXZlc3NlIG5hIHRlbGEuIENvbW8gbyBwYWluZWwgZG8gZGnDoWxvZ28gw6lcbi8vIHJlbmRlcml6YWRvIG5vIG92ZXJsYXkgKGZvcmEgZGUgcXVhbHF1ZXIgY29tcG9uZW50ZSksIG8gbHVnYXIgZGVsYSDDqSBhcXVpLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5teS1jdXN0b20tZGlhbG9nLWNsYXNzIHtcbiAgbWF0LWRpYWxvZy1jb250YWluZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERpw6Fsb2dvIGRlIHNlc3PDo28gKFZpc8OjbyBkZSBDYWxlbmTDoXJpbyk6IGZ1bmRvIEJSQU5DTy4gTyBjaW56YSBjbGFybyBkb3Ncbi8vIG1lbnVzIChgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZGApIMOpIGEgY29yIGRvIFBBSU5FTCBkYXMgYWJhcyDigJQgcXVlIMOpIG9cbi8vIGRlZmF1bHQgZG8gYGFwcC1jaGFpci10YWJzYCDigJQsIGVudMOjbyBvIG1vZGFsIHByZWNpc2EgY29udHJhc3RhciBjb20gZWxlLlxuLy9cbi8vIGBwYW5lbENsYXNzYCBQUsOTUFJJTzogbyBgbXktY3VzdG9tLWRpYWxvZy1jbGFzc2Agw6kgY29tcGFydGlsaGFkbyBjb20gb3V0cm9zXG4vLyBkacOhbG9nb3MuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnNlc3Npb24tZGlhbG9nLXBhbmVsIC5tYXQtZGlhbG9nLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xufVxuXG4uZGFyay10aGVtZSAuc2Vzc2lvbi1kaWFsb2ctcGFuZWwgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENhcmQgZW0gQVJSQVNURSBuYSBhYmEgXCJTdWJtaXNzw7VlcyBWMlwiIGRvIGRpw6Fsb2dvIGRlIHNlc3PDo28uXG4vL1xuLy8gUmVncmEgR0xPQkFMIHBvciBuZWNlc3NpZGFkZTogbyBDREsgaW5zZXJlIG8gcHJldmlldyBudW0gcG9udG8gZm9yYSBkb1xuLy8gY29tcG9uZW50ZSAoYGdldFByZXZpZXdJbnNlcnRpb25Qb2ludGAg4oaSIGJvZHkvb3ZlcmxheSBjb250YWluZXIpLCBlbnTDo29cbi8vIGA6aG9zdCA6Om5nLWRlZXBgIGRvIGNvbXBvbmVudGUgbsOjbyBvIGFsY2Fuw6dhLlxuLy9cbi8vIFNlbSBgdHJhbnNmb3JtYCBhcXVpOiBvIENESyB1c2EgZXNzYSBwcm9wcmllZGFkZSBwYXJhIHBvc2ljaW9uYXIgbyBwcmV2aWV3XG4vLyBzb2IgbyBjdXJzb3I7IHF1YWxxdWVyIHZhbG9yIG5vc3NvIGJyaWdhcmlhIGNvbSBvIGFycmFzdGUuXG4vL1xuLy8gTyBgei1pbmRleGAgTsODTyDDqSBkZWZpbmlkbyBhcXVpOiBvIENESyBvIGVzY3JldmUgSU5MSU5FIG5vIHByZXZpZXcgKGRlZmF1bHRcbi8vIDEwMDApLCBlIGVzdGlsbyBpbmxpbmUgdmVuY2UgcmVncmEgZGUgY2xhc3NlLiBPIGFqdXN0ZSBlc3TDoSBubyBwcm92aWRlclxuLy8gYENES19EUkFHX0NPTkZJR2AgZG8gY29tcG9uZW50ZSBkbyBkacOhbG9nbyDigJQgc2VtIGVsZSBvIGNhcmQgZmljYXZhIGF0csOhcyBkb1xuLy8gYC5jZGstb3ZlcmxheS1jb250YWluZXJgIChmb3LDp2FkbyBhIDIwMTAgZW0gYF9jb2xvci1zY2hlbWUuc2Nzc2ApIGUgc3VtaWFcbi8vIGR1cmFudGUgbyBhcnJhc3RlLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEEgZ2VvbWV0cmlhIGUgYSBUSVBPR1JBRklBIElOVEVSTkFTIHByZWNpc2FtIHNlciByZXN0YXRlZCBhcXVpOiBvIGNsb25lIGZpY2Fcbi8vIGZvcmEgZG8gZW5jYXBzdWxhbWVudG8gZG8gY29tcG9uZW50ZSwgZW50w6NvIGFzIHJlZ3JhcyBgOmhvc3QgOjpuZy1kZWVwYCBkb1xuLy8gZGnDoWxvZ28gbsOjbyBvIGFsY2Fuw6dhbSAobWVzbWEgc2l0dWHDp8OjbyBqw6EgZG9jdW1lbnRhZGEgcGFyYSBvIHByZXZpZXcgZG8gbWVudVxuLy8gbGF0ZXJhbCBlbSBgX2NvbG9yLXNjaGVtZS5zY3NzYCkuIFNlbSBpc3RvLCB0w610dWxvIGUgYXV0b3JlcyBzYWVtIGNvbGFkb3MgbnVtYVxuLy8gbGluaGEgc8OzLCBzZW0gYSBjb2x1bmEgZG8gYC5zdWJzLXYyLWJvZHlgLlxuLnN1YnMtdjItaXRlbS5jZGstZHJhZy1wcmV2aWV3IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogM3B4IDA7XG5cbiAgLy8gTyBjbG9uZSDDqSBjcmlhZG8gYSBwYXJ0aXIgZG8gY2FyZCBzb2IgbyBjdXJzb3IgKGVtIGhvdmVyKSwgZW50w6NvIG8gXCJ4XCJcbiAgLy8gdmlyaWEgdmlzw612ZWwg4oCUIGR1cmFudGUgbyBhcnJhc3RlIGEgYcOnw6NvIMOpIHJlb3JkZW5hciwgbsOjbyByZW1vdmVyLlxuICAuc3Vicy12Mi1yZW1vdmUgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgLnN1YnMtdjItY2FyZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG5cbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQ7XG4gICAgLy8gRWxldmHDp8OjbyBtYWlvciBxdWUgYSBkbyBjYXJkIGVtIHJlcG91c28g4oCUIG8gY2FyZCBcImRlc2NvbGFcIiBkYSBsaXN0YS5cbiAgICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBvcGFjaXR5OiAwLjk3O1xuICB9XG5cbiAgLy8gRmFtw61saWEgaGVyZGFkYSBkbyA8Ym9keT4gKEdlaXN0KSDigJQgbsOjbyBmaXhhbW9zIGFxdWkgcG9ycXVlIGAkZm9udC1mYW1pbHlgXG4gIC8vIG1vcmEgZW0gYF90aGVtZS5zY3NzYCwgcXVlIGVtaXRlIHVtIHRlbWEgTWF0ZXJpYWwgaW50ZWlybyBzZSBpbXBvcnRhZG8uXG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuXG4gIC5zdWJzLXYyLW9yZGVyIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cblxuICAuc3Vicy12Mi1ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLnN1YnMtdjItdGl0bGUsXG4gIC5zdWJzLXYyLWF1dGhvcnMge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gIH1cblxuICAuc3Vicy12Mi10aXRsZSB7IGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuICAuc3Vicy12Mi1hdXRob3JzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB9XG59XG5cbi5kYXJrLXRoZW1lIC5zdWJzLXYyLWl0ZW0uY2RrLWRyYWctcHJldmlldyB7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuXG4gIC5zdWJzLXYyLWNhcmQge1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3ItZGFyaztcbiAgICBib3gtc2hhZG93OiAwIDhweCAyMHB4IHJnYmEoMCwgMCwgMCwgMC41NSk7XG4gIH1cblxuICAuc3Vicy12Mi1vcmRlcixcbiAgLnN1YnMtdjItYXV0aG9ycyB7IGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7IH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb25uZWN0ZWQgYnV0dG9uIGdyb3VwIChzZWdtZW50ZWQpIOKAlCBHTE9CQUxcbi8vXG4vLyBGb250ZSDDmk5JQ0EgZG8gZXN0aWxvIGRhIHDDrWx1bGEuIEFudGVzIGV4aXN0aWFtIHF1YXRybyBjw7NwaWFzIHByYXRpY2FtZW50ZVxuLy8gaWTDqm50aWNhczogYGFkbWluLWV2ZW50cy1zZWdgIChhZG1pbi9ldmVudHMpLCBgbm90aWYtc2NvcGVgXG4vLyAobm90aWZpY2F0aW9ucy1jZW50ZXIpLCBgLnNlZ2AgKGFwcC1zZWdtZW50ZWQtY29udHJvbCkgZSBvIGdydXBvIGRlIG5hdmVnYcOnw6NvXG4vLyBkYSBWaXPDo28gZGUgQ2FsZW5kw6FyaW8uIFZlciBbW2ZlZWRiYWNrX3NlZ21lbnRlZF9ub3Rfc3dpdGNoXV0uXG4vL1xuLy8gVXNvOlxuLy8gICA8ZGl2IGNsYXNzPVwic2VnXCIgcm9sZT1cImdyb3VwXCI+XG4vLyAgICAgPGJ1dHRvbiBjbGFzcz1cInNlZy1idG5cIiBbY2xhc3MuaXMtYWN0aXZlXT1cIuKAplwiPuKApjwvYnV0dG9uPlxuLy8gICA8L2Rpdj5cbi8vXG4vLyBgaXMtYWN0aXZlYCDDqSBzw7MgcGFyYSBTRUxFw4fDg08gZW50cmUgb3DDp8O1ZXMgZXhjbHVkZW50ZXMuIEdydXBvcyBkZSBBw4fDg09cbi8vIChleC46IEFudGVyaW9yL0hvamUvUHLDs3hpbW8pIHVzYW0gYXMgbWVzbWFzIGNsYXNzZXMgc2VtIGBpcy1hY3RpdmVgLlxuLy9cbi8vIFNlbSBgdHJhbnNpdGlvbmA6IGhvdmVyIG5vIEpFTVMzIMOpIGluc3RhbnTDom5lbyAodmVyIGBmZWVkYmFja19ub19ob3Zlcl90cmFuc2l0aW9uYCkuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnNlZyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcGFkZGluZzogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uc2VnLWJ0biB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MzA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICBwYWRkaW5nOiAwIDE0cHg7XG4gIGhlaWdodDogMjhweDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3Zlcjpub3QoLmlzLWFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wNDUpO1xuICB9XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgfVxufVxuXG4vLyBWYXJpYW50ZSDDjUNPTkU6IHNlZ21lbnRvIGNvbSB1bSBnbGlmbyAoTWF0ZXJpYWwgU3ltYm9sIG91IFNWRykgbm8gbHVnYXIgZG8gdGV4dG8uXG4vLyBNQUlTIENPTVBBQ1RBIHF1ZSBhIHZhcmlhbnRlLXRleHRvIOKAlCBvIMOtY29uZSAoMThweCkgbsOjbyBwcmVjaXNhIGRhIG1lc21hIGZvbGdhXG4vLyBxdWUgdW1hIHBhbGF2cmE6IGFsdHVyYSAyNCAodnMgMjgpIGUgcGFkZGluZyBsYXRlcmFsIDcgKHZzIDEwKSBlbnh1Z2FtIG8gZXNwYcOnb1xuLy8gQU8gUkVET1IgZG8gw61jb25lIHNlbSB0b2NhciBubyB0YW1hbmhvIGRlbGUuIE8gw61jb25lIGhlcmRhIGEgY29yIGRvIGJvdMOjb1xuLy8gKGluY2x1aSBvIHJlYWxjZSBkZSBgLmlzLWFjdGl2ZWApLiDDmm5pY28gdG9nZ2xlLcOtY29uZSBkbyBhcHAgw6kgbyBkZSBsYXlvdXQgZGFzXG4vLyByZXZpc8O1ZXMsIGVudMOjbyBhIGNvbXBhY3Rhw6fDo28gbsOjbyBhZmV0YSBvcyB0b2dnbGVzIGRlIHRleHRvLlxuLnNlZy1idG4tLWljb24ge1xuICBoZWlnaHQ6IDI0cHg7XG4gIHBhZGRpbmc6IDAgN3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLm1hdC1pY29uIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi5kYXJrLXRoZW1lIHtcbiAgLnNlZyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xuICB9XG5cbiAgLnNlZy1idG4ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuXG4gICAgJjpob3Zlcjpub3QoLmlzLWFjdGl2ZSkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7XG4gICAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gICAgfVxuICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWYXJpYW50ZSBERVNMSVpBTlRFIChvcHQtaW4gdmlhIGAuc2VnLmlzLXNsaWRpbmdgICsgYDxzcGFuIGNsYXNzPVwic2VnLXRodW1iXCI+YCkuXG4vL1xuLy8gRW0gdmV6IGRlIG8gZnVuZG8gc2FsdGFyIGVudHJlIHNlZ21lbnRvcywgdW0gw5pOSUNPIHRodW1iIGNpbnphIGRlc2xpemEg4oCUIG9cbi8vIHNlZ21lbnRvIGF0aXZvIG7Do28gcGludGEgbyBwcsOzcHJpbyBmdW5kbywgcXVlbSBwaW50YSDDqSBvIHRodW1iICh0cmFuc2nDp8OjbyBzw7Ncbi8vIG5vIGB0cmFuc2Zvcm1gLCBlbnTDo28gw6kgbyDDum5pY28gbW92aW1lbnRvOyBob3ZlciBjb250aW51YSBpbnN0YW50w6JuZW8pLlxuLy8gQSBnZW9tZXRyaWEgdmVtIGRvIHRlbXBsYXRlOiBsYXJndXJhID0gMSBzZWdtZW50bywgYHRyYW5zbGF0ZVgoMTAwJSDDlyDDrW5kaWNlKWAuXG4vLyBBc3N1bWUgc2VnbWVudG9zIGRlIGxhcmd1cmEgaWd1YWwgKHVzbyBhdHVhbDogdG9nZ2xlIGRlIGxheW91dCBkYXMgcmV2aXPDtWVzLFxuLy8gc8OzIMOtY29uZXMpLiBWZXIgW1tmZWVkYmFja19zZWdtZW50ZWRfbm90X3N3aXRjaF1dIOKAlCBvIHBhZHLDo28gc2VndWUgaW5zdGFudMOibmVvLlxuLy9cbi8vIENvbG9jYWRvIERFUE9JUyBkbyBibG9jbyBgLmRhcmstdGhlbWVgIGRlIHByb3DDs3NpdG86IGAuc2VnLmlzLXNsaWRpbmdcbi8vIC5zZWctYnRuLmlzLWFjdGl2ZWAgZW1wYXRhIGVtIGVzcGVjaWZpY2lkYWRlIGNvbSBgLmRhcmstdGhlbWUgLnNlZy1idG4uaXMtYWN0aXZlYCxcbi8vIGVudMOjbyBhIG9yZGVtIGRlIG9yaWdlbSDDqSBxdWUgZGVjaWRlIG8gZnVuZG8gdHJhbnNwYXJlbnRlIG5vcyBkb2lzIHRlbWFzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zZWcuaXMtc2xpZGluZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyDDjWNvbmVzIGFjaW1hIGRvIHRodW1iOyBvIGF0aXZvIGRlaXhhIG8gdGh1bWIgc2VyIG8gZnVuZG8uXG4gIC5zZWctYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgfVxuICAuc2VnLWJ0bi5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC8vIFNlbSByZWFsY2UgZGUgZnVuZG8gbm8gaG92ZXI6IG8gw7puaWNvIGZlZWRiYWNrIMOpIG8gdGh1bWIgZGVzbGl6YW5kby5cbiAgLy8gKDAsNCwwKSBlIGRlcG9pcyBkbyBibG9jbyBgLmRhcmstdGhlbWVgIOKGkiB2ZW5jZSBhIHJlZ3JhIGRlIGhvdmVyIGdsb2JhbFxuICAvLyBub3MgZG9pcyB0ZW1hcy5cbiAgLnNlZy1idG46aG92ZXI6bm90KC5pcy1hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4uc2VnLXRodW1iIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJweDtcbiAgYm90dG9tOiAycHg7XG4gIGxlZnQ6IDJweDtcbiAgei1pbmRleDogMDtcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJhY2tncm91bmQ6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyAkZWFzZS1vdXQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZGFyay10aGVtZSAuc2VnLXRodW1iIHtcbiAgYmFja2dyb3VuZDogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xufVxuXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuc2VnLXRodW1iIHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENISVAgZGUgc3RhdHVzIGRhIFNVQk1JU1PDg08g4oCUIGRlZmluacOnw6NvIMO6bmljYS5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVXNhZG8gZW06XG4vLyAgIC0gRmlsdHJvIGRlIHN0YXR1cyBubyBwYWluZWwgZGUgTWluaGFzIHN1Ym1pc3PDtWVzXG4vLyAgICAgKGBzdWJtaXNzaW9ucy5jb21wb25lbnQuc2NzcyA+IGxhYmVsIHNwYW5gKVxuLy8gICAtIFDDrWx1bGEgZGUgc3RhdHVzIGRhIHN1Ym1pc3PDo28gbm8gbm92byBjYXJkIGRlIE1pbmhhcyBzdWJtaXNzw7Vlc1xuLy8gICAgIChgc3VibWlzc2lvbnMuY29tcG9uZW50LnNjc3MgPiAuc25jLXN0YXR1c2ApXG4vL1xuLy8gTyBjaGlwIGRlIFJFVklTw4NPIChyYWRpdXMgM3B4LCBsaWdodGVuL2RhcmtlbikgdGVtIGlkZW50aWRhZGUgdmlzdWFsXG4vLyBkaXN0aW50YSBlIGZpY2EgZW0gYHJldmlld3MuY29tcG9uZW50LnNjc3NgIOKAlCBOw4NPIG1pZ3JhciBwcmEgY8OhLlxuXG4vLyAtLS0tIFRva2VucyBnZW9tw6l0cmljb3MgLyB0aXBvZ3LDoWZpY29zIC0tLS1cbiRzdWJtaXNzaW9uLWNoaXAtd2lkdGg6ICAgICAgICAgOTZweDsgICAvLyBlcmEgMTA0cHgg4oCUIGZvbGdhIHJlZHV6aWRhICjDrWNvbmUgTWF0ZXJpYWwgbWFpcyBqdXN0bylcbiRzdWJtaXNzaW9uLWNoaXAtaGVpZ2h0OiAgICAgICAgMjJweDsgICAvLyBlcmEgMjBweCDigJQgK3Jlc3Bpcm8gcC8gbyB0cmlnZ2VyIGNsaWPDoXZlbCBlIG8gw61jb25lIHByZWVuY2hpZG9cbiRzdWJtaXNzaW9uLWNoaXAtcmFkaXVzOiAgICAgICAgOTk5cHg7XG4kc3VibWlzc2lvbi1jaGlwLXBhZGRpbmc6ICAgICAgIDAgOHB4OyAgLy8gZXJhIDAgMTBweFxuJHN1Ym1pc3Npb24tY2hpcC1nYXA6ICAgICAgICAgICA1cHg7XG4kc3VibWlzc2lvbi1jaGlwLWZvbnQtc2l6ZTogICAgIDExcHg7XG4kc3VibWlzc2lvbi1jaGlwLWZvbnQtd2VpZ2h0OiAgIDUwMDtcbiRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplOiAgICAgMTNweDtcbiRzdWJtaXNzaW9uLWNoaXAtc2hhZG93OiAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC41NSk7IC8vIG9mZnNldC14IDFweOKGkjA6IHNvbWJyYSAxcHggw6AgZXNxdWVyZGFcblxuLy8gUmVsZXZvIFwiZW1ib3NzZWRcIiB2aWEgSU5TRVQgU0hBRE9XUyAobsOjbyBib3JkZXJzIDFweCBlbSA0IGxhZG9zKS4gT1xuLy8gYXBwcm9hY2ggYW50ZXJpb3Ig4oCUIGJvcmRlci10b3AvLWxlZnQgY2xhcmFzICsgYm9yZGVyLXJpZ2h0Ly1ib3R0b21cbi8vIGVzY3VyYXMg4oCUIHByb2R1emlhIHVtYSBlbWVuZGEgZGlhZ29uYWwgZHVyYSBub3MgY2FudG9zIChqb2luIG1pdGVyIGRvXG4vLyBDU1MpLiBJbnNldCBzaGFkb3dzIGNvbSBwZXF1ZW5vIGBibHVyYCBkaXN0cmlidWVtIGEgbHV6L3NvbWJyYSBwb3Jcbi8vIGFsZ3VucyBwaXhlbHMsIGUgYXMgZHVhcyBjYW1hZGFzIHNlIGF0ZW51YW0gbXV0dWFtZW50ZSBub3MgY2FudG9zOlxuLy8gbyBlbmNvbnRybyBlbnRyZSBcImx1eiBkbyB0b3BvLWVzcXVlcmRhXCIgZSBcInNvbWJyYSBkbyBpbmZlcmlvci1kaXJlaXRhXCJcbi8vIHZpcmEgdW1hIHRyYW5zacOnw6NvIHN1YXZlLCByZXNwZWl0YW5kbyBvIGJvcmRlci1yYWRpdXMuXG4vL1xuLy8gQ2FtYWRhczpcbi8vICAg4oCiIGluc2V0ICAreCAreSDigJQgbHV6IHZpbmRvIGRvIHRvcG8tZXNxdWVyZGFcbi8vICAg4oCiIGluc2V0ICAteCAteSDigJQgc29tYnJhIHZpbmRvIGRvIGluZmVyaW9yLWRpcmVpdGFcbi8vIE8gYGJsdXIg4omIIDAuNzVweGAgw6kgbyBtw61uaW1vIHF1ZSBwcm9kdXogbyBmYWRlIG5vcyBjYW50b3Mgc2VtIFwidmF6YXJcIlxuLy8gcHJvIG1pb2xvIGRvIGNoaXAgKHF1ZSDDqSBjb3IgY2hlaWEpLlxuJHN1Ym1pc3Npb24tY2hpcC1yZWxpZWY6XG4gICAgaW5zZXQgIDFweCAgMXB4IDAuNzVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpLFxuICAgIGluc2V0IC0xcHggLTFweCAwLjc1cHggcmdiYSgwLCAwLCAwLCAwLjIwKTtcblxuLy8gLS0tLSBNaXhpbjogZ2VvbWV0cmlhIGRvIHBpbGwgLS0tLVxuLy8gYCRpbXBvcnRhbnRgOiB0cnVlIOKGkiBhZGljaW9uYSBgIWltcG9ydGFudGAgZW0gY2FkYSBwcm9wIChuZWNlc3PDoXJpbyBub1xuLy8gZmlsdHJvIHByYSBzb2JyZXNjcmV2ZXIgZGVmYXVsdHMgZG8gTWF0ZXJpYWwvQnVsbWE7IGZhbHNvIHBvciBkZWZhdWx0XG4vLyBwcm8gdXNvIGZvcmEgZG8gZmlsdHJvKS5cbkBtaXhpbiBzdWJtaXNzaW9uLWNoaXAtZ2VvbWV0cnkoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6ICRzdWJtaXNzaW9uLWNoaXAtZ2FwO1xuICAgICAgICB3aWR0aDogJHN1Ym1pc3Npb24tY2hpcC13aWR0aCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiAkc3VibWlzc2lvbi1jaGlwLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogJHN1Ym1pc3Npb24tY2hpcC1oZWlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogJHN1Ym1pc3Npb24tY2hpcC1wYWRkaW5nICFpbXBvcnRhbnQ7XG4gICAgICAgIC8vIFNlbSBib3JkZXIgMXB4IGVtIDQgbGFkb3Mg4oCUIG8gcmVsZXZvIHZlbSBkb3MgaW5zZXQgc2hhZG93cyBhYmFpeG9cbiAgICAgICAgLy8gKHRyYW5zacOnw6NvIHN1YXZlIG5vcyBjYW50b3M7IHZlciBjb21lbnTDoXJpbyBubyB0b2tlbiBkbyByZWxpZWYpLlxuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHN1Ym1pc3Npb24tY2hpcC1yYWRpdXMgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogJHN1Ym1pc3Npb24tY2hpcC1yZWxpZWYsICRzdWJtaXNzaW9uLWNoaXAtc2hhZG93ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogJHN1Ym1pc3Npb24tY2hpcC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtZm9udC13ZWlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGdhcDogJHN1Ym1pc3Npb24tY2hpcC1nYXA7XG4gICAgICAgIHdpZHRoOiAkc3VibWlzc2lvbi1jaGlwLXdpZHRoO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1heC13aWR0aDogJHN1Ym1pc3Npb24tY2hpcC13aWR0aDtcbiAgICAgICAgaGVpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWhlaWdodDtcbiAgICAgICAgcGFkZGluZzogJHN1Ym1pc3Npb24tY2hpcC1wYWRkaW5nO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzdWJtaXNzaW9uLWNoaXAtcmFkaXVzO1xuICAgICAgICBib3gtc2hhZG93OiAkc3VibWlzc2lvbi1jaGlwLXJlbGllZiwgJHN1Ym1pc3Npb24tY2hpcC1zaGFkb3c7XG4gICAgICAgIGZvbnQtc2l6ZTogJHN1Ym1pc3Npb24tY2hpcC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3VibWlzc2lvbi1jaGlwLWZvbnQtd2VpZ2h0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxufVxuXG4vLyAtLS0tIE1peGluOiDDrWNvbmUgaW50ZXJubyAoTWF0ZXJpYWwgZm9udCBpY29uKSAtLS0tXG4vLyBPcyDDrWNvbmVzIGRlIHN0YXR1cyBzw6NvIE1hdGVyaWFsIFN5bWJvbHMgUFJFRU5DSElET1MgKEZJTEwgMSkg4oCUIGNvbWJpbmFtIGNvbSBvXG4vLyB2aXN1YWwgc8OzbGlkbyBkbyBjaGlwLiBBIGZvbnRlIMOpIHZhcmnDoXZlbCBlbSBGSUxMIDAuLjEgKHZlciBfZm9udHMtbG9jYWwuc2NzcykuXG5AbWl4aW4gc3VibWlzc2lvbi1jaGlwLWljb24oJGltcG9ydGFudDogZmFsc2UpIHtcbiAgICBAaWYgJGltcG9ydGFudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHN1Ym1pc3Npb24tY2hpcC1pY29uLXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogJHN1Ym1pc3Npb24tY2hpcC1pY29uLXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNDAwLCAnRklMTCcgMSAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkc3VibWlzc2lvbi1jaGlwLWljb24tc2l6ZTtcbiAgICAgICAgd2lkdGg6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRzdWJtaXNzaW9uLWNoaXAtaWNvbi1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJHN1Ym1pc3Npb24tY2hpcC1pY29uLXNpemU7XG4gICAgICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnd2dodCcgNDAwLCAnRklMTCcgMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENISVAgZGUgc3RhdHVzIGRhIFJFVklTw4NPIOKAlCBnZW9tZXRyaWEgZSBjb3JlcyB2aWEgbWl4aW5zLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBVc2FkbyBlbTpcbi8vICAgLSBGaWx0cm8gZGUgc3RhdHVzIG5vIHBhaW5lbCBkZSBNaW5oYXMgcmV2aXPDtWVzIChgcmV2aWV3cy5jb21wb25lbnQuc2Nzc1xuLy8gICAgID4gbGFiZWwgc3BhbmAgZGVudHJvIGRhIHNlw6fDo28gZGUgcmV2aXPDo28pLlxuLy8gICAtIFBpbGwgYC5jdi1lYi1zdGF0dXNgIChlIHZhcmlhbnRlIGAuY3YtZWItc3RhdHVzLWljb24tb25seWApIG5vIG5vdm9cbi8vICAgICBjYXJkIGRlIE1pbmhhcyByZXZpc8O1ZXMuXG4vL1xuLy8gRGlmZXJlbsOnYXMgdnMgc3VibWlzc2lvbi1jaGlwOlxuLy8gICAtIFJldMOibmd1bG8gYXJyZWRvbmRhZG8gKHJhZGl1cyAzcHgpLCBuw6NvIHBpbGwgcGxlbm8gKDk5OXB4KS5cbi8vICAgLSBDb3JlcyBkZXJpdmFkYXMgKGxpZ2h0ZW4vZGFya2VuKSBlbSB2ZXogZGUgY29yIGNoZWlhLlxuLy8gICAtIEJvcmRlciBleHBsw61jaXRvICgxcHgpIOKAlCBzdWJtaXNzw6NvIHVzYSBib3JkZXI6IDAuXG5cbiRyZXZpZXctY2hpcC13aWR0aDogICAgICAgICAxNDRweDtcbiRyZXZpZXctY2hpcC1oZWlnaHQ6ICAgICAgICAyMHB4O1xuJHJldmlldy1jaGlwLXJhZGl1czogICAgICAgIDNweDtcbiRyZXZpZXctY2hpcC1wYWRkaW5nOiAgICAgICAwIDEwcHg7XG4kcmV2aWV3LWNoaXAtZ2FwOiAgICAgICAgICAgNXB4O1xuJHJldmlldy1jaGlwLWZvbnQtc2l6ZTogICAgIDExcHg7XG4kcmV2aWV3LWNoaXAtZm9udC13ZWlnaHQ6ICAgNTAwO1xuJHJldmlldy1jaGlwLWljb24tc2l6ZTogICAgIDEzcHg7XG5cbi8vIC0tLS0gTWl4aW46IGdlb21ldHJpYSBkbyBjaGlwIHJldGFuZ3VsYXIgZGUgcmV2aXPDo28gLS0tLVxuQG1peGluIHJldmlldy1jaGlwLWdlb21ldHJ5KCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAkcmV2aWV3LWNoaXAtZ2FwO1xuICAgICAgICB3aWR0aDogJHJldmlldy1jaGlwLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6ICRyZXZpZXctY2hpcC13aWR0aCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6ICRyZXZpZXctY2hpcC1oZWlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogJHJldmlldy1jaGlwLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJldmlldy1jaGlwLXJhZGl1cyAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6ICRyZXZpZXctY2hpcC1mb250LXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRyZXZpZXctY2hpcC1mb250LXdlaWdodCAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAkcmV2aWV3LWNoaXAtZ2FwO1xuICAgICAgICB3aWR0aDogJHJldmlldy1jaGlwLXdpZHRoO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgIG1heC13aWR0aDogJHJldmlldy1jaGlwLXdpZHRoO1xuICAgICAgICBoZWlnaHQ6ICRyZXZpZXctY2hpcC1oZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICRyZXZpZXctY2hpcC1wYWRkaW5nO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmV2aWV3LWNoaXAtcmFkaXVzO1xuICAgICAgICBmb250LXNpemU6ICRyZXZpZXctY2hpcC1mb250LXNpemU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcmV2aWV3LWNoaXAtZm9udC13ZWlnaHQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG59XG5cbi8vIC0tLS0gTWl4aW46IMOtY29uZSBpbnRlcm5vIChNYXRlcmlhbCBmb250IGljb24pIC0tLS1cbkBtaXhpbiByZXZpZXctY2hpcC1pY29uKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICBmb250LXNpemU6ICRyZXZpZXctY2hpcC1pY29uLXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6ICRyZXZpZXctY2hpcC1pY29uLXNpemUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBmb250LXNpemU6ICRyZXZpZXctY2hpcC1pY29uLXNpemU7XG4gICAgICAgIHdpZHRoOiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRyZXZpZXctY2hpcC1pY29uLXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcmV2aWV3LWNoaXAtaWNvbi1zaXplO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG59XG5cbi8vIC0tLS0gTWl4aW46IGNvcmVzIHBlci1zdGF0dXMgKHJldmlzw6NvKSAtLS0tXG4vLyBiZyA9IGxpZ2h0ZW4obnRoKDEpLCAyMCUpLCBib3JkZXIvdGV4dG8gPSBkYXJrZW4obnRoKDEpLCA0MCUpIOKAlCA0MCVcbi8vIGdhcmFudGUgY29udHJhc3RlIFdDQUcgNC41OjEgbWVzbW8gZW0gY2hpcHMgY2xhcm9zIChhbWFyZWxvL2NpbnphKS5cbkBtaXhpbiByZXZpZXctY2hpcC1jb2xvcnMoJHN0YXR1cy1saXN0LCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAgIEBlYWNoICRzdGF0dXMsICRjb250ZW50IGluICRzdGF0dXMtbGlzdCB7XG4gICAgICAgIEBpZiAkaW1wb3J0YW50IHtcbiAgICAgICAgICAgICYuI3skc3RhdHVzfSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihudGgoJGNvbnRlbnQsIDEpLCAyMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKG50aCgkY29udGVudCwgMSksIDQwJSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKG50aCgkY29udGVudCwgMSksIDQwJSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAmLiN7JHN0YXR1c30ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4obnRoKCRjb250ZW50LCAxKSwgMjAlKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4obnRoKCRjb250ZW50LCAxKSwgNDAlKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogZGFya2VuKG50aCgkY29udGVudCwgMSksIDQwJSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gKFNVQk1JU1NJT04pIE1peGluOiBjb3JlcyBwZXItc3RhdHVzIOKAlCBjb3IgY2hlaWEgKGJnPW50aDEpLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBiZyA9IG50aCgxKSAoY29yIGNoZWlhKSwgdGV4dG8gPSBudGgoMiksIMOtY29uZSA9IG50aCgzKS5cbi8vIEVzcGVyYSBzZXIgY2hhbWFkbyBERU5UUk8gZGUgdW0gc2VsZXRvciAoZ2VyYSBgJi5wZW5kaW5nYCwgZXRjLikuXG5AbWl4aW4gc3VibWlzc2lvbi1jaGlwLWNvbG9ycygkc3RhdHVzLWxpc3QsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gICAgQGVhY2ggJHN0YXR1cywgJGNvbnRlbnQgaW4gJHN0YXR1cy1saXN0IHtcbiAgICAgICAgQGlmICRpbXBvcnRhbnQge1xuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAje250aCgkY29udGVudCwgMSl9ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICN7bnRoKCRjb250ZW50LCAyKX0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGAuaWNvbmAgY29icmUgbyDDrWNvbmUtZ2xpZm8gZG8gbm92byBzZWxldG9yIChzcGFuLmljb24pOyBgLm1hdC1pY29uYCBvIGRvIGF0dWFsLlxuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IC5tYXQtaWNvbixcbiAgICAgICAgICAgICYuI3skc3RhdHVzfSAuaWNvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICN7bnRoKCRjb250ZW50LCAzKX0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAmLiN7JHN0YXR1c30ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG50aCgkY29udGVudCwgMSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG50aCgkY29udGVudCwgMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLiN7JHN0YXR1c30gLm1hdC1pY29uLFxuICAgICAgICAgICAgJi4jeyRzdGF0dXN9IC5pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbnRoKCRjb250ZW50LCAzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENMQVNTRVMgVVRJTElUw4FSSUFTIEdMT0JBSVMg4oCUIGNoaXAgZGUgc3RhdHVzIHByb250byBwcmEgdXNvXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEFwbGlxdWUgZGlyZXRvIG5vIG1hcmt1cCAoc2VtIHByZWNpc2FyIGBAaW5jbHVkZWAgbm8gU0NTUyBsb2NhbCBkb1xuLy8gY29tcG9uZW50ZSkuIFN1YnN0aXR1aSBvIHBhZHLDo28gYW50aWdvIGAuc25jLXN0YXR1c2AgLyBgLmN2LWViLXN0YXR1c2Bcbi8vIHF1ZSB0aW5oYSBxdWUgc2VyIHJlZGVjbGFyYWRvIGVtIGNhZGEgY2FyZC5cbi8vXG4vLyBVc286XG4vLyAgIDxzcGFuIGNsYXNzPVwiamVtczMtc3VibWlzc2lvbi1zdGF0dXMgcGVuZGluZ1wiPlxuLy8gICAgIDxtYXQtaWNvbj4uLi48L21hdC1pY29uPiBQZW5kZW50ZVxuLy8gICA8L3NwYW4+XG4vL1xuLy8gVmFyaWFudGUgY2lyY3VsYXIgKDIyw5cyMikgcHJhIG1vc3RyYXIgc8OzIG8gw61jb25lIGRvIHN0YXR1czpcbi8vICAgPHNwYW4gY2xhc3M9XCJqZW1zMy1zdWJtaXNzaW9uLXN0YXR1cyBqZW1zMy1zdWJtaXNzaW9uLXN0YXR1cy0taWNvbi1vbmx5IHBlbmRpbmdcIj5cbi8vICAgICA8bWF0LWljb24+Li4uPC9tYXQtaWNvbj5cbi8vICAgPC9zcGFuPlxuLy9cbi8vIGBib3JkZXItcmFkaXVzOjk5OXB4YCBoZXJkYWRvIGRvIG1peGluIGdhcmFudGUgY8OtcmN1bG8gcGVyZmVpdG8gcXVhbmRvXG4vLyB3aWR0aD1oZWlnaHQ9MjJweC5cblxuLmplbXMzLXN1Ym1pc3Npb24tc3RhdHVzIHtcbiAgICBAaW5jbHVkZSBzdWJtaXNzaW9uLWNoaXAtZ2VvbWV0cnkoKTtcbiAgICBtYXQtaWNvbiB7IEBpbmNsdWRlIHN1Ym1pc3Npb24tY2hpcC1pY29uKCk7IH1cbiAgICBAaW5jbHVkZSBzdWJtaXNzaW9uLWNoaXAtY29sb3JzKCRzdWJtaXNzaW9uLXN0YXR1cyk7XG5cbiAgICAmLS1pY29uLW9ubHkge1xuICAgICAgICB3aWR0aDogMjJweDtcbiAgICAgICAgbWluLXdpZHRoOiAyMnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDIycHg7XG4gICAgICAgIGhlaWdodDogMjJweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZ2FwOiAwO1xuXG4gICAgICAgIG1hdC1pY29uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEFuw6Fsb2dhIHBhcmEgc3RhdHVzIGRhIFJFVklTw4NPIOKAlCByZXTDom5ndWxvIGFycmVkb25kYWRvIDNweCBjb20gY29yZXNcbi8vIGRlcml2YWRhcyAobGlnaHRlbi9kYXJrZW4gZGEgcGFsZXRhICRyZXZpZXctc3RhdHVzKS5cbi5qZW1zMy1yZXZpZXctc3RhdHVzIHtcbiAgICBAaW5jbHVkZSByZXZpZXctY2hpcC1nZW9tZXRyeSgpO1xuICAgIG1hdC1pY29uIHsgQGluY2x1ZGUgcmV2aWV3LWNoaXAtaWNvbigpOyB9XG4gICAgQGluY2x1ZGUgcmV2aWV3LWNoaXAtY29sb3JzKCRyZXZpZXctc3RhdHVzKTtcblxuICAgICYtLWljb24tb25seSB7XG4gICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDIycHg7XG4gICAgICAgIG1heC13aWR0aDogMjJweDtcbiAgICAgICAgaGVpZ2h0OiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBnYXA6IDA7XG5cbiAgICAgICAgbWF0LWljb24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnbWl4aW5zJztcbkBpbXBvcnQgJ3otaW5kZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGF0dXMtY2hpcCc7ICAvLyBtaXhpbnMgc3VibWlzc2lvbi1jaGlwLWdlb21ldHJ5L2NvbG9ycy9pY29uIChmaWx0cm8gZGUgc3RhdHVzIGVtIGNoaXBzKVxuXG4vLyBDb3IgZGUgbGluayBkbyBzaXN0ZW1hIChsaWdodCwgJGFjY2VudC1iYWNrZ3JvdW5kKSBleHBvc3RhIGNvbW8gQ1NTIGN1c3RvbSBwcm9wZXJ0eS5cbi8vIFNlcnZlIHBybyBIVE1MIGV4cG9ydGFkbyBkYSBMaXN0YSBkZSBzdWJtaXNzw7VlcyBIRVJEQVIgYSBjb3IgZGUgbGluayBhdHVhbCBlbSBydW50aW1lXG4vLyAobGlkYSB2aWEgZ2V0Q29tcHV0ZWRTdHlsZSkg4oCUIHNlIHZvY8OqIG11ZGFyICRhY2NlbnQtYmFja2dyb3VuZCBubyBzaXN0ZW1hLCBvIGRvd25sb2FkXG4vLyBwYXNzYSBhIHVzYXIgYSBub3ZhIGNvciBhdXRvbWF0aWNhbWVudGUsIHNlbSBoYXJkY29kZSBubyBUeXBlU2NyaXB0LlxuOnJvb3Qge1xuICAtLWplbXMtbGluay1jb2xvcjogI3skYWNjZW50LWJhY2tncm91bmR9O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFRQQyBjaGFpciBVSSDigJQgZGVzaWduLXN5c3RlbSB0b2tlbnMgKGF1ZGl0ZWQgMjAyNi0wNS0xOClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVEVYVCAoZm9udC1zaXplKTogICAgIDE0IGRlZmF1bHQgfCAxMyBkZW5zZSB8IDExIG1pY3JvXG4vLyBJQ09OIChmb250LXNpemUpOiAgICAgMjAgcHJpbWFyeSB8IDE4IGNhcmV0L3NlcGFyYXRvciB8IDE2IHNlY29uZGFyeSB8IDE0IG1pY3JvXG4vLyBXRUlHSFQgKGZvbnQtd2VpZ2h0KTogNDMwIGJvZHkgICB8IDUwMCBlbXBoYXNpc1xuLy8gTEVUVEVSLVNQQUNJTkc6ICAgICAgIDAg4oCUIHN0cmljdDsgbm8gb3RoZXIgdmFsdWUgYWxsb3dlZCBpbiBjaGFpciBVSVxuLy8gTElORS1IRUlHSFQ6ICAgICAgICAgIDEuMyB0ZXh0ICAgfCA9IGZvbnQtc2l6ZSBpY29uc1xuLy8gSUNPTi1BWEVTOiAgICAgICAgICAgIG9wc3ogMjAgYWx3YXlzIHwgd2dodCAzMDAgcmVzdCDihpIgNDAwIGFjdGl2ZVxuLy8gICAgICAgICAgICAgICAgICAgICAgIEZJTEwgMCBkZWZhdWx0LCBGSUxMIDEgT05MWSBhcyBcInNlbGVjdGVkIHdpdGhpblxuLy8gICAgICAgICAgICAgICAgICAgICAgIGEgc2V0XCIgY3VlIChmYXZvcml0ZSBzdGFyLCBjdXJyZW50IHRoZW1lKS5cbi8vIE9QQUNJVFkgTEFEREVSICg1IGNhbm9uaWNhbCBsZXZlbHMpOlxuLy8gICAwICAgIGhpZGRlbiDigJQgYWZmb3JkYW5jZSByZXZlYWxlZCB2aWEgaW50ZXJhY3Rpb25cbi8vICAgMC41ICBtYXJrZXIgY2hyb21lIC8gaG92ZXItcmV2ZWFsIGZpcnN0IHN0YWdlXG4vLyAgIDAuNjUgZGVmYXVsdC1tdXRlZCAoaWNvbnMgYXQgcmVzdClcbi8vICAgMC45ICBlbXBoYXNpcyAvIGRpcmVjdCBob3ZlciBvbiBnbHlwaFxuLy8gICAxICAgIGZ1bGwgb24gKHNlbGVjdGVkIC8gYWN0aXZlIC8gY3VycmVudClcbi8vIEVMRVZBVElPTiAoMiB0aWVycywgZGVmaW5lZCBpbiBgX3ZhcmlhYmxlcy5zY3NzYCk6XG4vLyAgIFBBTkVMICAgIOKAlCBhbmNob3JlZCBtZW51cyAoYCRzaGFkb3ctcGFuZWwtbGlnaHRgIC8gYC1kYXJrYClcbi8vICAgICAgICAgICAgICB2aWEgYGZpbHRlcjogZHJvcC1zaGFkb3dgLiBEYXJrIG1vZGUgYWRkcyAxcHggb3V0bGluZVxuLy8gICAgICAgICAgICAgIGBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFya2AuXG4vLyAgIEZMT0FUSU5HIOKAlCBkcmFnIHByZXZpZXdzIChgJHNoYWRvdy1mbG9hdGluZy1saWdodGAgLyBgLWRhcmtgKVxuLy8gICAgICAgICAgICAgIHZpYSBgYm94LXNoYWRvd2AuIEhlYXZpZXIgYWxwaGEgKyBsYXJnZXIgYmx1ci5cbi8vIENIUk9NRSBCT1JERVJTICg0IHRva2VucywgZGVmaW5lZCBpbiBgX2NvbG9ycy5zY3NzYCk6XG4vLyAgICRjaHJvbWUtYm9yZGVyLWxpZ2h0ICAgICAgICAvICRjaHJvbWUtYm9yZGVyLWRhcmsgICAgICAgIOKAlCBkZWZhdWx0XG4vLyAgICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSAvICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlIOKAlCBob3Zlci9kcmFnXG4vLyAgIFVzZWQgYnkgc2lkZWJhciBlZGdlLWxpbmUsIGhlYWRlci9ib3R0b20gZGl2aWRlcnMsIGJyZWFkY3J1bWJcbi8vICAgYm90dG9tIGJvcmRlciwgbWVudSBwYW5lbCBvdXRsaW5lcyAoZGFyayksIGFuZCBjaGlwLWhlYWRlciBib3JkZXJzLlxuLy8gU1VSRkFDRSBCQUNLR1JPVU5EUzpcbi8vICAgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCDigJQgY2hhaXIgVUkgY2hyb21lIChzaWRlYmFyLCBhbGwgbWVudXMsXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhZGNydW1iKSDigJQgb25lIHRpbnRlZCBvZmYtd2hpdGUvZGFya1xuLy8gICAkYWRtaW4tYmFja2dyb3VuZCAgICAgICAgICDigJQgbWFpbiBjb250ZW50IGFyZWEg4oCUIHB1cmUgd2hpdGUvYmxhY2tcbi8vIFJBRElVUzpcbi8vICAgJGNocm9tZS1yYWRpdXMgKD0gNnB4KSDigJQgZXZlcnkgaW50ZXJhY3RpdmUgcGlsbCAoc2lkZWJhci9tZW51IGl0ZW1zLFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYiBzZWdtZW50cywgY2hyb21lIGJ1dHRvbnMpIEFORFxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlcnkgcGFuZWwgc3VyZmFjZSAobWF0LW1lbnUtcGFuZWwsXG4vLyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWRlYmFyIGhlYWRlcikuIFNpbmdsZSBjYW5vbmljYWwgY29ybmVyLlxuLy8gRUFTSU5HOlxuLy8gICAkZWFzZS1vdXQgKD0gY3ViaWMtYmV6aWVyKDAuMjUsIDAuOCwgMC4yNSwgMSkpIOKAlCB0aGUgY2hhaXIgVUknc1xuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2luZ2xlIHRyYW5zaXRpb24gY3VydmUsIHVzZWQgYnkgZXZlcnlcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZGViYXIvYnJlYWRjcnVtYi9kcmFnLWRyb3AgYW5pbWF0aW9uLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qIGdsb2JhbCBzdHlsZXMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpdGxlJywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5zdWJ0aXRsZScsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKHN0cm9uZywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jbG9zZS5idXR0b24nLCAnJywgY29sb3IsICRibGFjay0xMDAwLCAkd2hpdGUtMTAwMCk7XG4vLyBKRU1TMyBjaGVja2JveCB0aGVtZSDigJQgY2hhaXIgVUkgYmluYXJ5LWNvbnRyb2wgZmFtaWx5IChETkEgY29tIHNsaWRlLXRvZ2dsZVxuLy8gZSByYWRpbykuIE9mZiBvdXRsaW5lZCBjb20gd2FybSBiZWlnZSBlbSBsaWdodCAvIHRyYW5zcGFyZW50ZSBlbSBkYXJrOyBvblxuLy8gZmlsbGVkIGAjNGE0NjNmYCBlbSBsaWdodCAvIHRyYW5zcGFyZW50ZSBlbSBkYXJrOyBjaGVja21hcmsgc3Ryb2tlIG9mZi13aGl0ZVxuLy8gY3Jvc3MtdGhlbWUuIGAubWF0LXdhcm5gIGxlZnQgdG8gTWF0ZXJpYWwncyByZWQuXG5cbi8vIE9GRiBzdGF0ZSDigJQgZnJhbWUgYm9yZGVyICsgYmcgdHJhbnNwYXJlbnRlIGVtIGFtYm9zIG9zIHRlbWFzIChsaWdodC9kYXJrXG4vLyBzaW3DqXRyaWNvcykuIEFudGVyaW9ybWVudGUgbGlnaHQgdGluaGEgd2FybSBiZWlnZSB0aW50IG5vIHJlc3Q7IG11ZG91IHBhcmFcbi8vIHRyYW5zcGFyZW50IGEgcGVkaWRvIOKAlCBvZmYgbMOqIHBlbG8gYm9yZGVyICsgZmFsdGEgZGUgY2hlY2ttYXJrLlxuLy8gQm9yZGVyIGRvIGNoZWNrYm94OiBgJGdyYXktNDUwYCAoYCM5MDg5ODVgKSBubyBsaWdodCAobWlkcG9pbnQgd2FybS1zdG9uZSlcbi8vIGUgYCRncmF5LTQwMGAgKGAjQThBMjlFYCkgbm8gZGFyayAoY29udHJhc3RlIH41OjEgY29udHJhIGNhbnZhcyBgIzIwMjAyMGApLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94LWZyYW1lJywgJycsIGJvcmRlci1jb2xvciwgJGdyYXktNDUwLCAkZ3JheS00MDApO1xuXG4vLyBDaGVja2VkIHN0YXRlIGJvcmRlciAoZGFyayk6IGAkZ3JheS0zMDBgIChgI0Q2RDNEMWApIOKAlCBtZXNtYSBjb3IgZG8gZmlsbCxcbi8vIHF1YWRyYWRvIHZpcmEgbW9ub2Nyb23DoXRpY28uIExpZ2h0IG7Do28gcHJlY2lzYSBvdmVycmlkZSAoasOhIGZpY2EgY29iZXJ0b1xuLy8gcGVsbyBiYWNrZ3JvdW5kIGZpbGwgYCRncmF5LTUwMGAgcXVhbmRvIGNoZWNrZWQpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94LWNoZWNrZWQnLCAnLm1hdC1jaGVja2JveC1mcmFtZScsIGJvcmRlci1jb2xvciwgJGdyYXktNDUwLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94LWZyYW1lJywgJycsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG5cbi8vIE9OIHN0YXRlIOKAlCBiYWNrZ3JvdW5kIGZpbGw6IGxpZ2h0IGAkZ3JheS01MDBgIChgIzc4NzE2Q2AgbWlkLWRhcmsgd2FybSBzdG9uZSlcbi8vIHZzIGRhcmsgYCRncmF5LTMwMGAgKGAjRDZEM0QxYCBsaWdodCB3YXJtIHN0b25lKS4gRW0gZGFyaywgYm9yZGVyICgkZ3JheS00MDApXG4vLyBlIGZpbGwgKCRncmF5LTMwMCkgcHLDs3hpbW9zIG1hcyBkaXN0aW50b3Mg4oCUIG8gZmlsbCBsaWdlaXJhbWVudGUgbWFpcyBjbGFyb1xuLy8gcXVlIGEgYm9yZGVyLiBJbmRldGVybWluYXRlIHNlZ3VlIG8gbWVzbW8gcGFkcsOjby5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQnLCAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LXByaW1hcnknLCAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94LWluZGV0ZXJtaW5hdGUubWF0LWFjY2VudCcsICcubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS5tYXQtcHJpbWFyeScsICcubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG5cbi8vIE1hc3RlciBjaGVja2JveCAoaGVhZGVyIGRlIHF1YWxxdWVyIG1hdC10YWJsZSBubyBjaGFpciBVSSk6IGludGVybWVkacOhcmlvXG4vLyB1c2EgYWNjZW50IG5vIGxpZ2h0IHByYSBkZXN0YWNhciBcInNlbGXDp8OjbyBwYXJjaWFsXCIgY29tbyBDVEEgdmlzdWFsLCBlXG4vLyBgJGdyYXktMzAwYCBubyBkYXJrIHByYSB1bmlmaWNhciBjb20gbyBlc3RhZG8gbGlnYWRvIChjYWl4YSBmaWNhIGlndWFsLFxuLy8gc8OtbWJvbG8gw6kgcXVlIGRpZmVyZW5jaWEpLiBgIWltcG9ydGFudGAgbmVjZXNzw6FyaW8gcHJhIHZlbmNlciBNYXRlcmlhbFxuLy8gZSByZWdyYXMgZ2Vuw6lyaWNhcyBhY2ltYS4gVXNhZG8gcG9yIHBlb3BsZS10YWJsZSBlIHN1Ym1pc3Npb25zLWxpc3QtdjIuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoXG4gICd0aC5tYXQtaGVhZGVyLWNlbGwgLm1hdC1jaGVja2JveC5tYXQtY2hlY2tib3gtaW5kZXRlcm1pbmF0ZScsXG4gICcubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLFxuICBiYWNrZ3JvdW5kLWNvbG9yLFxuICAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudCxcbiAgJGdyYXktMzAwICFpbXBvcnRhbnRcbik7XG5cbi8vIENoZWNrbWFyayBzdHJva2Ug4oCUIHRoZW1lLWF3YXJlOiBsaWdodCB1c2Egb2ZmLXdoaXRlIChgI2Y5ZjhmN2ApIHNvYnJlIGZpbGxcbi8vIGRhcmsgYCM3ODcxNkNgOyBkYXJrIHVzYSBuZWFyLWJsYWNrIChgIzIwMjAyMGApIHNvYnJlIGZpbGwgY2xhcm8gYCNFN0U1RTRgLlxuLy8gQ2FkYSB1bSBtYXhpbWl6YSBvIGNvbnRyYXN0ZSBkbyBnbHlwaCBjb250cmEgc2V1IGZpbGwgcmVzcGVjdGl2by5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtY2hlY2tib3gtY2hlY2ttYXJrLXBhdGgnLCBzdHJva2UsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1jaGVja2JveC1taXhlZG1hcmsnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcblxuLy8gSG92ZXIg4oCUIHRyw6pzIHJlZ3JhcyBjb21iaW5hZGFzIChtZXNtYXMgZG8gc2xpZGUtdG9nZ2xlIGUgcmFkaW8pOlxuLy8gICAoMSkgZnJhbWUgYm9yZGVyIGJ1bXBhIHBhcmEgYC1hY3RpdmVgIGVtIGFtYm9zIHRlbWFzXG4vLyAgICgyKSBsaWdodCBvZmY6IGZyYW1lIGJnIGludmVydGUgcGFyYSB0cmFuc3BhcmVudCAobGlmdClcbi8vICAgKDMpIGxpZ2h0IG9uOiBiYWNrZ3JvdW5kIGJnIGVzY3VyZWNlIHBhcmEgYCMzYTM5MzdgIChwcmVzcylcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveDpob3Zlcjpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCknLCAnLm1hdC1jaGVja2JveC1mcmFtZScsIGJvcmRlci1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWNoZWNrZWQubWF0LWFjY2VudDpob3Zlcjpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCknLCAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNzAwLCAkZ3JheS0wKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveC5tYXQtY2hlY2tib3gtY2hlY2tlZC5tYXQtcHJpbWFyeTpob3Zlcjpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCknLCAnLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNzAwLCAkZ3JheS0wKTtcblxuLy8gQ2hlY2tib3ggY2hlY2tlZCDigJQgb3ZlcnJpZGUgR0xPQkFMOiB1c2EgYWNjZW50IGNvbG9yIChhenVsIGRhIG1hcmNhKVxuLy8gQVBFTkFTIG5vIGxpZ2h0IG1vZGUuIEVtIGRhcmssIG1hbnTDqW0gbyBgJGdyYXktMzAwYCBkZWZhdWx0IGRvIGNoYWlyIFVJXG4vLyAoYWNjZW50IGVzY3VybyBzb2JyZSBjYW52YXMgZXNjdXJvIHBlcmRlcmlhIGNvbnRyYXN0ZSkuIEFwbGljYSBhIFRPRE9TIG9zXG4vLyBjaGVja2JveGVzIGRvIGFwcCAoc3Vic3RpdHVpIGFzIHJlZ3JhcyBncmF5LTUwMCBhY2ltYSBwb3IgY2F1c2EgZGEgb3JkZW1cbi8vIG5vIGNhc2NhZGUpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQgLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1wcmltYXJ5IC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtY2hlY2tib3gtY2hlY2tlZCAubWF0LWNoZWNrYm94LWZyYW1lJywgYm9yZGVyLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LWNoZWNrYm94Lm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1hY2NlbnQ6aG92ZXI6bm90KC5tYXQtY2hlY2tib3gtZGlzYWJsZWQpIC5tYXQtY2hlY2tib3gtYmFja2dyb3VuZCcsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGdyYXktMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LWNoZWNrYm94Lm1hdC1jaGVja2JveC1jaGVja2VkLm1hdC1wcmltYXJ5OmhvdmVyOm5vdCgubWF0LWNoZWNrYm94LWRpc2FibGVkKSAubWF0LWNoZWNrYm94LWJhY2tncm91bmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTApO1xuXG4vLyBGcmFtZSBVTkNIRUNLRUQgKGF0aXZvLCBhaW5kYSBuw6NvIG1hcmNhZG8pOiBiZyBCUkFOQ08gbm8gbGlnaHQsIFBSRVRPXG4vLyBubyBkYXJrLiBTb2JyZXNjcmV2ZSBvIGB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnRgIGdsb2JhbCBkYSBsaW5oYSA3OS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jaGVja2JveDpub3QoLm1hdC1jaGVja2JveC1kaXNhYmxlZCknLCAnLm1hdC1jaGVja2JveC1mcmFtZScsIGJhY2tncm91bmQtY29sb3IsICNmZmYsICMwMDApO1xuXG4vLyBGb2N1cyBpbmRpY2F0b3IgKGtleWJvYXJkLW9ubHkpIOKAlCBicmFuZCBjb2xvciwgaWTDqm50aWNvIGFvIHNsaWRlLXRvZ2dsZSBlIHJhZGlvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWNoZWNrYm94LmNkay1rZXlib2FyZC1mb2N1c2VkJywgJy5tYXQtY2hlY2tib3gtZnJhbWUnLCBvdXRsaW5lLCAycHggc29saWQgIzA2NGFkOSwgMnB4IHNvbGlkICMwMDgwZmYpO1xuXG4vLyBtYXQtcHNldWRvLWNoZWNrYm94IOKAlCBjaGVja2JveCBkYXMgT1DDh8OVRVMgZGUgbWF0LXNlbGVjdCBtdWx0aSAoZXguOiBmaWx0cm9zIGRhXG4vLyBMaXN0YSBkZSBzdWJtaXNzw7VlcykgZSBkbyBtYXQtc2VsZWN0aW9uLWxpc3QuIE8gdGVtYSBjaGFpciBhY2ltYSBjb2JyaWEgb1xuLy8gbWF0LWNoZWNrYm94IChDaGVja2xpc3QsIHNlbGXDp8OjbyBkZSBsaW5oYXMpIG1hcyBOw4NPIG8gcHNldWRvLWNoZWNrYm94LCBxdWVcbi8vIGZpY2F2YSBubyBlc3RpbG8gTWF0ZXJpYWwgZGVmYXVsdC4gQXF1aSBlbGUgcmVjZWJlIG8gTUVTTU8gZXN0aWxvOiBvZmYgb3V0bGluZWRcbi8vIHdhcm0tc3RvbmUsIG9uIGZpbGxlZCwgY2hlY2ttYXJrIGNsYXJvLCA0cHggcmFkaXVzLiBBcGxpY2EgYXBwLXdpZGUgKHRvZG9zIG9zXG4vLyBtdWx0aS1zZWxlY3RzL3NlbGVjdGlvbi1saXN0cykg4oCUIGNvbnNpc3TDqm5jaWEgY29tIG8gcmVzdG8gZG8gY2hhaXIgVUkuXG4vLyBgIWltcG9ydGFudGAgbmVjZXNzw6FyaW86IG8gTWF0ZXJpYWwgc2V0YSBhIGNvciB0ZW3DoXRpY2EgKGAubWF0LXByaW1hcnkvLm1hdC1hY2NlbnRcbi8vIC5tYXQtcHNldWRvLWNoZWNrYm94LWNoZWNrZWRgKSBjb20gYSBNRVNNQSBlc3BlY2lmaWNpZGFkZSBkbyBgLmxpZ2h0LXRoZW1lIC4uLmAsXG4vLyBlIHZlbmNlIHBvciBvcmRlbSBkZSBjYXJnYS4gTWVzbW8gcGFkcsOjbyBkbyB0ZW1hIGRvIG1hdC1jaGVja2JveCBhY2ltYS5cbi5tYXQtcHNldWRvLWNoZWNrYm94IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci13aWR0aDogMS41cHggIWltcG9ydGFudDtcbn1cbi8vIEJvcmRhIChvZmYpIHZpYSBgY29sb3JgID0gJGdyYXktNDUwLyRncmF5LTQwMCAoaWd1YWwgYW8gLm1hdC1jaGVja2JveC1mcmFtZSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcHNldWRvLWNoZWNrYm94JywgJycsIGNvbG9yLCAkZ3JheS00NTAgIWltcG9ydGFudCwgJGdyYXktNDAwICFpbXBvcnRhbnQpO1xuLy8gQ2hlY2ttYXJrICg6OmFmdGVyKSDigJQgb2ZmLXdoaXRlIG5vIGxpZ2h0IC8gbmVhci1ibGFjayBubyBkYXJrICg9IHN0cm9rZSBkbyBtYXQtY2hlY2tib3gpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXBzZXVkby1jaGVja2JveDo6YWZ0ZXInLCAnJywgY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQpO1xuLy8gRmlsbCAoY2hlY2tlZC9pbmRldGVybWluYXRlKSA9ICRncmF5LTUwMC8kZ3JheS0zMDAgKD0gLm1hdC1jaGVja2JveC1iYWNrZ3JvdW5kKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCcsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAgIWltcG9ydGFudCwgJGdyYXktMzAwICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXBzZXVkby1jaGVja2JveC1pbmRldGVybWluYXRlJywgJycsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCAhaW1wb3J0YW50LCAkZ3JheS0zMDAgIWltcG9ydGFudCk7XG5cbi8vIEpFTVMzIHNsaWRlLXRvZ2dsZSB0aGVtZSDigJQgY2hhaXIgVUkgbW9ub2Nocm9tYXRpYywgb3V0bGluZWQtb2ZmIChcIlBsYW4gQlwiKS5cbi8vIE9mZiBzdGF0ZSA9IG91dGxpbmVkIHBpbGwgKHRyYW5zcGFyZW50IGJnICsgMS41cHggaW5zZXQgYm9yZGVyIHZpYSBib3gtc2hhZG93KVxuLy8gd2l0aCBhIGRhcmsgdGh1bWIg4oCUIGNsZWFybHkgXCJpbnRlcmFjdGl2ZSBidXQgaW5hY3RpdmVcIiwgTk9UIFwiZGlzYWJsZWRcIi5cbi8vIE9uIHN0YXRlID0gc29saWQgYWN0aXZlIGZpbGwgd2l0aCBsaWdodCB0aHVtYiDigJQgc2FtZSByZWNpcGUgYXMgY2hlY2tib3hcbi8vIGNoZWNrZWQuIGAubWF0LXdhcm5gIGxlZnQgdG8gTWF0ZXJpYWwncyByZWQgc28gZGVzdHJ1Y3RpdmUgdG9nZ2xlcyBrZWVwXG4vLyB0aGVpciBkYW5nZXIgY3VlLlxuXG4vLyBPRkYgc3RhdGUg4oCUIHRyYWNrIGlzIHRyYW5zcGFyZW50LCBib3JkZXIgZHJhd24gYnkgaW5zZXQgYm94LXNoYWRvdyAoZG9lc24ndFxuLy8gYWZmZWN0IGxheW91dCkuIFRodW1iIGlzIHRoZSBtdXRlZCB0ZXh0IHRva2VuIChkYXJrIGdyYXkgb24gbGlnaHQgdGhlbWUpLlxuLy8gT0ZGIHN0YXRlIHJlc3QgYmFyIGJnIOKAlCBsaWdodCB0ZW0gKip3YXJtIGJlaWdlIHRpbnQqKiAoYCNlOGU2ZTNgKSBjb21vIGN1ZVxuLy8gcGVybWFuZW50ZSBkZSBcImlzdG8gw6kgaW50ZXJhdGl2b1wiOyBkYXJrIG1hbnTDqW0gdHJhbnNwYXJlbnRlIChvIGN1ZSBkZVxuLy8gXCJpbnRlcmF0aXZvXCIgbm8gZGFyayBqw6EgdmVtIGRvIGJvcmRlciArIGJyaWdodG5lc3MgY2hhbmdlIG5vIGhvdmVyKS4gT25cbi8vIHN0YXRlIHZlbmNlIHBvciBlc3BlY2lmaWNpZGFkZSAoNCBjbGFzc2VzID4gMSkgZSBtYW50w6ltIHNldSBwcsOzcHJpbyBmaWxsLlxuLy8gQWxpbmhhZG8gYW8gcmVjaXBlIGRvIGNoZWNrYm94OiBiYXIgYmcgdHJhbnNwYXJlbnQgZW0gYW1ib3Mgb3MgdGVtYXNcbi8vIChyZW1vdmlkbyBvIHdhcm0gYmVpZ2UgcmVzdCBkbyBsaWdodCk7IGluc2V0IHNoYWRvdyBib3JkZXIgJGdyYXktNDUwIGxpZ2h0XG4vLyAvICRncmF5LTQwMCBkYXJrOyB0aHVtYiBvZmYgbWF0Y2hlcyBib3JkZXIgdG9uZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgJycsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsICcnLCBib3gtc2hhZG93LCBpbnNldCAwIDAgMCAxLjVweCAkZ3JheS00NTAsIGluc2V0IDAgMCAwIDEuNXB4ICRncmF5LTQwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iJywgJycsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTQ1MCwgJGdyYXktNDAwKTtcblxuLy8gT04gc3RhdGUg4oCUIGFzc2ltw6l0cmljbyBwb3IgdGVtYTpcbi8vICAgTGlnaHQ6IHRyYWNrIGZpbGwgYCM0YTQ2M2ZgICh3YXJtIGRhcmsgZ3JheSkgKyB0aHVtYiBgI2Y5ZjhmN2Agb2ZmLXdoaXRlICtcbi8vICAgICAgICAgIGNoZWNrIGAjNGE0NjNmYCBubyB0aHVtYi5cbi8vICAgRGFyazogIHRyYWNrIGZpbGwgKip0cmFuc3BhcmVudGUqKiAoc2VtIGZpbGwpICsgdGh1bWIgYCNmOWY4ZjdgIG9mZi13aGl0ZVxuLy8gICAgICAgICAgKyBjaGVjayBgIzRhNDYzZmAgbm8gdGh1bWIuIEVzdGFkbyB2ZW0gZG8gdGh1bWIgcG9zaXRpb24gKyB0aHVtYlxuLy8gICAgICAgICAgY29sb3IgKyBjaGVjazsgbyBmaWxsIHNlcmlhIG11ZGR5IGNvbnRyYSBvIGNhbnZhcyBgIzIwMjAyMGAgZGFyay5cbi8vIEJvcmRlciBwZXJzaXN0ZSBlbSBhbWJvcyBvcyBlc3RhZG9zIChvZmYtc3RhdGUgcnVsZSDDqSBzdGF0ZS1hZ25vc3RpYykuXG4vLyBPTiBzdGF0ZSDigJQgYmFyIGZpbGwgYWxpbmhhZG8gYW8gY2hlY2tib3ggKGxpZ2h0ICRncmF5LTUwMCAvIGRhcmsgJGdyYXktMzAwKS5cbi8vIE9uIHRodW1iIGFnb3JhIHRoZW1lLWF3YXJlOiBsaWdodCBvZmYtd2hpdGUgc29icmUgZmlsbCBkYXJrLCBkYXJrIG5lYXItYmxhY2tcbi8vIHNvYnJlIGZpbGwgY2xhcm8g4oCUIGNhZGEgdGVtYSBtYXhpbWl6YSBvIGNvbnRyYXN0ZSBkbyB0aHVtYiBjb250cmEgbyBmaWxsLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZC5tYXQtYWNjZW50JywgJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQubWF0LXByaW1hcnknLCAnLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZS5tYXQtY2hlY2tlZC5tYXQtYWNjZW50JywgJy5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQubWF0LXByaW1hcnknLCAnLm1hdC1zbGlkZS10b2dnbGUtdGh1bWInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vLyBIb3ZlciBzdGF0ZSDigJQgdHLDqnMgcmVncmFzIGNvbWJpbmFkYXM6XG4vLyAgKDEpIEJvcmRlciAoaW5zZXQgc2hhZG93KSBidW1wYSBwYXJhIG8gdG9rZW4gYC1hY3RpdmVgIGVtIGFtYm9zIG9zIHRlbWFzLlxuLy8gICgyKSBMaWdodCBPRkYgc3RhdGU6IGJhciBiZyAqKmludmVydGUgcGFyYSB0cmFuc3BhcmVudGUqKiAoY2xhcmVpYSwgcmVtb3ZlbmRvXG4vLyAgICAgIG8gd2FybSBiZWlnZSBkbyByZXN0KSDigJQgY3JpYSBzZW5zYcOnw6NvIGRlIFwibGlmdGluZ1wiIG5vIGhvdmVyLiBEYXJrIG9mZlxuLy8gICAgICBzdGF5cyB0cmFuc3BhcmVudCwgYXBlbmFzIG8gYm9yZGVyLWJ1bXAgZmF6IGN1ZS5cbi8vICAoMykgTGlnaHQgT04gc3RhdGU6IGJhciBiZyAqKmVzY3VyZWNlKiogZGUgYCM0YTQ2M2ZgIHBhcmEgYCMzYTM5MzdgIOKAlFxuLy8gICAgICBmZWVsaW5nIGRlIFwicHJlc3NcIiBkZSBib3TDo28sIHN1cGxlbWVudGEgbyBib3JkZXItYnVtcCBxdWUgc296aW5obyBmaWNhXG4vLyAgICAgIGludmlzw612ZWwgY29udHJhIG8gZmlsbCBkYXJrLiBEYXJrIG9uIHN0YXlzIHRyYW5zcGFyZW50IChzZW0gbXVkYW7Dp2EpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXNsaWRlLXRvZ2dsZTpob3Zlcjpub3QoLm1hdC1kaXNhYmxlZCknLCAnLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYm94LXNoYWRvdywgaW5zZXQgMCAwIDAgMS41cHggJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCBpbnNldCAwIDAgMCAxLjVweCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkLm1hdC1hY2NlbnQ6aG92ZXI6bm90KC5tYXQtZGlzYWJsZWQpJywgJy5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTcwMCwgJGdyYXktMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkLm1hdC1wcmltYXJ5OmhvdmVyOm5vdCgubWF0LWRpc2FibGVkKScsICcubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS03MDAsICRncmF5LTApO1xuXG4vLyBKRU1TMyByYWRpbyB0aGVtZSDigJQgY2hhaXIgVUkgYmluYXJ5LWNvbnRyb2wgZmFtaWx5IChzYW1lIEROQSBkbyBjaGVja2JveCBlXG4vLyBzbGlkZS10b2dnbGUpLiBSZWNpcGUgZXNwZWxoYSBvIHNsaWRlLXRvZ2dsZTogb2ZmIG91dGxpbmVkIGNvbSB3YXJtIGJlaWdlXG4vLyBlbSBsaWdodCAvIHRyYW5zcGFyZW50ZSBlbSBkYXJrOyBvbiBmaWxsZWQgYCM0YTQ2M2ZgIGVtIGxpZ2h0IC8gdHJhbnNwYXJlbnRlXG4vLyBlbSBkYXJrIGNvbSBpbm5lciBkb3Qgb2ZmLXdoaXRlIHN1YnN0aXR1aW5kbyBvIFwidGh1bWJcIi4gYC5tYXQtd2FybmAgbGVmdCB0b1xuLy8gTWF0ZXJpYWwncyByZWQuXG5cbi8vIE9GRiBzdGF0ZSDigJQgb3V0ZXIgYm9yZGVyICsgYmcgdHJhbnNwYXJlbnRlIGVtIGFtYm9zIG9zIHRlbWFzIChsaWdodC9kYXJrXG4vLyBzaW3DqXRyaWNvcykuIEFudGVyaW9ybWVudGUgbGlnaHQgdGluaGEgd2FybSBiZWlnZSB0aW50IG5vIHJlc3Q7IG11ZG91IHBhcmFcbi8vIHRyYW5zcGFyZW50IGEgcGVkaWRvIOKAlCBvZmYgbMOqIHBlbG8gYm9yZGVyICsgYXVzw6puY2lhIGRvIGNlbnRlciBkb3QuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uJywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYm9yZGVyLWNvbG9yLCAkZ3JheS00NTAsICRncmF5LTQwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uJywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcblxuLy8gT04gc3RhdGUg4oCUIGFsaW5oYWRvIGFvIHJlY2lwZSBkbyBjaGVja2JveDogZmlsbCBgJGdyYXktNTAwYCAobGlnaHQpIC8gYCRncmF5LTMwMGAgKGRhcmspLlxuLy8gQm9yZGVyIGRvIGNoZWNrZWQgZGFyayB2aXJhIGAkZ3JheS0zMDBgIChtZXNtYSBjb3IgZG8gZmlsbCk7IGxpZ2h0IHNlZ3VlIGAkZ3JheS00NTBgLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtYWNjZW50JywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktNTAwLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtcHJpbWFyeScsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwMCwgJGdyYXktMzAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LWFjY2VudCcsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJvcmRlci1jb2xvciwgJGdyYXktNDUwLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtcHJpbWFyeScsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJvcmRlci1jb2xvciwgJGdyYXktNDUwLCAkZ3JheS0zMDApO1xuXG4vLyBJbm5lciBkb3QgKHZpc2libGUgb25seSB3aGVuIGNoZWNrZWQpIOKAlCB0aGVtZS1hd2FyZSBwYXJhIGNvbnRyYXN0YXIgY29tIG9cbi8vIG5vdm8gZmlsbCBlbSBjYWRhIHRlbWEuIExpZ2h0OiBvZmYtd2hpdGUgc29icmUgZmlsbCBkYXJrIGdyYXkuIERhcms6IG5lYXItXG4vLyBibGFjayBzb2JyZSBmaWxsIGxpZ2h0IGdyYXkgKGlkw6pudGljbyBhbyBjaGVja21hcmsgc3Ryb2tlIGRvIGNoZWNrYm94KS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LWFjY2VudCcsICcubWF0LXJhZGlvLWlubmVyLWNpcmNsZScsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtcmFkaW8tYnV0dG9uLm1hdC1yYWRpby1jaGVja2VkLm1hdC1wcmltYXJ5JywgJy5tYXQtcmFkaW8taW5uZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcblxuLy8gUmFkaW8gY2hlY2tlZCDigJQgb3ZlcnJpZGUgR0xPQkFMOiB1c2EgYWNjZW50IGNvbG9yIEFQRU5BUyBubyBsaWdodCBtb2RlXG4vLyAobWVzbWEgZXN0cmF0w6lnaWEgZG8gY2hlY2tib3ggZ2xvYmFsKS4gRW0gZGFyaywgbWFudMOpbSBvIGdyYXktMzAwL2dyYXktMFxuLy8gZGVmYXVsdCBkbyBjaGFpciBVSS4gSW5uZXItY2lyY2xlIChvIGRvdCkgc2VndWUgbyBzaWRlYmFyLWFkbWluLWJhY2tncm91bmRcbi8vIHByYSBjb250cmFzdGFyIGNvbnRyYSBxdWFscXVlciBjb3IgZG8gb3V0ZXIuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnkgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtYWNjZW50IC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYm9yZGVyLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTMwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtcHJpbWFyeSAubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIGJvcmRlci1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0zMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LWFjY2VudDpob3Zlcjpub3QoLm1hdC1yYWRpby1kaXNhYmxlZCkgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRncmF5LTApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LXByaW1hcnk6aG92ZXI6bm90KC5tYXQtcmFkaW8tZGlzYWJsZWQpIC5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkZ3JheS0wKTtcblxuLy8gT3V0ZXIgY2lyY2xlIFVOQ0hFQ0tFRCAoYXRpdm8sIGFpbmRhIG7Do28gbWFyY2Fkbyk6IGJnIEJSQU5DTyBubyBsaWdodCxcbi8vIFBSRVRPIG5vIGRhcmsuIFNvYnJlc2NyZXZlIG8gYHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudGAgZGEgbGluaGEgMjEzLlxuLy8gTWVzbWEgZGVjaXPDo28gZG8gYC5tYXQtY2hlY2tib3gtZnJhbWVgIChjZi4gYmxvY28gZG8gY2hlY2tib3ggYWNpbWEpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbjpub3QoLm1hdC1yYWRpby1kaXNhYmxlZCk6bm90KC5tYXQtcmFkaW8tY2hlY2tlZCknLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAjZmZmLCAjMDAwKTtcblxuLy8gU2xpZGUtdG9nZ2xlIGNoZWNrZWQg4oCUIHJlZ3JhcyBjYW7DtG5pY2FzIGVzdMOjbyBtYWlzIGFiYWl4byBubyBhcnF1aXZvXG4vLyAoYmxvY28gXCJTbGlkZS10b2dnbGUgcGFkcsOjbyAoTTMpXCIsIGNvbSAhaW1wb3J0YW50IHByYSB2ZW5jZXIgTWF0ZXJpYWwpLlxuXG4vLyBIb3ZlciDigJQgYWxpbmhhZG8gYW8gY2hlY2tib3g6XG4vLyAgICgxKSBib3JkZXIgYnVtcGEgcGFyYSBgLWFjdGl2ZWAgZW0gYW1ib3MgdGVtYXNcbi8vICAgKDIpIGNoZWNrZWQgbGlnaHQ6IGZpbGwgZGFya2VuIHBhcmEgYCRncmF5LTcwMGAgKHByZXNzKVxuLy8gICAoMykgY2hlY2tlZCBkYXJrOiBmaWxsIGhpZ2hsaWdodCBwYXJhIGAkZ3JheS0wYCAobWFpcyBjbGFybylcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b246aG92ZXI6bm90KC5tYXQtcmFkaW8tZGlzYWJsZWQpJywgJy5tYXQtcmFkaW8tb3V0ZXItY2lyY2xlJywgYm9yZGVyLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWNoZWNrZWQubWF0LWFjY2VudDpob3Zlcjpub3QoLm1hdC1yYWRpby1kaXNhYmxlZCknLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS03MDAsICRncmF5LTApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbi5tYXQtcmFkaW8tY2hlY2tlZC5tYXQtcHJpbWFyeTpob3Zlcjpub3QoLm1hdC1yYWRpby1kaXNhYmxlZCknLCAnLm1hdC1yYWRpby1vdXRlci1jaXJjbGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS03MDAsICRncmF5LTApO1xuXG4vLyBGb2N1cyBpbmRpY2F0b3IgKGtleWJvYXJkLW9ubHkpIOKAlCBicmFuZCBjb2xvciwgbWVzbWEgZG8gc2xpZGUtdG9nZ2xlLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LXJhZGlvLWJ1dHRvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCcsICcubWF0LXJhZGlvLW91dGVyLWNpcmNsZScsIG91dGxpbmUsIDJweCBzb2xpZCAjMDY0YWQ5LCAycHggc29saWQgIzAwODBmZik7XG5cbi8vIEZvY3VzIGluZGljYXRvciBjb2xvciAoa2V5Ym9hcmQtb25seSkuIEJyYW5kLXNhdHVyYXRlZCBjb2xvciAobmF2eSBsaWdodCAvXG4vLyBibHVlIGRhcmspIHNvIHRoZSBmb2N1cyByaW5nIHJlYWRzIGFzIGEgZGlzdGluY3QgY3VlLCBub3QgXCJ0aGUgYm9yZGVyIGdvdFxuLy8gdGhpY2tlclwiLiBUaGlzIGlzIHRoZSBvbmx5IHNwb3Qgd2hlcmUgYnJhbmQgY29sb3IgaXMgYWxsb3dlZCBpbiBjaGFpciBVSSDigJRcbi8vIGZvY3VzIHJpbmdzIGNvbnZlbmNpb25hbG1lbnRlIHPDo28gc2F0dXJhZG9zIHBvciBtb3Rpdm8gZGUgYTExeS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1zbGlkZS10b2dnbGUuY2RrLWtleWJvYXJkLWZvY3VzZWQnLCAnLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgb3V0bGluZSwgMnB4IHNvbGlkICMwNjRhZDksIDJweCBzb2xpZCAjMDA4MGZmKTtcblxuLy8gQ2hlY2sgZ2x5cGggKOKckykgY29sb3IgaW5zaWRlIHRoZSBvbiB0aHVtYi4gQ3Jvc3MtdGhlbWUgYCM0YTQ2M2ZgIG1hdGNoaW5nXG4vLyB0aGUgYmFyIGZpbGwg4oCUIGludmVydHMgdGhlIG9mZi13aGl0ZSBvbi10aHVtYiBmb3IgY3Jpc3AgY29udHJhc3QuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iOjphZnRlcicsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZ3JheS01MDAsICRncmF5LTMwMCk7XG4vLyBQYWdlIHRpdGxlICgubWFpbi1oZWFkZXIgLm1haW4tdGl0bGUgaDEpIGFuZCBzZWN0aW9uIHRpdGxlcyAoLnNlY3Rpb24tdGl0bGUsXG4vLyBAZXh0ZW5kcyBoMykgc2hhcmUgdGhlIHNhbWUgbXV0ZWQgdGV4dCBjb2xvciBhcyB0aGUgc2lkZWJhciBsZXZlbC0xIGl0ZW1zIGF0XG4vLyByZXN0IOKAlCBwYWdlIGxhYmVsIGFuZCBzZWN0aW9uIGhlYWRlcnMgYXJlIFwibm90IGludGVyYWN0aXZlXCIgc28gdGhleSByZWFkIGFzXG4vLyBjb250ZW50IGlkZW50aWZpZXJzLCBub3QgZW1waGFzaXMuIFBlciBjaGFpciBVSSBydWxlLCB0ZXh0IHVzZXMgY29sb3IgdG9rZW5zXG4vLyAobm90IG9wYWNpdHkpIGZvciBkaWZmZXJlbnRpYXRpb24uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWFpbi1oZWFkZXIgLm1haW4tdGl0bGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNlY3Rpb24tdGl0bGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuXG4vLyBQYWdlLXRpdGxlIGljb24gKC5tYWluLXRpdGxlLWljb24sIGxlZnQgb2YgdGhlIGgxKS4gRm9sbG93cyB0aGUgc2lkZWJhclxuLy8gbGV2ZWwtMSBpY29uIHJlY2lwZTogdXNlcyB0aGUgXCJhY3RpdmVcIiBjb2xvciB0b2tlbiAqYWx3YXlzKiwgd2l0aCBvcGFjaXR5XG4vLyAoMC42NSByZXN0LCBhcHBsaWVkIGluIGNvbXBvbmVudCBTQ1NTKSBkb2luZyB0aGUgbXV0aW5nLiBEaXN0aW5jdCBmcm9tIHRoZVxuLy8gdGV4dCBjb2xvciwgZXhhY3RseSBsaWtlIHRoZSBsZXZlbC0xIGljb25zIGFyZSBkaXN0aW5jdCBmcm9tIGxldmVsLTEgbGFiZWxzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1haW4taGVhZGVyIC5tYWluLXRpdGxlIC5tYWluLXRpdGxlLWljb24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5cbi8qIHNpbXBsZS10YWJsZSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5zaW1wbGUtdGFibGUnLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5zaW1wbGUtdGFibGUnLCB0aCwgYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtaGVhZGVyLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLnNpbXBsZS10YWJsZScsIHRoLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiB0YWJsZSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RkOm5vdCg6Zmlyc3QtY2hpbGQsIDpsYXN0LWNoaWxkLCAubWF0LWZvb3Rlci1jZWxsKScsIGJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RkOm5vdCg6Zmlyc3QtY2hpbGQsIDpsYXN0LWNoaWxkLCAubWF0LWZvb3Rlci1jZWxsKScsIGJvcmRlci1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3IsICR0YWJsZS1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndGQ6bm90KDpmaXJzdC1jaGlsZCwgOmxhc3QtY2hpbGQsIC5tYXQtZm9vdGVyLWNlbGwpJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndHI6aG92ZXIgdGQnLCBib3JkZXItdG9wLWNvbG9yLCAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yLCAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndHI6aG92ZXIgdGQnLCBib3JkZXItYm90dG9tLWNvbG9yLCAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yLCAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndHI6aG92ZXIgdGQ6Zmlyc3QtY2hpbGQnLCBib3JkZXIsIG5vbmUsIG5vbmUpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndHI6aG92ZXIgdGQ6bGFzdC1jaGlsZCcsIGJvcmRlciwgbm9uZSwgbm9uZSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ3RhYmxlLmhpZ2hsaWdodC10YWJsZScsICd0cjpob3ZlciB0ZDpudGgtY2hpbGQoMiknLCBib3JkZXItbGVmdC1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvciwgJHRhYmxlLWhvdmVyLWJvcmRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgndGFibGUuaGlnaGxpZ2h0LXRhYmxlJywgJ3RyOmhvdmVyIHRkOm50aC1sYXN0LWNoaWxkKDIpJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yLCAkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCd0YWJsZS5oaWdobGlnaHQtdGFibGUnLCAndHI6aG92ZXIgdGQubWF0LWZvb3Rlci1jZWxsJywgYm9yZGVyLCBub25lLCBub25lKTtcblxuLyogPGE+ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYSwgJycsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYTpob3ZlcicsICcnLCBjb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kLCAkYWNjZW50LWJhY2tncm91bmQtZGFyayk7XG5cbi8qIDxidXR0b24+ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2J1dHRvbjpkaXNhYmxlZCcsICcnLCBjb2xvciwgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvciwgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvci1kYXJrKTtcbi8vIC5hcHAtaWNvbi1idXR0b24g4oCUIHN1cmZhY2UgaG92ZXIvbWVudS1vcGVuIMO6bmljYSBwcm9zIDQgYm90w7VlcyBpY29uLW9ubHlcbi8vIGRvIEpFTVMzICgucHJvZmlsZS1idXR0b24sIC51c2VyLW1lbnUtYnV0dG9uLCAuY29tbWFuZC1wYWxldHRlLXRyaWdnZXIsXG4vLyAuZmlsdGVyLWJ1dHRvbikuIFRva2VucyBjaGFpci1zdHlsZSByZXBsaWNhZG9zIGVtIGFtYm9zIG9zIHRlbWFzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuYXBwLWljb24tYnV0dG9uOm5vdCgubWF0LWJ1dHRvbi1kaXNhYmxlZCk6bm90KDpkaXNhYmxlZCk6aG92ZXInLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmFwcC1pY29uLWJ1dHRvbi5tZW51LW9wZW4nLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogbWF0LWFjY29yZGlvbiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWFjY29yZGlvbicsICcubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIG1hdC1mb3JtLWZpZWxkICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtZm9ybS1maWVsZC1pbmZpeCcsICcnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lJywgJycsIGNvbG9yLCAkYmxhY2stMTAwMCwgJHdoaXRlLTEwMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWZvcm0tZmllbGQtYXBwZWFyYW5jZS1vdXRsaW5lLm1hdC1mb2N1c2VkIC5tYXQtZm9ybS1maWVsZC1vdXRsaW5lLXRoaWNrJywgJycsIGNvbG9yLCAkYmxhY2stMTAwMCwgJHdoaXRlLTEwMDApO1xuXG4vKiBtYXQtZGl2aWRlciAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LWRpdmlkZXInLCAnJywgYm9yZGVyLWJvdHRvbSwgMXB4IHNvbGlkIHdoaXRlLCAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtZGl2aWRlcicsICcnLCBib3JkZXItdG9wLCAnJywgMXB4IHNvbGlkIGJsYWNrKTtcblxuLyogYXBwLWFkbWluICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLCAnLmFkbWluJywgYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtYWRtaW4tbmF2YmFyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLW5hdmJhciwgJy5hZG1pbi1uYXZiYXIgbmF2JywgYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1uYXZiYXIsICcubG9nbyBpbWcnLCAtd2Via2l0LWZpbHRlciwgJycsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1uYXZiYXIsICcubG9nbyBpbWcnLCBmaWx0ZXIsICcnLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpKTtcblxuLyogYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5sYWJlbCcsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubWF0LWljb24nLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1hdC1zaWRlbmF2LWNvbnRlbnQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5cbi8vIEJhY2tncm91bmQgZG8gYm9keS9odG1sIOKAlCBlbSBkYXJrLCBzZW0gZXNzYSByZWdyYSBvIG92ZXJzY3JvbGxcbi8vIChib3VuY2UvcnViYmVyLWJhbmQgZG8gbWFjT1MvaU9TIHF1YW5kbyBzY3JvbGxhIGFsw6ltIGRvIGZpbmFsIGRhXG4vLyBww6FnaW5hKSByZXZlbGEgbyBicmFuY28gZGVmYXVsdCBkbyB1c2VyLWFnZW50LiBgLmRhcmstdGhlbWVgIGVzdMOhXG4vLyBubyBwcsOzcHJpbyBib2R5LCBlbnTDo28gdXNhbW9zIGNvbXBvdW5kIHNlbGVjdG9yIGVtIHZleiBkbyBtaXhpblxuLy8gKHF1ZSBwcmVmaXhhcmlhIGAuZGFyay10aGVtZSBib2R5YCBlIG7Do28gY2FzYXJpYSBjb20gbyBib2R5IHF1ZSBURU1cbi8vIGEgY2xhc3NlKS4gYDpoYXNgIG5vIGh0bWwgw6kgbmVjZXNzw6FyaW8gcG9ycXVlIGAuZGFyay10aGVtZWAgZXN0w6EgZW1cbi8vIGJvZHksIG7Do28gZW0gaHRtbC5cbmJvZHkubGlnaHQtdGhlbWUsXG5odG1sOmhhcyhib2R5LmxpZ2h0LXRoZW1lKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kO1xufVxuYm9keS5kYXJrLXRoZW1lLFxuaHRtbDpoYXMoYm9keS5kYXJrLXRoZW1lKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG59XG4vLyBIb3ZlciAvIGFjdGl2ZSBiYWNrZ3JvdW5kICsgdGV4dCBjb2xvciBmb3IgbWVudSBpdGVtcyBpbiB0aGUgQ2xhc3NpY1xuLy8gY3VzdG9tIHN1Ym1lbnUgKGAuY2xhc3NpYy1zdWJtZW51YCkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuc2lkZWJhciAuY2xhc3NpYy1zdWJtZW51IC5tYXQtbGlzdC1pdGVtOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUgLm1hdC1saXN0LWl0ZW06aG92ZXInLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWNvbG9yLWRhcmspO1xuLy8gU2VsZWN0ZWQgYmFja2dyb3VuZCBtYXRjaGVzIE1vZGVybidzIGAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQuYWN0aXZlYFxuLy8gKHNhbWUgdG9rZW4gYXMgdGhlIGhvdmVyIGJnIOKAlCBzZWxlY3RlZCByZWFkcyBhcyBhIHNsaWdodGx5IG11dGVkIHBpbGw7XG4vLyBlbXBoYXNpcyBjb21lcyBmcm9tIHRoZSBhY3RpdmUgdGV4dCBjb2xvciwgbm90IGEgdGludGVkIGZpbGwpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLnNpZGViYXIgLmNsYXNzaWMtc3VibWVudSAubGlzdC1pdGVtLWFjdGl2ZScsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG4vLyBUaGVtZS1hd2FyZSB0ZXh0IGNvbG9yOiB1bnNlbGVjdGVkIGl0ZW1zIHVzZSB0aGUgbGlnaHRlciB0b2tlbiwgc2VsZWN0ZWQgaXRlbXNcbi8vIHVzZSB0aGUgZGFya2VyIHRva2VuLiBXaXRob3V0IHRoZXNlIHRoZSBjb21wb25lbnQgU0NTUyBoYXJkY29kZXMgbGlnaHQgdmFsdWVzXG4vLyBpbiBib3RoIHRoZW1lcyAoZGFyayBtb2RlIHRoZW4gcmVuZGVycyB3aXRoIGxpZ2h0LW1vZGUgY29sb3JzKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUgLm1hdC1saXN0LWl0ZW0nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLnNpZGViYXIgLmNsYXNzaWMtc3VibWVudSAubGlzdC1pdGVtLWFjdGl2ZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIERyYWctaGFuZGxlIGdseXBoIChGYXZvcml0b3MgcmVvcmRlciBhZmZvcmRhbmNlKSDigJQgdGhlbWUtYXdhcmUgc29cbi8vIGl0J3MgdGhlIHN0cm9uZ2VzdCBhdmFpbGFibGUgY2hyb21lIHRvbmUgaW4gQk9USCBtb2RlcyAoYmxhY2staXNoXG4vLyBpbiBsaWdodCwgbmVhci13aGl0ZSBpbiBkYXJrKS4gVGhyZWUgc3VyZmFjZXMgc2hhcmUgdGhlIHNhbWUgbG9vazpcbi8vIGNsYXNzaWMgc3VibWVudSwgZXhwZXJpbWVudGFsIHNpZGViYXIgKGlubGluZSksIGFuZCBleHBlcmltZW50YWxcbi8vIGZseW91dC4gVGhlIGZseW91dCBpcyByZW5kZXJlZCBpbiB0aGUgQ0RLIG92ZXJsYXkgY29udGFpbmVyIGF0IGJvZHlcbi8vIHJvb3Qg4oCUIHNlbGVjdG9yIHRhcmdldHMgaXQgd2l0aG91dCB0aGUgYGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyYFxuLy8gY29tcG9uZW50IHNjb3BlLCBzbyB0aGUgZ2xvYmFsIHJ1bGUgKHdpdGhvdXQgY29tcG9uZW50IHdyYXBwZXIpIGlzXG4vLyBkZWNsYXJlZCBzZXBhcmF0ZWx5IGJlbG93LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLnN1Ym1lbnUtZHJhZy1oYW5kbGUsIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZC1kcmFnLWhhbmRsZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEZseW91dCBkcmFnIGhhbmRsZSBsaXZlcyBvdXRzaWRlIHRoZSBjb21wb25lbnQgc2NvcGUgKGJvZHktcm9vdFxuLy8gb3ZlcmxheSkuIFBsYWluIGdsb2JhbCBzZWxlY3RvcnMuXG4ubGlnaHQtdGhlbWUgLmV4cGVyaW1lbnRhbC1mbHlvdXQtZHJhZy1oYW5kbGUgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlOyB9XG4uZGFyay10aGVtZSAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtZHJhZy1oYW5kbGUgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7IH1cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5sb2dvIGltZycsIC13ZWJraXQtZmlsdGVyLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpLCAnJyk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubG9nbyBpbWcnLCBmaWx0ZXIsIGdyYXlzY2FsZSgxKSBpbnZlcnQoMSksICcnKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5uYXZiYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLWFkbWluLWJhY2tncm91bmQsICRuYXZiYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5uYXZiYXInLCBib3gtc2hhZG93LCAwcHggMnB4IDVweCByZ2JhKDAsIDAsIDAsIC4yKSwgMHB4IDJweCA5cHggcmdiYSgwLCAwLCAwLCAuNSkpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm5hdmJhcicsIGJvcmRlci1ib3R0b20tY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbi8vIFdvcmtzcGFjZSBiYXIgKFRQQyBjaGFpciBcIndpbmRvdyB0aXRsZVwiKSDigJQgc2l0cyBhYm92ZSB0aGUgdG9vbGJhciwgZnVsbFxuLy8gc2NyZWVuIHdpZHRoIHNvIGxvbmcgZXZlbnQgbmFtZXMgZml0LiBTbGFjay1zdHlsZSBpZGVudGlmaWVyIGJhbmQuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcud29ya3NwYWNlLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcud29ya3NwYWNlLWJhcicsIGJvcmRlci1ib3R0b20tY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy53b3Jrc3BhY2UtYmFyIC53b3Jrc3BhY2UtdGl0bGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcud29ya3NwYWNlLWJhciAud29ya3NwYWNlLWljb24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLndvcmtzcGFjZS1iYXIgLndvcmtzcGFjZS1jaGV2cm9uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIEpFTVMgbG9nbzogdGhlIFNWRyB2YXJpYW50IGxvYWRlZCBieSA8cGljdHVyZT4gaXMgd2hpdGUgKGRlc2lnbmVkIGZvciBkYXJrXG4vLyBiYWNrZ3JvdW5kcykuIEludmVydCBpdCBpbiBsaWdodCBtb2RlIHNvIGl0IHJlYWRzIG9uIHRoZSBvZmYtd2hpdGUgc3VyZmFjZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy53b3Jrc3BhY2UtbG9nbyBpbWcnLCAtd2Via2l0LWZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLndvcmtzcGFjZS1sb2dvIGltZycsIGZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuLy8gRXhwZXJpbWVudGFsIHNpbmdsZSBzaWRlYmFyIChsZWZ0IG9mIGFjdGl2aXR5LWJhcikg4oCUIHNhbWUgc3VyZmFjZSB0b2tlbnNcbi8vIGFzIHRoZSBhY3Rpdml0eS1iYXIgLyBzdWJtZW51IHNvIHRoZSB0aHJlZSBjaHJvbWUgYmxvY2tzIHJlYWQgYXMgb25lXG4vLyBmYW1pbHkgZHVyaW5nIEEvQiBjb21wYXJpc29uLiBJdGVtIGNvbG9yICsgaG92ZXIvZXhwYW5kZWQgdG9rZW5zIG1pcnJvclxuLy8gdGhlIHN1Ym1lbnUgaXRlbXMgKGRlZmluZWQgZ3JheSDihpIgYWN0aXZlIGdyYXkgb24gaW50ZXJhY3Rpb24pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhcicsIGJvcmRlci1yaWdodC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuLy8gRWRnZS1saW5lIGF0IHRoZSBzaWRlYmFyJ3MgcmlnaHQgZWRnZSDigJQgc2FtZSBgJGNocm9tZS1ib3JkZXItbGlnaHQvLWRhcmtgXG4vLyBwYWlyIHVzZWQgZWxzZXdoZXJlIGZvciB0aGUgcmVzdGluZyBzdGF0ZSwgcGx1cyB0aGUgYC1hY3RpdmVgIHZhcmlhbnRcbi8vIHdoZW4gdGhlIHVzZXIgaG92ZXJzL2RyYWdzIHRoZSByZXNpemUgaGFuZGxlIChzbGlnaHRseSBtb3JlIGNvbnRyYXN0XG4vLyB3aXRob3V0IGNvbW1pdHRpbmcgdG8gYW4gYWNjZW50IGNvbG9yKS5cbi8vIE1vZGVybidzIGV4cGVyaW1lbnRhbC1zaWRlYmFyIHJpZ2h0IGVkZ2Ug4oCUIGRpdmlkZXIgdmlhIGBib3JkZXItcmlnaHRgXG4vLyBvbiB0aGUgc2lkZWJhciBpdHNlbGYgKHJlc3Qgc3RhdGUpLCB3aXRoIGEgMXB4IGBib3gtc2hhZG93YCBvdXRzaWRlXG4vLyB0aGUgcmlnaHQgZWRnZSBvbiBob3Zlci9kcmFnIG9mIHRoZSByZXNpemUgaGFuZGxlIChhY3RpdmUgZW1waGFzaXMpLlxuLy8gU2FtZSBwYXR0ZXJuIGFwcGxpZWQgdG8gdGhlIENsYXNzaWMgc3VibWVudSdzIHJpZ2h0IGVkZ2UgKHNlZSBibG9ja1xuLy8gZnVydGhlciBkb3duKS4gTm8gc2VwYXJhdGUgYC5leHBlcmltZW50YWwtc2lkZWJhci1lZGdlLWxpbmVgIGVsZW1lbnRcbi8vIGV4aXN0cyBhbnltb3JlLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyaztcbn1cblxuLy8gSG92ZXIgLyBkcmFnIOKAlCBib3JkZXIgY29sb3IgYnVtcHMgKyAxcHggYm94LXNoYWRvdyBvdXRzaWRlIGZvciB0aGVcbi8vIDJweCB0aW50ZWQgc3RyaXBlIGVmZmVjdCAoMXB4IGJvcmRlciBpbnNpZGUgKyAxcHggc2hhZG93IG91dHNpZGUpLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLmhvdmVyaW5nLWV4cGVyaW1lbnRhbC1yZXNpemUtaGFuZGxlIC5leHBlcmltZW50YWwtc2lkZWJhcixcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5yZXNpemluZy1leHBlcmltZW50YWwgLmV4cGVyaW1lbnRhbC1zaWRlYmFyIHtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMXB4IDAgMCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLmhvdmVyaW5nLWV4cGVyaW1lbnRhbC1yZXNpemUtaGFuZGxlIC5leHBlcmltZW50YWwtc2lkZWJhcixcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLnJlc2l6aW5nLWV4cGVyaW1lbnRhbCAuZXhwZXJpbWVudGFsLXNpZGViYXIge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDFweCAwIDAgJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmUgIWltcG9ydGFudDtcbn1cblxuLy8gQ2xhc3NpYyBzdWJtZW51J3MgZWRnZSBzdHlsaW5nIGlzIHJlbmRlcmVkIHZpYSBgbWF0LXNpZGVuYXZgJ3Mgb3duXG4vLyBgYm9yZGVyLXJpZ2h0YCAocmVzdCBzdGF0ZSkgcGx1cyBhIGBib3gtc2hhZG93YCAoaG92ZXIvZHJhZykg4oCUIHNlZVxuLy8gdGhlIGJsb2NrIHRpdGxlZCBcIkNMQVNTSUMgTEFZT1VUIOKAlCBzdWJtZW51J3MgcmlnaHQgYm9yZGVyXCIgZnVydGhlclxuLy8gZG93bi4gTm8gc2VwYXJhdGUgYC5zdWJtZW51LWVkZ2UtbGluZWAgZWxlbWVudCBleGlzdHMgYW55bW9yZS5cbi8vIEJvdHRvbSByYWlsIGJnIOKAlCBleHBsaWNpdCB0aGVtZSB0b2tlbnMgKHJhdGhlciB0aGFuIGBiYWNrZ3JvdW5kLWNvbG9yOlxuLy8gaW5oZXJpdGApIHNvIHRoZSBzdGlja3kgc3RyaXAgcmVsaWFibHkgb3BhcXVlLCBoaWRpbmcgc2Nyb2xsaW5nIGl0ZW1zXG4vLyBiZWhpbmQgaXQgaW5zdGVhZCBvZiBsZXR0aW5nIHRoZW0gYmxlZWQgdGhyb3VnaC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gU3RpY2t5IGhlYWRlciBpbnNpZGUgdGhlIHNjcm9sbGFibGUgaXRlbXMgYXJlYSDigJQgb3BhcXVlIGJnIHNvIGl0ZW1zXG4vLyBzY3JvbGxpbmcgdXAgZGlzYXBwZWFyIGJlaGluZCBpdCBpbnN0ZWFkIG9mIGJsZWVkaW5nIHRocm91Z2guXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXItaGVhZGVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbi8vIERpdmlkZXIgbGluZXMgb24gdGhlIGhlYWRlciAvIGJvdHRvbSByYWlsIOKAlCBzdXJmYWNlZCBvbmx5IHdoZW4gdGhlcmUnc1xuLy8gY29udGVudCBzY3JvbGxlZCBvdXQgb2YgdmlldyBhYm92ZSAoYC5oYXMtZGl2aWRlcmAgb24gaGVhZGVyKSBvciBiZWxvd1xuLy8gKGAuaGFzLWRpdmlkZXJgIG9uIGJvdHRvbSByYWlsKS4gRGVmYXVsdCBib3JkZXItY29sb3IgaXMgdHJhbnNwYXJlbnQgKHNldFxuLy8gaW4gdGhlIGNvbXBvbmVudCBTQ1NTIGFzIGEgc2hvcnRoYW5kIGBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnRgKVxuLy8gc28gdGhlIGxheW91dCBkb2Vzbid0IHNoaWZ0IHdoZW4gdGhlIGNsYXNzIHRvZ2dsZXMuIGAhaW1wb3J0YW50YCBpc1xuLy8gbmVlZGVkIGJlY2F1c2UgdGhlIHNob3J0aGFuZCBpbiB0aGUgY29tcG9uZW50IFNDU1MsIHdpdGggdmlldy1lbmNhcHN1bGF0aW9uXG4vLyBhdHRycywgaGFzIGhpZ2hlciBzcGVjaWZpY2l0eSAoMCw0LDApIHRoYW4gdGhlIHRoZW1lIHJ1bGUgKDAsMywxKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhci1oZWFkZXIuaGFzLWRpdmlkZXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCAhaW1wb3J0YW50LCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbS5oYXMtZGl2aWRlcicsIGJvcmRlci10b3AtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0ICFpbXBvcnRhbnQsICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudCk7XG4vLyBEcm9wIHNoYWRvd3Mgb24gdGhlIGhlYWRlciAod2hlbiBzY3JvbGwtY2xpcHBlZCBhYm92ZSkgYW5kIGJvdHRvbSByYWlsXG4vLyAod2hlbiBzY3JvbGwtY2xpcHBlZCBiZWxvdykgd2VyZSByZW1vdmVkIHBlciBkZXNpZ24gZGVjaXNpb24g4oCUIHRoZVxuLy8gMXB4IGRpdmlkZXIgbGluZSBhbG9uZSBpcyBlbm91Z2ggdG8gY29udmV5IHRoZSBcImxpZnRlZFwiIGJvdW5kYXJ5LCBhbmRcbi8vIHRoZSBzaGFkb3cgYWRkZWQgdmlzdWFsIHdlaWdodCB0aGF0IGNvbXBldGVkIHdpdGggdGhlIHJlc3Qgb2YgdGhlXG4vLyBxdWlldCBjaGFpciBjaHJvbWUuIFJlLWFkZCB2aWEgYC5oYXMtZGl2aWRlcmAgLyBgLmhhcy1zaGFkb3dgIHJ1bGVzXG4vLyBoZXJlIGlmIHRoZSBsaWZ0IGN1ZSBpcyB3YW50ZWQgYWdhaW4uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW0nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtIC5tYXQtaWNvbicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEhvbWUtaWNvbiBkbyBicmFuZC1saW5rIChsb2dvIEpFTVMgKyBob21lIG5vIGV4cGFuZGVkIHNpZGViYXIpIOKAlCBtZXNtYVxuLy8gY29yIGFjdGl2ZSBkb3Mgw61jb25lcyBkb3MgaXRlbXMgcHJhIGJhdGVyIHZpc3VhbG1lbnRlIDE6MS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaG9tZS1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gSG9tZSBzdGFuZC1hbG9uZSBubyBjb2xsYXBzZWQg4oCUIGhvdmVyIGJnIGlndWFsIGFvcyBpdGVtcyBkYSByYWlsLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ob21lLWNvbGxhcHNlZDpob3ZlcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW06aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gSG92ZXIgbGlmdHMgdGhlIGxhYmVsIHRleHQgdG8gdGhlIFNBTUUgYWN0aXZlIHRva2VuIHRoZSBpY29uIGFscmVhZHlcbi8vIHVzZXMg4oCUIGtlZXBzIGljb24gYW5kIGxhYmVsIHZpc3VhbGx5IGNvaGVyZW50IG9uIGhvdmVyIChib3RoIGF0IHRoZVxuLy8gXCJzZWxlY3RlZC9ob3ZlclwiIGludGVuc2l0eSBpbnN0ZWFkIG9mIGljb24gZGFyayArIHRleHQgcXVpZXQpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1pdGVtOmhvdmVyJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gQ09MTEFQU0VEIGxldmVsLTEgZ3JvdXAgY3VqbyBmaWxobyBlc3TDoSBuYSByb3RhIGF0dWFsIHJlY2ViZSBvIG1lc21vXG4vLyB2aXN1YWwgZG8gaG92ZXIg4oCUIHNlbSBpc3NvLCBmZWNoYXIgbyBncnVwbyBhcGFnYXJpYSBhIMO6bmljYSBwaXN0YVxuLy8gZGUgXCJ2b2PDqiBlc3TDoSBkZW50cm8gZGVzc2UgZ3J1cG9cIi5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaXRlbS5oYXMtYWN0aXZlLWNoaWxkJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItaXRlbS5oYXMtYWN0aXZlLWNoaWxkJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gTGV2ZWwtMSBpdGVtcyBpbiB0aGUgZXhwYW5kZWQgc2lkZWJhciBkb24ndCBjYXJyeSBhIHBlcnNpc3RlbnRcbi8vIFwic2VsZWN0ZWRcIiBoaWdobGlnaHQg4oCUIHRoZSBleHBhbmQvY29sbGFwc2Ugc3RhdGUgaXMgY29udmV5ZWQgc29sZWx5XG4vLyBieSB0aGUgY2FyZXQgcm90YXRpb24gYW5kIHRoZSB2aXNpYmxlIGNoaWxkcmVuIHBhbmVsIGJlbG93LiAoV2FzXG4vLyBwYWludGluZyBgLmV4cGFuZGVkYCB3aXRoIHRoZSBob3ZlciBiZyArIGFjdGl2ZSBjb2xvcjsgcmVtb3ZlZCBhdFxuLy8gdGhlIHVzZXIncyByZXF1ZXN0Lilcbi8vIExldmVsLTIgY2hpbGQgcm93cyDigJQgZGVmYXVsdCArIGhvdmVyICsgcm91dGVyTGlua0FjdGl2ZSAoXCJhY3RpdmVcIiBjbGFzcykuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQ6aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZDpob3ZlcicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIFNlbGVjdGVkICguYWN0aXZlKSBhbmQgaG92ZXIgc2hhcmUgdGhlIHNhbWUgYmFja2dyb3VuZCDigJQgY2hhaXIgVUkgZGVzaWduXG4vLyBydWxlOiBob3ZlciDiiaEgc2VsZWN0ZWQgZm9yIGFjdGl2ZS1zdGF0ZSBlbXBoYXNpcywgYm90aCBjbGVhcmx5IGRpc3RpbmN0XG4vLyBmcm9tIHJlc3QuIFRoZSBgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZGAgdG9rZW4gaXNcbi8vIGtlcHQgZGVmaW5lZCAodXNlZCBlbHNld2hlcmUsIGUuZy4gdGhlIGxlZ2FjeSBuYXZiYXIpIGJ1dCBubyBsb25nZXJcbi8vIGFwcGxpZWQgaGVyZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQuYWN0aXZlJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5leHBlcmltZW50YWwtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQuYWN0aXZlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gSGVhZGVyIChsb2dvICsgY2xvc2UgYnV0dG9uKSDigJQgc2VwYXJhdG9yIGJlbG93ICsgYnV0dG9uIGhvdmVyIGJnICsgZGFyay1cbi8vIG1vZGUgbG9nbyBpbnZlcnQgKHNhbWUgcGF0dGVybiBhcyB0aGUgcHJldmlvdXNseSByZW1vdmVkIGxlZnQtY29sdW1uLWhlYWRlcikuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXNpZGViYXItbG9nbyBpbWcnLCAtd2Via2l0LWZpbHRlciwgZ3JheXNjYWxlKDEpIGludmVydCgxKSwgJycpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWxvZ28gaW1nJywgZmlsdGVyLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpLCAnJyk7XG4vLyBDbGFzc2ljIHRvb2xiYXIgbG9nbyDigJQgc2FtZSBmaWx0ZXIgdHJlYXRtZW50IGFzIHRoZSBNb2Rlcm4nc1xuLy8gZXhwZXJpbWVudGFsLXNpZGViYXIgbG9nbyBhYm92ZTogdGhlIHNoaXBwZWQgU1ZHIChgamVtcy1hbHQuc3ZnYCkgaXNcbi8vIHRoZSBXSElURSB2ZXJzaW9uIChkYXJrLW1vZGUgbmF0aXZlKSwgc28gbGlnaHQgbW9kZSBpbnZlcnRzIGl0IHRvXG4vLyBibGFjayB2aWEgZmlsdGVyLiBEYXJrIG1vZGUga2VlcHMgdGhlIG9yaWdpbmFsIHdoaXRlLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhci1sb2dvIGltZycsIC13ZWJraXQtZmlsdGVyLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpLCAnJyk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyLWxvZ28gaW1nJywgZmlsdGVyLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpLCAnJyk7XG4vLyBTdGF0aWMgaWNvbiBjb2xvciBvbmx5IOKAlCBob3ZlciBiZyByZW1vdmVkIHBlciBkZXNpZ24gZGVjaXNpb24gKGtlZXBzXG4vLyB0aGUgdG9nZ2xlIGFzIGEgcXVpZXRlciBjaHJvbWUgZWxlbWVudCB3aXRoIG5vIGhvdmVyIGFmZm9yZGFuY2UpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNsb3NlLWJ1dHRvbiAubWF0LWljb24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG4vLyBCb3R0b20tcmFpbCBpZGVudGl0eSBibG9jayDigJQgc2FtZSBcImFjdGl2ZVwiIHRleHQgY29sb3IgdXNlZCBieSBleHBhbmRlZFxuLy8gbWVudSBpdGVtcyBzbyBpdCByZWFkcyBhcyBwcmltYXJ5IGluZm87IHRoZSBJRCBhbmQgZW1haWwgaW5oZXJpdCBhbmRcbi8vIG11dGUgdGhlbXNlbHZlcyB2aWEgdGhlIG9wYWNpdHkgcmFtcCBzZXQgaW4gdGhlIGNvbXBvbmVudCBTQ1NTLiBXaXRob3V0XG4vLyB0aGlzIHJ1bGUgdGhlIGJsb2NrIHdvdWxkIGZhbGwgYmFjayB0byB0aGUgZ2xvYmFsIGRlZmF1bHQgdGV4dCBjb2xvcixcbi8vIHdoaWNoIHJlbmRlcnMgdG9vIGRhcmsgaW4gZGFyay1tb2RlICh0aGUgc3ltcHRvbSB3ZSdyZSBmaXhpbmcgaGVyZSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuZXhwZXJpbWVudGFsLXVzZXItaW5mbycsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcblxuLy8gRHJhZy1hbmQtZHJvcCB2aXN1YWwgZmVlZGJhY2sgZm9yIHJlb3JkZXJpbmcgRmF2b3JpdG9zIGl0ZW1zLiBUaGVcbi8vIGAuY2RrLWRyYWctcHJldmlld2AgaXMgdGhlIGZsb2F0aW5nIGNsb25lIENESyByZW5kZXJzIGF0IHRoZSBib2R5IHJvb3Rcbi8vIHdoaWxlIHRoZSB1c2VyIGRyYWdzLiBDREsgY29waWVzIHRoZSBzb3VyY2UncyBjbGFzc2VzIGJ1dCB0aGUgY2xvbmUgaXNcbi8vIG91dHNpZGUgdGhlIGNvbXBvbmVudCdzIHZpZXcgZW5jYXBzdWxhdGlvbiwgc28gY29tcG9uZW50LXNjb3BlZCBydWxlc1xuLy8gZG9uJ3QgcmVhY2ggaXQg4oCUIHdlIHJlc3RhdGUgdGhlIHJvdyBnZW9tZXRyeSwgdHlwb2dyYXBoeSwgQU5EIGlubmVyXG4vLyBpY29uL2xhYmVsIHN0eWxlcyBoZXJlIHNvIHRoZSBmbG9hdGluZyBjbG9uZSBpcyBwaXhlbC1mYWl0aGZ1bCB0byB0aGVcbi8vIG9yaWdpbmFsIGxldmVsLTIgcm93LiBWaXN1YWxseSB0cmVhdGVkIGFzIGEgXCJob3ZlcmVkXCIgdmVyc2lvbiBvZiB0aGVcbi8vIHJvdyAoaG92ZXItYmcgKyBhY3RpdmUgdGV4dCBjb2xvcikgcGx1cyBhIHN1YnRsZSBlbGV2YXRpb24sIHNvIHRoZVxuLy8gbGlmdGVkIHN0YXRlIHJlYWRzIGFzIGEgc2libGluZyBvZiB0aGUgbWVudSdzIG93biBob3ZlciBhZmZvcmRhbmNlLlxuLmNkay1kcmFnLXByZXZpZXcuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDI4cHg7XG4gIC8vIFBhZGRpbmctbGVmdCBtaXJyb3JzIHRoZSBzb3VyY2Ugcm93J3MgdmFsdWUgKGJ1bXBlZCBmcm9tIDIy4oaSMjYgaW5cbiAgLy8gdGhlIGNvbXBvbmVudCBTQ1NTIHRvIGxlYXZlIHJvb20gZm9yIHRoZSBkcmFnIGhhbmRsZSBpbiB0aGUgaW5kZW50XG4gIC8vIGd1dHRlcikuIFRoZSBoYW5kbGUgaXRzZWxmIGlzIGhpZGRlbiBpbnNpZGUgdGhlIHByZXZpZXcgKHNlZSBiZWxvdyksXG4gIC8vIGJ1dCB0aGUgcGFkZGluZyBzdGlsbCBoYXMgdG8gbWF0Y2ggc28gdGhlIGljb24gKyBsYWJlbCBzaXQgYXQgdGhlXG4gIC8vIHNhbWUgeCBpbiB0aGUgY2xvbmUgYXMgaW4gdGhlIHNvdXJjZSDigJQgb3RoZXJ3aXNlIHRoZSByb3cgdmlzaWJseVxuICAvLyBqdW1wcyB3aGVuIHRoZSB1c2VyIHBpY2tzIGl0IHVwLlxuICBwYWRkaW5nOiAwIDE0cHggMCAyNnB4O1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LXdlaWdodDogNDMwO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC8vIExlYWRpbmcgaWNvbiDigJQgcmVzdGF0ZWQgYmVjYXVzZSB0aGUgY29tcG9uZW50LXNjb3BlZCBydWxlIGZvclxuICAvLyBgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLWljb25gIGRvZXNuJ3QgYXBwbHkgb3V0c2lkZSB0aGVcbiAgLy8gY29tcG9uZW50J3MgaG9zdCBhdHRyaWJ1dGUuIE1pcnJvcnMgdGhlIG9yaWdpbmFsIDE2cHggKDgwJSBvZlxuICAvLyBsZXZlbC0xKSBzaXppbmcgYW5kIHRoZSBzYW1lIE1hdGVyaWFsIFN5bWJvbHMgdmFyaWFibGUgYXhlcy5cbiAgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkLWljb24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgLy8gTWlycm9ycyB0aGUgc291cmNlIHJvdydzIDhweCAod2FzIDEwKSBzbyB0aGUgZmxvYXRpbmcgcHJldmlld1xuICAgIC8vIGRvZXNuJ3Qgc2hpZnQgdGhlIGxhYmVsIGhvcml6b250YWxseSB3aGVuIHRoZSB1c2VyIGdyYWJzIHRoZSByb3cuXG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gIH1cblxuICAvLyBMYWJlbCDigJQgZmxleC1ncm93IHdpdGggZWxsaXBzaXMgc28gYSBsb25nIGxhYmVsIHRydW5jYXRlcyBjbGVhbmx5XG4gIC8vIGluc2lkZSB0aGUgZml4ZWQtd2lkdGggcHJldmlldyBjbG9uZSAoQ0RLIHBpbnMgdGhlIHByZXZpZXcncyB3aWR0aFxuICAvLyB0byB0aGUgc291cmNlJ3MgY2xpZW50V2lkdGgpLlxuICAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQtbGFiZWwge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cblxuICAvLyBUcmFpbGluZyBmYXZvcml0ZSBzdGFyIGlzIHN1cHByZXNzZWQgaW5zaWRlIHRoZSBwcmV2aWV3IOKAlCB0aGUgZHJhZ1xuICAvLyBnZXN0dXJlIGl0c2VsZiBjb252ZXlzIFwiYWN0aXZlIGl0ZW1cIiwgYW5kIHRoZSBzdGFyJ3MgaG92ZXItZHJpdmVuXG4gIC8vIHZpc2liaWxpdHkgd291bGRuJ3QgZmlyZSBvbiB0aGUgc3RhbmRhbG9uZSBjbG9uZSBhbnl3YXkuIFNhbWUgZm9yXG4gIC8vIHRoZSBsZWFkaW5nIGRyYWcgaGFuZGxlIOKAlCBpdHMgcm9sZSAoc2lnbmFsaW5nIGRyYWcgYWZmb3JkYW5jZSkgaXNcbiAgLy8gbW9vdCBvbmNlIHRoZSB1c2VyIGlzIGFscmVhZHkgZHJhZ2dpbmcuXG4gIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZC1mYXZvcml0ZS1idG4sXG4gIC5leHBlcmltZW50YWwtc2lkZWJhci1jaGlsZC1kcmFnLWhhbmRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLmxpZ2h0LXRoZW1lIC5jZGstZHJhZy1wcmV2aWV3LmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTtcbiAgYm94LXNoYWRvdzogJHNoYWRvdy1mbG9hdGluZy1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5jZGstZHJhZy1wcmV2aWV3LmV4cGVyaW1lbnRhbC1zaWRlYmFyLWNoaWxkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctZmxvYXRpbmctZGFyaztcbn1cblxuLy8gUGxhY2Vob2xkZXIgbGVmdCBiZWhpbmQgaW4gdGhlIG9yaWdpbmFsIHNsb3Qg4oCUIGRpbW1lZCB0byBhIFwiZ2hvc3RcIlxuLy8gc3RhdGUgc28gdGhlIHVzZXIgc2VlcyB3aGVyZSB0aGUgcm93IHdhcyBzaXR0aW5nIGFuZCBnYXVnZXMgd2hlcmVcbi8vIHRoZSBkcm9wIHdpbGwgbGFuZCBpZiB0aGV5IHJlbGVhc2Ugb3ZlciB0aGUgc2FtZSBzbG90LiBTYW1lIGdlb21ldHJ5XG4vLyBhcyB0aGUgcm93IChDREsgY2xvbmVzIGl0KSBzbyB0aGUgc3Vycm91bmRpbmcgaXRlbXMgZG9uJ3Qgc2hpZnQuXG4uY2RrLWRyYWctcGxhY2Vob2xkZXIuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQge1xuICBvcGFjaXR5OiAwLjI1O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gU21vb3RoIHNoaWZ0IGZvciB0aGUgT1RIRVIgaXRlbXMgYXMgdGhleSBhbmltYXRlIHRvIGZpbGwgdGhlIG1vdmVkXG4vLyByb3cncyBvbGQgc2xvdCAvIG1ha2Ugcm9vbSBmb3IgdGhlIG5ldyBwb3NpdGlvbi4gQ0RLIGFwcGxpZXNcbi8vIGAuY2RrLWRyYWctYW5pbWF0aW5nYCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBhdXRvLXRyYW5zbGF0ZTsgdGhlXG4vLyBgY2RrLWRyb3AtbGlzdC1kcmFnZ2luZ2AgY2xhc3Mgb24gdGhlIGNvbnRhaW5lciBsZXRzIHVzIHNjb3BlIHRoZVxuLy8gdHJhbnNpdGlvbiB0byBvbmx5IHdoZW4gYSBkcmFnIGlzIGluIHByb2dyZXNzIChvdGhlcndpc2UgdW5yZWxhdGVkXG4vLyByZS1yZW5kZXJzIGluaGVyaXQgdGhlIGVhc2luZykuXG4uY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAuZXhwZXJpbWVudGFsLXNpZGViYXItY2hpbGQ6bm90KC5jZGstZHJhZy1wbGFjZWhvbGRlcikge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgJGVhc2Utb3V0O1xufVxuXG4vLyAtLS0tLS0tLS0tIEZseW91dCBkcmFnLWFuZC1kcm9wIHZpc3VhbCBmZWVkYmFjayAtLS0tLS0tLS0tXG4vLyBUaGUgRmF2b3JpdG9zIGZseW91dCAoY29sbGFwc2VkLW1vZGUgbWF0LW1lbnUpIHN1cHBvcnRzIHRoZSBzYW1lIGRyYWctXG4vLyByZW9yZGVyIGdlc3R1cmUgYXMgdGhlIGlubGluZSBsZXZlbC0yIGxpc3QuIFByZXZpZXcgLyBwbGFjZWhvbGRlciAvXG4vLyBhbmltYXRpbmctcm93IHRyZWF0bWVudHMgbWlycm9yIHRoZSBpbmxpbmUgcnVsZXMgYWJvdmU7IHRoZSBzb3VyY2Ugcm93XG4vLyBnZW9tZXRyeSByZXN0YXRlZCBoZXJlIGlzIGZvciB0aGUgYC5jZGstZHJhZy1wcmV2aWV3YCBjbG9uZSAocmVuZGVyZWRcbi8vIGF0IGJvZHkgcm9vdCwgb3V0c2lkZSB0aGUgZmx5b3V0J3MgbWF0LW1lbnUgc3R5bGVzKS5cbi5jZGstZHJhZy1wcmV2aWV3LmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMzJweDtcbiAgcGFkZGluZzogNnB4IDE0cHggNnB4IDI2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDMwO1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWNoaWxkLWljb24ge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgZm9udC12YXJpYXRpb24tc2V0dGluZ3M6ICdvcHN6JyAyMCwgJ3dnaHQnIDMwMCwgJ0ZJTEwnIDA7XG4gIH1cbiAgPiBzcGFuIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB9XG4gIC8vIERyYWcgaGFuZGxlICsgZmF2b3JpdGUgc3RhciBoaWRkZW4gaW4gdGhlIHByZXZpZXcg4oCUIG5laXRoZXIgcm9sZVxuICAvLyBhcHBsaWVzIGR1cmluZyB0aGUgbGlmdGVkIGRyYWcgc3RhdGUuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWRyYWctaGFuZGxlLFxuICAuZXhwZXJpbWVudGFsLWZseW91dC1mYXZvcml0ZS1idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbi5saWdodC10aGVtZSAuY2RrLWRyYWctcHJldmlldy5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICBib3gtc2hhZG93OiAkc2hhZG93LWZsb2F0aW5nLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLmNkay1kcmFnLXByZXZpZXcuZXhwZXJpbWVudGFsLWZseW91dC1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctZmxvYXRpbmctZGFyaztcbn1cblxuLmNkay1kcmFnLXBsYWNlaG9sZGVyLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuLmNkay1kcm9wLWxpc3QtZHJhZ2dpbmcgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbTpub3QoLmNkay1kcmFnLXBsYWNlaG9sZGVyKSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyAkZWFzZS1vdXQ7XG59XG5cbi8vIC0tLS0tLS0tLS0gQ2xhc3NpYyBzdWJtZW51IGRyYWctYW5kLWRyb3AgdmlzdWFsIGZlZWRiYWNrIC0tLS0tLS0tLS1cbi8vIFRoZSBDbGFzc2ljIGxheW91dCdzIHN1Ym1lbnUgKGA8bWF0LXNpZGVuYXY+YCArIGA8bWF0LWxpc3Q+YCkgc3VwcG9ydHNcbi8vIHRoZSBzYW1lIGRyYWctcmVvcmRlciBnZXN0dXJlIGFzIHRoZSBNb2Rlcm4ncyBsZXZlbC0yIGNoaWxkcmVuLiBUaGVcbi8vIGAuY2RrLWRyYWctcHJldmlld2AgY2xvbmUgaXMgcmVuZGVyZWQgYXQgdGhlIGJvZHkgcm9vdCAob3V0c2lkZSB0aGVcbi8vIGNvbXBvbmVudCdzIHZpZXcgZW5jYXBzdWxhdGlvbiksIHNvIHdlIHJlc3RhdGUgdGhlIHJvdyBnZW9tZXRyeSArXG4vLyB0aGVtZSB0cmVhdG1lbnQgaGVyZSBzbyB0aGUgZmxvYXRpbmcgcHJldmlldyBsb29rcyBsaWtlIGEgaG92ZXJlZFxuLy8gdmVyc2lvbiBvZiB0aGUgc291cmNlIHJvdy5cbi5jZGstZHJhZy1wcmV2aWV3Lm1hdC1saXN0LWl0ZW0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHBhZGRpbmc6IDAgMTRweCAwIDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAvLyBNYXRlcmlhbCdzIGlubmVyIHdyYXBwZXIg4oCUIHJlc3RhdGVkIG91dHNpZGUgdGhlIGNvbXBvbmVudCdzIHZpZXdcbiAgLy8gZW5jYXBzdWxhdGlvbi4gVGhlIHNvdXJjZSByb3cncyBgOjpuZy1kZWVwIC5tYXQtbGlzdC1pdGVtLWNvbnRlbnRgXG4gIC8vIHJ1bGUgKGRpc3BsYXk6IGZsZXgpIGRvZXNuJ3QgcmVhY2ggdGhlIHByZXZpZXcgY2xvbmUgKHJlbmRlcmVkIGF0XG4gIC8vIDxib2R5PiByb290KS4gV2l0aG91dCB0aGlzLCB0aGUgbGFiZWwgLyBoYW5kbGUgLyBzdGFyIGluc2lkZSB0aGVcbiAgLy8gd3JhcHBlciBzdGFjayB2ZXJ0aWNhbGx5IChkZWZhdWx0IGJsb2NrIGZsb3cpIGFuZCB0aGUgcHJldmlld1xuICAvLyBsb29rcyBub3RoaW5nIGxpa2UgdGhlIHNvdXJjZSByb3cuXG4gIC5tYXQtbGlzdC1pdGVtLWNvbnRlbnQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gSGFuZGxlIC8gc3RhciBrZXB0IGFzIGZsZXggc2xvdHMgKHZpc2liaWxpdHk6IGhpZGRlbikgc28gdGhlXG4gIC8vIGxhYmVsJ3MgYXZhaWxhYmxlIHdpZHRoIG1hdGNoZXMgdGhlIHNvdXJjZSByb3cgZXhhY3RseSDigJQgc2FtZVxuICAvLyB0cnVuY2F0aW9uIHBvaW50LCBzYW1lIHdyYXAgYmVoYXZpb3IuXG4gIC5zdWJtZW51LWRyYWctaGFuZGxlIHtcbiAgICBmbGV4OiAwIDAgMTRweDtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLnN1Ym1lbnUtaXRlbS1sYWJlbCB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxuXG4gIC5zdWJtZW51LWZhdm9yaXRlLWJ0biB7XG4gICAgZmxleDogMCAwIDE2cHg7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG4ubGlnaHQtdGhlbWUgLmNkay1kcmFnLXByZXZpZXcubWF0LWxpc3QtaXRlbSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctZmxvYXRpbmctbGlnaHQ7XG59XG4uZGFyay10aGVtZSAuY2RrLWRyYWctcHJldmlldy5tYXQtbGlzdC1pdGVtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrO1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIGJveC1zaGFkb3c6ICRzaGFkb3ctZmxvYXRpbmctZGFyaztcbn1cblxuLy8gUGxhY2Vob2xkZXIgbGVmdCBpbiB0aGUgc291cmNlIHNsb3Qg4oCUIGRpbW1lZCBnaG9zdCBzbyB0aGUgdXNlciBzZWVzXG4vLyB3aGVyZSB0aGUgcm93IHdhcyBiZWZvcmUgdGhleSBncmFiYmVkIGl0LlxuLmNkay1kcmFnLXBsYWNlaG9sZGVyLm1hdC1saXN0LWl0ZW0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLy8gU21vb3RoIHNoaWZ0IGZvciBzaWJsaW5nIHJvd3MgYXMgdGhleSBzbGlkZSB0byBmaWxsIHRoZSBtb3ZlZCByb3cnc1xuLy8gb2xkIHNsb3QuIFNjb3BlZCB0byBgLmNkay1kcm9wLWxpc3QtZHJhZ2dpbmdgIHNvIHVucmVsYXRlZCByZS1yZW5kZXJzXG4vLyBkb24ndCBwaWNrIHVwIHRoZSBlYXNpbmcuXG4uY2RrLWRyb3AtbGlzdC1kcmFnZ2luZyAubWF0LWxpc3QtaXRlbTpub3QoLmNkay1kcmFnLXBsYWNlaG9sZGVyKSB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyAkZWFzZS1vdXQ7XG59XG5cbi8vIEV2ZW50LWhpZXJhcmNoeSBicmVhZGNydW1iIOKAlCBzaXRzIGF0IHRoZSB0b3Agb2YgdGhlIGNvbnRlbnQgYXJlYS4gU2FtZVxuLy8gYmFja2dyb3VuZCBhcyB0aGUgc2lkZWJhciBzbyB0aGUgY2hyb21lIHJlYWRzIGFzIGEgc2luZ2xlIGhvcml6b250YWxcbi8vIGJhbmQgY29udGludWluZyBhY3Jvc3MgdGhlIHRvcC4gVGV4dCArIGhvdmVyIHVzZSB0aGUgc2FtZSBtZW51aXRlbVxuLy8gdG9rZW5zIGZvciBjb25zaXN0ZW5jeSB3aXRoIHRoZSByZXN0IG9mIHRoZSBjaGFpciBVSS5cbi8vIEJyZWFkY3J1bWIgY2hyb21lIOKAlCBzYW1lIHN1cmZhY2UgYXMgdGhlIHNpZGViYXIgKGJhY2tncm91bmQpIGFuZCB0aGVcbi8vIHNhbWUgZGl2aWRlciB0b25lIChib3JkZXItYm90dG9tKS4gU2VnbWVudCB0ZXh0IGZvbGxvd3MgdGhlIGxldmVsLTFcbi8vIHNpZGViYXIgaXRlbXMnIHJhbXA6IG11dGVkIGBtZW51aXRlbS1jb2xvcmAgYnkgZGVmYXVsdCwgYnJpZ2h0ZXJcbi8vIGBtZW51aXRlbS1jb2xvci1hY3RpdmVgIG9uIGhvdmVyIC8gY3VycmVudCAvIGljb24uIEhvdmVyIGJhY2tncm91bmRcbi8vIG1pcnJvcnMgdGhlIHNpZGViYXIgaXRlbSBob3ZlciB0b28sIHNvIHRoZSBoaWdobGlnaHQgcmVhZHMgYXMgYSBzaWJsaW5nLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5cbi8vIENMQVNTSUMgTEFZT1VUIOKAlCBzdWJtZW51J3MgcmlnaHQgYm9yZGVyIGRvdWJsZXMgYXMgdGhlIHZpc3VhbCBzZXBhcmF0b3Jcbi8vIEFORCB0aGUgcmVzaXplLWxpbmUgYWZmb3JkYW5jZS4gQXQgcmVzdCwgdGhlIGJvcmRlciB1c2VzIHRoZSBjaHJvbWUtXG4vLyBkaXZpZGVyIHRvbmU7IHdoZW4gdGhlIHVzZXIgaG92ZXJzIHRoZSByZXNpemUgaGFuZGxlIChvciBpcyBtaWQtZHJhZyksXG4vLyB0aGUgYm9yZGVyIGJ1bXBzIHRvIHRoZSBgLWFjdGl2ZWAgdG9rZW4uIFRoZSBib3JkZXIgaXMgcGFydCBvZiB0aGVcbi8vIHN1Ym1lbnUncyBvd24gYm94ICh3aXRoIGBib3gtc2l6aW5nOiBib3JkZXItYm94YCkgc28gaXQgc2xpZGVzIGluIHdpdGhcbi8vIHRoZSBtYXQtc2lkZW5hdiBhbmltYXRpb24gbmF0dXJhbGx5IOKAlCBubyBgLnN1Ym1lbnUtZWRnZS1saW5lYCBvdmVybGF5XG4vLyBuZWVkZWQgZm9yIHRoZSBzZXBhcmF0b3IuIFRoZW1lLWF3YXJlICsgYCFpbXBvcnRhbnRgICh0byBiZWF0IHRoZSBiYXNlXG4vLyBgYm9yZGVyLXJpZ2h0OiBub25lICFpbXBvcnRhbnRgIGF0IGFkbWluLWV2ZW50LXNpZGViYXIuY29tcG9uZW50LnNjc3Ncbi8vIGxpbmUgfjEzMzApLlxuLy8gQmFja2dyb3VuZCArIHRoZW1lIHRva2Vucy4gKFRoZSBNYXRlcmlhbCBtYXQtc2lkZW5hdiBydWxlcyBhdCBsaW5lc1xuLy8gMTMyLTE0NSBzdGlsbCBhcHBseSwgYnV0IG1hdC1zaWRlbmF2IGlzIG5vdyBlbXB0eS9kZWNvcmF0aXZlIGluXG4vLyBDbGFzc2ljIOKAlCBrZXB0IG9ubHkgYXMgYSBzdHJ1Y3R1cmFsIHBsYWNlaG9sZGVyIGZvciB0aGUgTWF0ZXJpYWxcbi8vIG1hdC1zaWRlbmF2LWNvbnRhaW5lci4gVGhlIHZpc2libGUgc3VibWVudSBpcyBgLmNsYXNzaWMtc3VibWVudWAuKVxuLy9cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuY2xhc3NpYy1zdWJtZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5jbGFzc2ljLXN1Ym1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuLy8gSG92ZXIgLyBkcmFnIOKAlCBib3JkZXIgY29sb3IgYnVtcHMgKyBhIEhBUkQgMXB4IGJveC1zaGFkb3cgb3V0c2lkZVxuLy8gKG92ZXJyaWRlcyB0aGUgZGlmZnVzZSByZXN0LXN0YXRlIHNoYWRvdyBzbyB0aGUgYWN0aXZlIGVkZ2UgcmVhZHMgYXNcbi8vIGEgY3Jpc3AgMnB4IHRpbnRlZC1zdHJpcGUgaW5zdGVhZCBvZiBhIGZ1enp5IGhhbG8pLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyLmhvdmVyaW5nLXJlc2l6ZS1oYW5kbGUgLmNsYXNzaWMtc3VibWVudSxcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5yZXNpemluZy1zdWJtZW51IC5jbGFzc2ljLXN1Ym1lbnUge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZTtcbiAgYm94LXNoYWRvdzogMXB4IDAgMCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5ob3ZlcmluZy1yZXNpemUtaGFuZGxlIC5jbGFzc2ljLXN1Ym1lbnUsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhci5yZXNpemluZy1zdWJtZW51IC5jbGFzc2ljLXN1Ym1lbnUge1xuICBib3JkZXItcmlnaHQtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICBib3gtc2hhZG93OiAxcHggMCAwICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xufVxuXG4vLyBDTEFTU0lDIExBWU9VVCDigJQgYnJlYWRjcnVtYiBpcyBhIHBlcm1hbmVudCBzdHJpcCBhdCB0aGUgdmVyeSB0b3Agb2Zcbi8vIHRoZSB3aW5kb3cuIFRoZSBjb21wb25lbnQgaG9zdCBoYXMgemVybyBmbG93IGhlaWdodCAodGhlIGlubmVyXG4vLyBgLmV2ZW50LWJyZWFkY3J1bWJgIGlzIGBwb3NpdGlvbjogZml4ZWRgIGFuZCBwYWludHMgaXRzZWxmKTsgdGhlXG4vLyB0b29sYmFyL2NhbnZhcy9zdWJtZW51IG9mZnNldHMgaW4gdGhlIGNvbXBvbmVudCBTQ1NTIHJlc2VydmUgdGhlXG4vLyAzNnB4IGZvciBpdC5cbi5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgYXBwLWV2ZW50LWJyZWFkY3J1bWIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xufVxuLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYiB7XG4gIC8vIENvbnNvbWUgb2Zmc2V0IGFncmVnYWRvIGRlIGNocm9tZSAocHJveHktYmFyIGV0Yy4pIOKAlCBiYXNlbGluZSAwXG4gIC8vIHBybyBsYXlvdXQgQ2zDoXNzaWNvIChicmVhZGNydW1iIGZpY2Egbm8gdG9wbywgYW50ZXMgZG8gYWN0aXZpdHktYmFyKS5cbiAgLy8gQW50ZXMgZXJhIGB0b3A6IDBgIGhhcmQtY29kZWQ7IHNlbSBlc3NhIHZhciwgcHJveHktYmFyIGZpY2F2YSBhdHLDoXMuXG4gIHRvcDogdmFyKC0tY2hyb21lLXRvcC1vZmZzZXQpO1xuICAvLyBgJHotYnJlYWRjcnVtYmAgc2xvdHMgYWJvdmUgdGhlIHJlc2l6ZSBoYW5kbGVzIGFuZCB0b29sYmFyIGJ1dFxuICAvLyBiZWxvdyBDREsgb3ZlcmxheXMgKHRvb2x0aXBzLCBtZW51cykuIEhpZXJhcmNoeTogc2VlIGBfei1pbmRleC5zY3NzYC5cbiAgei1pbmRleDogJHotYnJlYWRjcnVtYjtcbn1cbi8vIERhcmsgbW9kZSwgQ2xhc3NpYyBvbmx5OiB0aGUgZmxvYXRpbmcgYnJlYWRjcnVtYiBzaXRzIG9uIHRoZSBzYW1lXG4vLyBgIzIwMjAyMGAgY2hyb21lIGFzIHRoZSB0b29sYmFyLCBzbyB0aGUgc2VnbWVudHMnIDAuNjUtb3BhY2l0eSBkaW1cbi8vICh3aGljaCByZWFkcyBmaW5lIGluIE1vZGVybiwgd2hlcmUgdGhlIGJyZWFkY3J1bWIgZmxvYXRzIG92ZXIgdGhlXG4vLyBibGFjayBjYW52YXMpIGVuZHMgdXAgZmFkZWQgaW50byB0aGUgc3Vycm91bmRpbmcgYmcuIENvbXBlbnNhdGUgYnlcbi8vIHByb21vdGluZyB0aGUgbm9uLWN1cnJlbnQgc2VnbWVudCB0ZXh0IHRvIHRoZSBicmlnaHRlciBhY3RpdmUgdG9rZW5cbi8vIOKAlCByZXN0b3JlcyB0aGUgcGVyY2VpdmVkIGxlZ2liaWxpdHkgdG8gbWF0Y2ggTW9kZXJuLlxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSBhcHAtZXZlbnQtYnJlYWRjcnVtYiAuZXZlbnQtYnJlYWRjcnVtYi1zZWdtZW50IHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xufVxuLy8gRGVmYXVsdCBzZWdtZW50IHRleHQ6IG11dGVkIHRva2VuIChjaGFpciBVSSBcInJlc3RcIiBjb2xvcikuIEhvbWUgaWNvblxuLy8gYW5kIGludGVybWVkaWF0ZXMgaW5oZXJpdCB0aGlzIOKAlCBnaXZlcyB0aGVtIHRoZSBcImxpZ2h0XCIgdHJlYXRtZW50IHBlclxuLy8gdGhlIGRlc2lnbiBydWxlIFwiaG9tZSArIGludGVybWVkaWF0ZXMgbGlnaHRlciwgY3VycmVudCBoaWdobGlnaHRlZFwiLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWItc2VnbWVudCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBDdXJyZW50IHNlZ21lbnQgdXNlcyB0aGUgYnJpZ2h0ZXIgYG1lbnVpdGVtLWNvbG9yLWFjdGl2ZWAg4oCUIHNhbWUgdG9rZW5cbi8vIHRoZSBzaWRlYmFyIHVzZXMgZm9yIHNlbGVjdGVkIGl0ZW1zLiBDb21iaW5lZCB3aXRoIHRoZSB3Z2h0IDUwMCBidW1wXG4vLyBvbiBgLmV2ZW50LWJyZWFkY3J1bWItbGFiZWwtc3Ryb25nYCAodGhlIGFjcm9ueW0gKyB5ZWFyIHByZWZpeCksIHRoaXNcbi8vIGdpdmVzIHRoZSBjdXJyZW50IGV2ZW50IGEgY2xlYXIgXCJ5b3UgYXJlIGhlcmVcIiBlbXBoYXNpcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iLXNlZ21lbnQuY3VycmVudCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEhvdmVyIGFmZm9yZGFuY2VzIG9uIGV2ZXJ5IGludGVyYWN0aXZlIHNlZ21lbnQgdmFyaWFudCDigJQgYW5jaG9yc1xuLy8gKGxpbmtlZCBzZWdtZW50cykgQU5EIGJ1dHRvbnMgKHRoZSBzdWItZXZlbnRzIHRyaWdnZXIpLiBTcGFuIGZhbGxiYWNrc1xuLy8gKGVsbGlwc2lzLCB1bmxpbmtlZCBjdXJyZW50KSBzdGF5IG91dCBvZiB0aGVzZSBydWxlcyBzbyB0aGV5IGRvbid0XG4vLyBwcmV0ZW5kIHRvIGJlIGludGVyYWN0aXZlLiBDb3ZlcnMgcmVndWxhciBpbnRlcm1lZGlhdGVzLCB0aGUgY3VycmVudFxuLy8gZXZlbnQncyBhbmNob3IgKHdoaWNoIGxpbmtzIHRvIHRoZSBldmVudCdzIFwiSW5mb3JtYcOnw7Vlc1wiIHBhZ2UpLCBhbmRcbi8vIHRoZSB0cmFpbGluZyBcIuKAplwiIGJ1dHRvbiB0aGF0IG9wZW5zIHRoZSBzdWItZXZlbnRzIG1lbnUuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LWJyZWFkY3J1bWIsICdhLmV2ZW50LWJyZWFkY3J1bWItc2VnbWVudDpob3ZlciwgYnV0dG9uLmV2ZW50LWJyZWFkY3J1bWItc2VnbWVudDpob3ZlcicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJ2EuZXZlbnQtYnJlYWRjcnVtYi1zZWdtZW50OmhvdmVyLCBidXR0b24uZXZlbnQtYnJlYWRjcnVtYi1zZWdtZW50OmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbi8vIEJvdMOjbyBkZSBlbnRyYXIvc2FpciBkbyBtb2RvIGFtcGxvIChjYW50byBkaXJlaXRvIGRhIGJhcnJhKSDigJQgbWVzbW8gYmdcbi8vIGRlIGhvdmVyIGRvcyBzZWdtZW50b3MgcHJhIGxlciBjb21vIGZhbcOtbGlhIHZpc3VhbCBjb2VyZW50ZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtYnJlYWRjcnVtYiwgJy5ldmVudC1icmVhZGNydW1iLXdpZGUtdG9nZ2xlOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbi8vIEljb25zIGluc2lkZSBzZWdtZW50cyBzaXQgYXQgdGhlIGFjdGl2ZSB0b2tlbiAoc2FtZSBydWxlIHRoZSBzaWRlYmFyXG4vLyBhcHBsaWVzIHRvIGl0cyBpdGVtIGljb25zIOKAlCBrZWVwcyB0aGUgaHVlIHN0YWJsZSBhY3Jvc3Mgc3RhdGVzKS5cbi8vIE9wYWNpdHkgaXMgc2V0IG9uIHRoZSBpY29uIGNsYXNzIGluIHRoZSBjb21wb25lbnQgU0NTUyB0byB0aGUgY2hhaXJcbi8vIFVJJ3MgYDAuNjVgIGljb25zLWF0LXJlc3QgbGV2ZWwsIG1hdGNoaW5nIHRoZSBsZXZlbC0xIHNpZGViYXIgaWNvblxuLy8gdHJlYXRtZW50IHNvIHRoZSBob21lIGdseXBoIHJlYWRzIGF0IHRoZSBzYW1lIGRpbW5lc3MgYXMgYSBub24tXG4vLyBleHBhbmRlZCBzaWRlYmFyIGljb24uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LWJyZWFkY3J1bWIsICcuZXZlbnQtYnJlYWRjcnVtYi1pY29uJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1icmVhZGNydW1iLCAnLmV2ZW50LWJyZWFkY3J1bWItc2VwYXJhdG9yJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIEhvdmVyIGJhY2tncm91bmQgb24gdGhlIHVzZXItbWVudSB0cmlnZ2VyIOKAlCBzYW1lIHJlY2lwZSBhcyB0aGUgbGV2ZWwtMVxuLy8gbWVudSBpdGVtcywgc28gdGhlIGhpZ2hsaWdodCB0aGF0IGNvdmVycyAoYXZhdGFyICsgaWRlbnRpdHkgdGV4dCkgcmVhZHNcbi8vIGFzIGEgc2libGluZyBvZiB0aGUgcmVzdCBvZiB0aGUgc2lkZWJhcidzIGludGVyYWN0aXZlIHN1cmZhY2VzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmV4cGVyaW1lbnRhbC11c2VyLW1lbnUtYnV0dG9uOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbi8vIFJlb3BlbiB0YWIgKHZpc2libGUgb25seSB3aGlsZSBjb2xsYXBzZWQpIOKAlCBzYW1lIHRoZW1lIHRva2VucyBhcyB0aGVcbi8vIGFjdGl2aXR5LWJhciB0b29sYmFyIGJ1dHRvbnMgc28gaXQgcmVhZHMgYXMgYSBzaWJsaW5nIG9mIHRoYXQgY2hyb21lLlxuXG4vLyBBY3Rpdml0eSBiYXIgKFZTIENvZGUtc3R5bGUgdmVydGljYWwgaWNvbiBzdHJpcCkg4oCUIHNhbWUgc3VyZmFjZSBhcyB0aGVcbi8vIHNpZGViYXIgc28gaXQgcmVhZHMgYXMgYSBjb250aW51YXRpb24gb2YgdGhlIGxlZnQgY2hyb21lOyBzdWJ0bGUgcmlnaHRcbi8vIGJvcmRlciBzZXBhcmF0ZXMgaXQgZnJvbSB0aGUgc3VibWVudS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhcicsIGJvcmRlci1yaWdodC1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQsICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuLy8gRHJvcCBzaGFkb3cg4oCUIHPDsyBvdmVycmlkZSBubyBkYXJrIChsaWdodCBmaWNhIGNvbSBvIGAwIDJweCA1cHggMFxuLy8gcmdiYSgwLDAsMCwwLjIpYCBvcmlnaW5hbCBkbyBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC5zY3NzKS5cbi8vIGAhaW1wb3J0YW50YCBwcmEgZ2FuaGFyIGRvIGNvbXBvbmVudCBTQ1NTIChxdWUgdGVtIF9uZ2NvbnRlbnQgbmFcbi8vIGVzcGVjaWZpY2lkYWRlKS5cbi5kYXJrLXRoZW1lIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDlweCByZ2JhKDAsIDAsIDAsIDAuNSkgIWltcG9ydGFudDtcbn1cbi8vIENsYXNzaWMgbGF5b3V0IHJvdGF0ZXMgdGhlIGFjdGl2aXR5LWJhciA5MMKwICh2ZXJ0aWNhbCDihpIgaG9yaXpvbnRhbCB0b29sYmFyXG4vLyBiZWxvdyB0aGUgYnJlYWRjcnVtYikuIFRoZSByaWdodCBib3JkZXIgYmVjb21lcyBhIGJvdHRvbSBib3JkZXI7IHRoaXNcbi8vIHJ1bGUgbWlycm9ycyB0aGUgY29sb3VyIHRva2VuIHNvIHRoZSBkaXZpZGVyIHN0YXlzIGluIGNocm9tZS1kaXZpZGVyIHRvbmVcbi8vIHJlZ2FyZGxlc3Mgb2Ygb3JpZW50YXRpb24uIFNldHRpbmcgYm90aCBpcyBoYXJtbGVzcyDigJQgb25seSBvbmUgYm9yZGVyXG4vLyByZW5kZXJzIGF0IGEgdGltZS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgYmxhY2spO1xuLy8gU2luZ2xlIGJhc2UgY29sb3IgKHRoZSBcImFjdGl2ZVwiIC8gZGFya2VzdCkgZm9yIGFsbCBpY29uIHN0YXRlcy4gVGhlIGNvbXBvbmVudFxuLy8gU0NTUyBtb2R1bGF0ZXMgb3BhY2l0eSB0byBkaWZmZXJlbnRpYXRlIGRlZmF1bHQgLyBob3ZlciAvIHNlbGVjdGVkIOKAlCBrZWVwc1xuLy8gdGhlIGh1ZSBzdGFibGUgYWNyb3NzIHN0YXRlcyBhbmQgY3JlYXRlcyBhIGNsZWFuIHZpc3VhbCBoaWVyYXJjaHkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uIC5tYXQtaWNvbicsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbi8vIEhvdmVyICsgc2VsZWN0ZWQgYmcgb24gYWN0aXZpdHktYmFyIGJ1dHRvbnMuIE5lZWQgIWltcG9ydGFudCBoZXJlIGJlY2F1c2Vcbi8vIHRoZSBsb2NhbCBydWxlIGluIHNpZGViYXItaXRlbS1hZG1pbi5jb21wb25lbnQuc2Nzc1xuLy8gKGAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbiB7IGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9YCkgZ2V0c1xuLy8gaW5mbGF0ZWQgc3BlY2lmaWNpdHkgZnJvbSB2aWV3LWVuY2Fwc3VsYXRpb24gYXR0cmlidXRlcyBhbmQgb3RoZXJ3aXNlIHdpbnMuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi8vIC5zZWxlY3RlZCBpcyBvbiB0aGUgYnV0dG9uIGl0c2VsZiAodmlhIFtuZ0NsYXNzXSBpbiBzaWRlYmFyLWl0ZW0tYWRtaW4nc1xuLy8gdGVtcGxhdGUpLCBub3Qgb24gdGhlIGFuY2VzdG9yIOKAlCBzbyB3ZSB0YXJnZXQgYm90aCBwb3NzaWJsZSBsb2NhdGlvbnMuXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCxcbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyIC5zZWxlY3RlZCAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyIC5zZWxlY3RlZCAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBDTEFTU0lDIExBWU9VVCDigJQgdG9vbGJhciBpdGVtIGhvdmVyL3NlbGVjdGVkOiBoaWdobGlnaHQgcGlsbCBvbiB0aGUgSUNPTlxuLy8gb25seSAobm90IHRoZSB3aG9sZSBpY29uK2xhYmVsIHN0YWNrKS4gVGhlIGFib3ZlIHJ1bGVzIHBhaW50IHRoZSBXSE9MRVxuLy8gYnV0dG9uIG9uIGhvdmVyL3NlbGVjdGVkIOKAlCBmaW5lIGZvciBNb2Rlcm4gKGljb24tb25seSA0MMOXNDAgYnV0dG9ucyksXG4vLyBidXQgaW4gQ2xhc3NpYyB0aGUgYnV0dG9uIGFsc28gaG9sZHMgdGhlIHRleHQgbGFiZWwgYmVsb3cgdGhlIGljb24gYW5kXG4vLyBwYWludGluZyBib3RoIHdvdWxkIG92ZXItZW1waGFzaXNlIHRoZSByb3cuIEJlbG93OiBzdXBwcmVzcyB0aGUgYnV0dG9uXG4vLyBwaWxsIGluIENsYXNzaWMsIHBhaW50IHRoZSBpY29uIHBpbGwgaW5zdGVhZC4gVGhlbWUtYXdhcmUuIExpdmVzIGhlcmVcbi8vIChnbG9iYWwgc3R5bGVzaGVldCkgc28gdGhlIGAuZGFyay10aGVtZWAgYW5jZXN0b3Igb24gPGJvZHk+IGNhbiBtYXRjaFxuLy8gd2l0aG91dCBiZWluZyB0cmFwcGVkIGJ5IEFuZ3VsYXIncyB2aWV3IGVuY2Fwc3VsYXRpb24uXG4vL1xuLy8gU3BlY2lmaWNpdHkgdnMuIE1vZGVybiBydWxlczogYC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZClgXG4vLyBhZGRzIDAsMiwwIG92ZXIgdGhlIE1vZGVybiBzZWxlY3RvciDihpIgd2lucyBkZXNwaXRlIGJvdGggdXNpbmdcbi8vIGAhaW1wb3J0YW50YC5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkLFxuLmRhcmstdGhlbWUgIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3Zlcixcbi5kYXJrLXRoZW1lICBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24uc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuLy8gYCFpbXBvcnRhbnRgIGhlcmUgYmVhdHMgdGhlIE1vZGVybidzIGAubWF0LWljb24geyBiYWNrZ3JvdW5kLWNvbG9yOlxuLy8gdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfWAgaW4gYWRtaW4tZXZlbnQtc2lkZWJhci5jb21wb25lbnQuc2NzcyAobGluZVxuLy8gfjExNzgpIOKAlCB3aXRob3V0IGAhaW1wb3J0YW50YCwgdGhhdCBydWxlIHdpbnMgZXZlbiB0aG91Z2ggb3VyIHNlbGVjdG9yXG4vLyBoYXMgaGlnaGVyIHNwZWNpZmljaXR5LCBiZWNhdXNlIGAhaW1wb3J0YW50YCBpcyBjb21wYXJlZCBvbmx5IGFtb25nXG4vLyBydWxlcyB0aGF0IGFsbCBjYXJyeSBpdC5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCAubWF0LWljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIC5tYXQtaWNvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBDTEFTU0lDIFRPT0xCQVIg4oCUIGxhYmVsIGNvbG9yOiByZXN0IHVzZXMgdGhlIG11dGVkIG1lbnVpdGVtLWNvbG9yIHRva2VuLFxuLy8gaG92ZXIvc2VsZWN0ZWQgc3dpdGNoZXMgdG8gdGhlIGJyaWdodGVyIG1lbnVpdGVtLWNvbG9yLWFjdGl2ZS4gTWlycm9yc1xuLy8gdGhlIE1vZGVybiBsZXZlbC0xIHNpZGViYXIgaXRlbXMnIGxhYmVsIHRyZWF0bWVudCAobGluZXMgfjIwMy0yMDdcbi8vIGFib3ZlKTogc2FtZSB0d28gdG9rZW5zLCBzYW1lIHJlc3TihpJhY3RpdmUgdHJhbnNpdGlvbiwganVzdCBhcHBsaWVkIHRvXG4vLyBgLmxhYmVsYCBpbnN0ZWFkIG9mIHRoZSBpdGVtIGNvbnRhaW5lci4gVGhlbWUtYXdhcmUsIGdsb2JhbCAoc28gdGhlXG4vLyBydWxlIHBpZXJjZXMgQW5ndWxhcidzIHZpZXcgZW5jYXBzdWxhdGlvbiDigJQgYC5sYWJlbGAgaXMgcmVuZGVyZWQgYnlcbi8vIHRoZSBjaGlsZCA8YXBwLXNpZGViYXItaXRlbS1hZG1pbj4gY29tcG9uZW50KS5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24gLmxhYmVsIHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xufVxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5zaWRlYmFyOm5vdCgubGVnYWN5LWNocm9tZS1kaXNhYmxlZCkgLmFjdGl2aXR5LWJhciAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciAubGFiZWwsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIC5sYWJlbCB7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmU7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b24gLmxhYmVsIHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuc2lkZWJhcjpub3QoLmxlZ2FjeS1jaHJvbWUtZGlzYWJsZWQpIC5hY3Rpdml0eS1iYXIgLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLmxhYmVsLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLnNpZGViYXI6bm90KC5sZWdhY3ktY2hyb21lLWRpc2FibGVkKSAuYWN0aXZpdHktYmFyIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIC5sYWJlbCB7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyaztcbn1cblxuLy8gTm90aWZpY2F0aW9uIChiZWxsKSArIG5ldyB1c2VyLW1lbnUgYnV0dG9ucyBpbiAuYWN0aXZpdHktYmFyLWJvdHRvbSDigJQgc2FtZVxuLy8gdGhlbWUtYXdhcmUgdG9rZW5zIGFzIHRoZSB0b29sYmFyIGl0ZW1zIHNvIGhvdmVyIGJlaGF2ZXMgY29ycmVjdGx5IGluIGRhcmtcbi8vIG1vZGUuIEhhbmQtd3JpdHRlbiB3aXRoICFpbXBvcnRhbnQgZm9yIHRoZSBzYW1lIHZpZXctZW5jYXBzdWxhdGlvbiByZWFzb25cbi8vIGFzIHRoZSB0b29sYmFyIHJ1bGVzIGFib3ZlLlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uOmhvdmVyLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIC5oZWxwZGVzay1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbjpob3Zlcixcbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5hY3Rpdml0eS1iYXItYm90dG9tIC5oZWxwZGVzay1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cbi8vIEJlbGwgYnV0dG9uJ3MgXCJtZW51IG9wZW5cIiBzdGF0ZSBtaXJyb3JzIHRoZSB0b29sYmFyIFNFTEVDVEVEIHZpc3VhbC5cbi5saWdodC10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbi5tZW51LW9wZW4sXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmFjdGl2aXR5LWJhci1ib3R0b20gLmhlbHBkZXNrLWJ1dHRvbi5tZW51LW9wZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1zZWxlY3RlZC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbi5tZW51LW9wZW4sXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuYWN0aXZpdHktYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uLm1lbnUtb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBTYW1lIHJ1bGVzIGZvciB0aGUgZXhwZXJpbWVudGFsIHNpZGViYXIncyBib3R0b20gcmFpbCAodXNlci1tZW51ICtcbi8vIG5vdGlmaWNhdGlvbiBiZWxsICsgaGVscGRlc2spLCBzbyBib3RoIGxheW91dHMgc2hhcmUgb25lIGludGVyYWN0aW9uIGlkZW50aXR5LlxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gLmV4cGVyaW1lbnRhbC11c2VyLW1lbnUtYnV0dG9uOmhvdmVyLFxuLmxpZ2h0LXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b246aG92ZXIsXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuZXhwZXJpbWVudGFsLXVzZXItbWVudS1idXR0b246aG92ZXIsXG4uZGFyay10aGVtZSBhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciAuZXhwZXJpbWVudGFsLXNpZGViYXItYm90dG9tIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uOmhvdmVyLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbi5tZW51LW9wZW4sXG4ubGlnaHQtdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uLm1lbnUtb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyIC5leHBlcmltZW50YWwtc2lkZWJhci1ib3R0b20gYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b24ubWVudS1vcGVuLFxuLmRhcmstdGhlbWUgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWJvdHRvbSAuaGVscGRlc2stYnV0dG9uLm1lbnUtb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBDb21tYW5kIHBhbGV0dGUgdHJpZ2dlciAoYm90w6NvIFwiQnVzY2FyLi4uIOKMmEtcIikgbmEgbmF2YmFyIGRvIGF1dG9yL3Jldmlzb3IuXG4vLyBIb3ZlciB1c2EgbyBtZXNtbyBiZyB3YXJtIGJlaWdlIGRvIGhvdmVyIGRvcyBpdGVucyBkYSB0b29sYmFyLlxuLmxpZ2h0LXRoZW1lIGFwcC1uYXZiYXIgLmNvbW1hbmQtcGFsZXR0ZS10cmlnZ2VyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgYXBwLW5hdmJhciAuY29tbWFuZC1wYWxldHRlLXRyaWdnZXI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrO1xufVxuXG4vLyBTaG9ydGN1dCBoaW50IGNoaXBzICjijJhGIGRlbnRybyBkbyBmaWx0ZXIsIOKMmEsgZGVudHJvIGRvIHBhbGV0dGUgdHJpZ2dlcikg4oCUXG4vLyBtZXNtbyBib3JkZXItY29sb3IgZG8gY29udGFpbmVyIGRvIGNoaXAtZmlsdGVyIChjaHJvbWUtYm9yZGVyLWFjdGl2ZSkuXG4vLyBgIWltcG9ydGFudGAgbmVjZXNzw6FyaW8gcHJhIHZlbmNlciBhIGVzcGVjaWZpY2lkYWRlIGRhIFZpZXdFbmNhcHN1bGF0aW9uXG4vLyBkbyBBbmd1bGFyIHNvYnJlIG8gc2hvcnRoYW5kIGBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudGAgbG9jYWwuXG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLnNob3J0Y3V0LWhpbnQsXG4ubGlnaHQtdGhlbWUgYXBwLW5hdmJhciAuc2hvcnRjdXQtaGludCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLnNob3J0Y3V0LWhpbnQsXG4uZGFyay10aGVtZSBhcHAtbmF2YmFyIC5zaG9ydGN1dC1oaW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmUgIWltcG9ydGFudDtcbn1cblxuLy8gQ2hpcC1zZWFyY2ggKGZpbHRybyBpbmxpbmUgZGEgdG9vbGJhciBkbyBhdXRvci9yZXZpc29yKTpcbi8vIC0gVHJpZ2dlciBjb2xhcHNhZG86IG1lc21hIHN1cGVyZsOtY2llL2JvcmRhIGRvIGAuY2hhaXItaGVhZGVyLWljb24tYnV0dG9uYFxuLy8gICAoZnVuZG8gYCRhZG1pbi1iYWNrZ3JvdW5kYCwgYm9yZGEgYCRjaHJvbWUtYm9yZGVyLWxpZ2h0LWFjdGl2ZWApLlxuLy8gLSBIb3ZlcjogYm9yZGEgXCJlbmdyb3NzYWRhXCIgdmlhIGJveC1zaGFkb3cgb3V0c2V0IDFweCBuYSBtZXNtYSBjb3Jcbi8vICAgKGlkw6pudGljbyBhbyBmaWx0ZXIgYnV0dG9uIOKAlCBwYWlyaW5nIHZpc3VhbCkuXG4vLyAtIENvbnRhaW5lciBleHBhbmRpZG86IGJnIHdhcm0gYmVpZ2Ugc3V0aWwgc2VtcHJlLCBib3JkZXIgYWNjZW50IGFvIGZvY2FyLlxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLXRyaWdnZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmUgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLXRyaWdnZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQ7XG59XG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtdHJpZ2dlcjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC10cmlnZ2VyOmhvdmVyIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG59XG4vLyBDaGlwLXNlYXJjaCBleHBhbmRpZG8g4oCUIGNhcmQgYnJhbmNvIChMaW5lYXIvTm90aW9uLXN0eWxlKS4gQ29udHJhc3RlXG4vLyBjcm9tw6F0aWNvIGNsYXJvOiBiZyBicmFuY28gbm8gbGlnaHQgLyBjYW52YXMgZGFyayBubyBkYXJrLCBkaXN0aW50byBkb1xuLy8gd2FybSBiZWlnZSBjaXJjdW5kYW50ZS4gQm9yZGVyIDFweCB2aXPDrXZlbCAodXNhIGNocm9tZS1ib3JkZXItYWN0aXZlIOKAlFxuLy8gYGNocm9tZS1ib3JkZXJgIHNpbXBsZXMgZmljb3UgcMOhbGlkbyBkZW1haXMgc29icmUgbyBicmFuY28gZG8gY2FyZCkuXG4vLyBgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveGAgZXZpdGEgcXVlIG8gYmcgcGludGUgc29icmUgYSDDoXJlYSBkb1xuLy8gYm9yZGVyIChkZWZhdWx0IGJyb3dzZXIgZGVpeGEgYmcgY29icmlyIGJvcmRlciBhcmVhKS5cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3ggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrLWFjdGl2ZSAhaW1wb3J0YW50O1xufVxuLy8gSG92ZXIgKHNlbSBmb2NvKTogYm9yZGEgXCJlbmdyb3NzYWRhXCIgdmlhIGJveC1zaGFkb3cgb3V0c2V0IDFweCBuYVxuLy8gbWVzbWEgY29yIOKAlCAwIGltcGFjdG8gZW0gbGF5b3V0IChib3JkZXIgcmVhbCBjb250aW51YSAxcHgpLlxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkOmhvdmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1saWdodC1hY3RpdmU7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZDpob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGNocm9tZS1ib3JkZXItZGFyay1hY3RpdmU7XG59XG4ubGlnaHQtdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtZXhwYW5kZWQ6Zm9jdXMtd2l0aGluIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkYWNjZW50LWJhY2tncm91bmQ7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1leHBhbmRlZDpmb2N1cy13aXRoaW4ge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7XG59XG5cbi8vIENvciBkbyBDT05URcOaRE8gZG8gY2hpcCAow61jb25lIGRlIGZpbHRybywgYXRhbGhvIFwiL1wiLCB0ZXh0by9wbGFjZWhvbGRlcikg4oCUXG4vLyB0aGVtZS1hd2FyZSwgaWTDqm50aWNhIMOgIGRvcyDDrWNvbmVzIGludGVybm9zIGRvIGBhcHAtdXNlci1zZWFyY2hgIChhZG1pblxuLy8gbWVudWl0ZW0gY29sb3IpLiBTZW0gaXN0byBvIGNvbnRlw7pkbyBoZXJkYSB1bSBjaW56YSBmaXhvIHF1ZSBubyBkYXJrIGZpY2Fcbi8vIGVzY3VybyBkZW1haXMgKHF1YXNlIGludmlzw612ZWwpLiBDYXNjYXRlaWEgcC8gbyBgLm1hdC1pY29uYCwgbyBpbnB1dCBlIG9cbi8vIGAuc2hvcnRjdXQtaGludGAgKHRvZG9zIGhlcmRhbSBgY29sb3JgKTsgYXMgb3BhY2l0aWVzIGxvY2FpcyBzZWd1ZW0gdmFsZW5kby5cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC10cmlnZ2VyLFxuLmxpZ2h0LXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkIHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xufVxuLmRhcmstdGhlbWUgYXBwLWN1c3RvbS1zZWFyY2ggLmNoaXAtdHJpZ2dlcixcbi5kYXJrLXRoZW1lIGFwcC1jdXN0b20tc2VhcmNoIC5jaGlwLWV4cGFuZGVkIHtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG59XG5cbi5saWdodC10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1jbGVhcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wNik7XG59XG4uZGFyay10aGVtZSBhcHAtY3VzdG9tLXNlYXJjaCAuY2hpcC1jbGVhcjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLy8gUGFpbmVsIFwiRmlsdHJvc1wiIGRhIHDDoWdpbmEgZGUgcmV2aWV3cyDigJQgc2VndWUgZXhhdGFtZW50ZSBhcyBkZWZzIGRvXG4vLyBgdHBjLXVzZXItbWVudWAgKGF2YXRhci1wcm9maWxlIG1lbnUpOiBzdXJmYWNlIGNoYWlyIHdhcm0sIGRyb3Atc2hhZG93XG4vLyBgJHNoYWRvdy1wYW5lbC1saWdodC8tZGFya2AsIGhvdmVyIGJnIG1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQuXG4vLyBBcGxpY2FkbyBhbyBgLnNlcGFyYXRvcmAgcXVlIMOpIG8gXCJjYXJkIHBhaVwiIChjb250w6ltIHN1Ym1pc3Npb25zLWxpc3QtXG4vLyBmaWx0ZXIgKyBib3TDo28gTGltcGFyIGZpbHRyb3MpLlxuLy8gYC5zdWJtaXNzaW9uLXJhbmtpbmctZmlsdGVyLW92ZXJsYXlgIMOpIGEgcGFuZWxDbGFzcyBkbyBDREsgb3ZlcmxheSBkbyBtZW51IGRlXG4vLyBmaWx0cm9zIGRhIExpc3RhIGRlIHN1Ym1pc3PDtWVzIOKAlCByZW5kZXJpemFkbyBuYSByYWl6IGRvIGRvY3VtZW50byAoZm9yYSBkZVxuLy8gYC5tYWluLnN1Ym1pc3Npb24tcmFua2luZ2ApLCBwb3IgaXNzbyDDqSBhbHZlamFkbyBwZWxhIHBhbmVsQ2xhc3MuXG4ubGlnaHQtdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yLFxuLmxpZ2h0LXRoZW1lIC5tYWluLnN1Ym1pc3Npb25zIC5zZXBhcmF0b3IsXG4ubGlnaHQtdGhlbWUgLnN1Ym1pc3Npb24tcmFua2luZy1maWx0ZXItb3ZlcmxheSAuc2VwYXJhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvcixcbi5kYXJrLXRoZW1lIC5tYWluLnN1Ym1pc3Npb25zIC5zZXBhcmF0b3IsXG4uZGFyay10aGVtZSAuc3VibWlzc2lvbi1yYW5raW5nLWZpbHRlci1vdmVybGF5IC5zZXBhcmF0b3Ige1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG59XG5cbi8vIFBhaW5lbCBkZSBTRUxFw4fDg08gREUgVMOTUElDT1MgKG1vZG8gZWRpw6fDo28gZGEgc3VibWlzc2lvbiBwYWdlKS4gw4kgdW0gYGFwcC1wb3BvdmVyYFxuLy8gKGJhY2tkcm9wIHRyYW5zcGFyZW50ZSwgYW5jb3JhZG8gYW8gY2FtcG8pIGNvbSBgcGFuZWxDbGFzczogJ3RvcGljcy1zZWxlY3Rpb24tcGFuZWwnYC5cbi8vIE8gcGFpbmVsIGRvIHBvcG92ZXIgw6kgc8OzIHBvc2ljaW9uYW1lbnRvIOKAlCB0b2RvIG8gVklTVUFMIHZlbSBkbyBjb250ZcO6ZG8gcHJvamV0YWRvXG4vLyAoYC50b3BpY3MtcGFuZWxgKSwgZSBjb21vIG8gcG9wb3ZlciDDqSBwb3J0YWRvIHBybyA8Ym9keT4sIGFzIHJlZ3JhcyB0w6ptIGRlIHNlclxuLy8gR0xPQkFJUyAobWVzbWEgc3VwZXJmw61jaWUgY2hhaXIgKyBzb21icmEgc3VhdmUgZG8gbWVudSBkZSBjb2x1bmFzIGRhIExpc3RhKS5cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC50b3BpY3MtcGFuZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogNDQwcHg7XG4gIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDI0cHgpO1xuICBtYXgtaGVpZ2h0OiBtaW4oNzB2aCwgNDYwcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuOyAgICAgICAgICAgICAvLyBxdWVtIHJvbGEgw6kgYSDDoXJ2b3JlICgudG9waWNzLXRyZWUpXG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIHBhZGRpbmc6IDE0cHggMTZweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5saWdodC10aGVtZSAudG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWNzLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xufVxuLmRhcmstdGhlbWUgLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljcy1wYW5lbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xufVxuXG4vLyBDYWJlw6dhbGhvOiBzw7MgbyB0w610dWxvIChmZWNoYXIgw6kgcG9yIGNsaXF1ZS1mb3JhL0VTQywgcXVlIGrDoSBjb21pdGFtKS5cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC5wYW5lbC1oZWFkZXIge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgbWFyZ2luLWJvdHRvbTogNnB4O1xufVxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnBhbmVsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgICAgICAgICAvLyAxNXB4XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbn1cblxuLy8gQ29udGFkb3IgKG1pbi9tYXggw6kgc8OzIGluZm9ybWF0aXZvIOKAlCBvIGZlY2hhciBzZW1wcmUgY29taXRhKS5cbi50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIC50b3BpY3MtY291bnQge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgZm9udC1zaXplOiAwLjc1cmVtOyAgICAgICAgICAgLy8gMTJweFxuICBjb2xvcjogJGdyYXktNTAwO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICYuaW52YWxpZCB7IGNvbG9yOiAkZXJyb3ItaW52YWxpZC1jb2xvcjsgfVxufVxuXG4vLyDDgXJ2b3JlIHJvbMOhdmVsLlxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljcy10cmVlIHtcbiAgZmxleDogMSAxIGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xufVxuLnRvcGljcy1zZWxlY3Rpb24tcGFuZWwgLnRvcGljLWNhdGVnb3J5IHtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICAuY2F0ZWdvcnktbmFtZSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07ICAgICAgIC8vIDEzcHhcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjtcbiAgICBtYXJnaW46IDZweCAwIDJweDtcbiAgfVxuICAudG9waWMtaXRlbSB7IG1hcmdpbi1sZWZ0OiAxNHB4OyB9XG59XG4udG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWMtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAzcHggNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07ICAgICAgICAgLy8gMTNweFxuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG5cbiAgJjpob3ZlciB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQ7IH1cbiAgaW5wdXQgeyBmbGV4OiAwIDAgYXV0bzsgY3Vyc29yOiBwb2ludGVyOyB9XG4gIHNwYW4geyBsaW5lLWhlaWdodDogMS4zOyB9XG59XG4udG9waWNzLXNlbGVjdGlvbi1wYW5lbCAudG9waWNzLWVtcHR5IHtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAkZ3JheS01MDA7XG59XG5cbi8vIERhcms6IHRleHRvcy9ob3ZlciBkbyBjaGFpci5cbi5kYXJrLXRoZW1lIC50b3BpY3Mtc2VsZWN0aW9uLXBhbmVsIHtcbiAgLnBhbmVsLXRpdGxlLFxuICAudG9waWMtY2F0ZWdvcnkgLmNhdGVnb3J5LW5hbWUsXG4gIC50b3BpYy1pdGVtIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgLnRvcGljcy1jb3VudCB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyB9XG4gIC50b3BpYy1pdGVtOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrOyB9XG59XG5cbi8vIEhvdmVyIGRvIHJvdyAobGFiZWwpIOKAlCBiZyBtZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kIGRvIGNoYWlyLiBDb3IgZG9cbi8vIHRleHRvL8OtY29uZSBERU5UUk8gZG8gY2hpcCAoc3Bhbikgw6kgZGVmaW5pZGEgcGVsbyBjb2xvckNsYXNzIHBlci1zdGF0dXNcbi8vIChuw6NvIG11ZGEgbm8gaG92ZXIg4oCUIG8gY2hpcCBtYW50w6ltIHN1YSBpZGVudGlkYWRlIGNyb23DoXRpY2EpLlxuLmxpZ2h0LXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggLmNoaXAtY2hlY2tib3ggbGFiZWw6aG92ZXIsXG4ubGlnaHQtdGhlbWUgLm1haW4uc3VibWlzc2lvbnMgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggLmNoaXAtY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWFpbi5yZXZpZXdzIC5zZXBhcmF0b3IgLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIGFwcC1jaGlwLWNoZWNrYm94IC5jaGlwLWNoZWNrYm94IGxhYmVsOmhvdmVyLFxuLmRhcmstdGhlbWUgLm1haW4uc3VibWlzc2lvbnMgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggLmNoaXAtY2hlY2tib3ggbGFiZWw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbn1cblxuLy8gQ3VzdG9tIGNoZWNrYm94IChpbnB1dCBuYXRpdm8gZXN0aWxpemFkbykg4oCUIGVzcGVsaGEgZGVmcyBkbyBDaGVja2xpc3Rcbi8vIGRvIGNoYWlyOiBib3JkZXIgd2FybSBncmF5IG9mZiwgZmlsbCB3YXJtIGRhcmsgb24gY29tIGNoZWNrIGNsYXJvLlxuLmxpZ2h0LXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00NTAgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYWluLnJldmlld3MgLnNlcGFyYXRvciAuc3VibWlzc2lvbnMtbGlzdC1maWx0ZXIgYXBwLWNoaXAtY2hlY2tib3ggbGFiZWwgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDAgIWltcG9ydGFudDtcbn1cbi8vIENoZWNrZWQ6IGZpbGwgZGFyayArIGNoZWNrIG9mZi13aGl0ZSAobGlnaHQgdGhlbWUpIC8gZmlsbCBsaWdodCArIGNoZWNrXG4vLyBuZWFyLWJsYWNrIChkYXJrIHRoZW1lKS4gU1ZHIGVtYmVkZGVkIGNvbW8gZGF0YS11cmkuXG4ubGlnaHQtdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yIC5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciBhcHAtY2hpcC1jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTUwMCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRncmF5LTUwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNMyA4IEw3IDEyIEwxMyA0JyBzdHJva2U9JyUyM2Y5ZjhmNycgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKSAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1haW4ucmV2aWV3cyAuc2VwYXJhdG9yIC5zdWJtaXNzaW9ucy1saXN0LWZpbHRlciBhcHAtY2hpcC1jaGVja2JveCBsYWJlbCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICBib3JkZXItY29sb3I6ICRncmF5LTMwMCAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNMyA4IEw3IDEyIEwxMyA0JyBzdHJva2U9JyUyMzIwMjAyMCcgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKSAhaW1wb3J0YW50O1xufVxuXG4vLyBTbGlkZS10b2dnbGUgUEFEUsODTyBETyBTSVNURU1BIChNMykg4oCUIGNvciBkbyBsYWJlbCBzZWd1ZSB0b2tlbnMgZG8gY2hhaXIgbGV2ZWwtMlxuLy8gbWVudWl0ZW0gKCMzNzM3MzQgbGlnaHQsICNjNGMyYmQgZGFyaykuIFRpcG9ncmFmaWEgMTNweC80MzAvMS4zLzAgasOhIGVtIF9oZWFkZXIuc2Nzcy5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtc2xpZGUtdG9nZ2xlLWNvbnRlbnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuXG4vLyBTbGlkZS10b2dnbGUgcGFkcsOjbyAoTTMpOiBPTiBzdGF0ZSB0aW5nZSBuYSBjb3IgZGUgZGVzdGFxdWUgSkVNUzMgZW1cbi8vIGFtYm9zIG9zIHRlbWFzIChzeXN0ZW1CbHVlIOKGkiBgJGFjY2VudC1iYWNrZ3JvdW5kYCAvIGAkYWNjZW50LWJhY2tncm91bmQtZGFya2ApLlxuLy8gTWF0Y2ggdmlzdWFsIGRvIE5TU3dpdGNoL1VJU3dpdGNoIG5vIG1hY09TL2lPUyBxdWFuZG8gYWNjZW50IGVzdMOhIHNldGFkby5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkOmhvdmVyOm5vdCgubWF0LWRpc2FibGVkKSAubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5cbi8vIENoZWNrIGdseXBoICjinJMpIGRlbnRybyBkbyB0aHVtYiBPTiDigJQgY29yIGF6dWwgSkVNUzMgZW0gbGlnaHQgKGNvbnRyYXN0YVxuLy8gY29tIHRodW1iIG9mZi13aGl0ZSkuIEVtIGRhcmssIG8gdGh1bWIgw6kgZXNjdXJvIChzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayksXG4vLyBlbnTDo28gbyBnbHlwaCBwcmVjaXNhIHNlciBDTEFSTyBwcmEgc2VyIHZpc8OtdmVsIOKAlCB1c2EgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZFxuLy8gKG9mZi13aGl0ZSBlc3TDoXRpY28pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1zbGlkZS10b2dnbGUubWF0LWNoZWNrZWQgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWI6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudCk7XG5cbi8vIEhvdmVyIE7Dg08gZGVzdGFjYSBvIHNsaWRlLXRvZ2dsZSBwYWRyw6NvIChNMykg4oCUIHNvYnJlc2NyZXZlIGEgcmVncmEgZG8gY2hhaXJcbi8vIHF1ZSBtdWRhdmEgYSBjb3IgZGEgb3V0bGluZSAoT0ZGKSBlIGRvIGJnIHNhdHVyYWRvIChPTikgb24gaG92ZXIuIE1hbnTDqW0gb1xuLy8gbWVzbW8gdmlzdWFsIGVzdMOhdGljbyBlbSByZXN0IGUgaG92ZXIsIG1haXMgbGltcG8vTTMuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LXNsaWRlLXRvZ2dsZTpob3Zlcjpub3QoLm1hdC1kaXNhYmxlZCkgLm1hdC1zbGlkZS10b2dnbGUtYmFyJywgYm94LXNoYWRvdywgaW5zZXQgMCAwIDAgMS41cHggJGdyYXktNDUwICFpbXBvcnRhbnQsIGluc2V0IDAgMCAwIDEuNXB4ICRncmF5LTQwMCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkOmhvdmVyOm5vdCgubWF0LWRpc2FibGVkKSAubWF0LXNsaWRlLXRvZ2dsZS1iYXInLCBib3gtc2hhZG93LCBub25lICFpbXBvcnRhbnQsIG5vbmUgIWltcG9ydGFudCk7XG5cbi8vIE1lc21hcyByZWdyYXMgcGFyYSBhIHRvb2xiYXIgZG8gc2hlbGwgYXV0b3IvcmV2aXNvciAoYXBwLW5hdmJhcik6IGhvdmVyICtcbi8vIG1lbnUtb3BlbiBkb3MgYm90w7VlcyBkZSBub3RpZmljYcOnw6NvIGUgdXNlci1tZW51IHJlcGxpY2FtIG9zIHRva2VucyBkbyBjaGFpci5cbi5saWdodC10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uOmhvdmVyLFxuLmxpZ2h0LXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLnN1cHBvcnQtaGVscC1idXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMgLnByb2ZpbGUtYnV0dG9uOmhvdmVyLFxuLmRhcmstdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuc3VwcG9ydC1oZWxwLWJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBDb3IgZG8gw61jb25lIGRvIGJvdMOjbyBkZSBoZWxwZGVzayAoaGVhZHNldF9taWMpIG5hIHRvb2xiYXIgYXV0b3IvcmV2aXNvci5cbi8vIFNlbSBlc3NhIHJlZ3JhLCBoZXJkYXZhIGRvIGNhc2NhZGUg4oaSIGZpY2F2YSBtdWl0byBjbGFybyBubyBkYXJrLiBVc2Ftb3Ncbi8vIG9zIG1lc21vcyB0b2tlbnMgZGEgaW50ZXJmYWNlIGRvIFRQQyBjaGFpciAoYCRzaWRlYmFyLWxhYmVsLWNvbG9yYC8tZGFyayA9XG4vLyAjNDM0MzQzIC8gI0Q2RDZENiksIHZpYSBgYXBwLWFkbWluLWV2ZW50LXNpZGViYXIgLm1hdC1pY29uYCAofmxpbmhhIDMyNCkuXG4ubGlnaHQtdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciAuc3VwcG9ydC1oZWxwLWJ1dHRvbiAubWF0LWljb24ge1xuICBjb2xvcjogJHNpZGViYXItbGFiZWwtY29sb3I7XG59XG4uZGFyay10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIC5zdXBwb3J0LWhlbHAtYnV0dG9uIC5tYXQtaWNvbiB7XG4gIGNvbG9yOiAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrO1xufVxuLmxpZ2h0LXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgYXBwLXVzZXItbm90aWZpY2F0aW9ucyAucHJvZmlsZS1idXR0b24ubWVudS1vcGVuLFxuLmxpZ2h0LXRoZW1lIGFwcC1uYXZiYXIgLnJpZ2h0LW5hdmJhci1jb250YWluZXIgLnN1cHBvcnQtaGVscC1idXR0b24ubWVudS1vcGVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgYXBwLW5hdmJhciAucmlnaHQtbmF2YmFyLWNvbnRhaW5lciBhcHAtdXNlci1ub3RpZmljYXRpb25zIC5wcm9maWxlLWJ1dHRvbi5tZW51LW9wZW4sXG4uZGFyay10aGVtZSBhcHAtbmF2YmFyIC5yaWdodC1uYXZiYXItY29udGFpbmVyIC5zdXBwb3J0LWhlbHAtYnV0dG9uLm1lbnUtb3BlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBUUEMgY2hhaXIgdXNlciBtZW51IOKAlCBzYW1lIGNvbG9yICsgaG92ZXIgdG9rZW5zIGFzIHRoZSBzdWJtZW51IGl0ZW1zIHNvXG4vLyB0aGUgdHdvIHN1cmZhY2VzIGZlZWwgbGlrZSBhIHNpbmdsZSB2aXN1YWwgZmFtaWx5LiBUaGUgbWVudSByZW5kZXJzIGluXG4vLyB0aGUgQ0RLIG92ZXJsYXkgKHNpYmxpbmcgb2YgdGhlIGFwcCByb290IHVuZGVyIDxib2R5PiksIHNvIC5saWdodC10aGVtZSAvXG4vLyAuZGFyay10aGVtZSBvbiA8Ym9keT4gc3RpbGwgcmVhY2ggaXQuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIC8vIFNhbWUgZGV0ZXJtaW5pc3RpYyByZWNpcGUgYXMgdGhlIGV4cGVyaW1lbnRhbC1zaWRlYmFyIGZseW91dDogYSBzb2Z0XG4gIC8vIGRyb3Atc2hhZG93IGZvciBlbGV2YXRpb24gaW4gbGlnaHQgbW9kZSwgbm8gcmVjdGFuZ2xlIG91dGxpbmUuXG4gIC8vIGAkc2hhZG93LXBhbmVsLWxpZ2h0YCBpcyB0aGUgY2hhaXIgVUkncyBjYW5vbmljYWwgcGFuZWwtdGllciBlbGV2YXRpb25cbiAgLy8gKHNlZSBgX3ZhcmlhYmxlcy5zY3NzYCkuXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xufVxuLy8gTm90YTogYC5ub3RpZmljYXRpb25zLW1lbnVgIGZvaSBSRU1PVklETyBkZXN0YSBlIGRhcyByZWdyYXMgZ2xvYmFpc1xuLy8gZGVzdGUgYXJxdWl2byDigJQgbyBwYWluZWwgZG8gdXNlci1ub3RpZmljYXRpb25zIHBhc3NvdSBhIHRlciBzZXUgcHLDs3ByaW9cbi8vIHZpc3VhbCBlc2NvcGFkbyAocmVkZXNlbmhvIEpFTVMzLCBjZi4gdXNlci1ub3RpZmljYXRpb25zLmNvbXBvbmVudC5zY3NzKS5cbi8vIE1hbnRlciBhcyByZWdyYXMgZ2xvYmFpcyBmYXppYSBlbGFzIGNvbXBldGlyZW0gY29tIG8gY29tcG9uZW50ZSBlXG4vLyByZW5kZXJpemFyZW0gbyBwYWluZWwgZGlmZXJlbnRlIGVtIGNhZGEgY29uc3VtaWRvciAoYXV0b3IvcmV2aXNvciB2c1xuLy8gVFBDIENoYWlyKSBwb3JxdWUgYSBlc3BlY2lmaWNpZGFkZSBtdWRhdmEgcG9yIGFuY2VzdHJhbC5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBgLnRwYy11c2VyLW1lbnVgIFNUQU5EQUxPTkUg4oCUIHZhcmlhbnRlIHVzYWRhIHBlbG8gYGFwcC1wb3BvdmVyYFxuLy8gKHNlbSBvIHdyYXBwZXIgYC5tYXQtbWVudS1wYW5lbGAgcXVlIG8gTWF0ZXJpYWwgY3JpYXZhKS4gQXBsaWNhZG9cbi8vIG5vIGA8ZGl2IGNsYXNzPVwidHBjLXVzZXItbWVudVwiPmAgcXVlIHZpdmUgY29tbyBmaWxobyBkb1xuLy8gYC5qZW1zLXBvcG92ZXItcGFuZWxgIChlc3RlIHPDsyBwb3NpY2lvbmEsIHNlbSB2aXN1YWwpLiBHZW9tZXRyaWEgK1xuLy8gdGVtYSByZXBsaWNhZG9zIGRhcyByZWdyYXMgZG8gYC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51YCBwcmFcbi8vIHByZXNlcnZhciBpZMOqbnRpY2EgYXBhcsOqbmNpYSBkdXJhbnRlIGEgbWlncmHDp8OjbyBtYXQtbWVudSDihpIgcG9wb3Zlci5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLnRwYy11c2VyLW1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xufVxuLmxpZ2h0LXRoZW1lIC50cGMtdXNlci1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xufVxuXG5cbi8vIFBhaW5lbCBkZSBkYXRhcyBkbyBwb3BvdmVyIGRlIElORk8gZGEgcmV2aXPDo28gKHBhcGVyLXJldmlldy1saXN0KS4gVml2ZSBjb21vXG4vLyBmaWxobyBkbyBgLmplbXMtcG9wb3Zlci1wYW5lbGAgKGFwcC1wb3BvdmVyLCBwb3J0YWRvIGFvIDxib2R5Pikg4oCUIHBvciBpc3NvXG4vLyBlc3RpbG8gR0xPQkFMIGNvbSAubGlnaHQtdGhlbWUvLmRhcmstdGhlbWUgKGA6aG9zdC1jb250ZXh0YCBuw6NvIGFsY2Fuw6dhIG7Ds3Ncbi8vIHBvcnRhZG9zKS4gTWVzbWEgZmFtw61saWEgZGUgc3VwZXJmw61jaWUgZG8gYC50cGMtdXNlci1tZW51YC5cbi5yZXZpZXctaW5mby1wYW5lbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07ICAgLy8gMTNweFxuXG4gIC5yZXZpZXctaW5mby1yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDI0cHg7XG4gICAgcGFkZGluZzogM3B4IDA7XG4gIH1cbiAgLnJldmlldy1pbmZvLWxhYmVsIHsgZm9udC13ZWlnaHQ6IDQwMDsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAucmV2aWV3LWluZm8tdmFsdWUgeyBmb250LXdlaWdodDogNTAwOyB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAucmV2aWV3LWluZm8tdmFsdWUgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfSAgIC8vIHNlbSBzdWJsaW5oYWRvIChsaW5rIGRvIG5vbWUpXG59XG4ubGlnaHQtdGhlbWUgLnJldmlldy1pbmZvLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3I7XG4gIC5yZXZpZXctaW5mby1sYWJlbCB7IGNvbG9yOiAkZ3JheS01MDA7IH1cbiAgLnJldmlldy1pbmZvLXZhbHVlIGEgeyBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kOyB9XG59XG4uZGFyay10aGVtZSAucmV2aWV3LWluZm8tcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrO1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyaztcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gIC5yZXZpZXctaW5mby1sYWJlbCB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrOyBvcGFjaXR5OiAwLjY7IH1cbiAgLnJldmlldy1pbmZvLXZhbHVlIGEgeyBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kLWRhcms7IH1cbn1cblxuLy8gRGnDoWxvZ28gXCJQZXNxdWlzYXIgcmV2aXNvcmVzIHBvciBpbnRlcmVzc2VcIiAoZmluZC1yZXZpZXdlcnMtYnktaW50ZXJlc3QpOiBvXG4vLyBjb21wb25lbnRlIGNvbnRyb2xhIG8gbGF5b3V0IChjYWJlw6dhbGhvL3JvZGFww6kgZml4b3MgKyBjb3JwbyByb2zDoXZlbCkuIEFcbi8vIFwiY2FkZWlhIGZsZXhcIiBwcmVjaXNhIGF0cmF2ZXNzYXIgY29udGFpbmVyIOKGkiBIT1NUIOKGkiBgLmZpbmQtcmV2aWV3ZXJzYCDihpIgY29ycG8sXG4vLyBzZW7Do28gbyBjb3JwbyBuw6NvIHJvbGEgZSBvIHJvZGFww6kgdHJhbnNib3JkYSBwcmEgZm9yYSAoZmljYSBjb3J0YWRvKS4gT1xuLy8gYG1heC1oZWlnaHQ6IDkwdmhgIHZlbSBkbyBjb25maWcgZG8gZGlhbG9nIChtYXQtZGlhbG9nLWNvbnRhaW5lciBvIGhlcmRhKS5cbi5maW5kLXJldmlld2Vycy1kaWFsb2cgLm1hdC1kaWFsb2ctY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5maW5kLXJldmlld2Vycy1kaWFsb2cgYXBwLWZpbmQtcmV2aWV3ZXJzLWJ5LWludGVyZXN0LFxuLmZpbmQtcmV2aWV3ZXJzLWRpYWxvZyBhcHAtcmV2aWV3ZXItZmluZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi8vIGAubm90aWZpY2F0aW9ucy1tZW51YCBTVEFOREFMT05FICh2YXJpYW50ZSBhcHAtcG9wb3ZlciBkbyB1c2VyLW5vdGlmaWNhdGlvbnMpLlxuLy8gTWVzbWEgZmFtw61saWEgdmlzdWFsIGRvIGAudHBjLXVzZXItbWVudWAgKGNvbXBhcnRpbGhhIG8gYC5tYXQtbWVudS1wYW5lbC4qYFxuLy8gbGVnYWN5IGJsb2NrIGFjaW1hKTsgcmVwbGljYWRvIGFxdWkgcHJhIGFwcC1wb3BvdmVyLlxuLy9cbi8vIFJFU0VUIHRpcG9ncsOhZmljbyBpbnRlcm5vOiBhIHZlcnPDo28gbWF0LW1lbnUgaGVyZGF2YSBvIGBmb250OiAxNHB4IFJvYm90b2Bcbi8vIHF1ZSBNYXRlcmlhbCBhcGxpY2EgYSBgLm1hdC1tZW51LWNvbnRlbnRgLiBTdGFuZGFsb25lIHBlcmRlIGlzc28g4oaSIGgxXG4vLyBlIHRleHRvcyB2b2x0YW0gYW9zIGRlZmF1bHRzIGRvIGJyb3dzZXIvQnVsbWEgKGgxIH4zMnB4KS4gRm9yw6dhbW9zIGFxdWlcbi8vIHByYSBjYWJlw6dhbGhvIGRlIG1lbnUgKH4xNC81MDApLCBwYXLDoWdyYWZvcyBub3JtYWlzICgxMy80MDApLlxuLy8gRHJvcGRvd24gQ1NTLXB1cm8gZG8gdXNlci1ub3RpZmljYXRpb25zOiBwb3NpdGlvbjogYWJzb2x1dGUgcmVsYXRpdm8gYW9cbi8vIGhvc3QgYC51c2VyLW5vdGlmaWNhdGlvbnNgIChxdWUgw6kgcG9zaXRpb246IHJlbGF0aXZlKS4gU2VtIGPDoWxjdWxvIEpTLFxuLy8gc2VtIHBvcG92ZXIuIFRvcDoxMDAlIHJpZ2h0OjAgPSBhYnJlIGxvZ28gYWJhaXhvIGRvIGJlbGwsIGFsaW5oYWRvIMOgXG4vLyBkaXJlaXRhLiBGdW5jaW9uYSBpZMOqbnRpY28gZW0gcXVhbHF1ZXIgbGF5b3V0IChjbMOhc3NpY28vbW9kZXJuby93aWRlKS5cbi8vIFRvb2x0aXBzIGRvIENESyBvdmVybGF5IChgbWF0LXRvb2x0aXBgKSBwcmVjaXNhbSBhcGFyZWNlciBBQ0lNQSBkb3Ncbi8vIGFwcC1wb3BvdmVycyAocXVlIGZpY2FtIG5vIDxib2R5PiBjb20gei1pbmRleCAxMTAwKS4gQnVtcCBnbG9iYWwgZG9cbi8vIGNvbnRhaW5lciBkbyBDREsg4oCUIHZhbGUgcHJhIHRvb2x0aXBzLCBkaWFsb2dzLCBzaGVldHMsIGV0Yy5cbi5jZGstb3ZlcmxheS1jb250YWluZXIgeyB6LWluZGV4OiAkei1jZGstb3ZlcmxheSAhaW1wb3J0YW50OyB9XG5cbi8vIFBhaW5lbCBkZSBub3RpZmljYcOnw7VlczogcG9zaXRpb246IGZpeGVkIGNvbSBjb29yZHMgY2FsY3VsYWRhcyBpbmxpbmVcbi8vIG5vIHRvZ2dsZU1lbnUgKHRzKSBhIHBhcnRpciBkbyByZWN0IGRvIGJlbGwuIFPDsyBhIGFuaW1hw6fDo28gZGUgZW50cmFkYVxuLy8gZSBvIHotaW5kZXggcGVybWFuZWNlbSBnbG9iYWlzIChvIHJlc3RvIMOpIGRvIGNvbXBvbmVudGUgZXNjb3BhZG8g4oCUXG4vLyB1c2VyLW5vdGlmaWNhdGlvbnMuY29tcG9uZW50LnNjc3MpLlxuLm5vdGlmaWNhdGlvbnMtbWVudSB7XG4gIHotaW5kZXg6IDExMDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gICYuYWJvdmUgeyB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gY2VudGVyOyB9XG4gIGFuaW1hdGlvbjogamVtcy1wb3BvdmVyLWluIDEyMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpO1xufVxuXG4vLyBgLm1lbnUtY2hhcnQtdjJgIFNUQU5EQUxPTkUgKHZhcmlhbnRlIGFwcC1wb3BvdmVyIGRvIGNoYXJ0LWNvbXBvbmVudC12Milcbi8vIGUgYC5tZW51LWNvbnRhaW5lcmAgKHZhcmlhbnRlIGRlIHRpbWV6b25lKS4gRXN0YXMgY2xhc3NlcyBBTlRFUyBuw6NvXG4vLyB0aW5oYW0gcmVncmEgcHLDs3ByaWEgZGUgcGFuZWwg4oCUIGhlcmRhdmFtIG8gY2hyb21lIGRlZmF1bHQgZG9cbi8vIGAubWF0LW1lbnUtcGFuZWxgIGRvIE1hdGVyaWFsICh3aGl0ZSBiZyArIGJveC1zaGFkb3cgKyByYWRpdXMpLiBBZ29yYSxcbi8vIGNvbW8gbyBgPGRpdiBjbGFzcz1cIi4uLlwiPmAgdml2ZSBkZW50cm8gZG8gYC5qZW1zLXBvcG92ZXItcGFuZWxgIChxdWVcbi8vIHPDsyBwb3NpY2lvbmEpLCBwcmVjaXNhbSBkbyBjaHJvbWUgcHLDs3ByaW8uIFZpc3VhbCBuZXV0cm8gdGllci1wYWluZWw6XG4vLyBmdW5kbyBkYSBzdXBlcmbDrWNpZSBjYXJkICsgcmFkaXVzICsgZHJvcC1zaGFkb3cgKG1lc21hIGZhbcOtbGlhIGRvc1xuLy8gb3V0cm9zIHBvcG92ZXJzIGNoYWlyLXN0eWxlKS5cbi5tZW51LWNoYXJ0LXYyLFxuLm1lbnUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICBwYWRkaW5nOiA1cHggMDtcbn1cblxuLy8gSXRlbXMgZG8gbWVudS1jaGFydC12MiAoYm90w7VlcyArIHRvZ2dsZSk6IGdlb21ldHJpYSArIHRpcG9ncmFmaWEgY2hhaXJcbi8vIGVxdWl2YWxlbnRlIGFvIGAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbWAgbWFzIGVzY29wYWRhIGxvY2FsbWVudGVcbi8vIHByYSBuw6NvIGJyaWdhciBjb20gbyBgLm1lbnUtY2hhcnQtdjIgLm1hdC1tZW51LWl0ZW0geyBtYXJnaW46IDJweCA1cHggfWBcbi8vIGRvIGNvbXBvbmVudCBzY3NzLlxuLm1lbnUtY2hhcnQtdjIgLmNvbnRhaW5lci1vcHRpb24ge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAubWF0LW1lbnUtaXRlbSB7XG4gICAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDMycHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQzMDtcbiAgICBwYWRkaW5nOiAwIDEycHggIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDhweCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgNHB4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIC5tYXQtaWNvbiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB3aWR0aDogMTZweDsgaGVpZ2h0OiAxNnB4OyBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIGNvbG9yOiByZ2JhKDAsMCwwLC41NSk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuMDUpO1xuICAgICAgLm1hdC1pY29uIHsgY29sb3I6IHJnYmEoMCwwLDAsLjg1KTsgfVxuICAgIH1cbiAgfVxufVxuLy8gLnRvZ2dsZS1yb3cgZG8gbWVudS1jaGFydC12MjogbGluaGEgZG8gXCJNb3N0cmFyIHZhbG9yZXNcIiDigJQgY2VudHJhbGl6YWRhXG4vLyBob3Jpem9udGFsbWVudGUsIFNFTSBiZy9ob3ZlciBiZyAobyBwcsOzcHJpbyB0b2dnbGUgc2luYWxpemEgbyBlc3RhZG8pLlxuLy8gRGVmaW5pZGEgRk9SQSBkbyBgLmNvbnRhaW5lci1vcHRpb25gIGp1c3RhbWVudGUgcHJhIGVzY2FwYXIgZGFzIHJlZ3Jhc1xuLy8gaGVyZGFkYXMgZGUgYC5tYXQtbWVudS1pdGVtYCBxdWUgcGludGF2YW0gbyBmdW5kby5cbi5tZW51LWNoYXJ0LXYyID4gLnRvZ2dsZS1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAzMnB4ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDMycHg7XG4gIG1heC1oZWlnaHQ6IDMycHg7XG4gIG1hcmdpbjogMCA0cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hdC1zbGlkZS10b2dnbGUge1xuICAgIGhlaWdodDogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAubWF0LXNsaWRlLXRvZ2dsZS1iYXIgeyBtYXJnaW4tbGVmdDogOHB4OyB9XG4gIH1cbiAgbWF0LXNsaWRlLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAubWF0LXNsaWRlLXRvZ2dsZS1jb250ZW50LFxuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLWxhYmVsIHsgZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNDMwOyB9XG4gICAgJjpob3ZlciB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuLy8gRGl2aXNvciBwYWRyw6NvIHBhcmEgY29udGXDumRvcyBjaGFpci1zdHlsZSBzdGFuZGFsb25lIChzZW0gcGFkZGluZ1xuLy8gbGF0ZXJhbCBubyB3cmFwcGVyKS4gRW5jb3N0YSBuYXMgbGF0ZXJhaXMgdmlhIHdpZHRoIDEwMCUgKyBtYXJnaW5cbi8vIGhvcml6b250YWwgMC4gQ29yIHN1dGlsLiBBZGljaW9uZSBhIGNsYXNzZSBkbyBtZW51IG5vdm8gYXF1aS5cbi8vIGAudHBjLXVzZXItbWVudWAgTsODTyBlbnRyYSAodGVtIHBhZGRpbmcgbGF0ZXJhbCA0cHgpOiBjZi4gYF9tZW51LnNjc3NgXG4vLyBxdWUgYXBsaWNhIGBtYXJnaW46IDZweCAtNHB4YCBlc3BlY8OtZmljbyBwcmEgY29tcGVuc2FyLlxuLm1lbnUtY2hhcnQtdjIgbWF0LWRpdmlkZXIsXG4ubWVudS1jb250YWluZXIgbWF0LWRpdmlkZXIge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgbWFyZ2luOiA0cHggMCAhaW1wb3J0YW50O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cbi5kYXJrLXRoZW1lIC5qZW1zLXBvcG92ZXItcGFuZWwgbWF0LWRpdmlkZXIsXG4uZGFyay10aGVtZSAudHBjLXVzZXItbWVudSBtYXQtZGl2aWRlcixcbi5kYXJrLXRoZW1lIC5tZW51LWNoYXJ0LXYyIG1hdC1kaXZpZGVyLFxuLmRhcmstdGhlbWUgLm1lbnUtY29udGFpbmVyIG1hdC1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDtcbn1cbi5saWdodC10aGVtZSAubWVudS1jaGFydC12Mixcbi5saWdodC10aGVtZSAubWVudS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kO1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQ7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSXRlbXMgZG9zIG1lbnVzIGNoYWlyLXN0eWxlIOKAlCBnZW9tZXRyaWEgKyBlc3RhZG9zLlxuLy8gRXNjcml0byBTRU0gYDo6bmctZGVlcGAgKHF1ZSBmaWNhdmEgZW0gYF9tZW51LnNjc3NgIGUgcG9kZSBzZXJcbi8vIGludsOhbGlkbyBlbSBDU1MgZ2xvYmFsKS4gQXF1aSBhcyByZWdyYXMgc8OjbyBwbGFuYXMgZ2xvYmFpcy5cbi8vXG4vLyBBcGxpY2FtLXNlIGEgRFVBUyBmb3JtYXMsIHByYSBtZW51cyBub3ZvcyBOw4NPIHByZWNpc2FyZW0gZG8gd3JhcHBlciBtYW51YWw6XG4vLyAgIOKAoiBgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW1gICAgICAgICDigJQgd3JhcHBlciBleHBsw61jaXRvIChsZWdhZG8pO1xuLy8gICDigKIgYC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtYCDigJQgYmFzdGEgYSBjbGFzc2Vcbi8vICAgICBgdHBjLXVzZXItbWVudWAgbm8gPG1hdC1tZW51PjsgbyBpdGVtIGNydSAoYDxidXR0b24gbWF0LW1lbnUtaXRlbT5gKSBqw6Fcbi8vICAgICBoZXJkYSBvIGVzdGlsby4gRVNURSDDqSBvIGNhbWluaG8gcmVjb21lbmRhZG8gcHJhIG1lbnVzIG5vdm9zLlxuLy8gYC5jb250YWluZXItb3B0aW9uYC9gdHBjLXVzZXItbWVudWAgc8OzIGFwYXJlY2VtIGVtIG1lbnVzIGNoYWlyLXN0eWxlLCBzZW0gY29sYXRlcmFsLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4uY29udGFpbmVyLW9wdGlvbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuLy8gR2VvbWV0cmlhIGRvcyBpdGVucyAoYC50cGMtdXNlci1tZW51YC9gLmNvbnRhaW5lci1vcHRpb25gIC5tYXQtbWVudS1pdGVtKVxuLy8gdml2ZSBlbSBgX21lbnUuc2Nzc2Ag4oCUIGZvbnRlIMO6bmljYS4gQXMgcmVncmFzIGRlIEhPVkVSL0ZPQ1VTL0hJR0hMSUdIVFxuLy8gKGNvcmVzKSBwZXJtYW5lY2VtIGFiYWl4byBuZXN0ZSBhcnF1aXZvLCBkZW50cm8gZG8gYmxvY28gYC5saWdodC10aGVtZWAgL1xuLy8gYC5kYXJrLXRoZW1lYCwgb25kZSDDqSBvIGx1Z2FyIGRlbGFzLlxuXG4vLyBFc3RhZG9zIGRlIGhvdmVyL2ZvY3VzL2hpZ2hsaWdodCBkbyBgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW1gIOKAlFxuLy8gcHJvbW92aWRvcyBwYXJhIGVzY29wbyBHTE9CQUwgKG7Do28gZXNjb25kaWRvcyBhdHLDoXMgZGUgYC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51YFxuLy8gcXVlIG7Do28gcHJvcGFnYSBlbSB0b2RvcyBvcyBjYXNvcykuIEVzcGVjaWZpY2lkYWRlIGAoMCw1LDApYCB2ZW5jZSBhIHJlZ3JhXG4vLyBnbG9iYWwgYGJ1dHRvbi5tYXQtbWVudS1pdGVtOmhvdmVyYCBgKDAsNCwxKWAgcXVlIHBpbnRhIGFjY2VudC5cbi5saWdodC10aGVtZSB7XG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSxcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uLFxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSAubWF0LWljb24ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUgIWltcG9ydGFudDtcbiAgfVxuICAvLyBgY2RrLXByb2dyYW0tZm9jdXNlZGAgTsODTyBlbnRyYTogw6kgc2V0YWRhIHF1YW5kbyBhbGdvIGNoYW1hIC5mb2N1cygpXG4gIC8vIHByb2dyYW1hdGljYW1lbnRlIChleC46IGFwcC1wb3BvdmVyIGF1dG8tZm9jdXNhIG8gMcK6IGl0ZW0gYW8gYWJyaXIpLlxuICAvLyBQaW50YXIgaXNzbyBmYXJpYSBvIDHCuiBpdGVtIHBhcmVjZXIgXCJzZWxlY2lvbmFkb1wiIHNlbSBvIHVzdcOhcmlvIHRlclxuICAvLyBpbnRlcmFnaWRvLiBNYW50ZW1vcyBzw7MgYDpob3ZlcmAsIGBjZGsta2V5Ym9hcmQtZm9jdXNlZGAgKGZvY28gcG9yXG4gIC8vIHRhYi9hcnJvdykgZSBgLmhpZ2hsaWdodC1idXR0b25gIChlc3RhZG8gbMOzZ2ljbyBkZSBhdGl2bykuXG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLFxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246bm90KFtkaXNhYmxlZF0pLFxuICAvLyBWYXJpYW50ZSBhcHAtcG9wb3ZlciBzdGFuZGFsb25lOiBjb2JyZSBjb25zdW1lcnMgcXVlIHByb2pldGFtIGl0ZW5zXG4gIC8vIFNFTSBvIHdyYXBwZXIgYDxhIGNsYXNzPVwiY29udGFpbmVyLW9wdGlvblwiPmAgKGV4Ljogc3VibWlzc2lvbi1yYW5raW5nKSxcbiAgLy8gZGlyZXRvIGNvbW8gYDxidXR0b24gbWF0LW1lbnUtaXRlbT5gIGRlbnRybyBkbyBgLnRwYy11c2VyLW1lbnVgLlxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpub3QoW2Rpc2FibGVkXSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi5kYXJrLXRoZW1lIHtcbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0sXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLFxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbSAubWF0LWljb24sXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtIC5tYXQtaWNvbixcbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0gLm1hdC1pY29uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuICAvLyBgY2RrLXByb2dyYW0tZm9jdXNlZGAgcmVtb3ZpZG8g4oCUIHZlciBjb250cmFwYXJ0ZSBsaWdodCBwcmEgcmF0aW9uYWxlLlxuICAuY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSksXG4gIC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLmNkay1rZXlib2FyZC1mb2N1c2VkOm5vdChbZGlzYWJsZWRdKSxcbiAgLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpub3QoW2Rpc2FibGVkXSksXG4gIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uY2RrLWtleWJvYXJkLWZvY3VzZWQ6bm90KFtkaXNhYmxlZF0pLFxuICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOm5vdChbZGlzYWJsZWRdKSxcbiAgLy8gVmFyaWFudGUgYXBwLXBvcG92ZXIgc3RhbmRhbG9uZSAodmVyIGNvbnRyYXBhcnRlIGxpZ2h0IGFjaW1hKS5cbiAgLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pLFxuICAudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5jZGsta2V5Ym9hcmQtZm9jdXNlZDpub3QoW2Rpc2FibGVkXSksXG4gIC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246bm90KFtkaXNhYmxlZF0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmsgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBJdGVtIGRlIG1lbnUgREVTQUJJTElUQURPIChjb252ZW7Dp8OjbyBKRU1TMyk6IG7Do28tY2xpY8OhdmVsICsgZXNtYWVjaWRvLlxuLy8gRXNtYWVjZW1vcyB2aWEgYG9wYWNpdHlgIHBvcnF1ZSBvIHRva2VuaXplciBwaW50YSBjb3IgZG8gdGV4dG8gRSBkbyDDrWNvbmUgY29tXG4vLyBgIWltcG9ydGFudGAsIGFudWxhbmRvIG8gZGltIHBhZHLDo28gZG8gTWF0ZXJpYWw7IG9wYWNpdHkgY29icmUgYW1ib3MgZGUgdW1hIHZleixcbi8vIGxpZ2h0IGUgZGFyay4gQXMgcmVncmFzIGRlIGhvdmVyIGFjaW1hIGrDoSBleGNsdWVtIGBbZGlzYWJsZWRdYCAoc2VtIGZ1bmRvL2NvcikuXG4uY29udGFpbmVyLW9wdGlvbiAubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0sXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0sXG4udHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbVtkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjQ1ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBWYXJpYW50ZSBERVNBQklMSVRBREEgQ09NIFRPT0xUSVAgKGNvbnZlbsOnw6NvIEpFTVMzKS4gTyBgbWF0VG9vbHRpcGAgc8OzIGRpc3BhcmFcbi8vIG5vIGVsZW1lbnRvIHF1ZSBSRUNFQkUgbyBob3ZlcjsgbnVtIGBbZGlzYWJsZWRdYCBuYXRpdm8gKG91IGBwb2ludGVyLWV2ZW50czpcbi8vIG5vbmVgKSBvIGJvdMOjbyBmaWNhIGluZXJ0ZSBlIG8gaG92ZXIgbsOjbyBjaGVnYSBhIGVsZSBuZW0gYW8gd3JhcHBlciDigJQgbyB0b29sdGlwXG4vLyBudW5jYSBhcGFyZWNlLiBFbnTDo28gYXF1aSBvIGJvdMOjbyBjb250aW51YSBIT1ZFUsOBVkVMICh0b29sdGlwIHZpdmUgTkVMRSkgZSBhXG4vLyBuw6NvLWNsaWNhYmlsaWRhZGUgdmVtIGRvIHRlbXBsYXRlIChjbGlxdWUgbmV1dHJhbGl6YWRvICsgcm90YSBudWxhKS4gU8OzIG8gdmlzdWFsXG4vLyDDqSBlc21hZWNpZG87IG8gaG92ZXIgbsOjbyBwaW50YSBmdW5kbyAobyBkaW0gw6kgbyDDum5pY28gZmVlZGJhY2spLlxuLmNvbnRhaW5lci1vcHRpb24gLm1hdC1tZW51LWl0ZW0uZGlzYWJsZWQtaG92ZXJhYmxlLFxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uZGlzYWJsZWQtaG92ZXJhYmxlLFxuLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0uZGlzYWJsZWQtaG92ZXJhYmxlIHtcbiAgb3BhY2l0eTogMC40NSAhaW1wb3J0YW50O1xuICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcbn1cbi5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLmRpc2FibGVkLWhvdmVyYWJsZTpob3Zlcixcbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmRpc2FibGVkLWhvdmVyYWJsZTpob3Zlcixcbi50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLmRpc2FibGVkLWhvdmVyYWJsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG59XG5cbi8vIEJhbMOjbyBkbyB0b29sdGlwIEpFTVMzIChDU1MgcHVybykgZG8gaXRlbSBkZXNhYmlsaXRhZG8uIEFuY29yYWRvIG5vIHdyYXBwZXJcbi8vIGAuY29udGFpbmVyLW9wdGlvbi5oYXMtdGlwYCAoYmxvY2sgcC8gY29udGVyIGxpbXBvIG8gYm90w6NvICsgc2VydmlyIGRlIGNvbnRhaW5pbmdcbi8vIGJsb2NrIGRvIGJhbMOjbyBhYnNvbHV0bykuIE8gYmFsw6NvIGZpY2EgRk9SQSBkbyBib3TDo28gZGUgcHJvcMOzc2l0bzogbyBib3TDo28gdGVtXG4vLyBvcGFjaXR5IDAuNDUgZSBvcGFjaXR5IGNyaWEgZ3J1cG8g4oCUIHNlIG8gYmFsw6NvIGZvc3NlIGZpbGhvIGZpY2FyaWEgdHJhbnNsw7pjaWRvLlxuLy8gTWVzbW8gdmlzdWFsIGRvIGAuc2ctY3JpdC10b29sdGlwYCAoYmFsw6NvIGNpbnphLCB0ZXh0byBicmFuY28pOyBvIGA6aG92ZXJgIGRvIENTU1xuLy8gbm8gd3JhcHBlciAoYXBsaWNhLXNlIGFvIGhvdmVyYXIgbyBib3TDo28gZGVudHJvIGRlbGUpIG8gcmV2ZWxhLlxuLmNvbnRhaW5lci1vcHRpb24uaGFzLXRpcCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4vLyBCYXNlIGRvIGJhbMOjbzogU0VNUFJFIGFic29sdXRvIGUgZXNjb25kaWRvIOKAlCDDoCBwcm92YSBkZSB2YXphciBjb21vIGl0ZW0gZGUgbWVudVxuLy8gdmlzw612ZWwgY2FzbyByZW5kZXJpemUgZm9yYSBkbyBjb250ZXh0byBgLmhhcy10aXBgIChpdGVtIGhhYmlsaXRhZG8pLiBTw7Mgb1xuLy8gYDpob3ZlcmAgZG8gd3JhcHBlciBgLmhhcy10aXBgIG8gcmV2ZWxhLlxuLmplbXMtbWVudS10aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgNHB4KTtcbiAgbGVmdDogOHB4O1xuICB6LWluZGV4OiAxMDtcbiAgbWF4LXdpZHRoOiAyNjBweDtcbiAgcGFkZGluZzogNnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDk3LCA5NywgOTcsIDAuOTYpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi5jb250YWluZXItb3B0aW9uLmhhcy10aXA6aG92ZXIgLmplbXMtbWVudS10aXAge1xuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xufVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUge1xuXG4gIC8vIENvciAvIMOtY29uZSAvIGhvdmVyIGRvcyBpdGVucyBkZSBtZW51IHbDqm0gZG8gYmxvY28gYWRpdGl2byBnbG9iYWwgYWNpbWFcbiAgLy8gKC5saWdodC10aGVtZSB7IC5jb250YWluZXItb3B0aW9uIC5tYXQtbWVudS1pdGVtLCAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudVxuICAvLyAubWF0LW1lbnUtaXRlbSB9KSwgcXVlIGNvYnJlIGl0ZW0gY3J1IEUgd3JhcHBlci4gQXF1aSBmaWNhbSBzw7Mgb3Mgc2VsZXRvcmVzXG4gIC8vIGVzcGVjw61maWNvcyBkbyBhdmF0YXItcHJvZmlsZSAodGhlbWUvbGF5b3V0L2xhbmd1YWdlIHN3aXRjaGVycykuXG5cbiAgLy8gVGhlbWUgc3dpdGNoZXIgKGxpZ2h0L2Rhcmsvc3lzdGVtKSBhbmQgbGF5b3V0IHN3aXRjaGVyIChtb2Rlcm4vY2xhc3NpYylcbiAgLy8g4oCUIGhvdmVyIHVzZXMgdGhlIHNhbWUgdG9rZW5zIGFzIHRoZSBzdWJtZW51IGl0ZW1zIHNvIGFsbCBpbnRlcmFjdGl2ZVxuICAvLyByb3dzIGluIHRoaXMgbWVudSBzaGFyZSBvbmUgaG92ZXIgaWRlbnRpdHkuXG4gIC5jb250YWluZXItdGhlbWUgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguaGlnaGxpZ2h0LWJ1dHRvbiksXG4gIC5jb250YWluZXItbGF5b3V0IC5tYXQtbWVudS1pdGVtOmhvdmVyOm5vdChbZGlzYWJsZWRdKTpub3QoLmhpZ2hsaWdodC1idXR0b24pLFxuICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguaGlnaGxpZ2h0LWJ1dHRvbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG5cbiAgICAubWF0LWljb24sXG4gICAgLmxheW91dC1pY29uIHtcbiAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAuY29udGFpbmVyLWxheW91dCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uLFxuICAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUgIWltcG9ydGFudDtcbiAgfVxuXG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAvLyBTYW1lIGRldGVybWluaXN0aWMgcmVjaXBlIGFzIHRoZSBleHBlcmltZW50YWwtc2lkZWJhciBmbHlvdXQ6IHNvbGlkXG4gIC8vIDFweCBvdXRsaW5lIHZpYSBgYm94LXNoYWRvdyAwIDAgMCAxcHhgIChmb2xsb3dzIGJvcmRlci1yYWRpdXMpLCBwbHVzXG4gIC8vIHRoZSBwYW5lbC10aWVyIGRyb3Atc2hhZG93IGZvciBlbGV2YXRpb24uXG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xufVxuLy8gQ29udHJhcGFydGUgZGFyayBkbyBgLnRwYy11c2VyLW1lbnVgIHN0YW5kYWxvbmUgKHZhcmlhbnRlIGFwcC1wb3BvdmVyKS5cbi8vIFZlciBibG9jbyBsaWdodCBjb3JyZXNwb25kZW50ZSBhY2ltYSDigJQgbWVzbWEgZGVjaXPDo28gYXJxdWl0ZXR1cmFsLlxuLmRhcmstdGhlbWUgLnRwYy11c2VyLW1lbnUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAkY2hyb21lLWJvcmRlci1kYXJrO1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtZGFyaztcbn1cblxuLy8gVHJpZ2dlciAoZ2xvYm8gKyByw7N0dWxvIGRvIGZ1c28pIGRlbnRybyBkbyBwYWluZWwgZG8gZGF0ZXBpY2tlci4gQ29tbyBvXG4vLyBgYXBwLXRpbWUtem9uZS1pbnB1dGAgdml2ZSBwb3J0YWxsYWRvIG5vIG92ZXJsYXkgQ0RLLCBgOmhvc3QtY29udGV4dCguZGFyay10aGVtZSlgXG4vLyBzY29wZWQgZG8gY29tcG9uZW50ZSBwb2RlIG7Do28gYWxjYW7Dp2FyLiBGYWxsYmFjayBnbG9iYWwgY29icmUgbGlnaHQgKyBkYXJrLlxuLmRhcmstdGhlbWUgLmNvbnRhaW5lci1idXR0b24gLnRpbWUtem9uZS1idXR0b24ge1xuICBjb2xvcjogJGljb24tbXV0ZWQtZGFyayAhaW1wb3J0YW50O1xuICAmOmhvdmVyOm5vdChbZGlzYWJsZWRdKSxcbiAgJi5tZW51LW9wZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZy1kYXJrICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRpY29uLW11dGVkLWhvdmVyLWRhcmsgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLyBWaXN1YWxpemFkb3IgZGUgRlVTT1MgKGBhcHAtZGlhbG9nLXRpbWV6b25lYCkg4oCUIHJlYWQtb25seSwgbW9zdHJhIGEgZGF0YS9ob3JhXG4vLyBlbSBjYWRhIGZ1c28gY29uaGVjaWRvIChicm93c2VyLCBldmVudG8sIFVUQywgSURMVykuIFNlbSBob3ZlciBuZW0gc2VsZcOnw6NvLFxuLy8gc8OzIHVtIFwiY2FydMOjb1wiIGxpc3RhbmRvIGFzIGxpbmhhcyBjb20gbm9tZSDDoCBlc3F1ZXJkYSBlIGhvcsOhcmlvIMOgIGRpcmVpdGEuXG4uamVtcy10enZpZXctbWVudSB7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDhweCA0cHggIWltcG9ydGFudDtcblxuICAuamVtcy10enZpZXctcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTJweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgcGFkZGluZzogMCA4cHg7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodDtcbiAgfVxuICAuamVtcy10enZpZXctbmFtZSB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuICAuamVtcy10enZpZXctdGFnIHtcbiAgICBjb2xvcjogJGljb24tbXV0ZWQ7XG4gICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0LW11dGVkO1xuICAgIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIH1cbiAgLmplbXMtdHp2aWV3LXRpbWUge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZDtcbiAgICBmb250LXdlaWdodDogJG1lbnUtaXRlbS13ZWlnaHQtbXV0ZWQ7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbiAgfVxufVxuXG4vLyBEYXJrXG4uZGFyay10aGVtZSAuamVtcy10enZpZXctbWVudSB7XG4gIC5qZW1zLXR6dmlldy1yb3cgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgfVxuICAuamVtcy10enZpZXctdGFnLCAuamVtcy10enZpZXctdGltZSB7IGNvbG9yOiAkaWNvbi1tdXRlZC1kYXJrOyB9XG59XG5cbi8vIE1lbnUgZG8gc2VsZXRvciBkZSBGVVNPIEhPUsOBUklPIChgYXBwLXRpbWUtem9uZS1pbnB1dGApIOKAlCBtZXNtbyBwYWRyw6NvIGRvXG4vLyBtZW51IGRvIGBhcHAtamVtcy1zZWxlY3RgOiBwaWxsIDI2cHggZnVsbC1ibGVlZCwgaG92ZXIgZW0gd2FybS1zdG9uZSxcbi8vIGNoZWNrIFNGLXN0eWxlIMOgIGVzcXVlcmRhIG5vIGZ1c28gc2VsZWNpb25hZG8uIFZpdmUgbm8gYC50cGMtdXNlci1tZW51YFxuLy8gcG9ydGFsbGFkbzsgcmVncmFzIGdsb2JhaXMgKHNlbSB2aWV3IGVuY2Fwc3VsYXRpb24pLlxuLmplbXMtdHotbWVudSB7XG4gIG1pbi13aWR0aDogMjYwcHg7XG4gIHBhZGRpbmc6IDVweCA0cHggIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogMzIwcHg7XG4gIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgLmplbXMtdHotb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwYWRkaW5nOiAwIDhweCAwIDI4cHg7ICAgLy8gMjhweCBlc3F1ZXJkYSByZXNlcnZhZG8gcC8gbyBjaGVjayBTRlxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICB9XG4gICAgLy8gU2VsZWNpb25hZG86IGNoZWNrIFNGLXN0eWxlIMOgIGVzcXVlcmRhIChtZXNtYSByZWNlaXRhIGRvIGAuamVtcy1zZWxlY3Qtb3B0aW9uYCkuXG4gICAgJi5zZWxlY3RlZDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA4cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgICAgLXdlYmtpdC1tYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMi41IDYuNSBMNSA5IEw5LjUgMy41JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMiAxMicgZmlsbD0nbm9uZSc+PHBhdGggZD0nTTIuNSA2LjUgTDUgOSBMOS41IDMuNScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScxLjUnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCcvPjwvc3ZnPlwiKSBuby1yZXBlYXQgY2VudGVyIC8gY29udGFpbjtcbiAgICB9XG4gIH1cblxuICAuamVtcy10ei1uYW1lIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIC5qZW1zLXR6LXRhZyB7XG4gICAgY29sb3I6ICRpY29uLW11dGVkO1xuICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodC1tdXRlZDtcbiAgICBtYXJnaW4tbGVmdDogNHB4O1xuICB9XG4gIC5qZW1zLXR6LW9mZnNldCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgY29sb3I6ICRpY29uLW11dGVkO1xuICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodC1tdXRlZDtcbiAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICB9XG59XG5cbi8vIERhcmsgdGhlbWUgZG8gbWVudSBkZSBmdXNvIOKAlCBjb3JlcyBwYXJlZGFzIGNvbSBvIHJlc3RhbnRlIGRvIHNpc3RlbWEuXG4uZGFyay10aGVtZSAuamVtcy10ei1tZW51IHtcbiAgLmplbXMtdHotb3B0aW9uIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyaztcbiAgICAmOmhvdmVyIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrOyB9XG4gICAgJi5zZWxlY3RlZDo6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgfVxuICB9XG4gIC5qZW1zLXR6LXRhZywgLmplbXMtdHotb2Zmc2V0IHsgY29sb3I6ICRpY29uLW11dGVkLWRhcms7IH1cbn1cblxuLy8gWi1pbmRleCBkbyBwb3BvdmVyIChhcHAtcG9wb3ZlcikuIE8gQ1NTIHNjb3BlZCBkbyBjb21wb25lbnRlIGFwbGljYSAxMDk5LzExMDAsXG4vLyBtYXMgbyBgLm1hdC1kYXRlcGlja2VyLWNvbnRlbnRgIChDREsgb3ZlcmxheSBkbyBkYXRlcGlja2VyKSBmaWNhIGVtIHN0YWNraW5nXG4vLyBjb250ZXh0IHByw7NwcmlvIGUgw6BzIHZlemVzIHZlbmNlIOKAlCBvIHBvcG92ZXIgZG8gZ2xvYm8gYXBhcmVjaWEgQVRSw4FTIGRvIHBhaW5lbC5cbi8vIFJlZ3JhIGdsb2JhbCAoc2VtIGVuY2Fwc3VsYXRpb24pIGdhcmFudGUgcHJpb3JpZGFkZS5cbi5qZW1zLXBvcG92ZXItYmFja2Ryb3AgeyB6LWluZGV4OiAyMDAwICFpbXBvcnRhbnQ7IH1cbi5qZW1zLXBvcG92ZXItcGFuZWwgeyB6LWluZGV4OiAyMDAxICFpbXBvcnRhbnQ7IH1cbi8vIFRvb2x0aXBzIGRvIENESyBwcmVjaXNhbSBmaWNhciBhY2ltYSBkbyBwb3BvdmVyICh6LWluZGV4IDIwMDEpLCBzZW7Do29cbi8vIHNvbWVtIGF0csOhcyBkbyBtZW51IGRvIGF2YXRhci5cbi5jZGstb3ZlcmxheS1jb250YWluZXIgLm1hdC10b29sdGlwLXBhbmVsLFxuLmNkay1vdmVybGF5LWNvbnRhaW5lciAuY2RrLW92ZXJsYXktcGFuZTpoYXMoLm1hdC10b29sdGlwKSxcbi5tYXQtdG9vbHRpcCB7IHotaW5kZXg6IDIwMTAgIWltcG9ydGFudDsgfVxuLy8gTyAuY2RrLW92ZXJsYXktY29udGFpbmVyIGludGVpcm8gKHF1ZSBob3NwZWRhIG9zIHRvb2x0aXBzKSBmaWNhIGFiYWl4b1xuLy8gZG8gcG9wb3ZlciAoei1pbmRleCAyMDAxKSBwb3Igc2VyIGlybcOjbyBhbnRlcmlvciBubyBib2R5LiBTb2JlIGVsZSB0b2RvLlxuLmNkay1vdmVybGF5LWNvbnRhaW5lciB7IHotaW5kZXg6IDIwMTAgIWltcG9ydGFudDsgfVxuXG4vLyBGYWxsYmFjayBnbG9iYWwgcC8gbyBib3TDo28gZGUgY29waWFyIGRvIGBhcHAtdGV4dC1pbnB1dGAgbm8gZGFyayB0aGVtZS5cbi8vIE8gYDxidXR0b24gbWF0U3VmZml4IGNsYXNzPVwidGktY29weS1idG5cIj5gIMOpIHByb2pldGFkbyBwZWxvIE1hdGVyaWFsIGRlbnRyb1xuLy8gZG8gdGVtcGxhdGUgZG8gYG1hdC1mb3JtLWZpZWxkYCDigJQgbyBgOmhvc3QtY29udGV4dCguZGFyay10aGVtZSlgIGRvIFNDU1MgZG9cbi8vIHRleHQtaW5wdXQgbsOjbyBhbGNhbsOnYSBlbGVtZW50b3MgcHJvamV0YWRvcyBkZSBmb3JtYSBjb25macOhdmVsLiBFc3RlIGJsb2NvXG4vLyBnYXJhbnRlIHF1ZSBvIGhvdmVyIGZpcXVlIGNvbSBgJGljb24tY29udGFpbmVyLWJnLWRhcmtgIChpZMOqbnRpY28gYW8gc3ViLWJvdMOjb1xuLy8gZG8gc2VsZWN0KSwgbWFudGVuZG8gYSBsaW5ndWFnZW0gdW5pZmljYWRhLlxuLmRhcmstdGhlbWUgLnRpLWNvcHktYnRuIHtcbiAgY29sb3I6ICRpY29uLW11dGVkLWRhcms7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpY29uLWNvbnRhaW5lci1iZy1kYXJrO1xuICAgIGNvbG9yOiAkaWNvbi1tdXRlZC1ob3Zlci1kYXJrO1xuICB9XG4gICYuaXMtY29waWVkIHsgY29sb3I6ICM2OWYwYWU7IH1cbn1cblxuLy8gRmFsbGJhY2sgZ2xvYmFsIHAvIGFzIG9ww6fDtWVzIGRvIGBhcHAtamVtcy1zZWxlY3RgIG5vIGRhcmsgdGhlbWUuIE8gU0NTUyBkb1xuLy8gY29tcG9uZW50ZSAoRW11bGF0ZWQpIHVzYSBgOmhvc3QtY29udGV4dCguZGFyay10aGVtZSlgLCBtYXMgbyBwYWluZWwgZG9cbi8vIHBvcG92ZXIgw6kgUE9SVEFMTEVEIHByYSBmb3JhIGRvIGhvc3QgKENESyBvdmVybGF5KSDigJQgZGVwZW5kZW5kbyBkYSB2ZXJzw6NvXG4vLyBkbyBBbmd1bGFyL0NESywgbyBlbmNhcHN1bGF0aW9uIGF0dHJpYnV0ZSBwb2RlIG7Do28gY2hlZ2FyIGFvcyBlbGVtZW50b3Ncbi8vIHBvcnRhbGxhZG9zLCBkZWl4YW5kbyBhIHJlZ3JhIHNlbSBlZmVpdG8uIEVzdGUgYmxvY28gZ2xvYmFsIGNvYnJlIGlzc28uXG4uZGFyay10aGVtZSAuamVtcy1zZWxlY3QtbWVudSB7XG4gIC5qZW1zLXNlbGVjdC1vcHRpb24ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrO1xuICAgICYuYWN0aXZlIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrOyB9XG4gICAgJi5zZWxlY3RlZDo6YmVmb3JlIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyazsgfVxuICB9XG4gIC5qZW1zLXNlbGVjdC1maWx0ZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7IH1cbiAgLmplbXMtc2VsZWN0LWZpbHRlci1pbnB1dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgJjo6cGxhY2Vob2xkZXIgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG4gIH1cbn1cbi8vIENvbnRyYXBhcnRlcyBkYXJrIGRvcyBkZW1haXMgcGFpbsOpaXMgYXBwLXBvcG92ZXIgKHZlciBsaWdodCBibG9ja3MgYWNpbWEpLlxuLy8gYC5ub3RpZmljYXRpb25zLW1lbnVgIE7Dg08gZW50cmEg4oCUIGNmLiBub3RhIGxvZ28gYW50ZXMgZG8gYmxvY28gbGlnaHQuXG4uZGFyay10aGVtZSAubWVudS1jaGFydC12Mixcbi5kYXJrLXRoZW1lIC5tZW51LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyaztcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcms7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1kYXJrO1xufVxuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIFBhaW5lbCBkZSBtYXQtc2VsZWN0IG5vIHBhZHLDo28gZGUgTUVOVSBKRU1TMyAobWVzbWEgZmFtw61saWEgZG8gdHBjLXVzZXItbWVudSkuXG4vLyBBcGxpY2FkbyB2aWEgYHBhbmVsQ2xhc3M9XCJqZW1zMy1zZWxlY3QtcGFuZWxcImAgKGV4Ljogb3Mgc2VsZWN0cyBkbyBtZW51IGRlXG4vLyBGSUxUUk8gZGEgTGlzdGEgZGUgU3VibWlzc8O1ZXMpLiBPIHBhaW5lbCB2aXZlIG51bSBvdmVybGF5IG5hIHJhaXogZG8gZG9jdW1lbnRvXG4vLyDihpIgcmVncmEgR0xPQkFMLiBFc3BlbGhhIG8gY2hyb21lIGRvIG1lbnUgY2hhaXI6IHBhaW5lbCBhcnJlZG9uZGFkbyArIHNvbWJyYSBkZVxuLy8gcGFpbmVsOyBvcMOnw7VlcyBjb21vIFwicMOtbHVsYXNcIiBjb20gaG92ZXI7IHRpcG9ncmFmaWEgMTNweC4gVGhlbWUtYXdhcmUuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIGAubWF0LWFjdGl2ZWAgKG1hcmNhZG9yIGRvIExpc3RLZXlNYW5hZ2VyIGRvIENESykgcGVyc2lzdGUgbm8gw7psdGltbyBpdGVtXG4vLyB1c2FkbyBtZXNtbyBkZXBvaXMgcXVlIG8gbW91c2UgZGVpeGEgbyBwYWluZWwg4oCUIG8gQ0RLIHPDsyBsaW1wYSBhbyB0cm9jYXJcbi8vIGRlIGl0ZW0gYXRpdm8gb3UgZmVjaGFyLiBPIHRlbWEgZGVmYXVsdCBkbyBNYXRlcmlhbCBwaW50YSBiZyBlbVxuLy8gYC5tYXQtYWN0aXZlYCwgbyBxdWUgY2F1c2E6ICgxKSBpdGVtIHByw6ktZGVzdGFjYWRvIGFvIGFicmlyIChvIHNlbGVjaW9uYWRvXG4vLyB2aXJhIGF0aXZvIGF1dG9tYXRpY2FtZW50ZSk7ICgyKSBpdGVtIG9uZGUgbyBtb3VzZSBlc3RldmUgZmljYSBjb20gYmdcbi8vIHBlcnNpc3RlbnRlIGFww7NzIGRlaXhhciBvIHBhaW5lbC4gWmVyYW1vcyBhcXVpIHByYSBxdWUgbyBkZXN0YXF1ZSBzw7Ncbi8vIGFwYXJlw6dhIG5vIGA6aG92ZXJgIChtb3VzZSkgZSBubyBgLmNkay1rZXlib2FyZC1mb2N1c2VkYCAodGVjbGFkbykuXG4ubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZSxcbi5tYXQtc2VsZWN0LXBhbmVsLm15LXNlbGVjdC1zdGF0dXMtcGFuZWwgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZSxcbi5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1hY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG4ubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwge1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA1cHggNHB4ICFpbXBvcnRhbnQ7XG4gIC8vIGZvbnQtc2l6ZSBubyBwYWluZWwgcmFpeiBjYXNjYXRlaWEgcC8gVE9ET1Mgb3MgZGVzY2VuZGVudGVzIChtYXQtb3B0aW9uLFxuICAvLyBjaGVja2JveCBsYWJlbCkg4oCUIGV2aXRhIG8gYDE2cHhgIGRlZmF1bHQgZG8gTWF0ZXJpYWwgYC5tYXQtc2VsZWN0LXBhbmVsYC5cbiAgLy8gQ2FkYSBkZXNjZW5kZW50ZSBwb2RlIGFpbmRhIHNvYnJlc2NyZXZlciBzZSBwcmVjaXNhci5cbiAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemUgIWltcG9ydGFudDtcblxuICAubWF0LW9wdGlvbiB7XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgIG1hcmdpbjogMDsgICAvLyBpdGVucyBmdWxsLWJsZWVkIG5vIHBhaW5lbCAobWFjT1MvV2luZG93cyBtb2Rlcm5vKVxuICAgIHBhZGRpbmc6IDAgOHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG4gICAgZm9udC1zaXplOiAkY29udHJvbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRtZW51LWl0ZW0td2VpZ2h0O1xuICB9XG4gIC8vIENoZWNrYm94IG5vIE1FU01PIHRhbWFuaG8gZG9zIGNoZWNrYm94ZXMgZGUgU0VMRcOHw4NPIERFIExJTkhBUyBkYSB0YWJlbGFcbiAgLy8gKGzDoSDDqSBgbWF0LWNoZWNrYm94YCBjb20gYHRyYW5zZm9ybTogc2NhbGUoMC44KWAgfjEzcHgpLiBNZXNtYSB0w6ljbmljYSBhcXVpOlxuICAvLyBvIHRyYW5zZm9ybSBuw6NvIGFsdGVyYSBvIGZvb3RwcmludCBkZSBsYXlvdXQgKHNlZ3VlIDE2cHgpLCBlbnTDo28gbyBlc3Bhw6dhbWVudG9cbiAgLy8gY29tIG8gdGV4dG8gZGEgb3DDp8OjbyBzZSBtYW50w6ltIOKAlCBzw7MgZW5jb2xoZSBvIHZpc3VhbCBwcm9wb3JjaW9uYWxtZW50ZS5cbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3ggeyB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH1cbiAgLy8gUsOzdHVsbyBkZSBncnVwbyAoZXguOiB0w7NwaWNvcy1wYWkpIOKAlCByZWN1YWRvL21lbm9yLCBhbyBlc3RpbG8gbGVnZW5kYS5cbiAgLm1hdC1vcHRncm91cC1sYWJlbCB7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG59XG4vLyBDaHJvbWUgZGUgbWVudSBKRU1TMyDigJQgQ09NUEFSVElMSEFETyBwZWxvcyBwYWluw6lpcyBjb20gZXNzZSBwYWRyw6NvOiBqZW1zMy1zZWxlY3QtcGFuZWxcbi8vIChzZWxlY3RzIGRlIFRFWFRPIGRvIGZpbHRybykgZSBteS1zZWxlY3Qtc3RhdHVzLXBhbmVsIChDSElQUyBkZSBzdGF0dXMpLiBGT05URSDDmk5JQ0EgZG9cbi8vIGZ1bmRvICsgc29tYnJhIGRlIHBhaW5lbC4gTyBIT1ZFUiBOw4NPIMOpIGNvbXBhcnRpbGhhZG86IGRpdmVyZ2UgcG9yIHBhaW5lbCAoZmlsdHJvID0gdG9rZW5cbi8vIEpFTVMzIHBhZHLDo287IHN0YXR1cyA9IGN1c3RvbWl6YcOnw6NvIHByw7NwcmlhKSwgZGVmaW5pZG8gbm9zIGJsb2NvcyBlc3BlY8OtZmljb3MgYWJhaXhvLlxuLmxpZ2h0LXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCxcbi5saWdodC10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5teS1zZWxlY3Qtc3RhdHVzLXBhbmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIGZpbHRlcjogJHNoYWRvdy1wYW5lbC1saWdodDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCxcbi5kYXJrLXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLm15LXNlbGVjdC1zdGF0dXMtcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG59XG5cbi8vIEVzcGVjw61maWNvIGRvIEZJTFRSTyAoamVtczMtc2VsZWN0LXBhbmVsLCBzZWxlY3RzIGRlIFRFWFRPL211bHRpKTogY29yIGRhcyBvcMOnw7Vlcyxcbi8vIHLDs3R1bG8gZGUgZ3J1cG8gZSBjaGVja2JveCBtYXJjYWRvIGVtIGFjY2VudC5cbi8vXG4vLyBTSU5HTEUtU0VMRUNUIHNlbGVjaW9uYWRvOiBzZW0gZnVuZG8gY2luemEgKE1hdGVyaWFsIGRlZmF1bHQpIOKGkiBtYXJjYSBjb21cbi8vIMONQ09ORSBERSBDSEVDSyDDoCBFU1FVRVJEQSAobmEgZnJlbnRlIGRvIHLDs3R1bG8pLiBSZXNlcnZhIDI4cHggZGUgcGFkZGluZy1sZWZ0XG4vLyBlbSBUT0RBUyBhcyBvcMOnw7VlcyBwcmEgZXZpdGFyIHF1ZSBvIHLDs3R1bG8gc2UgZGVzbG9xdWUgcXVhbmRvIG8gY2hlY2sgYXBhcmVjZS5cbi5saWdodC10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwge1xuICAubWF0LW9wdGlvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHggIWltcG9ydGFudDtcbiAgfVxuICAvLyBPcMOnw6NvIFNFTEVDSU9OQURBIChzaW5nbGUtc2VsZWN0LCBleC46IFRyaWxoYSk6IG1hbnTDqW0gY29yIGRvIHRleHRvIG5vcm1hbCxcbiAgLy8gc2VtIGZ1bmRvIGNpbnphIOKAlCBzw7MgbyBjaGVjayDDoCBlc3F1ZXJkYSBpbmRpY2EgYSBzZWxlw6fDo28uXG4gIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIC8vIENoZWNrIFNGIFN5bWJvbHMg4oCUIGZvbnRlIMO6bmljYTogbWl4aW4gYGplbXMtc2VsZWN0ZWQtY2hlY2tgIChtZXNtYSByZWNlaXRhXG4gICAgLy8gZG8gYGFwcC1qZW1zLXNlbGVjdGAgZSBkbyBtZW51IHNlbGV0b3IgZGUgcGVyZmlsKS5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgamVtcy1zZWxlY3RlZC1jaGVjaygkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcik7XG4gICAgfVxuICB9XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkIHsgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwgeyBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gIC8vIENoZWNrYm94IG1hcmNhZG8gPSBBQ0NFTlQgKGlndWFsIGFvIGAubWF0LWNoZWNrYm94YCBkbyByZXN0byBkbyBhcHApLCBubyBsdWdhciBkbyBjaW56YVxuICAvLyBkZWZhdWx0IGRvIHBzZXVkby1jaGVja2JveDsgY2hlY2ttYXJrIG9mZi13aGl0ZSB2ZW0gZGEgcmVncmEgZ2xvYmFsLiAoRGFyayB1c2EgJGdyYXktMzAwLilcbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtY2hlY2tlZCxcbiAgLm1hdC1wc2V1ZG8tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZSB7XG4gICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG59XG4uZGFyay10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5qZW1zMy1zZWxlY3QtcGFuZWwge1xuICAubWF0LW9wdGlvbiB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMjhweCAhaW1wb3J0YW50O1xuICB9XG4gIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZDpub3QoLm1hdC1vcHRpb24tbXVsdGlwbGUpIHtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA4cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7XG4gICAgICAtd2Via2l0LW1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIgMTInIGZpbGw9J25vbmUnPjxwYXRoIGQ9J00yLjUgNi41IEw1IDkgTDkuNSAzLjUnIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLz48L3N2Zz5cIikgbm8tcmVwZWF0IGNlbnRlciAvIGNvbnRhaW47XG4gICAgICBtYXNrOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDEyIDEyJyBmaWxsPSdub25lJz48cGF0aCBkPSdNMi41IDYuNSBMNSA5IEw5LjUgMy41JyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8+PC9zdmc+XCIpIG5vLXJlcGVhdCBjZW50ZXIgLyBjb250YWluO1xuICAgIH1cbiAgfVxuICAubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50OyB9XG4gIC5tYXQtb3B0Z3JvdXAtbGFiZWwgeyBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG59XG5cbi8vIE9ww6fDtWVzIGRlIG1hdC1zZWxlY3QgTcOaTFRJUExPIChgLm1hdC1vcHRpb24tbXVsdGlwbGVgKTogbyBNYXRlcmlhbCBqw6EgZGVzZW5oYSBvXG4vLyBwc2V1ZG8tY2hlY2tib3ggw6AgZXNxdWVyZGEsIGVudMOjbyBOw4NPIHJlc2VydmFtb3Mgb3MgMjhweCBkbyBjaGVjayBTRiBzaW5nbGUtc2VsZWN0XG4vLyAocXVlIHPDsyBhcGFyZWNlIGVtIGA6bm90KC5tYXQtb3B0aW9uLW11bHRpcGxlKWApIOKAlCBzZW7Do28gbyBpdGVtIGZpY2EgY29tIHJlY3VvXG4vLyBEVVBMTyAoY2hlY2tib3ggam9nYWRvIH4zNHB4IHByYSBkZW50cm8pLiBSZWN1byBlbnh1dG8gYWxpbmhhIG8gY2hlY2tib3ggYSB+MTBweCBkYVxuLy8gYm9yZGEgZG8gcGFpbmVsLiBWYWxlIHAvIHRvZG8gbWF0LXNlbGVjdCBtdWx0aXBsZSBkbyBhcHAgKG8gMjhweCBlcmEgaW5kZXZpZG8gcHJhIGVsZXMpLlxuLmxpZ2h0LXRoZW1lIC5tYXQtc2VsZWN0LXBhbmVsLmplbXMzLXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbi5tYXQtb3B0aW9uLW11bHRpcGxlLFxuLmRhcmstdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb24tbXVsdGlwbGUge1xuICBwYWRkaW5nLWxlZnQ6IDEycHggIWltcG9ydGFudDtcbn1cbi8vIE11bHRpLXNlbGVjdDogYSBtYXJjYSBkZSBcInNlbGVjaW9uYWRvXCIgw6kgQVBFTkFTIG8gY2hlY2tib3ggKHBzZXVkby1jaGVjayDDoFxuLy8gZXNxdWVyZGEpLiBPIGZ1bmRvIE7Dg08gZGV2ZSBtdWRhciBwb3Igc2VsZcOnw6NvIOKAlCBzw7Mgbm8gaG92ZXIuIE1hdGVyaWFsIGRlZmF1bHRcbi8vIHBpbnRhIGAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWRgIGNvbSB0aW50IGNpbnphOyB6ZXJhbW9zIGFxdWkgcHJhIHF1ZSBhIGxpbmhhXG4vLyBzZWxlY2lvbmFkYSB0ZW5oYSBvIG1lc21vIGJnIHF1ZSB1bWEgbsOjby1zZWxlY2lvbmFkYSBlbSBlc3RhZG8gbmV1dHJvLlxuLm1hdC1zZWxlY3QtcGFuZWwuamVtczMtc2VsZWN0LXBhbmVsIC5tYXQtb3B0aW9uLm1hdC1vcHRpb24tbXVsdGlwbGUubWF0LXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLy8gbWF0LWF1dG9jb21wbGV0ZSBuw6NvIGV4cMO1ZSBgW3BhbmVsQ2xhc3NdYCBlbSBNYXRlcmlhbCAxMSwgZW50w6NvIG8gcGFpbmVsXG4vLyBkYSBDaWRhZGUgKGBhcHAtaW5wdXQtZmlsdGVyLWF1dG9jb21wbGV0ZWApIHJlY2ViZSBvIGNocm9tZSBKRU1TM1xuLy8gR0xPQkFMTUVOVEUgdmlhIGAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbGAuIE1lc21hIHJlY2VpdGEgZG9cbi8vIGAuamVtczMtc2VsZWN0LXBhbmVsYCDigJQgcmV1dGlsaXphIG9zIHRva2Vucy9ob3Zlci9kYXJrLlxuLm1hdC1hdXRvY29tcGxldGUtcGFuZWwge1xuICBib3JkZXItcmFkaXVzOiAkY2hyb21lLXJhZGl1cyAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiA1cHggNHB4ICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplICFpbXBvcnRhbnQ7ICAgLy8gY2FzY2F0ZWlhIHAvIG9ww6fDtWVzIGUgZmlsdGVyXG5cbiAgLm1hdC1vcHRpb24ge1xuICAgIGhlaWdodDogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICBtYXJnaW46IDA7ICAgLy8gaXRlbnMgZnVsbC1ibGVlZCBubyBwYWluZWwgKG1hY09TL1dpbmRvd3MgbW9kZXJubylcbiAgICBwYWRkaW5nOiAwIDhweCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGNvbnRyb2wtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkbWVudS1pdGVtLXdlaWdodDtcbiAgfVxufVxuLy8gQnVzY2EgZGUgdXN1w6FyaW9zIChhcHAtdXNlci1zZWFyY2gpOiBjYWRhIG9ww6fDo28gw6kgXCJOb21lIChpZCkgLSBlbWFpbCAtIHNpZ2xhXCIsXG4vLyB0ZXh0byBsb25nbyBxdWUgbyBNYXRlcmlhbCB0cnVuY2EgY29tIGVsbGlwc2lzIGRlbnRybyBkYSBsYXJndXJhIGRvIGlucHV0LiBBcXVpXG4vLyBkZWl4YW1vcyBhIG9ww6fDo28gQ1JFU0NFUiBhdMOpIG8gY29udGXDumRvIGUgaGFiaWxpdGFtb3MgU0NST0xMIEhPUklaT05UQUwgbm8gcGFpbmVsLFxuLy8gcHJhIGxlciBhIGxpbmhhIGludGVpcmEgc2VtIGNvcnRhci4gRXNjb3BvIHBlbGEgY2xhc3NlIHByw7NwcmlhIGRvIGF1dG9jb21wbGV0ZVxuLy8gKGB1c2VyLXNlYXJjaC1hdXRvY29tcGxldGVgLCBwcm9wYWdhZGEgYW8gcGFpbmVsIHZpYSBvIGBjbGFzc2AgZG8gbWF0LWF1dG9jb21wbGV0ZSksXG4vLyBlbnTDo28gdmFsZSBwcmEgVE9EQVMgYXMgaW5zdMOibmNpYXMgZGUgYXBwLXVzZXItc2VhcmNoIHNlbSBhZmV0YXIgb3V0cm9zIHBhaW7DqWlzLlxuLm1hdC1hdXRvY29tcGxldGUtcGFuZWwudXNlci1zZWFyY2gtYXV0b2NvbXBsZXRlIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgICAgICAgICAgICAgIC8vIGJhcnJhIGhvcml6b250YWwgcXVhbmRvIGEgb3DDp8OjbyBwYXNzYSBkYSBsYXJndXJhIGRvIGlucHV0XG5cbiAgLy8gUG9wb3ZlciBkZSBhZGljaW9uYXIgYXV0b3IgKHRlbSBvIGhlYWRlciBcIkNyaWFyIG5vdm8gdXN1w6FyaW9cIikuIGA6aGFzYCBsaW1pdGEgYW9cbiAgLy8gY2FzbyBjb20gaGVhZGVyOyBwYWluw6lpcyBzZW0gZWxlIGZpY2FtIGludGFjdG9zLlxuICAmOmhhcyguY3JlYXRlLXVzZXItb3B0aW9uKSB7XG4gICAgLy8gKDEpIFplcmEgVE9ETyBvIHBhZGRpbmcgZG8gcGFpbmVsIChtYW50w6ltIHPDsyBvIHJlc3Bpcm8gaW5mZXJpb3IpLiBNb3Rpdm9zOlxuICAgIC8vICAgLSBwYWRkaW5nLXRvcCBnZXJhdmEgRlJFU1RBIG5vIHRvcG8gKG8gc3RpY2t5IGZpeGEgZW0gdG9wOjAgPSB0b3BvIGRhIGNhaXhhXG4gICAgLy8gICAgIGRlIGNvbnRlw7pkbywgYWJhaXhvIGRvIHBhZGRpbmcpIHBvciBvbmRlIGEgbGlzdGEgdmF6YXZhIEFDSU1BIGRvIGhlYWRlcjtcbiAgICAvLyAgIC0gcGFkZGluZyBMQVRFUkFMICg0cHgpIGVyYSBvIFZBWkFNRU5UTyDDoCBkaXJlaXRhOiBvIGhlYWRlciBlc3RpY2Egc8OzIGF0w6kgYVxuICAgIC8vICAgICBjYWl4YSBkZSBjb250ZcO6ZG8gKGluc2V0IDRweCksIG1hcyBvIHRleHRvIGRhcyBsaW5oYXMgdHJhbnNib3JkYSBwYXJhIGRlbnRyb1xuICAgIC8vICAgICBkZXNzZSBwYWRkaW5nIGUgYXBhcmVjZSDDoCBkaXJlaXRhIGRvIGhlYWRlci4gQ29tIHBhZGRpbmcgbGF0ZXJhbCAwLCBvIGhlYWRlclxuICAgIC8vICAgICBwcmVlbmNoZSBhIGxhcmd1cmEgaW50ZWlyYSBkbyBwYWluZWwgZSBjb2JyZSBhcyBsaW5oYXMgcG9yIGNvbXBsZXRvLlxuICAgIC8vIE8gcmVzcGlybyBpbnRlcm5vIGRvIHRleHRvIHZlbSBkbyBwcsOzcHJpbyBwYWRkaW5nIGRhIG9ww6fDo28gKGAwIDhweGApLCBwcmVzZXJ2YWRvLlxuICAgIHBhZGRpbmc6IDAgMCA1cHggIWltcG9ydGFudDtcblxuICAgIC8vICgyKSBMQVJHVVJBIEZJWEEgZG8gcGFpbmVsID0gbGFyZ3VyYSBkYSBjYWl4YSBkZSBidXNjYS4gQSBtZWRpw6fDo28gZG8gaG9zdCBwZWxvXG4gICAgLy8gTWF0ZXJpYWwgZmFsaGEgbnVtIG92ZXJsYXkgZXN0cmVpdG8sIGRlaXhhbmRvIG8gcGFpbmVsIGNvbSBsYXJndXJhIGBhdXRvYCAocXVlXG4gICAgLy8gY3Jlc2NlcmlhIHByYSBjYWJlciBhIGxpbmhhIG1haXMgbG9uZ2EsIHBhc3NhbmRvIGRvIHBvcG92ZXIpLiBGaXhhbmRvLCBvIHBhaW5lbFxuICAgIC8vIGZpY2EgZG8gdGFtYW5obyBkYSBidXNjYSBlIG8gY29udGXDumRvIGxvbmdvIFJPTEEgZGVudHJvIGRlbGUgKHZpYSBgb3ZlcmZsb3cteGApLlxuICAgIC8vIDI5NnB4ID0gMzIwIGRvIHBvcG92ZXIg4oiSIDLDlzEyIGRlIHBhZGRpbmcuXG4gICAgd2lkdGg6IDI5NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiAyOTZweCAhaW1wb3J0YW50O1xuICB9XG4gIC8vIFF1YW5kbyBOw4NPIGjDoSByZXN1bHRhZG9zIChzw7MgbyBoZWFkZXIgXCJDcmlhciBub3ZvIHVzdcOhcmlvXCIpLCBlbGUgw6kgbyDDumx0aW1vIGl0ZW06XG4gIC8vIHNvbWUgY29tIG8gcmVzcGlybyBpbmZlcmlvciwgcXVlIGRlaXhhdmEgdW0gZXNwYcOnbyBlbSBicmFuY28gZW1iYWl4byBkYSBsaW5oYS5cbiAgJjpoYXMoLmNyZWF0ZS11c2VyLW9wdGlvbjpsYXN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFRvZGFzIGFzIG9ww6fDtWVzIChoZWFkZXIgKyBsaW5oYXMpIGVzdGljYW0gYXTDqSBhIExBUkdVUkEgRE8gUEFJTkVMIHZpYVxuICAvLyBgbWluLXdpZHRoOiAxMDAlYCwgU0VNIGBtYXgtY29udGVudGAuIEFzc2ltOlxuICAvLyAgLSBvIGhlYWRlciBcIkNyaWFyIG5vdm8gdXN1w6FyaW9cIiB0ZW0gYSBtZXNtYSBsYXJndXJhIGRhcyBsaW5oYXMg4oaSIGNvYnJlLWFzIHBvclxuICAvLyAgICBpbnRlaXJvIHF1YW5kbyBlbGFzIHJvbGFtIHBvciBiYWl4byBkZWxlIChzZW0gYG1pbi13aWR0aGAgZWxlIGVuY29saGlhIHAvIG9cbiAgLy8gICAgdGFtYW5obyBkbyB0ZXh0byBlIHNvYnJhdmEgbGluaGEgw6AgZGlyZWl0YSk7XG4gIC8vICAtIGFzIGxpbmhhcyBuw6NvIGZpY2FtIE1BSVMgbGFyZ2FzIHF1ZSBvIGhlYWRlciAocXVlIHNlcmlhIG8gcHJvYmxlbWEgb3Bvc3RvKS5cbiAgLy8gTyB0ZXh0byBsb25nbyBhaW5kYSBUUkFOU0JPUkRBIChzZW0gZWxsaXBzaXMpIGUgcm9sYSB2aWEgYG92ZXJmbG93LXg6IGF1dG9gLlxuICAubWF0LW9wdGlvbiB7XG4gICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyAgICAgICAgICAgLy8gbGliZXJhIG8gY2xpcCBxdWUgZ2VyYXZhIG8gZWxsaXBzaXMgbmEgb3DDp8Ojb1xuICB9XG4gIC8vIE8gc3BhbiBpbnRlcm5vIHRhbWLDqW0gdHJ1bmNhIHBvciBwYWRyw6NvOyBsaWJlcmEgcHJhIG8gdGV4dG8gVFJBTlNCT1JEQVIgKGUgZW50w6NvXG4gIC8vIHJvbGFyIGhvcml6b250YWxtZW50ZSkgZW0gdmV6IGRlIHZpcmFyIHJldGljw6puY2lhcy5cbiAgLm1hdC1vcHRpb24tdGV4dCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdGV4dC1vdmVyZmxvdzogY2xpcDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAgICAgICAgIC8vIHVtYSBsaW5oYSBzw7MgKGVudMOjbyB0cmFuc2JvcmRhIOKGkiByb2xhLCBuw6NvIHF1ZWJyYSlcbiAgfVxuXG4gIC8vIEl0ZW0gZml4byBcIkNyaWFyIG5vdm8gdXN1w6FyaW9cIiAob3B0LWluIHZpYSBbZW5hYmxlQ3JlYXRlVXNlcl0pOiBwcmltZWlybyBkYSBsaXN0YSxcbiAgLy8gZW0gREVTVEFRVUUg4oCUIGNvciBhY2NlbnQsIMOtY29uZSBwZXJzb25fYWRkLiBGSVhPIG5vIHRvcG8gKHBvc2l0aW9uOiBzdGlja3kpOiBhXG4gIC8vIGxpc3RhIGRlIHJlc3VsdGFkb3Mgcm9sYSBwb3IgYmFpeG8gZGVsZSwgZW50w6NvIHByZWNpc2EgZGUgZnVuZG8gT1BBQ08gKHBpbnRhZG8gbm9zXG4gIC8vIGJsb2NvcyBsaWdodC9kYXJrIGFiYWl4bykgZSB6LWluZGV4IGFjaW1hIGRhcyBvcMOnw7Vlcy5cbiAgLy9cbiAgLy8gQ2VudHJhbGl6YcOnw6NvIHBvciBGTEVYIChuw6NvIHBvciBsaW5lLWhlaWdodCk6IG8gY29udGXDumRvIGludGVybm8gw6kgaW5saW5lLWZsZXggZSxcbiAgLy8gYWxpbmhhZG8gcGVsYSBiYXNlbGluZSBkYSBsaW5oYSBkZSAyNnB4LCBzdWJpYS4gQ2VudHJhbGl6YXIgYSBgLm1hdC1vcHRpb24tdGV4dGBcbiAgLy8gbmEgYWx0dXJhIHJlYWwgZG8gaXRlbSByZXNvbHZlLCBpbmRlcGVuZGVudGUgZGEgYWx0dXJhLlxuICAuY3JlYXRlLXVzZXItb3B0aW9uIHtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyAgICAgICAgICAgICAgICAgLy8gc3RpY2t5IHRhbWLDqW0gbmEgaG9yaXpvbnRhbDogY29icmUgYSBqYW5lbGEgdmlzw612ZWxcbiAgICB6LWluZGV4OiAyOyAgICAgICAgICAgICAgLy8gZHVyYW50ZSByb2xhZ2VtIGxhdGVyYWwsIG7Do28gc8OzIHZlcnRpY2FsXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50OyAvLyArNnB4IHNvYnJlIG9zIDI2cHggcGFkcsOjbyBkYSBvcMOnw6NvIOKGkiBoZWFkZXIgbWFpcyBlbGVnYW50ZVxuICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyAgICAgICAvLyBwYXJlaWEgYSBhbHR1cmEgKG1lc21vIGNvbSBmbGV4LCBldml0YSBoZXJhbsOnYSBkb3MgMjZweClcbiAgICBib3JkZXItcmFkaXVzOiAwOyAgICAgICAgLy8gaGVhZGVyIGZ1bGwtYmxlZWQsIHNlbSBjYW50b3MgYXJyZWRvbmRhZG9zXG4gICAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgLm1hdC1vcHRpb24tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7ICAgLy8gZGVpeGEgbyBmbGV4IGNlbnRyYWxpemFyOyBzZW0gbGluZS1oZWlnaHQgZGUgMjZweCBwdXhhbmRvXG4gICAgfVxuICAgIC5jcmVhdGUtdXNlci1pbm5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDZweDtcbiAgICB9XG4gICAgLm1hdC1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgfVxuICAgIC8vIERpdmlzb3IgZGUgUE9OVEEgQSBQT05UQSDigJQgc8OzIHF1YW5kbyBIw4EgcmVzdWx0YWRvcyBhYmFpeG8gKGA6bm90KDpsYXN0LWNoaWxkKWApO1xuICAgIC8vIHNvemluaG8gbm8gcGFpbmVsLCBvIGhlYWRlciBuw6NvIHByZWNpc2EgZGUgbGluaGEgZW1iYWl4by4gQ29tbyBvIHBhZGRpbmcgbGF0ZXJhbFxuICAgIC8vIGRvIHBhaW5lbCBhZ29yYSDDqSAwLCBgbGVmdC9yaWdodDogMGAgasOhIGFsY2Fuw6dhbSBhcyBib3JkYXMuXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodDtcbiAgICB9XG4gIH1cbn1cbi5saWdodC10aGVtZSAubWF0LWF1dG9jb21wbGV0ZS1wYW5lbC51c2VyLXNlYXJjaC1hdXRvY29tcGxldGUgLmNyZWF0ZS11c2VyLW9wdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQ7ICAgLy8gb3BhY286IGEgbGlzdGEgcm9sYSBwb3IgYmFpeG8gZG8gaGVhZGVyIGZpeG9cbn1cbi5kYXJrLXRoZW1lIC5tYXQtYXV0b2NvbXBsZXRlLXBhbmVsLnVzZXItc2VhcmNoLWF1dG9jb21wbGV0ZSAuY3JlYXRlLXVzZXItb3B0aW9uIHtcbiAgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcms7XG4gICY6OmFmdGVyIHsgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyazsgfVxufVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1hdXRvY29tcGxldGUtcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xuICAubWF0LW9wdGlvbiB7IGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjsgfVxuICAubWF0LW9wdGlvbjpob3Zlcjpub3QoLm1hdC1vcHRpb24tZGlzYWJsZWQpLFxuICAubWF0LW9wdGlvbi5jZGsta2V5Ym9hcmQtZm9jdXNlZCB7IGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDsgfVxufVxuLmRhcmstdGhlbWUgLm1hdC1hdXRvY29tcGxldGUtcGFuZWwge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG4gIC5tYXQtb3B0aW9uIHsgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcms7IH1cbiAgLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDsgfVxufVxuXG4vLyBFc3BlY8OtZmljbyBkbyBTVEFUVVMgKG15LXNlbGVjdC1zdGF0dXMtcGFuZWwsIHNpbmdsZS1zZWxlY3QpIOKAlCBzw7MgZGVzdGUgbWVudSwgTsODTyBkYVxuLy8gY2xhc3NlIEpFTVMzIChvIGZpbHRybyBtYW50w6ltIG8gdG9rZW4gcGFkcsOjbykuIEhPVkVSLCBmb2NvLXRlY2xhZG8gRSBTRUxFQ0lPTkFETyB1c2FtIGFcbi8vIE1FU01BIGNvciBjdXN0b21pemFkYTogbWFpcyBFU0NVUk8gbm8gbGlnaHQsIG1haXMgQ0xBUk8gbm8gZGFyay4gRGVyaXZhIGRvIHRva2VuIEpFTVMzIGRlXG4vLyBob3ZlciBjb20gZGFya2VuL2xpZ2h0ZW4gKHNlZ3VlIG8gdG9rZW4gc2UgZWxlIG11ZGFyOyBhanVzdGUgYSAlIHAvIG1haXMvbWVub3MgY29udHJhc3RlKS5cbi5saWdodC10aGVtZSAubWF0LXNlbGVjdC1wYW5lbC5teS1zZWxlY3Qtc3RhdHVzLXBhbmVsIHtcbiAgLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQsXG4gIC5tYXQtb3B0aW9uLm1hdC1zZWxlY3RlZCB7IGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCA3JSkgIWltcG9ydGFudDsgfVxufVxuLmRhcmstdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwubXktc2VsZWN0LXN0YXR1cy1wYW5lbCB7XG4gIC5tYXQtb3B0aW9uOmhvdmVyOm5vdCgubWF0LW9wdGlvbi1kaXNhYmxlZCksXG4gIC5tYXQtb3B0aW9uLmNkay1rZXlib2FyZC1mb2N1c2VkLFxuICAubWF0LW9wdGlvbi5tYXQtc2VsZWN0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaywgNyUpICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8g4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBDSElQIGRlIHN0YXR1cyBubyBGSUxUUk8gZGUgc3RhdHVzIChhcHAtc2VsZWN0LWlucHV0IFtzdGF0dXNDaGlwXT10cnVlKSDigJQgcMOtbHVsYVxuLy8gZGUgc3RhdHVzIGRlIHN1Ym1pc3PDo28gbmFzIE9Qw4fDlUVTIGRvIGRyb3Bkb3duIChvdmVybGF5KSBFIG5vIGdhdGlsaG8gZmVjaGFkby5cbi8vIE1lc21hIGlkZW50aWRhZGUgZG9zIGNoaXBzIHBlci1zdGF0dXMgKGdlb21ldHJpYSArIGNvcmVzICsgw61jb25lIGRlIF9zdGF0dXMtY2hpcCkuXG4vLyBSZWdyYSBHTE9CQUw6IGEgb3DDp8OjbyB2aXZlIG5vIG92ZXJsYXkgKHJhaXogZG8gZG9jdW1lbnRvKSBlIG8gZ2F0aWxobyBuYSB2aWV3IGRvXG4vLyBjb21wb25lbnRlIOKAlCB1bWEgZGVmaW5pw6fDo28gw7puaWNhIGF0ZW5kZSBvcyBkb2lzLiBDb3JlcyBpZMOqbnRpY2FzIGVtIGxpZ2h0L2Rhcmtcbi8vIChvIHN0YXR1cyB0ZW0gaWRlbnRpZGFkZSBjcm9tw6F0aWNhIHByw7NwcmlhLCBjb21vIG5hIGNvbHVuYSBkZSBzdGF0dXMgZGEgdGFiZWxhKS5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLnN0YXR1cy1jaGlwLWZpbHRlciB7XG4gIC8vIFZpc3VhbCAoYm9yZGEgZW1ib3NzZWQsIHNvbWJyYSwgYWx0dXJhLCBMQVJHVVJBIEZJWEEgOTZweCB1bmlmb3JtZSwgcmFpbywgY29yZXMpXG4gIC8vIHZlbSBkb3MgbWl4aW5zLiBPIExBWU9VVCDDqSBzb2JyZXNjcml0byBhYmFpeG86IGVtIHZleiBkbyBmbGV4K2p1c3RpZnktY29udGVudFxuICAvLyAocXVlLCBwb3IgY29uZmxpdG8gZGUgcnVudGltZSwgTsODTyBlc3RhdmEgY2VudHJhbGl6YW5kbyksIG8gY2hpcCB2aXJhIGlubGluZS1ibG9ja1xuICAvLyBlIGNlbnRyYWxpemEgbyBncnVwbyBpbnRlcm5vIHBvciBURVhULUFMSUdOIOKAlCBtZWNhbmlzbW8gaW5kZXBlbmRlbnRlIGRvIGZsZXguXG4gIEBpbmNsdWRlIHN1Ym1pc3Npb24tY2hpcC1nZW9tZXRyeSh0cnVlKTtcbiAgQGluY2x1ZGUgc3VibWlzc2lvbi1jaGlwLWNvbG9ycygkc3VibWlzc2lvbi1zdGF0dXMsIHRydWUpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG5cbiAgLy8gR3J1cG8gW8OtY29uZSArIHLDs3R1bG9dOiBpbmxpbmUtZmxleCBpbmxpbmUtbGV2ZWwg4oaSIGNlbnRyYWRvIGhvcml6b250YWxtZW50ZSBwZWxvXG4gIC8vIHRleHQtYWxpZ24gZG8gcGFpLiBhbGlnbi1pdGVtczogY2VudGVyICsgdmVydGljYWwtYWxpZ246IG1pZGRsZSBjdWlkYW0gZG8gZWl4byBZLlxuICAuc2NmLWJvZHkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyDDjWNvbmU6IHplcmEgYSBNQVJHSU4uIFVtYSByZWdyYSBHTE9CQUwgZGUgYC5tYXQtaWNvbmAgYXBsaWNhIG1hcmdpbi1yaWdodDogMTZweFxuICAvLyAoZXNwYcOnYW1lbnRvIGRlIMOtY29uZSBkZSBsaXN0YS9tZW51KSDigJQgY29uZmlybWFkbyBubyBDb21wdXRlZCAobWFyZ2luIDAgMTZweCAwIDApLlxuICAvLyBFUkEgYSBjYXVzYSBkbyBcImJ1cmFjb1wiIGVudHJlIMOtY29uZSBlIHLDs3R1bG8uIENvbSBtYXJnaW4gMCwgbyBnYXAgZmljYSBzw7MgbyBkb1xuICAvLyAuc2NmLWJvZHkgKDRweCkgZSBvIGdydXBvIFvDrWNvbmUgKyByw7N0dWxvXSBmaWNhIGNvbGFkbyBlIGNlbnRyYWRvLlxuICAuaWNvbiB7XG4gICAgQGluY2x1ZGUgc3VibWlzc2lvbi1jaGlwLWljb24odHJ1ZSk7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmxhYmVsIHsgbGluZS1oZWlnaHQ6IDE7IH1cbn1cblxuLy8gR0FUSUxITyAoY2FpeGEgZmVjaGFkYSkgZG8gZmlsdHJvIGRlIHN0YXR1czogcXVhbmRvIHVtIHN0YXR1cyBlc3TDoSBzZWxlY2lvbmFkbywgb1xuLy8gY2hpcCBhcGFyZWNlIGRlbnRybyBkYSBjYWl4YSBlIHN1YSBzb21icmEgZW1ib3NzZWQgZXJhIENMSVBBREEg4oCUIHBlbG8gYG92ZXJmbG93OlxuLy8gaGlkZGVuYCBkbyBgLm1hdC1mb3JtLWZpZWxkLWZsZXhgIChwcmVzZXQgZmlsdGVyLXN0eWxlZCkgZSBkbyBgLm1hdC1zZWxlY3QtdmFsdWVgL1xuLy8gYC5tYXQtc2VsZWN0LXZhbHVlLXRleHRgIChwYWRyw6NvIGRvIE1hdGVyaWFsLCBwLyBlbGxpcHNpcyBkZSB0ZXh0bykuIExpYmVyYW1vcyBvXG4vLyBvdmVyZmxvdyBTw5MgbmVzdGEgY2FpeGEsIGRldGVjdGFkYSBwb3IgYDpoYXMoLnN0YXR1cy1jaGlwLXRyaWdnZXIpYCAoc8OzIGVsYSB0ZW0gY2hpcFxuLy8gbm8gZ2F0aWxobykg4oCUIGFzIGRlbWFpcyBjYWl4YXMgZmlsdGVyLXN0eWxlZCBzZWd1ZW0gY29tIG92ZXJmbG93IGhpZGRlbiBpbnRhY3RvLlxuYXBwLXNlbGVjdC1pbnB1dC5maWx0ZXItc3R5bGVkOmhhcyguc3RhdHVzLWNoaXAtdHJpZ2dlcikge1xuICAubWF0LWZvcm0tZmllbGQtZmxleCxcbiAgLm1hdC1zZWxlY3QtdmFsdWUsXG4gIC5tYXQtc2VsZWN0LXZhbHVlLXRleHQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG59XG5cbi8vIFBhaW5lbCBkbyBmaWx0cm8gZGUgc3RhdHVzOiBOw4NPIGVzdGljYXIgYXTDqSBhIGxhcmd1cmEgZG8gZ2F0aWxobyAocXVlIMOpIGxhcmdhIHBvclxuLy8gY2F1c2EgZG8gcGxhY2Vob2xkZXIgXCJTdGF0dXMgZGUgc3VibWlzc8O1ZXNcIikg4oCUIGh1Z2EgbyBjb250ZcO6ZG8gKGNoZWNrYm94ICsgY2hpcCksXG4vLyBzZW7Do28gc29icmEgZXNwYcOnbyB2YXppbyDDoCBkaXJlaXRhIGRvcyBjaGlwcyBlIGEgb3DDp8OjbyBwYXJlY2UgXCJsYXJnYSBkZW1haXNcIi5cbi5tYXQtc2VsZWN0LXBhbmVsLnN0YXR1cy1jaGlwLXNlbGVjdC1wYW5lbCB7XG4gIG1pbi13aWR0aDogMCAhaW1wb3J0YW50O1xuICAvLyBIdWdhIG8gY29udGXDumRvIChjaGVja2JveCArIGNoaXAgOTZweCksIG7Do28gYSBsYXJndXJhIGRvIGdhdGlsaG8gKHF1ZSDDqSBsYXJnYSBwb3JcbiAgLy8gY2F1c2EgZG8gcGxhY2Vob2xkZXIgXCJTdGF0dXMgZGUgc3VibWlzc8O1ZXNcIikuXG4gIHdpZHRoOiBtYXgtY29udGVudCAhaW1wb3J0YW50O1xuICAvLyBSZXNwaXJvIHRvcG8vYmFzZSBzaW3DqXRyaWNvICh+OXB4IGF0w6kgbyBjaGlwKS4gU29iZSBkZSA1cHjihpI3cHggbyBwYWRkaW5nIHZlcnRpY2FsXG4gIC8vIGRvIGAuamVtczMtc2VsZWN0LXBhbmVsYCAobyByZXN0YW50ZSBkbyBnYXAgdmVtIGRhIGNlbnRyYWdlbSBkYSBvcMOnw6NvKS4gVmVuY2UgcG9yXG4gIC8vIHZpciBkZXBvaXMgbmEgZm9udGUsIGNvbSBtZXNtYSBlc3BlY2lmaWNpZGFkZS5cbiAgcGFkZGluZzogN3B4IDRweCAhaW1wb3J0YW50O1xuXG4gIC8vIE8gY2hpcCAoaW5saW5lLWJsb2NrKSBmaWNhIH4ycHggYWJhaXhvIGRvIGNoZWNrYm94IHBlbGEgYmFzZWxpbmUsIG1lc21vIGNvbSBvXG4gIC8vIGBhbGlnbi1pdGVtczogY2VudGVyYCBkYSBvcMOnw6NvIChtZWRpZG8gbm8gRE9NKS4gU29iZSAycHggcHJhIGNlbnRyYWxpemFyIGNvbSBvXG4gIC8vIGNoZWNrYm94LiBFc2NvcGFkbyBhbyBwYWluZWwg4oCUIG5vIGdhdGlsaG8gZmVjaGFkbyAoc2VtIGNoZWNrYm94KSBvIGNoaXAgbsOjbyBtdWRhLlxuICAuc3RhdHVzLWNoaXAtZmlsdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICB9XG5cbiAgLy8gUmVzcGlybyB2ZXJ0aWNhbCBlbnRyZSBvcyBzdGF0dXMgKHPDsyBuZXN0ZSBtZW51KTogYXMgcMOtbHVsYXMgZGUgc3RhdHVzIHBlZGVtXG4gIC8vIG1haXMgZm9sZ2EgcXVlIG9zIGl0ZW5zIGRlIHRleHRvIGRvcyBkZW1haXMgZmlsdHJvcy4gU29icmVzY3JldmUgbyBgbWFyZ2luOiAwYFxuICAvLyBkbyBgLmplbXMzLXNlbGVjdC1wYW5lbCAubWF0LW9wdGlvbmAgKHZlbmNlIHBvciB2aXIgZGVwb2lzIG5hIGZvbnRlKS5cbiAgLm1hdC1vcHRpb24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAvLyBPIE1hdGVyaWFsIGFwbGljYSBgb3ZlcmZsb3c6IGhpZGRlbmAgbm8gYC5tYXQtb3B0aW9uYCAocHJhIGVsbGlwc2lzIGRvIHRleHRvKSxcbiAgICAvLyBvIHF1ZSBDTElQQSBhIHNvbWJyYSBkb3MgY2hpcHMgZGUgc3RhdHVzLiBBcXVpIG8gcsOzdHVsbyB2aXZlIERFTlRSTyBkbyBjaGlwXG4gICAgLy8gKG7Do28gbmEgb3DDp8OjbyksIGVudMOjbyBsaWJlcmFyIG8gb3ZlcmZsb3cgbsOjbyBhZmV0YSB0cnVuY2FtZW50byBlIGRlaXhhIGFcbiAgICAvLyBzb21icmEgZW1ib3NzZWQgZG8gY2hpcCBhcGFyZWNlciBpbnRlaXJhLlxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG4gIC5tYXQtb3B0aW9uOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC8vIE8gTWF0ZXJpYWwgYXBsaWNhIGBvdmVyZmxvdzogaGlkZGVuYCBUQU1Cw4lNIG5vIGAubWF0LW9wdGlvbi10ZXh0YCAoc3BhbiBpbnRlcm5vXG4gIC8vIHF1ZSDDqSBvIHBhaSBESVJFVE8gZG8gY2hpcCkg4oCUIMOpIEVMRSBxdWVtIGNvcnRhdmEgYSBzb21icmEgZW1ib3NzZWQgZG8gY2hpcFxuICAvLyAobWVkaWRvIG5vIERPTSkuIExpYmVyYW1vcyBhcXVpOyBvIHLDs3R1bG8gdml2ZSBkZW50cm8gZG8gY2hpcCwgc2VtIHRydW5jYW1lbnRvLlxuICAubWF0LW9wdGlvbi10ZXh0IHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuICAvLyBTZW0gYW5pbWHDp8OjbyBkZSBjbGlxdWUgKHJpcHBsZSkgbmFzIG9ww6fDtWVzIOKAlCBjbGlxdWUgZGlyZXRvLCBzZW0gXCJvbmRhXCIuXG4gIC5tYXQtb3B0aW9uLXJpcHBsZSB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxufVxuXG4vLyBIb3Zlci9mb2NvIGRhcyBvcMOnw7VlcyA9IE1FU01BIGNvciBkbyBtZW51IGRlIHN0YXR1cyAobXktc2VsZWN0LXN0YXR1cy1wYW5lbCkgZG9cbi8vIExpc3RhciBzdWJtaXNzw7VlczogZGFya2VuIDclIG5vIGxpZ2h0LCBsaWdodGVuIDclIG5vIGRhcmsuIFZlbmNlIG8gaG92ZXIgSkVNUzNcbi8vIHBhZHLDo28gKG8gcGFpbmVsIHRhbWLDqW0gdGVtIGEgY2xhc3NlIGplbXMzLXNlbGVjdC1wYW5lbCkgcG9yIHZpciBERVBPSVMgbmEgZm9udGUuXG4ubGlnaHQtdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwuc3RhdHVzLWNoaXAtc2VsZWN0LXBhbmVsIHtcbiAgLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgNyUpICFpbXBvcnRhbnQ7IH1cbiAgLy8gYC5tYXQtYWN0aXZlYCA9IHByaW1laXJhIG9ww6fDo28gcXVhbmRvIG8gcGFpbmVsIGFicmUgc2VtIHNlbGXDp8OjbyAoZm9jb1xuICAvLyBwcm9ncmFtw6F0aWNvIGRvIE1hdGVyaWFsKS4gRGVmYXVsdCBkbyBNYXRlcmlhbCBwaW50YSBhY2NlbnQg4oCUIHplcmFtb3NcbiAgLy8gcHJhIHF1ZSBhYnJpciBvIG1lbnUgbsOjbyBwYXJlw6dhIFwiYWxnbyBqw6EgbWFyY2Fkb1wiLlxuICAubWF0LW9wdGlvbi5tYXQtYWN0aXZlOm5vdCg6aG92ZXIpOm5vdCguY2RrLWtleWJvYXJkLWZvY3VzZWQpIHsgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxufVxuLmRhcmstdGhlbWUgLm1hdC1zZWxlY3QtcGFuZWwuc3RhdHVzLWNoaXAtc2VsZWN0LXBhbmVsIHtcbiAgLm1hdC1vcHRpb246aG92ZXI6bm90KC5tYXQtb3B0aW9uLWRpc2FibGVkKSxcbiAgLm1hdC1vcHRpb24uY2RrLWtleWJvYXJkLWZvY3VzZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyaywgNyUpICFpbXBvcnRhbnQ7IH1cbiAgLm1hdC1vcHRpb24ubWF0LWFjdGl2ZTpub3QoOmhvdmVyKTpub3QoLmNkay1rZXlib2FyZC1mb2N1c2VkKSB7IGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbn1cblxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUge1xuXG4gIC8vIENvciAvIMOtY29uZSAvIGhvdmVyIGRvcyBpdGVucyB2w6ptIGRvIGJsb2NvIGFkaXRpdm8gZ2xvYmFsICguZGFyay10aGVtZVxuICAvLyB7IC4uLiAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbSB9KS4gQXF1aSBzw7Mgb3NcbiAgLy8gc2VsZXRvcmVzIGVzcGVjw61maWNvcyBkbyBhdmF0YXItcHJvZmlsZSAodGhlbWUvbGF5b3V0L2xhbmd1YWdlKS5cblxuICAvLyBUaGVtZS9sYXlvdXQgc3dpdGNoZXIgaG92ZXIg4oCUIGRhcmstbW9kZSBjb3VudGVycGFydCBvZiB0aGUgcnVsZSBhYm92ZS5cbiAgLmNvbnRhaW5lci10aGVtZSAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSk6bm90KC5oaWdobGlnaHQtYnV0dG9uKSxcbiAgLmNvbnRhaW5lci1sYXlvdXQgLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pOm5vdCguaGlnaGxpZ2h0LWJ1dHRvbiksXG4gIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbTpob3Zlcjpub3QoW2Rpc2FibGVkXSk6bm90KC5oaWdobGlnaHQtYnV0dG9uKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG5cbiAgICAubWF0LWljb24sXG4gICAgLmxheW91dC1pY29uIHtcbiAgICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICAuY29udGFpbmVyLXRoZW1lIC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gIC5jb250YWluZXItbGF5b3V0IC5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b24sXG4gIC5jb250YWluZXItbGFuZ3VhZ2UtY29tcGFjdCAubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuXG59XG5cbi8qIGFwcC1ldmVudC13aXphcmQgKi9cbi8vIGAudGFzay10ZXh0YCBhZ29yYSB2aXZlIGRlbnRybyBkZSBgbWF0LWNhcmQuYWRtaW4tZXZlbnRgIChjYW52YXMgZG8gY2hhaXIgVUkpXG4vLyDigJQgdXNhIG8gbWVzbW8gdG9rZW4gZGUgdGV4dG8gYm9keSBxdWUgbyByZXN0byBkbyBjYW52YXMgKD0gc2lkZWJhciBsZXZlbC0yXG4vLyByZXN0KSwgbsOjbyBwcmV0by9icmFuY28gcHVyb3MgbGVnYWN5LlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC13aXphcmQsICcudGFzay10ZXh0JywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIFNlY3Rpb24gZGl2aWRlciBjb2xvciDigJQgZ2xvYmFsLCBhcGxpY2FkbyBlbSB0b2RhcyBhcyB0cmFuc2nDp8O1ZXMgZW50cmVcbi8vIHNlw6fDtWVzIGFkamFjZW50ZXMgZG8gY2hhaXIgVUkgKGNoZWNrbGlzdCwgcmV2aWV3cy1jb25maWd1cmF0aW9uLCBldGMpLlxuLy8gRXN0cnV0dXJhIGRvIGRpdmlkZXIgKGJvcmRlci10b3Atd2lkdGgsIG1hcmdpbi10b3AsIHBhZGRpbmctdG9wKSB2ZW0gZG9cbi8vIGdsb2JhbCBlbSBgX3N0cnVjdHVyZS5zY3NzYC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zZWN0aW9uICsgLnNlY3Rpb24nLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2VjdGlvbiArIC5yb3ctbWQnLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcucm93LW1kICsgLnNlY3Rpb24nLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5cbi8vIFZlcnRpY2FsIGd1aWRlIGxpbmUgZG8gYC5kZXBlbmRlbnQtb3B0aW9uYCDigJQgY2hlY2tib3ggY2hpbGQgZGUgb3V0cm9cbi8vIGNoZWNrYm94LiBNZXNtYSBjb3IgZGFzIGRpdmlkZXJzIHBhcmEgY29lcsOqbmNpYSB2aXN1YWwuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5yZXZpZXctc2V0dGluZ3MnLCAnLmRlcGVuZGVudC1vcHRpb246OmJlZm9yZScsIGJhY2tncm91bmQtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcblxuLy8gRmxvYXRpbmcgc3VibWl0IGJhciAoYXBwLWZsb2F0aW5nLXN1Ym1pdC1iYXIpOiBBVCBIT01FIChzZW0gLmF3YXktZnJvbS1ob21lKVxuLy8gw6kgdHJhbnNwYXJlbnRlLCBpbiBmbG93IG5vIHNsb3QuIEFXQVkgRlJPTSBIT01FIHZpcmEgZml4ZWQgbm8gYm90dG9tIGRvXG4vLyB2aWV3cG9ydCBjb20gYmcgY2FudmFzIChhZG1pbi1iYWNrZ3JvdW5kKSDigJQgbMOqIGNvbW8gXCJleHRlbnPDo28gZmx1dHVhbnRlXCJcbi8vIGRvIGNhbnZhcywgY29tIHNoYWRvdyByZWZvcsOnYW5kbyBlbGV2YcOnw6NvLiBSZWdyYXMgZ2xvYmFpcyAoc2VtIHByZWZpeG8gZGVcbi8vIHDDoWdpbmEpIHBvcnF1ZSBvIGNvbXBvbmVudGUgw6kgY29tcGFydGlsaGFkbyBwb3IgcmV2aWV3cy1jb25maWd1cmF0aW9uLFxuLy8gY2hlY2tsaXN0LCBlIGZ1dHVyYXMgcMOhZ2luYXMtZm9ybS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYXBwLWZsb2F0aW5nLXN1Ym1pdC1iYXInLCAnLnN1Ym1pdC1hY3Rpb25zLmF3YXktZnJvbS1ob21lJywgYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWJhY2tncm91bmQsICRhZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhcHAtZmxvYXRpbmctc3VibWl0LWJhcicsICcuc3VibWl0LWFjdGlvbnMuYXdheS1mcm9tLWhvbWUnLCBib3JkZXItY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbi8vIFNoYWRvdyB0aGVtZS1hd2FyZTogMC4xMiBibGFjayBlbSBsaWdodCAoc3V0aWwgc29icmUgY2FudmFzIGJyYW5jbykgL1xuLy8gMC42IGJsYWNrIGVtIGRhcmsgKHByZWNpc2EgZGUgbXVpdG8gbWFpcyBvcGFjaWRhZGUgcHJhIGNyaWFyIGxpZnRcbi8vIHBlcmNlcHTDrXZlbCBjb250cmEgY2FudmFzIGVzY3VybykuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2FwcC1mbG9hdGluZy1zdWJtaXQtYmFyJywgJy5zdWJtaXQtYWN0aW9ucy5hd2F5LWZyb20taG9tZScsIGJveC1zaGFkb3csIDAgOHB4IDI0cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuNikpO1xuXG4vLyBDb25maXJtYXRpb24gZGlhbG9nIChyZWRlc2lnbiBjaGFpciBVSSkg4oCUIGPDrXJjdWxvIHdhcm0tc3RvbmUgZGlzY3JldG9cbi8vIG5vIMOtY29uZSwgdGlwb2dyYWZpYSBlbSBkdWFzIHRvbmFsaWRhZGVzLiBWYXJpYW50ZSBcIndhcm5pbmdcIiB1c2EgYW1iZXJcbi8vIHN1YXZlIChjb3IgZGUgYXZpc28gaGlzdMOzcmljYSksIFwic3VjY2Vzc1wiIHVzYSB2ZXJkZSBkYSBhbmltYcOnw6NvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY29uZmlybWF0aW9uLWRpYWxvZycsICcuZGlhbG9nLWljb24td3JhcCcsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTUwLCAkZ3JheS03MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY29uZmlybWF0aW9uLWRpYWxvZycsICcuZGlhbG9nLWljb24tcXVlc3Rpb24nLCBjb2xvciwgJGdyYXktNzAwLCAkZ3JheS0yMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY29uZmlybWF0aW9uLWRpYWxvZycsICcuZGlhbG9nLWljb24td2FybmluZycsIGNvbG9yLCAjQjQ1MzA5LCAjRkNEMzREKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmNvbmZpcm1hdGlvbi1kaWFsb2cnLCAnLmRpYWxvZy1pY29uLXN1Y2Nlc3MnLCBjb2xvciwgIzE1ODAzRCwgIzRBREU4MCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jb25maXJtYXRpb24tZGlhbG9nJywgJy5kaWFsb2ctdGl0bGUnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY29uZmlybWF0aW9uLWRpYWxvZycsICcuZGlhbG9nLWNvbnRlbnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuXG4vKiBtYXQtY2FyZCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKG1hdC1jYXJkLCAnbWF0LWNhcmQtdGl0bGUnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICR3aGl0ZS0xMDAwKTtcbi8vIENhcmRzIGxlZ2Fkb3MgKGJhc2UtY2FyZC9ldmVudC90cmFjaykgY29udmVyZ2lkb3MgYW8gcGFkcsOjbyBjYW7DtG5pY29cbi8vIGBtYXQtY2FyZC5hZG1pbi1ldmVudGA6IHN1cGVyZsOtY2llIHdhcm0tc3RvbmUgKCRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yID1cbi8vICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQpICsgYm9yZGEgMXB4IGNocm9tZSwgc2VtIHNvbWJyYSAoYW50ZXM6IGNpbnphIGZyaW9cbi8vICNlZGVkZWQgc2VtIGJvcmRhKS4gQXMgc3VwcmVzc8O1ZXMgYGJvcmRlcjogMGAgbm9zIGNvbXBvbmVudC1zY3NzIHZlbmNlbSBwb3Jcbi8vIGVzcGVjaWZpY2lkYWRlLCBlbnTDo28gZm9yYW0gcmVtb3ZpZGFzIGVtIGV2ZW50LXZpZXcvdHJhY2tzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5iYXNlLWNhcmQnLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5iYXNlLWNhcmQnLCAnJywgYm9yZGVyLCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQsIDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYmFzZS1jYXJkJywgJycsIGNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmssICRldmVudC1jYXJkLWJhY2tncm91bmQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5ldmVudCcsIFwiXCIsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuZXZlbnQnLCBcIlwiLCBib3JkZXIsIDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1saWdodCwgMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5ldmVudCAuZXZlbnQtcGFyZW50IHNwYW4nLCAnJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuZXZlbnQgLmV2ZW50LXBhcmVudCBhJywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG4vLyBDYXJkIGRvIGV2ZW50byBuw6NvIMOpIGludGVyYXRpdm8g4oCUIGJvcmRhIG5vIGhvdmVyIGlndWFsIMOgIGRlIHJlc3QgKHNlbSBcInB1bG9cIikuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ21hdC1jYXJkLmV2ZW50OmhvdmVyJywgXCJcIiwgYm9yZGVyLCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQsIDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuZXZlbnQ6bm90KFtjbGFzcyo9bWF0LWVsZXZhdGlvbi16XSknLCBcIlwiLCBib3gtc2hhZG93LCBub25lLCBub25lKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1jYXJkLWhlYWRlcicsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtY2FyZC1oZWFkZXInLCAnJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnbWF0LWNhcmQuYWRtaW4tZXZlbnQnLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5hZG1pbi1ldmVudCcsICcnLCBib3JkZXItY29sb3IsICRtYXQtY2FyZC1ib3JkZXItY29sb3IsICRtYXQtY2FyZC1ib3JkZXItY29sb3ItZGFyayk7XG4vLyBUZXh0IGNvbG9yIG9mIGFkbWluLWV2ZW50IGNhcmQ6IHNhbWUgbXV0ZWQgdG9rZW4gdXNlZCBieSBzaWRlYmFyIGxldmVsLTEvMlxuLy8gaXRlbXMgYXQgcmVzdC4gT3ZlcnJpZGVzIE1hdGVyaWFsJ3MgZGVmYXVsdCBgbWF0LWNhcmQgeyBjb2xvcjogcmdiYSgwLDAsMCwuODcpIH1gXG4vLyAoY29tcGlsZWQgdW5kZXIgYC5saWdodC10aGVtZSAubWF0LWNhcmRgLCBzcGVjaWZpY2l0eSAwLDIsMCkuIE91ciBzZWxlY3RvclxuLy8gYC5saWdodC10aGVtZSBtYXQtY2FyZC5hZG1pbi1ldmVudGAgaXMgMCwyLDEg4oCUIHdpbnMgYnkgb25lIGVsZW1lbnQgdG9rZW4uXG4vLyBJbmhlcml0YW5jZSBmbG93cyB0byBhbGwgdW5zdHlsZWQgdGV4dCBkZXNjZW5kYW50cyAodG9nZ2xlIGxhYmVscywgcmFkaW9cbi8vIGxhYmVscywgaGVscGVyIHRleHQsIGV0Yy4pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdtYXQtY2FyZC5hZG1pbi1ldmVudCcsICcnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtdHJhY2tzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRyYWNrcywgJy50cmFja3MtY2FyZCBtYXQtY2FyZC50cmFjaycsIGJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LWNhcmQtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtdHJhY2tzLCAnLnRyYWNrcy1jYXJkIG1hdC1jYXJkLnRyYWNrJywgYm9yZGVyLCAxcHggc29saWQgJGNocm9tZS1ib3JkZXItbGlnaHQsIDFweCBzb2xpZCAkY2hyb21lLWJvcmRlci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtdHJhY2tzLCAnLnRyYWNrcy1jYXJkIG1hdC1jYXJkLnRyYWNrIC5tYXQtY2FyZC10aXRsZScsIGNvbG9yLCAkYmxhY2stMTAwMCwgJHdoaXRlLTEwMDApO1xuXG4vKiBhcHAtc2lkZWJhci1pdGVtICovXG4vLyBQZXJzb25hIEEgKGF1dG9yLTQpOiBcIklkZW50aWRhZGUtbG91ZFwiLiDDjWNvbmVzIGNvbSBjb3IgZGUgbWFyY2EgU0VNUFJFXG4vLyAocmVzdCwgaG92ZXIsIHNlbGVjdGVkKSArIHNlbXByZSBmaWxsZWQuIENhZGEgcGFwZWwgdGVtIGlkZW50aWRhZGUgdmlzdWFsXG4vLyBwZXJtYW5lbnRlLiBTZWxlY3RlZCByZWZvcsOnYWRvIHBlbG8gYmcgd2FybSBiZWlnZSArIHVuZGVybGluZSBhY2NlbnQuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLWV2ZW50cyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvciwgJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tbXktc3VibWlzc2lvbnMgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1teS1yZXZpZXdzIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLXRwY3MgLm1hdC1pY29uJywgY29sb3IsICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tY2hhaXJpbmdzIC5tYXQtaWNvbicsIGNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1zZXNzaW9uLWNoYWlyaW5ncyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLXB1YmxpY2F0aW9uLWNoYWlyaW5ncyAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5hbnktb3RoZXItYnV0dG9uIC5tYXQtaWNvbicsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcblxuLy8gU2VsZWN0ZWQ6IHVuZGVybGluZSBhY2NlbnQgM3B4IG5hIGNvciBkZSBtYXJjYSB2aWEgcHNldWRvLWVsZW1lbnRvXG4vLyBgOjphZnRlcmAgKGVzdHJ1dHVyYSBlbSBzaWRlYmFyLWl0ZW0uc2NzcykuIENhbnRvcyByZXRvcyDigJQgaWdub3JhIG9cbi8vIGJvcmRlci1yYWRpdXMgZGEgcMOtbHVsYS4gQ29tYmluYWRvIGNvbSBvIGJnIHdhcm0gYmVpZ2UsIGTDoSBvIGRyYW1hXG4vLyBjYXJhY3RlcsOtc3RpY28gZGEgUGVyc29uYSBBLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1ldmVudHMuc2VsZWN0ZWQ6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvciwgJG5hdmJhci1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tbXktc3VibWlzc2lvbnMuc2VsZWN0ZWQ6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXN1Ym1pc3Npb25zLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLW15LXJldmlld3Muc2VsZWN0ZWQ6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IsICRuYXZiYXItbXktcmV2aWV3cy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi10cGNzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmxpc3QtaXRlbS5idXR0b24tY2hhaXJpbmdzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3IsICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5saXN0LWl0ZW0uYnV0dG9uLXNlc3Npb24tY2hhaXJpbmdzLnNlbGVjdGVkOjphZnRlcicsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zaWRlYmFyLWl0ZW0sICcubGlzdC1pdGVtLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3Muc2VsZWN0ZWQ6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcbi8vIExhYmVscyBkYSB0b29sYmFyIGRvIGF1dG9yL3Jldmlzb3Igc2VndWVtIG9zIE1FU01PUyB0b2tlbnMgZG8gY2hhaXIgbGV2ZWwtMVxuLy8gKG7Do28gdXNhbSBvIGxlZ2FkbyBgJHNpZGViYXItbGFiZWwtc2VsZWN0ZWQtY29sb3JgID0gIzNjNDA0MykuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5sYWJlbC1mdWxsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLCAnLmplbXMtdG9vbGJhci1idXR0b246aG92ZXIgLmxhYmVsLWZ1bGwnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXNpZGViYXItaXRlbSwgJy5qZW1zLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIC5sYWJlbC1mdWxsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuLy8gTmF2YmFyIGRvIHNoZWxsIGF1dG9yL3Jldmlzb3I6IGNocm9tZS1ib3JkZXIgMXB4IGFsaW5oYWRvIGFvIGNoYWlyLlxuLy8gYGJvcmRlci1ib3R0b21gIGVtIGRlc2t0b3AvdGFibGV0LCBgYm9yZGVyLXRvcGAgcXVhbmRvIGEgbmF2YmFyIHZpcmFcbi8vIGJvdHRvbS1iYXIgZW0gbW9iaWxlIChkZWNpc8OjbyBwcmVzZXJ2YWRhIGVtIFtbZmVlZGJhY2stdG9vbGJhci1ib3R0b21iYXItbW9iaWxlXV0pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdhcHAtbmF2YmFyJywgJy5uYXZiYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJ2FwcC1uYXZiYXInLCAnLm5hdmJhcicsIGJvcmRlci10b3AtY29sb3IsICRjaHJvbWUtYm9yZGVyLWxpZ2h0LCAkY2hyb21lLWJvcmRlci1kYXJrKTtcblxuLy8gU3VyZmFjZSBjaHJvbWUgd2FybSDigJQgbWVzbW8gY2FudmFzIG9mZi13aGl0ZSBhcXVlY2lkbyB1c2FkbyBlbSB0b2RvIG8gY2hhaXIuXG4vLyBgIWltcG9ydGFudGAgw6kgbmVjZXNzw6FyaW8gcG9ycXVlIG1hdC10b29sYmFyIHRlbSBwcmlvcmlkYWRlIGFsdGEgbm8gdGVtYSBNYXRlcmlhbC5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYXBwLW5hdmJhcicsICcubmF2YmFyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5cbi8vIGAuc2lkZWJhci1pdGVtYCBlIGAuamVtcy10b29sYmFyLWJ1dHRvbmAgYWdvcmEgdml2ZW0gbm8gTUVTTU8gZWxlbWVudG8gKDxhPilcbi8vIGFww7NzIG8gYWNoYXRhbWVudG8gZGEgYXV0b3ItNCDigJQgdXNhciBzZWxldG9yZXMgY29tcG9zdG9zLCBuw6NvIGRlc2NlbmRlbnRlcy5cbi8vXG4vLyBEZWNpc8OjbyBkZSBkZXNpZ24gKGF1dG9yLTcpOiBzZWxlY3RlZCBhZ29yYSBcImxldmFudGFcIiBkYSB0b29sYmFyIOKAlCBiZ1xuLy8gZmljYSBicmFuY28gKG91IG8gZXF1aXZhbGVudGUgY2xhcmluaG8gbm8gZGFyaywgMSBzaGFkZSBhY2ltYSBkb1xuLy8gYCRuYXZiYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrYCBwcmEgZGFyIGxpZnQpLCBib3JkYSBwYXNzYSBwcmEgdmFyaWFudGVcbi8vIGFjdGl2ZSAobWFpcyBkZWZpbmlkYSBxdWUgYSBkbyByZXN0KSwgZSBnYW5oYSB1bWEgc29tYnJhIHBlcXVlbmEgbWFzXG4vLyBjcmlzcGFkYSAob2Zmc2V0IDAsIGJsdXIgY3VydG8sIGFscGhhIG1vZGVyYWRhIOKAlCBzZW50ZSBcImNhcmQgZmx1dHVhbmRvXG4vLyBzb2JyZSBhIGNocm9tZVwiKS4gTyB1bmRlcmxpbmUgY29tIGEgY29yIGRhIGNhdGVnb3JpYSAoOjphZnRlcikgY29udGludWFcbi8vIHNvYnJlcG9uZG8gYSBib3JkYSBpbmZlcmlvciwgZGFuZG8gbyBzaW5hbCBjYXRlZ8OzcmljbyBxdWUgaWRlbnRpZmljYVxuLy8gcXVhbCBpdGVtIGVzdMOhIGF0aXZvLlxuLy8gQmcvYm9yZGVyL3NoYWRvdyBkbyBpdGVtIHNlbGVjaW9uYWRvIOKAlCB2aXN1YWwgXCJwaWxsXCIgbm8gZGVzdGluby5cbi8vIEFwbGljYWRvcyBDT00gYHRyYW5zaXRpb25gIG5vIGl0ZW0gYmFzZSAocmVncmEgYWJhaXhvKSBwcmEgcXVlIGFcbi8vIHRyb2NhIGNydXplIGZhZGUgY29tIGEgYW5pbWHDp8OjbyBkYSBww61sdWxhIHNsaWRpbmdcbi8vIChgLm5hdmJhci1pdGVtcy1pbmRpY2F0b3JgKSwgZW0gdmV6IGRlIHNhbHRhciBpbnN0YW50w6JuZW8gZSBtYXNjYXJhclxuLy8gYSB2aWFnZW0gZGEgcMOtbHVsYS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCcsIGJhY2tncm91bmQtY29sb3IsICNmZmZmZmYgIWltcG9ydGFudCwgIzJlMmUyZSAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCcsIGJvcmRlci1jb2xvciwgJGNocm9tZS1ib3JkZXItbGlnaHQtYWN0aXZlICFpbXBvcnRhbnQsICRjaHJvbWUtYm9yZGVyLWRhcmstYWN0aXZlICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkJywgYm94LXNoYWRvdywgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4zKSwgMCAxcHggM3B4IHJnYmEoMCwwLDAsMC43KSAhaW1wb3J0YW50KTtcbi8vIFRyYW5zaXRpb24gbm8gaXRlbSBiYXNlIOKAlCBzZW0gaXNzbywgYmcvYm9yZGVyL3NoYWRvdyBkbyBgLnNlbGVjdGVkYFxuLy8gc2FsdGFtIGRlIDAgcHJhIDEwMCBpbnN0YW50YW5lYW1lbnRlIG5hIHRyb2NhIGRlIHJvdGEsIGUgbyBvbGhvXG4vLyBwZXJkZSBhIHDDrWx1bGEgcmVhbCBxdWUgYW5pbWEgMjYwbXMgcG9yIGJhaXhvLlxuLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAyNjBtcyBjdWJpYy1iZXppZXIoLjQsIDAsIC4yLCAxKSxcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIDI2MG1zIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpLFxuICAgICAgICAgICAgICBib3gtc2hhZG93IDI2MG1zIGN1YmljLWJlemllciguNCwgMCwgLjIsIDEpO1xufVxuXG4vLyBIb3ZlciBkw6EgYm94LXNoYWRvdyBhcGVuYXMgZW0gaXRlbnMgTsODTy1zZWxlY2lvbmFkb3Mg4oCUIG8gc2VsZWN0ZWQgbWFudMOpbVxuLy8gYSBzb21icmEgbWVub3IvZGVmaW5pZGEgZG8gYmxvY28gYWNpbWEgKGF1dG9yLTcpIGludGFjdGEgbm8gaG92ZXIsIHByYVxuLy8gbsOjbyBkaWx1aXIgbyBzaW5hbCBkZSBcImVzdGUgaXRlbSBlc3TDoSBhdGl2b1wiLiBFbSBkYXJrLCBob3ZlciBkZSBuw6NvLVxuLy8gc2VsZWN0ZWQgdGFtYsOpbSBhZGljaW9uYSBiZyBpZ3VhbCBhbyBkbyBzZWxlY3RlZCBjb21vIHJlZm9yw6dvLlxuLy8gTUVTTUEgc29tYnJhIGRvIHNlbGVjdGVkIChhdXRvci03KSDigJQgaG92ZXIgZSBzZWxlY3RlZCBkaXZpZGVtIGFnb3JhIGFcbi8vIG1lc21hIFwiYWx0aXR1ZGVcIiBkZSBlbGV2YcOnw6NvOyBhIGRpZmVyZW7Dp2EgdmlzdWFsIGVudHJlIGVsZXMgdmlyYSBvXG4vLyBiZy9ib3JkZXIgKHNlbGVjdGVkIGdhbmhhIGJnIGJyYW5jbyArIGJvcmRlciBjcmlzcGFkYTsgaG92ZXIgc8OzIGdhbmhhXG4vLyBhIHNvbWJyYSkuIElzc28gc2ltcGxpZmljYSBhIGhpZXJhcnF1aWEgZSBkw6EgdW1hIHRyYW5zacOnw6NvIGNvbnTDrW51YVxuLy8gcXVhbmRvIG8gdXN1w6FyaW8gbW92ZSBvIHBvbnRlaXJvIGVudHJlIGl0ZW1zLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uOm5vdCguc2VsZWN0ZWQpOmhvdmVyJywgYm94LXNoYWRvdywgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4zKSwgMCAxcHggM3B4IHJnYmEoMCwwLDAsMC43KSAhaW1wb3J0YW50KTtcbi5kYXJrLXRoZW1lIC5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjpub3QoLnNlbGVjdGVkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vLyBNb3VzZS1kb3duIChwcmVzcyk6IGEgc29tYnJhIGRvIGhvdmVyIEVOQ09MSEUg4oCUIFkgb2Zmc2V0IGNhaSBwcmEgMXB4XG4vLyAocGXDp2EgXCJhZnVuZGFcIiAxcHggY29udHJhIGEgY2hyb21lKSBlIGJsdXIgcmVkdXogcHJvcG9yY2lvbmFsbWVudGUuXG4vLyBNYW50w6ltIG9zIG9mZnNldHMgZG8gaG92ZXIgKGNhbnRvIHN1cGVyaW9yLWVzcXVlcmRvIGRhIGx1eiBwcmVzZXJ2YWRvKVxuLy8gcHJhIGNvbnRpbnVhciBsZW5kbyBjb21vIG1lc21hIGZhbcOtbGlhIHZpc3VhbC5cbi8vICAgbGlnaHQ6ICBob3ZlciAxcHggMnB4IDJweCDihpIgcHJlc3MgMXB4IDFweCAxcHhcbi8vICAgZGFyazogICBob3ZlciAxcHggMnB4IDNweCDihpIgcHJlc3MgMXB4IDFweCAycHhcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjphY3RpdmUnLCBib3gtc2hhZG93LCAxcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuMyksIDFweCAxcHggMnB4IHJnYmEoMCwwLDAsMC43KSAhaW1wb3J0YW50KTtcblxuLy8gQ29yIGRvIHRleHRvIGRvcyBpdGVucyBkYSB0b29sYmFyIOKAlCBtZXNtb3MgdG9rZW5zIGRvcyBpdGVucyBsZXZlbC0xIGRvXG4vLyBjaGFpciAoLmV4cGVyaW1lbnRhbC1zaWRlYmFyLWl0ZW0pOiBtdXRlZCBubyByZXN0LCBhY3RpdmUgbm8gaG92ZXIvc2VsZWN0ZWQuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcuc2lkZWJhci1pdGVtLmplbXMtdG9vbGJhci1idXR0b24nLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uOmhvdmVyJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLnNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuc2lkZWJhci1pdGVtJywgJy5sYWJlbC1zaG9ydCcsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbjpob3ZlcicsICcubGFiZWwtc2hvcnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5zaWRlYmFyLWl0ZW0uamVtcy10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZCcsICcubGFiZWwtc2hvcnQnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5cbi8qIGFwcC1zaWRlYmFyLWl0ZW0tYWRtaW4gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLWFkbWluLCAnLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciAubWF0LWljb24nLCBjb2xvciwgJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvciwgJG5hdmJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLWFkbWluLCAnLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbjpob3ZlciAubWF0LWljb24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQsICRuYXZiYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2lkZWJhci1pdGVtLWFkbWluLCAnLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZDpub3QoOmhvdmVyKSAubWF0LWljb24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQsICRuYXZiYXItYWRtaW4tbWVudWl0ZW0tc2VsZWN0ZWQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogQWN0aXZpdHkgYmFyIG92ZXJyaWRlcyDigJQgaW4gdGhpcyBsYXlvdXQgdGhlIGJnIGhpZ2hsaWdodCBsaXZlcyBvbiB0aGUgYnV0dG9uXG4gICAoNDDDlzQwIHNxdWFyZSksIG5vdCBvbiB0aGUgbWF0LWljb24uIFplcm8gb3V0IHRoZSBsZWdhY3kgLm1hdC1pY29uIGJnIGZyb21cbiAgIHRoZSBydWxlcyBhYm92ZSBhbmQgYXBwbHkgbWF0Y2hpbmcgaG92ZXIvc2VsZWN0ZWQgYmcgdG8gdGhlIGJ1dHRvbiBpdHNlbGYuICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcuYWN0aXZpdHktYmFyIC5zaWRlYmFyLWl0ZW0tYWRtaW4gLmplbXMtY2hhaXItdG9vbGJhci1idXR0b246aG92ZXIgLm1hdC1pY29uJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXIgLnNpZGViYXItaXRlbS1hZG1pbiAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbi5zZWxlY3RlZDpub3QoOmhvdmVyKSAubWF0LWljb24nLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLmFjdGl2aXR5LWJhciAuc2lkZWJhci1pdGVtLWFkbWluIC5qZW1zLWNoYWlyLXRvb2xiYXItYnV0dG9uOmhvdmVyJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5hY3Rpdml0eS1iYXIgLnNpZGViYXItaXRlbS1hZG1pbi5zZWxlY3RlZCAuamVtcy1jaGFpci10b29sYmFyLWJ1dHRvbicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLXNlbGVjdGVkLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1ldmVudCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudCwgJy5uYW1lIGEnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRibGFjay00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudCwgJy5zdWItZXZlbnQgLmxhYmVsJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkd2hpdGUtMTAwMCk7XG5cbi8qIGFwcC1ldmVudC12aWV3ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXZpZXcsICcuZXZlbnQuY2FyZCAuaW5mb3JtYXRpb24gLm5hbWUnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IsICRibGFjay00MDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC12aWV3LCAnLmV2ZW50LmNhcmQgLmluZm9ybWF0aW9uIC5zdWItZXZlbnQgLm5hbWUgYScsIGNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJGJsYWNrLTQwMCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXZpZXcsICcuZXZlbnQuY2FyZCAuaW5mb3JtYXRpb24gLmxhYmVsJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkd2hpdGUtMTAwMCk7XG5cbi8qIGFwcC1ldmVudC11c2VyLXZpZXcgKi9cbiR0YWJsZS1ob3Zlci1ib3JkZXItd2lkdGg6IDJweDtcbiR0YWJsZS1yb3ctYm9yZGVyLXJhZGl1czogJGNocm9tZS1yYWRpdXM7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXVzZXItdmlldywgJy5ldmVudC11c2VyLXZpZXcgbWF0LWNhcmQgLm1hdC1jYXJkLWhlYWRlcicsIGNvbG9yLCAkYmxhY2stMTAwMCwgJHdoaXRlLTEwMDApO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC11c2VyLXZpZXcsICcuZXZlbnQtdXNlci12aWV3IG1hdC1jYXJkIC5tYXQtY2FyZC1oZWFkZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkd2hpdGUtMTAwMCwgJGJsYWNrLTEwMDApO1xuLy8gUkVNT1ZJRE86IHNpc3RlbWEgbGVnYWRvIGRlIGJvcmRhcyAycHggKGJvcmRlci1yaWdodCBicmFuY28vcHJldG8gKyBmcmFtZSBkZVxuLy8gaG92ZXIpIGRhIHRhYmVsYSBkbyBldmVudC11c2VyLXZpZXcsIGFudGVyaW9yIMOgIG1pZ3Jhw6fDo28gcHJvIGAuamVtczMtdGFibGVgLlxuLy8gRXJhbSBlc3NhcyBib3JkYXMgYCFpbXBvcnRhbnRgIChpbnZpc8OtdmVpcyBubyBjw7NkaWdvIGRvIGNvbXBvbmVudGUpIHF1ZVxuLy8gYXBhcmVjaWFtIGNvbW8gXCJsaW5oYXMgdmVydGljYWlzIGdyb3NzYXNcIiBlIG1vbGR1cmEgbm8gaG92ZXIsIHNhYm90YW5kbyBhXG4vLyBlc3RpbGl6YcOnw6NvIG5vdmEuIEEgdGFiZWxhIGFnb3JhIMOpIGVzdGlsaXphZGEgMTAwJSBwZWxvIGNvbXBvbmVudGUgKyAuamVtczMtdGFibGUuXG5cbi8qIGFwcC11c2VyLXNlYXJjaCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC11c2VyLXNlYXJjaCwgJy51c2VyLXNlYXJjaCAudXNlci1ib3gnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtdG9waWNzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXRvcGljcywgJy50b3BpY3MgLm1hdC1jaGlwJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtdG9waWNzLCAnLnRvcGljcyAubWF0LWNoaXAnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtZXZlbnQtdG9waWNzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXRvcGljcywgJy5ldmVudC10b3BpY3MgLnN1YnRpdGxlJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcblxuLyogYXBwLXVzZXItZXZlbnQtdG9waWNzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXVzZXItZXZlbnQtdG9waWNzLCAnLmV2ZW50LXRvcGljcyAudG9waWNzLXRhYmxlIC5yb3ctaGlnaGxpZ2h0JywgYmFja2dyb3VuZC1jb2xvciwgJHJvdy10b3BpYy1oaWdobGlnaHQtY29sb3IsICRyb3ctdG9waWMtaGlnaGxpZ2h0LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtZXZlbnQtc2VuZC1lbWFpbCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ldmVudC1zZW5kLWVtYWlsLCAnLmV2ZW50LXNlbmQtZW1haWwgbWF0LWNhcmQtY29udGVudCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXNlbmQtZW1haWwsICcuZXZlbnQtc2VuZC1lbWFpbCBtYXQtY2FyZC1jb250ZW50JywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXNldHRpbmdzLWVtYWlsIOKAlCBibG9jbyBkZSB0YWJlbGEgUkVNT1ZJRE8gKGF1ZGl0b3JpYSk6IGEgdGFiZWxhXG4gICBtaWdyb3UgcHJvIGAuamVtczMtdGFibGUgamVtczMtdGFibGUtaG92ZXJgLCBxdWUgc2V0YSBiYWNrZ3JvdW5kL2NvbG9yIGNvbVxuICAgYCFpbXBvcnRhbnRgOyBlc3RhcyAzIHJlZ3JhcyAoc2VtICFpbXBvcnRhbnQpIHZpdmlhbSBtb3J0YXMvb3ZlcnJpZGRlbi4gTyBjaHJvbWVcbiAgIGRhIHRhYmVsYSB2ZW0gMTAwJSBkbyBgLmplbXMzLXRhYmxlYCBnbG9iYWwuICovXG5cbi8qIGFwcC1uYXZiYXIgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbmF2YmFyLCAnLmxvZ28gaW1nJywgLXdlYmtpdC1maWx0ZXIsICcnLCBncmF5c2NhbGUoMSkgaW52ZXJ0KDEpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbmF2YmFyLCAnLmxvZ28gaW1nJywgZmlsdGVyLCAnJywgZ3JheXNjYWxlKDEpIGludmVydCgxKSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW5hdmJhciwgJy5uYXZiYXInLCBib3gtc2hhZG93LCAnJywgMHB4IDJweCA5cHggcmdiYSgwLCAwLCAwLCAuNSkpO1xuXG4vKiBhcHAtYXZhdGFyLXByb2ZpbGUgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLm1hdC1tZW51LXBhbmVsJywgJycsIGJhY2tncm91bmQtY29sb3IsICRtYXQtbWVudS1iYWNrZ3JvdW5kLWNvbG9yLCAkbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbi8vIEV4cGVyaW1lbnRhbCBmbHlvdXQgcGFuZWwg4oCUIGZ1bGwgdmlzdWFsIHJlY2lwZSBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlclxuLy8gbWVudSAoYHRwYy11c2VyLW1lbnVgKTogc2lkZWJhciBzdXJmYWNlIGJnLCBoYWlybGluZSArIGRpZmZ1c2Ugc2hhZG93LFxuLy8gc3VibWVudSBob3Zlci9hY3RpdmUgdG9rZW5zIG9uIGl0ZW1zLCB0aGVtZS1hd2FyZSB0ZXh0LiBBcnJvdyB0YWlsIGNvbG9yXG4vLyBtYXRjaGVzIHRoZSBwYW5lbCBiZyBzbyB0aGUgdHJpYW5nbGUgcmVhZHMgYXMgYSBjb250aW51b3VzIGV4dGVuc2lvbiBvZlxuLy8gdGhlIG1lbnUgc3VyZmFjZSwgcG9pbnRpbmcgYXQgdGhlIGxldmVsLTEgaWNvbiB0aGF0IHRyaWdnZXJlZCBpdC5cbi5saWdodC10aGVtZSAuZXhwZXJpbWVudGFsLWZseW91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgLy8gYGZpbHRlcjogZHJvcC1zaGFkb3dgIGZvbGxvd3MgdGhlIHBhbmVsICsgYXJyb3cgc2lsaG91ZXR0ZSAodW5saWtlXG4gIC8vIGBib3gtc2hhZG93YCwgd2hpY2ggb25seSBvdXRsaW5lcyB0aGUgcGFuZWwncyByZWN0YW5nbGUpLlxuICAvLyBgJHNoYWRvdy1wYW5lbC1saWdodGAgaXMgdGhlIGNoYWlyIFVJJ3MgY2Fub25pY2FsIHBhbmVsLXRpZXIgZWxldmF0aW9uXG4gIC8vIChzaGFyZWQgd2l0aCB0aGUgdXNlciBtZW51IC8gbm90aWZpY2F0aW9ucykuXG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWxpZ2h0O1xuXG4gIC8vIE91dGVyIGFycm93IHRyaWFuZ2xlID0gb3V0bGluZSBjb2xvcjsgaW5uZXIgPSBwYW5lbCBiZy4gVGhlIDFweFxuICAvLyBzaXplIGRpZmZlcmVuY2UgYmV0d2VlbiA6OmJlZm9yZSBhbmQgOjphZnRlciAoc2V0IGluIHRoZSBjb21wb25lbnRcbiAgLy8gc2NzcykgbGVhdmVzIGEgMXB4IHJpbmcgb2YgdGhlIG91dGVyIHZpc2libGUgYXJvdW5kIHRoZSBpbm5lciDigJRcbiAgLy8gZ2l2ZXMgdGhlIGFycm93IGEgY3Jpc3AgZWRnZSBhZ2FpbnN0IHRoZSBib2R5IGJnIChuZWNlc3NhcnkgaW5cbiAgLy8gbGlnaHQgbW9kZSB3aGVyZSB0aGUgcGFuZWwgYmcgaXMgbmVhcmx5IGluZGlzdGluZ3Vpc2hhYmxlIGZyb20gdGhlXG4gIC8vIGJvZHkgYmcgYmVoaW5kIGl0KS5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbiAgJjo6YWZ0ZXIge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbSB7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUgIWltcG9ydGFudDtcbiAgfVxuICAvLyBgLmFjdGl2ZWAgdXNlcyB0aGUgU0FNRSBiYWNrZ3JvdW5kIGFzIGhvdmVyIChjaGFpciBVSSBydWxlOiBob3ZlciDiiaFcbiAgLy8gc2VsZWN0ZWQsIGJvdGggZW1waGFzaXplZCB2cyByZXN0KS5cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBDaGlwIGhlYWRlciDigJQgc2FtZSB0b2tlbnMgYXMgdGhlIG9yaWdpbmFsIGNoYWlyLXN1Ym1lbnUgdGl0bGUgYmFkZ2UuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmc7XG4gICAgLy8gV2FzIGAjMUMxOTE3YCAodmVyeSBkYXJrIHdhcm0gZ3JheSkg4oCUIHN3YXBwZWQgZm9yIHRoZSBjYW5vbmljYWxcbiAgICAvLyBgbWVudWl0ZW0tY29sb3ItYWN0aXZlYCAoYCMwMDBgKSBzaW5jZSB0aGUgZGlmZmVyZW5jZSBpcyBiZWxvd1xuICAgIC8vIHBlcmNlcHR1YWwgdGhyZXNob2xkIGFnYWluc3QgdGhlIGNoaXAncyBuZWFyLXdoaXRlIGJhY2tncm91bmQuXG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICBib3JkZXItY29sb3I6ICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICB9XG59XG5cbi5kYXJrLXRoZW1lIC5leHBlcmltZW50YWwtZmx5b3V0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gIC8vIERldGVybWluaXN0aWMgMXB4IG91dGxpbmU6IGBib3gtc2hhZG93IDAgMCAwIDFweGAgZHJhd3MgYSBzb2xpZCAxcHhcbiAgLy8gcmluZyBhcm91bmQgdGhlIHJlY3RhbmdsZSAoZm9sbG93cyBib3JkZXItcmFkaXVzIHBlcmZlY3RseSksIGFuZCB0aGVcbiAgLy8gYXJyb3cgZ2V0cyBpdHMgb3V0bGluZSBmcm9tIHRoZSB0d28gbGF5ZXJlZCB0cmlhbmdsZXMgYmVsb3cgKG91dGVyXG4gIC8vIDo6YmVmb3JlIGluIHRoZSBvdXRsaW5lIGNvbG9yLCBpbm5lciA6OmFmdGVyIGluIHRoZSBwYW5lbCBiZykuIE5vXG4gIC8vIGJsdXIsIG5vIHN0YWNraW5nLCB1bmlmb3JtIHBpeGVsIGRlbnNpdHkuIFRoZSBwYW5lbC10aWVyIGBmaWx0ZXI6XG4gIC8vIGRyb3Atc2hhZG93YCBpcyBzaGFyZWQgd2l0aCB0aGUgdXNlciBtZW51IC8gbm90aWZpY2F0aW9ucy5cbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcms7XG5cbiAgLy8gT3V0ZXIgYXJyb3cgdHJpYW5nbGUgPSBvdXRsaW5lIGNvbG9yOyBpbm5lciA9IHBhbmVsIGJnLiBUaGUgMXB4XG4gIC8vIHNpemUgZGlmZmVyZW5jZSBiZXR3ZWVuIDo6YmVmb3JlIGFuZCA6OmFmdGVyIChzZXQgaW4gYF9tZW51LnNjc3NgKVxuICAvLyBsZWF2ZXMgYSAxcHggcmluZyBvZiB0aGUgb3V0ZXIgdHJpYW5nbGUgdmlzaWJsZSBhcm91bmQgdGhlIGlubmVyLFxuICAvLyBmb3JtaW5nIGEgdW5pZm9ybSBvdXRsaW5lIG9uIHRoZSBhcnJvdy5cbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6ICRjaHJvbWUtYm9yZGVyLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5leHBlcmltZW50YWwtZmx5b3V0LWl0ZW0ge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLy8gRGFyay1tb2RlIGNvdW50ZXJwYXJ0IG9mIHRoZSB1bmlmaWVkIGhvdmVyL2FjdGl2ZSBiZyBhYm92ZS5cbiAgLmV4cGVyaW1lbnRhbC1mbHlvdXQtaXRlbS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWhvdmVyLWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gQ2hpcCBoZWFkZXIg4oCUIGRhcmstbW9kZSBjb3VudGVycGFydCBvZiB0aGUgc3VibWVudSB0aXRsZSBiYWRnZSB0b2tlbnMuXG4gIC8vIEJvcmRlci1jb2xvciBtYXRjaGVzIHRoZSByZXN0IG9mIHRoZSBjaHJvbWUncyBkaXZpZGVyIGNvbG9yICgkY2hyb21lLWJvcmRlci1kYXJrIOKAlFxuICAvLyBhbHNvIHVzZWQgYnkgdGhlIHZlcnRpY2FsIHNpZGViYXIgZWRnZS1saW5lIGFuZCB0aGUgaGVhZGVyL2JvdHRvbS1yYWlsXG4gIC8vIGhvcml6b250YWwgZGl2aWRlcnMpIHNvIHRoZSBjaGlwIG91dGxpbmUgcmVhZHMgYXMgcGFydCBvZiB0aGUgc2FtZVxuICAvLyB2aXN1YWwgZmFtaWx5LlxuICAuZXhwZXJpbWVudGFsLWZseW91dC10aXRsZSB7XG4gICAgLy8gV2FzIGAjMmIyYTI4YCBsaXRlcmFsIOKAlCBleGFjdGx5IHRoZSBzYW1lIHZhbHVlIGFzIHRoZSBjYW5vbmljYWxcbiAgICAvLyBgbWVudWl0ZW0taG92ZXItYmFja2dyb3VuZC1kYXJrYCB0b2tlbiwgc28gd2UgdXNlIHRoZSB0b2tlbiBmb3JcbiAgICAvLyB0cmFjZWFiaWxpdHkgKGl0J3MgdGhlIGNoYWlyIFVJJ3MgXCJpbnRlcmFjdGl2ZSBzdXJmYWNlIGEgc3RlcCB1cFxuICAgIC8vIGZyb20gdGhlIHNpZGViYXIgYmdcIiBjb2xvdXIsIHNhbWUgcm9sZSBoZXJlKS5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcms7XG4gICAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrO1xuICAgIGJvcmRlci1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgfVxufVxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LW1lbnUtcGFuZWwnLCAnJywgYm94LXNoYWRvdywgJycsIDBweCAycHggMTBweCAxcHggYmxhY2spO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcubWF0LW1lbnUtY29udGVudCcsICcubWF0LW1lbnUtaXRlbSAubWF0LWljb24sIC5tYXQtbWVudS1pdGVtJywgY29sb3IsICRzaWRlYmFyLWxhYmVsLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXI6bm90KFtkaXNhYmxlZF0pJywgJycsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWFjY2VudC1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCdidXR0b24ubWF0LW1lbnUtaXRlbTpob3ZlcicsICcnLCBjb2xvciwgJGFkbWluLWFjY2VudC1jb2xvciwgJGFkbWluLWFjY2VudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXInLCAnLm1hdC1pY29uJywgY29sb3IsICRhZG1pbi1hY2NlbnQtY29sb3IsICRhZG1pbi1hY2NlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5tYXQtbWVudS1jb250ZW50IC5jb250YWluZXItdGhlbWUgLmhpZ2hsaWdodC1idXR0b24sIC5tYXQtbWVudS1jb250ZW50IC5jb250YWluZXItbGF5b3V0IC5oaWdobGlnaHQtYnV0dG9uLCAubWF0LW1lbnUtY29udGVudCAuY29udGFpbmVyLWxhbmd1YWdlLWNvbXBhY3QgLmhpZ2hsaWdodC1idXR0b24nLCAnJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1zZWxlY3RlZC1tZW51LWNvbG9yLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpKTtcblxuLyogYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIgKi9cbi8vIEJnIG9ubHkgd2hlbiBhY3RpdmVseSBsb2FkaW5nIOKAlCBvdGhlcndpc2UgdHJhbnNwYXJlbnQgc28gdGhlIDJweCBzdHJpcFxuLy8gZG9lc24ndCBwYWludCBvdmVyIHRoZSBjaHJvbWUgYmVsb3cgaXQgKGFjdGl2aXR5IGJhciwgc3VibWVudSB0b3AgYm9yZGVyKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZml4ZWQtdG9wLXByb2dyZXNzLWJhciwgJy5maXhlZC10b3AtcHJvZ3Jlc3MtYmFyLmFjdGl2ZScsIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtaG9tZSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ob21lLCAnLmhvbWUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1ob21lLCAnLmhvbWUnLCBjb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAkY29udGVudC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtaG9tZSwgJy5ob21lIC5wYWdlLWNvbnRlbnQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtcGFwZXItaW5mbyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wYXBlci1pbmZvLCAnLnBhcGVyLWluZm8gYScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cblxuLyogYXBwLWRpYWxvZy10aW1lem9uZSAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsIHRhYmxlIHRoZWFkIHRyIHRoLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsIHRhYmxlIHRoZWFkIHRyIHRoLCBib3JkZXItYm90dG9tLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcudGltZVpvbmVQYW5lbCcsICd0YWJsZSB0aGVhZCB0ciB0aDpmaXJzdC1jaGlsZCcsIGJvcmRlci1yaWdodC1jb2xvciwgJHdoaXRlLTEwMDAsICRibGFjay0xMDAwKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCB0YWJsZSB0Ym9keSB0ciB0ZCwgYmFja2dyb3VuZC1jb2xvciwgJHdoaXRlLTEwMDAsIHJnYigyNCwgMjQsIDI0KSk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgdGFibGUgdGJvZHkgdHIgdGQsIGJvcmRlci1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCAndGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQnLCBib3JkZXItcmlnaHQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy50aW1lWm9uZVBhbmVsJywgJ3RhYmxlIHRib2R5IHRyOmhvdmVyIHRkJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLnRpbWVab25lUGFuZWwnLCAndGFibGUgdGJvZHkgdHI6aG92ZXIgdGQnLCBib3JkZXItcmlnaHQtY29sb3IsICR3aGl0ZS0xMDAwLCAkYmxhY2stMTAwMCk7XG5cbi8qIGFwcC1sYW5kaW5nICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWxhbmRpbmcsICcubGFuZGluZyAuY29udGVudC1jb250YWluZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1sYW5kaW5nLCAnLmxhbmRpbmcgLmNvbnRlbnQtY29udGFpbmVyIC5sb2dvLmltYWdlJywgZmlsdGVyLCAnJywgaW52ZXJ0KDEpKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbGFuZGluZywgJy5sYW5kaW5nIC5jb250ZW50LWNvbnRhaW5lciBpJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbGFuZGluZywgJy5sYW5kaW5nIC5sYW5ndWFnZS1jb250YWluZXInLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1sYW5kaW5nLCAnLmxhbmRpbmcgLmxhbmd1YWdlLWNvbnRhaW5lcicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1ldmVudHMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnRzLCAnLmV2ZW50cyAubWFpbi10aXRsZSBpJywgY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3IsICRuYXZiYXItZXZlbnRzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdWJtaXNzaW9ucyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucywgJy5zdWJtaXNzaW9ucyAubWFpbi10aXRsZSBpJywgY29sb3IsICRuYXZiYXItbXktc3VibWlzc2lvbnMtaWNvbi1jb2xvciwgJG5hdmJhci1teS1zdWJtaXNzaW9ucy1pY29uLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtcmV2aWV3cyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1yZXZpZXdzLCAnLnJldmlld3MgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3ItZGFyayk7XG5cbi8qIGFwcC1wYXBlci1yZXZpZXctbGlzdCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wYXBlci1yZXZpZXctbGlzdCwgJy5wYXBlci1yZXZpZXctbGlzdCAudGFibGUtY29udGFpbmVyIC50YWJsZSAucmV2aWV3IHRkJywgYm9yZGVyLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1jb21taXR0ZWVzICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNvbW1pdHRlZXMsICcuY29tbWl0dGVlcyAubWFpbi10aXRsZSBpJywgY29sb3IsICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLW15LWV2ZW50cyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1teS1ldmVudHMsICcubXlldmVudHMgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLCAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtc2Vzc2lvbi1jaGFpcmluZ3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc2Vzc2lvbi1jaGFpcmluZ3MsICcuc2Vzc2lvbi1jaGFpcmluZ3MgLm1haW4tdGl0bGUgaScsIGNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3IsICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLXB1YmxpY2F0aW9uLWNoYWlyaW5ncyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1jaGFpcmluZ3MsICcucHVibGljYXRpb24tY2hhaXJpbmdzIC5tYWluLXRpdGxlIGknLCBjb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcblxuLyogYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUgKEFOVElHTykg4oCUIGJsb2NvIGRlIHRhYmVsYSBSRU1PVklETyAoYXVkaXRvcmlhKTpcbiAgIG8gY29tcG9uZW50ZSDDqSBERUFEIENPREUgKDAgdXNvcyBlbSB0ZW1wbGF0ZTsgc3Vic3RpdHXDrWRvIHBlbG8gYC12MmApLCBlbnTDo28gZXN0ZVxuICAgc2lzdGVtYSBkZSBib3JkYSAoYm9yZGVyLXJpZ2h0IHdoaXRlL2JsYWNrICsgZnJhbWUgZGUgaG92ZXIgYCFpbXBvcnRhbnRgKSBudW5jYVxuICAgcmVuZGVyaXphdmEuIE5PVEE6IG8gYXJxdWl2byBgLnRzYCBjb250aW51YSBleGlzdGluZG8gc8OzIHBlbG8gZXhwb3J0IGBDb2xsZWN0aW9uYFxuICAgdXNhZG8gZW0gYHNob3ctYWxsLXN1Ym1pc3Npb25zYCDigJQgcmVmYWN0b3IgZnV0dXJvOiBleHRyYWlyIGBDb2xsZWN0aW9uYCBwLyB1bSB0aXBvXG4gICBjb21wYXJ0aWxoYWRvIGUgZW50w6NvIGFwYWdhciBvIGNvbXBvbmVudGUgKyBzdWEgZGVjbGFyYcOnw6NvIG5vIGFwcC5tb2R1bGUuICovXG5cbi8qIGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIEZhZGUgZGEgYm9yZGEgZXNxdWVyZGEgKC5zY3JvbGwtZmFkZS1sZWZ0LCB2aXPDrXZlbCBhbyByb2xhciBhIHRhYmVsYSDDoCBlc3F1ZXJkYSk6XG4vLyBncmFkaWVudGUgZGEgY29yIGRlIGZ1bmRvIGRvIGNvbnRlw7pkbyDihpIgdHJhbnNwYXJlbnRlIChyZ2JhKC4uLiwwKSwgbsOjbyBgdHJhbnNwYXJlbnRgLFxuLy8gcC8gZXZpdGFyIHRvbSBhY2luemVudGFkbyBubyBtZWlvIGRvIGRlZ3JhZMOqIGVtIGFsZ3VucyBuYXZlZ2Fkb3JlcykuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnNjcm9sbC1mYWRlLWxlZnQnLCBiYWNrZ3JvdW5kLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRjb250ZW50LWJhY2tncm91bmQgNDAlLCByZ2JhKCRjb250ZW50LWJhY2tncm91bmQsIDApKSwgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmsgNDAlLCByZ2JhKCRjb250ZW50LWJhY2tncm91bmQtZGFyaywgMCkpKTtcbi8vIEZhZGUgZGEgYm9yZGEgZGlyZWl0YSAoLnNjcm9sbC1mYWRlLXJpZ2h0KTogZ3JhZGllbnRlIHNpbXBsZXMgKGNvciDihpIgdHJhbnNwYXJlbnRlKSBjb21vXG4vLyBgYmFja2dyb3VuZC1pbWFnZWA7IGEgZmFpeGEgZGUgNDBweCBuYSBib3JkYSBkaXJlaXRhIMOpIGdhcmFudGlkYSBwb3IgYGJhY2tncm91bmQtc2l6ZWAvXG4vLyBgLXBvc2l0aW9uYCBubyBTQ1NTIGRvIGNvbXBvbmVudGUgKG7Do28gcG9yIHN0b3AgYWJzb2x1dG8sIHF1ZSByZW5kaWEgbGFyZ3VyYSBpbmNvbnNpc3RlbnRlKS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc2Nyb2xsLWZhZGUtcmlnaHQnLCBiYWNrZ3JvdW5kLWltYWdlLCBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGNvbnRlbnQtYmFja2dyb3VuZCA0MCUsIHJnYmEoJGNvbnRlbnQtYmFja2dyb3VuZCwgMCkpLCBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrIDQwJSwgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssIDApKSk7XG4vLyBDYWJlw6dhbGhvIHN0aWNreSAobWF0SGVhZGVyUm93RGVmIHN0aWNreSk6IGZ1bmRvIGVtIGdyYWRpZW50ZSB2ZXJ0aWNhbCBjb20gRk9SVEUgdmFyaWHDp8OjbyDigJQgdG9wb1xuLy8gVE9UQUxNRU5URSBvcGFjbyAodMOtdHVsbyBkZXN0YWNhLCBuw610aWRvKSBlIGJhc2UgRlJBQ0EvdHJhbnNwYXJlbnRlIChhcyBsaW5oYXMgcm9sYW0gcG9yIGJhaXhvLFxuLy8gZGVzZm9jYWRhcyBwZWxvIGJhY2tkcm9wLWZpbHRlcikuIFRvcG8gMS4wIOKGkiBiYXNlIDAuNS5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGgubWF0LWhlYWRlci1jZWxsJywgYmFja2dyb3VuZCwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbnRlbnQtYmFja2dyb3VuZCwgcmdiYSgkY29udGVudC1iYWNrZ3JvdW5kLCAwLjUpKSwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCByZ2JhKCRjb250ZW50LWJhY2tncm91bmQtZGFyaywgMC41KSkpO1xuLy8gQ29yIGRvIFRFWFRPIGRvIGNhYmXDp2FsaG8gdmlhIG8gTUVTTU8gdG9rZW4gZGEgY29sdW5hICMgKHVuaWZpY2FkbykuIE5vIGxpZ2h0XG4vLyByZXByb2R1eiBvIGRlZmF1bHQgZG8gTWF0ZXJpYWwgKC41NDEpOyBubyBkYXJrIGZpeGEgI0ZGRkZGRkIzIChvIE1hdGVyaWFsIG7Do28gdGVtXG4vLyB0ZW1hIGRhcmsgYXF1aSwgZW50w6NvIG8gZGVmYXVsdCBmaWNhcmlhIGVzY3Vyby9pbGVnw612ZWwpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0aC5tYXQtaGVhZGVyLWNlbGwnLCBjb2xvciwgJHRhYmxlLWhlYWRlci1jb2xvciwgJHRhYmxlLWhlYWRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQ6Zmlyc3QtY2hpbGQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ZDpsYXN0LWNoaWxkJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIFNlcGFyYWRvciB2ZXJ0aWNhbCBlbnRyZSBjb2x1bmFzIOKAlCBjb3IgZGEgXCJsaW5oYSByZWFsXCIgKGdlb21ldHJpYS9wc2V1ZG8gOjpiZWZvcmVcbi8vIGZpY2Egbm8gY29tcG9uZW50ZSkuIEFudGVzIGVyYSB1bSBib3JkZXItcmlnaHQgbmEgY8OpbHVsYSwgcXVlIGRlc2xvY2F2YSBvIDo6YWZ0ZXJcbi8vIGUgY29ydGF2YSBvIGNvbnRvcm5vIGRlIGhvdmVyL3NlbGVjdGVkOyBhZ29yYSBvIDo6YmVmb3JlIGZpY2Egc29iIG8gY29udG9ybm8sIHF1ZVxuLy8gcGFzc2EgcG9yIGNpbWEgKHRvcC9ib3R0b20pIGUgc2VndWUgY29udMOtbnVvLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ZC5tYXQtY2VsbDpub3QoLmxhc3QtY29sdW1uKTo6YmVmb3JlJywgYmFja2dyb3VuZC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIENvbnRvcm5vIGRlIGhvdmVyL1wiaG92ZXJlZFwiIHZpYSBib3gtc2hhZG93IGluc2V0IG5vIHBzZXVkbyA6OmFmdGVyIChnZW9tZXRyaWFcbi8vIGRvIDo6YWZ0ZXIgZmljYSBubyBjb21wb25lbnRlKS4gU3Vic3RpdHVpIGEgdMOpY25pY2EgYW50aWdhIGRlIHJldmVsYXJcbi8vIGBib3JkZXItY29sb3JgLiBEaXJlY2lvbmFsIHBhcmEgcHJlc2VydmFyIG8gTUVTTU8gcmVjb3J0ZSBkbyBlZmVpdG8gYW50ZXJpb3I6XG4vLyB0b3AvYm90dG9tIG5hcyBjb2x1bmFzIGRlIGNvbnRlw7pkbywgbGVmdCBuYSAuZmlyc3QtY29sdW1uLCByaWdodCBuYSAubGFzdC1jb2x1bW47XG4vLyBhcyBjb2x1bmFzIGV4dHJlbWFzIChwb3NpdGlvbi9zZWxlY3QpIHNlZ3VlbSBmb3JhIGRvIGNvbnRvcm5vLiBgLmhvdmVyZWRgIMOpIG9cbi8vIGVzdGFkbyB0cmF2YWRvIHZpYSBKUyAoZm9yY2VIb3ZlcikgZW5xdWFudG8gdW0gZHJvcGRvd24gZGEgbGluaGEgZXN0w6EgYWJlcnRvLlxuLy8gRXNjb3BhZG8gZW0gdGQubWF0LWNlbGwgcGFyYSBuw6NvIGF0aW5naXIgYXMgc3ViLXRhYmVsYXMgaW50ZXJuYXMgKHNjb3Jlcy9hcnF1aXZvcykuXG4vLyBPcyBibG9jb3MgZGUgZmlyc3QvbGFzdC1jb2x1bW4gdsOqbSBERVBPSVMgZG8gZGUgY29udGXDumRvIGRlIHByb3DDs3NpdG86IHTDqm0gYVxuLy8gbWVzbWEgZXNwZWNpZmljaWRhZGUgZSBwcmVjaXNhbSB2ZW5jZXIgcGVsbyBkZXNlbXBhdGUgZGUgb3JkZW0uXG4vLyAkcm93OiBxdWFsaWZpY2Fkb3Igb3BjaW9uYWwgZGEgbGluaGEgKGV4LjogJy5uby1zdGF0dXMtY29sb3InKSBwLyBlc2NvcGFyIG8gY29udG9ybm9cbi8vIGEgdW0gc3ViY29uanVudG8gZGUgbGluaGFzIGNvbSBtYWlvciBlc3BlY2lmaWNpZGFkZSAob3ZlcnJpZGUpLiBWYXppbyA9IHRvZGFzIGFzIGxpbmhhcy5cbkBtaXhpbiBzdWJtaXNzaW9uLXJvdy1ob3Zlci1vdXRsaW5lKCRjb2xvciwgJHJvdzogJycpIHtcbiAgdHIjeyRyb3d9OmhvdmVyIHRkLm1hdC1jZWxsOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyLFxuICB0ciN7JHJvd30uaG92ZXJlZCB0ZC5tYXQtY2VsbDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIHRyI3skcm93fTpob3ZlciB0ZC5tYXQtY2VsbC5maXJzdC1jb2x1bW46bm90KDpmaXJzdC1jaGlsZCk6OmFmdGVyLFxuICB0ciN7JHJvd30uaG92ZXJlZCB0ZC5tYXQtY2VsbC5maXJzdC1jb2x1bW46bm90KDpmaXJzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICB0ciN7JHJvd306aG92ZXIgdGQubWF0LWNlbGwubGFzdC1jb2x1bW46bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIsXG4gIHRyI3skcm93fS5ob3ZlcmVkIHRkLm1hdC1jZWxsLmxhc3QtY29sdW1uOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGNvbG9yO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi5saWdodC10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHtcbiAgQGluY2x1ZGUgc3VibWlzc2lvbi1yb3ctaG92ZXItb3V0bGluZSgkdGFibGUtaG92ZXItYm9yZGVyLWNvbG9yKTtcbn1cbi5kYXJrLXRoZW1lIGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyIC5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUge1xuICAvLyBNRVNNQSBsw7NnaWNhIGRvIHbDqXUsIGFnb3JhIHByYSBDT1IgRE8gQ09OVE9STk86XG4gIC8vICDigKIgQ29sb3JpciBPTiAobGluaGFzIGNvbG9yaWRhcy9jbGFyYXMpIOKGkiBjb250b3JubyBFU0NVUk8gKD0gbGlnaHQgbW9kZSksIHZpc8OtdmVsXG4gIC8vICAgIHNvYnJlIGFzIGNvcmVzIGNsYXJhcyBkZSBzdGF0dXMuIMOJIG8gUEFEUsODTyBkbyBkYXJrIGFxdWkuXG4gIC8vICDigKIgQ29sb3JpciBPRkYgKC5uby1zdGF0dXMtY29sb3IsIGxpbmhhcyBwbGFuYXMgZXNjdXJhcykg4oaSIGNvbnRvcm5vIEJSQU5DTyAob3ZlcnJpZGUsXG4gIC8vICAgIG1haXMgZXNwZWPDrWZpY28pLlxuICBAaW5jbHVkZSBzdWJtaXNzaW9uLXJvdy1ob3Zlci1vdXRsaW5lKCR0YWJsZS1ob3Zlci1ib3JkZXItY29sb3IpO1xuICBAaW5jbHVkZSBzdWJtaXNzaW9uLXJvdy1ob3Zlci1vdXRsaW5lKHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSksICcubm8tc3RhdHVzLWNvbG9yJyk7XG5cbiAgLy8gQ29sb3JpciBPRkYsIDHCqiBjb2x1bmE6IGEgYm9yZGEgRVNRVUVSREEgZG8gY29udG9ybm8gKGJyYW5jbykgZmljYSBzb2JyZSBhIEZBSVhBIGRlXG4gIC8vIHN0YXR1cyAoc2VtcHJlIENMQVJBKSDihpIgXCJsYXZhXCIuIFVzYSBFU0NVUk8gc8OzIG5lc3NhIGJvcmRhLiAoQ29tIENvbG9yaXIgT04gbyBjb250b3Jub1xuICAvLyBqw6Egw6kgZXNjdXJvIOKGkiB2aXPDrXZlbCBzb2JyZSBhIGZhaXhhLCBuw6NvIHByZWNpc2EgZGUgb3ZlcnJpZGUuKSBBcMOzcyBvIEBpbmNsdWRlXG4gIC8vIG5vLXN0YXR1cy1jb2xvciBhY2ltYSDihpIgbWVzbW8gc2VsZXRvciwgdmVuY2UgcG9yIG9yZGVtIGRlIGZvbnRlLlxuICB0ci5uby1zdGF0dXMtY29sb3I6aG92ZXIgdGQubWF0LWNlbGwuZmlyc3QtY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpOjphZnRlcixcbiAgdHIubm8tc3RhdHVzLWNvbG9yLmhvdmVyZWQgdGQubWF0LWNlbGwuZmlyc3QtY29sdW1uOm5vdCg6Zmlyc3QtY2hpbGQpOjphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgfVxufVxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyLCAnLm1hdC1jYXJkIC5zdWJtaXNzaW9uLXRhYmxlLm1hdC10YWJsZSB0ZCBzcGFuLnN1YnRpdGxlLXRleHQnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuLy8gQ29yIGRlZmF1bHQgZG8gdGV4dG8gZGFzIGPDqWx1bGFzID0gaXRlbSBkZSAxwrogbsOtdmVsIGRvIG1lbnUgbGF0ZXJhbC4gQWx0YVxuLy8gZXNwZWNpZmljaWRhZGUgKC5saWdodC8uZGFyayArIGNhZGVpYSBtYXQtdGFibGUpIHBhcmEgdmVuY2VyIG8gZm9yZWdyb3VuZCBkb1xuLy8gbWF0LWNhcmQgKE1hdGVyaWFsKS4gQXMgbm90YXMgKC5yYW5rLXRhYmxlLCBmdW5kbyBicmFuY28pIHPDo28gdHJhdmFkYXMgZW1cbi8vIGVzY3VybyBubyBwcsOzcHJpbyBjb21wb25lbnRlIHBhcmEgbsOjbyBmaWNhcmVtIGlsZWfDrXZlaXMgbm8gZGFyay5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQubWF0LWNlbGwnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmspO1xuLy8gQ29sdW5hICMgKG51bWVyYcOnw6NvKTogTUVTTUEgY29yIGRvIGNhYmXDp2FsaG8sIHZpYSB0b2tlbiB1bmlmaWNhZG8gJHRhYmxlLWhlYWRlci1jb2xvci5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGQucG9zaXRpb24nLCBjb2xvciwgJHRhYmxlLWhlYWRlci1jb2xvciwgJHRhYmxlLWhlYWRlci1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiwgJy5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdGggLm1hcmstYWxsLWJ1dHRvbicsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtdGFibGUtdjIsICcubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRkLnNlbGVjdCBidXR0b24nLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vLyBDT05URcOaRE8gZGFzIGPDqWx1bGFzIOKAlCBNRVNNQSBsw7NnaWNhIGRvIHbDqXUvYm9yZGE6IGxpbmhhcyBDT0xPUklEQVMgKENvbG9yaXIgT04pIHTDqm1cbi8vIGZ1bmRvIGRlIHN0YXR1cyBDTEFSTyBlbSBBTUJPUyBvcyB0ZW1hcyDihpIgbyBjb250ZcO6ZG8gdXNhIGFzIGNvcmVzIGRvIExJR0hUIG1vZGVcbi8vIChsZWfDrXZlbCBzb2JyZSBvIGNsYXJvKS4gU8OzIGBkYXJrICsgbm8tc3RhdHVzLWNvbG9yYCBtYW50w6ltIGFzIGNvcmVzIGRvIGRhcmsgKGrDoSB2w6ptXG4vLyBkYXMgcmVncmFzIGFjaW1hKS4gRXN0ZSBibG9jbyBzw7MgYXRhY2EgbyBkYXJrICsgbGluaGEgQ09MT1JJREEgKGB0cjpub3QoLm5vLXN0YXR1cy1jb2xvcilgKSxcbi8vIHZlbmNlbmRvIGFzIHJlZ3JhcyBkYXJrIGJhc2UgcG9yIHRlciBvIGB0cjpub3QoLi4uKWAgKyBvcyBgOm5vdCg6Zmlyc3QvbGFzdClgIGEgbWFpcy5cbi8vIEVzY29wbyA9IGPDqWx1bGFzIGRlIENPTlRFw5pETyAoZXhjbHVpIG51bWVyYcOnw6NvL3NlbGXDp8OjbywgcXVlIGZpY2FtIGZvcmEgZG8gY2FyZCkuXG4uZGFyay10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRyOm5vdCgubm8tc3RhdHVzLWNvbG9yKSB7XG4gIHRkLm1hdC1jZWxsOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvcjsgICAgICAgICAgICAgICAgIC8vIHRleHRvIGJhc2U6ICMzNzM3MzQgKGVyYSAjYzRjMmJkKVxuXG4gICAgc3Bhbi5zdWJ0aXRsZS10ZXh0IHsgY29sb3I6ICRjb250ZW50LWNvbG9yOyB9ICAgICAgICAgLy8gc3VidMOtdHVsbzogIzM2MzYzNiAoZXJhICNGNkY2RjYpXG4gICAgLnRpdGxlIHsgY29sb3I6ICRjb250ZW50LWNvbG9yOyB9ICAgICAgICAgICAgICAgICAgICAgLy8gdMOtdHVsbzogIzM2MzYzNiAoZXJhICNGNkY2RjYsIHJlZ3JhIGdsb2JhbCAudGl0bGUpXG4gICAgLy8gTGlua3Mvw61jb25lcyBhY2NlbnQgKGF1dG9yZXMrZS1tYWlscyk6IGFjY2VudCBkbyBMSUdIVCAoIzdDMkQxMiwgbWFycm9tKS4gQ29icmUgb1xuICAgIC8vIDxhPiBlbSBzaSAodmVuY2UgYF9wYXBlci5zY3NzYCkuIE8gPHNwYW4+IGludGVybm8gZG8gbm9tZS9lLW1haWwgdGVtIGNvciBQUsOTUFJJQVxuICAgIC8vIChyZWdyYSBgdGQuZGVzY3JpcHRpb24gYSBzcGFuYCBkbyBjb21wb25lbnRlIHYyLCBxdWUgY29tcGlsYSBjb20gdsOhcmlvcyBbX25nY29udGVudF1cbiAgICAvLyDihpIgZXNwZWNpZmljaWRhZGUgbWFpb3IpIOKGkiB0cmF0YWRvIG5hIHJlZ3JhIERFRElDQURBIGxvZ28gYXDDs3MgZXN0ZSBibG9jby5cbiAgICBhLCAuZmEtZmlsZS1wZGYsIC5mYS11cGxvYWQgeyBjb2xvcjogJGFjY2VudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIENvbHVuYSBBcnF1aXZvczogYXBwLWZpbGUtcGlsbCDDqSBDT01QT05FTlRFIHNlcGFyYWRvIChyZWdyYXMgZGFyayB2aWEgOmhvc3QtY29udGV4dCkuXG4gICAgLy8gRm9yw6dhIG8gdGV4dG8gZG8gcGlsbCAoaW5jbHVzaXZlIGEgdmFyaWFudGUgXCItLW1pc3NpbmdcIiwgZXguOiBcIk1hbnVzY3JpdG9cIiBhdXNlbnRlKSxcbiAgICAvLyBvIMOtY29uZSBkZSBhdXNlbnRlIEUgbyDDrWNvbmUgZGUgZG93bmxvYWQgcHJvIGVzcXVlbWEgTElHSFQgc29icmUgYSBsaW5oYSBjb2xvcmlkYS5cbiAgICAvLyBDbGFzc2VzIFJFQUlTID0gYC5maWxlLXBpbGwqYCAoTsODTyBgLmN2LWViLSpgLCBxdWUgw6kgZGUgb3V0cm8gY29tcG9uZW50ZSDigJQgZm9pIG9cbiAgICAvLyBlcnJvIGFudGVyaW9yKS4gTyBcIipcIiByZXF1aXJlZCAodmVybWVsaG8pIGZpY2EgY29tbyBlc3TDoS5cbiAgICBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwsXG4gICAgYXBwLWZpbGUtcGlsbCAuZmlsZS1waWxsLS1taXNzaW5nLFxuICAgIGFwcC1maWxlLXBpbGwgLmZpbGUtcGlsbC1uYW1lLFxuICAgIGFwcC1maWxlLXBpbGwgLmZpbGUtcGlsbC1pY29uLW1pc3NpbmcgeyBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgIWltcG9ydGFudDsgfVxuICAgIGFwcC1maWxlLXBpbGwgLmZpbGUtcGlsbC1pY29uIHsgY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbi8vIEFVVE9SIOKAlCA8c3Bhbj4gZG8gbm9tZS9lLW1haWw6IG8gY29tcG9uZW50ZSB2MiBjb2xvcmUgYHRkLmRlc2NyaXB0aW9uIGEgc3BhbmAsIHF1ZSBjb21waWxhXG4vLyBjb20gVsOBUklPUyBbX25nY29udGVudF0gKGNhZGEgdW0gY29udGEgY29tbyBjbGFzc2UpIOKGkiBlc3BlY2lmaWNpZGFkZSB+KDAsOSwzKSwgQUNJTUEgZG9cbi8vIGJsb2NvIGFjaW1hIH4oMCw4LDUpLiBDb21vIG7CuiBkZSBDTEFTU0VTIGRlc2VtcGF0YSBwcmltZWlybyAoOSA+IDgpLCBhIGRvIGNvbXBvbmVudGUgdmVuY2Vcbi8vIGUgbyBzcGFuIGZpY2EgYW1iZXIgKCNGQkJGMjQpLiBFc3RhIHJlZ3JhIGRlZGljYWRhIGFjcmVzY2VudGEgYC5wYXBlckJhY2tncm91bmRgIChubyA8dHI+KVxuLy8gZSBgLmRlc2NyaXB0aW9uYCAobm8gPHRkPikg4oaSIHNvYmUgcHJhIH4oMCwxMCw1KSBlIHZlbmNlIOKGkiBhdXRvci9lLW1haWwgbm8gYWNjZW50IG1hcnJvbS5cbi5kYXJrLXRoZW1lIGFwcC1zdWJtaXNzaW9ucy1saXN0LXRhYmxlLXYyIC5tYXQtY2FyZCAuc3VibWlzc2lvbi10YWJsZS5tYXQtdGFibGUgdHIucGFwZXJCYWNrZ3JvdW5kOm5vdCgubm8tc3RhdHVzLWNvbG9yKSB0ZC5tYXQtY2VsbC5kZXNjcmlwdGlvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIGEgc3BhbiB7XG4gIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQgIWltcG9ydGFudDtcbn1cblxuLy8gw41jb25lIGRlIGRvd25sb2FkIGRvIGZpbGUtcGlsbCBuYXMgbGluaGFzIGBuby1zdGF0dXMtY29sb3JgIChDb2xvcmlyIE9GRiA9IGVzcXVlbWEgREFSSyk6XG4vLyBmb3LDp2EgbyBhY2NlbnQgZG8gZGFyayAoI0ZCQkYyNCDDom1iYXIpLiBSRURVTkRBTlRFIGNvbSBhIHJlZ3JhIGdsb2JhbCBlbVxuLy8gYGZpbGUtcGlsbC5jb21wb25lbnQuc2NzcyA6aG9zdC1jb250ZXh0KC5kYXJrLXRoZW1lKSAuZmlsZS1waWxsLWljb25gIChtZXNtYSBjb3IpLFxuLy8gbWFudGlkYSBwb3Igc2VndXJhbsOnYSBlbSBjYXNvIGRlIG8gZGVmYXVsdCBnbG9iYWwgc2VyIHJldmVydGlkby4gQXMgbGluaGFzIENPTE9SSURBU1xuLy8gdMOqbSByZWdyYSBkZWRpY2FkYSBhY2ltYSBxdWUgZm9yw6dhIG8gYWNjZW50IExJR0hUICgjN0MyRDEyIG1hcnJvbSkuXG4uZGFyay10aGVtZSBhcHAtc3VibWlzc2lvbnMtbGlzdC10YWJsZS12MiAubWF0LWNhcmQgLnN1Ym1pc3Npb24tdGFibGUubWF0LXRhYmxlIHRyLm5vLXN0YXR1cy1jb2xvciB0ZC5tYXQtY2VsbCBhcHAtZmlsZS1waWxsIC5maWxlLXBpbGwtaWNvbiB7XG4gIGNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50O1xufVxuXG4vKiBhcHAtc3VibWlzc2lvbnMtZmllbGQtZmlsdGVyLXYyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWZpZWxkLWZpbHRlci12MiwgJy5zdWJtaXNzaW9ucy1maWVsZHMtZmlsdGVyLXRhYmxlLVYyIC5tYXQtZXhwYW5zaW9uLXBhbmVsJywgYmFja2dyb3VuZC1jb2xvciwgJG1hdC1jYXJkLWJhY2tncm91bmQtY29sb3IsICRtYXQtY2FyZC1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdWJtaXNzaW9ucy1maWVsZC1maWx0ZXItdjIsICcuc3VibWlzc2lvbnMtZmllbGRzLWZpbHRlci10YWJsZS1WMiAubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJvcmRlci1jb2xvciwgJG1hdC1jYXJkLWJvcmRlci1jb2xvciwgJG1hdC1jYXJkLWJvcmRlci1jb2xvci1kYXJrKTtcblxuLyogYXBwLXN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyLCAnLnN1Ym1pc3Npb25zLWxpc3QtZmlsdGVyIC5maWVsZHMnLCBiYWNrZ3JvdW5kLWNvbG9yLCAnJywgcmdiYSgwLCAwLCAwLCAuNzUpKTtcblxuLyogYXBwLWZpbGUtcnVsZXMtY2FyZCAqL1xuLy8gQ2luemEgZG8gbWluaWNhcmQgPSAkZ3JheS0xNTAgKHdhcm0tc3RvbmUgZG8gc2lzdGVtYSksIG5vIGx1Z2FyIGRvICNlZGVkZWRcbi8vIG5ldXRybyBkbyAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kIChxdWUgZGVzdG9hdmEgZG8gcmVzdG8pLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC50b3AtZmlsZS1jYXJkJywgYmFja2dyb3VuZC1jb2xvciwgJGdyYXktMTUwLCAkc3VyZmFjZS1yYWlzZWQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLnVwbG9hZGluZycsIGJhY2tncm91bmQtY29sb3IsICRhZG1pbi1hY2NlbnQtYmFja2dyb3VuZC1jb2xvciwgJGFkbWluLWFjY2VudC1iYWNrZ3JvdW5kLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5ub3RVcGxvYWRpbmcnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkYWRtaW4tYmFja2dyb3VuZCwgJGFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5kdWUtZGF0ZScsIGJhY2tncm91bmQtY29sb3IsICRncmF5LTE1MCwgJHN1cmZhY2UtcmFpc2VkLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuZHVlLWRhdGUnLCBjb2xvciwgJGdyYXktNTAwLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbi8vIE8gZ2xvYm8gKGFwcC1kaWFsb2ctdGltZXpvbmUpIMOpIHVtIG1hdC1pY29uLWJ1dHRvbiBxdWUgbsOjbyByZXBhc3NhIG8gY3VycmVudENvbG9yIOKAlCBmb3LDp2EgYSBtZXNtYSBjb3IgbXV0ZWQgZGEgY2FwdGlvbi5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmR1ZS1kYXRlIGFwcC1kaWFsb2ctdGltZXpvbmUgLm1hdC1pY29uJywgY29sb3IsICRncmF5LTUwMCwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG4vLyBBc3RlcmlzY28gZGUgXCJvYnJpZ2F0w7NyaW9cIiBhbnRlcyBkbyB0w610dWxvIGRvIGFycXVpdm8uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmluZm8tY29sdW1uIC5maWxlLXJlcXVpcmVkJywgY29sb3IsICRhY2NlbnQtY29sb3Itd2FybmluZywgJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZmlsZS1jYXJkIC5kZXRhaWwtY29sdW1ucyAuZGlzYWJsZWQgLm1hdC1pY29uJywgY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3IsICRidXR0b24tZGlzYWJsZWQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5kb3dubG9hZC1jb2x1bW4gLmJ1dHRvbi1kb3dubG9hZC1maWxlOm5vdCguZGlzYWJsZWQpIC5maWxlLXR5cGUtaWNvbicsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmluZm8tY29sdW1uIC5idXR0b24tcnVsZS1pbmZvIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbi8vIENvcmVzIGRvcyDDrWNvbmVzIGRlIGHDp8OjbyBkbyBtaW5pY2FyZCAoRmFzZSAxOiBtaWdyYcOnw6NvIGplbXMzc+KGkk1hdGVyaWFsIFN5bWJvbHNcbi8vICsgdG9rZW5zIHRoZW1lLWF3YXJlKS4gRGVsZXRlIGUgXCJuw6NvIHVzYSB0ZW1wbGF0ZVwiID0gd2FybmluZzsgXCJ1c2EgdGVtcGxhdGVcIiA9XG4vLyBzdWNjZXNzOyBlcnJvID0gd2FybmluZy4gZG93bmxvYWQtYmFyIChvdmVybGF5IGRlICUgbm8gZG93bmxvYWQpIGNhc2EgbyB0b3BvIGRvIGNhcmQuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLWRlbGV0ZS1maWxlOm5vdCguZGlzYWJsZWQpIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmluZm8tY29sdW1uIC5idXR0b24tcnVsZS11c2VzLXNiYy10ZW1wbGF0ZSAubWF0LWljb24nLCBjb2xvciwgJGFjY2VudC1jb2xvci1zdWNjZXNzLCAkYWNjZW50LWNvbG9yLXN1Y2Nlc3MtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWZpbGUtcnVsZXMtY2FyZCwgJy5maWxlLWNhcmQgLmRldGFpbC1jb2x1bW5zIC5pbmZvLWNvbHVtbiAuYnV0dG9uLXJ1bGUtbm90LXVzZXMtc2JjLXRlbXBsYXRlIC5tYXQtaWNvbicsIGNvbG9yLCAkYWNjZW50LWNvbG9yLXdhcm5pbmcsICRhY2NlbnQtY29sb3Itd2FybmluZy1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS1ydWxlcy1jYXJkLCAnLmZpbGUtY2FyZCAuZGV0YWlsLWNvbHVtbnMgLmluZm8tY29sdW1uIC5maWxlLWVycm9yJywgY29sb3IsICRhY2NlbnQtY29sb3Itd2FybmluZywgJGFjY2VudC1jb2xvci13YXJuaW5nLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXJ1bGVzLWNhcmQsICcuZG93bmxvYWQtYmFyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS11cGxvYWQsICcuc3VjY2Vzcy1pY29uJywgY29sb3IsICRhY2NlbnQtY29sb3Itc3VjY2VzcywgJGFjY2VudC1jb2xvci1zdWNjZXNzLWRhcmspO1xuXG4vKiBhcHAtZmlsZS11cGxvYWQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZmlsZS11cGxvYWQsICcuZmlsZS11cGxvYWQgLmZpbGUtdXBsb2FkLWljb24gLm1hdC1pY29uJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuLy8gw41jb25lIGRlIHVwbG9hZCBERVNBQklMSVRBRE8gKHByYXpvIHBhc3NvdSAvIHNlbSBwZXJtaXNzw6NvKTogY29yIGRlIGRpc2FibGVkLFxuLy8gTsODTyBhY2NlbnQuIFZlbSBkZXBvaXMgZGEgcmVncmEgYWNjZW50IChtZXNtYSBlc3BlY2lmaWNpZGFkZSkg4oaSIHZlbmNlLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1maWxlLXVwbG9hZCwgJy5maWxlLXVwbG9hZCAuZmlsZS11cGxvYWQtaWNvbi1kaXNhYmxlZCAubWF0LWljb24nLCBjb2xvciwgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvciwgJGJ1dHRvbi1kaXNhYmxlZC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWN1c3RvbS1mb3JtLXRleHQtcXVlc3Rpb24gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY3VzdG9tLWZvcm0tdGV4dC1xdWVzdGlvbiwgJy5jdXN0b20tdGV4dC1xdWVzdGlvbiB0ZXh0YXJlYScsIGJhY2tncm91bmQtY29sb3IsICR3aGl0ZS0xMDAwLCAkYmxhY2stMTAwMCk7XG5cbi8qIGFwcC1leHBvcnQtc3VibWlzc2lvbnMgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXhwb3J0LXN1Ym1pc3Npb25zLCAnLmV4cG9ydC1zdWJtaXNzaW9ucyAuc2VjdGlvbiAubmFtZSBhJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWV2ZW50LXB1YmxpY2F0aW9uICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWV2ZW50LXB1YmxpY2F0aW9uLCAnLnB1YmxpY2F0aW9uLWNvbnRyb2xzIC5tYXQtY2FyZCcsIGJhY2tncm91bmQtY29sb3IsICRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5cbi8qIGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXB1YmxpY2F0aW9uLWZpeGVkLWNvbnRyb2wsICcuZml4ZWQtY29udHJvbCAubWF0LWNhcmQgdGFibGUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wdWJsaWNhdGlvbi1maXhlZC1jb250cm9sLCAnLmZpeGVkLWNvbnRyb2wgLm1hdC1jYXJkIHRhYmxlIHRkJywgYm9yZGVyLXJpZ2h0LWNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kICFpbXBvcnRhbnQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHVibGljYXRpb24tZml4ZWQtY29udHJvbCwgJy5maXhlZC1jb250cm9sIC5tYXQtY2FyZCB0YWJsZSB0aCcsIGJvcmRlci1yaWdodC1jb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZCAhaW1wb3J0YW50LCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXB1YmxpY2F0aW9uLWZpeGVkLWNvbnRyb2wsICcuZml4ZWQtY29udHJvbCAubWF0LWNhcmQgdGFibGUgdGgnLCBjb2xvciwgJGNvbnRlbnQtbGlnaHRjb2xvciwgJGNvbnRlbnQtbGlnaHRjb2xvci1kYXJrKTtcblxuLyogYXBwLXByb2NlZWRpbmctc3RlcCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wcm9jZWVkaW5nLXN0ZXAsICcuY29udGVudCAuY29udGVudC1saXN0IGgzJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLm5vdC1pbmNsdWRlZCcsIGJvcmRlciwgMXB4IHNvbGlkIGJsYWNrLCAxcHggc29saWQgd2hpdGUpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1wcm9jZWVkaW5nLXN0ZXAsICcuY29udGVudCAuaW5jbHVkZWQnLCBib3JkZXIsIDFweCBzb2xpZCBibGFjaywgMXB4IHNvbGlkIHdoaXRlKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLmNvbnRlbnQgLnRyYWNrJywgYm9yZGVyLCAxcHggc29saWQgYmxhY2ssIDFweCBzb2xpZCB3aGl0ZSk7XG5cbi8qIGFwcC1wcm9jZWVkaW5nLWluZGV4LWl0ZW0gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtcHJvY2VlZGluZy1pbmRleC1pdGVtLCAnLml0ZW0gLm1hdC1leHBhbnNpb24tcGFuZWwnLCBib3gtc2hhZG93LCAnJywgMHB4IDJweCAxMHB4IDFweCBibGFjayk7XG5cbi8qIGFwcC1wcm9jZWVkaW5nLWF1dGhvci1pbmRleC1pdGVtICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXByb2NlZWRpbmctYXV0aG9yLWluZGV4LWl0ZW0sICcuaXRlbSAubWF0LWV4cGFuc2lvbi1wYW5lbCcsIGJveC1zaGFkb3csICcnLCAwcHggMnB4IDEwcHggMXB4IGJsYWNrKTtcblxuLyogYXBwLWNhbGVuZGFyLXZpZXcgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJy5jb250YWluZXItdmlldy1kYXRlJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJ213bC1jYWxlbmRhci13ZWVrLXZpZXcnLCBjb2xvciwgJycsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNhbC1kYXktaGVhZGVycycsIGJhY2tncm91bmQtY29sb3IsICcnLCAkY2FsZW5kYXItaGVhZGVyLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNhbGVuZGFyLXZpZXcsICcuY2FsLXdlZWstdmlldywgLmNhbC10aW1lLCAuY2FsLWhvdXItc2VnbWVudCcsIGJhY2tncm91bmQtY29sb3IsICcnLCAkY2FsZW5kYXItYmFja2dyb3VuZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2FsZW5kYXItdmlldywgJy5jYWwtd2Vlay12aWV3IC5jYWwtZGF5LWhlYWRlcnMgLmNhbC1oZWFkZXI6aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCByZ2JhKDAsMCwwLC4zKSwgcmdiYSgyNTUsMjU1LDI1NSwuMykpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jYWxlbmRhci12aWV3LCAnLmNhbC13ZWVrLXZpZXcgLmNhbC10aW1lLWV2ZW50cyAuY2FsLWRheS1jb2x1bW5zOm5vdCguY2FsLXJlc2l6ZS1hY3RpdmUpIC5jYWwtaG91ci1zZWdtZW50OmhvdmVyICcsIGJhY2tncm91bmQtY29sb3IsIHJnYmEoMCwwLDAsLjMpLCByZ2JhKDI1NSwyNTUsMjU1LC4zKSk7XG5cbi8qIGFwcC1jaGlwLWNoZWNrYm94ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoaXAtY2hlY2tib3gsICcuY2hpcC1jaGVja2JveCBsYWJlbCBkaXY6bm90KC5jaGVja2VkKScsIGNvbG9yLCAnJywgIzg2ODY4Nik7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoaXAtY2hlY2tib3gsICcuY2hpcC1jaGVja2JveCBsYWJlbCAubWF0LWljb246bm90KC5jaGVja2VkKScsIGNvbG9yLCAnJywgIzg2ODY4Nik7XG5cbi8qIGFwcC1kYXNoYm9hcmQtc2V0dGluZ3MgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLXNldHRpbmdzLCAnLmRhdGFzZXQtbWVudScsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1zZXR0aW5ncywgJy5kYXRhc2V0LW1lbnUgLm1hdC1pY29uJywgY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vKiBhcHAtY2hhcnQtY29tcG9uZW50ICovXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyJywgYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLCAkbWF0LWNhcmQtYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyIC5jdC1heGlzLXRpdGxlJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQsICcuY2hhcnQtY29udGFpbmVyIC5jdC1sYWJlbCcsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXIgLmxlZ2VuZC10aXRsZScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudCwgJy5jaGFydC1jb250YWluZXIgLmN0LWdyaWQnLCBzdHJva2UsICRjaGFydC1ncmlkLWNvbG9yLCAkY2hhcnQtZ3JpZC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LCAnLmN0LWxlZ2VuZCBsaScsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cblxuLyogYXBwLWNoYXJ0LWNvbXBvbmVudC12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyIC5jaGFydCB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyIC5sZWdlbmQtbGFiZWwgLmxlZ2VuZC1sYWJlbC10ZXh0JywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LXYyJywgYmFja2dyb3VuZC1jb2xvciwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWxlZ2VuZCcsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcuY2hhcnQtbGVnZW5kJywgYmFja2dyb3VuZCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWNoYXJ0LWNvbXBvbmVudC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMnLCBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtY2hhcnQtY29tcG9uZW50LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVscycsIGJhY2tncm91bmQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1jaGFydC1jb21wb25lbnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZC1wYW5lbCByZWN0JywgZmlsbCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5cbi8qIGFwcC1tYXRoLWNhcHRjaGEgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtbWF0aC1jYXB0Y2hhLCAnLmNvbnRhaW5lcicsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLW1hdGgtY2FwdGNoYSwgJyNidXR0b25JbnB1dCcsIGJhY2tncm91bmQtY29sb3IsICRhY2NlbnQtYmFja2dyb3VuZCwgJGFjY2VudC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1tYXRoLWNhcHRjaGEsICcuY2xzLTEnLCBmaWxsLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcblxuLyogYXBwLXByb2NlZWRpbmctc3RlcCAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wIChhcHAtcHJvY2VlZGluZy1zdGVwLCAnLnNlY3Rpb25zLWxpc3QgLmh5cGVybGluaycsIGNvbG9yLCAkYWNjZW50LWJhY2tncm91bmQsICRhY2NlbnQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCAoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9ucy1saXN0IC5uby1oeXBlcmxpbmsnLCBjb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3IgIWltcG9ydGFudCwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCAoYXBwLXByb2NlZWRpbmctc3RlcCwgJy5zZWN0aW9ucy1saXN0JywgYm9yZGVyLWNvbG9yLCAkc2lkZWJhci1sYWJlbC1jb2xvciwgJHNpZGViYXItbGFiZWwtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1jdXN0b20taW5wdXQgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnLmN1c3RvbS1pbnB1dCcsICcnLCBiYWNrZ3JvdW5kLWNvbG9yLCRjb250ZW50LWJhY2tncm91bmQsICRjb250ZW50LWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJy5jdXN0b20taW5wdXQnLCAnJywgYm9yZGVyLCAycHggc29saWQgJGV2ZW50LWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yLCAycHggc29saWQgJGV2ZW50LWNhcmQtaG92ZXItYm9yZGVyLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcuY3VzdG9tLWlucHV0JywgJycsIGNvbG9yLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5cbi8qIGFwcC1zdXBwb3J0LWJ1dHRvbiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWJ1dHRvbicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtYnV0dG9uIC5tYXQtaWNvbicsIGNvbG9yLCAkY29udGVudC1iYWNrZ3JvdW5kLWRhcmssICRjb250ZW50LWJhY2tncm91bmQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLCAkZXZlbnQtY2FyZC1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1zdXBwb3J0LWJ1dHRvbiwgJy5zdXBwb3J0LWNhcmQnLCBjb2xvciwgJGNvbnRlbnQtYmFja2dyb3VuZC1kYXJrLCAkY29udGVudC1iYWNrZ3JvdW5kKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtc3VwcG9ydC1idXR0b24sICcuc3VwcG9ydC1jYXJkIC5jYXJkLXRpdGxlJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCAuY2FyZC1oZWFkZXIgLm1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbi8qIGFwcC1ldmVudC1zZXR0dGluZ3MtZW1haWwgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZXZlbnQtc2V0dGluZ3MtZW1haWwsICcuZXZlbnQtZW1haWwgbWF0LWNhcmQtY29udGVudCcsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLXN1cHBvcnQtYnV0dG9uLCAnLnN1cHBvcnQtY2FyZCAuY2FyZC1oZWFkZXIgLm1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWJhY2tncm91bmQtZGFyaywgJGNvbnRlbnQtYmFja2dyb3VuZCk7XG5cbi8qIGFwcC11c2VyLW5vdGlmaWNhdGlvbnMg4oCUIHJlZ3JhcyBhbnRpZ2FzIHJlbW92aWRhcy4gTyBwYWluZWwgYWdvcmEgw6lcbiAgIGVzY29wYWRvIG5vIGNvbXBvbmVudGUgKHVzZXItbm90aWZpY2F0aW9ucy5jb21wb25lbnQuc2NzcykuIFJlZmVyZW5jaWFtXG4gICBlc3RydXR1cmEgYW50aWdhIChgLm5vdGlmaWNhdGlvbnMtY29udGFpbmVyIC50YWJsZS1jb250YWluZXIgdGFibGVgLFxuICAgYC5vcHRpb25zIG1hdC1pY29uLmJ1dHRvbmApIHF1ZSBuw6NvIGV4aXN0ZSBtYWlzLiAqL1xuLyogYXBwLWRhc2hib2FyZC1jaGFydC12MiAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtY29udGFpbmVyLXYyJywgYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZCwgJGV2ZW50LWNhcmQtYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCcsIGJhY2tncm91bmQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbHMnLCBiYWNrZ3JvdW5kLCB0cmFuc3BhcmVudCAhaW1wb3J0YW50LCB0cmFuc3BhcmVudCAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVscycsIGJhY2tncm91bmQtY29sb3IsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQsIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQpO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZC1wYW5lbCByZWN0JywgZmlsbCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCwgdHJhbnNwYXJlbnQgIWltcG9ydGFudCk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5jaGFydC1sZWdlbmQgLmxlZ2VuZC1sYWJlbC10ZXh0JywgY29sb3IsICRibGFjay03MDAsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcuY2hhcnQtbGVnZW5kIC5sZWdlbmQtbGFiZWwgLmFjdGl2ZSAubGVnZW5kLWxhYmVsLXRleHQnLCBjb2xvciwgJGNvbnRlbnQtY29sb3IgIWltcG9ydGFudCwgJGNvbnRlbnQtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLmNoYXJ0LWxlZ2VuZCAubGVnZW5kLWxhYmVsIC5hY3RpdmUgLmxlZ2VuZC1sYWJlbC10ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IgIWltcG9ydGFudCwgJGNvbnRlbnQtY29sb3ItZGFyayAhaW1wb3J0YW50KTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnguYXhpcyAubGFiZWwnLCBmaWxsLCAkY29udGVudC1jb2xvciwgJGNvbnRlbnQtY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWRhc2hib2FyZC1jaGFydC12MiwgJy5uZ3gtY2hhcnRzIC55LmF4aXMgLmxhYmVsJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyB0ZXh0W3RyYW5zZm9ybT1cInJvdGF0ZSgyNzApXCJdJywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuYXhpcy1sYWJlbCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnguYXhpcyAudGljayB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyBnW25neC1jaGFydHMtYXhpcy1sYWJlbF0gdGV4dCcsIGZpbGwsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLWNoYXJ0LXYyLCAnLm5neC1jaGFydHMgLnkuYXhpcyAudGljayB0ZXh0JywgZmlsbCwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1kYXNoYm9hcmQtY2hhcnQtdjIsICcubmd4LWNoYXJ0cyAuZ3JpZGxpbmUtcGF0aCcsIHN0cm9rZSwgJGNvbnRlbnQtY29sb3IsICRjb250ZW50LWNvbG9yLWRhcmspO1xuXG4vKiBhcHAtYWRtaW4tZXZlbnQtdmlldyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC12aWV3LCAnLm1hdC10YWItbGFiZWwubWF0LXRhYi1sYWJlbC1hY3RpdmUgPiAqJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWRhc2hib2FyZC1zZXR0aW5ncyAodGFiIGxhYmVscykgKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtZGFzaGJvYXJkLXNldHRpbmdzLCAnLm1hdC10YWItbGFiZWwubWF0LXRhYi1sYWJlbC1hY3RpdmUgPiAqJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLXVzZXItbm90aWZpY2F0aW9ucyAqL1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm5vdGlmaWNhdGlvbnMtbWVudSAubm90aWZpY2F0aW9ucy1jb250YWluZXIgLnRhYmxlLWNvbnRhaW5lciB0YWJsZSB0cicsIGJhY2tncm91bmQtY29sb3IsICRldmVudC1jYXJkLWJhY2tncm91bmQsICRldmVudC1jYXJkLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubm90aWZpY2F0aW9ucy1tZW51IC5vcHRpb25zIG1hdC1pY29uJywgY29sb3IsICRjb250ZW50LWNvbG9yLCAkY29udGVudC1jb2xvci1kYXJrKTtcblxuLyogYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiAqL1xuLy8gSGVhZGVyIChub21lcykgdHJhbnNwYXJlbnRlIOKAlCBvcyBsYWJlbHMgZGlhZ29uYWlzICg0NcKwKSB0cmFuc2JvcmRhbSBlbnRyZVxuLy8gY29sdW5hczsgdW0gZnVuZG8gb3BhY28gcG9yIHRoIGNvcnRhcmlhIG8gbGFiZWwgZGEgY29sdW5hIHZpemluaGEuIENhbnRvICtcbi8vIGNvbHVuYSBkbyBpZCBmaWNhbSBjb20gbyBmdW5kbyBkbyBjYXJkIChvcGFjb3MgcC8gYXMgY8OpbHVsYXMgcm9sYXJlbSBwb3Jcbi8vIGJhaXhvIHF1YW5kbyBhIGNvbHVuYSBkbyBpZCBmaWNhIGZpeGEpLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRoJywgYmFja2dyb3VuZC1jb2xvciwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50KTtcbi8vIEJhbmRhIG9wYWNhIGRvIGhlYWRlciB2YWkgbm8gPHRoZWFkPiAoc3RpY2t5KSwgYXRyw6FzIGRvcyB0aCB0cmFuc3BhcmVudGVzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRoZWFkJywgYmFja2dyb3VuZC1jb2xvciwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCwgJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZC1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYXNzaWduLXJldmlldy1zdWdnZXN0aW9uLCAnLnRhYmxlLXdlaWdodCB0aDpmaXJzdC1jaGlsZCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGQ6Zmlyc3QtY2hpbGQnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hc3NpZ24tcmV2aWV3LXN1Z2dlc3Rpb24sICcudGFibGUtd2VpZ2h0IHRkOm5vdChmaXJzdC1jaGlsZCknLCBiYWNrZ3JvdW5kLWNvbG9yLCAkdGFibGUtYmFja2dyb3VuZC1jb2xvciwgJHRhYmxlLWJhY2tncm91bmQtY29sb3ItZGFyayk7XG4vLyBCb3JkYSBsZWdhZGEgc8OzIG5hIE1BVFJJWiAodGFibGUtd2VpZ2h0KS4gQSB0YWJsZS1hc3NpZ24gbWlncm91IHAvIC5qZW1zMy10YWJsZVxuLy8gKGNocm9tZSBwcsOzcHJpbywgc2VtIGJvcmRhcykg4oCUIG7Do28gcG9kZSByZWNlYmVyIGVzdGEgYm9yZGEuXG4vLyBHcmFkZSBkYSBtYXRyaXo6IG5vIGRhcmsgYXMgbGluaGFzIHF1ZSBzZXBhcmFtIGFzIGPDqWx1bGFzIHPDo28gUFJFVEFTIChhbnRlc1xuLy8gJG1hdC1tZW51LWJhY2tncm91bmQtY29sb3ItZGFyayAjMzgzODM4IOKAlCBjaW56YSkgYSBwZWRpZG8uXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFzc2lnbi1yZXZpZXctc3VnZ2VzdGlvbiwgJy50YWJsZS13ZWlnaHQgdGQsdGgnLCBib3JkZXIsIDFweCBzb2xpZCAkbWF0LW1lbnUtYmFja2dyb3VuZC1jb2xvciwgMXB4IHNvbGlkIGJsYWNrKTtcblxuLyogTW9iaWxlIGxheW91dCAoVFBDIGNoYWlyLCB2aWV3cG9ydCA8IDc2OHB4KSDigJQgc2VlXG4gKiBhZG1pbi1ldmVudC1zaWRlYmFyLmNvbXBvbmVudC57dHMsaHRtbCxzY3NzfS4gVmlldyBlbmNhcHN1bGF0aW9uIGlzXG4gKiBFbXVsYXRlZCBvbiB0aGlzIGNvbXBvbmVudDsgdGhlIG1vYmlsZSBjaHJvbWUgU0NTUyBpcyBjby1sb2NhdGVkIHdpdGhcbiAqIHRoZSBjb21wb25lbnQsIGJ1dCB0aGVtZSB0b2tlbnMgKHdoaWNoIHVzZSBsaWdodC0vZGFyay10aGVtZSBjbGFzc2VzXG4gKiBhcHBsaWVkIHRvIDxib2R5PikgbXVzdCBsaXZlIGhlcmUgYXQgdGhlIGdsb2JhbCBzY29wZSwgb3RoZXJ3aXNlIHRoZVxuICogYC5saWdodC10aGVtZWAgLyBgLmRhcmstdGhlbWVgIGJvZHkgc2VsZWN0b3JzIGRvbid0IHN1cnZpdmUgRW11bGF0ZWRcbiAqIGVuY2Fwc3VsYXRpb24gYW5kIHRoZSBydWxlcyBhcmUgc2lsZW50bHkgZHJvcHBlZC4gKi9cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtdG9wLWJhcicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXRvcC1iYXInLCBib3JkZXItYm90dG9tLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXRvcC1iYXItdGl0bGUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5cbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtYm90dG9tLW5hdicsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYnLCBib3JkZXItdG9wLWNvbG9yLCAkY2hyb21lLWJvcmRlci1saWdodCwgJGNocm9tZS1ib3JkZXItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbS5hY3RpdmUnLCBjb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLWJvdHRvbS1uYXYtaXRlbS5hY3RpdmUnLCBib3JkZXItdG9wLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcblxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldCcsIGJhY2tncm91bmQtY29sb3IsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQsICRzaWRlYmFyLWFkbWluLWJhY2tncm91bmQtZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LXRpdGxlJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZSwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1zZWN0aW9uLWxhYmVsJywgY29sb3IsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtaXRlbScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciwgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItZGFyayk7XG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoYXBwLWFkbWluLWV2ZW50LXNpZGViYXIsICcubW9iaWxlLXNoZWV0LWl0ZW06aG92ZXInLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyLCAnLm1vYmlsZS1zaGVldC1pdGVtLmFjdGl2ZScsIGNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChhcHAtYWRtaW4tZXZlbnQtc2lkZWJhciwgJy5tb2JpbGUtc2hlZXQtaXRlbS5hY3RpdmUnLCBiYWNrZ3JvdW5kLWNvbG9yLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLCAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWRhcmspO1xuXG4vLyBMYXN0LXdvcmQgb3ZlcnJpZGU6IHRoZSBsZWdhY3kgZ2xvYmFsXG4vLyBgYnV0dG9uLm1hdC1tZW51LWl0ZW06aG92ZXIgLm1hdC1pY29uIHsgY29sb3I6ICRhZG1pbi1hY2NlbnQtY29sb3IgPSB3aGl0ZSB9YFxuLy8gd2FzIHR1cm5pbmcgdGhlIGFjdGl2ZSBvcHRpb24ncyBpY29uIHdoaXRlIG9uIGhvdmVyLCBtYWtpbmcgdGhlXG4vLyBjZWxsIGxvb2sgXCJibGFuayB3aGl0ZVwiIGluIGxpZ2h0IG1vZGUuIFBpbiB0aGUgaWNvbiB0byB0aGUgYWN0aXZlXG4vLyB0ZXh0IHRva2VuIGluc3RlYWQuIChUaGUgY2VsbCBiZyBhbHJlYWR5IHN0YXlzIHB1dCB2aWEgdGhlXG4vLyBjaGFpci1VSSBgLmhpZ2hsaWdodC1idXR0b24geyBiYWNrZ3JvdW5kLWNvbG9yOiAuLi4gIWltcG9ydGFudCB9YFxuLy8gcnVsZSBhYm92ZSDigJQgc2VsZWN0b3IgbWF0Y2hlcyBib3RoIHJlc3QgYW5kIGhvdmVyLCBubyBleHRyYVxuLy8gb3ZlcnJpZGUgbmVlZGVkLilcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcChcbiAgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5jb250YWluZXItdGhlbWUgYnV0dG9uLm1hdC1tZW51LWl0ZW0uaGlnaGxpZ2h0LWJ1dHRvbjpob3ZlciAubWF0LWljb24sIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5jb250YWluZXItbGF5b3V0IGJ1dHRvbi5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246aG92ZXIgLm1hdC1pY29uLCAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAuY29udGFpbmVyLWxheW91dCBidXR0b24ubWF0LW1lbnUtaXRlbS5oaWdobGlnaHQtYnV0dG9uOmhvdmVyIC5sYXlvdXQtaWNvbiwgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLmNvbnRhaW5lci1sYW5ndWFnZS1jb21wYWN0IGJ1dHRvbi5tYXQtbWVudS1pdGVtLmhpZ2hsaWdodC1idXR0b246aG92ZXIgLm1hdC1pY29uJyxcbiAgJycsXG4gIGNvbG9yLFxuICAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1hY3RpdmUsXG4gICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS1kYXJrXG4pO1xuXG4vLyBwZW9wbGUtdGFibGU6IGNvciBkZSBmdW5kbyBkYXMgY8OpbHVsYXMgYm9keS4gTGlnaHQ6IGdyYXktMjAwIHNvYnJlIGNhbnZhc1xuLy8gd2FybS4gRGFyazogZ3JheSBlc2N1cm8gKH4jMzAyQzI5LCBlcXVpdmFsZW50ZSBhIHVtIFwiJGdyYXktODAwXCIgZW50cmUgb3Ncbi8vIHRva2VucyBleGlzdGVudGVzIDcwMCBlIDkwMCkuIEV4Y2x1aSAxwqogY29sIChudW1iZXJpbmcpIGUgw7psdGltYSAoc2VsZWN0KSxcbi8vIHF1ZSBmaWNhbSB0cmFuc3BhcmVudGVzLlxuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKFxuICAnLnBlb3BsZS10YWJsZScsXG4gICd0YWJsZS5qZW1zMy10YWJsZSB0ZC5tYXQtY2VsbDpub3QoLmplbXMzLXRhYmxlLW51bWJlcmluZyk6bm90KDpsYXN0LW9mLXR5cGUpJyxcbiAgYmFja2dyb3VuZC1jb2xvcixcbiAgJGdyYXktMjAwLFxuICAjMzAyQzI5XG4pO1xuXG4vLyDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZBcbi8vIENvcmVzIGRvcyDDrWNvbmVzIG5vIG1lbnUgaGFtYnVyZ2VyIGRhIG5hdmJhciBhdXRvci9yZXZpc29yIChvdmVyZmxvdykuXG4vLyBFc3BlbGhhbSBhcyBjb3JlcyBkb3Mgc2lkZWJhci1pdGVtIGljb25zIChjYXRlZ29yaWEgcG9yIHJvdGEpLlxuLy8gYCFpbXBvcnRhbnRgIHBvcnF1ZSBgLnRwYy11c2VyLW1lbnUgLm1hdC1pY29uYCAoYXBsaWNhZG8gYW8gbWVzbW8gbWVudVxuLy8gdmlhIGNsYXNzZSBubyBwYWluZWwpIHRlbSBgIWltcG9ydGFudGAgZSBnYW5oYXJpYSBzZW0gaXNzby5cbi8vIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkFxuLy8gRXNwZWNpZmljaWRhZGU6IHByZWNpc2Ftb3MgY2hhaW5hciBgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnVgICtcbi8vIGAubWF0LW1lbnUtaXRlbWAgcHJhIHZlbmNlciBhIHJlZ3JhIGdsb2JhbCBkbyB0cGMtdXNlci1tZW51IChxdWUgdGVtXG4vLyAoMCw1LDApICsgIWltcG9ydGFudCkuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5tYXQtaWNvbiB7IGNvbG9yOiAkc2lkZWJhci1sYWJlbC1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLWV2ZW50cy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1teS1yZXZpZXdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktc2Vzc2lvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1zZXNzaW9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MgLm1hdC1pY29uIHsgY29sb3I6ICRuYXZiYXItbXktcHVibGljYXRpb24tY2hhaXJpbmdzLWljb24tY29sb3IgIWltcG9ydGFudDsgfVxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tcHVibGljYXRpb24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXB1YmxpY2F0aW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmsgIWltcG9ydGFudDsgfVxuXG4ubGlnaHQtdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi10cGNzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciAhaW1wb3J0YW50OyB9XG4uZGFyay10aGVtZSAgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi10cGNzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tY2hhaXJpbmdzIC5tYXQtaWNvbiB7IGNvbG9yOiAkbmF2YmFyLW15LWV2ZW50cy1pY29uLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5kYXJrLXRoZW1lICAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLWNoYWlyaW5ncyAubWF0LWljb24geyBjb2xvcjogJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrICFpbXBvcnRhbnQ7IH1cblxuLy8gTWVudSBoYW1idXJnZXI6IMOtY29uZXMgZmlsbGVkIChGSUxMIDEpIHByYSBkYXIgY29ycG8gdmlzdWFsICtcbi8vIGFsaW5oYW1lbnRvIHZlcnRpY2FsIG5vIGVpeG8gZG8gdGV4dG8gKGxpbmUtaGVpZ2h0IGNhc2EgY29tIGEgYWx0dXJhXG4vLyBkbyBtZW51LWl0ZW07IG1hdC1tZW51LWl0ZW0gcGFkcsOjbyB1c2EgZmxleCthbGlnbi1pdGVtczpjZW50ZXIsIG1hc1xuLy8gYSBsaW5oYSBkbyDDrWNvbmUgw6BzIHZlemVzIGRlc2NvbGEgZG8gYmFzZWxpbmUgZG8gdGV4dG8gcG9yIGNhdXNhIGRhc1xuLy8gbcOpdHJpY2FzIGRhIGZvbnRlIGNvbSBGSUxMIDEpLlxuLy8gUGFpbmVsIGRvIG1lbnUgaGFtYnVyZ2VyIOKAlCBtZXNtbyBiZyBkYSBuYXZiYXIgKGAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kYCk7XG4vLyBvcyB0b2tlbnMgasOhIGJhdGVtIHBvciBwYWRyw6NvIHZpYSB0cGMtdXNlci1tZW51LCBtYXMgZm9yw6dhbW9zIGFxdWkgcHJhXG4vLyBuw6NvIGhhdmVyIGRyaWZ0IGNhc28gbyB0cGMtdXNlci1tZW51IG11ZGUuIEZpbHRlciAoZHJvcC1zaGFkb3cpIGRvXG4vLyB0cGMtdXNlci1tZW51IHRpbnRhIGFzIGJvcmRhcyBlc2N1cmFzIOKGkiBhIHBlcmNlcMOnw6NvIGZpY2EgXCJkaWZlcmVudGVcIlxuLy8gbWVzbW8gY29tIGJnIGlkw6pudGljby4gWmVyYSBvIGZpbHRlciBhcXVpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnU6aGFzKC5uYXYtb3ZlcmZsb3ctbWkpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXItYWRtaW4tYmFja2dyb3VuZCAhaW1wb3J0YW50O1xuICBmaWx0ZXI6ICRzaGFkb3ctcGFuZWwtbGlnaHQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAvLyBtaW4taGVpZ2h0IDAgcHJhIG8gcGFpbmVsIG7Do28gdHJhdmFyIGVtIDY0cHggZG8gQW5ndWxhciBNYXRlcmlhbFxuICAvLyAoZXNzZSBlcmEgbyBjdWxwcml0IGRvIFwiZXNwYcOnbyBlbWJhaXhvXCIgcXVhbmRvIHPDsyBow6EgMSBpdGVtKS5cbiAgLy8gcGFkZGluZyBkbyBwYWluZWwgdm9sdGEgcHJvIHJlc3Bpcm8gbm9ybWFsLlxuICBtaW4taGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDhweCAhaW1wb3J0YW50O1xufVxuLy8gWmVyYSBwYWRkaW5nIGRvIC5tYXQtbWVudS1jb250ZW50IOKAlCBvIHBhaW5lbCBqw6EgdGVtIHBhZGRpbmcgcHLDs3ByaW8uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkgLm1hdC1tZW51LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSB7XG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogOHB4ICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudTpoYXMoLm5hdi1vdmVyZmxvdy1taSkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kLWRhcmsgIWltcG9ydGFudDtcbiAgZmlsdGVyOiAkc2hhZG93LXBhbmVsLWRhcmsgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBFc3BlY2lmaWNpZGFkZTogcHJlY2lzYSBjaGFpbmFyIGAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudWAgK1xuLy8gYC5tYXQtbWVudS1pdGVtYCBwcmEgdmVuY2VyIGFzIHJlZ3JhcyAyNnB4IGRvIHRwYy11c2VyLW1lbnUgZ2xvYmFsLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICBtaW4taGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRjaHJvbWUtcmFkaXVzICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDZweCAhaW1wb3J0YW50O1xuICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuICAvLyBUaXBvZ3JhZmlhIGlkw6pudGljYSBhbyBgLmxhYmVsLWZ1bGxgIGRvcyBzaWRlYmFyLWl0ZW1zIChidXR0b25zIGRhXG4gIC8vIGJhcnJhKTogMTRweCAvIDUwMCAvIC0wLjAxZW0gLyBjb3IgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IuXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHkgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvciAhaW1wb3J0YW50O1xuXG4gIC5tYXQtaWNvbiB7XG4gICAgLy8gT3BhY2lkYWRlIDEgc2VtcHJlIOKAlCBvdmVycmlkZSBkbyB0cGMtdXNlci1tZW51IGRlZmF1bHQgMC42NSBxdWVcbiAgICAvLyBzw7MgaWEgcHJhIDEgbm8gaG92ZXIgKFwiZXNtYWVjaWRvIGVtIHJlc3RcIikuXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgIGZvbnQtdmFyaWF0aW9uLXNldHRpbmdzOiAnRklMTCcgMSwgJ3dnaHQnIDQwMCwgJ29wc3onIDI0ICFpbXBvcnRhbnQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIC8vIGZhLXVzZXJzIChqZW1zM3MpIOKAlCBtZXNtbyB0YW1hbmhvIGRvIGJvdMOjbyBkYSBiYXJyYSAoMTZweCBlbVxuICAvLyBzaWRlYmFyLWl0ZW0uY29tcG9uZW50LnNjc3M6OTEtOTMpLCBOw4NPIG9zIDIwcHggZGVmYXVsdC5cbiAgJi5idXR0b24tdHBjcyAubWF0LWljb24ge1xuICAgIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgfVxufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIHtcbiAgYm9yZGVyLWNvbG9yOiAkY2hyb21lLWJvcmRlci1kYXJrICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAkc2lkZWJhci1hZG1pbi1tZW51aXRlbS1jb2xvci1kYXJrICFpbXBvcnRhbnQ7XG59XG5cbi8vIEVzdGFkbyBzZWxlY3RlZCBkbyBpdGVtIG92ZXJmbG93IOKAlCBNRVNNTyB0cmF0YW1lbnRvIGRvIHNpZGViYXItaXRlbVxuLy8gc2VsZWN0ZWQgbmEgYmFycmE6IGJnICNmZmYgKGxpZ2h0KSAvICMyZTJlMmUgKGRhcmspICsgdW5kZXJsaW5lIGFjY2VudFxuLy8gMnB4IHBvciBjYXRlZ29yaWEgbm8gYm90dG9tIGRvIGl0ZW0uXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gTWVzbWEgc29tYnJhIGRvIHNpZGViYXItaXRlbS5qZW1zLXRvb2xiYXItYnV0dG9uLnNlbGVjdGVkIG5hIGJhcnJhLlxuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLDAsMCwwLjMpICFpbXBvcnRhbnQ7XG59XG4uZGFyay10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtc2VsZWN0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmUyZTJlICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLDAuNykgIWltcG9ydGFudDtcbn1cbi8vIExpbmhhIGFjY2VudCBkbyBpdGVtIHNlbGVjaW9uYWRvIGRvIG1lbnUgb3ZlcmZsb3cg4oCUIG1lc21hIHNoYXBlICtcbi8vIGdyYWRpZW50IHVzYWRvcyBuYSB1bmRlcmxpbmUgZGEgbmF2LiBgY2xpcC1wYXRoYCBlIGBiYWNrZ3JvdW5kYFxuLy8gdsOqbSBkZSBDU1MgY3VzdG9tIHByb3BlcnRpZXMgc2V0YWRhcyBlbSBgcGFpbnRPdmVyZmxvd0FjY2VudGBcbi8vIChuYXZiYXIuY29tcG9uZW50LnRzKSB2aWEgYE5hdmJhckNvbXBvbmVudC5idWlsZEFjY2VudENsaXBQYXRoL1xuLy8gR3JhZGllbnRgIChmb250ZSDDum5pY2EpLiBGYWxsYmFja3MgZ2FyYW50ZW0gdmlzdWFsIGLDoXNpY28gY2FzbyBvXG4vLyBKUyBuw6NvIHRlbmhhIHJvZGFkbyAocGFpbnQgYWNvbnRlY2UgYXDDs3MgbWVudSBhYnJpcikuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuaXMtc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLy8gYGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpYCBjZW50cmFsaXphIG8gYm94IGRvXG4gIC8vIGFjY2VudCBubyBJVEVNIGludGVpcm8gKGJvcmRlci1ib3gpLiBgbGVmdC9yaWdodGAgaW5zZXRzIE7Dg09cbiAgLy8gc2VydmVtIGFxdWk6IG8gY29udGFpbmluZyBibG9jayBkbyA6OmFmdGVyIMOpIG8gUEFERElORy1ib3ggZG9cbiAgLy8gbWF0LW1lbnUtaXRlbSAocGFkZGluZyAwIDE2cHgpLCBlbnTDo28gYHJpZ2h0OiAycHhgIGNvcnRhcmlhIDM0cHhcbiAgLy8gYWzDqW0gZG8gaW5zZXQgZGVzZWphZG8sIGUgb3MgYXJjb3MgZG8gY2xpcC1wYXRoIChmaXhvcyBlbSBweClcbiAgLy8gZmljYXJpYW0gRk9SQSBkbyBib3ggcmVuZGVyaXphZG8uXG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB3aWR0aDogdmFyKC0tYWNjZW50LXdpZHRoLCBjYWxjKDEwMCUgLSAycHgpKTtcbiAgYm90dG9tOiAtMXB4O1xuICBoZWlnaHQ6IDJweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNsaXAtcGF0aDogdmFyKC0tYWNjZW50LWNsaXAtcGF0aCwgcG9seWdvbigwIDAsIDEwMCUgMCwgY2FsYygxMDAlIC0gMnB4KSAxMDAlLCAycHggMTAwJSkpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1hY2NlbnQtYmFja2dyb3VuZCwgbm9uZSk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yO1xufVxuLy8gQ29yIGFjY2VudCBkbyB1bmRlcmxpbmUgcG9yIGNhdGVnb3JpYSAoZXNwZWxoYSBhcyByZWdyYXNcbi8vIC5saXN0LWl0ZW0uYnV0dG9uLSouc2VsZWN0ZWQ6OmFmdGVyIGRvIHNpZGViYXItaXRlbSkuXG5AaW5jbHVkZSBzZXRTZWxlY3RvckxpZ2h0RGFya1Byb3AoJycsICcubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkuYnV0dG9uLW15LXJldmlld3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1yZXZpZXdzLWljb24tY29sb3IsICAgICAgICAgICAkbmF2YmFyLW15LXJldmlld3MtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tdHBjcy5pcy1zZWxlY3RlZDo6YWZ0ZXInLCAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXRwY3MtaWNvbi1jb2xvciwgICAgICAgICAgICAgICRuYXZiYXItbXktdHBjcy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1jaGFpcmluZ3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgIGJhY2tncm91bmQtY29sb3IsICRuYXZiYXItbXktZXZlbnRzLWljb24tY29sb3IsICAgICAgICAgICAgJG5hdmJhci1teS1ldmVudHMtaWNvbi1jb2xvci1kYXJrKTtcbkBpbmNsdWRlIHNldFNlbGVjdG9yTGlnaHREYXJrUHJvcCgnJywgJy5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taS5idXR0b24tc2Vzc2lvbi1jaGFpcmluZ3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgICAgICBiYWNrZ3JvdW5kLWNvbG9yLCAkbmF2YmFyLW15LXNlc3Npb24tY2hhaXJpbmdzLWljb24tY29sb3IsICAgICAgJG5hdmJhci1teS1zZXNzaW9uLWNoYWlyaW5ncy1pY29uLWNvbG9yLWRhcmspO1xuQGluY2x1ZGUgc2V0U2VsZWN0b3JMaWdodERhcmtQcm9wKCcnLCAnLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pLmJ1dHRvbi1wdWJsaWNhdGlvbi1jaGFpcmluZ3MuaXMtc2VsZWN0ZWQ6OmFmdGVyJywgYmFja2dyb3VuZC1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvciwgJG5hdmJhci1teS1wdWJsaWNhdGlvbi1jaGFpcmluZ3MtaWNvbi1jb2xvci1kYXJrKTtcblxuLy8gbWVudS1pdGVtIHByZWNpc2Egc2VyIHBvc2l0aW9uOiByZWxhdGl2ZSBwcmEgYW5jb3JhciBvIG92ZXJsYXkgZG8gYmFkZ2UsXG4vLyBlIG92ZXJmbG93OiB2aXNpYmxlIHByYSBvIGJhZGdlIFwiZXN0b3VyYXJcIiBmb3JhIGRhIGJvcmRhIHNlbSBzZXIgY2xpcGFkby5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbn1cbi8vIENvbnTDqmluZXJlcyBwYWkgdGFtYsOpbSBuw6NvIHBvZGVtIGNsaXBhci5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSxcbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51OmhhcygubmF2LW92ZXJmbG93LW1pKSAubWF0LW1lbnUtY29udGVudCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG4vLyBMYWJlbCBvY3VwYSBlc3Bhw6dvIHJlc3RhbnRlIChzZW0gZXNwYcOnbyByZXNlcnZhZG8gcHJvIGJhZGdlIOKAlCBxdWUgYWdvcmFcbi8vIMOpIG92ZXJsYXkpLlxuLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pIC5uYXYtb3ZlcmZsb3ctbWktbGFiZWwge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLXdpZHRoOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cbi8vIEJhZGdlcyBjb21vIE9WRVJMQVkgYWJzb2x1dG8gbm8gY2FudG8gc3VwZXJpb3IgZXNxdWVyZG8g4oCUIG1lc21hIHTDqWNuaWNhXG4vLyBkbyBgLnNpZGViYXItaXRlbS1iYWRnZXNgIG5vIGJvdMOjbyAodHJhbnNmb3JtIHRyYW5zbGF0ZSBwcmEgXCJlc3RvdXJhclwiXG4vLyBsZXZlbWVudGUgc29icmUgYSBib3JkYSkuXG4ubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWkgLm5hdi1vdmVyZmxvdy1taS1iYWRnZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCwgLTZweCkgIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogM3B4O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTtcbn1cbi8vIEJhZGdlIG5vIG1lbnUg4oCUIGdlb21ldHJpYSArIGNvcmVzIGlkw6pudGljYXMgw6BzIGRvIGAuc2lkZWJhci1pdGVtLWJhZGdlYFxuLy8gZGEgc2lkZWJhciAoZGVmaW5pZG8gZW0gc2lkZWJhci1pdGVtLmNvbXBvbmVudC5zY3NzOjE2NS0xODQpLiBDb21vIG9cbi8vIG1lbnUgw6kgcG9ydGFsZWQgYW8gYm9keSwgYXMgcmVncmFzIHNjb3BlZCBuw6NvIGFsY2Fuw6dhbSDigJQgcmVwbGljYW1vcy5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taSAubmF2LW92ZXJmbG93LW1pLWJhZGdlIHtcbiAgbWluLXdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIHBhZGRpbmc6IDAgNXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMxZjFmMWY7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICAmLmlzLXplcm8geyBkaXNwbGF5OiBub25lOyB9XG4gICYuc3RhdHVzLWNvbmZpcm1lZCB7IGJhY2tncm91bmQtY29sb3I6ICNGRkQ4NjA7IH1cbiAgJi5zdGF0dXMtbm90aWZpZWQgIHsgYmFja2dyb3VuZC1jb2xvcjogIzk0QzBGQjsgfVxuICAmLnN0YXR1cy1wZW5kaW5nICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjRkFCNjVDOyB9XG59XG5cbi8vIEhvdmVyIOKAlCBzw7Mgc29tYnJhLCBTRU0gbXVkYW7Dp2EgZGUgYmFja2dyb3VuZC9jb2xvci93ZWlnaHQuIEJ1bXAgY29tXG4vLyBgLmxpZ2h0LXRoZW1lYCArIGA6bm90KFtkaXNhYmxlZF0pYCBwcmEgdmVuY2VyIG8gaG92ZXIgZGVmYXVsdCBkb1xuLy8gdHBjLXVzZXItbWVudSBxdWUgcGludGEgYmcgZSBtdWRhIGNvbG9yIChzcGVjIDAsNiwwKS5cbi5saWdodC10aGVtZSAubWF0LW1lbnUtcGFuZWwudHBjLXVzZXItbWVudSAubWF0LW1lbnUtaXRlbS5uYXYtb3ZlcmZsb3ctbWk6aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBjb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuLmRhcmstdGhlbWUgLm1hdC1tZW51LXBhbmVsLnRwYy11c2VyLW1lbnUgLm1hdC1tZW51LWl0ZW0ubmF2LW92ZXJmbG93LW1pOmhvdmVyOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNykgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgY29sb3I6ICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWRhcmsgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xufVxuLy8gT3ZlcnJpZGUgZG8gaG92ZXIgZGVmYXVsdCBkbyB0cGMtdXNlci1tZW51IG5vIMOtY29uZSDigJQgbWFudMOpbSBGSUxMIDFcbi8vIGUgb3BhY2l0eSAxIChqw6EgZXJhbSBhc3NpbSBubyByZXN0OyBzZW0gZXN0YSByZWdyYSwgbyBob3ZlciByZXZlcnRlXG4vLyBwcmEgd2dodCA0MDAgc2VtIEZJTEwgZSBhIHRyYW5zacOnw6NvIGZpY2Egdmlzw612ZWwpLlxuLmxpZ2h0LXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgLm1hdC1pY29uLFxuLmRhcmstdGhlbWUgIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTpob3Zlcjpub3QoW2Rpc2FibGVkXSkgLm1hdC1pY29uIHtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICBmb250LXZhcmlhdGlvbi1zZXR0aW5nczogJ0ZJTEwnIDEsICd3Z2h0JyA0MDAsICdvcHN6JyAyNCAhaW1wb3J0YW50O1xufVxuLy8gQWN0aXZlIChwcmVzcykg4oCUIHNvbWJyYSBlbmNvbGhlLCBtZXNtYSBmYW3DrWxpYS5cbi5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTphY3RpdmUge1xuICBib3gtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMykgIWltcG9ydGFudDtcbn1cbi5kYXJrLXRoZW1lIC5tYXQtbWVudS1wYW5lbC50cGMtdXNlci1tZW51IC5tYXQtbWVudS1pdGVtLm5hdi1vdmVyZmxvdy1taTphY3RpdmUge1xuICBib3gtc2hhZG93OiAxcHggMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNykgIWltcG9ydGFudDtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBaLWluZGV4IGhpZXJhcmNoeVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyBTaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB0aGUgY2hhaXIgVUkncyBsYXllcmVkIHZpc3VhbCBoaWVyYXJjaHkuXG4vLyBMYXllcnMgZnJvbSBoaWdoZXN0IChmcm9udG1vc3QpIHRvIGxvd2VzdDpcbi8vXG4vLyAgIDEuIFRvb2x0aXBzICAgICAgICAgICAgICAgICAgICAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgIDIuIE1lbnVzICh1c2VyLCBub3RpZmljYXRpb25zLCAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgICAgIHN1Yi1ldmVudHMpXG4vLyAgIDMuIEJyZWFkY3J1bWIgICAgICAgICAgICAgICAgICAgICDigJQgYCR6LWJyZWFkY3J1bWJgXG4vLyAgIDQuIEZseW91dCAoTW9kZXJuIGNvbGxhcHNlZCAgICAgICDigJQgQ0RLIG92ZXJsYXkgKE1hdGVyaWFsIGRlZmF1bHQpXG4vLyAgICAgIHNpZGViYXIncyBsZXZlbC0yIHBvcG92ZXIpXG4vLyAgIDUuIFJlc2l6ZSBoYW5kbGVzIChzdWJtZW51ICAgICAgICDigJQgYCR6LXJlc2l6ZS1oYW5kbGVgXG4vLyAgICAgICsgTW9kZXJuIHNpZGViYXIpXG4vLyAgIDYuIFRvb2xiYXIgKGFjdGl2aXR5LWJhcikgICAgICAgICDigJQgYCR6LXRvb2xiYXJgXG4vLyAgIDcuIFN1Ym1lbnUgKG1hdC1zaWRlbmF2KSAgICAgICAgICDigJQgYCR6LXNpZGViYXJgXG4vLyAgICAgIEFORCBNb2Rlcm4gc2lkZWJhclxuLy8gICA4LiBDYW52YXMgICAgICAgICAgICAgICAgICAgICAgICAg4oCUIGAkei1jYW52YXNgIChhdXRvKVxuLy9cbi8vIEl0ZW1zIDEsIDIsIGFuZCA0IGFyZSBDREsgb3ZlcmxheXMgYW5kIHNoYXJlIGEgc2luZ2xlXG4vLyBgLmNkay1vdmVybGF5LWNvbnRhaW5lcmAgc3RhY2tpbmcgY29udGV4dCB0aGF0IE1hdGVyaWFsIHBhaW50cyBhYm92ZVxuLy8gZXZlcnl0aGluZyBlbHNlIGluIHRoZSBhcHAuIE9yZGVyIGFtb25nIHRoZW0gaXMgZGV0ZXJtaW5lZCBieSBDREsgYXRcbi8vIHJ1bnRpbWUgKG1vc3QtcmVjZW50bHktb3BlbmVkIHdpbnMpLiBUaGUgaGllcmFyY2h5IHBvc2l0aW9ucyBmb3Jcbi8vIGl0ZW1zIDEsIDIsIDQgYXJlIHRoZXJlZm9yZSBjb25jZXB0dWFsIOKAlCBwcmFjdGljYWwgc3RhY2tpbmcgYW1vbmdcbi8vIHRoZW0gaXMgTWF0ZXJpYWwncyBkZWZhdWx0IGFuZCByYXJlbHkgYSB2aXNpYmxlIGlzc3VlLlxuLy9cbi8vIEFueXRoaW5nIG5vdCBsaXN0ZWQgaGVyZSB1c2VzIGB6LWluZGV4OiBhdXRvYCAoPSAwIGluIGl0cyBzdGFja2luZ1xuLy8gY29udGV4dCkgYW5kIGxpdmVzIGJlbG93IGAkei10b29sYmFyYCBieSBkZWZhdWx0LlxuLy9cbi8vIFR1bmluZyBydWxlOiB3aGVuIGFkanVzdGluZyBhbnkgdG9rZW4gYmVsb3csIGxlYXZlIGEgY29tZm9ydGFibGUgZ2FwXG4vLyAo4omlMTApIHRvIGl0cyBuZWlnaGJvdXIgYWJvdmUvYmVsb3cgc28gZnV0dXJlIGFkZGl0aW9ucyBjYW4gc2xvdCBpblxuLy8gd2l0aG91dCByZW51bWJlcmluZyB0aGUgd2hvbGUgc3RhY2suXG5cbiR6LWNhbnZhczogICAgICAgICAgYXV0byAhZGVmYXVsdDtcbiR6LWRhc2hib2FyZC1wYW5lbDogNSAgICAhZGVmYXVsdDsgIC8vIHBhaW5lbCBkZSBjb21wb25lbnRlcyBkbyBEYXNoYm9hcmQgKG1vZG8gZWRpw6fDo28pOiBBQ0lNQSBkYSBww6FnaW5hL2NhbnZhcyAoYXV0by8wKSwgcG9yw6ltIEFCQUlYTyBkbyBicmVhZGNydW1iIGRvIGNoYWlyIGFyZWEgKHF1ZSB1c2EgYHotaW5kZXg6IDEwYCBsaXRlcmFsLCBOw4NPIG8gJHotYnJlYWRjcnVtYjo5MDAgYWJhaXhvKSBlIGRvIHJlc3RvIGRvIGNocm9tZSAoc2lkZWJhciAzMCAvIG5hdmJhciAzMSAvIHRvb2xiYXIgNDApIOKAlCBhc3NpbSBhIGJhcnJhIHN1cGVyaW9yLCBhbyByZXNzdXJnaXIgKGV4Ljogc2HDrWRhIGRvIG1vZG8gYW1wbG8pLCBmaWNhIE5BIEZSRU5URSBkbyBwYWluZWwuXG4kei1zaWRlYmFyOiAgICAgICAgIDMwICAgIWRlZmF1bHQ7ICAvLyBzdWJtZW51IChtYXQtc2lkZW5hdikgQU5EIE1vZGVybiBleHBlcmltZW50YWwtc2lkZWJhclxuJHotdG9vbGJhcjogICAgICAgNDAgICAhZGVmYXVsdDsgIC8vIGhpc3RvcmljYWxseSBgJG5hdmJhci16LWluZGV4ICsgMmBcbiR6LXJlc2l6ZS1oYW5kbGU6IDgwMCAgIWRlZmF1bHQ7XG4kei1icmVhZGNydW1iOiAgICA5MDAgICFkZWZhdWx0OyAgLy8gYmVsb3cgQ0RLIG92ZXJsYXkncyAxMDAwIHNvIG1lbnVzIHBhaW50IGFib3ZlXG5cbi8vIGFwcC1wb3BvdmVyIHBhbmVsIChwb3J0YWRvIHBybyA8Ym9keT4pIHByZWNpc2EgZXN0YXIgQUNJTUEgZGEgY2hyb21lXG4vLyAoc2lkZWJhciAzMCAvIHRvb2xiYXIgNDAgLyBicmVhZGNydW1iIDkwMCkgZSBBQkFJWE8gZG9zIHRvb2x0aXBzIGRvXG4vLyBDREsgb3ZlcmxheS4gVG9vbHRpcHMgKGNkay1vdmVybGF5LWNvbnRhaW5lcikgZ2FuaGFtIHotaW5kZXggMTIwMCBwcmFcbi8vIHJlbmRlcml6YXIgQUNJTUEgZG8gcG9wb3ZlciAoY2YuIC5jZGstb3ZlcmxheS1jb250YWluZXIgb3ZlcnJpZGUpLlxuJHotcG9wb3ZlcjogICAgICAgMTEwMCAhZGVmYXVsdDtcbiR6LWNkay1vdmVybGF5OiAgIDEyMDAgIWRlZmF1bHQ7ICAvLyB0b29sdGlwID4gcG9wb3ZlciA+IGJyZWFkY3J1bWJcbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQTExeSB1dGlsaXRpZXMg4oCUIGdsb2JhbCBoZWxwZXJzIHVzZWQgdGhyb3VnaG91dCBKRU1TM1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEb2N1bWVudGVkIGluIGRvY3MvR1VJQV9KRU1TMy5tZCDCpzIwIChBY2Vzc2liaWxpZGFkZSDigJQgw6FyZWEgYXV0b3IvcmV2aXNvcikuXG5cbi8vIFZpc3VhbGx5IGhpZGRlbiBidXQgYXZhaWxhYmxlIHRvIGFzc2lzdGl2ZSB0ZWNoIChzY3JlZW4gcmVhZGVycykuXG4vLyBVc2UgZm9yIGhlYWRpbmdzLCBsYWJlbHMgYW5kIGFubm91bmNlbWVudHMgdGhhdCBtdXN0IGV4aXN0IGluIHRoZVxuLy8gYWNjZXNzaWJpbGl0eSB0cmVlIGJ1dCBzaG91bGQgbm90IGFmZmVjdCB0aGUgdmlzdWFsIGxheW91dC5cbi5zci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIFNraXAgbGluayDigJQgdmlzaWJsZSBvbmx5IHdoZW4gZm9jdXNlZCAoVGFiIGtleSkuIFVzZWQgdG8gYnlwYXNzXG4vLyByZXBldGl0aXZlIG5hdmlnYXRpb24gYmxvY2tzIChlLmcuIHNpZGViYXIpIGFuZCBqdW1wIHRvIDxtYWluPi5cbi5za2lwLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwMHB4O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWFjY2VudCwgIzdDMkQxMik7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgei1pbmRleDogMTAwMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAmOmZvY3VzLFxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIHRvcDogOHB4O1xuICAgIGxlZnQ6IDhweDtcbiAgfVxufVxuXG4vLyBGb2N1cyByaW5nIOKAlCB2aXNpYmxlIGZvY3VzIGluZGljYXRvciBmb3Iga2V5Ym9hcmQgbmF2aWdhdGlvbi5cbi8vIEFwcGx5IHZpYSBgQGluY2x1ZGUgZm9jdXMtcmluZztgIGluc2lkZSBhbnkgYDpmb2N1cy12aXNpYmxlYCBzZWxlY3Rvci5cbkBtaXhpbiBmb2N1cy1yaW5nKCRjb2xvcjogdmFyKC0tYy1hY2NlbnQsICM3QzJEMTIpLCAkb2Zmc2V0OiAycHgpIHtcbiAgb3V0bGluZTogMnB4IHNvbGlkICRjb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6ICRvZmZzZXQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLy8gQ2FyZCBsaXN0IOKAlCBgPHVsIHJvbGU9XCJsaXN0XCI+YCB3cmFwcGVyIHBhcmEgbGlzdGFzIHNlbcOibnRpY2FzIGRlXG4vLyBjYXJkcy4gWmVyYSBvIGxpc3Qtc3R5bGUgZSBwYWRkaW5nIGRlZmF1bHQgZG8gYDx1bD5gIG1hbnRlbmRvIGFcbi8vIHNlbcOibnRpY2EgZGUgbGlzdGEgbm8gQVQgKFdDQUcgMS4zLjEpLiBVc2FyIGNvbSBgPGxpPmAgcG9yIGNhcmQuXG4vLyBPIGByb2xlPVwibGlzdFwiYCDDqSBSRURVTkRBTlRFIHByb2dyYW1hdGljYW1lbnRlIG1hcyBuZWNlc3PDoXJpbyBwb3JxdWVcbi8vIFNhZmFyaS9XZWJLaXQgcmVtb3ZlbSBhIHJvbGUgaW1wbMOtY2l0YSBxdWFuZG8gYXBsaWNhbW9zXG4vLyBgbGlzdC1zdHlsZTpub25lYCDigJQgYnVnIGhpc3TDs3JpY28sIHZpZGVcbi8vIGh0dHBzOi8vd3d3LnNjb3R0b2hhcmEubWUvYmxvZy8yMDE5LzAxLzEyL2xpc3RzLWFuZC1zYWZhcmkuaHRtbFxuLmNhcmRzLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbiIsIi8vIOKUgOKUgOKUgCBKRU1TMyBwYWdlIHZpZXcgbW9kZXMg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vLyBSZWdyYXMgZ2xvYmFpcyBhdGl2YWRhcyBwZWxvIGJvZHkgY2xhc3Mgc2V0YWRvIGVtXG4vLyBgc3JjL2FwcC9zZXJ2aWNlL3ZpZXctbW9kZS5zZXJ2aWNlLnRzYCBxdWFuZG8gbyBVUkwgdHJheiBgP3ZpZXdNb2RlPS4uLmAuXG4vLyBNb2RvcyBkZWZpbmlkb3MgZW0gYHNyYy9hcHAvdXRpbHMvcGFnZS12aWV3LW1vZGUudHNgLlxuLy9cbi8vICAg4oCiIHZpZXctbW9kZS1mdWxsICDihpIgbyBgYWRtaW4tZXZlbnQtc2lkZWJhcmAgYnJhbmNoIGrDoSBjdWlkYSBkbyBDSFJPTUVcbi8vICAgICAgICAgICAgICAgICAgICAgICBJTlRFUk5POiBlbSBtb2RvIEZ1bGwgZWxlIHJlbmRlcml6YSBzw7Ncbi8vICAgICAgICAgICAgICAgICAgICAgICBgPHJvdXRlci1vdXRsZXQ+YCwgc2VtIGAuc2lkZWJhcmAgL1xuLy8gICAgICAgICAgICAgICAgICAgICAgIGBtYXQtc2lkZW5hdi1jb250YWluZXJgIC8gZXRjLiBBIHDDoWdpbmEgZGEgcm90YVxuLy8gICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcml6YSBkaXJldG8gbm8gaG9zdCwgWkVSTyBoZXJhbsOnYSBkZSBnZW9tZXRyaWEuXG4vLyAgICAgICAgICAgICAgICAgICAgICAgQXF1aSBzw7Mgb2N1bHRhbW9zIG8gcXVlIHZpdmUgRk9SQSBkb1xuLy8gICAgICAgICAgICAgICAgICAgICAgIGFkbWluLWV2ZW50LXNpZGViYXIgKGBhcHAtZml4ZWQtdG9wLXByb2dyZXNzLWJhcmApLlxuLy9cbi8vICAg4oCiIHZpZXctbW9kZS1hbXBsbyDihpIgKHBsYWNlaG9sZGVyOyBhaW5kYSBuw6NvIGltcGxlbWVudGFkbykuXG4vLyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ2NvbG9ycyc7XG5cbmJvZHkudmlldy1tb2RlLWZ1bGwge1xuICAvLyBgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXJgIHZpdmUgZW0gYGV2ZW50LWFkbWluLmNvbXBvbmVudC5odG1sYCAoYWNpbWFcbiAgLy8gZG8gYGFwcC1hZG1pbi1ldmVudC1zaWRlYmFyYCkgZSDDqSByZWZlcmVuY2lhZG8gdmlhIEBWaWV3Q2hpbGQgY29tXG4gIC8vIHN0YXRpYzp0cnVlIHBlbG8gQWRtaW5TZXJ2aWNlIOKAlCBuw6NvIGTDoSBwcmEgKm5nSWYnYXIuIEVtIG1vZG8gRnVsbFxuICAvLyBvY3VsdGFtb3MgdmlhIENTUzsgaW5zdMOibmNpYSBzZWd1ZSB2aXZhIHByYSBuw6NvIHF1ZWJyYXIgcmVmcy5cbiAgYXBwLWZpeGVkLXRvcC1wcm9ncmVzcy1iYXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAvLyBTZW0gY2hyb21lIGFkbWluLCBvIEJPRFkgw6kgbyBmdW5kbyBmdWxsLWJsZWVkIGRhIHDDoWdpbmEuIFNlbSBpc3RvIGVsZSBmaWNhXG4gIC8vIEJSQU5DTyBlLCBjb21vIG8gYC52aWV3LW1vZGUtZnVsbC1zaGVsbGAgdGVtIHBhZGRpbmcgbGF0ZXJhbCwgc29icmF2YW0gZHVhc1xuICAvLyBcImJhcnJhcyBicmFuY2FzXCIgbmFzIGxhdGVyYWlzIChib2R5IGJyYW5jbyBmb3JhIGRvIGNpbnphIGRvIHBhcGVyLWluZm8pLlxuICAvLyBQaW50YSBjb20gbyBNRVNNTyBjaW56YSBkYSBww6FnaW5hIGRvIHBhcGVyLWluZm8gKCRncmF5LTE1MCkg4oaSIGZ1bGwtYmxlZWRcbiAgLy8gY2luemEgY29udMOtbnVvIGNvbSBhIGZvbGhhIGJyYW5jYSBjZW50cmFkYS4gRGFyayBlc3BlbGhhIG8gcHJldG8uXG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTE1MDtcblxuICAmLmRhcmstdGhlbWUgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYWRtaW4tYmFja2dyb3VuZC1kYXJrOyB9XG59XG5cbi8vIFNoZWxsIGRvIG1vZG8gRnVsbCAocmVuZGVyaXphZG8gZGVudHJvIGRlIGBhZG1pbi1ldmVudC1zaWRlYmFyLmh0bWxgXG4vLyBxdWFuZG8gYHZpZXdNb2RlLmlzRnVsbGApOiBwcm92w6ogQVBFTkFTIG8gcGFkZGluZyBsYXRlcmFsIHF1ZSBhIHDDoWdpbmFcbi8vIHJlY2ViZXJpYSBuYXR1cmFsbWVudGUgdmlhIGAubWF0LXNpZGVuYXYtY29udGVudGAgbm8gY2hyb21lIGFkbWluLlxuLy8gU2VtIHBhZGRpbmcgdG9wL2JvdHRvbSDigJQgdmVydGljYWwgZWRnZS10by1lZGdlLlxuLnZpZXctbW9kZS1mdWxsLXNoZWxsIHtcbiAgcGFkZGluZy1sZWZ0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1tZDtcbiAgcGFkZGluZy1yaWdodDogJGxhdGVyYWwtcGFkZGluZy1jb250ZW50LWRlc2t0b3AtbWQ7XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgcGFkZGluZy1sZWZ0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbGF0ZXJhbC1wYWRkaW5nLWNvbnRlbnQtZGVza3RvcC1zbTtcbiAgfVxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gSkVNUzMgY2hhaXIgVUkgY2hlY2tib3gg4oCUIHNxdWFyZSBtZW1iZXIgb2YgdGhlIGJpbmFyeS1jb250cm9sIGZhbWlseS5cbi8vIE91dGxpbmVkLW9mZiAvIGZpbGxlZC1vbiBjb20gbWVzbWEgRE5BIGRvIHNsaWRlLXRvZ2dsZSAocGlsbCkgZSByYWRpbyAoY8OtcmN1bG8pOlxuLy9cbi8vICAgLSBGcmFtZTogICAgICAgICAxNnB4IHNxdWFyZSwgNHB4IHJhZGl1cywgMS41cHggYm9yZGVyICh0aGVtZS1hd2FyZSlcbi8vICAgLSBPZmYgYmc6ICAgICAgICB3YXJtIGJlaWdlIHRpbnQgKGxpZ2h0KSAvIHRyYW5zcGFyZW50IChkYXJrKVxuLy8gICAtIE9uIGJnOiAgICAgICAgIHNvbGlkIGAjNGE0NjNmYCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gQ2hlY2ttYXJrOiAgICAgU1ZHIHN0cm9rZSBvZmYtd2hpdGUgY3Jvc3MtdGhlbWUgKHBvcCBlbSBhbWJvcyBvcyB0ZW1hc1xuLy8gICAgICAgICAgICAgICAgICAgIOKAlCB2aXPDrXZlbCB0YW50byBubyBmaWxsIGAjNGE0NjNmYCBlbSBsaWdodCBxdWFudG8gbm9cbi8vICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCBjb250cmEgY2FudmFzIGRhcmspXG4vL1xuLy8gQ29yZXMgdGhlbWUtYXdhcmUgZW0gX2NvbG9yLXNjaGVtZS5zY3NzOyBnZW9tZXRyaWEgKyB0cmFuc2nDp8O1ZXMgYXF1aS5cblxuLy8gS2lsbCByaXBwbGUg4oCUIGNoYWlyIFVJIGRvZXNuJ3QgdXNlIHJpcHBsZSBmZWVkYmFjay5cbi5tYXQtY2hlY2tib3gtcmlwcGxlIC5tYXQtcmlwcGxlLWVsZW1lbnQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBLaWxsIHRoZSBjaGVja21hcmsgZHJhdyBhbmltYXRpb24g4oCUIHN0YXlzIHNuYXAgKE5vdGlvbi9MaW5lYXItc3R5bGUpLlxuLy8gU3RhdGUgdHJhbnNpdGlvbnMgKGJnL2JvcmRlcikgRE8gYW5pbWF0ZSB2aWEgdGhlIHJ1bGVzIGJlbG93LlxuLm1hdC1jaGVja2JveC1jaGVja21hcmstcGF0aCB7XG4gIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi5tYXQtY2hlY2tib3gge1xuICAvLyBNYXRlcmlhbCBkZWZhdWx0IHRlbSBgLm1hdC1jaGVja2JveC1sYXlvdXQgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgfWAg4oCUXG4gIC8vIGEgYm94ICgxNnB4KSBhbGluaGEgcGVsbyBiYXNlbGluZSBkbyB0ZXh0byBlIGVzdGVuZGUgfjNweCBhY2ltYSBkbyB0b3AgZGFcbiAgLy8gdGV4dC1saW5lLCBzb21hbmRvIDJweCBkZSBhbHR1cmEgcG9yIHJvdyB2cyBvIGBhbGlnbi1pdGVtczogY2VudGVyYCBkb1xuICAvLyByYWRpbyBlIGRvIHRvZ2dsZS4gT3ZlcnJpZGUgcGFyYSBjZW50ZXIgYWxpbmhhIGEgZmFtw61saWEgdmlzdWFsbWVudGUuXG4gIC8vIFNwZWNpZmljaXR5IDAsMiwwICh2cyBNYXRlcmlhbCAwLDEsMCkg4oCUIHNlbSBgIWltcG9ydGFudGAuXG4gIC5tYXQtY2hlY2tib3gtbGF5b3V0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gMTZweCBib3ggKHNlY29uZGFyeSBpY29uIHNjYWxlLCBtZXNtYSBmYW3DrWxpYSkuIDhweCBnYXAgYmVmb3JlIGxhYmVsLlxuICAubWF0LWNoZWNrYm94LWlubmVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICB9XG5cbiAgLy8gNHB4IHJhZGl1cyBvbiBib3RoIGZyYW1lICh1bmNoZWNrZWQpIGFuZCBiYWNrZ3JvdW5kIChjaGVja2VkIGZpbGwpLlxuICAvLyBTbGlnaHQgcm91bmRpbmcgZ2l2ZXMgYSBOb3Rpb24vTGluZWFyIGZlZWwgd2l0aG91dCBnb2luZyBjaXJjdWxhci5cbiAgLm1hdC1jaGVja2JveC1mcmFtZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAxLjVweDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAubWF0LWNoZWNrYm94LWJhY2tncm91bmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gIC8vIFNocmluayB0aGUgY2hlY2ttYXJrIGdseXBoIHBhcmEgcmVmaW5lbWVudCBzZW0gcGVyZGVyIHByZXNlbsOnYS4gTWF0ZXJpYWxcbiAgLy8gZGVmYXVsdCByZW5kaWEgfjEwcHggKDYyJSBkbyBib3gpOyAwLjggcmVkdXogcGFyYSB+OHB4ID0gbWFpcyBsZXZlIHF1ZSBvXG4gIC8vIGRlZmF1bHQsIG1hcyBtYW50w6ltIHBlc28gZGUgbGVpdHVyYSBpbWVkaWF0YS5cbiAgLm1hdC1jaGVja2JveC1jaGVja21hcmsge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gRm9jdXMgKGtleWJvYXJkKSDigJQgb3V0bGluZSBvZmZzZXQgaWd1YWwgYW9zIG91dHJvcyBjb250cm9sZXMuIENvbG9yIHRoZW1lLWF3YXJlLlxuLm1hdC1jaGVja2JveC5jZGsta2V5Ym9hcmQtZm9jdXNlZCAubWF0LWNoZWNrYm94LWZyYW1lIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLy8gRGlzYWJsZWQg4oCUIG9wYWNpdHkgKyBjdXJzb3IgKHBhcmFsZWxvIGFvIHNsaWRlLXRvZ2dsZSBlIHJhZGlvKS5cbi5tYXQtY2hlY2tib3gubWF0LWNoZWNrYm94LWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIiwiQGltcG9ydCAnLi4vY29sb3JzJztcbkBpbXBvcnQgJy4uL3ZhcmlhYmxlcyc7XG5cbi8vIOKUgOKUgOKUgCAuamVtczMtbmF0aXZlLWNoZWNrYm94IOKAlCBjaGVja2JveCBOQVRJVk8gZXN0aWxpemFkbyBkbyBKRU1TMyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcbi8vIEFsdGVybmF0aXZhIGxpZ2h0LXdlaWdodCBhbyA8bWF0LWNoZWNrYm94PiBwYXJhIHRlbGFzIGNvbSBtdWl0YXMgaW5zdMOibmNpYXNcbi8vIChtYXRyaXplcywgY2hlY2tsaXN0cywgbGlzdGFzIGxvbmdhcykuIFNlbSByaXBwbGUsIHNlbSBpbnN0YW5jaWFtZW50byBkb1xuLy8gTWF0ZXJpYWwg4oCUIHPDsyBIVE1MIG5hdGl2byArIENTUy4gU3Vwb3J0YSBvcyAzIGVzdGFkb3MgKG9mZiAvIG9uIC8gaW5kZXRlci1cbi8vIG1pbmF0ZSkuIFByb21vdmlkbyBwYXJhIGdsb2JhbCBwcmEgc2VyIHJldXRpbGl6w6F2ZWwgZW0gcXVhbHF1ZXIgcMOhZ2luYS5cbi8vXG4vLyBVc286XG4vLyAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1jaGVja2JveFwiIFsobmdNb2RlbCldPVwidmFsdWVcIj5cbi8vXG4vLyBJbmRldGVybWluYXRlIMOpIHNldGFkbyB2aWEgSlMgKEFuZ3VsYXIgQFZpZXdDaGlsZCAvIHNldHRlciksIGlndWFsIGFvXG4vLyBtYXQtY2hlY2tib3guIEV4ZW1wbG86IGBjaGVja2JveFJlZi5pbmRldGVybWluYXRlID0gaXNQYXJ0aWFsbHlDaGVja2VkO2Bcbi8vXG4vLyBUZW1hOiBsaWdodCA9IGZpbGwgYWNjZW50IChvcmFuZ2UtOTAwKSArIGNoZWNrIG9mZi13aGl0ZS4gRGFyayA9IGZpbGxcbi8vIGdyYXktMzAwICsgY2hlY2sgbmVhci1ibGFjay4gT3ZlcnJpZGUgZW0gYC5kYXJrLXRoZW1lYCBubyBmaW0gZG8gYXJxdWl2by5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uamVtczMtbmF0aXZlLWNoZWNrYm94IHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAkZ3JheS00NTA7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTMgOCBMNyAxMiBMMTMgNCcgc3Ryb2tlPSclMjNmOWY4ZjcnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY2NlbnQtYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNNCA4IEwxMiA4JyBzdHJva2U9JyUyM2Y5ZjhmNycgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDY0YWQ5O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuLy8gRGFyayB0aGVtZSDigJQgZmlsbCBjbGFybyBjb20gY2hlY2sgZXNjdXJvIHByYSBjb250cmFzdGUuXG4uZGFyay10aGVtZSAuamVtczMtbmF0aXZlLWNoZWNrYm94IHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyBmaWxsPSdub25lJyUzRSUzQ3BhdGggZD0nTTMgOCBMNyAxMiBMMTMgNCcgc3Ryb2tlPSclMjMyMDIwMjAnIHN0cm9rZS13aWR0aD0nMi4yJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gIH1cblxuICAmOmluZGV0ZXJtaW5hdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTMwMDtcbiAgICBib3JkZXItY29sb3I6ICRncmF5LTMwMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTYgMTYnIGZpbGw9J25vbmUnJTNFJTNDcGF0aCBkPSdNNCA4IEwxMiA4JyBzdHJva2U9JyUyMzIwMjAyMCcgc3Ryb2tlLXdpZHRoPScyLjInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6ICMwMDgwZmY7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL2NvbG9ycyc7XG5AaW1wb3J0ICcuLi92YXJpYWJsZXMnO1xuXG4vLyDilIDilIDilIAgLmplbXMzLW5hdGl2ZS1yYWRpbyDigJQgcmFkaW8tYnV0dG9uIE5BVElWTyBlc3RpbGl6YWRvIGRvIEpFTVMzIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuLy8gQWx0ZXJuYXRpdmEgbGlnaHQtd2VpZ2h0IGFvIDxtYXQtcmFkaW8tYnV0dG9uPiDigJQgc2VtIHJpcHBsZSwgc2VtIE1hdGVyaWFsLlxuLy8gTWVzbWEgbGluZ3VhZ2VtIHZpc3VhbCBkbyAuamVtczMtbmF0aXZlLWNoZWNrYm94IChzw7MgSFRNTCArIENTUyksIHBhcmFcbi8vIGFtYmllbnRlcyBhdXRvci9yZXZpc29yIG9uZGUgbyByZXN0YW50ZSBkb3MgY29udHJvbGVzIMOpIG5hdGl2byBKRU1TMy5cbi8vXG4vLyBVc286XG4vLyAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBjbGFzcz1cImplbXMzLW5hdGl2ZS1yYWRpb1wiIG5hbWU9XCJncnVwb1wiXG4vLyAgICAgICAgICBbY2hlY2tlZF09XCIuLi5cIiAoY2hhbmdlKT1cIi4uLlwiPlxuLy9cbi8vIE11dHVhbC1leGNsdXPDo28gdmVtIGRvIGF0cmlidXRvIGBuYW1lYCBkbyBwcsOzcHJpbyBicm93c2VyIOKAlCBvIG1lc21vIGBuYW1lYFxuLy8gZW0gbcO6bHRpcGxvcyByw6FkaW9zIGFncnVwYSBhIHNlbGXDp8Ojby4gTsOjbyBwcmVjaXNhIGRlIDxtYXQtcmFkaW8tZ3JvdXA+LlxuLy9cbi8vIFRlbWE6IGxpZ2h0ID0gZmlsbCBhY2NlbnQgKG9yYW5nZS05MDApIGNvbSBtaW9sbyBvZmYtd2hpdGUuIERhcmsgPSBmaWxsXG4vLyBncmF5LTMwMCBjb20gbWlvbG8gbmVhci1ibGFjay4gT3ZlcnJpZGUgZW0gYC5kYXJrLXRoZW1lYCBubyBmaW0gZG8gYXJxdWl2by5cbi8vIOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgFxuXG4uamVtczMtbmF0aXZlLXJhZGlvIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxLjVweCBzb2xpZCAkZ3JheS00NTA7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLy8gTWlvbG8gZGVzZW5oYWRvIHZpYSBgYmFja2dyb3VuZC1pbWFnZWAgU1ZHIChjw61yY3VsbyBpbnRlcm5vKS4gQXNzaW1cbiAgLy8gbsOjbyBwcmVjaXNhIGRlIHBzZXVkby1lbGVtZW50byDigJQgZnVuY2lvbmEgZW0gPGlucHV0PiBuYXRpdm8sIHF1ZSBuw6NvXG4gIC8vIGFjZWl0YSBgOjpiZWZvcmVgL2A6OmFmdGVyYC5cbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWNjZW50LWJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzQnIGZpbGw9JyUyM2Y5ZjhmNycvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMDY0YWQ5O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG4gIH1cbn1cblxuLy8gRGFyayB0aGVtZSDigJQgZmlsbCBjbGFybyBjb20gbWlvbG8gZXNjdXJvIHByYSBjb250cmFzdGUuXG4uZGFyay10aGVtZSAuamVtczMtbmF0aXZlLXJhZGlvIHtcbiAgYm9yZGVyLWNvbG9yOiAkZ3JheS00MDA7XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDE2IDE2JyUzRSUzQ2NpcmNsZSBjeD0nOCcgY3k9JzgnIHI9JzQnIGZpbGw9JyUyMzIwMjAyMCcvJTNFJTNDL3N2ZyUzRVwiKTtcbiAgfVxuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJvcmRlci1jb2xvcjogJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3ItYWN0aXZlLWRhcms7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmUtY29sb3I6ICMwMDgwZmY7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbi8vIEpFTVMzIGNoYWlyIFVJIHNsaWRlLXRvZ2dsZSDigJQgY29tcGFjdCwgbW9ub2Nocm9tYXRpYywgb3V0bGluZWQtb2ZmIChcIlBsYW4gQlwiKS5cbi8vIERlZmF1bHQgTWF0ZXJpYWwgdjExIGlzIDM2w5cxNCB0cmFjayArIDIwcHggZWxldmF0ZWQgdGh1bWIgaW4gcHJpbWFyeS9hY2NlbnRcbi8vIGNvbG9yIChsb29rcyBkYXRlZCBhbmQgd2FzaGVkLW91dCBpbiB0aGUgb2ZmIHN0YXRlKS4gT3VyIHJlY2lwZTpcbi8vXG4vLyAgIC0gVHJhY2s6ICAgICAgIDI0w5cxNCBwaWxsIChyYWRpdXMgNykuIDE0JSBzbWFsbGVyIHRoYW4gZmlyc3QgY29tcGFjdCBwYXNzLlxuLy8gICAtIFRodW1iOiAgICAgICAxMMOXMTAgZmxhdCBjaXJjbGUsIDJweCBwYWRkaW5nIGFsbC1hcm91bmQgaW5zaWRlIHRoZSB0cmFja1xuLy8gICAgICAgICAgICAgICAgICAoc28gdGhlIHRodW1iIGlzIGZ1bGx5IGNvbnRhaW5lZCkuIFRyYW5zbGF0ZXMgMTBweCBvbiBjaGVjay5cbi8vICAgLSBPZmYgdHJhY2s6ICAgdHJhbnNwYXJlbnQgYmcgKyAxLjVweCBpbnNldCBib3JkZXIgKHZpYSBib3gtc2hhZG93IGluc2V0KVxuLy8gICAgICAgICAgICAgICAgICBpbiAkY2hyb21lLWJvcmRlci1saWdodC8tZGFyayDigJQgb3V0bGluZWQsIE5PVCBmaWxsZWQgZ3JheVxuLy8gICAgICAgICAgICAgICAgICAoZmlsbGVkIGdyYXkgbWFkZSB0aGUgY29udHJvbCByZWFkIGFzIFwiZGlzYWJsZWRcIikuXG4vLyAgIC0gT24gdHJhY2s6ICAgIHNvbGlkICRzaWRlYmFyLWFkbWluLW1lbnVpdGVtLWNvbG9yLWFjdGl2ZS8tYWN0aXZlLWRhcmtcbi8vICAgICAgICAgICAgICAgICAgKHNhbWUgYWN0aXZlIHRva2VuIHVzZWQgYnkgY2hlY2tib3ggY2hlY2tlZCBmaWxsKS5cbi8vICAgLSBPZmYgdGh1bWI6ICAgJHNpZGViYXItYWRtaW4tbWVudWl0ZW0tY29sb3IgKHRoZSBtdXRlZCB0ZXh0IHRva2VuIOKAlFxuLy8gICAgICAgICAgICAgICAgICBkYXJrIGdyYXkgb24gdGhlIG91dGxpbmVkIHRyYWNrLCBjbGVhcmx5IHByZXNlbnQpLlxuLy8gICAtIE9uIHRodW1iOiAgICAkc2lkZWJhci1hZG1pbi1iYWNrZ3JvdW5kIChjaHJvbWUgYmcgdG9uZSDigJQgb2ZmLXdoaXRlIG9uXG4vLyAgICAgICAgICAgICAgICAgIHRoZSBzb2xpZCBkYXJrIGFjdGl2ZSB0cmFjaywgY2xlYXJseSBwcmVzZW50KS5cbi8vXG4vLyBTZW1hbnRpY2FsbHkgc3ltbWV0cmljIHdpdGggdGhlIGNoZWNrYm94OiBvZmYgPSBvdXRsaW5lZCwgb24gPSBmaWxsZWQuXG4vLyBDb2xvcnMgYXJlIHRoZW1lLWF3YXJlIHZpYSBfY29sb3Itc2NoZW1lLnNjc3M7IGdlb21ldHJ5IGxpdmVzIGhlcmUuXG5cbi8vIEtpbGwgcmlwcGxlIOKAlCBjaGFpciBVSSBkb2Vzbid0IHVzZSByaXBwbGUgZmVlZGJhY2suXG4ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS1yaXBwbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWF0LXNsaWRlLXRvZ2dsZSB7XG4gIC8vIE1hdGVyaWFsIGRlZmF1bHQgZm9yw6dhIGAubWF0LXNsaWRlLXRvZ2dsZSB7IGhlaWdodDogMjRweDsgbGluZS1oZWlnaHQ6IDI0cHggfWBcbiAgLy8gbm8gaG9zdCAoPXdyYXBwZXIpIHZpYSBpbmxpbmUgc3R5bGVzIGRvIGNvbXBvbmVudGUgKFZpZXdFbmNhcHN1bGF0aW9uKS5cbiAgLy8gRXNzZXMgc3R5bGVzIGVudHJhbSBubyBkb2N1bWVudCBvcmRlciBERVBPSVMgZG9zIG5vc3NvcyBnbG9iYWlzIOKAlCBlbnTDo29cbiAgLy8gc2VtIGAhaW1wb3J0YW50YCBNYXRlcmlhbCB2ZW5jZSBwb3Igc291cmNlIG9yZGVyIChtZXNtYSBlc3BlY2lmaWNpZGFkZSkuXG4gIC8vIE92ZXJyaWRlOiBhdXRvLWhlaWdodCBjb2xhcHNhIG8gd3JhcHBlciBwYXJhIGEgYWx0dXJhIG5hdHVyYWwgZG8gY29udGXDumRvLlxuICAvL1xuICAvLyBsaW5lLWhlaWdodCBGSVhPICgxLjMsIGJvZHkgcmVjaXBlKSDigJQgTsODTyBgaW5oZXJpdGAuIENvbSBgaW5oZXJpdGAgbyBob3N0IHBlZ2F2YVxuICAvLyBvIGxpbmUtaGVpZ2h0IGRvIENPTlRBSU5FUiwgcXVlIHZhcmlhIHBvciB0ZWxhIChleC46IGAuc21hbGwtcGlja2VyIHsgbGluZS1oZWlnaHQ6XG4gIC8vIDEgIWltcG9ydGFudCB9YCwgYC5zY29wZS10b2dnbGUtcm93IHsgZm9udC1zaXplOiAuODc1cmVtIH1gKSwgZmF6ZW5kbyBvIE1FU01PIHRvZ2dsZVxuICAvLyByZW5kZXJpemFyIGNvbSBjYWl4YXMvYWxpbmhhbWVudG9zIGRpZmVyZW50ZXMgKFwidmVyc8O1ZXMgZGlmZXJlbnRlc1wiKS4gRml4byBhcXVpIOKGklxuICAvLyBpZMOqbnRpY28gZW0gdG9kbyBvIHNpc3RlbWEgKExpc3RhIGRlIHN1Ym1pc3PDtWVzLCBhdXRvci9yZXZpc29yLCBhZG1pbi9jaGFpcikuXG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMS4zICFpbXBvcnRhbnQ7XG5cbiAgLy8gR2VvbWV0cmlhICh0cmFjayArIHRodW1iKSA9IGJsb2NvIFwiTTMgc3dpdGNoIOKAlCBQQURSw4NPIERPIFNJU1RFTUFcIiBhYmFpeG8gKDMyw5cxOCxcbiAgLy8gYSBnZW9tZXRyaWEgZGEgTGlzdGEgZGUgc3VibWlzc8O1ZXMpLiBPIGNoYWlyIGNvbXBhY3RvIDI0w5cxNCBmb2kgQVBPU0VOVEFETyDigJQgZm9udGVcbiAgLy8gw5pOSUNBIGRlIGdlb21ldHJpYSBhZ29yYSDDqSBvIE0zLiBBcXVpIGZpY2Egc8OzIG8gYHBvc2l0aW9uOiByZWxhdGl2ZWAgZG8gdGh1bWIsIGJhc2VcbiAgLy8gcC8gbyA6OmFmdGVyIChnbHlwaCDinJMpIHNlIHBvc2ljaW9uYXIgZGVudHJvIGRvIHRodW1iLlxuICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG59XG5cbi8vIENoZWNrIGdseXBoICjinJMpIGluc2lkZSB0aGUgdGh1bWIgd2hlbiBPTi4gU1ZHIG1hc2sgZm9yIGNyaXNwIHJlbmRlcmluZyBhdFxuLy8gdGhlIHNtYWxsIDEwcHggdGh1bWIgc2l6ZSDigJQgYG1hc2stc2l6ZTogNjAlYCBsZWF2ZXMgfjJweCBvZiBicmVhdGhpbmcgcm9vbVxuLy8gYXJvdW5kIHRoZSBjaGVjay4gQ29sb3IgaXMgdGhlbWUtYXdhcmUgdmlhIF9jb2xvci1zY2hlbWUuc2Nzcy4gT2ZmIHN0YXRlXG4vLyBoYXMgbm8gZ2x5cGgg4oCUIG9ubHkgdGhlIG9uIHN0YXRlIGNhcnJpZXMgdGhlIGN1ZS5cbi5tYXQtc2xpZGUtdG9nZ2xlLm1hdC1jaGVja2VkIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTEuNSA0IEwzLjUgNiBMNi41IDInIHN0cm9rZT0nYmxhY2snIHN0cm9rZS13aWR0aD0nMS41JyBmaWxsPSdub25lJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnLyUzRSUzQy9zdmclM0VcIik7XG4gICAgICAgICAgbWFzay1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00xLjUgNCBMMy41IDYgTDYuNSAyJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzEuNScgZmlsbD0nbm9uZScgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuICAtd2Via2l0LW1hc2stc2l6ZTogNjAlO1xuICAgICAgICAgIG1hc2stc2l6ZTogNjAlO1xuICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgbWFzay1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgLXdlYmtpdC1tYXNrLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgbWFzay1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4vLyBUcmFuc2nDp8OjbyBkYSBwb3Npw6fDo28gZG8gdGh1bWIgT04gw6kgZGVmaW5pZGEgbm8gYmxvY28gTTMgKGdyb3cgKyBzbGlkZSAxNHB4KS5cblxuLy8gVHJhbnNpdGlvbjogc21vb3RoIHRodW1iIHNsaWRlICsgYmcvdGh1bWIgY29sb3IgZmFkZS4gMTUwbXMgd2l0aCAkZWFzZS1vdXRcbi8vIChjaGFpciBVSSBjYW5vbmljYWwgZWFzaW5nIGN1cnZlKS4gQm9yZGVyIChpbnNldCBzaGFkb3cpIGRvZXNuJ3QgY2hhbmdlXG4vLyBiZXR3ZWVuIG9mZi9vbiwgc28gbm8gdHJhbnNpdGlvbiBuZWVkZWQgb24gaXQuXG4ubWF0LXNsaWRlLXRvZ2dsZSAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYi1jb250YWluZXIge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMTUwbXMgJGVhc2Utb3V0O1xufVxuLm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJveC1zaGFkb3cgMTUwbXMgJGVhc2Utb3V0O1xufVxuLm1hdC1zbGlkZS10b2dnbGUgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWIge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDE1MG1zICRlYXNlLW91dDtcbn1cblxuLy8gRm9jdXMgaW5kaWNhdG9yIChrZXlib2FyZCBhMTF5KSDigJQgb3V0bGluZSBhcm91bmQgdGhlIHRyYWNrIHdoZW4gZm9jdXNlZCB2aWFcbi8vIGtleWJvYXJkLiBNYXRlcmlhbCdzIENESyBGb2N1c01vbml0b3IgYXBwbGllcyBgLmNkay1rZXlib2FyZC1mb2N1c2VkYCBvbmx5IG9uXG4vLyBrZXlib2FyZCBmb2N1cyAobW91c2UgZm9jdXMgZ2V0cyBgLmNkay1tb3VzZS1mb2N1c2VkYCwgbm8gb3V0bGluZSkuIENvbG9yIGlzXG4vLyB0aGVtZS1hd2FyZSB2aWEgX2NvbG9yLXNjaGVtZS5zY3NzLlxuLm1hdC1zbGlkZS10b2dnbGUuY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1zbGlkZS10b2dnbGUtYmFyIHtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLy8gRGlzYWJsZWQgc3RhdGUg4oCUIHNpbmdsZSBvcGFjaXR5IGRyb3Agb24gdGhlIGhvc3QgZWxlbWVudCAodW5pZm9ybSBtdXRlIG9mXG4vLyBwaWxsICsgdGh1bWIgKyBjaGVjayArIGxhYmVsKSArIGN1cnNvciBjdWUuIE1hdGVyaWFsIGFkZHMgYC5tYXQtZGlzYWJsZWRgXG4vLyBjbGFzcyB3aGVuIHRoZSBpbnB1dCBpcyBgW2Rpc2FibGVkXT1cInRydWVcImAuXG4ubWF0LXNsaWRlLXRvZ2dsZS5tYXQtZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTTMgc3dpdGNoIOKAlCBHRU9NRVRSSUEgR0xPQkFMIMOaTklDQSAocGFkcsOjbyBkbyBzaXN0ZW1hKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSZXByb2R1eiB2aXN1YWxtZW50ZSBvIE1hdGVyaWFsIERlc2lnbiAzIHN3aXRjaCBzb2JyZSBvIGNvbXBvbmVudGUgTWF0ZXJpYWwgMTEuXG4vLyDDiSBhIMOaTklDQSBnZW9tZXRyaWEgZGUgdG9kbyBgbWF0LXNsaWRlLXRvZ2dsZWAgZG8gSkVNUzMg4oCUIGEgbWVzbWEgZG8gdG9nZ2xlIGRhXG4vLyBcIkxpc3RhIGRlIHN1Ym1pc3PDtWVzXCIgKHF1ZSBhcGVuYXMgaGVyZGEgZXN0ZSBnbG9iYWwsIHNlbSBnZW9tZXRyaWEgcHLDs3ByaWEpLiBBbnRlc1xuLy8gZXNjb3BhZGEgYW8gYXV0b3IvcmV2aXNvciAoYC5tYWluLWhlYWRlciAub3B0aW9uc2AsIGAuc21hbGwtcGlja2VyYCxcbi8vIGAuc2NvcGUtdG9nZ2xlLXJvd2ApIGUgbyBjaGFpciBjb21wYWN0byAyNMOXMTQgZXJhIG8gZGVmYXVsdDsgYWdvcmEgbyBjaGFpciBmb2lcbi8vIGFwb3NlbnRhZG8gZSBlc3RhIMOpIGEgZm9udGUgdW5pdmVyc2FsLiBPIGJsb2NvIGAubWF0LXNsaWRlLXRvZ2dsZWAgYWNpbWEgY3VpZGEgc8OzXG4vLyBkbyBuw6NvLWdlb23DqXRyaWNvIChlc3RhZG8gT0ZGL2NvciwgaG9zdCBoZWlnaHQsIGtpbGwtcmlwcGxlLCBwb3NpdGlvbiBkbyB0aHVtYikuXG4vLyBNZXhlciBhcXVpIHJlZmxldGUgZW0gVE9ETyBvIHNpc3RlbWEsIGluY2x1c2l2ZSBuYSBMaXN0YSBkZSBzdWJtaXNzw7Vlcy5cbi8vXG4vLyAgIE0zIHNwZWNzIChjb21wYWN0bywgbWFudMOpbSByYXRpbyB0aHVtYi90cmFjayB+MC43NSBkbyBNMyBzdGFuZGFyZCk6XG4vLyAgIC0gVHJhY2s6ICAgIDMyw5cxOCBwaWxsLCByYWRpdXMgOVxuLy8gICAtIFRodW1iOiAgICAxMMOXMTAgb2ZmIChjZW50ZXJlZCwgNHB4IHBhZGRpbmcpIOKGkiAxNMOXMTQgb24gKGNyZXNjZSArIHNsaWRlKVxuLy8gICAtIE91dGxpbmU6ICAxLjVweCBib3JkZXIgbmEgdHJhY2sgT0ZGOyBzZW0gb3V0bGluZSBPTiAoTTMgcHVybylcbi8vICAgLSBDb3Igb246ICAgJGFjY2VudC1iYWNrZ3JvdW5kIChhenVsIEpFTVMzKSDigJQgZGVmaW5pZGEgZW0gX2NvbG9yLXNjaGVtZS5zY3NzXG4vLyAgIC0gU2hhZG93OiAgIHRodW1iIHRlbSBlbGV2YcOnw6NvIHN1dGlsXG4vLyAgIC0gSG92ZXI6ICAgIHNlbSBkZXN0YXF1ZSAoYSB0cmFjayBPTiBqw6EgdGVtIGNvciBzYXR1cmFkYSBvIHN1ZmljaWVudGUpXG4vLyAgIC0gUGFkZGluZyBPTjogMnB4IGRlIGNhZGEgbGFkbyAodGh1bWIgbsOjbyB0b2NhIGJvcmRhIGRhIHRyYWNrKVxuLm1hdC1zbGlkZS10b2dnbGUge1xuICAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXItcmFkaXVzOiA5cHg7XG4gIH1cblxuICAvLyBPZmYgdGh1bWI6IDEww5cxMCwgY2VudGVyZWQgKDRweCBwYWRkaW5nIGFsbC1hcm91bmQgaW5zaWRlIDE4cHggYmFyKS5cbiAgLm1hdC1zbGlkZS10b2dnbGUtdGh1bWItY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgdG9wOiA0cHg7XG4gICAgbGVmdDogNHB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyAkZWFzZS1vdXQsIHdpZHRoIDE1MG1zICRlYXNlLW91dCxcbiAgICAgICAgICAgICAgICBoZWlnaHQgMTUwbXMgJGVhc2Utb3V0LCB0b3AgMTUwbXMgJGVhc2Utb3V0LFxuICAgICAgICAgICAgICAgIGxlZnQgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG4gIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iIHtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIHdpZHRoIDE1MG1zICRlYXNlLW91dCxcbiAgICAgICAgICAgICAgICBoZWlnaHQgMTUwbXMgJGVhc2Utb3V0LCBib3gtc2hhZG93IDE1MG1zICRlYXNlLW91dDtcbiAgfVxuXG4gIC8vIENoZWNrZWQ6IHRodW1iIGNyZXNjZSBwYXJhIDE0w5cxNCAoTTMgZ3JvdykuIFBvc2nDp8OjbyBmaW5hbDogdGh1bWIgcmlnaHRcbiAgLy8gZWRnZSBhIDJweCBkYSBib3JkYSBkaXJlaXRhIGRhIHRyYWNrIOKGkiB0aHVtYiBsZWZ0ID0gMzIgLSAxNCAtIDIgPSAxNnB4LlxuICAvLyBDb250YWluZXIgT04gdGVtIGxlZnQ6MiwgZW50w6NvIHRyYW5zZm9ybSA9IDE2IC0gMiA9IDE0cHguXG4gICYubWF0LWNoZWNrZWQge1xuICAgIC5tYXQtc2xpZGUtdG9nZ2xlLXRodW1iLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIHRvcDogMnB4O1xuICAgICAgbGVmdDogMnB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxNHB4LCAwLCAwKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYiB7XG4gICAgICB3aWR0aDogMTRweDtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgfVxuICB9XG5cbiAgLy8gTTMgT04gdGh1bWI6IGNoZWNrIGdseXBoICh2aWEgOjphZnRlciBkbyBjaGFpciByZWNpcGUpIGVtIDU1JSBkbyB0aHVtYlxuICAvLyAxNMOXMTQgPSB+OHB4LiBDb3IgZG8gZ2x5cGggw6kgYXp1bCBKRU1TMyAob3ZlcnJpZGUgZW0gX2NvbG9yLXNjaGVtZS5zY3NzKS5cbiAgJi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS10aHVtYjo6YWZ0ZXIge1xuICAgIC13ZWJraXQtbWFzay1zaXplOiA1NSU7XG4gICAgICAgICAgICBtYXNrLXNpemU6IDU1JTtcbiAgfVxuXG4gIC8vIE0zIE9OIHRyYWNrOiBzZW0gb3V0bGluZSAoYSBjb3IgcHJlZW5jaGlkYSDDqSBvIHNpbmFsKS5cbiAgJi5tYXQtY2hlY2tlZCAubWF0LXNsaWRlLXRvZ2dsZS1iYXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEhvdmVyOiBiZyBkYSBiYXIgbsOjbyBtdWRhLCBlIGEgY29yIGRhIG91dGxpbmUgKE9GRiBzdGF0ZSkgdGFtYsOpbSBuw6NvIG11ZGFcbiAgLy8g4oCUIG92ZXJyaWRlcyBlbSBfY29sb3Itc2NoZW1lLnNjc3MgZ2FyYW50ZW0gcXVlIGhvdmVyID09PSByZXN0aW5nIHN0YXRlLlxufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcblxuLy8gSkVNUzMgY2hhaXIgVUkgcmFkaW8gYnV0dG9uIOKAlCBhcHBsaWVzIHRoZSBzbGlkZS10b2dnbGUncyBcImJpbmFyeSBjb250cm9sXCJcbi8vIHZpc3VhbCBsYW5ndWFnZSB0byBhIGNpcmN1bGFyIHNoYXBlLiBUb2dldGhlciB3aXRoIHRoZSBjaGVja2JveCAoc3F1YXJlKVxuLy8gYW5kIHNsaWRlLXRvZ2dsZSAocGlsbCksIHRoZSByYWRpbyAoY2lyY2xlKSBjb21wbGV0ZXMgdGhlIGZhbWlseSDigJQgYWxsXG4vLyB0aHJlZSBzaGFyZTogb3V0bGluZWQtb2ZmIC8gZmlsbGVkLW9uLCBtZXNtb3MgY29sb3IgdG9rZW5zLCBtZXNtYXMgaW52ZXJzw7Vlc1xuLy8gZGUgaG92ZXIsIGZvY3VzIGJyYW5kLXNhdHVyYWRvLlxuLy9cbi8vICAgLSBPdXRlciByaW5nOiAgMTZweCBjaXJjbGUsIDEuNXB4IGJvcmRlciAodGhlbWUtYXdhcmUpXG4vLyAgIC0gT2ZmIGJnOiAgICAgIHdhcm0gYmVpZ2UgdGludCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gT24gYmc6ICAgICAgIHNvbGlkIGAjNGE0NjNmYCAobGlnaHQpIC8gdHJhbnNwYXJlbnQgKGRhcmspXG4vLyAgIC0gSW5uZXIgZG90OiAgIH42cHggKHNjYWxlIDAuMzc1IGRvIG91dGVyIDE2cHgpIG9mZi13aGl0ZSBjcm9zcy10aGVtZSxcbi8vICAgICAgICAgICAgICAgICAgdmlzw612ZWwgc8OzIG5vIGNoZWNrZWQg4oCUIGZheiBvIHBhcGVsIHZpc3VhbCBkbyBcInRodW1iXCIgZG9cbi8vICAgICAgICAgICAgICAgICAgc2xpZGUtdG9nZ2xlIChjdWUgZGUgcG9zacOnw6NvL3NlbGXDp8Ojbylcbi8vXG4vLyBDb3JlcyB0aGVtZS1hd2FyZSBlbSBfY29sb3Itc2NoZW1lLnNjc3M7IGdlb21ldHJpYSArIHRyYW5zacOnw7VlcyBhcXVpLlxuXG4vLyBLaWxsIHJpcHBsZSDigJQgY2hhaXIgVUkgZG9lc24ndCB1c2UgcmlwcGxlLlxuLm1hdC1yYWRpby1idXR0b24gLm1hdC1yYWRpby1yaXBwbGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWF0LXJhZGlvLWJ1dHRvbiB7XG4gIC8vIENvbnRhaW5lciDigJQgMTZweCBib3ggcXVlIGFicmlnYSBvdXRlciArIGlubmVyLlxuICAubWF0LXJhZGlvLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICB9XG5cbiAgLy8gT3V0ZXIgY2lyY2xlICh0aGUgcmluZykg4oCUIDE2cHgsIGJvcmRlciAxLjVweCAodW5pZm9ybWUgbm9zIGRvaXMgdGVtYXMpLlxuICAubWF0LXJhZGlvLW91dGVyLWNpcmNsZSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci13aWR0aDogMS41cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxNTBtcyAkZWFzZS1vdXQsIGJvcmRlci1jb2xvciAxNTBtcyAkZWFzZS1vdXQ7XG4gIH1cblxuICAvLyBJbm5lciBjaXJjbGUgKHRoZSBkb3QpIOKAlCBzZW1wcmUgMTZweCBkZSDDoXJlYTsgc2NhbGUgZmF6IGFwYXJlY2VyL3N1bWlyLlxuICAvLyBNYXRlcmlhbCBkZWZhdWx0ID0gc2NhbGUoMCkgdW5jaGVja2VkIOKGkiBzY2FsZSgwLjUpIGNoZWNrZWQgKD0gOHB4IGRvdCkuXG4gIC8vIE92ZXJyaWRlOiBzY2FsZSgwLjM3NSkgY2hlY2tlZCA9IDZweCBkb3QsIG1haXMgZGlzY3JldG8gZSBoYXJtw7RuaWNvIGNvbVxuICAvLyBhIGVzY2FsYSBtb25vY3LDs21hdGljYSBkbyBjb21wb25lbnRlLlxuICAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAxNTBtcyAkZWFzZS1vdXQsIGJhY2tncm91bmQtY29sb3IgMTUwbXMgJGVhc2Utb3V0O1xuICB9XG5cbiAgJi5tYXQtcmFkaW8tY2hlY2tlZCAubWF0LXJhZGlvLWlubmVyLWNpcmNsZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjM3NSk7XG4gIH1cbn1cblxuLy8gRm9jdXMgKGtleWJvYXJkKSDigJQgb3V0bGluZSBvZmZzZXQgaWd1YWwgYW8gc2xpZGUtdG9nZ2xlLlxuLm1hdC1yYWRpby1idXR0b24uY2RrLWtleWJvYXJkLWZvY3VzZWQgLm1hdC1yYWRpby1vdXRlci1jaXJjbGUge1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vLyBEaXNhYmxlZCDigJQgb3BhY2l0eSArIGN1cnNvciAocGFyYWxlbG8gYW9zIG91dHJvcyBjb250cm9sZXMpLlxuLm1hdC1yYWRpby1idXR0b24ubWF0LXJhZGlvLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC41O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqZW1zM3InO1xuICAgIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnRzL2plbXMzci53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1kaXNwbGF5OiBibG9jaztcbiAgfVxuICBcbiAgLmplbXMzciB7XG4gICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICBmb250LWZhbWlseTogJ2plbXMzcicgIWltcG9ydGFudDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgXG4gICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIFxuICAgICYuZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xuICAgIH1cbiAgICAmLmZhLWNoZWNrLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDFcIjtcbiAgICB9XG4gICAgJi5mYS1jbG9jazpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDJcIjtcbiAgICB9XG4gICAgJi5mYS1lZGl0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICAgIH1cbiAgICAmLmZhLWV5ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDRcIjtcbiAgICB9XG4gICAgJi5mYS1leWUtc2xhc2g6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA1XCI7XG4gICAgfVxuICAgICYuZmEtZmlsZS1hbHQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XG4gICAgfVxuICAgICYuZmEtbGlnaHRidWxiOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICAgIH1cbiAgICAmLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDhcIjtcbiAgICB9XG4gICAgJi5mYS1wYXBlci1wbGFuZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MDlcIjtcbiAgICB9XG4gICAgJi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gICAgfVxuICAgICYuZmEtc3RpY2t5LW5vdGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlOTBiXCI7XG4gICAgfVxuICAgICYuZmEtYmVsbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgICB9XG4gIH1cbiAgIiwiQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6ICdqZW1zM3MnO1xuICAgIC8vIE9ubHkgV09GRiDigJQgYWxsIGNoYWlyLVVJIHRhcmdldCBicm93c2VycyBzdXBwb3J0IGl0IChDaHJvbWUsXG4gICAgLy8gRmlyZWZveCwgU2FmYXJpLCBFZGdlKS4gVGhlIGxlZ2FjeSBgLmVvdGAgKElFOC0pIGFuZCBgLnR0ZmBcbiAgICAvLyAoZmFsbGJhY2spIHdlcmUgZHJvcHBlZCBhbG9uZyB3aXRoIHRoZSBvcnBoYW4gYC5zdmdgIGZvbnQgZmlsZS5cbiAgICBzcmM6IHVybCgnL2Fzc2V0cy9mb250cy9qZW1zM3Mud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtZGlzcGxheTogYmxvY2s7XG59XG4gIFxuLmplbXMzc3tcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdqZW1zM3MnICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgJi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gIH1cbiAgJi5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTAxXCI7XG4gIH1cbiAgJi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwMlwiO1xuICB9XG4gICYuZmEtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICB9XG4gICYuZmEtYmFsYW5jZS1zY2FsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XG4gIH1cbiAgJi5mYS1iYXJzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDVcIjtcbiAgfVxuICAmLmZhLWJvb2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwNlwiO1xuICB9XG4gICYuZmEtYm9yZGVyLW5vbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwN1wiO1xuICB9XG4gICYuZmEtY2FsZW5kYXItYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDhcIjtcbiAgfVxuICAmLmZhLWNhbGVuZGFyLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MDlcIjtcbiAgfVxuICAmLmZhLWNhbWVyYTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBhXCI7XG4gIH1cbiAgJi5mYS1jaGVjay1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkwYlwiO1xuICB9XG4gICYuZmEtY2hlY2stZG91YmxlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGNcIjtcbiAgfVxuICAmLmZhLWNoZWNrOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGRcIjtcbiAgfVxuICAmLmZhLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XG4gIH1cbiAgJi5mYS1jaGV2cm9uLXVwOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MGZcIjtcbiAgfVxuICAmLmZhLWNsaXBib2FyZC1jaGVjazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEwXCI7XG4gIH1cbiAgJi5mYS1jbGlwYm9hcmQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMVwiO1xuICB9XG4gICYuZmEtY2xvY2s6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxMlwiO1xuICB9XG4gICYuZmEtY29nczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTEzXCI7XG4gIH1cbiAgJi5mYS1jb21tZW50LWRvdHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxNFwiO1xuICB9XG4gICYuZmEtY29tbWVudDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE1XCI7XG4gIH1cbiAgJi5mYS1jb21tZW50czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE2XCI7XG4gIH1cbiAgJi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTE3XCI7XG4gIH1cbiAgJi5mYS1lZGl0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MThcIjtcbiAgfVxuICAmLmZhLWVsbGlwc2lzLWg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxOVwiO1xuICB9XG4gICYuZmEtZW52ZWxvcGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxYVwiO1xuICB9XG4gICYuZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWJcIjtcbiAgfVxuICAmLmZhLWV4Y2xhbWF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWNcIjtcbiAgfVxuICAmLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MWRcIjtcbiAgfVxuICAmLmZhLWV5ZS1zbGFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTFlXCI7XG4gIH1cbiAgJi5mYS1leWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkxZlwiO1xuICB9XG4gICYuZmEtZmlsZS1kb3dubG9hZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIwXCI7XG4gIH1cbiAgJi5mYS1maWxlLWV4Y2VsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjFcIjtcbiAgfVxuICAmLmZhLWZpbGUtcGRmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjJcIjtcbiAgfVxuICAmLmZhLWZpbGUtd29yZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTIzXCI7XG4gIH1cbiAgJi5mYS1maWx0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNFwiO1xuICB9XG4gICYuZmEtZ2xvYmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyNVwiO1xuICB9XG4gICYuZmEtaGlzdG9yeTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI2XCI7XG4gIH1cbiAgJi5mYS1ob21lOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjdcIjtcbiAgfVxuICAmLmZhLWhvdXJnbGFzcy1oYWxmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5MjhcIjtcbiAgfVxuICAmLmZhLWhvdXJnbGFzczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTI5XCI7XG4gIH1cbiAgJi5mYS1pZC1iYWRnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJhXCI7XG4gIH1cbiAgJi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyYlwiO1xuICB9XG4gICYuZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyY1wiO1xuICB9XG4gICYuZmEtaW5mbzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTJkXCI7XG4gIH1cbiAgJi5mYS1saWdodGJ1bGI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZVwiO1xuICB9XG4gICYuZmEtbGlzdC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkyZlwiO1xuICB9XG4gICYuZmEtbG9jazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMwXCI7XG4gIH1cbiAgJi5mYS1tYXAtbWFya2VyLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTMxXCI7XG4gIH1cbiAgJi5mYS1taW51cy1zcXVhcmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzMlwiO1xuICB9XG4gICYuZmEtcGFwZXItcGxhbmU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzM1wiO1xuICB9XG4gICYuZmEtcGVuY2lsLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM0XCI7XG4gIH1cbiAgJi5mYS1wZW46YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNVwiO1xuICB9XG4gICYuZmEtcGx1cy1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzNlwiO1xuICB9XG4gICYuZmEtcGx1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM3XCI7XG4gIH1cbiAgJi5mYS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTM4XCI7XG4gIH1cbiAgJi5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzOVwiO1xuICB9XG4gICYuZmEtc2VhcmNoOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2FcIjtcbiAgfVxuICAmLmZhLXNpZ24tb3V0LWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTNiXCI7XG4gIH1cbiAgJi5mYS1zbGlkZXJzLWg6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTkzY1wiO1xuICB9XG4gICYuZmEtc29ydC1hbW91bnQtdXAtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2RcIjtcbiAgfVxuICAmLmZhLXN5bmMtYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2VcIjtcbiAgfVxuICAmLmZhLXRhY2hvbWV0ZXItYWx0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5M2ZcIjtcbiAgfVxuICAmLmZhLXRhZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQwXCI7XG4gIH1cbiAgJi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQxXCI7XG4gIH1cbiAgJi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0MlwiO1xuICB9XG4gICYuZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDNcIjtcbiAgfVxuICAmLmZhLXRpbWVzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDRcIjtcbiAgfVxuICAmLmZhLXRyYXNoLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ1XCI7XG4gIH1cbiAgJi5mYS10cmFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTQ2XCI7XG4gIH1cbiAgJi5mYS11bmRvOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDdcIjtcbiAgfVxuICAmLmZhLXVubG9jay1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0OFwiO1xuICB9XG4gICYuZmEtdXBsb2FkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NDlcIjtcbiAgfVxuICAmLmZhLXVzZXItY2lyY2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGFcIjtcbiAgfVxuICAmLmZhLXVzZXItY29nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NGJcIjtcbiAgfVxuICAmLmZhLXVzZXItZWRpdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRjXCI7XG4gIH1cbiAgJi5mYS11c2Vycy1zbGFzaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRkXCI7XG4gIH1cbiAgJi5mYS13aW5kb3ctY2xvc2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk0ZVwiO1xuICB9XG4gICYuZmEtc3RhcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTRmXCI7XG4gIH1cbiAgJi5mYS11c2VyczpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUwXCI7XG4gIH1cbiAgJi5mYS1maWxlLWFsdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTUxXCI7XG4gIH1cbiAgJi5mYS1sZXZlbC11cC1hbHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1MlwiO1xuICB9XG4gICYuZmEtcXVlc3Rpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1M1wiO1xuICB9XG4gICYuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1NFwiO1xuICB9XG4gICYuZmEtaGVhZHNldDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTU1XCI7XG4gIH1cbiAgJi5mYS1jaXR5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NTZcIjtcbiAgfVxuICAmLmZhLWZpbGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1N1wiO1xuICB9XG4gICYuZmEtZmlsZS1hcmNoaXZlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NThcIjtcbiAgfVxuICAmLmZhLWJlbGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZTk1OVwiO1xuICB9XG4gICYuZmEtZW52ZWxvcGUtb3BlbjpiZWZvcmV7XG4gICAgY29udGVudDogXCJcXGU5NWFcIlxuICB9XG4gICYuZmEtc3RpY2t5LW5vdGU6YmVmb3Jle1xuICAgIGNvbnRlbnQ6IFwiXFxlOTViXCJcbiAgfVxuICAmLmZhLWxhcHRvcDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVjXCI7XG4gIH1cbiAgJi5mYS1tb29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGU5NWRcIjtcbiAgfVxuICAmLmZhLXN1bjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFxlOTVlXCI7XG4gIH1cbn1cblxuIiwiLy8gTWF0ZXJpYWwgRGVzaWduIDMgdHlwb2dyYXBoeSDigJQgc2NvcGVkIHRvIC50cGMtbWQzIChUUEMgY2hhaXIgYXJlYSBvbmx5KS5cbi8vIFJlZmVyZW5jZTogaHR0cHM6Ly9tMy5tYXRlcmlhbC5pby9zdHlsZXMvdHlwb2dyYXBoeS90eXBlLXNjYWxlLXRva2Vuc1xuXG4kbWQzLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLyBBbGwgMTUgTUQzIHR5cGUtc2NhbGUgdG9rZW5zOiBzaXplIC8gbGluZS1oZWlnaHQgLyB3ZWlnaHQgLyBsZXR0ZXItc3BhY2luZy5cbiRtZDMtdHlwZS1zY2FsZTogKFxuICBkaXNwbGF5LWxhcmdlOiAgICAoMy41NjI1cmVtLCA0cmVtLCAgICA0MDAsIC0wLjAxNTYyNXJlbSksXG4gIGRpc3BsYXktbWVkaXVtOiAgICgyLjgxMjVyZW0sIDMuMjVyZW0sIDQwMCwgMCksXG4gIGRpc3BsYXktc21hbGw6ICAgICgyLjI1cmVtLCAgIDIuNzVyZW0sIDQwMCwgMCksXG4gIGhlYWRsaW5lLWxhcmdlOiAgICgycmVtLCAgICAgIDIuNXJlbSwgIDQwMCwgMCksXG4gIGhlYWRsaW5lLW1lZGl1bTogICgxLjc1cmVtLCAgIDIuMjVyZW0sIDQwMCwgMCksXG4gIGhlYWRsaW5lLXNtYWxsOiAgICgxLjVyZW0sICAgIDJyZW0sICAgIDQwMCwgMCksXG4gIHRpdGxlLWxhcmdlOiAgICAgICgxLjM3NXJlbSwgIDEuNzVyZW0sIDQwMCwgMCksXG4gIHRpdGxlLW1lZGl1bTogICAgICgxcmVtLCAgICAgIDEuNXJlbSwgIDUwMCwgMC4wMDkzNzVyZW0pLFxuICB0aXRsZS1zbWFsbDogICAgICAoMC44NzVyZW0sICAxLjI1cmVtLCA1MDAsIDAuMDA2MjVyZW0pLFxuICBib2R5LWxhcmdlOiAgICAgICAoMXJlbSwgICAgICAxLjVyZW0sICA0MDAsIDAuMDMxMjVyZW0pLFxuICBib2R5LW1lZGl1bTogICAgICAoMC44NzVyZW0sICAxLjI1cmVtLCA0MDAsIDAuMDE1NjI1cmVtKSxcbiAgYm9keS1zbWFsbDogICAgICAgKDAuNzVyZW0sICAgMXJlbSwgICAgNDAwLCAwLjAyNXJlbSksXG4gIGxhYmVsLWxhcmdlOiAgICAgICgwLjg3NXJlbSwgIDEuMjVyZW0sIDUwMCwgMC4wMDYyNXJlbSksXG4gIGxhYmVsLW1lZGl1bTogICAgICgwLjc1cmVtLCAgIDFyZW0sICAgIDUwMCwgMC4wMzEyNXJlbSksXG4gIGxhYmVsLXNtYWxsOiAgICAgICgwLjY4NzVyZW0sIDFyZW0sICAgIDUwMCwgMC4wMzEyNXJlbSksXG4pO1xuXG5AbWl4aW4gbWQzLXR5cGUoJHRva2VuKSB7XG4gICR2YWx1ZXM6IG1hcC1nZXQoJG1kMy10eXBlLXNjYWxlLCAkdG9rZW4pO1xuICBmb250LXNpemU6IG50aCgkdmFsdWVzLCAxKTtcbiAgbGluZS1oZWlnaHQ6IG50aCgkdmFsdWVzLCAyKTtcbiAgZm9udC13ZWlnaHQ6IG50aCgkdmFsdWVzLCAzKTtcbiAgbGV0dGVyLXNwYWNpbmc6IG50aCgkdmFsdWVzLCA0KTtcbn1cblxuLnRwYy1tZDMge1xuICBmb250LWZhbWlseTogJG1kMy1mb250LWZhbWlseTtcbiAgLy8gdG51bSBnaXZlcyB1bmlmb3JtLXdpZHRoIGRpZ2l0cyBmb3IgdGFibGVzIG9mIElEcy9zY29yZXMvZGF0ZXMgKHN1cHBvcnRlZCBieVxuICAvLyBTRiBQcm8sIFNlZ29lIFVJLCBSb2JvdG8sIEhlbHZldGljYSBOZXVlKS4ga2Vybi9saWdhIGFyZSB1bml2ZXJzYWwuXG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJrZXJuXCIsIFwibGlnYVwiLCBcImNhbHRcIiwgXCJ0bnVtXCI7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4gIEBpbmNsdWRlIG1kMy10eXBlKGJvZHktbWVkaXVtKTtcblxuICAvLyBVdGlsaXR5IGNsYXNzZXMgZm9yIGVhY2ggTUQzIHRva2VuIChzY29wZWQgdW5kZXIgLnRwYy1tZDMgc28gdGhleSBkb24ndCBsZWFrKS5cbiAgQGVhY2ggJHRva2VuLCAkXyBpbiAkbWQzLXR5cGUtc2NhbGUge1xuICAgIC5tZDMtI3skdG9rZW59IHtcbiAgICAgIEBpbmNsdWRlIG1kMy10eXBlKCR0b2tlbik7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdjb2xvcnMnO1xuXG4vLyBDb3JlcyBkZSBGSUxMIHBvciBzdGF0dXMgZXhwb3N0YXMgY29tbyBDU1MgY3VzdG9tIHByb3BlcnRpZXMsIGEgcGFydGlyIGRvc1xuLy8gbWFwYXMtdG9rZW4gYCRzdWJtaXNzaW9uLXN0YXR1c2AgLyBgJHJldmlldy1zdGF0dXNgIChvIDHCuiB2YWxvciBkZSBjYWRhIHR1cGxhXG4vLyDDqSBvIGZpbGwpLiBPIG5neC1jaGFydHMgY29sb3JlIHZpYSBKUyAobsOjbyBDU1MpLCBlbnTDo28gYSBGT05URSBEQSBWRVJEQURFIGZpY2Fcbi8vIG5vcyB0b2tlbnMgU0NTUyBlIG8gYERhc2hib2FyZENoYXJ0Q29tcG9uZW50YCBzw7MgTMOKIG9zIHZhbG9yZXMgcmVzb2x2aWRvc1xuLy8gKGdldENvbXB1dGVkU3R5bGUpIHByYSBtb250YXIgbyBgW2N1c3RvbUNvbG9yc11gLiBBc3NpbSBzdGF0dXMgbXVkYSBkZSBjb3IgbnVtXG4vLyBsdWdhciBzw7MgKG9zIG1hcGFzKSwgc2VtIGhleCBsaXRlcmFsIGVzcGFsaGFkbyBubyBUUy5cbjpyb290IHtcbiAgQGVhY2ggJGtleSwgJHZhbCBpbiAkc3VibWlzc2lvbi1zdGF0dXMge1xuICAgIC0tY2hhcnQtc3RhdHVzLSN7JGtleX06ICN7bnRoKCR2YWwsIDEpfTtcbiAgfVxuICBAZWFjaCAka2V5LCAkdmFsIGluICRyZXZpZXctc3RhdHVzIHtcbiAgICAtLWNoYXJ0LXN0YXR1cy0jeyRrZXl9OiAje250aCgkdmFsLCAxKX07XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ2NvbG9ycyc7XG5cbi8vIEVzdGlsb3MgYXBsaWNhZG9zIEFQRU5BUyBxdWFuZG8gbyBhcHAgZXN0w6Egcm9kYW5kbyBjb21vIFBXQSBpbnN0YWxhZGFcbi8vIChzdGFuZGFsb25lIC8gbWluaW1hbC11aSAvIGZ1bGxzY3JlZW4gLyBDaHJvbWUgLS1hcHAgLyBpT1MgQWRpY2lvbmFyXG4vLyDDoCBUZWxhIGRlIEluw61jaW8pLiBBIGNsYXNzZSBgaW5zdGFsbGVkLWFwcGAgbm8gYDxib2R5PmAgw6kgYWRpY2lvbmFkYVxuLy8gcGVsbyBgQmFzZUNvbXBvbmVudGAgY29uc3VsdGFuZG8gbyBgUGxhdGZvcm1TZXJ2aWNlYC5cbi8vXG4vLyBCb3JkYSBzdXBlcmlvciBuYSBiYXJyYSBkZSBuYXZlZ2HDp8OjbyBFTlRSRSBFVkVOVE9TIChldmVudC1icmVhZGNydW1iKVxuLy8gKyBtZW51IGxhdGVyYWwgZG8gbGF5b3V0IG1vZGVybm8gKGV4cGVyaW1lbnRhbC1zaWRlYmFyKTogY29tcGVuc2EgYVxuLy8gYXVzw6puY2lhIGRvIGNocm9tZSBkbyBuYXZlZ2Fkb3IgKGJhcnJhIGRlIGVuZGVyZcOnbywgYWJhcykgZGFuZG8gdW1hXG4vLyBsaW5oYSBzdXRpbCBxdWUgYW5jb3JhIHZpc3VhbG1lbnRlIG8gdG9wbyBkYSBVSS5cblxuYm9keS5pbnN0YWxsZWQtYXBwIHtcbiAgLmV2ZW50LWJyZWFkY3J1bWIsICAgICAgICAgICAvLyBiYXJyYSBob3Jpem9udGFsIGNvbSBhIGNhZGVpYSBjbGljw6F2ZWwgZGUgZXZlbnRvc1xuICAuZXhwZXJpbWVudGFsLXNpZGViYXIgeyAgICAgIC8vIG1lbnUgbGF0ZXJhbCBkbyBsYXlvdXQgbW9kZXJubyAoY2hhaXIgVUkpXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjaHJvbWUtYm9yZGVyLWxpZ2h0O1xuICB9XG59XG5cbmJvZHkuaW5zdGFsbGVkLWFwcC5kYXJrLXRoZW1lIHtcbiAgLmV2ZW50LWJyZWFkY3J1bWIsXG4gIC5leHBlcmltZW50YWwtc2lkZWJhciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGNocm9tZS1ib3JkZXItZGFyaztcbiAgfVxufVxuIl19 */
