@charset "UTF-8";











































:root {
  --govuk-frontend-version: "5.7.1";
  --govuk-frontend-breakpoint-mobile: 20rem;
  --govuk-frontend-breakpoint-tablet: 40.0625rem;
  --govuk-frontend-breakpoint-desktop: 48.0625rem;
}


.app-step-nav-related__link, .app-step-nav-header__title, a, .govuk-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
/*! Copyright (c) 2011 by Margaret Calvert & Henrik Kubel. All rights reserved. The font has been customised for exclusive use on gov.uk. This cut is not commercially available. */ /* stylelint-disable-line scss/comment-no-loud  */
@font-face {
  font-family: "GDS Transport";
  font-style: normal;
  font-weight: normal;
  src: url("/govuk/assets/fonts/light-94a07e06a1-v2.woff2") format("woff2"), url("/govuk/assets/fonts/light-f591b13f7d-v2.woff") format("woff");
  font-display: fallback;
}
@font-face {
  font-family: "GDS Transport";
  font-style: normal;
  font-weight: bold;
  src: url("/govuk/assets/fonts/bold-b542beb274-v2.woff2") format("woff2"), url("/govuk/assets/fonts/bold-affa96571d-v2.woff") format("woff");
  font-display: fallback;
}
@media print {
  .app-step-nav-related__link, .app-step-nav-header__title, a, .govuk-link {
    font-family: sans-serif;
  }
}
.app-step-nav-related__link, .app-step-nav-header__title, a, .govuk-link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.app-step-nav-related__link:hover, .app-step-nav-header__title:hover, a:hover, .govuk-link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.app-step-nav-related__link:focus, .app-step-nav-header__title:focus, a:focus, .govuk-link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.app-step-nav-related__link:link, .app-step-nav-header__title:link, a:link, .govuk-link:link {
  color: #1d70b8;
}
.app-step-nav-related__link:visited, .app-step-nav-header__title:visited, a:visited, .govuk-link:visited {
  color: #4c2c92;
}
.app-step-nav-related__link:hover, .app-step-nav-header__title:hover, a:hover, .govuk-link:hover {
  color: #003078;
}
.app-step-nav-related__link:active, .app-step-nav-header__title:active, a:active, .govuk-link:active {
  color: #0b0c0c;
}
.app-step-nav-related__link:focus, .app-step-nav-header__title:focus, a:focus, .govuk-link:focus {
  color: #0b0c0c;
}
@media print {
  [href^="/"].app-step-nav-related__link::after, [href^="/"].app-step-nav-header__title::after, a[href^="/"]::after, [href^="/"].govuk-link::after, [href^="http://"].app-step-nav-related__link::after, [href^="http://"].app-step-nav-header__title::after, a[href^="http://"]::after, [href^="http://"].govuk-link::after, [href^="https://"].app-step-nav-related__link::after, [href^="https://"].app-step-nav-header__title::after, a[href^="https://"]::after, [href^="https://"].govuk-link::after {
    content: " (" attr(href) ")";
    font-size: 90%;
    word-wrap: break-word;
  }
}

.govuk-link--muted:link, .govuk-link--muted:visited {
  color: #505a5f;
}
.govuk-link--muted:hover, .govuk-link--muted:active {
  color: #0b0c0c;
}
.govuk-link--muted:focus {
  color: #0b0c0c;
}

.govuk-link--text-colour:link, .govuk-link--text-colour:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-link--text-colour:link, .govuk-link--text-colour:visited {
    color: #000000;
  }
}
.govuk-link--text-colour:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-link--text-colour:active, .govuk-link--text-colour:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-link--text-colour:active, .govuk-link--text-colour:focus {
    color: #000000;
  }
}

.govuk-link--inverse:link, .govuk-link--inverse:visited {
  color: #ffffff;
}
.govuk-link--inverse:hover, .govuk-link--inverse:active {
  color: rgba(255, 255, 255, 0.99);
}
.govuk-link--inverse:focus {
  color: #0b0c0c;
}

.govuk-link--no-underline:not(:hover):not(:active) {
  text-decoration: none;
}

.govuk-link--no-visited-state:link {
  color: #1d70b8;
}
.govuk-link--no-visited-state:visited {
  color: #1d70b8;
}
.govuk-link--no-visited-state:hover {
  color: #003078;
}
.govuk-link--no-visited-state:active {
  color: #0b0c0c;
}
.govuk-link--no-visited-state:focus {
  color: #0b0c0c;
}

.govuk-link-image {
  display: inline-block;
  line-height: 0;
  text-decoration: none;
}
.govuk-link-image:focus {
  outline: 3px solid transparent;
  box-shadow: 0 0 0 4px #ffdd00, 0 0 0 8px #0b0c0c;
}


.govuk-list {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-list {
    font-family: sans-serif;
  }
}
.govuk-list {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-list {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-list {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-list {
  color: #0b0c0c;
}
@media print {
  .govuk-list {
    color: #000000;
  }
}
.govuk-list {
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-list {
    margin-bottom: 20px;
  }
}
.govuk-list {
  padding-left: 0;
  list-style-type: none;
}
.govuk-list .govuk-list {
  margin-top: 10px;
}

.govuk-list > li {
  margin-bottom: 5px;
}

.govuk-list--bullet {
  padding-left: 20px;
  list-style-type: disc;
}

.govuk-list--number {
  padding-left: 20px;
  list-style-type: decimal;
}

.govuk-list--bullet > li,
.govuk-list--number > li {
  margin-bottom: 0;
}
@media (min-width: 40.0625em) {
  .govuk-list--bullet > li,
  .govuk-list--number > li {
    margin-bottom: 5px;
  }
}

.govuk-list--spaced > li {
  margin-bottom: 10px;
}
@media (min-width: 40.0625em) {
  .govuk-list--spaced > li {
    margin-bottom: 15px;
  }
}


.govuk-heading-xl {
  color: #0b0c0c;
}
@media print {
  .govuk-heading-xl {
    color: #000000;
  }
}
.govuk-heading-xl {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-heading-xl {
    font-family: sans-serif;
  }
}
.govuk-heading-xl {
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.09375;
}
@media (min-width: 40.0625em) {
  .govuk-heading-xl {
    font-size: 3rem;
    line-height: 1.0416666667;
  }
}
@media print {
  .govuk-heading-xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}
.govuk-heading-xl {
  display: block;
  margin-top: 0;
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-heading-xl {
    margin-bottom: 50px;
  }
}

.govuk-heading-l, .delta-page-title {
  color: #0b0c0c;
}
@media print {
  .govuk-heading-l, .delta-page-title {
    color: #000000;
  }
}
.govuk-heading-l, .delta-page-title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-heading-l, .delta-page-title {
    font-family: sans-serif;
  }
}
.govuk-heading-l, .delta-page-title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.0416666667;
}
@media (min-width: 40.0625em) {
  .govuk-heading-l, .delta-page-title {
    font-size: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-heading-l, .delta-page-title {
    font-size: 24pt;
    line-height: 1.05;
  }
}
.govuk-heading-l, .delta-page-title {
  display: block;
  margin-top: 0;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-heading-l, .delta-page-title {
    margin-bottom: 30px;
  }
}

.govuk-heading-m {
  color: #0b0c0c;
}
@media print {
  .govuk-heading-m {
    color: #000000;
  }
}
.govuk-heading-m {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-heading-m {
    font-family: sans-serif;
  }
}
.govuk-heading-m {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-heading-m {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-heading-m {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-heading-m {
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-heading-m {
    margin-bottom: 20px;
  }
}

.govuk-heading-s {
  color: #0b0c0c;
}
@media print {
  .govuk-heading-s {
    color: #000000;
  }
}
.govuk-heading-s {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-heading-s {
    font-family: sans-serif;
  }
}
.govuk-heading-s {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-heading-s {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-heading-s {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-heading-s {
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-heading-s {
    margin-bottom: 20px;
  }
}

.govuk-caption-xl {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-caption-xl {
    font-family: sans-serif;
  }
}
.govuk-caption-xl {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-caption-xl {
    font-size: 1.6875rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-caption-xl {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-caption-xl {
  display: block;
  margin-bottom: 5px;
  color: #505a5f;
}

.govuk-caption-l {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-caption-l {
    font-family: sans-serif;
  }
}
.govuk-caption-l {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-caption-l {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-caption-l {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-caption-l {
  display: block;
  margin-bottom: 5px;
  color: #505a5f;
}
@media (min-width: 40.0625em) {
  .govuk-caption-l {
    margin-bottom: 0;
  }
}

.govuk-caption-m {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-caption-m {
    font-family: sans-serif;
  }
}
.govuk-caption-m {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-caption-m {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-caption-m {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-caption-m {
  display: block;
  color: #505a5f;
}

.govuk-body-lead, .govuk-body-l {
  color: #0b0c0c;
}
@media print {
  .govuk-body-lead, .govuk-body-l {
    color: #000000;
  }
}
.govuk-body-lead, .govuk-body-l {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-body-lead, .govuk-body-l {
    font-family: sans-serif;
  }
}
.govuk-body-lead, .govuk-body-l {
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-body-lead, .govuk-body-l {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-body-lead, .govuk-body-l {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-body-lead, .govuk-body-l {
  margin-top: 0;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-body-lead, .govuk-body-l {
    margin-bottom: 30px;
  }
}

p, .govuk-body, .govuk-body-m {
  color: #0b0c0c;
}
@media print {
  p, .govuk-body, .govuk-body-m {
    color: #000000;
  }
}
p, .govuk-body, .govuk-body-m {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  p, .govuk-body, .govuk-body-m {
    font-family: sans-serif;
  }
}
p, .govuk-body, .govuk-body-m {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  p, .govuk-body, .govuk-body-m {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  p, .govuk-body, .govuk-body-m {
    font-size: 14pt;
    line-height: 1.15;
  }
}
p, .govuk-body, .govuk-body-m {
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  p, .govuk-body, .govuk-body-m {
    margin-bottom: 20px;
  }
}

.govuk-body-s {
  color: #0b0c0c;
}
@media print {
  .govuk-body-s {
    color: #000000;
  }
}
.govuk-body-s {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-body-s {
    font-family: sans-serif;
  }
}
.govuk-body-s {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-body-s {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-body-s {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-body-s {
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-body-s {
    margin-bottom: 20px;
  }
}

.govuk-body-xs {
  color: #0b0c0c;
}
@media print {
  .govuk-body-xs {
    color: #000000;
  }
}
.govuk-body-xs {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-body-xs {
    font-family: sans-serif;
  }
}
.govuk-body-xs {
  font-weight: 400;
  font-size: 0.75rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-body-xs {
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}
@media print {
  .govuk-body-xs {
    font-size: 12pt;
    line-height: 1.2;
  }
}
.govuk-body-xs {
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-body-xs {
    margin-bottom: 20px;
  }
}

.govuk-body-l + .govuk-heading-l, .govuk-body-l + .delta-page-title, .govuk-body-lead + .govuk-heading-l, .govuk-body-lead + .delta-page-title {
  padding-top: 5px;
}
@media (min-width: 40.0625em) {
  .govuk-body-l + .govuk-heading-l, .govuk-body-l + .delta-page-title, .govuk-body-lead + .govuk-heading-l, .govuk-body-lead + .delta-page-title {
    padding-top: 10px;
  }
}

p + .govuk-heading-l, p + .delta-page-title, .govuk-body-m + .govuk-heading-l, .govuk-body-m + .delta-page-title, .govuk-body + .govuk-heading-l, .govuk-body + .delta-page-title,
.govuk-body-s + .govuk-heading-l,
.govuk-body-s + .delta-page-title,
.govuk-list + .govuk-heading-l,
.govuk-list + .delta-page-title {
  padding-top: 15px;
}
@media (min-width: 40.0625em) {
  p + .govuk-heading-l, p + .delta-page-title, .govuk-body-m + .govuk-heading-l, .govuk-body-m + .delta-page-title, .govuk-body + .govuk-heading-l, .govuk-body + .delta-page-title,
  .govuk-body-s + .govuk-heading-l,
  .govuk-body-s + .delta-page-title,
  .govuk-list + .govuk-heading-l,
  .govuk-list + .delta-page-title {
    padding-top: 20px;
  }
}

p + .govuk-heading-m, .govuk-body-m + .govuk-heading-m, .govuk-body + .govuk-heading-m,
.govuk-body-s + .govuk-heading-m,
.govuk-list + .govuk-heading-m,
p + .govuk-heading-s,
.govuk-body-m + .govuk-heading-s,
.govuk-body + .govuk-heading-s,
.govuk-body-s + .govuk-heading-s,
.govuk-list + .govuk-heading-s {
  padding-top: 5px;
}
@media (min-width: 40.0625em) {
  p + .govuk-heading-m, .govuk-body-m + .govuk-heading-m, .govuk-body + .govuk-heading-m,
  .govuk-body-s + .govuk-heading-m,
  .govuk-list + .govuk-heading-m,
  p + .govuk-heading-s,
  .govuk-body-m + .govuk-heading-s,
  .govuk-body + .govuk-heading-s,
  .govuk-body-s + .govuk-heading-s,
  .govuk-list + .govuk-heading-s {
    padding-top: 10px;
  }
}


.govuk-section-break {
  margin: 0;
  border: 0;
}

.govuk-section-break--xl {
  margin-top: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--xl {
    margin-top: 50px;
  }
}
.govuk-section-break--xl {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--xl {
    margin-bottom: 50px;
  }
}

.govuk-section-break--l {
  margin-top: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--l {
    margin-top: 30px;
  }
}
.govuk-section-break--l {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--l {
    margin-bottom: 30px;
  }
}

.govuk-section-break--m {
  margin-top: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--m {
    margin-top: 20px;
  }
}
.govuk-section-break--m {
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-section-break--m {
    margin-bottom: 20px;
  }
}

.govuk-section-break--visible {
  border-bottom: 1px solid #b1b4b6;
}

















































.govuk-button-group {
  margin-bottom: 5px;
}
@media (min-width: 40.0625em) {
  .govuk-button-group {
    margin-bottom: 15px;
  }
}
.govuk-button-group {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.govuk-button-group .govuk-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-button-group .govuk-link {
    font-family: sans-serif;
  }
}
.govuk-button-group .govuk-link {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.1875;
}
@media (min-width: 40.0625em) {
  .govuk-button-group .govuk-link {
    font-size: 1.1875rem;
    line-height: 1;
  }
}
@media print {
  .govuk-button-group .govuk-link {
    font-size: 14pt;
    line-height: 19px;
  }
}
.govuk-button-group .govuk-link {
  display: inline-block;
  max-width: 100%;
  margin-top: 5px;
  margin-bottom: 20px;
  text-align: center;
}
.govuk-button-group .govuk-button {
  margin-bottom: 17px;
}
@media (min-width: 40.0625em) {
  .govuk-button-group {
    margin-right: -15px;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: baseline;
  }
  .govuk-button-group .govuk-button,
  .govuk-button-group .govuk-link {
    margin-right: 15px;
  }
  .govuk-button-group .govuk-link {
    text-align: left;
  }
}













































.govuk-form-group::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-form-group {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-form-group {
    margin-bottom: 30px;
  }
}
.govuk-form-group .govuk-form-group:last-of-type {
  margin-bottom: 0;
}

.govuk-form-group--error {
  padding-left: 15px;
  border-left: 5px solid #d4351c;
}
.govuk-form-group--error .govuk-form-group {
  padding: 0;
  border: 0;
}













































.govuk-grid-row::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-grid-row {
  margin-right: -15px;
  margin-left: -15px;
}

.govuk-grid-column-one-quarter {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-one-quarter {
    width: 25%;
    float: left;
  }
}

.govuk-grid-column-one-third {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-one-third {
    width: 33.3333333333%;
    float: left;
  }
}

.govuk-grid-column-one-half {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-one-half {
    width: 50%;
    float: left;
  }
}

.govuk-grid-column-two-thirds {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-two-thirds {
    width: 66.6666666667%;
    float: left;
  }
}

.govuk-grid-column-three-quarters {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-three-quarters {
    width: 75%;
    float: left;
  }
}

.govuk-grid-column-full, .grid-column-text-max-width {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}
@media (min-width: 40.0625em) {
  .govuk-grid-column-full, .grid-column-text-max-width {
    width: 100%;
    float: left;
  }
}

.govuk-grid-column-one-quarter-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-one-quarter-from-desktop {
    width: 25%;
    float: left;
  }
}

.govuk-grid-column-one-third-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-one-third-from-desktop {
    width: 33.3333333333%;
    float: left;
  }
}

.govuk-grid-column-one-half-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-one-half-from-desktop {
    width: 50%;
    float: left;
  }
}

.govuk-grid-column-two-thirds-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-two-thirds-from-desktop {
    width: 66.6666666667%;
    float: left;
  }
}

.govuk-grid-column-three-quarters-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-three-quarters-from-desktop {
    width: 75%;
    float: left;
  }
}

.govuk-grid-column-full-from-desktop {
  box-sizing: border-box;
  padding: 0 15px;
}
@media (min-width: 48.0625em) {
  .govuk-grid-column-full-from-desktop {
    width: 100%;
    float: left;
  }
}













































.govuk-main-wrapper {
  display: block;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-main-wrapper {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.govuk-main-wrapper--auto-spacing:first-child,
.govuk-main-wrapper--l {
  padding-top: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-main-wrapper--auto-spacing:first-child,
  .govuk-main-wrapper--l {
    padding-top: 50px;
  }
}













































.govuk-template {
  background-color: #f3f2f1;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
@supports (position: -webkit-sticky) or (position: sticky) {
  .govuk-template {
    scroll-padding-top: 60px;
  }
  .govuk-template:not(:has(.govuk-exit-this-page)) {
    scroll-padding-top: 0;
  }
}
@media screen {
  .govuk-template {
    overflow-y: scroll;
  }
}

.govuk-template__body {
  margin: 0;
  background-color: #ffffff;
}













































.govuk-width-container {
  max-width: 960px;
  margin-right: 15px;
  margin-left: 15px;
}
@supports (margin: max(calc(0px))) {
  .govuk-width-container {
    margin-right: max(15px, calc(15px + env(safe-area-inset-right)));
    margin-left: max(15px, calc(15px + env(safe-area-inset-left)));
  }
}
@media (min-width: 40.0625em) {
  .govuk-width-container {
    margin-right: 30px;
    margin-left: 30px;
  }
  @supports (margin: max(calc(0px))) {
    .govuk-width-container {
      margin-right: max(30px, calc(15px + env(safe-area-inset-right)));
      margin-left: max(30px, calc(15px + env(safe-area-inset-left)));
    }
  }
}
@media (min-width: 1020px) {
  .govuk-width-container {
    margin-right: auto;
    margin-left: auto;
  }
  @supports (margin: max(calc(0px))) {
    .govuk-width-container {
      margin-right: auto;
      margin-left: auto;
    }
  }
}














































.govuk-accordion {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-accordion {
    margin-bottom: 30px;
  }
}

.govuk-accordion__section {
  padding-top: 15px;
}

.govuk-accordion__section-heading {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 15px;
  padding-bottom: 15px;
}

.govuk-accordion__section-button {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-accordion__section-button {
    font-family: sans-serif;
  }
}
.govuk-accordion__section-button {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-accordion__section-button {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-accordion__section-button {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-accordion__section-button {
  color: #0b0c0c;
}
@media print {
  .govuk-accordion__section-button {
    color: #000000;
  }
}
.govuk-accordion__section-button {
  display: block;
  margin-bottom: 0;
  padding-top: 15px;
}

.govuk-accordion__section-content > :last-child {
  margin-bottom: 0;
}

.govuk-frontend-supported .govuk-accordion {
  border-bottom: 1px solid #b1b4b6;
}
.govuk-frontend-supported .govuk-accordion__section {
  padding-top: 0;
}
.govuk-frontend-supported .govuk-accordion__section-content {
  display: none;
  padding-top: 15px;
  padding-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__section-content {
    padding-bottom: 50px;
  }
}
@supports (content-visibility: hidden) {
  .govuk-frontend-supported .govuk-accordion__section-content[hidden] {
    content-visibility: hidden;
    display: inherit;
  }
}
.govuk-frontend-supported .govuk-accordion__section-content[hidden] {
  padding-top: 0;
  padding-bottom: 0;
}
.govuk-frontend-supported .govuk-accordion__section--expanded .govuk-accordion__section-content {
  display: block;
}
.govuk-frontend-supported .govuk-accordion__show-all {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-frontend-supported .govuk-accordion__show-all {
    font-family: sans-serif;
  }
}
.govuk-frontend-supported .govuk-accordion__show-all {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__show-all {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-frontend-supported .govuk-accordion__show-all {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-frontend-supported .govuk-accordion__show-all {
  position: relative;
  z-index: 1;
  margin-bottom: 9px;
  padding: 5px 2px 5px 0;
  border-width: 0;
  color: #1d70b8;
  background: none;
  cursor: pointer;
  -webkit-appearance: none;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__show-all {
    margin-bottom: 14px;
  }
}
.govuk-frontend-supported .govuk-accordion__show-all::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.govuk-frontend-supported .govuk-accordion__show-all:hover {
  color: #0b0c0c;
  background: #f3f2f1;
  box-shadow: 0 -2px #f3f2f1, 0 4px #f3f2f1;
}
.govuk-frontend-supported .govuk-accordion__show-all:hover .govuk-accordion__section-toggle-text {
  color: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__show-all:hover .govuk-accordion-nav__chevron {
  color: #0b0c0c;
  background: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__show-all:hover .govuk-accordion-nav__chevron::after {
  color: #f3f2f1;
}
.govuk-frontend-supported .govuk-accordion__show-all:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion-nav__chevron {
  background: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion-nav__chevron::after {
  color: #ffdd00;
}
.govuk-frontend-supported .govuk-accordion__section-heading {
  padding: 0;
}
.govuk-frontend-supported .govuk-accordion-nav__chevron {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 1.25rem;
  height: 1.25rem;
  border: 0.0625rem solid;
  border-radius: 50%;
  vertical-align: middle;
}
.govuk-frontend-supported .govuk-accordion-nav__chevron::after {
  content: "";
  box-sizing: border-box;
  display: block;
  position: absolute;
  bottom: 0.3125rem;
  left: 0.375rem;
  width: 0.375rem;
  height: 0.375rem;
  transform: rotate(-45deg);
  border-top: 0.125rem solid;
  border-right: 0.125rem solid;
}
.govuk-frontend-supported .govuk-accordion-nav__chevron--down {
  transform: rotate(180deg);
}
.govuk-frontend-supported .govuk-accordion__section-button {
  width: 100%;
  padding: 10px 0 0;
  border: 0;
  border-top: 1px solid #b1b4b6;
  border-bottom: 10px solid transparent;
  color: #0b0c0c;
  background: none;
  text-align: left;
  cursor: pointer;
  -webkit-appearance: none;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__section-button {
    padding-bottom: 10px;
  }
}
.govuk-frontend-supported .govuk-accordion__section-button:active {
  color: #0b0c0c;
  background: none;
}
.govuk-frontend-supported .govuk-accordion__section-button:hover {
  color: #0b0c0c;
  background: #f3f2f1;
}
.govuk-frontend-supported .govuk-accordion__section-button:hover .govuk-accordion__section-toggle-text {
  color: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__section-button:hover .govuk-accordion-nav__chevron {
  color: #0b0c0c;
  background: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__section-button:hover .govuk-accordion-nav__chevron::after {
  color: #f3f2f1;
}
.govuk-frontend-supported .govuk-accordion__section-button:focus {
  outline: 0;
}
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-heading-text-focus,
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-summary-focus,
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-toggle-focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion-nav__chevron {
  color: #0b0c0c;
  background: #0b0c0c;
}
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion-nav__chevron::after {
  color: #ffdd00;
}
.govuk-frontend-supported .govuk-accordion__section-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.govuk-frontend-supported .govuk-accordion__section--expanded .govuk-accordion__section-button {
  padding-bottom: 15px;
  border-bottom: 0;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__section--expanded .govuk-accordion__section-button {
    padding-bottom: 20px;
  }
}
.govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-toggle-focus {
  padding-bottom: 3px;
}
@media (min-width: 48.0625em) {
  .govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-toggle-focus {
    padding-bottom: 2px;
  }
}
.govuk-frontend-supported .govuk-accordion__section-toggle,
.govuk-frontend-supported .govuk-accordion__section-heading-text,
.govuk-frontend-supported .govuk-accordion__section-summary {
  display: block;
  margin-bottom: 13px;
}
.govuk-frontend-supported .govuk-accordion__section-toggle .govuk-accordion__section-heading-text-focus,
.govuk-frontend-supported .govuk-accordion__section-toggle .govuk-accordion__section-summary-focus,
.govuk-frontend-supported .govuk-accordion__section-toggle .govuk-accordion__section-toggle-focus,
.govuk-frontend-supported .govuk-accordion__section-heading-text .govuk-accordion__section-heading-text-focus,
.govuk-frontend-supported .govuk-accordion__section-heading-text .govuk-accordion__section-summary-focus,
.govuk-frontend-supported .govuk-accordion__section-heading-text .govuk-accordion__section-toggle-focus,
.govuk-frontend-supported .govuk-accordion__section-summary .govuk-accordion__section-heading-text-focus,
.govuk-frontend-supported .govuk-accordion__section-summary .govuk-accordion__section-summary-focus,
.govuk-frontend-supported .govuk-accordion__section-summary .govuk-accordion__section-toggle-focus {
  display: inline;
}
.govuk-frontend-supported .govuk-accordion__section-toggle {
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-accordion__section-toggle {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-frontend-supported .govuk-accordion__section-toggle {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-frontend-supported .govuk-accordion__section-toggle {
  font-weight: 400;
  color: #1d70b8;
}
.govuk-frontend-supported .govuk-accordion__show-all-text,
.govuk-frontend-supported .govuk-accordion__section-toggle-text {
  margin-left: 5px;
  vertical-align: middle;
}
@media screen and (forced-colors: active) {
  .govuk-frontend-supported .govuk-accordion__show-all:hover .govuk-accordion-nav__chevron,
  .govuk-frontend-supported .govuk-accordion__section-button:hover .govuk-accordion-nav__chevron {
    background-color: transparent;
  }
  .govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion__section-heading-text-focus,
  .govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion__section-summary-focus,
  .govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion__section-toggle-focus,
  .govuk-frontend-supported .govuk-accordion__show-all:focus .govuk-accordion-nav__chevron,
  .govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-heading-text-focus,
  .govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-summary-focus,
  .govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion__section-toggle-focus,
  .govuk-frontend-supported .govuk-accordion__section-button:focus .govuk-accordion-nav__chevron {
    background: transparent;
    background-color: transparent;
  }
}
@media (hover: none) {
  .govuk-frontend-supported .govuk-accordion__section-header:hover {
    border-top-color: #b1b4b6;
    box-shadow: inset 0 3px 0 0 #1d70b8;
  }
  .govuk-frontend-supported .govuk-accordion__section-header:hover .govuk-accordion__section-button {
    border-top-color: #b1b4b6;
  }
}


.govuk-back-link {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-back-link {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-back-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-back-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-back-link {
    font-family: sans-serif;
  }
}
.govuk-back-link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-back-link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-back-link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-back-link:link, .govuk-back-link:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-back-link:link, .govuk-back-link:visited {
    color: #000000;
  }
}
.govuk-back-link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-back-link:active, .govuk-back-link:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-back-link:active, .govuk-back-link:focus {
    color: #000000;
  }
}
.govuk-back-link {
  display: inline-block;
  position: relative;
  margin-top: 15px;
  margin-bottom: 15px;
  padding-left: 0.875em;
}

.govuk-back-link::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0.1875em;
  width: 0.4375em;
  height: 0.4375em;
  margin: auto 0;
  transform: rotate(225deg);
  border: solid;
  border-width: 1px 1px 0 0;
  border-color: #505a5f;
}
@supports (border-width: max(0px)) {
  .govuk-back-link::before {
    border-width: max(1px, 0.0625em) max(1px, 0.0625em) 0 0;
    font-size: max(16px, 1em);
  }
}

.govuk-back-link:focus::before {
  border-color: #0b0c0c;
}

.govuk-back-link::after {
  content: "";
  position: absolute;
  top: -14px;
  right: 0;
  bottom: -14px;
  left: 0;
}

.govuk-back-link--inverse:link, .govuk-back-link--inverse:visited {
  color: #ffffff;
}
.govuk-back-link--inverse:hover, .govuk-back-link--inverse:active {
  color: rgba(255, 255, 255, 0.99);
}
.govuk-back-link--inverse:focus {
  color: #0b0c0c;
}
.govuk-back-link--inverse::before {
  border-color: currentcolor;
}


.govuk-breadcrumbs {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-breadcrumbs {
    font-family: sans-serif;
  }
}
.govuk-breadcrumbs {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-breadcrumbs {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-breadcrumbs {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-breadcrumbs {
  color: #0b0c0c;
}
@media print {
  .govuk-breadcrumbs {
    color: #000000;
  }
}
.govuk-breadcrumbs {
  margin-top: 15px;
  margin-bottom: 10px;
}

.govuk-breadcrumbs__list::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-breadcrumbs__list {
  margin: 0;
  padding: 0;
  list-style-type: none;
}

.govuk-breadcrumbs__list-item {
  display: inline-block;
  position: relative;
  margin-bottom: 5px;
  margin-left: 0.625em;
  padding-left: 0.9784375em;
  float: left;
}
.govuk-breadcrumbs__list-item::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -0.206875em;
  width: 0.4375em;
  height: 0.4375em;
  margin: auto 0;
  transform: rotate(45deg);
  border: solid;
  border-width: 1px 1px 0 0;
  border-color: #505a5f;
}
@supports (border-width: max(0px)) {
  .govuk-breadcrumbs__list-item::before {
    border-width: max(1px, 0.0625em) max(1px, 0.0625em) 0 0;
    font-size: max(16px, 1em);
  }
}
.govuk-breadcrumbs__list-item:first-child {
  margin-left: 0;
  padding-left: 0;
}
.govuk-breadcrumbs__list-item:first-child::before {
  content: none;
  display: none;
}

.govuk-breadcrumbs__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-breadcrumbs__link {
    font-family: sans-serif;
  }
}
.govuk-breadcrumbs__link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-breadcrumbs__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-breadcrumbs__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-breadcrumbs__link:link, .govuk-breadcrumbs__link:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-breadcrumbs__link:link, .govuk-breadcrumbs__link:visited {
    color: #000000;
  }
}
.govuk-breadcrumbs__link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-breadcrumbs__link:active, .govuk-breadcrumbs__link:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-breadcrumbs__link:active, .govuk-breadcrumbs__link:focus {
    color: #000000;
  }
}

@media (max-width: 40.0525em) {
  .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item {
    display: none;
  }
  .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item:first-child, .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item:last-child {
    display: inline-block;
  }
  .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item::before {
    top: 0.375em;
    margin: 0;
  }
  .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list {
    display: flex;
  }
}

.govuk-breadcrumbs--inverse {
  color: #ffffff;
}
.govuk-breadcrumbs--inverse .govuk-breadcrumbs__link:link, .govuk-breadcrumbs--inverse .govuk-breadcrumbs__link:visited {
  color: #ffffff;
}
.govuk-breadcrumbs--inverse .govuk-breadcrumbs__link:hover, .govuk-breadcrumbs--inverse .govuk-breadcrumbs__link:active {
  color: rgba(255, 255, 255, 0.99);
}
.govuk-breadcrumbs--inverse .govuk-breadcrumbs__link:focus {
  color: #0b0c0c;
}
.govuk-breadcrumbs--inverse .govuk-breadcrumbs__list-item::before {
  border-color: currentcolor;
}


.govuk-button {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-button {
    font-family: sans-serif;
  }
}
.govuk-button {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.1875;
}
@media (min-width: 40.0625em) {
  .govuk-button {
    font-size: 1.1875rem;
    line-height: 1;
  }
}
@media print {
  .govuk-button {
    font-size: 14pt;
    line-height: 19px;
  }
}
.govuk-button {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 100%;
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 22px;
}
@media (min-width: 40.0625em) {
  .govuk-button {
    margin-bottom: 32px;
  }
}
.govuk-button {
  padding: 8px 10px 7px;
  border: 2px solid transparent;
  border-radius: 0;
  color: #ffffff;
  background-color: #00703c;
  box-shadow: 0 2px 0 rgb(0, 44.8, 24);
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  -webkit-appearance: none;
}
@media (min-width: 40.0625em) {
  .govuk-button {
    width: auto;
  }
}
.govuk-button:link, .govuk-button:visited, .govuk-button:active, .govuk-button:hover {
  color: #ffffff;
  text-decoration: none;
}
.govuk-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.govuk-button:hover {
  background-color: rgb(0, 89.6, 48);
}
.govuk-button:active {
  top: 2px;
}
.govuk-button:focus {
  border-color: #ffdd00;
  outline: 3px solid transparent;
  box-shadow: inset 0 0 0 1px #ffdd00;
}
.govuk-button:focus:not(:active):not(:hover) {
  border-color: #ffdd00;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 2px 0 #0b0c0c;
}
.govuk-button::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  right: -2px;
  bottom: -4px;
  left: -2px;
  background: transparent;
}
.govuk-button:active::before {
  top: -4px;
}

.govuk-button[disabled] {
  opacity: 0.5;
}
.govuk-button[disabled]:hover {
  background-color: #00703c;
  cursor: not-allowed;
}
.govuk-button[disabled]:active {
  top: 0;
  box-shadow: 0 2px 0 rgb(0, 44.8, 24);
}

.govuk-button--secondary {
  background-color: #f3f2f1;
  box-shadow: 0 2px 0 rgb(145.8, 145.2, 144.6);
}
.govuk-button--secondary, .govuk-button--secondary:link, .govuk-button--secondary:visited, .govuk-button--secondary:active, .govuk-button--secondary:hover {
  color: #0b0c0c;
}
.govuk-button--secondary:hover {
  background-color: rgb(218.7, 217.8, 216.9);
}
.govuk-button--secondary:hover[disabled] {
  background-color: #f3f2f1;
}

.govuk-button--warning {
  background-color: #d4351c;
  box-shadow: 0 2px 0 rgb(84.8, 21.2, 11.2);
}
.govuk-button--warning, .govuk-button--warning:link, .govuk-button--warning:visited, .govuk-button--warning:active, .govuk-button--warning:hover {
  color: #ffffff;
}
.govuk-button--warning:hover {
  background-color: rgb(169.6, 42.4, 22.4);
}
.govuk-button--warning:hover[disabled] {
  background-color: #d4351c;
}

.govuk-button--inverse {
  background-color: #ffffff;
  box-shadow: 0 2px 0 rgb(20.3, 78.4, 128.8);
}
.govuk-button--inverse, .govuk-button--inverse:link, .govuk-button--inverse:visited, .govuk-button--inverse:active, .govuk-button--inverse:hover {
  color: #1d70b8;
}
.govuk-button--inverse:hover {
  background-color: rgb(232.4, 240.7, 247.9);
}
.govuk-button--inverse:hover[disabled] {
  background-color: #ffffff;
}

.govuk-button--start {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
}
@media (min-width: 40.0625em) {
  .govuk-button--start {
    font-size: 1.5rem;
    line-height: 1;
  }
}
@media print {
  .govuk-button--start {
    font-size: 18pt;
    line-height: 1;
  }
}
.govuk-button--start {
  display: inline-flex;
  min-height: auto;
  justify-content: center;
}

.govuk-button__start-icon {
  margin-left: 5px;
}
@media (min-width: 48.0625em) {
  .govuk-button__start-icon {
    margin-left: 10px;
  }
}
.govuk-button__start-icon {
  vertical-align: middle;
  flex-shrink: 0;
  align-self: center;
  forced-color-adjust: auto;
}


.govuk-error-message {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-error-message {
    font-family: sans-serif;
  }
}
.govuk-error-message {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-error-message {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-error-message {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-error-message {
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
  clear: both;
  color: #d4351c;
}


.govuk-hint {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-hint {
    font-family: sans-serif;
  }
}
.govuk-hint {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-hint {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-hint {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-hint {
  margin-bottom: 15px;
  color: #505a5f;
}

.govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-hint {
  margin-bottom: 10px;
}

.govuk-fieldset__legend:not(.govuk-fieldset__legend--m):not(.govuk-fieldset__legend--l):not(.govuk-fieldset__legend--xl) + .govuk-hint {
  margin-bottom: 10px;
}

.govuk-fieldset__legend + .govuk-hint {
  margin-top: -5px;
}


.govuk-label {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-label {
    font-family: sans-serif;
  }
}
.govuk-label {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-label {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-label {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-label {
  color: #0b0c0c;
}
@media print {
  .govuk-label {
    color: #000000;
  }
}
.govuk-label {
  display: block;
  margin-bottom: 5px;
}

.govuk-label--xl,
.govuk-label--l,
.govuk-label--m {
  font-weight: 700;
  margin-bottom: 15px;
}

.govuk-label--xl {
  font-size: 2rem;
  line-height: 1.09375;
}
@media (min-width: 40.0625em) {
  .govuk-label--xl {
    font-size: 3rem;
    line-height: 1.0416666667;
  }
}
@media print {
  .govuk-label--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-label--l {
  font-size: 1.5rem;
  line-height: 1.0416666667;
}
@media (min-width: 40.0625em) {
  .govuk-label--l {
    font-size: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-label--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-label--m {
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-label--m {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-label--m {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-label--s {
  font-weight: 700;
}

.govuk-label-wrapper {
  margin: 0;
}





.govuk-textarea {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-textarea {
    font-family: sans-serif;
  }
}
.govuk-textarea {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-textarea {
    font-size: 1.1875rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-textarea {
    font-size: 14pt;
    line-height: 1.25;
  }
}
.govuk-textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 40px;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-textarea {
    margin-bottom: 30px;
  }
}
.govuk-textarea {
  padding: 5px;
  resize: vertical;
  border: 2px solid #0b0c0c;
  border-radius: 0;
  -webkit-appearance: none;
}
.govuk-textarea:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px;
}
.govuk-textarea:disabled {
  opacity: 0.5;
  color: inherit;
  background-color: transparent;
  cursor: not-allowed;
}

.govuk-textarea--error {
  border-color: #d4351c;
}
.govuk-textarea--error:focus {
  border-color: #0b0c0c;
}


.govuk-character-count {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-character-count {
    margin-bottom: 30px;
  }
}
.govuk-character-count .govuk-form-group,
.govuk-character-count .govuk-textarea {
  margin-bottom: 5px;
}

.govuk-character-count__message {
  font-variant-numeric: tabular-nums;
  margin-top: 0;
  margin-bottom: 0;
}
.govuk-character-count__message::after {
  content: "​";
}

.govuk-character-count__message--disabled {
  visibility: hidden;
}



.govuk-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.govuk-fieldset::after {
  content: "";
  display: block;
  clear: both;
}

@supports not (caret-color: auto) {
  .govuk-fieldset,
  x:-moz-any-link {
    display: table-cell;
  }
}
.govuk-fieldset__legend {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-fieldset__legend {
    font-family: sans-serif;
  }
}
.govuk-fieldset__legend {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-fieldset__legend {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-fieldset__legend {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-fieldset__legend {
  color: #0b0c0c;
}
@media print {
  .govuk-fieldset__legend {
    color: #000000;
  }
}
.govuk-fieldset__legend {
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  margin-bottom: 10px;
  padding: 0;
  white-space: normal;
}

.govuk-fieldset__legend--xl,
.govuk-fieldset__legend--l,
.govuk-fieldset__legend--m {
  font-weight: 700;
  margin-bottom: 15px;
}

.govuk-fieldset__legend--xl {
  font-size: 2rem;
  line-height: 1.09375;
}
@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--xl {
    font-size: 3rem;
    line-height: 1.0416666667;
  }
}
@media print {
  .govuk-fieldset__legend--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-fieldset__legend--l {
  font-size: 1.5rem;
  line-height: 1.0416666667;
}
@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--l {
    font-size: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-fieldset__legend--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-fieldset__legend--m {
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--m {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-fieldset__legend--m {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-fieldset__legend--s {
  font-weight: 700;
}

.govuk-fieldset__heading {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}




.govuk-checkboxes__item {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 10px;
}

.govuk-checkboxes__item:last-child,
.govuk-checkboxes__item:last-of-type {
  margin-bottom: 0;
}

.govuk-checkboxes__input {
  z-index: 1;
  width: 44px;
  height: 44px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.govuk-checkboxes__label {
  align-self: center;
  max-width: calc(100% - 74px);
  margin-bottom: 0;
  padding: 7px 15px;
  cursor: pointer;
  touch-action: manipulation;
}

.govuk-checkboxes__label::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 40px;
  height: 40px;
  border: 2px solid currentcolor;
  background: transparent;
}

.govuk-checkboxes__label::after {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 13px;
  left: 10px;
  width: 23px;
  height: 12px;
  transform: rotate(-45deg);
  border: solid;
  border-width: 0 0 5px 5px;
  border-top-color: transparent;
  opacity: 0;
  background: transparent;
}

.govuk-checkboxes__hint {
  display: block;
  width: 100%;
  margin-top: -5px;
  padding-right: 15px;
  padding-left: 59px;
}

.govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-checkboxes__hint {
  margin-bottom: 0;
}

.govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
  border-width: 4px;
  outline: 3px solid transparent;
  outline-offset: 1px;
}
@media screen and (forced-colors: active), (-ms-high-contrast: active) {
  .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
    outline-color: Highlight;
  }
}
.govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
  box-shadow: 0 0 0 3px #ffdd00;
}

.govuk-checkboxes__input:checked + .govuk-checkboxes__label::after {
  opacity: 1;
}

.govuk-checkboxes__input:disabled,
.govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
  cursor: not-allowed;
}

.govuk-checkboxes__input:disabled + .govuk-checkboxes__label,
.govuk-checkboxes__input:disabled ~ .govuk-hint {
  opacity: 0.5;
}

.govuk-checkboxes__divider {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-checkboxes__divider {
    font-family: sans-serif;
  }
}
.govuk-checkboxes__divider {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-checkboxes__divider {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-checkboxes__divider {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-checkboxes__divider {
  color: #0b0c0c;
}
@media print {
  .govuk-checkboxes__divider {
    color: #000000;
  }
}
.govuk-checkboxes__divider {
  width: 40px;
  margin-bottom: 10px;
  text-align: center;
}

.govuk-checkboxes__conditional {
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-checkboxes__conditional {
    margin-bottom: 20px;
  }
}
.govuk-checkboxes__conditional {
  margin-left: 20px;
  padding-left: 35px;
  border-left: 4px solid #b1b4b6;
}
.govuk-frontend-supported .govuk-checkboxes__conditional--hidden {
  display: none;
}
.govuk-checkboxes__conditional > :last-child {
  margin-bottom: 0;
}

.govuk-checkboxes--small .govuk-checkboxes__item {
  margin-bottom: 0;
}
.govuk-checkboxes--small .govuk-checkboxes__input {
  margin-left: -10px;
}
.govuk-checkboxes--small .govuk-checkboxes__label {
  padding-left: 1px;
}
.govuk-checkboxes--small .govuk-checkboxes__label::before {
  top: 10px;
  left: 0;
  width: 24px;
  height: 24px;
}
.govuk-checkboxes--small .govuk-checkboxes__label::after {
  top: 17px;
  left: 6px;
  width: 12px;
  height: 6.5px;
  border-width: 0 0 3px 3px;
}
.govuk-checkboxes--small .govuk-checkboxes__hint {
  padding-left: 34px;
}
.govuk-checkboxes--small .govuk-checkboxes__conditional {
  margin-left: 10px;
  padding-left: 20px;
}
.govuk-checkboxes--small .govuk-checkboxes__divider {
  width: 24px;
  margin-bottom: 5px;
}
.govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label::before {
  outline: 3px dashed transparent;
  outline-offset: 1px;
  box-shadow: 0 0 0 10px #b1b4b6;
}
@media screen and (forced-colors: active), (-ms-high-contrast: active) {
  .govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
    outline-color: Highlight;
  }
}
.govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
  box-shadow: 0 0 0 3px #ffdd00, 0 0 0 10px #b1b4b6;
}
@media (hover: none), (pointer: coarse) {
  .govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label::before {
    box-shadow: initial;
  }
  .govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label::before {
    box-shadow: 0 0 0 3px #ffdd00;
  }
}


.govuk-cookie-banner {
  padding-top: 20px;
  border-bottom: 10px solid transparent;
  background-color: #f3f2f1;
}

.govuk-cookie-banner[hidden] {
  display: none;
}

.govuk-cookie-banner__message {
  margin-bottom: -10px;
}
.govuk-cookie-banner__message[hidden] {
  display: none;
}
.govuk-cookie-banner__message:focus {
  outline: none;
}






.govuk-input {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-input {
    font-family: sans-serif;
  }
}
.govuk-input {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-input {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-input {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-input {
  box-sizing: border-box;
  width: 100%;
  height: 2.5rem;
  margin-top: 0;
  padding: 5px;
  border: 2px solid #0b0c0c;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
}
.govuk-input:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px;
}
.govuk-input:disabled {
  opacity: 0.5;
  color: inherit;
  background-color: transparent;
  cursor: not-allowed;
}

.govuk-input::-webkit-outer-spin-button,
.govuk-input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

.govuk-input[type=number] {
  -moz-appearance: textfield;
}

.govuk-input--error {
  border-color: #d4351c;
}
.govuk-input--error:focus {
  border-color: #0b0c0c;
}

.govuk-input--extra-letter-spacing {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.05em;
}

.govuk-input--width-30 {
  max-width: 29.5em;
}

.govuk-input--width-20 {
  max-width: 20.5em;
}

.govuk-input--width-10 {
  max-width: 11.5em;
}

.govuk-input--width-5 {
  max-width: 5.5em;
}

.govuk-input--width-4 {
  max-width: 4.5em;
}

.govuk-input--width-3 {
  max-width: 3.75em;
}

.govuk-input--width-2 {
  max-width: 2.75em;
}

.govuk-input__wrapper {
  display: flex;
}
.govuk-input__wrapper .govuk-input {
  flex: 0 1 auto;
}
.govuk-input__wrapper .govuk-input:focus {
  z-index: 1;
}
@media (max-width: 19.99em) {
  .govuk-input__wrapper {
    display: block;
  }
  .govuk-input__wrapper .govuk-input {
    max-width: 100%;
  }
}

.govuk-input__prefix,
.govuk-input__suffix {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-family: sans-serif;
  }
}
.govuk-input__prefix,
.govuk-input__suffix {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-input__prefix,
.govuk-input__suffix {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 5px;
  border: 2px solid #0b0c0c;
  background-color: #f3f2f1;
  text-align: center;
  white-space: nowrap;
  cursor: default;
  flex: 0 0 auto;
}
@media (max-width: 19.99em) {
  .govuk-input__prefix,
  .govuk-input__suffix {
    display: block;
    height: 100%;
    white-space: normal;
  }
}

@media (max-width: 19.99em) {
  .govuk-input__prefix {
    border-bottom: 0;
  }
}
@media (min-width: 20em) {
  .govuk-input__prefix {
    border-right: 0;
  }
}

@media (max-width: 19.99em) {
  .govuk-input__suffix {
    border-top: 0;
  }
}
@media (min-width: 20em) {
  .govuk-input__suffix {
    border-left: 0;
  }
}




.govuk-date-input::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-date-input {
  font-size: 0;
}

.govuk-date-input__item {
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 0;
}

.govuk-date-input__label {
  display: block;
}

.govuk-date-input__input {
  margin-bottom: 0;
}


.govuk-details {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-details {
    font-family: sans-serif;
  }
}
.govuk-details {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-details {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-details {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-details {
  color: #0b0c0c;
}
@media print {
  .govuk-details {
    color: #000000;
  }
}
.govuk-details {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-details {
    margin-bottom: 30px;
  }
}
.govuk-details {
  display: block;
}

.govuk-details__summary {
  display: block;
}

.govuk-details[open] .govuk-details__summary {
  margin-bottom: 5px;
}

.govuk-details__summary-text > :first-child {
  margin-top: 0;
}
.govuk-details__summary-text > :only-child,
.govuk-details__summary-text > :last-child {
  margin-bottom: 0;
}

.govuk-details__text {
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 20px;
}

.govuk-details__text p {
  margin-top: 0;
  margin-bottom: 20px;
}

.govuk-details__text > :last-child {
  margin-bottom: 0;
}

@media screen\0  {
  .govuk-details {
    border-left: 10px solid #b1b4b6;
  }
  .govuk-details__summary {
    margin-top: 15px;
  }
  .govuk-details__summary-text {
    font-weight: 700;
    margin-bottom: 15px;
    padding-left: 20px;
  }
}
@media screen\0  and (min-width: 40.0625em) {
  .govuk-details__summary-text {
    margin-bottom: 20px;
  }
}
@supports not (-ms-ime-align: auto) {
  .govuk-details__summary {
    position: relative;
    width: -webkit-fit-content;
    width: fit-content;
    padding-left: 25px;
    color: #1d70b8;
    cursor: pointer;
  }
  .govuk-details__summary:hover {
    color: #003078;
  }
  .govuk-details__summary:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }
  .govuk-details__summary-text {
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1578em;
  }
  .govuk-details__summary:hover .govuk-details__summary-text {
    text-decoration-thickness: max(3px, .1875rem, .12em);
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
    -webkit-text-decoration-skip: none;
    text-decoration-skip: none;
  }
  .govuk-details__summary:focus .govuk-details__summary-text {
    text-decoration: none;
  }
  .govuk-details__summary::-webkit-details-marker {
    display: none;
  }
  .govuk-details__summary::before {
    content: "";
    position: absolute;
    top: -1px;
    bottom: 0;
    left: 0;
    margin: auto;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    border-width: 7px 0 7px 12.124px;
    border-left-color: inherit;
  }
  .govuk-details[open] > .govuk-details__summary::before {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
    clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
    border-width: 12.124px 7px 0 7px;
    border-top-color: inherit;
  }
  .govuk-details__text {
    border-left: 5px solid #b1b4b6;
  }
}



.govuk-error-summary {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-error-summary {
    font-family: sans-serif;
  }
}
.govuk-error-summary {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-error-summary {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-error-summary {
  color: #0b0c0c;
}
@media print {
  .govuk-error-summary {
    color: #000000;
  }
}
.govuk-error-summary {
  padding: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary {
    padding: 20px;
  }
}
.govuk-error-summary {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary {
    margin-bottom: 50px;
  }
}
.govuk-error-summary {
  border: 5px solid #d4351c;
}
.govuk-error-summary:focus {
  outline: 3px solid #ffdd00;
}

.govuk-error-summary__title {
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary__title {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-error-summary__title {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-error-summary__title {
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary__title {
    margin-bottom: 20px;
  }
}

.govuk-error-summary__body p {
  margin-bottom: 0;
}
.govuk-error-summary__body > * + * {
  margin-top: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-error-summary__body > * + * {
    margin-top: 20px;
  }
}
.govuk-error-summary__body > :last-child {
  margin-bottom: 5px;
}

.govuk-error-summary__list {
  margin-bottom: 0;
}

.govuk-error-summary__list li:last-child {
  margin-bottom: 0;
}

.govuk-error-summary__list a {
  font-weight: 700;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-error-summary__list a {
    font-family: sans-serif;
  }
}
.govuk-error-summary__list a {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-error-summary__list a:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-error-summary__list a:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-error-summary__list a:link, .govuk-error-summary__list a:visited {
  color: #d4351c;
}
.govuk-error-summary__list a:hover {
  color: rgb(148.4, 37.1, 19.6);
}
.govuk-error-summary__list a:active {
  color: #d4351c;
}
.govuk-error-summary__list a:focus {
  color: #0b0c0c;
}



.govuk-exit-this-page {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-exit-this-page {
    margin-bottom: 50px;
  }
}
.govuk-exit-this-page {
  position: -webkit-sticky;
  position: sticky;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
}
@media (min-width: 40.0625em) {
  .govuk-exit-this-page {
    display: inline-block;
    right: 0;
    left: auto;
    width: auto;
    float: right;
  }
}

.govuk-exit-this-page__button {
  margin-bottom: 0;
}

.govuk-exit-this-page__indicator {
  padding: 10px;
  display: none;
  padding-bottom: 0;
  color: inherit;
  line-height: 0;
  text-align: center;
  pointer-events: none;
}

.govuk-exit-this-page__indicator--visible {
  display: block;
}

.govuk-exit-this-page__indicator-light {
  box-sizing: border-box;
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  margin: 0 0.125em;
  border-width: 2px;
  border-style: solid;
  border-radius: 50%;
  border-color: currentcolor;
}

.govuk-exit-this-page__indicator-light--on {
  border-width: 0.375em;
}

@media only print {
  .govuk-exit-this-page {
    display: none;
  }
}
.govuk-exit-this-page-overlay {
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #ffffff;
}

.govuk-exit-this-page-hide-content * {
  display: none !important;
}
.govuk-exit-this-page-hide-content .govuk-exit-this-page-overlay {
  display: block !important;
}






.govuk-file-upload {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-file-upload {
    font-family: sans-serif;
  }
}
.govuk-file-upload {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-file-upload {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-file-upload {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-file-upload {
  color: #0b0c0c;
}
@media print {
  .govuk-file-upload {
    color: #000000;
  }
}
.govuk-file-upload {
  max-width: 100%;
  margin-left: -5px;
  padding: 5px;
}
.govuk-file-upload::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}
.govuk-file-upload:focus {
  outline: 3px solid #ffdd00;
  box-shadow: inset 0 0 0 4px #0b0c0c;
}
.govuk-file-upload:focus-within {
  outline: 3px solid #ffdd00;
  box-shadow: inset 0 0 0 4px #0b0c0c;
}
.govuk-file-upload:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}


.govuk-footer {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-footer {
    font-family: sans-serif;
  }
}
.govuk-footer {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-footer {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-footer {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-footer {
  padding-top: 25px;
}
@media (min-width: 40.0625em) {
  .govuk-footer {
    padding-top: 40px;
  }
}
.govuk-footer {
  padding-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-footer {
    padding-bottom: 25px;
  }
}
.govuk-footer {
  border-top: 1px solid #b1b4b6;
  color: #0b0c0c;
  background: #f3f2f1;
}

.govuk-footer__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-footer__link {
    font-family: sans-serif;
  }
}
.govuk-footer__link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-footer__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-footer__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-footer__link:link, .govuk-footer__link:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-footer__link:link, .govuk-footer__link:visited {
    color: #000000;
  }
}
.govuk-footer__link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-footer__link:active, .govuk-footer__link:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-footer__link:active, .govuk-footer__link:focus {
    color: #000000;
  }
}

.govuk-footer__section-break {
  margin: 0;
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-footer__section-break {
    margin-bottom: 50px;
  }
}
.govuk-footer__section-break {
  border: 0;
  border-bottom: 1px solid #b1b4b6;
}

.govuk-footer__meta {
  display: flex;
  margin-right: -15px;
  margin-left: -15px;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
}

.govuk-footer__meta-item {
  margin-right: 15px;
  margin-bottom: 25px;
  margin-left: 15px;
}

.govuk-footer__meta-item--grow {
  flex: 1;
}
@media (max-width: 40.0525em) {
  .govuk-footer__meta-item--grow {
    flex-basis: 320px;
  }
}

.govuk-footer__licence-logo {
  display: inline-block;
  margin-right: 10px;
}
@media (max-width: 48.0525em) {
  .govuk-footer__licence-logo {
    margin-bottom: 15px;
  }
}
.govuk-footer__licence-logo {
  vertical-align: top;
  forced-color-adjust: auto;
}

.govuk-footer__licence-description {
  display: inline-block;
  text-wrap: balance;
}

.govuk-footer__copyright-logo {
  display: inline-block;
  min-width: 125px;
  padding-top: 112px;
  background-image: url("/govuk/assets/images/govuk-crest.svg");
  background-repeat: no-repeat;
  background-position: 50% 0%;
  background-size: 125px 102px;
  text-align: center;
  white-space: nowrap;
}

.govuk-footer__inline-list {
  margin-top: 0;
  margin-bottom: 15px;
  padding: 0;
}

.govuk-footer__meta-custom {
  margin-bottom: 20px;
}

.govuk-footer__inline-list-item {
  display: inline-block;
  margin-right: 15px;
  margin-bottom: 5px;
}

.govuk-footer__heading {
  margin-bottom: 30px;
  padding-bottom: 20px;
}
@media (max-width: 40.0525em) {
  .govuk-footer__heading {
    padding-bottom: 10px;
  }
}
.govuk-footer__heading {
  border-bottom: 1px solid #b1b4b6;
}

.govuk-footer__navigation::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-footer__navigation {
  margin-right: -15px;
  margin-left: -15px;
}

.govuk-footer__section {
  display: inline-block;
  margin-bottom: 30px;
  vertical-align: top;
}

.govuk-footer__list {
  margin: 0;
  padding: 0;
  list-style: none;
  column-gap: 30px;
}

@media (min-width: 48.0625em) {
  .govuk-footer__list--columns-2 {
    column-count: 2;
  }
  .govuk-footer__list--columns-3 {
    column-count: 3;
  }
}
.govuk-footer__list-item {
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-footer__list-item {
    margin-bottom: 20px;
  }
}

.govuk-footer__list-item:last-child {
  margin-bottom: 0;
}


.govuk-header {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-header {
    font-family: sans-serif;
  }
}
.govuk-header {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
}
@media (min-width: 40.0625em) {
  .govuk-header {
    font-size: 1rem;
    line-height: 1;
  }
}
@media print {
  .govuk-header {
    font-size: 14pt;
    line-height: 1;
  }
}
.govuk-header {
  border-bottom: 10px solid #ffffff;
  color: #ffffff;
  background: #0b0c0c;
}

.govuk-header__container--full-width {
  padding: 0 15px;
  border-color: #1d70b8;
}
.govuk-header__container--full-width .govuk-header__menu-button {
  right: 15px;
}

.govuk-header__container::after {
  content: "";
  display: block;
  clear: both;
}
.govuk-header__container {
  position: relative;
  margin-bottom: -10px;
  padding-top: 10px;
  border-bottom: 10px solid #1d70b8;
}

.govuk-header--full-width-border {
  border-bottom-color: #1d70b8;
}
.govuk-header--full-width-border .govuk-header__container {
  border-bottom-color: transparent;
}

.govuk-header__logotype {
  display: inline-block;
  position: relative;
  top: -3px;
  margin-right: 5px;
  fill: currentcolor;
  vertical-align: top;
}
@media (forced-colors: active) {
  .govuk-header__logotype {
    forced-color-adjust: none;
    color: linktext;
  }
}
.govuk-header__logotype:last-child {
  margin-right: 0;
}

.govuk-header__product-name {
  font-size: 1.125rem;
  line-height: 1;
}
@media (min-width: 40.0625em) {
  .govuk-header__product-name {
    font-size: 1.5rem;
    line-height: 1;
  }
}
@media print {
  .govuk-header__product-name {
    font-size: 18pt;
    line-height: 1;
  }
}
.govuk-header__product-name {
  font-weight: 400;
  display: inline-table;
  margin-top: 10px;
}
@-moz-document url-prefix() {
  .govuk-header__product-name {
    margin-top: 9.5px;
  }
}
.govuk-header__product-name {
  vertical-align: top;
}
@media (min-width: 40.0625em) {
  .govuk-header__product-name {
    margin-top: 5px;
  }
  @-moz-document url-prefix() {
    .govuk-header__product-name {
      margin-top: 4.5px;
    }
  }
}

.govuk-header__link:link, .govuk-header__link:visited {
  color: #ffffff;
}
.govuk-header__link:hover, .govuk-header__link:active {
  color: rgba(255, 255, 255, 0.99);
}
.govuk-header__link:focus {
  color: #0b0c0c;
}
.govuk-header__link {
  text-decoration: none;
}
.govuk-header__link:hover {
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 0.1578em;
}
.govuk-header__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.govuk-header__link--homepage {
  display: inline-block;
  margin-right: 10px;
  font-size: 30px;
}
@media (min-width: 48.0625em) {
  .govuk-header__link--homepage {
    display: inline;
  }
  .govuk-header__link--homepage:focus {
    box-shadow: 0 0 #ffdd00;
  }
}
.govuk-header__link--homepage:link, .govuk-header__link--homepage:visited {
  text-decoration: none;
}
.govuk-header__link--homepage:hover, .govuk-header__link--homepage:active {
  margin-bottom: -3px;
  border-bottom: 3px solid;
}
.govuk-header__link--homepage:focus {
  margin-bottom: 0;
  border-bottom: 0;
}

.govuk-header__service-name {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-header__service-name {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-header__service-name {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-header__service-name {
  font-weight: 700;
}

.govuk-header__logo,
.govuk-header__content {
  box-sizing: border-box;
}

.govuk-header__logo {
  margin-bottom: 10px;
  padding-right: 80px;
}
@media (min-width: 48.0625em) {
  .govuk-header__logo {
    width: 33.33%;
    padding-right: 15px;
    float: left;
    vertical-align: top;
  }
  .govuk-header__logo:last-child {
    width: auto;
    padding-right: 0;
    float: none;
  }
}

@media (min-width: 48.0625em) {
  .govuk-header__content {
    width: 66.66%;
    padding-left: 15px;
    float: left;
  }
}

.govuk-header__menu-button {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-header__menu-button {
    font-family: sans-serif;
  }
}
.govuk-header__menu-button {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-header__menu-button {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-header__menu-button {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-header__menu-button {
  position: absolute;
  top: 13px;
  right: 0;
  max-width: 80px;
  min-height: 24px;
  margin: 0;
  padding: 0;
  border: 0;
  color: #ffffff;
  background: none;
  word-break: break-all;
  cursor: pointer;
}
.govuk-header__menu-button:hover {
  -webkit-text-decoration: solid underline 3px;
  text-decoration: solid underline 3px;
  text-underline-offset: 0.1578em;
}
.govuk-header__menu-button:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-header__menu-button::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  border-width: 8.66px 5px 0 5px;
  border-top-color: inherit;
  content: "";
  margin-left: 5px;
}
.govuk-header__menu-button[aria-expanded=true]::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  border-width: 0 5px 8.66px;
  border-bottom-color: inherit;
}
@media (min-width: 40.0625em) {
  .govuk-header__menu-button {
    top: 15px;
  }
}
.govuk-frontend-supported .govuk-header__menu-button {
  display: block;
}
.govuk-header__menu-button[hidden], .govuk-frontend-supported .govuk-header__menu-button[hidden] {
  display: none;
}

@media (min-width: 48.0625em) {
  .govuk-header__navigation {
    margin-bottom: 10px;
  }
}

.govuk-header__navigation-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.govuk-header__navigation-list[hidden] {
  display: none;
}

@media (min-width: 48.0625em) {
  .govuk-header__navigation--end {
    margin: 0;
    padding: 5px 0;
    text-align: right;
  }
}

.govuk-header__navigation-item {
  padding: 10px 0;
  border-bottom: 1px solid #2e3133;
}
@media (min-width: 48.0625em) {
  .govuk-header__navigation-item {
    display: inline-block;
    margin-right: 15px;
    padding: 5px 0;
    border: 0;
  }
}
.govuk-header__navigation-item a {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-header__navigation-item a {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-header__navigation-item a {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-header__navigation-item a {
  font-weight: 700;
  white-space: nowrap;
}

.govuk-header__navigation-item--active a:link, .govuk-header__navigation-item--active a:hover, .govuk-header__navigation-item--active a:visited {
  color: #1d8feb;
}
@media print {
  .govuk-header__navigation-item--active a {
    color: #1d70b8;
  }
}
.govuk-header__navigation-item--active a:focus {
  color: #0b0c0c;
}

.govuk-header__navigation-item:last-child {
  margin-right: 0;
  border-bottom: 0;
}

@media print {
  .govuk-header {
    border-bottom-width: 0;
    color: #0b0c0c;
    background: transparent;
  }
  .govuk-header__link:link, .govuk-header__link:visited {
    color: #0b0c0c;
  }
  .govuk-header__link::after {
    display: none;
  }
}






.govuk-inset-text {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-inset-text {
    font-family: sans-serif;
  }
}
.govuk-inset-text {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-inset-text {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-inset-text {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-inset-text {
  color: #0b0c0c;
}
@media print {
  .govuk-inset-text {
    color: #000000;
  }
}
.govuk-inset-text {
  padding: 15px;
  margin-top: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-inset-text {
    margin-top: 30px;
  }
}
.govuk-inset-text {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-inset-text {
    margin-bottom: 30px;
  }
}
.govuk-inset-text {
  clear: both;
  border-left: 10px solid #b1b4b6;
}
.govuk-inset-text > :first-child {
  margin-top: 0;
}
.govuk-inset-text > :only-child,
.govuk-inset-text > :last-child {
  margin-bottom: 0;
}



.govuk-notification-banner {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-notification-banner {
    font-family: sans-serif;
  }
}
.govuk-notification-banner {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-notification-banner {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-notification-banner {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner {
    margin-bottom: 50px;
  }
}
.govuk-notification-banner {
  border: 5px solid #1d70b8;
  background-color: #1d70b8;
}
.govuk-notification-banner:focus {
  outline: 3px solid #ffdd00;
}

.govuk-notification-banner__header {
  padding: 2px 15px 5px;
  border-bottom: 1px solid transparent;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner__header {
    padding: 2px 20px 5px;
  }
}

.govuk-notification-banner__title {
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner__title {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-notification-banner__title {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-notification-banner__title {
  font-weight: 700;
  margin: 0;
  padding: 0;
  color: #ffffff;
}

.govuk-notification-banner__content {
  color: #0b0c0c;
}
@media print {
  .govuk-notification-banner__content {
    color: #000000;
  }
}
.govuk-notification-banner__content {
  padding: 15px;
  background-color: #ffffff;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner__content {
    padding: 20px;
  }
}
.govuk-notification-banner__content > * {
  box-sizing: border-box;
  max-width: 605px;
}
.govuk-notification-banner__content > :last-child {
  margin-bottom: 0;
}

.govuk-notification-banner__heading {
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-notification-banner__heading {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-notification-banner__heading {
    font-size: 18pt;
    line-height: 1.15;
  }
}
.govuk-notification-banner__heading {
  font-weight: 700;
  margin: 0 0 15px;
  padding: 0;
}

.govuk-notification-banner__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-notification-banner__link {
    font-family: sans-serif;
  }
}
.govuk-notification-banner__link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-notification-banner__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-notification-banner__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-notification-banner__link:link {
  color: #1d70b8;
}
.govuk-notification-banner__link:visited {
  color: #1d70b8;
}
.govuk-notification-banner__link:hover {
  color: #003078;
}
.govuk-notification-banner__link:active {
  color: #0b0c0c;
}
.govuk-notification-banner__link:focus {
  color: #0b0c0c;
}

.govuk-notification-banner--success {
  border-color: #00703c;
  background-color: #00703c;
}
.govuk-notification-banner--success .govuk-notification-banner__link:link, .govuk-notification-banner--success .govuk-notification-banner__link:visited {
  color: #00703c;
}
.govuk-notification-banner--success .govuk-notification-banner__link:hover {
  color: rgb(0, 78.4, 42);
}
.govuk-notification-banner--success .govuk-notification-banner__link:active {
  color: #00703c;
}
.govuk-notification-banner--success .govuk-notification-banner__link:focus {
  color: #0b0c0c;
}


.govuk-pagination {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-pagination {
    margin-bottom: 30px;
  }
}
.govuk-pagination {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 40.0625em) {
  .govuk-pagination {
    flex-direction: row;
    align-items: flex-start;
  }
}

.govuk-pagination__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.govuk-pagination__item,
.govuk-pagination__next,
.govuk-pagination__prev {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-pagination__item,
  .govuk-pagination__next,
  .govuk-pagination__prev {
    font-family: sans-serif;
  }
}
.govuk-pagination__item,
.govuk-pagination__next,
.govuk-pagination__prev {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-pagination__item,
  .govuk-pagination__next,
  .govuk-pagination__prev {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-pagination__item,
  .govuk-pagination__next,
  .govuk-pagination__prev {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-pagination__item,
.govuk-pagination__next,
.govuk-pagination__prev {
  box-sizing: border-box;
  position: relative;
  min-width: 45px;
  min-height: 45px;
  padding: 10px 15px;
  float: left;
}
.govuk-pagination__item:hover,
.govuk-pagination__next:hover,
.govuk-pagination__prev:hover {
  background-color: #f3f2f1;
}

.govuk-pagination__item {
  display: none;
  text-align: center;
}
@media (min-width: 40.0625em) {
  .govuk-pagination__item {
    display: block;
  }
}

.govuk-pagination__prev,
.govuk-pagination__next {
  font-weight: 700;
}
.govuk-pagination__prev .govuk-pagination__link,
.govuk-pagination__next .govuk-pagination__link {
  display: flex;
  align-items: center;
}

.govuk-pagination__prev {
  padding-left: 0;
}

.govuk-pagination__next {
  padding-right: 0;
}

.govuk-pagination__item--current,
.govuk-pagination__item--ellipses,
.govuk-pagination__item:first-child,
.govuk-pagination__item:last-child {
  display: block;
}

.govuk-pagination__item--current {
  font-weight: 700;
  outline: 1px solid transparent;
  background-color: #1d70b8;
}
.govuk-pagination__item--current:hover {
  background-color: #1d70b8;
}
.govuk-pagination__item--current .govuk-pagination__link:link, .govuk-pagination__item--current .govuk-pagination__link:visited {
  color: #ffffff;
}
.govuk-pagination__item--current .govuk-pagination__link:hover, .govuk-pagination__item--current .govuk-pagination__link:active {
  color: rgba(255, 255, 255, 0.99);
}
.govuk-pagination__item--current .govuk-pagination__link:focus {
  color: #0b0c0c;
}

.govuk-pagination__item--ellipses {
  font-weight: 700;
  color: #505a5f;
}
.govuk-pagination__item--ellipses:hover {
  background-color: transparent;
}

.govuk-pagination__link {
  display: block;
  min-width: 15px;
}
@media screen {
  .govuk-pagination__link::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
.govuk-pagination__link:hover .govuk-pagination__link-title--decorated, .govuk-pagination__link:active .govuk-pagination__link-title--decorated {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-pagination__link:hover .govuk-pagination__link-label,
.govuk-pagination__link:hover .govuk-pagination__link-title--decorated, .govuk-pagination__link:active .govuk-pagination__link-label,
.govuk-pagination__link:active .govuk-pagination__link-title--decorated {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-pagination__link:focus .govuk-pagination__icon {
  color: #0b0c0c;
}
.govuk-pagination__link:focus .govuk-pagination__link-label {
  text-decoration: none;
}
.govuk-pagination__link:focus .govuk-pagination__link-title--decorated {
  text-decoration: none;
}

.govuk-pagination__link-label {
  font-weight: 400;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
  display: inline-block;
}

.govuk-pagination__icon {
  width: 0.9375rem;
  height: 0.8125rem;
  color: #505a5f;
  fill: currentcolor;
  forced-color-adjust: auto;
}

.govuk-pagination__icon--prev {
  margin-right: 15px;
}

.govuk-pagination__icon--next {
  margin-left: 15px;
}

.govuk-pagination--block {
  display: block;
}
.govuk-pagination--block .govuk-pagination__next,
.govuk-pagination--block .govuk-pagination__prev {
  padding-left: 0;
  float: none;
}
.govuk-pagination--block .govuk-pagination__next .govuk-pagination__link,
.govuk-pagination--block .govuk-pagination__prev .govuk-pagination__link {
  display: inline-block;
}
.govuk-pagination--block .govuk-pagination__next {
  padding-right: 15px;
}
.govuk-pagination--block .govuk-pagination__prev + .govuk-pagination__next {
  border-top: 1px solid #b1b4b6;
}
.govuk-pagination--block .govuk-pagination__link-title::after {
  content: "";
  display: block;
}
.govuk-pagination--block .govuk-pagination__link {
  padding-left: 30px;
  text-align: left;
}
.govuk-pagination--block .govuk-pagination__link:not(:focus) {
  text-decoration: none;
}
.govuk-pagination--block .govuk-pagination__icon {
  margin-top: 0.326em;
  margin-left: -30px;
  float: left;
}


.govuk-panel {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-panel {
    font-family: sans-serif;
  }
}
.govuk-panel {
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.0416666667;
}
@media (min-width: 40.0625em) {
  .govuk-panel {
    font-size: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-panel {
    font-size: 24pt;
    line-height: 1.05;
  }
}
.govuk-panel {
  box-sizing: border-box;
  margin-bottom: 15px;
  padding: 35px;
  border: 5px solid transparent;
  text-align: center;
}
@media (max-width: 40.0525em) {
  .govuk-panel {
    padding: 10px;
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
}

.govuk-panel--confirmation {
  color: #ffffff;
  background: #00703c;
}
@media print {
  .govuk-panel--confirmation {
    border-color: currentcolor;
    color: #000000;
    background: none;
  }
}

.govuk-panel__title {
  font-size: 2rem;
  line-height: 1.09375;
}
@media (min-width: 40.0625em) {
  .govuk-panel__title {
    font-size: 3rem;
    line-height: 1.0416666667;
  }
}
@media print {
  .govuk-panel__title {
    font-size: 32pt;
    line-height: 1.15;
  }
}
.govuk-panel__title {
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 30px;
}

.govuk-panel__title:last-child {
  margin-bottom: 0;
}







@media (min-width: 20em) {
  .govuk-password-input__wrapper {
    flex-direction: row;
    align-items: flex-start;
  }
}

.govuk-password-input__input::-ms-reveal {
  display: none;
}

.govuk-password-input__toggle {
  margin-top: 5px;
  margin-bottom: 0;
}
.govuk-password-input__toggle[hidden] {
  display: none;
}
@media (min-width: 20em) {
  .govuk-password-input__toggle {
    width: auto;
    flex-shrink: 0;
    flex-basis: 5em;
    margin-top: 0;
    margin-left: 5px;
  }
}


.govuk-tag {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-tag {
    font-family: sans-serif;
  }
}
.govuk-tag {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-tag {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-tag {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-tag {
  display: inline-block;
  max-width: 160px;
  margin-top: -2px;
  margin-bottom: -3px;
  padding-top: 2px;
  padding-right: 8px;
  padding-bottom: 3px;
  padding-left: 8px;
  color: rgb(11.6, 44.8, 73.6);
  background-color: rgb(187.2, 212.1, 233.7);
  text-decoration: none;
  overflow-wrap: break-word;
}
@media screen and (forced-colors: active) {
  .govuk-tag {
    font-weight: bold;
  }
}

.govuk-tag--grey {
  color: rgb(40, 45, 47.5);
  background-color: rgb(228.75, 230.25, 231);
}

.govuk-tag--purple {
  color: rgb(72.5, 21.5, 68);
  background-color: rgb(238.5, 223.2, 237.15);
}

.govuk-tag--turquoise {
  color: rgb(16, 64.4, 60.4);
  background-color: rgb(212, 236.2, 234.2);
}

.govuk-tag--blue {
  color: rgb(11.6, 44.8, 73.6);
  background-color: rgb(187.2, 212.1, 233.7);
}

.govuk-tag--light-blue {
  color: rgb(11.6, 44.8, 73.6);
  background-color: rgb(232.4, 240.7, 247.9);
}

.govuk-tag--yellow {
  color: rgb(89.25, 77.35, 0);
  background-color: rgb(255, 246.5, 191.25);
}

.govuk-tag--orange {
  color: rgb(109.8, 53.55, 25.2);
  background-color: rgb(251.7, 214.2, 195.3);
}

.govuk-tag--red {
  color: rgb(42.4, 10.6, 5.6);
  background-color: rgb(244.25, 204.5, 198.25);
}

.govuk-tag--pink {
  color: rgb(106.5, 28, 64);
  background-color: rgb(248.7, 225.15, 235.95);
}

.govuk-tag--green {
  color: rgb(0, 89.6, 48);
  background-color: rgb(204, 226.4, 216);
}


.govuk-phase-banner {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #b1b4b6;
}

.govuk-phase-banner__content {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-phase-banner__content {
    font-family: sans-serif;
  }
}
.govuk-phase-banner__content {
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-phase-banner__content {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-phase-banner__content {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-phase-banner__content {
  color: #0b0c0c;
}
@media print {
  .govuk-phase-banner__content {
    color: #000000;
  }
}
.govuk-phase-banner__content {
  display: table;
  margin: 0;
}

.govuk-phase-banner__content__tag {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-phase-banner__content__tag {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-phase-banner__content__tag {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-phase-banner__content__tag {
  margin-right: 10px;
}

.govuk-phase-banner__text {
  display: table-cell;
  vertical-align: middle;
}






.govuk-radios__item {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: 10px;
}

.govuk-radios__item:last-child,
.govuk-radios__item:last-of-type {
  margin-bottom: 0;
}

.govuk-radios__input {
  z-index: 1;
  width: 44px;
  height: 44px;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.govuk-radios__label {
  align-self: center;
  max-width: calc(100% - 74px);
  margin-bottom: 0;
  padding: 7px 15px;
  cursor: pointer;
  touch-action: manipulation;
}

.govuk-radios__label::before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 2px;
  left: 2px;
  width: 40px;
  height: 40px;
  border: 2px solid currentcolor;
  border-radius: 50%;
  background: transparent;
}

.govuk-radios__label::after {
  content: "";
  position: absolute;
  top: 12px;
  left: 12px;
  width: 0;
  height: 0;
  border: 10px solid currentcolor;
  border-radius: 50%;
  opacity: 0;
  background: currentcolor;
}

.govuk-radios__hint {
  display: block;
  width: 100%;
  margin-top: -5px;
  padding-right: 15px;
  padding-left: 59px;
}

.govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-radios__hint {
  margin-bottom: 0;
}

.govuk-radios__input:focus + .govuk-radios__label::before {
  border-width: 4px;
  outline: 3px solid transparent;
  outline-offset: 1px;
}
@media screen and (forced-colors: active), (-ms-high-contrast: active) {
  .govuk-radios__input:focus + .govuk-radios__label::before {
    outline-color: Highlight;
  }
}
.govuk-radios__input:focus + .govuk-radios__label::before {
  box-shadow: 0 0 0 4px #ffdd00;
}

.govuk-radios__input:checked + .govuk-radios__label::after {
  opacity: 1;
}

.govuk-radios__input:disabled,
.govuk-radios__input:disabled + .govuk-radios__label {
  cursor: not-allowed;
}

.govuk-radios__input:disabled + .govuk-radios__label,
.govuk-radios__input:disabled ~ .govuk-hint {
  opacity: 0.5;
}

@media (min-width: 40.0625em) {
  .govuk-radios--inline {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .govuk-radios--inline .govuk-radios__item {
    margin-right: 20px;
  }
}

.govuk-radios__divider {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-radios__divider {
    font-family: sans-serif;
  }
}
.govuk-radios__divider {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-radios__divider {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-radios__divider {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-radios__divider {
  color: #0b0c0c;
}
@media print {
  .govuk-radios__divider {
    color: #000000;
  }
}
.govuk-radios__divider {
  width: 40px;
  margin-bottom: 10px;
  text-align: center;
}

.govuk-radios__conditional {
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-radios__conditional {
    margin-bottom: 20px;
  }
}
.govuk-radios__conditional {
  margin-left: 20px;
  padding-left: 35px;
  border-left: 4px solid #b1b4b6;
}
.govuk-frontend-supported .govuk-radios__conditional--hidden {
  display: none;
}
.govuk-radios__conditional > :last-child {
  margin-bottom: 0;
}

.govuk-radios--small .govuk-radios__item {
  margin-bottom: 0;
}
.govuk-radios--small .govuk-radios__input {
  margin-left: -10px;
}
.govuk-radios--small .govuk-radios__label {
  padding-left: 1px;
}
.govuk-radios--small .govuk-radios__label::before {
  top: 10px;
  left: 0;
  width: 24px;
  height: 24px;
}
.govuk-radios--small .govuk-radios__label::after {
  top: 17px;
  left: 7px;
  border-width: 5px;
}
.govuk-radios--small .govuk-radios__hint {
  padding-left: 34px;
}
.govuk-radios--small .govuk-radios__conditional {
  margin-left: 10px;
  padding-left: 20px;
}
.govuk-radios--small .govuk-radios__divider {
  width: 24px;
  margin-bottom: 5px;
}
.govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label::before {
  outline: 4px dashed transparent;
  outline-offset: 1px;
  box-shadow: 0 0 0 10px #b1b4b6;
}
@media screen and (forced-colors: active), (-ms-high-contrast: active) {
  .govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
    outline-color: Highlight;
  }
}
.govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
  box-shadow: 0 0 0 4px #ffdd00 0 0 0 10px #b1b4b6;
}
@media (hover: none), (pointer: coarse) {
  .govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label::before {
    box-shadow: initial;
  }
  .govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label::before {
    box-shadow: 0 0 0 4px #ffdd00;
  }
}





.govuk-select {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-select {
    font-family: sans-serif;
  }
}
.govuk-select {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-select {
    font-size: 1.1875rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-select {
    font-size: 14pt;
    line-height: 1.25;
  }
}
.govuk-select {
  box-sizing: border-box;
  min-width: 11.5em;
  max-width: 100%;
  height: 2.5rem;
  padding: 5px;
  border: 2px solid #0b0c0c;
  color: #0b0c0c;
  background-color: #ffffff;
}
.govuk-select:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px;
}
.govuk-select:disabled {
  opacity: 0.5;
  color: inherit;
  cursor: not-allowed;
}

.govuk-select option:active,
.govuk-select option:checked,
.govuk-select:focus::-ms-value {
  color: #ffffff;
  background-color: #1d70b8;
}

.govuk-select--error {
  border-color: #d4351c;
}
.govuk-select--error:focus {
  border-color: #0b0c0c;
}


.govuk-service-navigation {
  border-bottom: 1px solid #b1b4b6;
  background-color: #f3f2f1;
}

.govuk-service-navigation__container {
  display: flex;
  flex-direction: column;
  align-items: start;
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__container {
    flex-direction: row;
    flex-wrap: wrap;
  }
}

.govuk-service-navigation__item,
.govuk-service-navigation__service-name {
  position: relative;
  margin: 10px 0;
  border: 0 solid rgb(26.1, 100.8, 165.6);
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__item,
  .govuk-service-navigation__service-name {
    margin-top: 0;
    margin-bottom: 0;
    padding: 20px 0;
  }
  .govuk-service-navigation__item:not(:last-child),
  .govuk-service-navigation__service-name:not(:last-child) {
    margin-right: 20px;
  }
}
@media (min-width: 40.0625em) and (min-width: 40.0625em) {
  .govuk-service-navigation__item:not(:last-child),
  .govuk-service-navigation__service-name:not(:last-child) {
    margin-right: 30px;
  }
}

@media (max-width: 40.0525em) {
  .govuk-service-navigation__item--active {
    margin-left: -15px;
    padding-left: 10px;
    border-left-width: 5px;
  }
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__item--active {
    padding-bottom: 15px;
    border-bottom-width: 5px;
  }
}

.govuk-service-navigation__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-service-navigation__link {
    font-family: sans-serif;
  }
}
.govuk-service-navigation__link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-service-navigation__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-service-navigation__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-service-navigation__link:not(:hover):not(:active) {
  text-decoration: none;
}
.govuk-service-navigation__link:link {
  color: #1d70b8;
}
.govuk-service-navigation__link:visited {
  color: #1d70b8;
}
.govuk-service-navigation__link:hover {
  color: #003078;
}
.govuk-service-navigation__link:active {
  color: #0b0c0c;
}
.govuk-service-navigation__link:focus {
  color: #0b0c0c;
}
.govuk-service-navigation__link:not(:hover):not(:focus) {
  color: rgb(26.1, 100.8, 165.6);
}

.govuk-service-navigation__service-name {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-service-navigation__service-name {
    font-family: sans-serif;
  }
}
.govuk-service-navigation__service-name {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__service-name {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-service-navigation__service-name {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-service-navigation__service-name .govuk-service-navigation__link:link, .govuk-service-navigation__service-name .govuk-service-navigation__link:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-service-navigation__service-name .govuk-service-navigation__link:link, .govuk-service-navigation__service-name .govuk-service-navigation__link:visited {
    color: #000000;
  }
}
.govuk-service-navigation__service-name .govuk-service-navigation__link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-service-navigation__service-name .govuk-service-navigation__link:active, .govuk-service-navigation__service-name .govuk-service-navigation__link:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-service-navigation__service-name .govuk-service-navigation__link:active, .govuk-service-navigation__service-name .govuk-service-navigation__link:focus {
    color: #000000;
  }
}

.govuk-service-navigation__toggle {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-service-navigation__toggle {
    font-family: sans-serif;
  }
}
.govuk-service-navigation__toggle {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__toggle {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-service-navigation__toggle {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-service-navigation__toggle {
  display: inline-flex;
  margin: 10px 0;
  padding: 0;
  border: 0;
  color: rgb(26.1, 100.8, 165.6);
  background: none;
  word-break: break-all;
  cursor: pointer;
  align-items: center;
}
.govuk-service-navigation__toggle:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-service-navigation__toggle::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  border-width: 8.66px 5px 0 5px;
  border-top-color: inherit;
  content: "";
  margin-left: 5px;
}
.govuk-service-navigation__toggle[aria-expanded=true]::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
  border-width: 0 5px 8.66px;
  border-bottom-color: inherit;
}
.govuk-service-navigation__toggle[hidden] {
  display: none;
}
.govuk-service-navigation__service-name + .govuk-service-navigation__wrapper .govuk-service-navigation__toggle {
  margin-top: 0;
}

.govuk-service-navigation__list {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-service-navigation__list {
    font-family: sans-serif;
  }
}
.govuk-service-navigation__list {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__list {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-service-navigation__list {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-service-navigation__list {
  margin: 0;
  margin-bottom: 15px;
  padding: 0;
  list-style: none;
}
@media (min-width: 40.0625em) {
  .govuk-service-navigation__list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 0;
  }
}
@media screen and (min-width: 40.0625em) and (-ms-high-contrast: active), (min-width: 40.0625em) and (-ms-high-contrast: none) {
  .govuk-service-navigation__list {
    display: block;
  }
}

.govuk-service-navigation__active-fallback {
  font-weight: inherit;
}


.govuk-skip-link:not(:active):not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.govuk-skip-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-skip-link {
    font-family: sans-serif;
  }
}
.govuk-skip-link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-skip-link:link, .govuk-skip-link:visited {
  color: #0b0c0c;
}
@media print {
  .govuk-skip-link:link, .govuk-skip-link:visited {
    color: #000000;
  }
}
.govuk-skip-link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.govuk-skip-link:active, .govuk-skip-link:focus {
  color: #0b0c0c;
}
@media print {
  .govuk-skip-link:active, .govuk-skip-link:focus {
    color: #000000;
  }
}
.govuk-skip-link {
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .govuk-skip-link {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-skip-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.govuk-skip-link {
  display: block;
  padding: 10px 15px;
}
@supports (padding: max(calc(0px))) {
  .govuk-skip-link {
    padding-right: max(15px, calc(15px + env(safe-area-inset-right)));
    padding-left: max(15px, calc(15px + env(safe-area-inset-left)));
  }
}
.govuk-skip-link:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  background-color: #ffdd00;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
  box-shadow: none;
}

.govuk-skip-link-focused-element:focus {
  outline: none;
}


.govuk-summary-list {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-summary-list {
    font-family: sans-serif;
  }
}
.govuk-summary-list {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-summary-list {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-summary-list {
  color: #0b0c0c;
}
@media print {
  .govuk-summary-list {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-summary-list {
    display: table;
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
  }
}
.govuk-summary-list {
  margin: 0;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list {
    margin-bottom: 30px;
  }
}

.govuk-summary-list__row {
  border-bottom: 1px solid #b1b4b6;
}
@media (max-width: 40.0525em) {
  .govuk-summary-list__row {
    margin-bottom: 15px;
  }
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__row {
    display: table-row;
  }
}

.govuk-summary-list__row:not(.govuk-summary-list__row--no-actions) > :last-child {
  padding-right: 0;
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__row--no-actions::after {
    content: "";
    display: table-cell;
    width: 20%;
  }
}

.govuk-summary-list__key,
.govuk-summary-list__value,
.govuk-summary-list__actions {
  margin: 0;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__key,
  .govuk-summary-list__value,
  .govuk-summary-list__actions {
    display: table-cell;
    padding-top: 10px;
    padding-right: 20px;
    padding-bottom: 10px;
  }
}

.govuk-summary-list__actions {
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__actions {
    width: 20%;
    text-align: right;
  }
}

.govuk-summary-list__key,
.govuk-summary-list__value {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.govuk-summary-list__key {
  margin-bottom: 5px;
  font-weight: 700;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__key {
    width: 30%;
  }
}

@media (max-width: 40.0525em) {
  .govuk-summary-list__value {
    margin-bottom: 15px;
  }
}

.govuk-summary-list__value > p {
  margin-bottom: 10px;
}

.govuk-summary-list__value > :last-child {
  margin-bottom: 0;
}

.govuk-summary-list__actions-list {
  width: 100%;
  margin: 0;
  padding: 0;
}

.govuk-summary-list__actions-list-item {
  display: inline-block;
}

@media (max-width: 40.0525em) {
  .govuk-summary-list__actions-list-item {
    margin-right: 10px;
    padding-right: 10px;
    border-right: 1px solid #b1b4b6;
  }
  .govuk-summary-list__actions-list-item:last-child {
    margin-right: 0;
    padding-right: 0;
    border: 0;
  }
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__actions-list-item {
    margin-left: 10px;
    padding-left: 10px;
  }
  .govuk-summary-list__actions-list-item:not(:first-child) {
    border-left: 1px solid #b1b4b6;
  }
  .govuk-summary-list__actions-list-item:first-child {
    margin-left: 0;
    padding-left: 0;
    border: 0;
  }
}
.govuk-summary-list__actions-list-item .govuk-link:focus {
  isolation: isolate;
}

.govuk-summary-list--no-border .govuk-summary-list__row {
  border: 0;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list--no-border .govuk-summary-list__key,
  .govuk-summary-list--no-border .govuk-summary-list__value,
  .govuk-summary-list--no-border .govuk-summary-list__actions {
    padding-bottom: 11px;
  }
}

.govuk-summary-list__row--no-border {
  border: 0;
}
@media (min-width: 40.0625em) {
  .govuk-summary-list__row--no-border .govuk-summary-list__key,
  .govuk-summary-list__row--no-border .govuk-summary-list__value,
  .govuk-summary-list__row--no-border .govuk-summary-list__actions {
    padding-bottom: 11px;
  }
}

.govuk-summary-card {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card {
    margin-bottom: 30px;
  }
}
.govuk-summary-card {
  border: 1px solid #b1b4b6;
}

.govuk-summary-card__title-wrapper {
  padding: 15px;
  border-bottom: 1px solid transparent;
  background-color: #f3f2f1;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__title-wrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    padding: 15px 20px;
  }
}

.govuk-summary-card__title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-summary-card__title {
    font-family: sans-serif;
  }
}
.govuk-summary-card__title {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__title {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-summary-card__title {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-summary-card__title {
  color: #0b0c0c;
}
@media print {
  .govuk-summary-card__title {
    color: #000000;
  }
}
.govuk-summary-card__title {
  margin: 5px 20px 10px 0;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__title {
    margin-bottom: 5px;
  }
}

.govuk-summary-card__actions {
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__actions {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-summary-card__actions {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-summary-card__actions {
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  row-gap: 10px;
  margin: 5px 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__actions {
    justify-content: right;
    text-align: right;
  }
}

.govuk-summary-card__action {
  display: inline;
  margin: 0 10px 0 0;
  padding-right: 10px;
  border-right: 1px solid #b1b4b6;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__action {
    margin-right: 0;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .govuk-summary-card__action {
    margin-bottom: 5px;
  }
}

.govuk-summary-card__action:last-child {
  margin: 0;
  padding-right: 0;
  border-right: none;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__action:last-child {
    padding-left: 10px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .govuk-summary-card__action:last-child {
    margin-bottom: 0;
  }
}

.govuk-summary-card__content {
  padding: 15px 15px 0;
}
@media (min-width: 40.0625em) {
  .govuk-summary-card__content {
    padding: 15px 20px;
  }
}
.govuk-summary-card__content .govuk-summary-list {
  margin-bottom: 0;
}
.govuk-summary-card__content .govuk-summary-list__row:last-of-type {
  margin-bottom: 0;
  border-bottom: none;
}


.govuk-table {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-table {
    font-family: sans-serif;
  }
}
.govuk-table {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-table {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-table {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-table {
  color: #0b0c0c;
}
@media print {
  .govuk-table {
    color: #000000;
  }
}
.govuk-table {
  width: 100%;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-table {
    margin-bottom: 30px;
  }
}
.govuk-table {
  border-spacing: 0;
  border-collapse: collapse;
}

.govuk-table__header {
  font-weight: 700;
}

.govuk-table__header,
.govuk-table__cell {
  padding: 10px 20px 10px 0;
  border-bottom: 1px solid #b1b4b6;
  text-align: left;
  vertical-align: top;
}

.govuk-table__cell--numeric {
  font-variant-numeric: tabular-nums;
}

.govuk-table__header--numeric,
.govuk-table__cell--numeric {
  text-align: right;
}

.govuk-table__header:last-child,
.govuk-table__cell:last-child {
  padding-right: 0;
}

.govuk-table__caption {
  font-weight: 700;
  display: table-caption;
  text-align: left;
}

.govuk-table__caption--xl,
.govuk-table__caption--l,
.govuk-table__caption--m {
  margin-bottom: 15px;
}

.govuk-table__caption--xl {
  font-size: 2rem;
  line-height: 1.09375;
}
@media (min-width: 40.0625em) {
  .govuk-table__caption--xl {
    font-size: 3rem;
    line-height: 1.0416666667;
  }
}
@media print {
  .govuk-table__caption--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-table__caption--l {
  font-size: 1.5rem;
  line-height: 1.0416666667;
}
@media (min-width: 40.0625em) {
  .govuk-table__caption--l {
    font-size: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-table__caption--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-table__caption--m {
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .govuk-table__caption--m {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-table__caption--m {
    font-size: 18pt;
    line-height: 1.15;
  }
}


.govuk-tabs {
  margin-top: 5px;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-tabs {
    margin-bottom: 30px;
  }
}
.govuk-tabs {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-tabs {
    font-family: sans-serif;
  }
}
.govuk-tabs {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-tabs {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-tabs {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-tabs__title {
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-tabs__title {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-tabs__title {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-tabs__title {
  font-weight: 400;
  color: #0b0c0c;
}
@media print {
  .govuk-tabs__title {
    color: #000000;
  }
}
.govuk-tabs__title {
  margin-bottom: 10px;
}

.govuk-tabs__list {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-tabs__list {
    margin-bottom: 30px;
  }
}

.govuk-tabs__list-item {
  margin-left: 25px;
}
.govuk-tabs__list-item::before {
  color: #0b0c0c;
}
@media print {
  .govuk-tabs__list-item::before {
    color: #000000;
  }
}
.govuk-tabs__list-item::before {
  content: "—";
  margin-left: -25px;
  padding-right: 5px;
}

.govuk-tabs__tab {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-tabs__tab {
    font-family: sans-serif;
  }
}
.govuk-tabs__tab {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.govuk-tabs__tab:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.govuk-tabs__tab:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.govuk-tabs__tab:link {
  color: #1d70b8;
}
.govuk-tabs__tab:visited {
  color: #4c2c92;
}
.govuk-tabs__tab:hover {
  color: #003078;
}
.govuk-tabs__tab:active {
  color: #0b0c0c;
}
.govuk-tabs__tab:focus {
  color: #0b0c0c;
}
.govuk-tabs__tab {
  display: inline-block;
  margin-bottom: 10px;
}

.govuk-tabs__panel {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .govuk-tabs__panel {
    margin-bottom: 50px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-tabs__list::after {
    content: "";
    display: block;
    clear: both;
  }
  .govuk-frontend-supported .govuk-tabs__list {
    margin-bottom: 0;
    border-bottom: 1px solid #b1b4b6;
  }
  .govuk-frontend-supported .govuk-tabs__title {
    display: none;
  }
  .govuk-frontend-supported .govuk-tabs__list-item {
    position: relative;
    margin-right: 5px;
    margin-bottom: 0;
    margin-left: 0;
    padding: 10px 20px;
    float: left;
    background-color: #f3f2f1;
    text-align: center;
  }
  .govuk-frontend-supported .govuk-tabs__list-item::before {
    content: none;
  }
  .govuk-frontend-supported .govuk-tabs__list-item--selected {
    position: relative;
    margin-top: -5px;
    margin-bottom: -1px;
    padding-top: 14px;
    padding-right: 19px;
    padding-bottom: 16px;
    padding-left: 19px;
    border: 1px solid #b1b4b6;
    border-bottom: 0;
    background-color: #ffffff;
  }
  .govuk-frontend-supported .govuk-tabs__list-item--selected .govuk-tabs__tab {
    text-decoration: none;
  }
  .govuk-frontend-supported .govuk-tabs__tab:link, .govuk-frontend-supported .govuk-tabs__tab:visited {
    color: #0b0c0c;
  }
  .govuk-frontend-supported .govuk-tabs__tab {
    margin-bottom: 0;
  }
}
@media print and (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-tabs__tab:link, .govuk-frontend-supported .govuk-tabs__tab:visited {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-tabs__tab:hover {
    color: rgba(11, 12, 12, 0.99);
  }
  .govuk-frontend-supported .govuk-tabs__tab:active, .govuk-frontend-supported .govuk-tabs__tab:focus {
    color: #0b0c0c;
  }
}
@media print and (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-tabs__tab:active, .govuk-frontend-supported .govuk-tabs__tab:focus {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-frontend-supported .govuk-tabs__tab::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .govuk-frontend-supported .govuk-tabs__panel {
    margin-bottom: 0;
    padding: 30px 20px;
    border: 1px solid #b1b4b6;
    border-top: 0;
  }
  .govuk-frontend-supported .govuk-tabs__panel > :last-child {
    margin-bottom: 0;
  }
  .govuk-frontend-supported .govuk-tabs__panel--hidden {
    display: none;
  }
}




.govuk-task-list {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-task-list {
    font-family: sans-serif;
  }
}
.govuk-task-list {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-task-list {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-task-list {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-task-list {
  margin-top: 0;
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-task-list {
    margin-bottom: 30px;
  }
}
.govuk-task-list {
  padding: 0;
  list-style-type: none;
}

.govuk-task-list__item {
  display: table;
  position: relative;
  width: 100%;
  margin-bottom: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #b1b4b6;
}

.govuk-task-list__item:first-child {
  border-top: 1px solid #b1b4b6;
}

.govuk-task-list__item--with-link:hover {
  background: #f3f2f1;
}

.govuk-task-list__name-and-hint {
  display: table-cell;
  vertical-align: top;
  color: #0b0c0c;
}
@media print {
  .govuk-task-list__name-and-hint {
    color: #000000;
  }
}

.govuk-task-list__status {
  display: table-cell;
  padding-left: 10px;
  text-align: right;
  vertical-align: top;
  color: #0b0c0c;
}
@media print {
  .govuk-task-list__status {
    color: #000000;
  }
}

.govuk-task-list__status--cannot-start-yet {
  color: #505a5f;
}

.govuk-task-list__link::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.govuk-task-list__hint {
  margin-top: 5px;
  color: #505a5f;
}






.govuk-warning-text {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .govuk-warning-text {
    font-family: sans-serif;
  }
}
.govuk-warning-text {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .govuk-warning-text {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-warning-text {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.govuk-warning-text {
  margin-bottom: 20px;
}
@media (min-width: 40.0625em) {
  .govuk-warning-text {
    margin-bottom: 30px;
  }
}
.govuk-warning-text {
  font-weight: 700;
  position: relative;
  padding: 10px 0;
}

.govuk-warning-text__icon {
  box-sizing: border-box;
  display: inline-block;
  position: absolute;
  left: 0;
  min-width: 35px;
  min-height: 35px;
  margin-top: -7px;
}
@media (min-width: 40.0625em) {
  .govuk-warning-text__icon {
    margin-top: -5px;
  }
}
.govuk-warning-text__icon {
  border: 3px solid #0b0c0c;
  border-radius: 50%;
  color: #ffffff;
  background: #0b0c0c;
  font-size: 30px;
  line-height: 29px;
  text-align: center;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  forced-color-adjust: none;
}
@media screen and (forced-colors: active) {
  .govuk-warning-text__icon {
    border-color: windowText;
    color: windowText;
    background: transparent;
  }
}

.govuk-warning-text__text {
  color: #0b0c0c;
}
@media print {
  .govuk-warning-text__text {
    color: #000000;
  }
}
.govuk-warning-text__text {
  display: block;
  padding-left: 45px;
  font-weight: inherit;
}



.govuk-clearfix::after {
  content: "";
  display: block;
  clear: both;
}


.govuk-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.govuk-visually-hidden::before {
  content: " ";
}
.govuk-visually-hidden::after {
  content: " ";
}

.govuk-visually-hidden-focusable:not(:active):not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}



.govuk-\!-display-inline {
  display: inline !important;
}

.govuk-\!-display-inline-block {
  display: inline-block !important;
}

.govuk-\!-display-block {
  display: block !important;
}

.govuk-\!-display-none {
  display: none !important;
}

@media print {
  .govuk-\!-display-none-print {
    display: none !important;
  }
}

.govuk-\!-margin-0 {
  margin: 0 !important;
}

.govuk-\!-margin-top-0 {
  margin-top: 0 !important;
}

.govuk-\!-margin-right-0 {
  margin-right: 0 !important;
}

.govuk-\!-margin-bottom-0 {
  margin-bottom: 0 !important;
}

.govuk-\!-margin-left-0 {
  margin-left: 0 !important;
}

.govuk-\!-margin-1 {
  margin: 5px !important;
}

.govuk-\!-margin-top-1 {
  margin-top: 5px !important;
}

.govuk-\!-margin-right-1 {
  margin-right: 5px !important;
}

.govuk-\!-margin-bottom-1 {
  margin-bottom: 5px !important;
}

.govuk-\!-margin-left-1 {
  margin-left: 5px !important;
}

.govuk-\!-margin-2 {
  margin: 10px !important;
}

.govuk-\!-margin-top-2 {
  margin-top: 10px !important;
}

.govuk-\!-margin-right-2 {
  margin-right: 10px !important;
}

.govuk-\!-margin-bottom-2 {
  margin-bottom: 10px !important;
}

.govuk-\!-margin-left-2 {
  margin-left: 10px !important;
}

.govuk-\!-margin-3 {
  margin: 15px !important;
}

.govuk-\!-margin-top-3 {
  margin-top: 15px !important;
}

.govuk-\!-margin-right-3 {
  margin-right: 15px !important;
}

.govuk-\!-margin-bottom-3 {
  margin-bottom: 15px !important;
}

.govuk-\!-margin-left-3 {
  margin-left: 15px !important;
}

.govuk-\!-margin-4 {
  margin: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-4 {
    margin: 20px !important;
  }
}

.govuk-\!-margin-top-4 {
  margin-top: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-4 {
    margin-top: 20px !important;
  }
}

.govuk-\!-margin-right-4 {
  margin-right: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-4 {
    margin-right: 20px !important;
  }
}

.govuk-\!-margin-bottom-4 {
  margin-bottom: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-4 {
    margin-bottom: 20px !important;
  }
}

.govuk-\!-margin-left-4 {
  margin-left: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-4 {
    margin-left: 20px !important;
  }
}

.govuk-\!-margin-5 {
  margin: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-5 {
    margin: 25px !important;
  }
}

.govuk-\!-margin-top-5 {
  margin-top: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-5 {
    margin-top: 25px !important;
  }
}

.govuk-\!-margin-right-5 {
  margin-right: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-5 {
    margin-right: 25px !important;
  }
}

.govuk-\!-margin-bottom-5 {
  margin-bottom: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-5 {
    margin-bottom: 25px !important;
  }
}

.govuk-\!-margin-left-5 {
  margin-left: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-5 {
    margin-left: 25px !important;
  }
}

.govuk-\!-margin-6 {
  margin: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-6 {
    margin: 30px !important;
  }
}

.govuk-\!-margin-top-6 {
  margin-top: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-6 {
    margin-top: 30px !important;
  }
}

.govuk-\!-margin-right-6 {
  margin-right: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-6 {
    margin-right: 30px !important;
  }
}

.govuk-\!-margin-bottom-6 {
  margin-bottom: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-6 {
    margin-bottom: 30px !important;
  }
}

.govuk-\!-margin-left-6 {
  margin-left: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-6 {
    margin-left: 30px !important;
  }
}

.govuk-\!-margin-7 {
  margin: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-7 {
    margin: 40px !important;
  }
}

.govuk-\!-margin-top-7 {
  margin-top: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-7 {
    margin-top: 40px !important;
  }
}

.govuk-\!-margin-right-7 {
  margin-right: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-7 {
    margin-right: 40px !important;
  }
}

.govuk-\!-margin-bottom-7 {
  margin-bottom: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-7 {
    margin-bottom: 40px !important;
  }
}

.govuk-\!-margin-left-7 {
  margin-left: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-7 {
    margin-left: 40px !important;
  }
}

.govuk-\!-margin-8 {
  margin: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-8 {
    margin: 50px !important;
  }
}

.govuk-\!-margin-top-8 {
  margin-top: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-8 {
    margin-top: 50px !important;
  }
}

.govuk-\!-margin-right-8 {
  margin-right: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-8 {
    margin-right: 50px !important;
  }
}

.govuk-\!-margin-bottom-8 {
  margin-bottom: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-8 {
    margin-bottom: 50px !important;
  }
}

.govuk-\!-margin-left-8 {
  margin-left: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-8 {
    margin-left: 50px !important;
  }
}

.govuk-\!-margin-9 {
  margin: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-9 {
    margin: 60px !important;
  }
}

.govuk-\!-margin-top-9 {
  margin-top: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-top-9 {
    margin-top: 60px !important;
  }
}

.govuk-\!-margin-right-9 {
  margin-right: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-right-9 {
    margin-right: 60px !important;
  }
}

.govuk-\!-margin-bottom-9 {
  margin-bottom: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-bottom-9 {
    margin-bottom: 60px !important;
  }
}

.govuk-\!-margin-left-9 {
  margin-left: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-margin-left-9 {
    margin-left: 60px !important;
  }
}

.govuk-\!-padding-0 {
  padding: 0 !important;
}

.govuk-\!-padding-top-0 {
  padding-top: 0 !important;
}

.govuk-\!-padding-right-0 {
  padding-right: 0 !important;
}

.govuk-\!-padding-bottom-0 {
  padding-bottom: 0 !important;
}

.govuk-\!-padding-left-0 {
  padding-left: 0 !important;
}

.govuk-\!-padding-1 {
  padding: 5px !important;
}

.govuk-\!-padding-top-1 {
  padding-top: 5px !important;
}

.govuk-\!-padding-right-1 {
  padding-right: 5px !important;
}

.govuk-\!-padding-bottom-1 {
  padding-bottom: 5px !important;
}

.govuk-\!-padding-left-1 {
  padding-left: 5px !important;
}

.govuk-\!-padding-2 {
  padding: 10px !important;
}

.govuk-\!-padding-top-2 {
  padding-top: 10px !important;
}

.govuk-\!-padding-right-2 {
  padding-right: 10px !important;
}

.govuk-\!-padding-bottom-2 {
  padding-bottom: 10px !important;
}

.govuk-\!-padding-left-2 {
  padding-left: 10px !important;
}

.govuk-\!-padding-3 {
  padding: 15px !important;
}

.govuk-\!-padding-top-3 {
  padding-top: 15px !important;
}

.govuk-\!-padding-right-3 {
  padding-right: 15px !important;
}

.govuk-\!-padding-bottom-3 {
  padding-bottom: 15px !important;
}

.govuk-\!-padding-left-3 {
  padding-left: 15px !important;
}

.govuk-\!-padding-4 {
  padding: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-4 {
    padding: 20px !important;
  }
}

.govuk-\!-padding-top-4 {
  padding-top: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-4 {
    padding-top: 20px !important;
  }
}

.govuk-\!-padding-right-4 {
  padding-right: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-4 {
    padding-right: 20px !important;
  }
}

.govuk-\!-padding-bottom-4 {
  padding-bottom: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-4 {
    padding-bottom: 20px !important;
  }
}

.govuk-\!-padding-left-4 {
  padding-left: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-4 {
    padding-left: 20px !important;
  }
}

.govuk-\!-padding-5 {
  padding: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-5 {
    padding: 25px !important;
  }
}

.govuk-\!-padding-top-5 {
  padding-top: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-5 {
    padding-top: 25px !important;
  }
}

.govuk-\!-padding-right-5 {
  padding-right: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-5 {
    padding-right: 25px !important;
  }
}

.govuk-\!-padding-bottom-5 {
  padding-bottom: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-5 {
    padding-bottom: 25px !important;
  }
}

.govuk-\!-padding-left-5 {
  padding-left: 15px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-5 {
    padding-left: 25px !important;
  }
}

.govuk-\!-padding-6 {
  padding: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-6 {
    padding: 30px !important;
  }
}

.govuk-\!-padding-top-6 {
  padding-top: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-6 {
    padding-top: 30px !important;
  }
}

.govuk-\!-padding-right-6 {
  padding-right: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-6 {
    padding-right: 30px !important;
  }
}

.govuk-\!-padding-bottom-6 {
  padding-bottom: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-6 {
    padding-bottom: 30px !important;
  }
}

.govuk-\!-padding-left-6 {
  padding-left: 20px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-6 {
    padding-left: 30px !important;
  }
}

.govuk-\!-padding-7 {
  padding: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-7 {
    padding: 40px !important;
  }
}

.govuk-\!-padding-top-7 {
  padding-top: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-7 {
    padding-top: 40px !important;
  }
}

.govuk-\!-padding-right-7 {
  padding-right: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-7 {
    padding-right: 40px !important;
  }
}

.govuk-\!-padding-bottom-7 {
  padding-bottom: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-7 {
    padding-bottom: 40px !important;
  }
}

.govuk-\!-padding-left-7 {
  padding-left: 25px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-7 {
    padding-left: 40px !important;
  }
}

.govuk-\!-padding-8 {
  padding: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-8 {
    padding: 50px !important;
  }
}

.govuk-\!-padding-top-8 {
  padding-top: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-8 {
    padding-top: 50px !important;
  }
}

.govuk-\!-padding-right-8 {
  padding-right: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-8 {
    padding-right: 50px !important;
  }
}

.govuk-\!-padding-bottom-8 {
  padding-bottom: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-8 {
    padding-bottom: 50px !important;
  }
}

.govuk-\!-padding-left-8 {
  padding-left: 30px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-8 {
    padding-left: 50px !important;
  }
}

.govuk-\!-padding-9 {
  padding: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-9 {
    padding: 60px !important;
  }
}

.govuk-\!-padding-top-9 {
  padding-top: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-top-9 {
    padding-top: 60px !important;
  }
}

.govuk-\!-padding-right-9 {
  padding-right: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-right-9 {
    padding-right: 60px !important;
  }
}

.govuk-\!-padding-bottom-9 {
  padding-bottom: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-bottom-9 {
    padding-bottom: 60px !important;
  }
}

.govuk-\!-padding-left-9 {
  padding-left: 40px !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-padding-left-9 {
    padding-left: 60px !important;
  }
}

.govuk-\!-static-margin-0 {
  margin: 0 !important;
}

.govuk-\!-static-margin-top-0 {
  margin-top: 0 !important;
}

.govuk-\!-static-margin-right-0 {
  margin-right: 0 !important;
}

.govuk-\!-static-margin-bottom-0 {
  margin-bottom: 0 !important;
}

.govuk-\!-static-margin-left-0 {
  margin-left: 0 !important;
}

.govuk-\!-static-margin-1 {
  margin: 5px !important;
}

.govuk-\!-static-margin-top-1 {
  margin-top: 5px !important;
}

.govuk-\!-static-margin-right-1 {
  margin-right: 5px !important;
}

.govuk-\!-static-margin-bottom-1 {
  margin-bottom: 5px !important;
}

.govuk-\!-static-margin-left-1 {
  margin-left: 5px !important;
}

.govuk-\!-static-margin-2 {
  margin: 10px !important;
}

.govuk-\!-static-margin-top-2 {
  margin-top: 10px !important;
}

.govuk-\!-static-margin-right-2 {
  margin-right: 10px !important;
}

.govuk-\!-static-margin-bottom-2 {
  margin-bottom: 10px !important;
}

.govuk-\!-static-margin-left-2 {
  margin-left: 10px !important;
}

.govuk-\!-static-margin-3 {
  margin: 15px !important;
}

.govuk-\!-static-margin-top-3 {
  margin-top: 15px !important;
}

.govuk-\!-static-margin-right-3 {
  margin-right: 15px !important;
}

.govuk-\!-static-margin-bottom-3 {
  margin-bottom: 15px !important;
}

.govuk-\!-static-margin-left-3 {
  margin-left: 15px !important;
}

.govuk-\!-static-margin-4 {
  margin: 20px !important;
}

.govuk-\!-static-margin-top-4 {
  margin-top: 20px !important;
}

.govuk-\!-static-margin-right-4 {
  margin-right: 20px !important;
}

.govuk-\!-static-margin-bottom-4 {
  margin-bottom: 20px !important;
}

.govuk-\!-static-margin-left-4 {
  margin-left: 20px !important;
}

.govuk-\!-static-margin-5 {
  margin: 25px !important;
}

.govuk-\!-static-margin-top-5 {
  margin-top: 25px !important;
}

.govuk-\!-static-margin-right-5 {
  margin-right: 25px !important;
}

.govuk-\!-static-margin-bottom-5 {
  margin-bottom: 25px !important;
}

.govuk-\!-static-margin-left-5 {
  margin-left: 25px !important;
}

.govuk-\!-static-margin-6 {
  margin: 30px !important;
}

.govuk-\!-static-margin-top-6 {
  margin-top: 30px !important;
}

.govuk-\!-static-margin-right-6 {
  margin-right: 30px !important;
}

.govuk-\!-static-margin-bottom-6 {
  margin-bottom: 30px !important;
}

.govuk-\!-static-margin-left-6 {
  margin-left: 30px !important;
}

.govuk-\!-static-margin-7 {
  margin: 40px !important;
}

.govuk-\!-static-margin-top-7 {
  margin-top: 40px !important;
}

.govuk-\!-static-margin-right-7 {
  margin-right: 40px !important;
}

.govuk-\!-static-margin-bottom-7 {
  margin-bottom: 40px !important;
}

.govuk-\!-static-margin-left-7 {
  margin-left: 40px !important;
}

.govuk-\!-static-margin-8 {
  margin: 50px !important;
}

.govuk-\!-static-margin-top-8 {
  margin-top: 50px !important;
}

.govuk-\!-static-margin-right-8 {
  margin-right: 50px !important;
}

.govuk-\!-static-margin-bottom-8 {
  margin-bottom: 50px !important;
}

.govuk-\!-static-margin-left-8 {
  margin-left: 50px !important;
}

.govuk-\!-static-margin-9 {
  margin: 60px !important;
}

.govuk-\!-static-margin-top-9 {
  margin-top: 60px !important;
}

.govuk-\!-static-margin-right-9 {
  margin-right: 60px !important;
}

.govuk-\!-static-margin-bottom-9 {
  margin-bottom: 60px !important;
}

.govuk-\!-static-margin-left-9 {
  margin-left: 60px !important;
}

.govuk-\!-static-padding-0 {
  padding: 0 !important;
}

.govuk-\!-static-padding-top-0 {
  padding-top: 0 !important;
}

.govuk-\!-static-padding-right-0 {
  padding-right: 0 !important;
}

.govuk-\!-static-padding-bottom-0 {
  padding-bottom: 0 !important;
}

.govuk-\!-static-padding-left-0 {
  padding-left: 0 !important;
}

.govuk-\!-static-padding-1 {
  padding: 5px !important;
}

.govuk-\!-static-padding-top-1 {
  padding-top: 5px !important;
}

.govuk-\!-static-padding-right-1 {
  padding-right: 5px !important;
}

.govuk-\!-static-padding-bottom-1 {
  padding-bottom: 5px !important;
}

.govuk-\!-static-padding-left-1 {
  padding-left: 5px !important;
}

.govuk-\!-static-padding-2 {
  padding: 10px !important;
}

.govuk-\!-static-padding-top-2 {
  padding-top: 10px !important;
}

.govuk-\!-static-padding-right-2 {
  padding-right: 10px !important;
}

.govuk-\!-static-padding-bottom-2 {
  padding-bottom: 10px !important;
}

.govuk-\!-static-padding-left-2 {
  padding-left: 10px !important;
}

.govuk-\!-static-padding-3 {
  padding: 15px !important;
}

.govuk-\!-static-padding-top-3 {
  padding-top: 15px !important;
}

.govuk-\!-static-padding-right-3 {
  padding-right: 15px !important;
}

.govuk-\!-static-padding-bottom-3 {
  padding-bottom: 15px !important;
}

.govuk-\!-static-padding-left-3 {
  padding-left: 15px !important;
}

.govuk-\!-static-padding-4 {
  padding: 20px !important;
}

.govuk-\!-static-padding-top-4 {
  padding-top: 20px !important;
}

.govuk-\!-static-padding-right-4 {
  padding-right: 20px !important;
}

.govuk-\!-static-padding-bottom-4 {
  padding-bottom: 20px !important;
}

.govuk-\!-static-padding-left-4 {
  padding-left: 20px !important;
}

.govuk-\!-static-padding-5 {
  padding: 25px !important;
}

.govuk-\!-static-padding-top-5 {
  padding-top: 25px !important;
}

.govuk-\!-static-padding-right-5 {
  padding-right: 25px !important;
}

.govuk-\!-static-padding-bottom-5 {
  padding-bottom: 25px !important;
}

.govuk-\!-static-padding-left-5 {
  padding-left: 25px !important;
}

.govuk-\!-static-padding-6 {
  padding: 30px !important;
}

.govuk-\!-static-padding-top-6 {
  padding-top: 30px !important;
}

.govuk-\!-static-padding-right-6 {
  padding-right: 30px !important;
}

.govuk-\!-static-padding-bottom-6 {
  padding-bottom: 30px !important;
}

.govuk-\!-static-padding-left-6 {
  padding-left: 30px !important;
}

.govuk-\!-static-padding-7 {
  padding: 40px !important;
}

.govuk-\!-static-padding-top-7 {
  padding-top: 40px !important;
}

.govuk-\!-static-padding-right-7 {
  padding-right: 40px !important;
}

.govuk-\!-static-padding-bottom-7 {
  padding-bottom: 40px !important;
}

.govuk-\!-static-padding-left-7 {
  padding-left: 40px !important;
}

.govuk-\!-static-padding-8 {
  padding: 50px !important;
}

.govuk-\!-static-padding-top-8 {
  padding-top: 50px !important;
}

.govuk-\!-static-padding-right-8 {
  padding-right: 50px !important;
}

.govuk-\!-static-padding-bottom-8 {
  padding-bottom: 50px !important;
}

.govuk-\!-static-padding-left-8 {
  padding-left: 50px !important;
}

.govuk-\!-static-padding-9 {
  padding: 60px !important;
}

.govuk-\!-static-padding-top-9 {
  padding-top: 60px !important;
}

.govuk-\!-static-padding-right-9 {
  padding-right: 60px !important;
}

.govuk-\!-static-padding-bottom-9 {
  padding-bottom: 60px !important;
}

.govuk-\!-static-padding-left-9 {
  padding-left: 60px !important;
}


.govuk-\!-text-align-left {
  text-align: left !important;
}

.govuk-\!-text-align-centre {
  text-align: center !important;
}

.govuk-\!-text-align-right {
  text-align: right !important;
}


.govuk-\!-font-size-80 {
  font-size: 3.3125rem !important;
  line-height: 1.0377358491 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-80 {
    font-size: 5rem !important;
    line-height: 1 !important;
  }
}
@media print {
  .govuk-\!-font-size-80 {
    font-size: 53pt !important;
    line-height: 1.1 !important;
  }
}

.govuk-\!-font-size-48 {
  font-size: 2rem !important;
  line-height: 1.09375 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-48 {
    font-size: 3rem !important;
    line-height: 1.0416666667 !important;
  }
}
@media print {
  .govuk-\!-font-size-48 {
    font-size: 32pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-36 {
  font-size: 1.5rem !important;
  line-height: 1.0416666667 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-36 {
    font-size: 2.25rem !important;
    line-height: 1.1111111111 !important;
  }
}
@media print {
  .govuk-\!-font-size-36 {
    font-size: 24pt !important;
    line-height: 1.05 !important;
  }
}

.govuk-\!-font-size-27 {
  font-size: 1.125rem !important;
  line-height: 1.1111111111 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-27 {
    font-size: 1.6875rem !important;
    line-height: 1.1111111111 !important;
  }
}
@media print {
  .govuk-\!-font-size-27 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-24 {
  font-size: 1.125rem !important;
  line-height: 1.1111111111 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-24 {
    font-size: 1.5rem !important;
    line-height: 1.25 !important;
  }
}
@media print {
  .govuk-\!-font-size-24 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-19 {
  font-size: 1rem !important;
  line-height: 1.25 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-19 {
    font-size: 1.1875rem !important;
    line-height: 1.3157894737 !important;
  }
}
@media print {
  .govuk-\!-font-size-19 {
    font-size: 14pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-16 {
  font-size: 0.875rem !important;
  line-height: 1.1428571429 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-16 {
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }
}
@media print {
  .govuk-\!-font-size-16 {
    font-size: 14pt !important;
    line-height: 1.2 !important;
  }
}

.govuk-\!-font-size-14 {
  font-size: 0.75rem !important;
  line-height: 1.25 !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-font-size-14 {
    font-size: 0.875rem !important;
    line-height: 1.4285714286 !important;
  }
}
@media print {
  .govuk-\!-font-size-14 {
    font-size: 12pt !important;
    line-height: 1.2 !important;
  }
}

.govuk-\!-font-weight-regular {
  font-weight: 400 !important;
}

.govuk-\!-font-weight-bold {
  font-weight: 700 !important;
}

.govuk-\!-font-tabular-numbers {
  font-variant-numeric: tabular-nums !important;
}

.govuk-\!-text-break-word {
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}


.govuk-\!-width-full {
  width: 100% !important;
}

.govuk-\!-width-three-quarters {
  width: 100% !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-width-three-quarters {
    width: 75% !important;
  }
}

.govuk-\!-width-two-thirds {
  width: 100% !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-width-two-thirds {
    width: 66.66% !important;
  }
}

.govuk-\!-width-one-half {
  width: 100% !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-width-one-half {
    width: 50% !important;
  }
}

.govuk-\!-width-one-third {
  width: 100% !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-width-one-third {
    width: 33.33% !important;
  }
}

.govuk-\!-width-one-quarter {
  width: 100% !important;
}
@media (min-width: 40.0625em) {
  .govuk-\!-width-one-quarter {
    width: 25% !important;
  }
}






.app-step-nav-header {
  color: #0b0c0c;
}
@media print {
  .app-step-nav-header {
    color: #000000;
  }
}
.app-step-nav-header {
  position: relative;
  padding: 10px;
  background: #f3f2f1;
  border-top: solid 1px #b1b4b6;
  border-bottom: solid 1px #b1b4b6;
}
@media (min-width: 40.0625em) {
  .app-step-nav-header {
    padding: 15px;
  }
}

.app-step-nav-header__part-of {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav-header__part-of {
    font-family: sans-serif;
  }
}
.app-step-nav-header__part-of {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .app-step-nav-header__part-of {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .app-step-nav-header__part-of {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.app-step-nav-header__part-of {
  display: block;
  padding-bottom: 0.2em;
}

.app-step-nav-header__title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav-header__title {
    font-family: sans-serif;
  }
}
.app-step-nav-header__title {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .app-step-nav-header__title {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .app-step-nav-header__title {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.app-step-nav {
  margin-bottom: 30px;
}
@media (min-width: 40.0625em) {
  .app-step-nav.app-step-nav--large {
    margin-bottom: 60px;
  }
}
.js-enabled .app-step-nav.js-hidden {
  display: none;
}

.app-step-nav__controls {
  padding: 3px 3px 0 0;
  text-align: right;
}

.app-step-nav__button {
  color: #1d70b8;
  cursor: pointer;
  background: none;
  border: 0;
  margin: 0;
}
.app-step-nav__button:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.app-step-nav__button::-moz-focus-inner {
  border: 0;
}

.app-step-nav__button--title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__button--title {
    font-family: sans-serif;
  }
}
.app-step-nav__button--title {
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 40.0625em) {
  .app-step-nav__button--title {
    font-size: 19px;
    line-height: 1.4;
  }
}
.app-step-nav__button--title {
  display: inline-block;
  padding: 0;
  text-align: left;
  color: #0b0c0c;
}
.app-step-nav--large .app-step-nav__button--title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__button--title {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__button--title {
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__button--title {
    font-size: 24px;
    line-height: 1.4;
  }
}

.app-step-nav__button--controls {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__button--controls {
    font-family: sans-serif;
  }
}
.app-step-nav__button--controls {
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
}
@media (min-width: 40.0625em) {
  .app-step-nav__button--controls {
    font-size: 14px;
    line-height: 1;
  }
}
.app-step-nav__button--controls {
  position: relative;
  z-index: 1;
  padding: 0.5em 0;
  text-decoration: underline;
}
.app-step-nav--large .app-step-nav__button--controls {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__button--controls {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__button--controls {
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__button--controls {
    font-size: 16px;
    line-height: 1;
  }
}

.app-step-nav__steps {
  padding: 0;
  margin: 0;
}

.app-step-nav__step {
  position: relative;
  padding-left: 45px;
  list-style: none;
}
.app-step-nav__step:after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 0;
  height: 100%;
  border-left: solid 2px #b1b4b6;
  background: #ffffff;
  left: 0;
  margin-left: 12px;
  top: 15px;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__step {
    padding-left: 60px;
  }
  .app-step-nav--large .app-step-nav__step:after {
    left: 0;
    margin-left: 16px;
    border-width: 3px;
    top: 30px;
  }
}

.app-step-nav__step:last-child:before {
  content: "";
  position: absolute;
  z-index: 6;
  bottom: 0;
  left: 0;
  margin-left: 6.5px;
  width: 13px;
  height: 0;
  border-bottom: solid 2px #b1b4b6;
}
.app-step-nav__step:last-child:after {
  height: -webkit-calc(100% - 15px);
  height: calc(100% - 15px);
}
.app-step-nav__step:last-child .app-step-nav__help:after {
  height: 100%;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__step:last-child:before {
    margin-left: 8.75px;
    width: 17.5px;
    border-width: 3px;
  }
  .app-step-nav--large .app-step-nav__step:last-child:after {
    height: calc(100% - 30px);
  }
}

.app-step-nav__step--active:last-child:before,
.app-step-nav__step--active .app-step-nav__circle--number, .app-step-nav__step--active:after,
.app-step-nav__step--active .app-step-nav__help:after {
  border-color: #0b0c0c;
}

.app-step-nav__circle {
  box-sizing: border-box;
  position: absolute;
  z-index: 5;
  top: 15px;
  left: 0;
  width: 26px;
  height: 26px;
  color: #0b0c0c;
  background: #ffffff;
  border-radius: 100px;
  text-align: center;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__circle {
    top: 30px;
    width: 35px;
    height: 35px;
  }
}

.app-step-nav__circle--number {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__circle--number {
    font-family: sans-serif;
  }
}
.app-step-nav__circle--number {
  font-size: 16px;
  font-weight: bold;
  line-height: 23px;
}
@media (min-width: 40.0625em) {
  .app-step-nav__circle--number {
    font-size: 16px;
    line-height: 23px;
  }
}
.app-step-nav__circle--number {
  border: solid 2px #b1b4b6;
}
.app-step-nav--large .app-step-nav__circle--number {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__circle--number {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__circle--number {
  font-size: 16px;
  font-weight: bold;
  line-height: 23px;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__circle--number {
    font-size: 19px;
    line-height: 30px;
  }
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__circle--number {
    border-width: 3px;
  }
}

.app-step-nav__circle--logic {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__circle--logic {
    font-family: sans-serif;
  }
}
.app-step-nav__circle--logic {
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
}
@media (min-width: 40.0625em) {
  .app-step-nav__circle--logic {
    font-size: 16px;
    line-height: 28px;
  }
}
.app-step-nav--large .app-step-nav__circle--logic {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__circle--logic {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__circle--logic {
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__circle--logic {
    font-size: 19px;
    line-height: 34px;
  }
}

.app-step-nav__circle-inner {
  float: right;
  min-width: 100%;
}

.app-step-nav__circle-background {
  text-shadow: 0 -0.1em 0 #ffffff, 0.1em 0 0 #ffffff, 0 0.1em 0 #ffffff, -0.1em 0 0 #ffffff;
}

.app-step-nav__circle-step-label,
.app-step-nav__circle-step-colon {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.app-step-nav__circle-step-label::before,
.app-step-nav__circle-step-colon::before {
  content: " ";
}
.app-step-nav__circle-step-label::after,
.app-step-nav__circle-step-colon::after {
  content: " ";
}

.app-step-nav__header {
  padding: 15px 0;
  border-top: solid 2px #b1b4b6;
}
.app-step-nav--active .app-step-nav__header {
  cursor: pointer;
}
.app-step-nav__header .app-step-nav__button:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.app-step-nav__header .app-step-nav__button:focus .app-step-nav__toggle-link {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.app-step-nav__header:hover .app-step-nav__button:not(:focus),
.app-step-nav__header:hover .app-step-nav__circle {
  color: #1d70b8;
}
.app-step-nav__header:hover .app-step-nav__toggle-link {
  text-decoration: underline;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__header {
    padding: 30px 0;
  }
}

.app-step-nav__title {
  color: #0b0c0c;
}
@media print {
  .app-step-nav__title {
    color: #000000;
  }
}
.app-step-nav__title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__title {
    font-family: sans-serif;
  }
}
.app-step-nav__title {
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 40.0625em) {
  .app-step-nav__title {
    font-size: 19px;
    line-height: 1.4;
  }
}
.app-step-nav__title {
  margin: 0;
}
.app-step-nav--large .app-step-nav__title {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__title {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__title {
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__title {
    font-size: 24px;
    line-height: 1.4;
  }
}

.app-step-nav__toggle-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__toggle-link {
    font-family: sans-serif;
  }
}
.app-step-nav__toggle-link {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
}
@media (min-width: 40.0625em) {
  .app-step-nav__toggle-link {
    font-size: 14px;
    line-height: 1.2;
  }
}
.app-step-nav__toggle-link {
  display: block;
  color: #1d70b8;
  text-transform: capitalize;
}
.app-step-nav--large .app-step-nav__toggle-link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__toggle-link {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__toggle-link {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__toggle-link {
    font-size: 16px;
    line-height: 1.2;
  }
}

.app-step-nav__panel {
  color: #0b0c0c;
}
@media print {
  .app-step-nav__panel {
    color: #000000;
  }
}
.app-step-nav__panel {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__panel {
    font-family: sans-serif;
  }
}
.app-step-nav__panel {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.3;
}
@media (min-width: 40.0625em) {
  .app-step-nav__panel {
    font-size: 16px;
    line-height: 1.3;
  }
}
.app-step-nav--large .app-step-nav__panel {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav--large .app-step-nav__panel {
    font-family: sans-serif;
  }
}
.app-step-nav--large .app-step-nav__panel {
  font-size: 16px;
  font-weight: normal;
  line-height: 1.3;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__panel {
    font-size: 19px;
    line-height: 1.3;
  }
}
.js-enabled .app-step-nav__panel.js-hidden {
  display: none;
}

.app-step-nav__paragraph {
  padding-bottom: 15px;
  margin: 0;
  font-size: inherit;
}
.app-step-nav__paragraph + .app-step-nav__list {
  margin-top: -5px;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__paragraph + .app-step-nav__list {
    margin-top: -govuk-spacing(3);
  }
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__paragraph {
    padding-bottom: 30px;
  }
}

.app-step-nav__list {
  padding: 0;
  padding-bottom: 10px;
  list-style: none;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__list {
    padding-bottom: 20px;
  }
}

.app-step-nav__list--choice {
  margin-left: 20px;
  list-style: disc;
}
.app-step-nav__list--choice .app-step-nav__list-item--active:before {
  left: -65px;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__list--choice .app-step-nav__list-item--active:before {
    left: -80px;
  }
}

.app-step-nav__list-item {
  margin-bottom: 10px;
}

.app-step-nav__link {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav__link {
    font-family: sans-serif;
  }
}
.app-step-nav__link {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1578em;
}
.app-step-nav__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.app-step-nav__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.app-step-nav__link:link {
  color: #1d70b8;
}
.app-step-nav__link:visited {
  color: #4c2c92;
}
.app-step-nav__link:hover {
  color: #003078;
}
.app-step-nav__link:active {
  color: #0b0c0c;
}
.app-step-nav__link:focus {
  color: #0b0c0c;
}

.app-step-nav__link-active-context {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  border: 0 !important;
  white-space: nowrap !important;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.app-step-nav__link-active-context::before {
  content: " ";
}
.app-step-nav__link-active-context::after {
  content: " ";
}

.app-step-nav__list-item--active {
  position: relative;
}
.app-step-nav__list-item--active:before {
  box-sizing: border-box;
  content: "";
  position: absolute;
  z-index: 5;
  top: 0.6em;
  left: -45px;
  margin-top: -1px;
  margin-left: 13px;
  width: 13px;
  height: 2px;
  background: #0b0c0c;
}
@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__list-item--active:before {
    left: -60px;
    margin-left: 17.5px;
    height: 3px;
  }
}
.app-step-nav__list-item--active .app-step-nav__link:link, .app-step-nav__list-item--active .app-step-nav__link:visited {
  color: #0b0c0c;
}
@media print {
  .app-step-nav__list-item--active .app-step-nav__link:link, .app-step-nav__list-item--active .app-step-nav__link:visited {
    color: #000000;
  }
}
.app-step-nav__list-item--active .app-step-nav__link:hover {
  color: rgba(11, 12, 12, 0.99);
}
.app-step-nav__list-item--active .app-step-nav__link:active, .app-step-nav__list-item--active .app-step-nav__link:focus {
  color: #0b0c0c;
}
@media print {
  .app-step-nav__list-item--active .app-step-nav__link:active, .app-step-nav__list-item--active .app-step-nav__link:focus {
    color: #000000;
  }
}

.app-step-nav__context {
  display: inline-block;
  font-weight: normal;
  color: #505a5f;
}
.app-step-nav__context:before {
  content: " – ";
}

.app-step-nav-related {
  color: #0b0c0c;
}
@media print {
  .app-step-nav-related {
    color: #000000;
  }
}
.app-step-nav-related {
  border-top: 2px solid #1d70b8;
  margin-bottom: 30px;
}

.app-step-nav-related__heading {
  margin-top: 15px;
  margin-bottom: 10px;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav-related__heading {
    font-family: sans-serif;
  }
}
.app-step-nav-related__heading {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .app-step-nav-related__heading {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .app-step-nav-related__heading {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.app-step-nav-related__links {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav-related__links {
    font-family: sans-serif;
  }
}
.app-step-nav-related__links {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.1428571429;
}
@media (min-width: 40.0625em) {
  .app-step-nav-related__links {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .app-step-nav-related__links {
    font-size: 14pt;
    line-height: 1.2;
  }
}
.app-step-nav-related__links {
  margin: 0;
  padding: 0;
}

.app-step-nav-related--singular {
  margin-bottom: 13px;
}
.app-step-nav-related--singular .app-step-nav-related__heading {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-family: sans-serif;
  }
}
.app-step-nav-related--singular .app-step-nav-related__heading {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4;
}
@media (min-width: 40.0625em) {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-size: 1.1875rem;
    line-height: 1.4;
  }
}
@media print {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-size: 14pt;
    line-height: 1.4;
  }
}
.app-step-nav-related--singular .app-step-nav-related__heading {
  margin-top: 20px;
}
@media (max-width: 40.0525em) {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-size: 19px;
  }
}
.app-step-nav-related--singular .app-step-nav-related__pretitle {
  margin-bottom: 7.5px;
}

.app-step-nav-related__pretitle {
  display: block;
  margin-bottom: 15px;
}
@media (min-width: 40.0625em) {
  .app-step-nav-related__pretitle {
    margin-bottom: 5px;
  }
}

.app-step-nav-related__links {
  list-style: none;
}

.app-step-nav-related__link-item {
  margin-top: 15px;
}
@media (min-width: 40.0625em) {
  .app-step-nav-related__link-item {
    margin-top: 5px;
  }
}

.app-task-list {
  list-style-type: none;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0;
}
@media (min-width: 40.0625em) {
  .app-task-list {
    min-width: 550px;
  }
}

.app-task-list__section {
  display: table;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-task-list__section {
    font-family: sans-serif;
  }
}
.app-task-list__section {
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
}
@media (min-width: 40.0625em) {
  .app-task-list__section {
    font-size: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .app-task-list__section {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.app-task-list__section-number {
  display: table-cell;
}
@media (min-width: 40.0625em) {
  .app-task-list__section-number {
    min-width: 30px;
    padding-right: 0;
  }
}

.app-task-list__items {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media print {
  .app-task-list__items {
    font-family: sans-serif;
  }
}
.app-task-list__items {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
}
@media (min-width: 40.0625em) {
  .app-task-list__items {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .app-task-list__items {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.app-task-list__items {
  margin-bottom: 40px;
}
@media (min-width: 40.0625em) {
  .app-task-list__items {
    margin-bottom: 60px;
  }
}
.app-task-list__items {
  list-style: none;
  padding-left: 0;
}
@media (min-width: 40.0625em) {
  .app-task-list__items {
    padding-left: 30px;
  }
}

.app-task-list__item {
  border-bottom: 1px solid #b1b4b6;
  margin-bottom: 0 !important;
  padding-top: 10px;
  padding-bottom: 10px;
}
.app-task-list__item::after {
  content: "";
  display: block;
  clear: both;
}

.app-task-list__item:first-child {
  border-top: 1px solid #b1b4b6;
}

.app-task-list__task-name {
  display: block;
}
@media (min-width: 28.125em) {
  .app-task-list__task-name {
    float: left;
  }
}

.app-task-list__tag,
.app-task-list__task-completed {
  margin-top: 10px;
  margin-bottom: 5px;
}
@media (min-width: 28.125em) {
  .app-task-list__tag,
  .app-task-list__task-completed {
    float: right;
    margin-top: 0;
    margin-bottom: 0;
  }
}

.app-related-items {
  border-top: 2px solid #1d70b8;
  padding-top: 10px;
}

.app-related-items .govuk-list > li {
  margin-bottom: 10px;
}

/*!
Chosen, a Select Box Enhancer for jQuery and Prototype
by Patrick Filler for Harvest, http://getharvest.com

Version 1.6.2
Full source at https://github.com/harvesthq/chosen
Copyright (c) 2011-2016 Harvest http://getharvest.com

MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md
----

This particular file is a customisation of the original for the DCLG Delta
Project. It is here modified to render out GOVUK style

*/
/* @group Base */
.chosen-container-single.chosen-container-single-nosearch .chosen-search {
  position: absolute;
  left: -9999px;
}

.chosen-container {
  position: relative;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  bottom: 5px;
}
.chosen-container a {
  cursor: pointer;
}
.chosen-container .chosen-drop {
  position: absolute;
  top: 100%;
  left: -9999px;
  z-index: 1010;
  width: 100%;
  border: 1px solid #aaa;
  border-top: 0;
  background: #fff;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
}
.chosen-container.chosen-with-drop .chosen-drop {
  left: 0;
}

/* @end */
/* @group Results */
.chosen-container .chosen-results {
  color: #444;
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  margin: 0 4px 4px 0;
  padding: 0;
  max-height: 240px;
  -webkit-overflow-scrolling: touch;
}
.chosen-container .chosen-results li {
  display: none;
  margin: 0;
  padding: 5px 6px;
  list-style: none;
  line-height: 15px;
  word-wrap: break-word;
  -webkit-touch-callout: none;
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}
.chosen-container .chosen-results li.active-result {
  display: list-item;
  cursor: pointer;
}
.chosen-container .chosen-results li.disabled-result {
  display: list-item;
  color: #ccc;
  cursor: default;
}
.chosen-container .chosen-results li.highlighted {
  background-color: #3875d7;
  color: #fff;
}
.chosen-container .chosen-results li.no-results {
  color: #777;
  display: list-item;
  background: #f4f4f4;
}
.chosen-container .chosen-results li.create-option span {
  color: orange;
}

/* @end */
/* @group Multi Chosen */
.chosen-container-multi .chosen-choices {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0 5px;
  width: 100%;
  height: auto;
  border: 2px solid;
  color: inherit;
  background-color: #fff;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff));
  background-image: -webkit-linear-gradient(#eeeeee 1%, #ffffff 15%);
  background-image: -moz-linear-gradient(#eeeeee 1%, #ffffff 15%);
  background-image: -o-linear-gradient(#eeeeee 1%, #ffffff 15%);
  background-image: linear-gradient(#eeeeee 1%, #ffffff 15%);
  cursor: text;
  font-family: "GDS Transport", arial, sans-serif;
  font-size: 19px;
}
.chosen-container-multi .chosen-choices li {
  float: left;
  list-style: none;
}
.chosen-container-multi .chosen-choices li.search-field {
  margin: 0;
  padding: 0;
  white-space: nowrap;
}
.chosen-container-multi .chosen-choices li.search-field input[type=text] {
  padding: 5px 4px 0px;
  margin: 5px 5px 5px 0px;
  outline: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none;
  line-height: normal;
  border-radius: 0;
  font-size: 19px;
}
.chosen-container-multi .chosen-choices li.search-choice {
  position: relative;
  margin: 5px 5px 5px 0;
  padding: 5px 25px 5px 5px;
  max-width: 100%;
  border-radius: 0;
  background-color: #003078;
  color: #fff;
  line-height: 20px;
  cursor: default;
}
.chosen-container-multi .chosen-choices li.search-choice span {
  word-wrap: break-word;
}
.chosen-container-multi .chosen-choices li.search-choice:hover {
  background-color: #005ea5;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close {
  position: absolute;
  top: 2px;
  right: 3px;
  display: block;
  width: 20px;
  height: 20px;
  background: url("/public/images/close-inverse.png") no-repeat 4px 4px;
  font-size: 1px;
}
.chosen-container-multi .chosen-choices li.search-choice .search-choice-close:hover {
  background-color: #df3034;
}
.chosen-container-multi .chosen-choices li.search-choice-disabled {
  padding-right: 5px;
  border: 1px solid #ccc;
  background-color: #e4e4e4;
  background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eeeeee));
  background-image: -webkit-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: -moz-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: -o-linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  background-image: linear-gradient(#f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eeeeee 100%);
  color: #666;
}
.chosen-container-multi .chosen-choices li.search-choice-focus {
  background: #d4d4d4;
}
.chosen-container-multi .chosen-choices li.search-choice-focus .search-choice-close {
  background-position: -42px -10px;
}
.chosen-container-multi .chosen-results {
  margin: 0;
  padding: 0;
}
.chosen-container-multi .chosen-drop .result-selected {
  display: list-item;
  cursor: default;
}

.chosen-container-single .chosen-single {
  border: 2px solid #0b0c0c;
  display: block;
  padding: 8px;
  line-height: 19px;
  padding-right: 20px;
  font-family: "GDS Transport", arial, sans-serif;
  font-weight: 400;
  font-size: 19px;
  text-decoration: none;
  background: #ffffff;
}
.chosen-container-single .chosen-single div {
  float: right;
}
.chosen-container-single .chosen-single div:before {
  margin-right: -15px;
  font-size: 16px;
}
.chosen-container-single .chosen-search > input {
  padding: 4px;
  margin: 7.5px 2.5%;
  width: 95%;
  box-sizing: border-box;
  font-size: 19px;
}
.chosen-container-single .chosen-search > input:focus {
  outline: 3px solid #fd0;
}
.chosen-container-single .chosen-results {
  margin: 0;
}
.chosen-container-single .chosen-results li {
  color: #0b0c0c;
  padding: 30px/4;
}

.chosen-container-active .chosen-single {
  outline: 3px solid #fd0;
}

.chosen-container-multi.chosen-container-active .chosen-choices {
  outline: 3px solid #fd0;
}

.action-list .chosen-container-single {
  float: left;
  width: 250px !important;
  margin-right: 30px/4;
}

.facets .form-panel .chosen-container {
  width: 95% !important;
  font-size: 16px;
}
.facets .form-panel .chosen-choices {
  width: 100%;
}
.facets .form-panel .search-field input {
  color: #6f777b;
}

.form .govuk-form-group .chosen-container-single {
  width: 67% !important;
}

.form .govuk-form-group .chosen-container-multi {
  width: 65.5% !important;
}

.right-content-pane .govuk-form-group .chosen-container-single {
  width: 67% !important;
}

.right-content-pane .govuk-form-group .chosen-container-multi {
  width: 65% !important;
}

.left-root-pane .left-root-pane-filter .chosen-container {
  width: 90% !important;
  font-size: 14px;
}

.facets .form-panel .chosen-container-single {
  width: 100% !important;
}
.facets .form-panel .chosen-container-single .chosen-single span {
  word-break: break-word;
}

label.block-label.selection-button-checkbox {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  position: relative;
  min-height: 40px;
  margin-bottom: 10px;
  padding-left: 30px;
  clear: left;
}

.selection-checkbox__input {
  opacity: 0;
}

span.govuk-label.selection-checkbox__label {
  display: inline-block;
  margin-bottom: 0;
  padding: 10px 0 5px;
  cursor: pointer;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

span.selection-checkbox__label:before {
  content: "";
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 0px;
  left: 0;
  width: 40px;
  height: 40px;
  border: 2px solid currentColor;
  background: transparent;
}

.selection-checkbox__label:after {
  content: "";
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  top: 11px;
  left: 9px;
  width: 23px;
  height: 12px;
  transform: rotate(-45deg);
  border: solid;
  border-width: 0 0 5px 5px;
  border-top-color: transparent;
  opacity: 0;
  background: transparent;
}

.selection-checkbox__input:checked ~ .selection-checkbox__label:after {
  opacity: 1 !important;
}

.hidden-label-accessible, .ui-datepicker .ui-datepicker-next .ui-icon-circle-triangle-e, .ui-datepicker .ui-datepicker-prev .ui-icon-circle-triangle-w {
  text-indent: -99999px;
  overflow: hidden;
}

.ui-icon {
  display: block;
  height: 19px;
  width: 19px;
}

.ui-datepicker {
  background: #fff;
  border: 2px #bfc1c3 solid;
  font-size: 14px;
}
.ui-datepicker td, .ui-datepicker th {
  font-size: 14px;
  text-align: center;
  padding: 7.5px;
  border-right: 1px solid #bfc1c3;
  font-family: "GDS Transport", arial, sans-serif;
}
.ui-datepicker td:last-child, .ui-datepicker th:last-child {
  border-right: none;
}
.ui-datepicker .ui-datepicker-header {
  padding: 7.5px 15px;
  border-bottom: 2px solid #bfc1c3;
  position: relative;
  font-family: "GDS Transport", arial, sans-serif;
}
.ui-datepicker .ui-datepicker-prev {
  float: left;
  cursor: pointer;
}
.ui-datepicker .ui-datepicker-prev .ui-icon-circle-triangle-w {
  background: url("/public/images/icon-arrow-left.png") no-repeat center;
}
.ui-datepicker .ui-datepicker-next {
  float: right;
  cursor: pointer;
}
.ui-datepicker .ui-datepicker-next .ui-icon-circle-triangle-e {
  background: url("/public/images/icon-arrow-right.png") no-repeat center;
}
.ui-datepicker .ui-datepicker-title {
  text-align: center;
  font-weight: bold;
}
.ui-datepicker .ui-datepicker-unselectable {
  background: #dee0e2;
}
.ui-datepicker .ui-datepicker-days-cell-over {
  background-color: #005ea5;
}
.ui-datepicker .ui-datepicker-days-cell-over a {
  color: #fff;
}

.ui-datepicker-trigger .fa-calendar:before {
  content: "\f073";
}
.ui-datepicker-trigger:before {
  font-size: 16px;
  padding-left: 7.5px;
  cursor: pointer;
}

button.ui-datepicker-trigger {
  background: none;
  border: none;
  font-size: 0;
}

scss .ui-datepicker-trigger:before {
  font-size: 16px;
  padding-left: 7.5px;
  cursor: pointer;
  content: "\f073";
}

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

.main-pane {
  display: flex;
}

.left-root-pane {
  width: 22%;
  border-right: 1px solid #bfc1c3;
  float: left;
  flex: 0.9;
}

.right-content-pane {
  width: 70%;
  padding-left: 30px;
  float: left;
}

.right-content-pane .button-group .button-secondary {
  margin-right: 1em;
  width: auto;
}

.right-content-pane .form-control {
  width: 75%;
}

.right-content-pane .form-panel {
  width: 66.5%;
}

.right-content-pane .form-control-inline {
  width: 30%;
}

.right-content-pane .form-label-inline {
  width: 45%;
}

.right-content-pane element.style,
.right-content-pane .data-grid {
  min-height: auto;
}

.left-root-pane ul a {
  position: relative;
  display: block;
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 16px;
  line-height: 1.25;
  text-decoration: none;
  padding: 12px 25px 8px 0;
}

@media (min-width: 641px) {
  .left-root-pane ul a {
    padding: 12px 30px 8px 15px;
    font-family: "nta", Arial, sans-serif;
    font-weight: 400;
    text-transform: none;
    font-size: 14px;
    line-height: 1.1428571429;
  }
}
@media (min-width: 641px) and (min-width: 641px) {
  .left-root-pane ul a {
    font-size: 16px;
    line-height: 1.25;
  }
}
.left-root-pane ul a:hover,
.left-root-pane ul a:focus {
  background: #dee0e2;
  color: #005ea5;
}

.left-root-pane ul a:after {
  position: absolute;
  top: 50%;
  margin-top: -8px;
  right: 10px;
  content: "›";
}

.left-root-pane ul .active a {
  background: #005ea5;
  color: #fff;
}

.left-root-pane .left-root-pane-filter {
  margin-top: 25px;
}

.right-content-pane .grid-1-2 .chosen-container {
  width: 75% !important;
}

.left-root-pane ul {
  list-style-type: none;
  padding-left: 0px;
}

#grantSection tfoot td button.js-table-btn {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}
@media (max-width: 640px) {
  #grantSection tfoot td button.js-table-btn {
    font-size: 13px !important;
  }
}

#ledgerTable td button.edit-btn, #ledgerTable td button.remove-btn {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}
#ledgerTable td button.edit-btn[disabled], #ledgerTable td button.remove-btn[disabled] {
  color: rgba(16, 16, 16, 0.3);
  cursor: auto;
}

#thresholds td button.js-table-btn {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}
#thresholds td button.threshold-remove {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

.chevron-card {
  border-top: 1px solid rgb(177, 180, 182);
  margin: 0px 15px;
  padding: 5px 0px 20px;
}

.chevron-card__wrapper {
  position: relative;
  padding: 10px 30px 10px 0px;
}

.chevron-card__description {
  margin: 0px -30px 0px 0px;
}

.homepage-services-and-info__list {
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  list-style: none;
  margin: 0px -15px;
  padding: 0px;
}

.homepage-section__heading--border-none {
  border-width: initial;
  border-style: none;
  border-color: initial;
  border-image: initial;
  padding: 0px;
}

.homepage-section__heading {
  border-top-style: solid;
  border-top-width: 2px;
  border-top-color: #0b0c0c;
  margin: 0 0 30px;
  padding: 15px 0 0;
}

.chevron-card__link:before {
  border-right: 3px solid #1d70b8;
  border-top: 3px solid #1d70b8;
  content: "";
  display: block;
  height: 7px;
  position: absolute;
  right: 5px;
  top: 15px;
  -webkit-transform: translateY(0) rotate(45deg) scale(1);
  -ms-transform: translateY(0) rotate(45deg) scale(1);
  transform: translateY(0) rotate(45deg) scale(1);
  width: 7px;
}

.chevron-card__link:after {
  bottom: 0;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.homepage-services-and-info__list {
  display: flex;
  flex-wrap: wrap;
  box-sizing: border-box;
}

.homepage-services-and-info__list .chevron-card {
  width: calc(50% - 30px);
  flex-basis: calc(50% - 30px);
}

.jsgrid-pager-container {
  padding-top: 40px;
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}

.pager-items {
  display: none;
}

@media (min-width: 641px) {
  .pager-items {
    display: inline;
  }
  .pager-items li {
    display: inline;
    margin: 0 8px;
  }
  .pager-items li:first-child {
    margin-left: 0;
  }
  .pager-items li:last-child {
    margin-right: 0;
  }
}
.pager-next,
.pager-prev {
  margin-right: 10px;
}

@media (min-width: 641px) {
  .pager-next,
  .pager-prev {
    margin-right: 0;
  }
}
@media (min-width: 641px) {
  .pager-prev {
    margin-right: 10px;
  }
}
@media (min-width: 641px) {
  .pager-next {
    margin-left: 10px;
  }
}
@media (min-width: 641px) {
  .pager-controls {
    float: right;
  }
}
.govuk-breadcrumbs {
  display: inline-flex;
}

.dataset-instances__name-breadcrumb {
  max-width: 14em;
  text-wrap: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.govuk-header .govuk-header__logo {
  width: auto;
}
.govuk-header .govuk-header__logo .govuk-header__product-name {
  padding-right: 0;
}

.govuk-header__link--homepage {
  margin-right: 0;
}

.govuk-header .govuk-header__logotype {
  margin-right: 0;
}

.govuk-header__content {
  width: 73%;
}

.govuk-header__navigation--end.govuk-header__navigation-item {
  float: right;
  margin-right: 0;
}

.govuk-template__body .govuk-main-wrapper {
  padding-top: 0;
}

.delta-header__link--main-nav {
  margin-right: 15px;
}

.delta-page-title {
  margin-top: 20px;
  margin-bottom: 1em;
}

.delta-text-secondary {
  color: #6f777b;
  font-weight: normal;
}

.govuk-header .header-my-account {
  font-weight: inherit;
  text-decoration-line: underline;
}

.js-sliding-panel-wrapper {
  overflow: hidden;
  position: relative;
}
.js-sliding-panel-wrapper.js-sliding-panel-wrapper-expanded {
  overflow: visible;
}
.js-sliding-panel-wrapper.js-sliding-panel-wrapper-expanded .jsgrid-table th,
.js-sliding-panel-wrapper.js-sliding-panel-wrapper-expanded .jsgrid-table td {
  transition: all 0.3s ease-out;
}
.js-sliding-panel-sibling {
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
  position: relative;
}
.js-sliding-panel-content {
  width: 100%;
}
.js-sliding-panel-header {
  background-color: #005ea5;
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  padding: 0.526315em 0.789473em 0.263157em;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -webkit-box-shadow: 0 2px 0 #003259;
  -moz-box-shadow: 0 2px 0 #003259;
  box-shadow: 0 2px 0 #003259;
  font-size: 19px;
  line-height: 1.25;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  color: #fff;
  display: block;
}
.js-sliding-panel-header a {
  color: #fff;
  text-decoration: none;
}

.js-sliding-panel-header {
  font-family: "GDS Transport", arial, sans-serif;
}

.left-root-pane-filter .js-sliding-panel-header {
  background-color: #005ea5;
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  padding: 0.526315em 0.789473em 0.263157em;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -webkit-box-shadow: 0 2px 0 #003259;
  -moz-box-shadow: 0 2px 0 #003259;
  box-shadow: 0 2px 0 #003259;
  font-size: 1em;
  line-height: 1.25;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  color: #fff;
  display: block;
  font-family: "GDS Transport", arial, sans-serif;
}

.deadline-submission .form-control {
  width: 80%;
}

.filter .filter-title,
.filter .filter-title a {
  background: #dee0e2;
  color: #0b0c0c;
  margin: 0;
  text-decoration: none;
  box-shadow: none;
}
.filter .filter-title {
  padding: 7.5px;
}
.filter .block-label {
  padding-left: 30px;
  margin-bottom: 0;
  float: none;
}
.filter .block-label input {
  height: 19px;
  width: 19px;
  top: 4px;
  margin-left: -2px;
}
.filter .block-label .filter-right {
  float: right;
}
.filter .content {
  padding: 15px;
  width: auto;
}
.filter .block-list li {
  background: #f8f8f8;
  margin: 7.5px;
  padding: 7.5px;
  padding-right: 25px;
  position: relative;
  word-wrap: break-word;
}
.filter .block-list li:first-child {
  margin-top: 0;
}
.filter .block-list .remove {
  float: right;
}
.filter .action-list {
  padding: 7.5px;
  margin: 0;
}
.filter input.form-control {
  font-size: 14px;
  padding: 4px 3px 3px;
  display: inline-block;
}
.filter .form-date .block-label {
  padding-left: 0;
}

.js-enabled .filter .block-label.selection-button-checkbox:before {
  height: 16px;
  width: 16px;
  top: 6px;
}
.js-enabled .filter .block-label.selection-button-checkbox:after {
  border-width: 0 0 4px 4px;
  width: 8px;
  height: 4px;
  top: 11px;
  left: 4px;
}
.js-enabled .filter .block-label.selection-button-radio:before {
  height: 16px;
  width: 16px;
  top: 6px;
}
.js-enabled .filter .block-label.selection-button-radio:after {
  border: 6px solid;
  top: 10px;
  left: 4px;
}

.action-list {
  margin-bottom: 15px;
}
.action-list::after {
  content: "";
  display: table;
  clear: both;
}
.action-list li {
  display: inline-block;
}
.action-list .action-right {
  float: right;
}
.action-list .action-right li {
  display: block;
  margin-bottom: 10px;
}
.action-list .action-link-button {
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  padding: 0.526315em 0.789473em 0.263157em;
  -webkit-appearance: none;
  font-size: 1em;
  line-height: 1.25;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
}
.action-list.action-list-header {
  margin-bottom: 30px;
}
.action-list .block-label {
  margin-left: 0;
  padding-left: 0;
}
.action-list .form-control {
  width: 25%;
}

.block-list .action-right {
  position: absolute;
  right: 7.5px;
  top: 50%;
  transform: translateY(-50%);
}
.block-list .remove-selected-facet:before {
  background: url(/public/images/close.png) no-repeat 4px 4px;
  content: " ";
  height: 10px;
  width: 10px;
  display: block;
  padding: 4px;
}

.form-panel {
  border: 2px solid #bfc1c3;
  margin-bottom: 15px;
  font-family: "nta", Arial, sans-serif;
  font-size: 16px;
}
.form-panel .js-expander-handle {
  background-image: url("/public/images/accordion-arrow-xsmall.png");
  background-repeat: no-repeat;
  background-position: 1px 4px;
  padding-left: 32px;
}
.form-panel[data-facet-hidden=true] {
  display: none;
}
.form-panel.js-expander-initial-collapse .js-expander-target {
  display: none;
}
.form-panel.js-expander-expanded .js-expander-handle {
  background-position: 1px -28px;
}

#form-builder-fullscreen:active {
  background: none;
}

.form-group.file-upload-container, .file-upload-container.form-group-sub,
.form-group .file-upload-container,
.form-group-sub .file-upload-container {
  position: relative;
}
.form-group.file-upload-container .placeholder, .file-upload-container.form-group-sub .placeholder,
.form-group .file-upload-container .placeholder,
.form-group-sub .file-upload-container .placeholder {
  width: 36%;
}
.form-group.file-upload-container span[role=button], .file-upload-container.form-group-sub span[role=button],
.form-group .file-upload-container span[role=button],
.form-group-sub .file-upload-container span[role=button] {
  box-shadow: none;
}
.form-group.file-upload-container input[type=file], .file-upload-container.form-group-sub input[type=file],
.form-group .file-upload-container input[type=file],
.form-group-sub .file-upload-container input[type=file] {
  display: none;
}
.form-group.file-upload-container .upload-list, .file-upload-container.form-group-sub .upload-list,
.form-group .file-upload-container .upload-list,
.form-group-sub .file-upload-container .upload-list {
  margin-top: 15px;
  width: 480px;
}
.form-group.file-upload-container .upload-list .upload-list-item, .file-upload-container.form-group-sub .upload-list .upload-list-item,
.form-group .file-upload-container .upload-list .upload-list-item,
.form-group-sub .file-upload-container .upload-list .upload-list-item {
  position: relative;
  margin: 7.5px 0;
  padding: 7.5px;
  background-color: #dee0e2;
}
.form-group.file-upload-container .upload-list .upload-list-item a.remove-upload, .file-upload-container.form-group-sub .upload-list .upload-list-item a.remove-upload,
.form-group .file-upload-container .upload-list .upload-list-item a.remove-upload,
.form-group-sub .file-upload-container .upload-list .upload-list-item a.remove-upload {
  position: absolute;
  top: 0;
  right: 7.5px;
  transform: translateY(50%);
}
.form-group.file-upload-container .upload-list .upload-list-item a.remove-upload::before, .file-upload-container.form-group-sub .upload-list .upload-list-item a.remove-upload::before,
.form-group .file-upload-container .upload-list .upload-list-item a.remove-upload::before,
.form-group-sub .file-upload-container .upload-list .upload-list-item a.remove-upload::before {
  content: " ";
  background: url(/public/images/close.png) no-repeat 4px 4px;
  height: 10px;
  width: 10px;
  display: block;
  padding: 4px;
}

.form-label.form-label-inline {
  width: 25%;
  display: inline-block;
}

.form-control.form-control-inline {
  display: inline-block;
  width: 25%;
}
@media (min-width: 641px) {
  .form-control.form-control-full {
    width: 89%;
    margin-bottom: 30px;
  }
}

.form-group input.disabled, .form-group-sub input.disabled,
.form-group input[disabled],
.form-group-sub input[disabled],
.form-group input[disabled=disabled],
.form-group-sub input[disabled=disabled] {
  background: #dee0e2;
  border-color: #6f777b;
  color: #0b0c0c;
}
.form-group input.disabled::-webkit-input-placeholder, .form-group-sub input.disabled::-webkit-input-placeholder,
.form-group input[disabled]::-webkit-input-placeholder,
.form-group-sub input[disabled]::-webkit-input-placeholder,
.form-group input[disabled=disabled]::-webkit-input-placeholder,
.form-group-sub input[disabled=disabled]::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: #0b0c0c;
}
.form-group input.disabled::-moz-placeholder, .form-group-sub input.disabled::-moz-placeholder,
.form-group input[disabled]::-moz-placeholder,
.form-group-sub input[disabled]::-moz-placeholder,
.form-group input[disabled=disabled]::-moz-placeholder,
.form-group-sub input[disabled=disabled]::-moz-placeholder { /* Firefox 19+ */
  color: #0b0c0c;
}
.form-group input.disabled:-ms-input-placeholder, .form-group-sub input.disabled:-ms-input-placeholder,
.form-group input[disabled]:-ms-input-placeholder,
.form-group-sub input[disabled]:-ms-input-placeholder,
.form-group input[disabled=disabled]:-ms-input-placeholder,
.form-group-sub input[disabled=disabled]:-ms-input-placeholder { /* IE 10+ */
  color: #0b0c0c;
}
.form-group input.disabled:-moz-placeholder, .form-group-sub input.disabled:-moz-placeholder,
.form-group input[disabled]:-moz-placeholder,
.form-group-sub input[disabled]:-moz-placeholder,
.form-group input[disabled=disabled]:-moz-placeholder,
.form-group-sub input[disabled=disabled]:-moz-placeholder { /* Firefox 18- */
  color: #0b0c0c;
}
.form-group.error input.disabled, .error.form-group-sub input.disabled,
.form-group.error input[disabled],
.error.form-group-sub input[disabled],
.form-group.error input[disabled=disabled],
.error.form-group-sub input[disabled=disabled] {
  border-color: #b10e1e;
}

@media (min-width: 641px) {
  .form-section .form-group > p, .form-section .form-group-sub > p, .form-section .form-group > article, .form-section .form-group-sub > article {
    width: 50%;
  }
}
.form-section .form-group article, .form-section .form-group-sub article {
  margin-top: 15px;
  border-bottom: 1px solid #6f777b;
}

.form-group-sub {
  margin-top: 30px;
}

input.error {
  margin-right: 0;
}

.loading-icon {
  text-align: center;
}

.CodeMirror {
  margin-top: 30px;
  min-height: 600px;
  font-size: 14px;
}

table .form-control {
  width: 90%;
}

.js-table #grant_section_uuid, .js-table [headers=grant_section_uuid] {
  display: none;
}
.js-table #js-table-input .form-group .js-new-grant-add, .js-table #js-table-input .form-group-sub .js-new-grant-add, .js-table #js-table-input .form-group .js-new-grant-update, .js-table #js-table-input .form-group-sub .js-new-grant-update, .js-table #js-table-input .form-group .js-cancel, .js-table #js-table-input .form-group-sub .js-cancel {
  margin-top: 25px;
}
.js-table #js-table-input .grid-1-2 {
  padding: 0;
}

.file-upload-container .form-label {
  font-weight: bold;
}

input[type=time] {
  border: 2px solid #0b0c0c;
  padding: 5px;
  font-family: "GDS Transport", arial, sans-serif;
  font-size: 19px;
}

input[type=time].govuk-input--error {
  border: 2px solid #d4351c;
}

.time-span {
  font-family: "GDS Transport", arial, sans-serif;
  font-size: 19px;
}

.govuk-button-group .help {
  box-sizing: border-box;
  cursor: pointer;
  width: 40px;
  height: 40px;
  border-radius: 25px;
  display: inline-block;
  background-color: #005ea5;
  font-size: 19px;
  margin-top: 5px;
  color: white;
  padding-left: 15px;
  padding-top: 5px;
}

.govuk-form-group .govuk-label.form-label-inline {
  width: 25%;
  display: inline-block;
}

.govuk-form-group .govuk-label.form-label-inline-fluid {
  width: auto;
}

.govuk-form-group .form-control-inline {
  display: inline-block;
  width: 41%;
}

#submission_deadline td button.js-remove {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}
#submission_deadline td .js-add {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

#sap_vendor_codes_table td button.js-remove {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

#sap_vendor_codes_table td button.js-add {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

#grant_payment_methods_table td button.js-addPaymentMethod {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

#grant_payment_methods_table td button.js-removePaymentMethod {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

.output-warning {
  color: #f47738;
}

.output-error {
  color: #b10e1e;
}

#grantSectionDetail td button.js-table-btn {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

/* Hide unused/incorrect controls from the "publish" dialogue box in the form builder.
   You must update the ids whenever updating the Orbeon version */
#embedded-form-builder .orbeon-portlet-div .orbeon-portlet-body .xforms-form .yui-panel-container .xxforms-dialog-body .xforms-case-selected #o0xf-986, #embedded-form-builder .orbeon-portlet-div .orbeon-portlet-body .xforms-form .yui-panel-container .xxforms-dialog-body .xforms-case-selected #o0xf-990 {
  display: none !important;
}

.select2-container .select2-dropdown {
  z-index: 9999999;
}

a[disabled] {
  pointer-events: none;
}

.delta-dl dt {
  font-weight: 800 !important;
}
.delta-dl dd {
  margin-left: 0;
  margin-bottom: 15px;
}

#form-search-grid > table > tbody > * > td.jsgrid-cell.table-link > span > a {
  font-weight: bold;
}

#form-summary-grid {
  display: flex;
}

.govuk-button-group.delta-form-button-group {
  align-items: start;
}

.searchform,
aside.searchform {
  border: none;
  margin: 0 0 0 0;
  padding: 0;
  display: block;
  width: 100%;
}
@media (max-width: 640px) {
  .searchform,
  aside.searchform {
    padding-left: 15px;
  }
}
.searchform.form-1-2,
aside.searchform.form-1-2 {
  width: 50%;
}
.searchform.form-1-3,
aside.searchform.form-1-3 {
  width: 33.33%;
}
.searchform.form-2-3,
aside.searchform.form-2-3 {
  width: 66.66%;
}
.searchform.form-1-4,
aside.searchform.form-1-4 {
  width: 25%;
}
.searchform.form-3-4,
aside.searchform.form-3-4 {
  width: 75%;
}
.searchform.form-full,
aside.searchform.form-full {
  width: 100%;
}
.searchform .content,
aside.searchform .content {
  position: relative;
  background: #fff;
}
.js-visible .searchform,
.js-visible aside.searchform {
  display: block;
}
.js-enabled .searchform label,
.js-enabled aside.searchform label {
  float: none;
  position: absolute;
  left: 9px;
  top: 8px;
  z-index: 1;
  width: auto;
  margin-right: 0;
}
.searchform button[type=submit],
aside.searchform button[type=submit] {
  position: absolute;
  right: 2px;
  top: 0;
  width: 48px;
  height: 41px;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border: 0;
  box-shadow: none;
}
.searchform input[type=search].form-control,
aside.searchform input[type=search].form-control {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  color: inherit;
  padding: inherit;
  line-height: 1.25;
  padding: 6px;
  position: relative;
  float: left;
  background-color: transparent;
  border: 2px solid;
  z-index: 3;
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
}
.searchform input[type=search].form-control:focus, .searchform input[type=search].form-control.focus,
aside.searchform input[type=search].form-control:focus,
aside.searchform input[type=search].form-control.focus {
  background: #fff;
}
.js-enabled .searchform input[type=search].form-control,
.js-enabled aside.searchform input[type=search].form-control {
  width: 80%;
  width: -webkit-calc(100% - 49px);
  width: calc(100% - 49px);
}
@media (max-width: 640px) {
  .js-enabled .searchform input[type=search].form-control,
  .js-enabled aside.searchform input[type=search].form-control {
    width: 100%;
    margin-bottom: 10px;
  }
}

.data-grid {
  position: relative;
  min-height: 800px;
  width: auto;
}
.data-grid .govuk-pagination__item--current {
  color: white;
}
.data-grid .govuk-pagination__button {
  font-size: unset;
  color: #1d70b8;
  background-color: unset;
  border-radius: unset;
  border: unset;
}

.pager.jsgrid-pager {
  display: flex;
  justify-content: space-between;
}

.jsgrid-pager-container .previous-next-navigation li.jsgrid-pager-nav-button {
  text-transform: capitalize;
}

.jsgrid-nodata-row {
  position: relative;
}
.jsgrid-nodata-row strong {
  display: inline;
}

.jsgrid-header-sortable button {
  position: relative;
}
.jsgrid-header-sortable button:before {
  content: "  ▼"/"";
  color: #005ea5;
  text-decoration: none;
  font-size: 12px;
  right: -10px;
  bottom: 0;
  position: absolute;
}
.jsgrid-header-sortable button:after {
  content: "  ▲"/"";
  color: #005ea5;
  text-decoration: none;
  font-size: 12px;
  bottom: 10px;
  right: -10px;
  position: absolute;
}

.jsgrid-header-sort-desc button:before {
  font-size: 16px;
  right: -12px;
  bottom: 0;
}
.jsgrid-header-sort-desc button:after {
  display: none;
}

.jsgrid-header-sort-asc button:after {
  font-size: 16px;
  right: -12px;
  bottom: 0;
}
.jsgrid-header-sort-asc button:before {
  display: none;
}

.jsgrid-header-sortable {
  cursor: pointer;
}

.jsgrid-header-sort-asc a .sort-icon:after, .jsgrid-header-sort-desc a .sort-icon:after {
  color: #444;
  text-decoration: none;
  font-size: 12px;
}
.jsgrid-header-sort-asc a .sort-icon:after {
  content: "  ▲";
}
.jsgrid-header-sort-desc a .sort-icon:after {
  content: "  ▼";
}

.js-dropdown-list-wrapper {
  position: relative;
  display: inline-block;
}
.js-dropdown-list-wrapper .fa-caret-down {
  position: absolute;
  top: 0;
  left: 112.5%;
  transform: translateY(25%);
}
.js-dropdown-list-wrapper button {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
}

.js-dropdown-list {
  border: 1px solid #2b8cc4;
  position: absolute;
  background: #fff;
  display: block;
  padding: 15px;
  right: -30px;
  min-width: 150px;
  z-index: 999;
}
.js-dropdown-list.js-dropdown-list-closed {
  display: none;
}
.js-dropdown-list.overflown {
  right: 40px;
  bottom: calc(100% - 25px + 4px);
}
.js-dropdown-list li {
  margin-bottom: 7.5px;
  list-style-type: none;
}
.js-dropdown-list li:last-child {
  margin-bottom: 0;
}
.js-dropdown-list a {
  display: block;
}
.js-dropdown-list input[type=submit] {
  display: block;
  background: transparent;
  border: none;
  padding: 0;
  text-decoration: underline;
  cursor: pointer;
  color: #005ea5;
}

.jsgrid-table {
  table-layout: auto;
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  font-family: "nta", Arial, sans-serif;
  line-height: inherit;
  font-weight: normal;
}
.jsgrid-table tr {
  border-bottom: 1px solid #bfc1c3;
  padding: 0.63158em 1.05263em 0.47368em 0;
}

td.jsgrid-cell,
th.jsgrid-header-cell {
  position: relative;
  font-size: 19px;
  line-height: 1.31579;
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  line-height: 1.25;
  padding: 0.63158em 1.05263em 0.47368em 0;
  text-align: left;
  color: #0b0c0c;
}
td.jsgrid-cell > span,
th.jsgrid-header-cell > span {
  display: block;
  padding-left: 0.5px;
  padding-right: 0.5px;
  width: calc(100% - 1px);
  word-wrap: break-word;
  text-align: left;
}
td.jsgrid-cell > span > button,
th.jsgrid-header-cell > span > button {
  color: #005ea5;
  cursor: pointer;
  border: none;
  background: #fff;
  font-size: 19px;
  font-weight: 600;
  outline: none;
  text-align: left;
}
td.jsgrid-cell > span > button:focus,
th.jsgrid-header-cell > span > button:focus {
  outline: none;
  background-color: #ffdd00; /* http://GOV.UK  yellow */
  text-decoration: underline; /* Black underline for clarity */
  text-decoration-color: #000;
  text-underline-offset: 2px;
}

td.jsgrid-cell.nowrap {
  white-space: nowrap;
}

td.jsgrid-cell.min-width-300 {
  min-width: 300px;
}

.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.fa-search:before {
  content: "\f002";
}

.content .button {
  background-color: #00823b;
  position: relative;
  display: -moz-inline-stack;
  display: inline-block;
  padding: 0.526315em 0.789473em 0.263157em;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -webkit-box-shadow: 0 2px 0 #003618;
  -moz-box-shadow: 0 2px 0 #003618;
  box-shadow: 0 2px 0 #003618;
  font-size: 1em;
  line-height: 1.25;
  text-decoration: none;
  -webkit-font-smoothing: antialiased;
  cursor: pointer;
  color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: top;
}

th.jsgrid-header-cell {
  font-weight: 700;
}

.search-field {
  width: 66% !important;
  margin-top: 15px;
}

.fa-caret-down:before {
  content: "\f0d7";
}

.evidence-search__data-grid {
  overflow-x: auto;
}

.data-grid-delta-2 {
  position: relative;
}
.data-grid-delta-2 .active-filters-summary {
  border: 0;
  border-radius: 1rem;
  background-color: #fff;
  color: #1d70b8;
  font-size: smaller;
  font-weight: 700;
  text-transform: none;
  display: inline-block;
  margin-left: 10px;
}
.data-grid-delta-2 .multiselect-chosen-options {
  margin-bottom: 10px;
}
.data-grid-delta-2 .multiselect-chosen-options .search-choice {
  padding-right: 20px;
  position: relative;
}
.data-grid-delta-2 .multiselect-chosen-options button.search-choice-close {
  border: none;
  display: block;
  all: unset;
}
.data-grid-delta-2 .multiselect-chosen-options button.search-choice-close::before {
  content: "×";
  position: absolute;
  right: 0;
  top: -7px;
  font-size: 35px;
  cursor: pointer;
}
.data-grid-delta-2 .pager-controls {
  float: none;
}
.data-grid-delta-2 .pager-controls .pager-items {
  padding-left: 0;
}
.data-grid-delta-2 .data-grid-scroll-container {
  overflow-x: auto;
}
.data-grid-delta-2 .collection-groups__organisations-list {
  white-space: pre-line;
}
.data-grid-delta-2 .delta-table-filters {
  display: none;
  background-color: #f3f2f1;
}
.data-grid-delta-2 .delta-table-filters .delta-table-filters-header {
  padding: 1rem;
  background-color: #b1b4b6;
}
.data-grid-delta-2 .delta-table-filters .delta2-table-filters-header {
  padding: 1rem;
}
.data-grid-delta-2 .delta-table-filters .delta-filters-header-components {
  display: inline-block;
}
.data-grid-delta-2 .delta-table-filters .delta-results-active-filters {
  padding: 1rem;
  background-color: #E6E6E6;
}
.data-grid-delta-2 .delta-table-filters .facets {
  padding: 1rem;
}
.data-grid-delta-2 .delta-table-filters .searchform .content {
  background: initial;
}
.data-grid-delta-2 .delta-table-filters .searchform {
  padding-left: 0;
}
.data-grid-delta-2 .delta-table-filters .small-button {
  width: auto;
}
.data-grid-delta-2 .delta-table-filters #search-textfield {
  width: calc(100% - 43px);
  background: #ffffff;
}
.data-grid-delta-2 .delta-table-filters .search-textfield-no-button {
  width: 100% !important;
  background: #ffffff;
}
.data-grid-delta-2 .delta-table-filters .js-expander-toggle-all-gds {
  color: #1d70b8;
  position: relative;
  padding-top: 50px;
  padding-bottom: 1px;
  display: block;
  border: none;
}
.data-grid-delta-2 .delta-table-filters .apply-all-filters {
  background: #00703c;
}
.data-grid-delta-2 .delta-table-filters .clear-all-filters {
  background: #ffffff;
}
.data-grid-delta-2 .delta-table-filters .clear-all-filters {
  color: #1d70b8;
  background: unset !important;
  box-shadow: unset !important;
  text-decoration: underline;
}
.data-grid-delta-2 .delta-table-filters .clear-all-filters[disabled] {
  display: none;
}
.data-grid-delta-2 .delta-table-filters .clear-all-filters:hover {
  background-color: unset !important;
  color: #00437d;
  outline: unset !important;
  transition-duration: 0.2s;
  cursor: pointer;
}
.data-grid-delta-2 .delta-table-filters .datagrid_clear-filter-link {
  color: #1d70b8;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  float: right;
  text-decoration: underline;
}
.data-grid-delta-2 .delta-table-filters .datagrid_clear-filter-link:hover {
  background-color: #d9eeff;
  color: #00437d;
  outline: 2px solid #d9eeff;
  transition-duration: 0.2s;
}
.data-grid-delta-2 .delta-table-filters .ds_datepicker__button {
  width: auto;
  background-color: #00703c !important;
}
.data-grid-delta-2 .delta-table-filters .ds_datepicker__input-wrapper {
  gap: 0.5rem !important;
}
.data-grid-delta-2 .delta-table-filters .ds_datepicker__input-wrapper .delta-filters_date-picker-input-container {
  display: flex;
  flex-direction: column;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button {
  border-top: 1px solid #b1b4b6;
  padding-top: 10px;
  padding-bottom: 1px;
  border-bottom: none;
  display: block;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button a {
  text-decoration: none;
  background: none;
  box-shadow: none;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button .multiselect-summary {
  display: inline-block;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button .govuk-accordion__section-toggle {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  margin-top: 10px;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button .govuk-accordion__section-toggle .govuk-accordion-nav__chevron {
  top: -2px;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button:hover {
  text-decoration: none;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button:hover a {
  text-decoration: none;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button:hover .govuk-accordion-nav__chevron {
  color: #0b0c0c;
  background: #0b0c0c;
}
.data-grid-delta-2 .delta-table-filters .govuk-accordion__section-button:hover .govuk-accordion-nav__chevron::after {
  color: #f3f2f1;
}
.data-grid-delta-2 .delta-table-filter-summary {
  background-color: #1d70b8;
  padding: 1rem;
  margin-bottom: 1rem;
  align-items: center;
  color: #fff;
  display: flex;
  justify-content: space-between;
}
.data-grid-delta-2 .delta-table-filter-summary .show-filters {
  cursor: pointer;
  display: inline-block;
  margin: 0;
  background-color: #ffffff;
  box-shadow: 0 2px 0 #144e81;
  color: #1d70b8;
  padding: 8px 10px;
  font-weight: normal;
}
.data-grid-delta-2 .delta-table-filter-summary .show-filters:hover {
  background-color: #e8f1f8;
  color: #1d70b8;
}
.data-grid-delta-2 .delta-table-filter-summary .show-filters i.fa {
  padding-right: 5px;
  color: black;
}
.data-grid-delta-2 .delta-table-filter-summary .show-filters a {
  color: inherit;
  background: none;
  box-shadow: none;
}
.data-grid-delta-2 .delta-table-filter-summary .govuk-form-group {
  margin: 0;
}
.data-grid-delta-2 select.add-to-multiselect {
  width: calc(100% - 65px);
}
.data-grid-delta-2 button.add-to-multiselect {
  margin-bottom: 0;
}
.data-grid-delta-2 .js-expander-handle {
  position: relative;
}
.data-grid-delta-2 .filter.js-expander .govuk-accordion__section-toggle-text--show {
  display: inline;
}
.data-grid-delta-2 .filter.js-expander .govuk-accordion__section-toggle-text--hide {
  display: none;
}
.data-grid-delta-2 .filter.js-expander .govuk-accordion-nav__chevron {
  transform: rotate(180deg);
}
.data-grid-delta-2 .filter.js-expander.js-expander-expanded .govuk-accordion__section-toggle-text--show {
  display: none;
}
.data-grid-delta-2 .filter.js-expander.js-expander-expanded .govuk-accordion__section-toggle-text--hide {
  display: inline;
}
.data-grid-delta-2 .filter.js-expander.js-expander-expanded .govuk-accordion-nav__chevron {
  transform: rotate(0deg);
}
.data-grid-delta-2 .filter.js-expander.js-expander--initial-collapse .js-expander-target {
  display: none;
}
.data-grid-delta-2 .filter-title {
  padding: 0;
  background: 0;
}
.data-grid-delta-2 .filter .content {
  padding: 0;
}
.data-grid-delta-2 .filter {
  padding-bottom: 20px;
}
.data-grid-delta-2 .active-filters {
  padding-top: 20px;
}
.data-grid-delta-2 .govuk-pagination {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
}
@media (min-width: 40.0625em) {
  .data-grid-delta-2 .govuk-pagination {
    margin-bottom: 30px;
  }
}
@media (min-width: 40.0625em) {
  .data-grid-delta-2 .govuk-pagination {
    flex-direction: row;
    align-items: flex-start;
  }
}
.data-grid-delta-2 .govuk-pagination__list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.data-grid-delta-2 .govuk-pagination__item,
.data-grid-delta-2 .govuk-pagination__next,
.data-grid-delta-2 .govuk-pagination__prev {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  position: relative;
  min-width: 45px;
  min-height: 45px;
  padding: 10px 15px;
  float: left;
}
@media print {
  .data-grid-delta-2 .govuk-pagination__item,
  .data-grid-delta-2 .govuk-pagination__next,
  .data-grid-delta-2 .govuk-pagination__prev {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .data-grid-delta-2 .govuk-pagination__item,
  .data-grid-delta-2 .govuk-pagination__next,
  .data-grid-delta-2 .govuk-pagination__prev {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .data-grid-delta-2 .govuk-pagination__item,
  .data-grid-delta-2 .govuk-pagination__next,
  .data-grid-delta-2 .govuk-pagination__prev {
    font-size: 14pt;
    line-height: 1.15;
  }
}
.data-grid-delta-2 .govuk-pagination__item:hover,
.data-grid-delta-2 .govuk-pagination__next:hover,
.data-grid-delta-2 .govuk-pagination__prev:hover {
  background-color: #f3f2f1;
}
.data-grid-delta-2 .govuk-pagination__item {
  display: none;
  text-align: center;
}
@media (min-width: 40.0625em) {
  .data-grid-delta-2 .govuk-pagination__item {
    display: block;
  }
}
.data-grid-delta-2 .govuk-pagination__prev,
.data-grid-delta-2 .govuk-pagination__next {
  font-weight: 700;
}
.data-grid-delta-2 .govuk-pagination__prev .govuk-pagination__link,
.data-grid-delta-2 .govuk-pagination__next .govuk-pagination__link {
  display: flex;
  align-items: center;
}
.data-grid-delta-2 .govuk-pagination__prev {
  padding-left: 0;
}
.data-grid-delta-2 .govuk-pagination__next {
  padding-right: 0;
}
.data-grid-delta-2 .govuk-pagination__item--current,
.data-grid-delta-2 .govuk-pagination__item--ellipses,
.data-grid-delta-2 .govuk-pagination__item:first-child,
.data-grid-delta-2 .govuk-pagination__item:last-child {
  display: block;
}
.data-grid-delta-2 .govuk-pagination__item--current {
  font-weight: 700;
  outline: 1px solid transparent;
  background-color: #1d70b8;
}
.data-grid-delta-2 .govuk-pagination__item--current:hover {
  background-color: #1d70b8;
}
.data-grid-delta-2 .govuk-pagination__item--current .govuk-pagination__link:link, .data-grid-delta-2 .govuk-pagination__item--current .govuk-pagination__link:visited {
  color: #ffffff;
}
.data-grid-delta-2 .govuk-pagination__item--current .govuk-pagination__link:hover, .data-grid-delta-2 .govuk-pagination__item--current .govuk-pagination__link:active {
  color: rgba(255, 255, 255, 0.99);
}
.data-grid-delta-2 .govuk-pagination__item--current .govuk-pagination__link:focus {
  color: #0b0c0c;
}
.data-grid-delta-2 .govuk-pagination__item--ellipses {
  font-weight: 700;
  color: #505a5f;
}
.data-grid-delta-2 .govuk-pagination__item--ellipses:hover {
  background-color: transparent;
}
.data-grid-delta-2 .govuk-pagination__link {
  display: block;
  min-width: 15px;
  margin: 0;
}
@media screen {
  .data-grid-delta-2 .govuk-pagination__link::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
}
.data-grid-delta-2 .govuk-pagination__link:hover .govuk-pagination__link-title--decorated, .data-grid-delta-2 .govuk-pagination__link:active .govuk-pagination__link-title--decorated {
  text-decoration: underline;
  text-decoration-thickness: max(1px, 0.0625rem);
  text-underline-offset: 0.1578em;
}
.data-grid-delta-2 .govuk-pagination__link:hover .govuk-pagination__link-label,
.data-grid-delta-2 .govuk-pagination__link:hover .govuk-pagination__link-title--decorated, .data-grid-delta-2 .govuk-pagination__link:active .govuk-pagination__link-label,
.data-grid-delta-2 .govuk-pagination__link:active .govuk-pagination__link-title--decorated {
  text-decoration-thickness: max(3px, 0.1875rem, 0.12em);
  -webkit-text-decoration-skip-ink: none;
  text-decoration-skip-ink: none;
  -webkit-text-decoration-skip: none;
  text-decoration-skip: none;
}
.data-grid-delta-2 .govuk-pagination__link:focus .govuk-pagination__icon {
  color: #0b0c0c;
}
.data-grid-delta-2 .govuk-pagination__link:focus .govuk-pagination__link-label {
  text-decoration: none;
}
.data-grid-delta-2 .govuk-pagination__link:focus .govuk-pagination__link-title--decorated {
  text-decoration: none;
}
.data-grid-delta-2 .govuk-pagination__link-label {
  font-weight: 400;
  text-decoration: underline;
  text-decoration-thickness: max(1px, 0.0625rem);
  text-underline-offset: 0.1578em;
  display: inline-block;
  padding-left: 30px;
}
.data-grid-delta-2 .govuk-pagination__icon {
  width: 0.9375rem;
  height: 0.8125rem;
  color: #505a5f;
  fill: currentcolor;
  forced-color-adjust: auto;
}
.data-grid-delta-2 .govuk-pagination__icon--prev {
  margin-right: 15px;
}
.data-grid-delta-2 .govuk-pagination__icon--next {
  margin-left: 15px;
}
.data-grid-delta-2 .govuk-pagination--block {
  display: block;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__item {
  padding: 15px;
  float: none;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__next,
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__prev {
  padding-left: 0;
  float: none;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__next {
  padding-right: 15px;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__next .govuk-pagination__icon {
  margin-left: 0;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__prev + .govuk-pagination__next {
  border-top: 1px solid #b1b4b6;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link,
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link-title {
  display: inline;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link-title::after {
  content: "";
  display: block;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link {
  text-align: left;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link:focus .govuk-pagination__link-label {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__link:not(:focus) {
  text-decoration: none;
}
.data-grid-delta-2 .govuk-pagination--block .govuk-pagination__icon {
  margin-right: 10px;
}
.data-grid-delta-2 .govuk-pagination__item {
  margin: 0;
}
.data-grid-delta-2 .govuk-pagination__item--current {
  color: #ffffff;
}
.data-grid-delta-2 .total-records-container {
  padding-top: 80px;
}

.delta-filters_header {
  padding: 1rem;
}

.active-filters-count {
  margin-left: 0.2rem;
}

.active-filters-count-empty {
  display: none !important;
}

.delta-filters_container {
  padding: 1rem;
}
.delta-filters_container .delta-filters-active-tag {
  margin: 0 0.2rem;
}
.delta-filters_container .delta-filters-clear-filter-link {
  color: #1d70b8;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  float: right;
  text-decoration: underline;
}
.delta-filters_container .delta-filters-clear-filter-link:hover {
  background-color: #d9eeff;
  color: #00437d;
  outline: 2px solid #d9eeff;
  transition-duration: 0.2s;
}
.delta-filters_container .delta-filters_chosen-option {
  padding-right: 20px;
  position: relative;
}
.delta-filters_container .delta-filters_chosen-option .delta-filters_remove-option {
  border: none;
  display: block;
  all: unset;
}
.delta-filters_container .delta-filters_chosen-option .delta-filters_remove-option::before {
  content: "×";
  position: absolute;
  right: 0;
  top: -7px;
  font-size: 35px;
  cursor: pointer;
}
.delta-filters_container .multiselect-input-container {
  display: flex;
}

.delta-filters_controls {
  padding: 1rem;
}
.delta-filters_controls #filters-clear-button, .delta-filters_controls #filters-reset-button {
  background: #ffffff;
  color: #1d70b8;
  background: unset !important;
  box-shadow: unset !important;
  text-decoration: underline;
}
.delta-filters_controls #filters-clear-button[disabled] {
  display: none;
}
.delta-filters_controls #filters-clear-button:hover, .delta-filters_controls #filters-reset-button:hover {
  background-color: unset !important;
  color: #00437d;
  outline: unset !important;
  transition-duration: 0.2s;
  cursor: pointer;
}

.delta-filters-select-with-add {
  margin-right: 0.2rem;
}

.delta-filter-container .form-group .chosen-container, .delta-filter-container .form-group-sub .chosen-container {
  width: 95% !important;
  font-size: 16px;
}

.js-active-filters-dropdown-container {
  position: relative;
}
.js-active-filters-dropdown-container > a:first-child {
  margin-right: 10.5px;
}
.js-active-filters-dropdown-container .fa-caret-down {
  position: absolute;
  top: 0;
  right: 0;
  transform: translateY(25%);
}

.js-active-filters-dropdown {
  border: 1px solid #2b8cc4;
  position: absolute;
  background: #fff;
  display: block;
  padding: 15px;
  transform: translateX(-50%);
  min-width: 150px;
  z-index: 999;
}
.js-active-filters-dropdown.js-active-filters-dropdown-closed {
  display: none;
}
.js-active-filters-dropdown li {
  margin-bottom: 7.5px;
}
.js-active-filters-dropdown li:last-child {
  margin-bottom: 0;
}
.js-active-filters-dropdown a {
  display: block;
}
.js-active-filters-dropdown input[type=submit] {
  display: block;
  background: transparent;
  border: none;
  padding: 0;
  text-decoration: underline;
  cursor: pointer;
  color: #005ea5;
}

.facets .govuk-form-group {
  margin-bottom: 0;
}

.facets .js-hidden {
  display: none;
  visibility: hidden;
}

.form-panel.js-expander .js-expander-target {
  border: none;
}

.filter .block-list.active-filters-list {
  padding-left: 0;
}
.filter .block-list.active-filters-list li {
  list-style: none;
}

.facets .sidebar-search-field .govuk-button {
  margin-bottom: 10px;
}

.notice {
  position: relative;
  padding: 15px 0 10px;
}
.notice .icon {
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -17px;
}
.notice .icon.fa {
  margin-left: 13px;
  margin-top: -9px;
}
.notice .icon.fa-2x {
  margin-left: 10px;
  margin-top: -20px;
}
.notice strong {
  display: block;
  padding-left: 65px;
}

.notice .icon.js-close-element {
  left: initial;
  right: 15px;
  display: block;
  width: 15px;
  height: 15px;
  margin-top: -7px;
}
.notice strong {
  padding-right: 45px;
}
.notice .icon-banner-warning {
  margin-left: 11px;
}
.notice .icon-banner-warning:before {
  background: #fff;
  border-radius: 50%;
  content: "i";
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  margin-right: 15px;
  font-weight: bold;
  font-style: normal;
  font-size: 23px;
  margin-top: 3px;
  line-height: 1.3em;
}
.notice.govuk-blue-banner .icon-banner-warning:before {
  color: #005ea5;
}

.form-group .notice strong, .form-group-sub .notice strong {
  color: #005ea5;
  padding-left: 40px;
}
.form-group .notice .icon, .form-group-sub .notice .icon {
  margin-top: -13px;
}
.form-group .notice .icon-banner-warning, .form-group-sub .notice .icon-banner-warning {
  margin-left: 0;
}
.form-group .notice .icon-banner-warning:before, .form-group-sub .notice .icon-banner-warning:before {
  background: #005ea5;
  color: #fff;
  width: 20px;
  height: 20px;
  text-align: center;
  margin-right: 0;
  margin-top: 5px;
}

/* @todo: make SASS; copied as-is from _dclg.scss | blue information banner */
.govuk-blue-banner {
  background-color: #005ea5;
  color: #fff;
}
.govuk-blue-banner a:link, .govuk-blue-banner a:visited {
  color: #fff;
}
.govuk-blue-banner .icon.js-close-element {
  background: url(/public/images/close-inverse.png) no-repeat 2px 2px;
}

.govuk-red-banner {
  background-color: #b10e1e;
  color: #fff;
}
.govuk-red-banner a:link, .govuk-red-banner a:visited {
  color: #fff;
}
.govuk-red-banner .icon.js-close-element {
  background: url(/public/images/close-inverse.png) no-repeat 2px 2px;
}

.govuk-yellow-banner {
  background-color: #fd0;
  color: #0b0c0c;
}
.govuk-yellow-banner a:link, .govuk-yellow-banner a:visited {
  color: #0b0c0c;
}
.govuk-yellow-banner .icon.js-close-element {
  background: url(/public/images/close.png) no-repeat 2px 2px;
}

.govuk-green-banner {
  background-color: #006435;
  color: #fff;
}
.govuk-green-banner a:link, .govuk-green-banner a:visited {
  color: #fff;
}
.govuk-green-banner .icon.js-close-element {
  background: url(/public/images/close-inverse.png) no-repeat 2px 2px;
}

.notice-delete {
  padding: 15px 0 10px;
  background: #b10e1e;
  color: #fff;
}
.notice-delete .icon {
  left: 1.5%;
}

.form-group .info-notice, .form-group-sub .info-notice {
  margin-bottom: 55px;
  position: relative;
}
.form-group .info-notice .govuk-warning-text__icon, .form-group-sub .info-notice .govuk-warning-text__icon {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  position: absolute;
  left: 0;
  min-width: 35px;
  min-height: 35px;
  border: 3px solid #0b0c0c;
  border-radius: 50%;
  color: #fff;
  background: #0b0c0c;
  font-size: 30px;
  line-height: 29px;
  text-align: center;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.form-group .info-notice .govuk-warning-text__text, .form-group-sub .info-notice .govuk-warning-text__text {
  color: #0b0c0c !important;
  font-size: 19px;
  padding-left: 50px;
  position: absolute;
}

#in-review-box {
  font-size: 16px;
  border-radius: 7px;
  background: #fafa05;
  padding: 5px;
  padding-left: 12px;
  width: 580px;
  margin-top: 30px;
  padding-right: 101px;
}
@media (max-width: 640px) {
  #in-review-box {
    font-size: 8px;
    padding-right: 97px;
  }
}

#approved-box {
  font-size: 16px;
  border-radius: 7px;
  background: #ff9f40;
  padding: 5px;
  padding-left: 12px;
  width: 580px;
  padding-right: 80px;
}

#cleared-box {
  font-size: 16px;
  border-radius: 7px;
  background: #009900;
  padding: 5px;
  padding-left: 12px;
  width: 580px;
  padding-right: 142px;
}
@media (max-width: 640px) {
  #cleared-box {
    font-size: 8px;
    padding-right: 117px;
  }
}

#forecast-box {
  font-size: 16px;
  border-radius: 7px;
  background: #21ece9;
  padding: 5px;
  padding-left: 12px;
  width: 580px;
  display: none;
  padding-right: 259px;
}
@media (max-width: 640px) {
  #forecast-box {
    padding-right: 175px;
    font-size: 8px;
  }
}

#dashboard-page {
  margin-bottom: 50px;
}

.legend-group {
  box-sizing: border-box;
  float: left;
  margin-bottom: 15px;
  width: 630px;
}
@media (max-width: 640px) {
  .legend-group {
    width: 382px;
  }
}

.form-group .legend-box, .form-group-sub .legend-box {
  font-size: 16px;
  border-radius: 7px;
  padding: 5px;
  padding-left: 15px;
  width: 580px;
}

.form-group #open-data-box, .form-group-sub #open-data-box {
  padding-right: 230px;
  background: rgb(201, 203, 207);
}

.form-group #saved-box, .form-group-sub #saved-box {
  padding-right: 386px;
  background: rgb(250, 250, 5);
}

.form-group #submitted-box, .form-group-sub #submitted-box {
  padding-right: 345px;
  background: rgb(33, 236, 233);
}

.form-group #certified-box, .form-group-sub #certified-box {
  padding-right: 365px;
  background: rgb(0, 128, 0);
}

.form-group .legend-box span, .form-group-sub .legend-box span {
  font-weight: bold;
}

section#more {
  margin-top: 30px;
}

.nav-tabs {
  zoom: 1;
  background: #fff;
  padding: 0;
  position: relative;
}
.nav-tabs:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.nav-tabs ol, .nav-tabs ul, .nav-tabs .tabs-nav {
  float: left;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 5;
}
.nav-tabs li, .nav-tabs .tabs-nav li {
  padding: 0;
  margin: 0;
  float: left;
}
@media (min-width: 641px) {
  .nav-tabs li, .nav-tabs .tabs-nav li {
    font-size: 16px;
    line-height: 1.25;
  }
}
.nav-tabs li a, .nav-tabs .tabs-nav li a {
  border: solid 1px #fff;
  border-bottom: none;
  float: left;
  height: 2.25em;
  line-height: 2.25em;
  margin-bottom: -1px;
  padding: 0 1em 0 1em;
  position: relative;
  text-align: center;
  top: 0;
}
.nav-tabs li.active a, .nav-tabs .tabs-nav li.active a {
  background-color: #fff;
  border: solid 1px #bfc1c3;
  border-bottom: solid 1px #fff;
  color: #0b0c0c;
  position: relative;
  text-decoration: none;
  z-index: 5;
}
.nav-tabs li:first-child a, .nav-tabs .tabs-nav li:first-child a {
  margin-left: 0;
}

.js-tab-content {
  overflow: hidden;
}

.tab-content .tab-pane {
  padding: 30px 0 0 0;
  border-top: solid 1px #bfc1c3;
  clear: both;
  width: auto;
}

.office-form-notice-password {
  font-size: 17px !important;
  font-family: Segoe UI, Segoe WP, Tahoma, Arial, sans-serif !important;
}

.office-form-footer-block {
  font-size: 17px !important;
  font-family: Segoe UI, Segoe WP, Tahoma, Arial, sans-serif !important;
}

.previous-next-navigation {
  position: relative;
  overflow: hidden;
  margin-top: 60px;
  width: 100%;
}

.previous-next-navigation li {
  font-family: "nta", Arial, sans-serif;
  font-size: 20px;
  line-height: 1.11111;
  font-weight: 400;
  text-transform: none;
  display: block;
  padding: 0;
  margin: 0;
  width: 50%;
  float: left;
}

@media (min-width: 641px) {
  .previous-next-navigation li {
    font-size: 27px;
    line-height: 1.11111;
  }
}
.previous-next-navigation li.next {
  float: right;
  text-align: right;
}

.previous-next-navigation li.next a {
  padding: 15px 35px 15px 0;
}

.previous-next-navigation li.next a:before {
  background: transparent url(https://assets.publishing.service.gov.uk/government/assets/arrow-sprite-2B8CC4-5e2cee3e982549b5285684a2e4f0706c5d9c531f0afdf61dfe32dfb1dfeb82f0.png) no-repeat -102px -11px;
  margin: -4px -32px 0 0;
  display: block;
  float: right;
  width: 30px;
  height: 38px;
  content: " ";
}

.previous-next-navigation li.previous a {
  padding: 15px 0 15px 35px;
}

.previous-next-navigation li.previous a:before {
  background: transparent url(https://assets.publishing.service.gov.uk/government/assets/arrow-sprite-2B8CC4-5e2cee3e982549b5285684a2e4f0706c5d9c531f0afdf61dfe32dfb1dfeb82f0.png) no-repeat -20px -11px;
  margin: -4px 0 0 -32px;
  display: block;
  float: left;
  width: 30px;
  height: 38px;
  content: " ";
}

.previous-next-navigation li a {
  display: block;
  text-decoration: none;
}

.previous-next-navigation li a span {
  display: block;
  font-family: "nta", Arial, sans-serif;
  font-size: 12px;
  line-height: 1.25;
  font-weight: 400;
  text-transform: none;
  padding-top: 6px;
  padding-bottom: 4px;
}

@media (min-width: 641px) {
  .previous-next-navigation li a span {
    font-size: 14px;
    line-height: 1.42857;
  }
}
@media (max-width: 640px) {
  .previous-next-navigation li a span {
    padding-top: 4px;
    padding-bottom: 1px;
  }
}
.previous-next-navigation li a:focus .page-numbers,
.previous-next-navigation li a:hover .page-numbers {
  text-decoration: underline;
}

.previous-next-navigation li a:hover {
  background: #f8f8f8;
}

.previous-next-navigation li a:active {
  background: #dee0e2;
}

@media (min-width: 641px) {
  .previous-next-navigation li .visuallyhidden {
    font-family: "nta", Arial, sans-serif;
    font-size: 20px;
    line-height: 1.11111;
    font-weight: 400;
    text-transform: none;
    display: inline-block;
    position: static;
  }
}
@media (min-width: 641px) and (min-width: 641px) {
  .previous-next-navigation li .visuallyhidden {
    font-size: 27px;
    line-height: 1.11111;
  }
}
dialog[open] {
  display: block;
  top: 0;
  width: 58%;
  margin: 1em;
  position: absolute;
  box-sizing: border-box;
  margin-top: 10%;
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}

@media (min-width: 641px) {
  dialog[open] {
    padding: 10px 15px 15px 15px;
    margin: 30px auto;
  }
  dialog[open] form {
    margin-top: 15px;
  }
}
dialog + .backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.1);
}

.fa-exclamation-circle:before {
  content: "\f06a";
}

dialog p {
  margin-top: 1em;
  margin-bottom: 1em;
}

dialog #dialog-title {
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}
dialog ul.list.list-bullet {
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}

dialog#confirm-s151-officer {
  width: 60%;
}

dialog#select-dataset .govuk-red-banner {
  height: 18px;
}

dialog#download-detailed-report .audit-label {
  margin-right: 70px;
  margin-bottom: 5px;
}

.warning-red-border {
  border: 5px solid #b10e1e;
}
.warning-red-border p {
  margin-top: 1em;
  margin-bottom: 1em;
}
.warning-red-border .notice {
  margin-left: -15px;
  margin-right: -15px;
  margin-top: -15px;
}
.warning-red-border .notice strong {
  padding-left: 10px;
  padding-right: 10px;
  margin: 0;
}
.warning-red-border--inline {
  padding: 10px 14px 15px 15px;
  margin: 30px auto;
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}

.dialog-is-open .dialog-wrapper:before {
  display: block;
  content: "";
  background: rgba(0, 0, 0, 0.75);
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.notice-banner {
  padding: 10px 0 8px;
  border-bottom: 1px solid #bfc1c3;
}

@media (min-width: 641px) {
  .notice-banner {
    padding-bottom: 10px;
  }
}
.notice-banner p {
  display: table;
  margin: 0;
  color: rgb(11, 12, 12);
  font-family: "GDS Transport", arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.1875rem;
  line-height: 1.3157894737;
}

@media (min-width: 641px) {
  .notice-banner p {
    font-size: 1rem;
    line-height: 1.25;
  }
}
.notice-banner .phase-tag {
  display: -moz-inline-stack;
  display: inline-block;
  margin: 0 8px 0 0;
  padding: 2px 5px 0;
  font-family: "GDS Transport", arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 14px;
  line-height: 1.14286;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  color: #fff;
  background-color: #d53880;
}

@media (min-width: 641px) {
  .notice-banner .phase-tag {
    font-size: 16px;
    line-height: 1.25;
  }
}
.notice-banner span {
  vertical-align: baseline;
}

.notice-banner span {
  vertical-align: baseline;
}

.panel-limit-width {
  max-width: 650px;
}

.delta-smaller-panel .govuk-panel__title {
  font-size: 40px;
}
.delta-smaller-panel .govuk-panel__body {
  font-size: 27px;
  overflow-wrap: break-word;
}

#embedded-form-builder {
  position: relative;
  width: 100%;
  height: 800px;
}

#embedded-form-builder div.orbeon.orbeon-portlet-div {
  right: 0;
  left: 0;
  top: 0;
  width: auto;
}

#embedded-form-builder .yui-dialog {
  top: 0 !important;
}

.orbeon #o0xforms-form .xxforms-set-height .xxforms-dialog-body .fb-dialog-remaining-height {
  bottom: 110px;
}

.orbeon #o0xforms-form .xxforms-set-height .xxforms-dialog-body .fr-dialog-buttons {
  bottom: 20px;
  z-index: 999;
  padding-right: 50px;
}

.orbeon #o0xforms-form .fr-grid-td .xforms-required .xforms-label {
  position: relative;
  padding-left: 25px;
}

.orbeon .fr-mode-new .xforms-required .xforms-label:before,
.orbeon .fr-mode-test .xforms-required .xforms-label:before,
.orbeon .xforms-dialog .xforms-required .xforms-label:before {
  content: "* ";
  position: absolute;
  display: block;
  width: 15px;
  height: 15px;
  right: calc(100% - 15px);
  top: -7px;
  transform: scale(1.5);
  transform-origin: 0 0;
}

.delta-notification-banner--error {
  border-color: #d4351c;
  background-color: #d4351c;
}

.delta-notification-banner--warning {
  border-color: #FF5F15;
  background-color: #FF5F15;
}

.govuk-notification-banner {
  margin-top: 1em;
}

.govuk-notification-banner__content > * {
  max-width: 800px;
}

@media (min-width: 1400px) {
  body .govuk-width-container {
    max-width: 1280px;
  }
  body .govuk-header__content {
    padding-left: 20px;
    width: calc(100% - 250px);
  }
  body p, body strong {
    max-width: 75ch;
  }
  body p.text-no-max-width, body strong.text-no-max-width {
    max-width: unset;
  }
}
@media (min-width: 1100px) {
  body.delta-wide-page {
    padding-left: 50px;
    padding-right: 50px;
  }
  body.delta-wide-page .govuk-header {
    margin-left: -50px;
    margin-right: -50px;
    padding-right: 50px;
    padding-left: 50px;
  }
  body.delta-wide-page .govuk-width-container {
    max-width: 1600px;
  }
  body.delta-wide-page .govuk-footer {
    margin-right: -50px;
    margin-left: -50px;
    padding-right: 50px;
    padding-left: 50px;
  }
  body.delta-wide-page .govuk-header__content {
    width: calc(100% - 250px);
  }
  body.delta-wide-page .ui-datepicker {
    display: none;
  }
}
.grid-column-text-max-width {
  max-width: 50em;
}

.delta-animation-loading {
  background-color: #f3f2f1;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  animation: deltaLoading;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-direction: alternate-reverse;
}
.delta-animation-loading .delta-animation-loading-indicator {
  width: 10%;
  height: 16px;
  text-indent: -999px;
  overflow: hidden;
  background-color: #1d70b8;
  border-radius: 8px;
}

@keyframes deltaLoading {
  0% {
    padding-left: 0;
  }
  100% {
    padding-left: 100%;
  }
}
.delta-image-responsive {
  width: 100%;
}

.delta-screen-grab {
  box-shadow: 0 0 1rem rgba(138, 138, 138, 0.5);
  margin-bottom: 1rem;
}

.fs-help-image-overlay-display {
  background: #404040;
  opacity: 0.5;
  position: fixed;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
}

.help-fs-image-container {
  position: fixed;
  top: 20px;
  width: 80%;
  height: calc(100% - 20px);
  overflow-y: scroll;
}

.hidden {
  display: none;
}

.certification-record__header {
  word-wrap: break-word;
  max-width: calc(100% - 108px);
}

#main-content.fullscreen-content {
  width: auto;
  max-width: none;
  padding: 0 30px;
  /*
  The current MHCLG laptops end up with a 1282px viewport width, which is just too small to be able to see
  all the buttons in Orbeon, so shrink the margins to give a few more pixels of space.
  */
}
@media (max-width: 1300px) {
  #main-content.fullscreen-content {
    padding: 0 10px;
  }
}

.fullscreen {
  background-color: white;
}

body .govuk-tag {
  max-width: 185px;
}

/*------------------------------------*\
    DATE PICKER
\*------------------------------------*/
.ds_datepicker {
  position: relative;
  margin-bottom: 1.5rem;
  font-family: "GDS Transport", arial, sans-serif;
}
.ds_datepicker .ds_input {
  margin-bottom: 0;
}
.ds_datepicker__input-wrapper {
  display: flex;
  align-items: end;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.ds_datepicker__today {
  background-color: #D0E8FF;
  font-weight: bold;
  position: relative;
}
.ds_datepicker__today::after {
  background-color: currentColor;
  border-radius: 4px;
  bottom: 6px;
  content: "";
  height: 4px;
  left: 50%;
  margin-left: -2px;
  position: absolute;
  width: 4px;
}
.ds_datepicker__dialog {
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.15);
  background-color: #fff;
  clear: both;
  display: none;
  padding: 8px;
  outline: 1px solid #B3B3B3;
  outline-offset: -1px;
  position: static;
  top: 0;
  transition: background-color 0.2s, outline-color 0.2s;
  width: 296px;
  z-index: 2;
}
.ds_datepicker__dialog--open {
  display: block;
}
@supports (left: var(--ds-date-picker-left-offset)) {
  .ds_datepicker__dialog--open {
    left: var(--ds-date-picker-left-offset);
  }
}
.ds_datepicker__dialog__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px;
}
.ds_datepicker__dialog__navbuttons {
  display: flex;
  gap: 4px;
}
.ds_datepicker__dialog__navbuttons .ds_button {
  background-color: transparent;
  border: none;
  color: #000;
  padding: 8px;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.ds_datepicker__dialog__navbuttons .ds_button:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  flex-grow: 1;
}
.ds_datepicker__dialog .ds_button .ds_icon {
  height: 1.8em;
  width: 1.8em;
  fill: #000;
  vertical-align: middle;
  pointer-events: none;
}
.ds_datepicker__dialog__table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
}
.ds_datepicker__dialog__table th, .ds_datepicker__dialog__table td {
  width: 14.28%;
  padding: 0;
  text-align: center;
  border: none;
}
.ds_datepicker__dialog__table th {
  color: #5e5e5e;
  font-weight: normal;
  font-size: 0.875rem;
  height: auto;
}
.ds_datepicker__dialog__table td {
  background-color: #fff;
  cursor: pointer;
  border: none;
}
.ds_datepicker__dialog__table td:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__table td.ds_selected {
  background-color: #FFF;
  color: #fff;
  font-weight: bold;
}
.ds_datepicker__dialog__table td[disabled=true], .ds_datepicker__dialog__table td[aria-disabled=true] {
  color: #B0B0B0;
  pointer-events: none;
}
.ds_datepicker__dialog__table td button {
  font-size: 1rem;
  width: 100%;
  height: 48px;
  background-color: transparent;
  border: none;
  color: #000;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.ds_datepicker__dialog__table td button:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__table td button.ds_selected {
  background-color: #000;
  color: #fff;
}
.ds_datepicker__dialog__buttongroup {
  display: flex;
  justify-content: space-between;
}
.ds_datepicker__dialog__buttongroup .ds_button {
  width: calc(50% - 5px);
  min-height: 40px;
  background-color: #fff;
  border: 2px solid #000;
  color: #000;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.ds_datepicker__dialog__buttongroup .ds_button:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__buttongroup .js-datepicker-ok {
  background: #00703c;
  color: #FFF;
  border: none;
}
.ds_datepicker__button {
  width: 48px;
  height: 48px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #00703c;
  border: 1px solid #000;
  cursor: pointer;
  transition: background-color 0.2s;
}
.ds_datepicker__button:hover {
  background-color: #005a30;
}
.ds_datepicker__button .ds_icon {
  width: 30px;
  height: 30px;
  fill: #fff;
}

@media (min-width: 768px) {
  .ds_datepicker__dialog {
    position: absolute;
  }
  .ds_datepicker__dialog__title {
    padding: 8px 0;
  }
  .ds_datepicker__dialog__header > :nth-child(1) {
    top: 0;
  }
  .ds_datepicker__dialog__header > :nth-child(3) {
    top: 0;
  }
}
.ds_button {
  background-color: #00703c;
  color: #fff;
  font-weight: bold;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s;
}
.ds_button:hover {
  background-color: #005a30;
}

.ds_datepicker__header {
  text-align: center;
  font-weight: bold;
  margin-bottom: 8px;
}

.ds_datepicker__footer {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
}

.fully-hidden {
  display: none !important;
}

.ds_datepicker__dialog__table-caption {
  caption-side: bottom;
  line-height: 2;
  margin-top: 8px;
  font-size: 0.8rem;
}

/*!
 *  Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.eot?v=4.3.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.3.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.3.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.3.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.28571429em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}

.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}

.fa-li.fa-lg {
  left: -1.85714286em;
}

.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eeeeee;
  border-radius: 0.1em;
}

.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: 0.3em;
}

.fa.pull-right {
  margin-left: 0.3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #ffffff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}

.fa-music:before {
  content: "\f001";
}

.fa-search:before {
  content: "\f002";
}

.fa-envelope-o:before {
  content: "\f003";
}

.fa-heart:before {
  content: "\f004";
}

.fa-star:before {
  content: "\f005";
}

.fa-star-o:before {
  content: "\f006";
}

.fa-user:before {
  content: "\f007";
}

.fa-film:before {
  content: "\f008";
}

.fa-th-large:before {
  content: "\f009";
}

.fa-th:before {
  content: "\f00a";
}

.fa-th-list:before {
  content: "\f00b";
}

.fa-check:before {
  content: "\f00c";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}

.fa-search-plus:before {
  content: "\f00e";
}

.fa-search-minus:before {
  content: "\f010";
}

.fa-power-off:before {
  content: "\f011";
}

.fa-signal:before {
  content: "\f012";
}

.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}

.fa-trash-o:before {
  content: "\f014";
}

.fa-home:before {
  content: "\f015";
}

.fa-file-o:before {
  content: "\f016";
}

.fa-clock-o:before {
  content: "\f017";
}

.fa-road:before {
  content: "\f018";
}

.fa-download:before {
  content: "\f019";
}

.fa-arrow-circle-o-down:before {
  content: "\f01a";
}

.fa-arrow-circle-o-up:before {
  content: "\f01b";
}

.fa-inbox:before {
  content: "\f01c";
}

.fa-play-circle-o:before {
  content: "\f01d";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}

.fa-refresh:before {
  content: "\f021";
}

.fa-list-alt:before {
  content: "\f022";
}

.fa-lock:before {
  content: "\f023";
}

.fa-flag:before {
  content: "\f024";
}

.fa-headphones:before {
  content: "\f025";
}

.fa-volume-off:before {
  content: "\f026";
}

.fa-volume-down:before {
  content: "\f027";
}

.fa-volume-up:before {
  content: "\f028";
}

.fa-qrcode:before {
  content: "\f029";
}

.fa-barcode:before {
  content: "\f02a";
}

.fa-tag:before {
  content: "\f02b";
}

.fa-tags:before {
  content: "\f02c";
}

.fa-book:before {
  content: "\f02d";
}

.fa-bookmark:before {
  content: "\f02e";
}

.fa-print:before {
  content: "\f02f";
}

.fa-camera:before {
  content: "\f030";
}

.fa-font:before {
  content: "\f031";
}

.fa-bold:before {
  content: "\f032";
}

.fa-italic:before {
  content: "\f033";
}

.fa-text-height:before {
  content: "\f034";
}

.fa-text-width:before {
  content: "\f035";
}

.fa-align-left:before {
  content: "\f036";
}

.fa-align-center:before {
  content: "\f037";
}

.fa-align-right:before {
  content: "\f038";
}

.fa-align-justify:before {
  content: "\f039";
}

.fa-list:before {
  content: "\f03a";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}

.fa-indent:before {
  content: "\f03c";
}

.fa-video-camera:before {
  content: "\f03d";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}

.fa-pencil:before {
  content: "\f040";
}

.fa-map-marker:before {
  content: "\f041";
}

.fa-adjust:before {
  content: "\f042";
}

.fa-tint:before {
  content: "\f043";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}

.fa-share-square-o:before {
  content: "\f045";
}

.fa-check-square-o:before {
  content: "\f046";
}

.fa-arrows:before {
  content: "\f047";
}

.fa-step-backward:before {
  content: "\f048";
}

.fa-fast-backward:before {
  content: "\f049";
}

.fa-backward:before {
  content: "\f04a";
}

.fa-play:before {
  content: "\f04b";
}

.fa-pause:before {
  content: "\f04c";
}

.fa-stop:before {
  content: "\f04d";
}

.fa-forward:before {
  content: "\f04e";
}

.fa-fast-forward:before {
  content: "\f050";
}

.fa-step-forward:before {
  content: "\f051";
}

.fa-eject:before {
  content: "\f052";
}

.fa-chevron-left:before {
  content: "\f053";
}

.fa-chevron-right:before {
  content: "\f054";
}

.fa-plus-circle:before {
  content: "\f055";
}

.fa-minus-circle:before {
  content: "\f056";
}

.fa-times-circle:before {
  content: "\f057";
}

.fa-check-circle:before {
  content: "\f058";
}

.fa-question-circle:before {
  content: "\f059";
}

.fa-info-circle:before {
  content: "\f05a";
}

.fa-crosshairs:before {
  content: "\f05b";
}

.fa-times-circle-o:before {
  content: "\f05c";
}

.fa-check-circle-o:before {
  content: "\f05d";
}

.fa-ban:before {
  content: "\f05e";
}

.fa-arrow-left:before {
  content: "\f060";
}

.fa-arrow-right:before {
  content: "\f061";
}

.fa-arrow-up:before {
  content: "\f062";
}

.fa-arrow-down:before {
  content: "\f063";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}

.fa-expand:before {
  content: "\f065";
}

.fa-compress:before {
  content: "\f066";
}

.fa-plus:before {
  content: "\f067";
}

.fa-minus:before {
  content: "\f068";
}

.fa-asterisk:before {
  content: "\f069";
}

.fa-exclamation-circle:before {
  content: "\f06a";
}

.fa-gift:before {
  content: "\f06b";
}

.fa-leaf:before {
  content: "\f06c";
}

.fa-fire:before {
  content: "\f06d";
}

.fa-eye:before {
  content: "\f06e";
}

.fa-eye-slash:before {
  content: "\f070";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}

.fa-plane:before {
  content: "\f072";
}

.fa-calendar:before {
  content: "\f073";
}

.fa-random:before {
  content: "\f074";
}

.fa-comment:before {
  content: "\f075";
}

.fa-magnet:before {
  content: "\f076";
}

.fa-chevron-up:before {
  content: "\f077";
}

.fa-chevron-down:before {
  content: "\f078";
}

.fa-retweet:before {
  content: "\f079";
}

.fa-shopping-cart:before {
  content: "\f07a";
}

.fa-folder:before {
  content: "\f07b";
}

.fa-folder-open:before {
  content: "\f07c";
}

.fa-arrows-v:before {
  content: "\f07d";
}

.fa-arrows-h:before {
  content: "\f07e";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}

.fa-twitter-square:before {
  content: "\f081";
}

.fa-facebook-square:before {
  content: "\f082";
}

.fa-camera-retro:before {
  content: "\f083";
}

.fa-key:before {
  content: "\f084";
}

.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}

.fa-comments:before {
  content: "\f086";
}

.fa-thumbs-o-up:before {
  content: "\f087";
}

.fa-thumbs-o-down:before {
  content: "\f088";
}

.fa-star-half:before {
  content: "\f089";
}

.fa-heart-o:before {
  content: "\f08a";
}

.fa-sign-out:before {
  content: "\f08b";
}

.fa-linkedin-square:before {
  content: "\f08c";
}

.fa-thumb-tack:before {
  content: "\f08d";
}

.fa-external-link:before {
  content: "\f08e";
}

.fa-sign-in:before {
  content: "\f090";
}

.fa-trophy:before {
  content: "\f091";
}

.fa-github-square:before {
  content: "\f092";
}

.fa-upload:before {
  content: "\f093";
}

.fa-lemon-o:before {
  content: "\f094";
}

.fa-phone:before {
  content: "\f095";
}

.fa-square-o:before {
  content: "\f096";
}

.fa-bookmark-o:before {
  content: "\f097";
}

.fa-phone-square:before {
  content: "\f098";
}

.fa-twitter:before {
  content: "\f099";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}

.fa-github:before {
  content: "\f09b";
}

.fa-unlock:before {
  content: "\f09c";
}

.fa-credit-card:before {
  content: "\f09d";
}

.fa-rss:before {
  content: "\f09e";
}

.fa-hdd-o:before {
  content: "\f0a0";
}

.fa-bullhorn:before {
  content: "\f0a1";
}

.fa-bell:before {
  content: "\f0f3";
}

.fa-certificate:before {
  content: "\f0a3";
}

.fa-hand-o-right:before {
  content: "\f0a4";
}

.fa-hand-o-left:before {
  content: "\f0a5";
}

.fa-hand-o-up:before {
  content: "\f0a6";
}

.fa-hand-o-down:before {
  content: "\f0a7";
}

.fa-arrow-circle-left:before {
  content: "\f0a8";
}

.fa-arrow-circle-right:before {
  content: "\f0a9";
}

.fa-arrow-circle-up:before {
  content: "\f0aa";
}

.fa-arrow-circle-down:before {
  content: "\f0ab";
}

.fa-globe:before {
  content: "\f0ac";
}

.fa-wrench:before {
  content: "\f0ad";
}

.fa-tasks:before {
  content: "\f0ae";
}

.fa-filter:before {
  content: "\f0b0";
}

.fa-briefcase:before {
  content: "\f0b1";
}

.fa-arrows-alt:before {
  content: "\f0b2";
}

.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}

.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}

.fa-cloud:before {
  content: "\f0c2";
}

.fa-flask:before {
  content: "\f0c3";
}

.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}

.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}

.fa-paperclip:before {
  content: "\f0c6";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}

.fa-square:before {
  content: "\f0c8";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}

.fa-list-ul:before {
  content: "\f0ca";
}

.fa-list-ol:before {
  content: "\f0cb";
}

.fa-strikethrough:before {
  content: "\f0cc";
}

.fa-underline:before {
  content: "\f0cd";
}

.fa-table:before {
  content: "\f0ce";
}

.fa-magic:before {
  content: "\f0d0";
}

.fa-truck:before {
  content: "\f0d1";
}

.fa-pinterest:before {
  content: "\f0d2";
}

.fa-pinterest-square:before {
  content: "\f0d3";
}

.fa-google-plus-square:before {
  content: "\f0d4";
}

.fa-google-plus:before {
  content: "\f0d5";
}

.fa-money:before {
  content: "\f0d6";
}

.fa-caret-down:before {
  content: "\f0d7";
}

.fa-caret-up:before {
  content: "\f0d8";
}

.fa-caret-left:before {
  content: "\f0d9";
}

.fa-caret-right:before {
  content: "\f0da";
}

.fa-columns:before {
  content: "\f0db";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}

.fa-envelope:before {
  content: "\f0e0";
}

.fa-linkedin:before {
  content: "\f0e1";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}

.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}

.fa-comment-o:before {
  content: "\f0e5";
}

.fa-comments-o:before {
  content: "\f0e6";
}

.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}

.fa-sitemap:before {
  content: "\f0e8";
}

.fa-umbrella:before {
  content: "\f0e9";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}

.fa-lightbulb-o:before {
  content: "\f0eb";
}

.fa-exchange:before {
  content: "\f0ec";
}

.fa-cloud-download:before {
  content: "\f0ed";
}

.fa-cloud-upload:before {
  content: "\f0ee";
}

.fa-user-md:before {
  content: "\f0f0";
}

.fa-stethoscope:before {
  content: "\f0f1";
}

.fa-suitcase:before {
  content: "\f0f2";
}

.fa-bell-o:before {
  content: "\f0a2";
}

.fa-coffee:before {
  content: "\f0f4";
}

.fa-cutlery:before {
  content: "\f0f5";
}

.fa-file-text-o:before {
  content: "\f0f6";
}

.fa-building-o:before {
  content: "\f0f7";
}

.fa-hospital-o:before {
  content: "\f0f8";
}

.fa-ambulance:before {
  content: "\f0f9";
}

.fa-medkit:before {
  content: "\f0fa";
}

.fa-fighter-jet:before {
  content: "\f0fb";
}

.fa-beer:before {
  content: "\f0fc";
}

.fa-h-square:before {
  content: "\f0fd";
}

.fa-plus-square:before {
  content: "\f0fe";
}

.fa-angle-double-left:before {
  content: "\f100";
}

.fa-angle-double-right:before {
  content: "\f101";
}

.fa-angle-double-up:before {
  content: "\f102";
}

.fa-angle-double-down:before {
  content: "\f103";
}

.fa-angle-left:before {
  content: "\f104";
}

.fa-angle-right:before {
  content: "\f105";
}

.fa-angle-up:before {
  content: "\f106";
}

.fa-angle-down:before {
  content: "\f107";
}

.fa-desktop:before {
  content: "\f108";
}

.fa-laptop:before {
  content: "\f109";
}

.fa-tablet:before {
  content: "\f10a";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}

.fa-circle-o:before {
  content: "\f10c";
}

.fa-quote-left:before {
  content: "\f10d";
}

.fa-quote-right:before {
  content: "\f10e";
}

.fa-spinner:before {
  content: "\f110";
}

.fa-circle:before {
  content: "\f111";
}

.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}

.fa-github-alt:before {
  content: "\f113";
}

.fa-folder-o:before {
  content: "\f114";
}

.fa-folder-open-o:before {
  content: "\f115";
}

.fa-smile-o:before {
  content: "\f118";
}

.fa-frown-o:before {
  content: "\f119";
}

.fa-meh-o:before {
  content: "\f11a";
}

.fa-gamepad:before {
  content: "\f11b";
}

.fa-keyboard-o:before {
  content: "\f11c";
}

.fa-flag-o:before {
  content: "\f11d";
}

.fa-flag-checkered:before {
  content: "\f11e";
}

.fa-terminal:before {
  content: "\f120";
}

.fa-code:before {
  content: "\f121";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}

.fa-location-arrow:before {
  content: "\f124";
}

.fa-crop:before {
  content: "\f125";
}

.fa-code-fork:before {
  content: "\f126";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}

.fa-question:before {
  content: "\f128";
}

.fa-info:before {
  content: "\f129";
}

.fa-exclamation:before {
  content: "\f12a";
}

.fa-superscript:before {
  content: "\f12b";
}

.fa-subscript:before {
  content: "\f12c";
}

.fa-eraser:before {
  content: "\f12d";
}

.fa-puzzle-piece:before {
  content: "\f12e";
}

.fa-microphone:before {
  content: "\f130";
}

.fa-microphone-slash:before {
  content: "\f131";
}

.fa-shield:before {
  content: "\f132";
}

.fa-calendar-o:before {
  content: "\f133";
}

.fa-fire-extinguisher:before {
  content: "\f134";
}

.fa-rocket:before {
  content: "\f135";
}

.fa-maxcdn:before {
  content: "\f136";
}

.fa-chevron-circle-left:before {
  content: "\f137";
}

.fa-chevron-circle-right:before {
  content: "\f138";
}

.fa-chevron-circle-up:before {
  content: "\f139";
}

.fa-chevron-circle-down:before {
  content: "\f13a";
}

.fa-html5:before {
  content: "\f13b";
}

.fa-css3:before {
  content: "\f13c";
}

.fa-anchor:before {
  content: "\f13d";
}

.fa-unlock-alt:before {
  content: "\f13e";
}

.fa-bullseye:before {
  content: "\f140";
}

.fa-ellipsis-h:before {
  content: "\f141";
}

.fa-ellipsis-v:before {
  content: "\f142";
}

.fa-rss-square:before {
  content: "\f143";
}

.fa-play-circle:before {
  content: "\f144";
}

.fa-ticket:before {
  content: "\f145";
}

.fa-minus-square:before {
  content: "\f146";
}

.fa-minus-square-o:before {
  content: "\f147";
}

.fa-level-up:before {
  content: "\f148";
}

.fa-level-down:before {
  content: "\f149";
}

.fa-check-square:before {
  content: "\f14a";
}

.fa-pencil-square:before {
  content: "\f14b";
}

.fa-external-link-square:before {
  content: "\f14c";
}

.fa-share-square:before {
  content: "\f14d";
}

.fa-compass:before {
  content: "\f14e";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}

.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}

.fa-gbp:before {
  content: "\f154";
}

.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}

.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}

.fa-won:before,
.fa-krw:before {
  content: "\f159";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}

.fa-file:before {
  content: "\f15b";
}

.fa-file-text:before {
  content: "\f15c";
}

.fa-sort-alpha-asc:before {
  content: "\f15d";
}

.fa-sort-alpha-desc:before {
  content: "\f15e";
}

.fa-sort-amount-asc:before {
  content: "\f160";
}

.fa-sort-amount-desc:before {
  content: "\f161";
}

.fa-sort-numeric-asc:before {
  content: "\f162";
}

.fa-sort-numeric-desc:before {
  content: "\f163";
}

.fa-thumbs-up:before {
  content: "\f164";
}

.fa-thumbs-down:before {
  content: "\f165";
}

.fa-youtube-square:before {
  content: "\f166";
}

.fa-youtube:before {
  content: "\f167";
}

.fa-xing:before {
  content: "\f168";
}

.fa-xing-square:before {
  content: "\f169";
}

.fa-youtube-play:before {
  content: "\f16a";
}

.fa-dropbox:before {
  content: "\f16b";
}

.fa-stack-overflow:before {
  content: "\f16c";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-flickr:before {
  content: "\f16e";
}

.fa-adn:before {
  content: "\f170";
}

.fa-bitbucket:before {
  content: "\f171";
}

.fa-bitbucket-square:before {
  content: "\f172";
}

.fa-tumblr:before {
  content: "\f173";
}

.fa-tumblr-square:before {
  content: "\f174";
}

.fa-long-arrow-down:before {
  content: "\f175";
}

.fa-long-arrow-up:before {
  content: "\f176";
}

.fa-long-arrow-left:before {
  content: "\f177";
}

.fa-long-arrow-right:before {
  content: "\f178";
}

.fa-apple:before {
  content: "\f179";
}

.fa-windows:before {
  content: "\f17a";
}

.fa-android:before {
  content: "\f17b";
}

.fa-linux:before {
  content: "\f17c";
}

.fa-dribbble:before {
  content: "\f17d";
}

.fa-skype:before {
  content: "\f17e";
}

.fa-foursquare:before {
  content: "\f180";
}

.fa-trello:before {
  content: "\f181";
}

.fa-female:before {
  content: "\f182";
}

.fa-male:before {
  content: "\f183";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}

.fa-sun-o:before {
  content: "\f185";
}

.fa-moon-o:before {
  content: "\f186";
}

.fa-archive:before {
  content: "\f187";
}

.fa-bug:before {
  content: "\f188";
}

.fa-vk:before {
  content: "\f189";
}

.fa-weibo:before {
  content: "\f18a";
}

.fa-renren:before {
  content: "\f18b";
}

.fa-pagelines:before {
  content: "\f18c";
}

.fa-stack-exchange:before {
  content: "\f18d";
}

.fa-arrow-circle-o-right:before {
  content: "\f18e";
}

.fa-arrow-circle-o-left:before {
  content: "\f190";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}

.fa-dot-circle-o:before {
  content: "\f192";
}

.fa-wheelchair:before {
  content: "\f193";
}

.fa-vimeo-square:before {
  content: "\f194";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}

.fa-plus-square-o:before {
  content: "\f196";
}

.fa-space-shuttle:before {
  content: "\f197";
}

.fa-slack:before {
  content: "\f198";
}

.fa-envelope-square:before {
  content: "\f199";
}

.fa-wordpress:before {
  content: "\f19a";
}

.fa-openid:before {
  content: "\f19b";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}

.fa-yahoo:before {
  content: "\f19e";
}

.fa-google:before {
  content: "\f1a0";
}

.fa-reddit:before {
  content: "\f1a1";
}

.fa-reddit-square:before {
  content: "\f1a2";
}

.fa-stumbleupon-circle:before {
  content: "\f1a3";
}

.fa-stumbleupon:before {
  content: "\f1a4";
}

.fa-delicious:before {
  content: "\f1a5";
}

.fa-digg:before {
  content: "\f1a6";
}

.fa-pied-piper:before {
  content: "\f1a7";
}

.fa-pied-piper-alt:before {
  content: "\f1a8";
}

.fa-drupal:before {
  content: "\f1a9";
}

.fa-joomla:before {
  content: "\f1aa";
}

.fa-language:before {
  content: "\f1ab";
}

.fa-fax:before {
  content: "\f1ac";
}

.fa-building:before {
  content: "\f1ad";
}

.fa-child:before {
  content: "\f1ae";
}

.fa-paw:before {
  content: "\f1b0";
}

.fa-spoon:before {
  content: "\f1b1";
}

.fa-cube:before {
  content: "\f1b2";
}

.fa-cubes:before {
  content: "\f1b3";
}

.fa-behance:before {
  content: "\f1b4";
}

.fa-behance-square:before {
  content: "\f1b5";
}

.fa-steam:before {
  content: "\f1b6";
}

.fa-steam-square:before {
  content: "\f1b7";
}

.fa-recycle:before {
  content: "\f1b8";
}

.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}

.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}

.fa-tree:before {
  content: "\f1bb";
}

.fa-spotify:before {
  content: "\f1bc";
}

.fa-deviantart:before {
  content: "\f1bd";
}

.fa-soundcloud:before {
  content: "\f1be";
}

.fa-database:before {
  content: "\f1c0";
}

.fa-file-pdf-o:before {
  content: "\f1c1";
}

.fa-file-word-o:before {
  content: "\f1c2";
}

.fa-file-excel-o:before {
  content: "\f1c3";
}

.fa-file-powerpoint-o:before {
  content: "\f1c4";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}

.fa-file-code-o:before {
  content: "\f1c9";
}

.fa-vine:before {
  content: "\f1ca";
}

.fa-codepen:before {
  content: "\f1cb";
}

.fa-jsfiddle:before {
  content: "\f1cc";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}

.fa-circle-o-notch:before {
  content: "\f1ce";
}

.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}

.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}

.fa-git-square:before {
  content: "\f1d2";
}

.fa-git:before {
  content: "\f1d3";
}

.fa-hacker-news:before {
  content: "\f1d4";
}

.fa-tencent-weibo:before {
  content: "\f1d5";
}

.fa-qq:before {
  content: "\f1d6";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}

.fa-history:before {
  content: "\f1da";
}

.fa-genderless:before,
.fa-circle-thin:before {
  content: "\f1db";
}

.fa-header:before {
  content: "\f1dc";
}

.fa-paragraph:before {
  content: "\f1dd";
}

.fa-sliders:before {
  content: "\f1de";
}

.fa-share-alt:before {
  content: "\f1e0";
}

.fa-share-alt-square:before {
  content: "\f1e1";
}

.fa-bomb:before {
  content: "\f1e2";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}

.fa-tty:before {
  content: "\f1e4";
}

.fa-binoculars:before {
  content: "\f1e5";
}

.fa-plug:before {
  content: "\f1e6";
}

.fa-slideshare:before {
  content: "\f1e7";
}

.fa-twitch:before {
  content: "\f1e8";
}

.fa-yelp:before {
  content: "\f1e9";
}

.fa-newspaper-o:before {
  content: "\f1ea";
}

.fa-wifi:before {
  content: "\f1eb";
}

.fa-calculator:before {
  content: "\f1ec";
}

.fa-paypal:before {
  content: "\f1ed";
}

.fa-google-wallet:before {
  content: "\f1ee";
}

.fa-cc-visa:before {
  content: "\f1f0";
}

.fa-cc-mastercard:before {
  content: "\f1f1";
}

.fa-cc-discover:before {
  content: "\f1f2";
}

.fa-cc-amex:before {
  content: "\f1f3";
}

.fa-cc-paypal:before {
  content: "\f1f4";
}

.fa-cc-stripe:before {
  content: "\f1f5";
}

.fa-bell-slash:before {
  content: "\f1f6";
}

.fa-bell-slash-o:before {
  content: "\f1f7";
}

.fa-trash:before {
  content: "\f1f8";
}

.fa-copyright:before {
  content: "\f1f9";
}

.fa-at:before {
  content: "\f1fa";
}

.fa-eyedropper:before {
  content: "\f1fb";
}

.fa-paint-brush:before {
  content: "\f1fc";
}

.fa-birthday-cake:before {
  content: "\f1fd";
}

.fa-area-chart:before {
  content: "\f1fe";
}

.fa-pie-chart:before {
  content: "\f200";
}

.fa-line-chart:before {
  content: "\f201";
}

.fa-lastfm:before {
  content: "\f202";
}

.fa-lastfm-square:before {
  content: "\f203";
}

.fa-toggle-off:before {
  content: "\f204";
}

.fa-toggle-on:before {
  content: "\f205";
}

.fa-bicycle:before {
  content: "\f206";
}

.fa-bus:before {
  content: "\f207";
}

.fa-ioxhost:before {
  content: "\f208";
}

.fa-angellist:before {
  content: "\f209";
}

.fa-cc:before {
  content: "\f20a";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}

.fa-meanpath:before {
  content: "\f20c";
}

.fa-buysellads:before {
  content: "\f20d";
}

.fa-connectdevelop:before {
  content: "\f20e";
}

.fa-dashcube:before {
  content: "\f210";
}

.fa-forumbee:before {
  content: "\f211";
}

.fa-leanpub:before {
  content: "\f212";
}

.fa-sellsy:before {
  content: "\f213";
}

.fa-shirtsinbulk:before {
  content: "\f214";
}

.fa-simplybuilt:before {
  content: "\f215";
}

.fa-skyatlas:before {
  content: "\f216";
}

.fa-cart-plus:before {
  content: "\f217";
}

.fa-cart-arrow-down:before {
  content: "\f218";
}

.fa-diamond:before {
  content: "\f219";
}

.fa-ship:before {
  content: "\f21a";
}

.fa-user-secret:before {
  content: "\f21b";
}

.fa-motorcycle:before {
  content: "\f21c";
}

.fa-street-view:before {
  content: "\f21d";
}

.fa-heartbeat:before {
  content: "\f21e";
}

.fa-venus:before {
  content: "\f221";
}

.fa-mars:before {
  content: "\f222";
}

.fa-mercury:before {
  content: "\f223";
}

.fa-transgender:before {
  content: "\f224";
}

.fa-transgender-alt:before {
  content: "\f225";
}

.fa-venus-double:before {
  content: "\f226";
}

.fa-mars-double:before {
  content: "\f227";
}

.fa-venus-mars:before {
  content: "\f228";
}

.fa-mars-stroke:before {
  content: "\f229";
}

.fa-mars-stroke-v:before {
  content: "\f22a";
}

.fa-mars-stroke-h:before {
  content: "\f22b";
}

.fa-neuter:before {
  content: "\f22c";
}

.fa-facebook-official:before {
  content: "\f230";
}

.fa-pinterest-p:before {
  content: "\f231";
}

.fa-whatsapp:before {
  content: "\f232";
}

.fa-server:before {
  content: "\f233";
}

.fa-user-plus:before {
  content: "\f234";
}

.fa-user-times:before {
  content: "\f235";
}

.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}

.fa-viacoin:before {
  content: "\f237";
}

.fa-train:before {
  content: "\f238";
}

.fa-subway:before {
  content: "\f239";
}

.fa-medium:before {
  content: "\f23a";
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2dvdnVrLWZyb250ZW5kLXByb3BlcnRpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19mb250LWZhY2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay92ZW5kb3IvX3Nhc3MtbXEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2hlbHBlcnMvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9zZXR0aW5ncy9fbGlua3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2hlbHBlcnMvX2ZvY3VzZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL3NldHRpbmdzL19jb2xvdXJzLWFwcGxpZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb3JlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb3JlL19zZWN0aW9uLWJyZWFrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19mb3JtLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19tYWluLXdyYXBwZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL29iamVjdHMvX3RlbXBsYXRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL193aWR0aC1jb250YWluZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL3NldHRpbmdzL19tZWFzdXJlbWVudHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvYWNjb3JkaW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9iYWNrLWxpbmsvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2JyZWFkY3J1bWJzL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9idXR0b24vX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2hpbnQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2xhYmVsL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy90ZXh0YXJlYS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY2hhcmFjdGVyLWNvdW50L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9maWVsZHNldC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY2hlY2tib3hlcy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY29va2llLWJhbm5lci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2RhdGUtaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2RldGFpbHMvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19zaGFwZS1hcnJvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9lcnJvci1zdW1tYXJ5L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9leGl0LXRoaXMtcGFnZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2Zvb3Rlci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvaGVhZGVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9pbnNldC10ZXh0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9ub3RpZmljYXRpb24tYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9wYWdpbmF0aW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9wYW5lbC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvcGFzc3dvcmQtaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL3RhZy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvcGhhc2UtYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9yYWRpb3MvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL3NlbGVjdC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvc2VydmljZS1uYXZpZ2F0aW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvaGVscGVycy9fdmlzdWFsbHktaGlkZGVuLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL3NraXAtbGluay9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvc3VtbWFyeS1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy90YWJsZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvdGFicy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvdGFzay1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy93YXJuaW5nLXRleHQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay91dGlsaXRpZXMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvb3ZlcnJpZGVzL19kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vdmVycmlkZXMvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL292ZXJyaWRlcy9fdGV4dC1hbGlnbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvb3ZlcnJpZGVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vdmVycmlkZXMvX3dpZHRoLnNjc3MiLCJwYXR0ZXJucy9fc3RlcC1ieS1zdGVwLWhlYWRlci5zY3NzIiwicGF0dGVybnMvX3N0ZXAtYnktc3RlcC1uYXYuc2NzcyIsInBhdHRlcm5zL19zdGVwLWJ5LXN0ZXAtcmVsYXRlZC5zY3NzIiwicGF0dGVybnMvX3Rhc2stbGlzdC5zY3NzIiwicGF0dGVybnMvX3JlbGF0ZWQtaXRlbXMuc2NzcyIsImRjbGcvX2Nob3Nlbi5zY3NzIiwiZGNsZy9fcGFsZXR0ZS5zY3NzIiwiZGNsZy9fY3VzdG9tX2NoZWNrYm94LnNjc3MiLCJkY2xnL19kYXRlcGlja2VyLnNjc3MiLCJkY2xnL19ncmFudHMuc2NzcyIsImRjbGcvX3BhZ2VyLnNjc3MiLCJkY2xnL19icmVhZGNydW1icy5zY3NzIiwiZGNsZy9faGVhZGVyLnNjc3MiLCJkY2xnL19zbGlkaW5nLXBhbmVsLnNjc3MiLCJkY2xnL19mb3Jtcy5zY3NzIiwiZGNsZy9fc2VhcmNoLnNjc3MiLCJkY2xnL19kYXRhR3JpZC5zY3NzIiwiZGNsZy9fZGF0YUdyaWREZWx0YTIuc2NzcyIsImRjbGcvZGVsdGEtZmlsdGVycy5zY3NzIiwiZGNsZy9fZmFjZXQuc2NzcyIsImRjbGcvX25vdGljZS5zY3NzIiwiZGNsZy9fYmFyX2dyYXBoX2Rlc2NyaXB0aW9uX2JveC5zY3NzIiwiZGNsZy9fdGFicy5zY3NzIiwiZGNsZy9fcHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uLnNjc3MiLCJkY2xnL19kaWFsb2dfY3VzdG9tLnNjc3MiLCJkY2xnL19iYW5uZXIuc2NzcyIsImRjbGcvX29yYmVvbi1pbnRlZ3JhdGlvbi5zY3NzIiwiZGNsZy9fbm90aWZpY2F0aW9uX2Jhbm5lci5zY3NzIiwiZGNsZy9fd2lkZV9wYWdlLnNjc3MiLCJkY2xnL19sb2FkaW5nX2FuaW1hdGlvbi5zY3NzIiwiZGNsZy9faGVscC1pbWFnZXMuc2NzcyIsImRjbGcvX2hvbWVwYWdlLnNjc3MiLCJkY2xnL19mdWxsc2NyZWVuLnNjc3MiLCJkY2xnL19nb3Z1ay1vdmVycmlkZXMuc2NzcyIsInNjb3RfZ292L19kYXRlLXBpY2tlci5zY3NzIiwiX2ZvbnQtYXdlc29tZS5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7RUFHRTtFQUlFO0VBQUE7RUFBQTs7OztBQ05GO0VDY0EsYUNGa0I7RURHbEI7RUFDQTs7QUVESTtBQUNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsS0FDRTtFQUVGOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsS0FDRTtFQUVGOztBQ2tNQTtFSm5PTjtJQ3lCRSxhQ0hzQjs7O0FGdEJ4QjtFSzZCQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QURoQjVCO0VBcUNFLDJCQ0xtQztFRFFuQztFQUNRO0VBQ1I7RUFDUTs7QUF2Q1Y7RUVGQTtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QUZnRFI7RUFDRSxPR3VEZ0I7O0FIcERsQjtFQUNFLE9HMER3Qjs7QUh2RDFCO0VBQ0UsT0c2RHNCOztBSDFEeEI7RUFDRSxPR2dFdUI7O0FIM0R6QjtFQUNFLE9HbkJzQjs7QUp1SmxCO0VDK0hGO0lBQ0U7SUFDQTtJQUtBOzs7O0FBM0tOO0VBRUUsT0d4STBCOztBSDJJNUI7RUFFRSxPR2hMZ0I7O0FIcUxsQjtFQUNFLE9HL0hzQjs7O0FIb0p4QjtFSjVMQSxPT2ZrQjs7QUo4TVo7RUNITjtJSnpMRSxPT1FzQjs7O0FId0x4QjtFQUVJOztBQUlKO0VKek1BLE9PZmtCOztBSjhNWjtFQ1VOO0lKdE1FLE9PUXNCOzs7O0FIcU54QjtFQUVFOztBQUtGO0VBRUU7O0FBR0Y7RUFDRSxPR3JNc0I7OztBSG9ReEI7RUFDRTs7O0FBdkNGO0VBQ0UsT0d2S2dCOztBSDBLbEI7RUFDRSxPRzNLZ0I7O0FIOEtsQjtFQUNFLE9HaktzQjs7QUhvS3hCO0VBQ0UsT0c5SnVCOztBSG1LekI7RUFDRSxPR2pQc0I7OztBUnpDeEI7RUtxVkE7RUFHQTtFQUdBOztBQUVBO0VFdlZBO0VBQ0EsWUFDRTs7OztBRTNDRjtFUmNBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VLbk9OO0lSeUJFLGFDSHNCOzs7QU90QnhCO0VSa0RBO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RUtuT047SVJ1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RUtuT047SVJrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QVEzTzNCO0VSb0NBLE9PZmtCOztBSjhNWjtFS25PTjtJUnVDRSxPT1FzQjs7O0FDL0N4QjtFQUdFO0VDc0dJOztBTjBIQTtFS25PTjtJQ2dIUTs7O0FEaEhSO0VBS0U7RUFDQTs7QUFHQTtFQUNFOzs7QUFJSjtFQUlFOzs7QUFPRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7QUFBQTtFQUVFOztBTDhMSTtFS2hNTjtBQUFBO0lBS0k7Ozs7QUFJSjtFQUNFOztBTHNMSTtFS3ZMTjtJQUlJOzs7OztBRTlDSjtFVmtDQSxPT2ZrQjs7QUo4TVo7RU9qT047SVZxQ0UsT09Rc0I7OztBRzdDeEI7RVZZQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFT2pPTjtJVnVCRSxhQ0hzQjs7O0FTcEJ4QjtFVjBEQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPak9OO0lWcVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPak9OO0lWZ1BNLFdBVFE7SUFVUixhQVJxQjs7O0FVek8zQjtFQUlFO0VBRUE7RURpR0k7O0FOMEhBO0VPak9OO0lEOEdROzs7O0FDaEdSO0VWb0JBLE9PZmtCOztBSjhNWjtFT25OTjtJVnVCRSxPT1FzQjs7O0FHL0J4QjtFVkZBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VPbk5OO0lWU0UsYUNIc0I7OztBU054QjtFVjRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPbk5OO0lWdU9NLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPbk5OO0lWa09NLFdBVFE7SUFVUixhQVJxQjs7O0FVM04zQjtFQUlFO0VBRUE7RURtRkk7O0FOMEhBO0VPbk5OO0lEZ0dROzs7O0FDbEZSO0VWTUEsT09ma0I7O0FKOE1aO0VPck1OO0lWU0UsT09Rc0I7OztBR2pCeEI7RVZoQkEsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RU9yTU47SVZMRSxhQ0hzQjs7O0FTUXhCO0VWOEJBO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RU9yTU47SVZ5Tk0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RU9yTU47SVZvTk0sV0FUUTtJQVVSLGFBUnFCOzs7QVU3TTNCO0VBSUU7RUFFQTtFRHFFSTs7QU4wSEE7RU9yTU47SURrRlE7Ozs7QUNwRVI7RVZSQSxPT2ZrQjs7QUo4TVo7RU92TE47SVZMRSxPT1FzQjs7O0FHSHhCO0VWOUJBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VPdkxOO0lWbkJFLGFDSHNCOzs7QVNzQnhCO0VWZ0JBO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RU92TE47SVYyTU0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RU92TE47SVZzTU0sV0FUUTtJQVVSLGFBUnFCOzs7QVUvTDNCO0VBSUU7RUFFQTtFRHVESTs7QU4wSEE7RU92TE47SURvRVE7Ozs7QUNwRFI7RVY5Q0EsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RU92S047SVZuQ0UsYUNIc0I7OztBU3NDeEI7RVZWQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPdktOO0lWMkxNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPdktOO0lWc0xNLFdBVFE7SUFVUixhQVJxQjs7O0FVL0szQjtFQUdFO0VBRUE7RUFFQSxPSFgwQjs7O0FHYzVCO0VWeERBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VPN0pOO0lWN0NFLGFDSHNCOzs7QVNnRHhCO0VWcEJBO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RU83Sk47SVZpTE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RU83Sk47SVY0S00sV0FUUTtJQVVSLGFBUnFCOzs7QVVySzNCO0VBR0U7RUFFQTtFQUNBLE9IcEIwQjs7QUoyS3RCO0VPN0pOO0lBU0k7Ozs7QUFJSjtFVnJFQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFT2hKTjtJVjFERSxhQ0hzQjs7O0FTNkR4QjtFVmpDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPaEpOO0lWb0tNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPaEpOO0lWK0pNLFdBVFE7SUFVUixhQVJxQjs7O0FVeEozQjtFQUdFO0VBRUEsT0hoQzBCOzs7QUdxQzVCO0VWekRBLE9PZmtCOztBSjhNWjtFT3RJTjtJVnRERSxPT1FzQjs7O0FHOEN4QjtFVi9FQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFT3RJTjtJVnBFRSxhQ0hzQjs7O0FTdUV4QjtFVjNDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPdElOO0lWMEpNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPdElOO0lWcUpNLFdBVFE7SUFVUixhQVJxQjs7O0FVOUkzQjtFQUlFO0VEUUk7O0FOMEhBO0VPdElOO0lEbUJROzs7O0FDUFI7RVZyRUEsT09ma0I7O0FKOE1aO0VPMUhOO0lWbEVFLE9PUXNCOzs7QUcwRHhCO0VWM0ZBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VPMUhOO0lWaEZFLGFDSHNCOzs7QVNtRnhCO0VWdkRBO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RU8xSE47SVY4SU0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RU8xSE47SVZ5SU0sV0FUUTtJQVVSLGFBUnFCOzs7QVVsSTNCO0VBSUU7RURKSTs7QU4wSEE7RU8xSE47SURPUTs7OztBQ0tSO0VWakZBLE9PZmtCOztBSjhNWjtFTzlHTjtJVjlFRSxPT1FzQjs7O0FHc0V4QjtFVnZHQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFTzlHTjtJVjVGRSxhQ0hzQjs7O0FTK0Z4QjtFVm5FQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPOUdOO0lWa0lNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPOUdOO0lWNkhNLFdBVFE7SUFVUixhQVJxQjs7O0FVdEgzQjtFQUlFO0VEaEJJOztBTjBIQTtFTzlHTjtJRExROzs7O0FDa0JSO0VWOUZBLE9PZmtCOztBSjhNWjtFT2pHTjtJVjNGRSxPT1FzQjs7O0FHbUZ4QjtFVnBIQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFT2pHTjtJVnpHRSxhQ0hzQjs7O0FTNEd4QjtFVmhGQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VPakdOO0lWcUhNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VPakdOO0lWZ0hNLFdBVFE7SUFVUixhQVJxQjs7O0FVekczQjtFQUlFO0VEN0JJOztBTjBIQTtFT2pHTjtJRGxCUTs7OztBQytDUjtFQUNFOztBUG1FSTtFT3BFTjtJQUlJOzs7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtFRDlETTs7QU4wSEE7RU81RE47QUFBQTtBQUFBO0FBQUE7QUFBQTtJRHZEUTs7OztBQzZEUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7O0FQZ0RJO0VPdEROO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFTSTs7Ozs7QUN0TEo7RUFDRTtFQUNBOzs7QUFTRjtFRjhGTTs7QU4wSEE7RVF4Tk47SUZxR1E7OztBRXJHUjtFRjhGTTs7QU4wSEE7RVF4Tk47SUZxR1E7Ozs7QUU1RlI7RUZxRk07O0FOMEhBO0VRL01OO0lGNEZROzs7QUU1RlI7RUZxRk07O0FOMEhBO0VRL01OO0lGNEZROzs7O0FFbkZSO0VGNEVNOztBTjBIQTtFUXRNTjtJRm1GUTs7O0FFbkZSO0VGNEVNOztBTjBIQTtFUXRNTjtJRm1GUTs7OztBRXhFUjtFQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMvQkY7RUgrRk07O0FOMEhBO0VTek5OO0lIc0dROzs7QUd0R1I7RUFvQkU7RUFDQTtFQUNBOztBQU9BO0VaekJGLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VTNUxKO0laZEEsYUNIc0I7OztBV2lCdEI7RVpXRjtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VTNUxKO0laZ05JLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VTNUxKO0laMk1JLFdBVFE7SUFVUixhQVJxQjs7O0FZcE16QjtFQUVFO0VBR0E7RUFDQSxZQTNCYTtFQTRCYjtFQUNBOztBQUtGO0VBQ0U7O0FUOEtFO0VTek5OO0lBa0RJO0lBRUE7SUFDQTtJQUNBOztFQUVBO0FBQUE7SUFFRSxjQXpEYTs7RUE0RGY7SUFDRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDaEVOO0VBQ0U7RUFDQTtFQUNBOztBQ1RGO0VMdUdNOztBTjBIQTtFV2pPTjtJTDhHUTs7O0FLMUdOO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FEVko7RUFDRTtFQUNBO0VBQ0E7O0FFVEY7RUFFRTtFQUNBOzs7QUFJQTtFQ3lDRjtFQUVFO0VBRUY7O0FiNktNO0VZMU5KO0lDK0NBO0lBQ0EsT0FSMkM7Ozs7QUR4QzNDO0VDeUNGO0VBRUU7RUFFRjs7QWI2S007RVkxTko7SUMrQ0E7SUFDQSxPQVIyQzs7OztBRHhDM0M7RUN5Q0Y7RUFFRTtFQUVGOztBYjZLTTtFWTFOSjtJQytDQTtJQUNBLE9BUjJDOzs7O0FEeEMzQztFQ3lDRjtFQUVFO0VBRUY7O0FiNktNO0VZMU5KO0lDK0NBO0lBQ0EsT0FSMkM7Ozs7QUR4QzNDO0VDeUNGO0VBRUU7RUFFRjs7QWI2S007RVkxTko7SUMrQ0E7SUFDQSxPQVIyQzs7OztBRHhDM0M7RUN5Q0Y7RUFFRTtFQUVGOztBYjZLTTtFWTFOSjtJQytDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7O0FEL0IzQztFQ2dDRjtFQUlBOztBYjZLTTtFWWpOSjtJQ3NDQTtJQUNBLE9BUjJDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMxQjdDO0VBSUU7RUFDQTtFQUNBOztBZHNNSTtFYzVNTjtJQVlJO0lBQ0E7Ozs7QUFXSjtBQUFBO0VSMERNOztBTjBIQTtFY3BMTjtBQUFBO0lSaUVROzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QVM3R1I7RUFHRSxrQlh5QjZCO0VXckI3QjtFQUNHO0VBQ0s7O0FBY1I7RUF2QkY7SUF3Qkk7O0VBRUE7SUFDRTs7O0FmcU1BO0VlaE9OO0lBa0NJOzs7O0FBS0o7RUFHRTtFQUVBLGtCWFQyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QVlnQzdCO0VBbERBLFdDUmlCO0VEV2pCLGNDMkJrQjtFRDFCbEIsYUMwQmtCOztBRHZCbEI7RUEyQ0E7SUFyQ0U7SUFDQTs7O0FoQmlNSTtFZ0I3Sk47SUEvQkUsY0NJVztJREhYLGFDR1c7O0VEQVg7SUEyQkY7TUFyQkk7TUFDQTs7OztBaEJpTEU7RWdCN0pOO0lBYkU7SUFDQTs7RUFJQTtJQVFGO01BUEk7TUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUUzREo7RVpvR007O0FOMEhBO0VrQjlOTjtJWjJHUTs7OztBWXZHUjtFQUNFOzs7QUFHRjtFQUVFO0VBQ0E7RUFFQTtFQUNBOzs7QUFHRjtFckJSQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFa0I3TU47SXJCR0UsYUNIc0I7OztBb0JBeEI7RXJCc0NBO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RWtCN01OO0lyQmlPTSxXQWJZO0lB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V0FUUTtJQVVSLGFBUnFCOzs7QXlCM08zQjtFQUdFO0VBQ0E7RUFDQTtFQUNBO0VBRUEsT2xCNkVpQjs7OztBbUJyRm5CO0UxQmNBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0V1Qm5PTjtJMUJ5QkUsYUNIc0I7OztBeUJ0QnhCO0UxQmtEQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0V1Qm5PTjtJMUJ1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXVCbk9OO0kxQmtQTSxXQVRRO0lBVVIsYUFScUI7OztBMEIzTzNCO0VBR0U7RUFFQSxPbkJtRDBCOzs7QW1CdEM1QjtFQUNFOzs7QUFjRjtFQUNFOzs7QUFJRjtFQUNFOzs7O0FDdkNGO0UzQmNBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0V3Qm5PTjtJM0J5QkUsYUNIc0I7OztBMEJ0QnhCO0UzQmtEQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0V3Qm5PTjtJM0J1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXdCbk9OO0kzQmtQTSxXQVRRO0lBVVIsYUFScUI7OztBMkIzTzNCO0UzQm9DQSxPT2ZrQjs7QUo4TVo7RXdCbk9OO0kzQnVDRSxPT1FzQjs7O0FvQi9DeEI7RUFJRTtFQUVBOzs7QUFJRjtBQUFBO0FBQUE7RTNCa0RBO0UyQjlDRTs7O0FBR0Y7RTNCNk5JLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RXdCbE5OO0kzQnNPTSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFd0JsTk47STNCaU9NLFdBVFE7SUFVUixhQVJxQjs7OztBMkJ0TjNCO0UzQnlOSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0V3QjlNTjtJM0JrT00sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXdCOU1OO0kzQjZOTSxXQVRRO0lBVVIsYUFScUI7Ozs7QTJCbE4zQjtFM0JxTkksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFd0IxTU47STNCOE5NLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0V3QjFNTjtJM0J5Tk0sV0FUUTtJQVVSLGFBUnFCOzs7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QTtFQUNBO0VBQ0E7RUFDQTs7O0FBV0E7RUFDRTs7QUFHRjtFQUNFOzs7Ozs7OztBQy9FSjtFdkNRQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFb0M3Tk47SXZDbUJFLGFDSHNCOzs7QXNDaEJ4QjtFdkM0Q0E7RUE0TEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFb0M3Tk47SXZDaVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VvQzdOTjtJdkM0T00sV0FUUTtJQVVSLGFBUnFCOzs7QXVDck8zQjtFdkM4QkEsT09ma0I7O0FKOE1aO0VvQzdOTjtJdkNpQ0UsT09Rc0I7OztBZ0N6Q3hCO0VBR0U7RUFDQTtFQUNBLFNBUGtCOztBQWFsQjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBSUE7O0FBUUY7RUFDRTtFQUVBOztBQUdGO0VBQ0U7RUFDQTs7OztBQ3BDSjtFeENNQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFcUMzTk47SXhDaUJFLGFDSHNCOzs7QXVDZHhCO0V4QzBDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VxQzNOTjtJeEMrT00sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXFDM05OO0l4QzBPTSxXQVRRO0lBVVIsYUFScUI7OztBd0NuTzNCO0UvQmlHTTs7QU4wSEE7RXFDM05OO0kvQndHUTs7O0ErQnhHUjtFL0JpR007O0FOMEhBO0VxQzNOTjtJL0J3R1E7OztBK0J4R1I7RUFLRTtFQUNBLE9qQ09nQjtFaUNOaEIsWWpDZ0I2Qjs7O0FpQ2IvQjtFeENKQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFcUNqTk47SXhDT0UsYUNIc0I7OztBdUNKeEI7RXBDV0E7RUFHRSwyQkNoQjZCO0VEb0I3Qix1QkNQMEI7O0FEaEI1QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VFRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FGb01SO0VKNUxBLE9PZmtCOztBSjhNWjtFQ0hOO0lKekxF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a0NrVGY7RUFDRSxPbENyUGtCOzs7QWtDMFB4QjtFQUNFO0VBQ0E7OztBdENyR0k7RXNDeUdKO0lBQ0U7SUFDQTtJQUNBOztFQUlBO0lBRUU7O0VBSUY7SUFDRTs7Ozs7Ozs7O0FDMVZOO0UxQ2NBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0V1Q25PTjtJMUN5QkUsYUNIc0I7OztBeUN0QnhCO0UxQ2tEQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0V1Q25PTjtJMUN1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXVDbk9OO0kxQ2tQTSxXQVRRO0lBVVIsYUFScUI7OztBMEMzTzNCO0UxQ29DQSxPT2ZrQjs7QUo4TVo7RXVDbk9OO0kxQ3VDRSxPT1FzQjs7O0FtQy9DeEI7RUFHRTtFakNzR0k7O0FOMEhBO0V1Q25PTjtJakNnSFE7OztBaUNoSFI7RWpDeUdNOztBTjBIQTtFdUNuT047SWpDZ0hROzs7QWlDaEhSO0VBU0U7RUFFQTs7QUFFQTtFQUNFOztBQUdGO0FBQUE7RUFFRTs7Ozs7QUNuQko7RTNDY0EsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RXdDbk9OO0kzQ3lCRSxhQ0hzQjs7O0EwQ3RCeEI7RTNDa0RBO0VBNExJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RXdDbk9OO0kzQ3VQTSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFd0NuT047STNDa1BNLFdBVFE7SUFVUixhQVJxQjs7O0EyQzNPM0I7RWxDeUdNOztBTjBIQTtFd0NuT047SWxDZ0hROzs7QWtDaEhSO0VBSUU7RUFFQSxrQnBDUWlCOztBb0NOakI7RUFDRTs7O0FBSUo7RUFDRTtFQUlBOztBeENpTkk7RXdDdE5OO0lBUUk7Ozs7QUFJSjtFM0NxTkksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFd0MxTU47STNDOE5NLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0V3QzFNTjtJM0N5Tk0sV0FUUTtJQVVSLGFBUnFCOzs7QTJDbE4zQjtFM0NtQ0E7RTJDOUJFO0VBQ0E7RUFDQTs7O0FBR0Y7RTNDQ0EsT09ma0I7O0FKOE1aO0V3Q2hNTjtJM0NJRSxPT1FzQjs7O0FvQ1p4QjtFQUdFO0VBRUEsa0JwQ0YyQjs7QUo2THZCO0V3Q2hNTjtJQVFJLFNBUGU7OztBQVlqQjtFQUdFO0VBT0E7O0FBR0Y7RUFDRTs7O0FBSUo7RTNDNEtJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RXdDaktOO0kzQ3FMTSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFd0NqS047STNDZ0xNLFdBVFE7SUFVUixhQVJxQjs7O0EyQ3pLM0I7RTNDTkE7RTJDVUU7RUFFQTs7O0FBR0Y7RTNDN0RBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0V3Q3hKTjtJM0NsREUsYUNIc0I7OztBMENxRHhCO0V2QzlDQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QURoQjVCO0VBcUNFLDJCQ0xtQztFRFFuQztFQUNRO0VBQ1I7RUFDUTs7QUF2Q1Y7RUVGQTtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QUY4UVI7RUFDRSxPR3ZLZ0I7O0FIMEtsQjtFQUNFLE9HM0tnQjs7QUg4S2xCO0VBQ0UsT0dqS3NCOztBSG9LeEI7RUFDRSxPRzlKdUI7O0FIbUt6QjtFQUNFLE9HalBzQjs7O0FvQ0l4QjtFQUNFLGNwQ2FtQjtFb0NYbkIsa0JwQ1dtQjs7QUgyRHJCO0VBRUUsT0c3RG1COztBSGdFckI7RUFDRTs7QUFHRjtFQUNFLE9HckVtQjs7QUgwRXJCO0VBQ0UsT0c3RnNCOzs7O0FxQzFFeEI7RW5DdUdNOztBTjBIQTtFeUNqT047SW5DOEdROzs7QW1DOUdSO0VBRUU7RUFDQTtFQUNBO0VBQ0E7O0F6QzROSTtFeUNqT047SUFRSTtJQUNBOzs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0FBQUE7QUFBQTtFNUNQQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFeUM5TU47QUFBQTtBQUFBO0k1Q0lFLGFDSHNCOzs7QTJDRHhCO0FBQUE7QUFBQTtFNUM2QkE7RUE0TEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFeUM5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R2xCO0VBQ0E7O0FHbU5NO0VrRG5PTjtJckR5QkUsYUNIc0I7OztBb0R0QnhCO0VqRDZCQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QURtTTVCO0VKNUxBLE9PZmtCOztBSjhNWjtFQ0hOO0lKekxFLE9PUXNCOzs7QUh3THhCO0VBRUk7O0FBSUo7RUp6TUEsT09ma0I7O0FKOE1aO0VDVU47SUp0TUUsT09Rc0I7OztBOEMvQ3hCO0VyRDhPSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VrRG5PTjtJckR1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RWtEbk9OO0lyRGtQTSxXQVRRO0lBVVIsYUFScUI7OztBcUQzTzNCO0VBT0U7RUFDQTs7QUFHQTtFQVhGO0lBaUJJO0lBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBLGtCOUMwQ2U7RUhyQ25CO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCO0VnREF0Qjs7O0FBTUo7RUFVRTs7OztBQzdDSjtFdERjQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFbURuT047SXREeUJFLGFDSHNCOzs7QXFEdEJ4QjtFdERrREE7RUE0TEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFbURuT047SXREdVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VtRG5PTjtJdERrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QXNEM08zQjtFdERvQ0EsT09ma0I7O0FKOE1aO0VtRG5PTjtJdER1Q0UsT09Rc0I7OztBSm9MbEI7RW1Ebk9OO0lBSUk7SUFDQTtJQUNBO0lBQ0E7OztBQVBKO0VBU0U7RTdDZ0dJOztBTjBIQTtFbURuT047STdDZ0hROzs7O0E2Q25HUjtFQUNFOztBbkRxTkk7RW1EdE5OO0lBSUk7OztBbkRrTkU7RW1EdE5OO0lBT0k7Ozs7QUFLSjtFQUNFOzs7QW5EeU1JO0VtRGxNRjtJQUNFO0lBQ0E7SUFDQTs7OztBQUtOO0FBQUE7QUFBQTtFQUdFOztBbkR1TEk7RW1EMUxOO0FBQUE7QUFBQTtJQU1JO0lBQ0E7SUFDQTtJQUNBOzs7O0FBSUo7RUFDRTs7QW5ENEtJ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SUFjWixhQWJxQjs7O0FHUnJCO0VvRC9KTjtJdkQ4S00sV0FUUTtJQVVSLGFBUnFCOzs7OztBd0QzTzNCO0UvQ3lHTTtFQUFBOztBTjBIQTtFcURuT047SS9DZ0hROzs7QStDaEhSO0V4RGNBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VxRG5PTjtJeER5QkUsYUNIc0I7OztBdUR0QnhCO0V4RGtEQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VxRG5PTjtJeER1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXFEbk9OO0l4RGtQTSxXQVRRO0lBVVIsYUFScUI7Ozs7QXdEck8zQjtFeER3T0ksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFcUQ3Tk47SXhEaVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VxRDdOTjtJeEQ0T00sV0FUUTtJQVVSLGFBUnFCOzs7QXdEck8zQjtFeEQ0Q0E7RUFkQSxPT2ZrQjs7QUo4TVo7RXFEN05OO0l4RGlDRSxPT1FzQjs7O0FpRHpDeEI7RUFNRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RS9DdUZJOztBTjBIQTtFcURwTk47SS9DaUdROzs7O0ErQzFGUjtFQUNFOztBQUVBO0V4RFdGLE9PZmtCOztBSjhNWjtFcUQxTUo7SXhEY0EsT09Rc0I7OztBaUR0QnRCO0VBRUU7RUFDQTtFQUNBOzs7QUFJSjtFeERuQkEsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RXFEbE1OO0l4RFJFLGFDSHNCOzs7QXVEV3hCO0VwREpBO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCOztBRGhCNUI7RUFxQ0UsMkJDTG1DO0VEUW5DO0VBQ1E7RUFDUjtFQUNROztBQXZDVjtFRUZBO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROztBRmdEUjtFQUNFLE9HdURnQjs7QUhwRGxCO0VBQ0UsT0cwRHdCOztBSHZEMUI7RUFDRSxPRzZEc0I7O0FIMUR4QjtFQUNFLE9HZ0V1Qjs7QUgzRHpCO0VBQ0UsT0duQnNCOztBaUQzQ3hCO0VBSUU7RUFDQTs7O0FBR0Y7RS9DZ0VNOztBTjBIQTtFcUQxTE47SS9DdUVROzs7O0FObUhGO0VVM05OO0lBQ0U7SUFDQTtJQUNBOztFMkNxQ0U7SUFFRTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFDRTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBSUo7SUFHRTtJQUVBO0lBR0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQSxrQmpEdER1Qjs7RWlEd0R2QjtJQUNFOztFcERpSVI7SUo1TEEsT09ma0I7O0VpRDhFZDtJQUdFOzs7QXJENkhBO0VDSE47SUp6TEUsT09Rc0I7OztBSm9MbEI7RUNJTjtJQUVJOztFQUlKO0lKek1BLE9PZmtCOzs7QUo4TVo7RUNVTjtJSnRNRSxPT1FzQjs7O0FKb0xsQjtFcUQzSEE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSUo7SS9DVEU7SStDV0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBSUo7SUFDRTs7Ozs7OztBQzFITjtFekRVQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFc0QvTk47SXpEcUJFLGFDSHNCOzs7QXdEbEJ4QjtFekQ4Q0E7RUE0TEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFc0QvTk47SXpEbVBNLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VzRC9OTjtJekQ4T00sV0FUUTtJQVVSLGFBUnFCOzs7QXlEdk8zQjtFQUVFO0VoRG1HSTs7QU4wSEE7RXNEL05OO0loRDRHUTs7O0FnRDVHUjtFQUlFO0VBQ0E7OztBQVVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQU1GO0VBQ0UsWUFuQzZCOzs7QUFzQy9CO0VBQ0U7RUFDQTtFekRORixPT2ZrQjs7QUo4TVo7RXNEM0xOO0l6RERFLE9PUXNCOzs7O0FrRER4QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0V6RGRGLE9PZmtCOztBSjhNWjtFc0RyTE47SXpEUEUsT09Rc0I7Ozs7QWtET3hCO0VBQ0UsT2xEQzBCOzs7QWtESzVCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQSxPbERqQjBCOzs7Ozs7OztBbUR4RDVCO0UxRGNBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0V1RG5PTjtJMUR5QkUsYUNIc0I7OztBeUR0QnhCO0UxRGtEQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0V1RG5PTjtJMUR1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RXVEbk9OO0kxRGtQTSxXQVRRO0lBVVIsYUFScUI7OztBMEQzTzNCO0VqRHlHTTs7QU4wSEE7RXVEbk9OO0lqRGdIUTs7O0FpRGhIUjtFMUQ0REE7RTBEeERFO0VBQ0E7OztBQUdGO0VBQ0U7RUFFQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7O0F2RGlOSTtFdUQzTk47SUFhSTs7O0FBYko7RUFrQkU7RUFDQTtFQUVBLE9uRFMyQjtFbURSM0IsWW5EVGdCO0VtRFdoQjtFQUNBO0VBRUE7RUFJQTtFQUNJO0VBQ0k7RUFJUjs7QUFFQTtFQXZDRjtJQXdDSTtJQUNBO0lBQ0E7Ozs7QUFJSjtFMURsQkEsT09ma0I7O0FKOE1aO0V1RDdLTjtJMURmRSxPT1FzQjs7O0FtRE94QjtFQUVFO0VBQ0E7RUFHQTs7Ozs7QTdDcERGO0VBQ0U7RUFDQTtFQUNBOzs7O0E4Q1hGO0VQZUE7RUFFQTtFQUNBO0VBR0E7RUFDQTtFQUVBO0VBR0E7RUFDQTtFQUNRO0VBRVI7RUFLQTtFQUtBO0VBQ0k7RUFDSTs7QUFnQlI7RUFDRTs7QUFHRjtFQUNFOzs7QUFjRjtFQS9EQTtFQUVBO0VBQ0E7RUFHQTtFQUNBO0VBRUE7RUFHQTtFQUNBO0VBQ1E7RUFFUjtFQUtBO0VBS0E7RUFDSTtFQUNJOzs7OztBUTFDUjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QXpEcU5JO0V5RGpOSjtJQUNFOzs7O0FDaUJGO0VwRG1FSTs7O0FvRDdERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7OztBb0Q3REY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EckVKO0VwRG1FSTs7O0FvRDdERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOztBTjRIQTtFMEQvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QU40SEE7RTBEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FONEhBO0UwRC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBTjRIQTtFMEQvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QU40SEE7RTBEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FONEhBO0UwRC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7OztBb0Q3REY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EckVKO0VwRG1FSTs7O0FvRDdERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7O0FONEhBO0UwRC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBTjRIQTtFMEQvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QU40SEE7RTBEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FONEhBO0UwRC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBTjRIQTtFMEQvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QU40SEE7RTBEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FOMEhBO0UwRHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QU4wSEE7RTBEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBTjBIQTtFMER6TEY7SXBEc0VJOzs7O0FvRGhETjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFOSjtFQUNFOzs7QUFJQTtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7QUFERjtFQUNFOzs7O0FDckVOO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7Ozs7QUNIQTtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFNEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0U0RDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHBPekI7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RTRENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFNEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0RwT3pCO0UvRHVPRSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0U0RDVOSjtJL0RnUEksV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RTRENU5KO0kvRDJPSSxXQVRRO0lBVVIsYUFScUI7Ozs7QStEcE96QjtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFNEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0U0RDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHBPekI7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RTRENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFNEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0RwT3pCO0UvRHVPRSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0U0RDVOSjtJL0RnUEksV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RTRENU5KO0kvRDJPSSxXQVRRO0lBVVIsYUFScUI7Ozs7QStEcE96QjtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFNEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0U0RDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHBPekI7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RTRENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFNEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0R0TjNCO0UvRDZCQTs7O0ErRHpCQTtFL0RtQ0E7OztBK0Q3QkE7RS9EOENBOzs7QStEMUNBO0UvRHdEQTtFQUdBOzs7O0FnRTdGQTtFQUNFOzs7QUFHRjtFQUNFOztBN0Q2Tkk7RTZEOU5OO0lBSUk7Ozs7QUFJSjtFQUNFOztBN0RxTkk7RTZEdE5OO0lBSUk7Ozs7QUFJSjtFQUNFOztBN0Q2TUk7RTZEOU1OO0lBSUk7Ozs7QUFJSjtFQUNFOztBN0RxTUk7RTZEdE1OO0lBSUk7Ozs7QUFJSjtFQUNFOztBN0Q2TEk7RTZEOUxOO0lBSUk7Ozs7Ozs7OztBQ3ZDTjtFakVrQ0UsT09ma0I7O0FKOE1aO0U4RGpPUjtJakVxQ0ksT09Rc0I7OztBMEQ3QzFCO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QTlEMk5NO0U4RGpPUjtJQVNJOzs7O0FBTUo7RWpFSEUsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RThEbE5SO0lqRVFJLGFDSHNCOzs7QWdFTDFCO0Vq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RTNXRSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFK0RzSlI7SWxFaFdJLGFDSHNCOzs7QWlFbVcxQjtFOUQ1VkU7RUFHRSwyQkNoQjZCO0VEb0I3Qix1QkNQMEI7O0FEaEI1QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VFRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FGZ0RSO0VBQ0UsT0d1RGdCOztBSHBEbEI7RUFDRSxPRzBEd0I7O0FIdkQxQjtFQUNFLE9HNkRzQjs7QUgxRHhCO0VBQ0UsT0dnRXVCOztBSDNEekI7RUFDRSxPR25Cc0I7OztBMkRrVDFCO0VkL1dFO0VBRUE7RUFDQTtFQUdBO0VBQ0E7RUFFQTtFQUdBO0VBQ0E7RUFDUTtFQUVSO0VBS0E7RUFLQTtFQUNJO0VBQ0k7O0FBZ0JSO0VBQ0U7O0FBR0Y7RUFDRTs7O0Fja1VKO0VBQ0U7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQSxRQTVZVztFQTZZWDs7QS9EN0tJO0UrRGtMRjtJQUNFO0lBQ0E7SUFDQSxRQXBaYTs7O0E5RDRObkI7RUo1TEEsT09ma0I7O0FKOE1aO0VDSE47SUp6TEUsT09Rc0I7OztBSHdMeEI7RUFFSTs7QUFJSjtFSnpNQSxPT2ZrQjs7QUo4TVo7RUNVTjtJSnRNRSxPT1FzQjs7OztBMkRtWDFCO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7OztBQ3JhSjtFbkVpQ0UsT09ma0I7O0FKOE1aO0VnRWhPUjtJbkVvQ0ksT09Rc0I7OztBNEQ1QzFCO0VBRUU7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VuRUdBLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VnRTFOUjtJbkVnQkksYUNIc0I7OztBa0ViMUI7RW5FbURFO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RWdFMU5SO0luRThPUSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFZ0UxTlI7SW5FeU9RLFdBVFE7SUFVUixhQVJxQjs7OztBbUU1TjdCO0VuRURFLGFDRmtCO0VER2xCO0VBQ0E7O0FHbU5NO0VnRXBOUjtJbkVVSSxhQ0hzQjs7O0FrRVAxQjtFbkU2Q0U7RUFrTEksV0FKYztFQUtkLGFBSnVCOztBR1JyQjtFZ0VwTlI7SW5Fd09RLFdBYlk7SUFjWixhQWJxQjs7O0FHUnJCO0VnRXBOUjtJbkVtT1EsV0FUUTtJQVVSLGFBUnFCOzs7QW1FNU43QjtFQUVFO0VBQ0E7OztBQUdGO0VBQ0U7O0FBRUE7RW5FVkEsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RWdFM01OO0luRUNFLGFDSHNCOzs7QWtFRXhCO0VuRW9DQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VnRTNNTjtJbkUrTk0sV0FiWTtJQWNaLGFBYnFCOzs7QUdSckI7RWdFM01OO0luRTBOTSxXQVRRO0lBVVIsYUFScUI7OztBbUVuTjNCO0VBRUU7O0FoRXlNSTtFZ0UzTU47SUFLSTs7O0FBSUo7RUFDRTs7O0FBSUo7RUFDRTtFQUNBOztBaEUyTE07RWdFN0xSO0lBS0k7Ozs7QUFJSjtFQUNFOzs7QUFHRjtFQUNFOztBaEUrS007RWdFaExSO0lBSUk7Ozs7QUN0REo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QWpFOE5NO0VpRWxPUjtJQU1JOzs7O0FBSUo7RUFDRTtFcEVFQSxhQ0ZrQjtFREdsQjtFQUNBOztBR21OTTtFaUV4TlI7SXBFY0ksYUNIc0I7OztBbUVYMUI7RXBFaURFO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUdSckI7RWlFeE5SO0lwRTRPUSxXQWJZO0lBY1osYUFicUI7OztBR1JyQjtFaUV4TlI7SXBFdU9RLFdBVFE7SUFVUixhQVJxQjs7OztBb0UzTjdCO0VBQ0U7O0FqRWtOTTtFaUVuTlI7SUFJSTtJQUNBOzs7O0FBSUo7RXBFWEUsYUNGa0I7RURHbEI7RUFDQTs7QUdtTk07RWlFMU1SO0lwRUFJLGFDSHNCOzs7QW1FRzFCO0VwRXlCRTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FHUnJCO0VpRTFNUjtJcEU4TlEsV0FiWTtJQWNa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SjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0M7RUFDQTs7O0FDN09EO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUNBOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7QUFBQTtFQUVFOzs7QUFFRjtFQUNFO0FBQUE7SUFFRTs7O0FBR0o7RUFDRTtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7O0FDOUNKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQ1JKO0VBQ0U7O0FBRUE7RUFDRTs7O0FBS0o7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUVFO0VBQ0E7OztBQUdGO0VBQ0UsT05VTztFTVRQOzs7QUFJQTtFQUNFO0VBQ0E7OztBQzdDQTtFQUNJO0VBQ0E7O0FBRUE7RUFDSTs7QUFFQTtBQUFBO0VBRUk7O0FBTVo7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSSxPUElKO0VPSEk7OztBQUtaO0VBQ0k7OztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFD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RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUlBO0VBQ1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJWjtBQUFBO0FBR0k7RUFDSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBS0E7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7OztBQUtSO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQzlrQko7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFQRjtBQUFBO0lBUUk7OztBQUtGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTtFQUNBOztBQUdGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7RUFFRTtFQUNLO0VBQ0s7RUFFVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFFQTs7QUFHQTtBQUFBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBSko7QUFBQTtJQUtRO0lBQ0E7Ozs7QUMzR1o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlSO0VBQ0k7RUFDQTs7O0FBS0Q7RUFDQzs7O0FBS0o7RUFDQzs7QUFFQTtFQUNDOzs7QUFLRTtFQUNJOztBQUlKO0VBQ0k7RUFDQSxPVjlDSztFVStDTDtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQSxPVnhESztFVXlETDtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOzs7QUFLUjtFQUNJOzs7QUFVUTtFQUNJO0VBQ0E7RUFDQTs7QUFNUjtFQUNJOztBQUtKO0VBQ0k7OztBQVFaO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJWjtFQUVJO0VBQ0E7RUFDQSxZVjdGSTtFVThGSjtFQUNBLFNGakpVO0VFa0pWO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJLGVGbEthO0VFbUtiOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9WdkxLOzs7QVU0TGI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7OztBQUlSO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtBQUFBO0VBQ0k7RUFFQTtFQUNBO0VBRUE7RUFDQTtFQUNBOztBQUVBO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0FBQUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFPWjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTs7O0FBTUY7RUFDSTtFQUNBOzs7QUFHSjtFQUNFOzs7QUFHRjtFQUNJOzs7QUN4VEo7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUNBO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUNBO0VBQ0k7O0FBSVI7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNBO0VBQ0k7O0FBSVI7RUFDSTs7QUFDQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJOztBQU9wQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUtaO0VBQ0k7O0FBR0o7RUFDSTs7QUFFSjtFQUNJOztBQUdKO0VBQ0k7O0FBSUE7RUFDSTs7QUFFSjtFQUNJOztBQUdKO0VBQ0k7O0FBSUE7RUFDSTs7QUFFSjtFQUNJOztBQUdKO0VBQ0k7O0FBS0o7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBSUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7SUFDSTs7O0FBR1I7RUFDSTtJQUNJO0lBQ0E7OztBQUlSO0VBQ0k7RUFDQTtFQUNBOztBQUdKO0FBQUE7QUFBQTtFQUdJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0FBQUE7QUFBQTtJQUdJOzs7QUFHUjtFQUNJO0FBQUE7QUFBQTtJQUdJO0lBQ0E7OztBQUdSO0VBQ0k7QUFBQTtBQUFBO0lBR0k7SUFDQTs7O0FBR1I7QUFBQTtBQUFBO0VBR0k7O0FBR0o7RUFDSTtFQUNBOztBQUVKO0VBQ0k7SUFDSTs7O0FBSVI7QUFBQTtFQUVJOztBQUVKO0FBQUE7RUFFSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtBQUFBO0FBQUE7QUFBQTtFQUlJOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtJQUNJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBR1I7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtF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Q0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDRjtFQVJGO0lBU0U7SUFDQTs7OztBQUlGO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDRjtFQVRGO0lBVUU7SUFDQTs7OztBQUlGO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFMSjtJQU1ROzs7O0FBS1I7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQy9GSjtFQUNFLFlIQ087OztBR0VUO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBTEY7SUFNSTtJQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBS047RUFDSTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQ3BGSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0lBQ0U7SUFDQTs7O0FBSUg7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0g7RUFDRTtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOzs7QUFJSDtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdIO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7OztBQ3RISjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBRUg7SUFDQzs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUE7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7O0FBR1I7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDdkdaO0VBQ0U7RUFDQTs7O0FBQ0E7RUFDRTtJQUNFOzs7QUFFTjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUNBO0VBQ0U7SUFDRTtJQUNBOzs7QUFFTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUNBO0VBQ0U7SUFDRTtJQUNBOzs7QUFDTjtFQUNFOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNFOzs7QUFJQTtFQUNFOztBQUVGO0VBQ0U7RUFDQTs7O0FDeERKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJOzs7QUFHSjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzlDRjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FDZko7RUFFSTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBQUtOO0VBQ0U7SUFDRTtJQUNBOztFQUVBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFFRTs7O0FBS047RUFHRTs7O0FDekRGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FDM0JKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUVFOzs7QUMvQkY7RUFDRTtFQUNBOzs7QUNGRjtFQUNFO0VBQ0E7RUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBOztBQUlBO0VBUkY7SUFTTTs7OztBQUlOO0VBQ0U7OztBQ2RGO0VBRUU7OztBQ0ZGO0FBQUE7QUFBQTtBQVlBO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUNBO0VBRkY7SUFHSTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBRUU7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBTVI7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQWpORjtFQXdOQTtJQUNFOztFQUVBO0lBQ0U7O0VBSUE7SUFDRTs7RUFHRjtJQUNFOzs7QUFPVjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQ25SRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOzs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFFQTtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7RUFHRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7RUFHRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRSIsImZpbGUiOiJhcHBsaWNhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gIC8vIFRoaXMgdmFyaWFibGUgaXMgYXV0b21hdGljYWxseSBvdmVyd3JpdHRlbiBkdXJpbmcgYnVpbGRzIGFuZCByZWxlYXNlcy5cbiAgLy8gSXQgZG9lc24ndCBuZWVkIHRvIGJlIHVwZGF0ZWQgbWFudWFsbHkuXG4gIC0tZ292dWstZnJvbnRlbmQtdmVyc2lvbjogXCI1LjcuMVwiO1xuXG4gIC8vIENTUyBjdXN0b20gcHJvcGVydHkgZm9yIGVhY2ggYnJlYWtwb2ludFxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRnb3Z1ay1icmVha3BvaW50cyB7XG4gICAgLS1nb3Z1ay1mcm9udGVuZC1icmVha3BvaW50LSN7JG5hbWV9OiAje2dvdnVrLXB4LXRvLXJlbSgkdmFsdWUpfTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZ292dWstZnJvbnRlbmQtcHJvcGVydGllcy5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuICAlZ292dWstbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstcHJpbnQtZnJpZW5kbHk7XG4gIH1cblxuICAuZ292dWstbGluayB7XG4gICAgQGV4dGVuZCAlZ292dWstbGluaztcbiAgfVxuXG4gIC8vIFZhcmlhbnQgY2xhc3NlcyBzaG91bGQgYWx3YXlzIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgLmdvdnVrLWxpbmtcbiAgLy8gY2xhc3MsIHNvIHdlIGRvIG5vdCBuZWVkIHRoZSBjb21tb24gbGluayBzdHlsZXMgYXMgdGhleSB3aWxsIGJlIGluaGVyaXRlZC5cblxuICAuZ292dWstbGluay0tbXV0ZWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQ7XG4gIH1cblxuICAuZ292dWstbGluay0tdGV4dC1jb2xvdXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS1pbnZlcnNlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2U7XG4gIH1cblxuICAuZ292dWstbGluay0tbm8tdW5kZXJsaW5lIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXVuZGVybGluZTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS1uby12aXNpdGVkLXN0YXRlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGU7XG4gIH1cblxuICAvLyBMaW5rcyB0aGF0IG9ubHkgY29udGFpbiBpbWFnZXNcblxuICAuZ292dWstbGluay1pbWFnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1pbWFnZTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fbGlua3Muc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy90eXBvZ3JhcGh5XG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9weC10by1yZW1cIjtcblxuLy8vICdDb21tb24gdHlwb2dyYXBoeScgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSBmb250IGZhbWlseSBhbmQgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzLCBzdWNoIGFzIGZvbnQgc21vb3RoaW5nLiBBbHNvXG4vLy8gb3ZlcnJpZGVzIHRoZSBmb250IGZvciBwcmludC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGZvbnQtZmFtaWx5IFskZ292dWstZm9udC1mYW1pbHldIEZvbnQgZmFtaWx5IHRvIHVzZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigkZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseSkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAvLyBJZiB0aGUgdXNlciBpcyB1c2luZyB0aGUgZGVmYXVsdCBHRFMgVHJhbnNwb3J0IGZvbnQgd2UgbmVlZCB0byBpbmNsdWRlXG4gIC8vIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb25zLlxuICBAaWYgJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2Uge1xuICAgIEBpbmNsdWRlIF9nb3Z1ay1mb250LWZhY2UtZ2RzLXRyYW5zcG9ydDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktcHJpbnQ7XG4gIH1cbn1cblxuLy8vIFRleHQgY29sb3VyIGhlbHBlclxuLy8vXG4vLy8gU2V0cyB0aGUgdGV4dCBjb2xvdXIsIGluY2x1ZGluZyBhIHN1aXRhYmxlIG92ZXJyaWRlIGZvciBwcmludC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10ZXh0LWNvbG91ciB7XG4gIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgY29sb3I6ICRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gUmVndWxhciBmb250IHdlaWdodCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJGdvdnVrLWZvbnQtd2VpZ2h0LXJlZ3VsYXIgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBCb2xkIGZvbnQgd2VpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSBVc2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ292dWstZm9udC13ZWlnaHQtYm9sZCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbn1cblxuLy8vIFRhYnVsYXIgbnVtYmVyIGhlbHBlclxuLy8vXG4vLy8gU3dpdGNoZXMgbnVtZXJpY2FsIGdseXBocyAoMOKAkzkpIHRvIHVzZSBhbHRlcm5hdGl2ZSBmb3JtcyB3aXRoIGFcbi8vLyBtb25vc3BhY2VkIGJvdW5kaW5nIGJveC4gVGhpcyBlbnN1cmVzIHRoYXQgY29sdW1ucyBvZiBudW1iZXJzLCBzdWNoXG4vLy8gYXMgdGhvc2UgaW4gdGFibGVzLCByZW1haW4gaG9yaXpvbnRhbGx5IGFsaWduZWQgd2l0aCBvbmUgYW5vdGhlci5cbi8vLyBUaGlzIGFsc28gaGFzIHRoZSB1c2VmdWwgc2lkZSBlZmZlY3Qgb2YgbWFraW5nIG51bWJlcnMgbW9yZSBsZWdpYmxlXG4vLy8gaW4gc29tZSBzaXR1YXRpb25zLCBzdWNoIGFzIHJlZmVyZW5jZSBjb2RlcywgYXMgdGhlIG51bWJlcnMgYXJlIG1vcmVcbi8vLyBkaXN0aW5jdCBhbmQgdmlzdWFsbHkgc2VwYXJhdGVkIGZyb20gb25lIGFub3RoZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXMgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBXb3JkIGJyZWFrIGhlbHBlclxuLy8vXG4vLy8gRm9yY2libHkgYnJlYWtzIGxvbmcgd29yZHMgdGhhdCBsYWNrIHNwYWNlcywgc3VjaCBhcyBlbWFpbCBhZGRyZXNzZXMsXG4vLy8gYWNyb3NzIG11bHRpcGxlIGxpbmVzIHdoZW4gdGhleSB3b3VsZG4ndCBvdGhlcndpc2UgZml0LlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSB1c2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10ZXh0LWJyZWFrLXdvcmQoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gSUUgMTEgYW5kIEVkZ2UgMTbigJMxNyBvbmx5IHN1cHBvcnQgdGhlIG5vbi1zdGFuZGFyZCBgd29yZC13cmFwYCBwcm9wZXJ0eVxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgLy8gQWxsIG90aGVyIGJyb3dzZXJzIHN1cHBvcnQgYG92ZXJmbG93LXdyYXBgXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBDb252ZXJ0IGxpbmUtaGVpZ2h0cyBzcGVjaWZpZWQgaW4gcGl4ZWxzIGludG8gYSByZWxhdGl2ZSB2YWx1ZSwgdW5sZXNzXG4vLy8gdGhleSBhcmUgYWxyZWFkeSB1bml0LWxlc3MgKGFuZCB0aHVzIGFscmVhZHkgdHJlYXRlZCBhcyByZWxhdGl2ZSB2YWx1ZXMpXG4vLy8gb3IgdGhlIHVuaXRzIGRvIG5vdCBtYXRjaCB0aGUgdW5pdHMgdXNlZCBmb3IgdGhlIGZvbnQgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgTGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBGb250IHNpemVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBsaW5lIGhlaWdodCBhcyBlaXRoZXIgYSByZWxhdGl2ZSB2YWx1ZSBvciB1bm1vZGlmaWVkXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkbGluZS1oZWlnaHQpIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gdW5pdCgkZm9udC1zaXplKSB7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplO1xuICB9XG5cbiAgQHJldHVybiAkbGluZS1oZWlnaHQ7XG59XG5cbi8vLyBGb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gUG9pbnQgZnJvbSB0aGUgdHlwZSBzY2FsZSAodGhlIHNpemUgYXMgaXQgd291bGRcbi8vLyAgIGFwcGVhciBvbiB0YWJsZXQgYW5kIGFib3ZlKVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3ZlcnJpZGUtbGluZS1oZWlnaHQgW2ZhbHNlXSAtIE5vbiByZXNwb25zaXZlIGN1c3RvbSBsaW5lXG4vLy8gICBoZWlnaHQuIE9taXQgdG8gdXNlIHRoZSBsaW5lIGhlaWdodCBmcm9tIHRoZSBmb250IG1hcC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC5cbi8vL1xuLy8vIEB0aHJvdyBpZiBgJHNpemVgIGlzIG5vdCBhIHZhbGlkIHBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGVcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbi8vLyBAYWxpYXMgZ292dWstZm9udC1zaXplXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIGBnb3Z1ay1mb250LXNpemVgIGluc3RlYWRcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiBmYWxzZSwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX3dhcm5pbmcoXG4gICAgXCJnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmVcIixcbiAgICBcImdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSBpcyBkZXByZWNhdGVkLiBVc2UgZ292dWstZm9udC1zaXplIGluc3RlYWQuXCJcbiAgKTtcbiAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQsICRpbXBvcnRhbnQpO1xufVxuXG4vLy8gRm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBoZWxwZXJcbi8vL1xuLy8vIFRha2VzIGEgcG9pbnQgZnJvbSB0aGUgcmVzcG9uc2l2ZSAnZm9udCBtYXAnIGFzIGFuIGFyZ3VtZW50ICh0aGUgc2l6ZSBhcyBpdFxuLy8vIHdvdWxkIGFwcGVhciBvbiB0YWJsZXQgYW5kIGFib3ZlKSwgYW5kIHVzZXMgaXQgdG8gY3JlYXRlIGZvbnQtc2l6ZSBhbmRcbi8vLyBsaW5lLWhlaWdodCBkZWNsYXJhdGlvbnMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50cywgYW5kIHByaW50LlxuLy8vXG4vLy8gRXhhbXBsZSBmb250IG1hcDpcbi8vL1xuLy8vIGBgYHNjc3Ncbi8vLyAxOTogKFxuLy8vICAgbnVsbDogKFxuLy8vICAgICBmb250LXNpemU6IDE2cHgsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4vLy8gICApLFxuLy8vICAgdGFibGV0OiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTlweCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbi8vLyAgICksXG4vLy8gICBwcmludDogKFxuLy8vICAgICBmb250LXNpemU6IDE0cHQsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4vLy8gICApXG4vLy8gKTtcbi8vLyBgYGBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkc2l6ZSAtIFBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGUgKHRoZSBzaXplIGFzXG4vLy8gICBpdCB3b3VsZCBhcHBlYXIgb24gdGFibGV0IGFuZCBhYm92ZSlcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBOb24gcmVzcG9uc2l2ZSBjdXN0b20gbGluZVxuLy8vICAgaGVpZ2h0LiBPbWl0IHRvIHVzZSB0aGUgbGluZSBoZWlnaHQgZnJvbSB0aGUgZm9udCBtYXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuXG4vLy9cbi8vLyBAdGhyb3cgaWYgYCRzaXplYCBpcyBub3QgYSB2YWxpZCBwb2ludCBmcm9tIHRoZSB0eXBlIHNjYWxlXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9udC1zaXplKCRzaXplLCAkbGluZS1oZWlnaHQ6IGZhbHNlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBGbGFnIGZvbnQgc2l6ZXMgdGhhdCBzdGFydCB3aXRoIHVuZGVyc2NvcmVzIHNvIHdlIGNhbiBzdXBwcmVzcyB3YXJuaW5ncyBvblxuICAvLyBkZXByZWNhdGVkIHNpemVzIHVzZWQgaW50ZXJuYWxseSwgZm9yIGV4YW1wbGUgYGdvdnVrLWZvbnQoJHNpemU6IFwiXzE0XCIpYFxuICAkc2l6ZS1pbnRlcm5hbC11c2Utb25seTogc3RyLXNsaWNlKCN7JHNpemV9LCAxLCAxKSA9PSBcIl9cIjtcblxuICAvLyBSZW1vdmUgdW5kZXJzY29yZSBmcm9tIGZvbnQgc2l6ZXMgZmxhZ2dlZCBmb3IgaW50ZXJuYWwgdXNlXG4gIEBpZiAkc2l6ZS1pbnRlcm5hbC11c2Utb25seSB7XG4gICAgJHNpemU6IHN0ci1zbGljZSgjeyRzaXplfSwgMik7XG4gIH1cblxuICAvLyBDaGVjayBmb3IgYSBmb250IG1hcCBleGFjdGx5IG1hdGNoaW5nIHRoZSBnaXZlbiBzaXplXG4gICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gIC8vIE5vIG1hdGNoPyBUcnkgd2l0aCBzdHJpbmcgdHlwZSAoZS5nLiAkc2l6ZTogXCIxNlwiIG5vdCAxNilcbiAgQGlmIG5vdCAkZm9udC1tYXAge1xuICAgIEBlYWNoICRmb250LXNpemUgaW4gbWFwLWtleXMoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUpIHtcbiAgICAgIEBpZiBub3QgJGZvbnQtbWFwIGFuZCAjeyRmb250LXNpemV9ID09ICN7JHNpemV9IHtcbiAgICAgICAgJGZvbnQtbWFwOiBtYXAtZ2V0KCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlLCAkZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdGlsbCBubyBtYXRjaD8gVGhyb3cgZXJyb3JcbiAgQGlmIG5vdCAkZm9udC1tYXAge1xuICAgIEBlcnJvciBcIlVua25vd24gZm9udCBzaXplIGAjeyRzaXplfWAgLSBleHBlY3RlZCBhIHBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGUuXCI7XG4gIH1cblxuICAvLyBDaGVjayBmb3IgYSBkZXByZWNhdGlvbiB3aXRoaW4gdGhlIHR5cGUgc2NhbGVcbiAgJGRlcHJlY2F0aW9uOiBtYXAtZ2V0KCRmb250LW1hcCwgXCJkZXByZWNhdGlvblwiKTtcblxuICBAaWYgJGRlcHJlY2F0aW9uIHtcbiAgICAvLyBXYXJuIG9uIGRlcHJlY2F0ZWQgZm9udCBzaXplcyB1bmxlc3MgZmxhZ2dlZCBmb3IgaW50ZXJuYWwgdXNlXG4gICAgQGlmIG5vdCAkc2l6ZS1pbnRlcm5hbC11c2Utb25seSB7XG4gICAgICBAaW5jbHVkZSBfd2FybmluZyhtYXAtZ2V0KCRkZXByZWNhdGlvbiwgXCJrZXlcIiksIG1hcC1nZXQoJGRlcHJlY2F0aW9uLCBcIm1lc3NhZ2VcIikpO1xuICAgIH1cblxuICAgIC8vIHJlbW92ZSB0aGUgZGVwcmVjYXRpb24gbWFwIGtleXMgc28gdGhleSBkbyBub3QgYnJlYWsgdGhlIGJyZWFrcG9pbnQgbG9vcFxuICAgICRmb250LW1hcDogbWFwLXJlbW92ZSgkZm9udC1tYXAsIFwiZGVwcmVjYXRpb25cIik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtbWFwIGluICRmb250LW1hcCB7XG4gICAgJGZvbnQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludC1tYXAsIFwiZm9udC1zaXplXCIpO1xuICAgICRmb250LXNpemUtcmVtOiBnb3Z1ay1weC10by1yZW0oJGZvbnQtc2l6ZSk7XG5cbiAgICAvLyAkY2FsY3VsYXRlZC1saW5lLWhlaWdodCBpcyBhIHNlcGFyYXRlIHZhcmlhYmxlIGZyb20gJGxpbmUtaGVpZ2h0LFxuICAgIC8vIGFzIG90aGVyd2lzZSB0aGUgdmFsdWUgd291bGQgZ2V0IHJlZGVmaW5lZCB3aXRoIGVhY2ggbG9vcCBhbmRcbiAgICAvLyBldmVudHVhbGx5IGJyZWFrIF9nb3Z1ay1saW5lLWhlaWdodC5cbiAgICAvL1xuICAgIC8vIFdlIGNvbnRpbnVlIHRvIGNhbGwgdGhlIHBhcmFtICRsaW5lLWhlaWdodCB0byBzdGF5IGNvbnNpc3RlbnQgd2l0aCB0aGVcbiAgICAvLyBuYW1pbmcgd2l0aCBnb3Z1ay1mb250LlxuICAgICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0OiBfZ292dWstbGluZS1oZWlnaHQoXG4gICAgICAkbGluZS1oZWlnaHQ6IGlmKCRsaW5lLWhlaWdodCwgJGxpbmUtaGVpZ2h0LCBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJsaW5lLWhlaWdodFwiKSksXG4gICAgICAkZm9udC1zaXplOiAkZm9udC1zaXplXG4gICAgKTtcblxuICAgIC8vIE1hcmsgcnVsZXMgYXMgIWltcG9ydGFudCBpZiAkaW1wb3J0YW50IGlzIHRydWUgLSB0aGlzIHdpbGwgcmVzdWx0IGluXG4gICAgLy8gdGhlc2UgdmFyaWFibGVzIGJlY29taW5nIHN0cmluZ3MsIHNvIHRoaXMgbmVlZHMgdG8gaGFwcGVuICphZnRlciogdGhleVxuICAgIC8vIGFyZSB1c2VkIGluIGNhbGN1bGF0aW9uc1xuICAgICRmb250LXNpemU6ICRmb250LXNpemUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgJGZvbnQtc2l6ZS1yZW06ICRmb250LXNpemUtcmVtIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0OiAkY2FsY3VsYXRlZC1saW5lLWhlaWdodCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIEBpZiBub3QgJGJyZWFrcG9pbnQge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkY2FsY3VsYXRlZC1saW5lLWhlaWdodDtcbiAgICB9IEBlbHNlIGlmICRicmVha3BvaW50ID09IFwicHJpbnRcIiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGNhbGN1bGF0ZWQtbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gRm9udCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgQm9vbGVhbiB8IFN0cmluZ30gJHNpemUgUG9pbnQgZnJvbSB0aGUgdHlwZSBzY2FsZSAodGhlXG4vLy8gICBzaXplIGFzIGl0IHdvdWxkIGFwcGVhciBvbiB0YWJsZXQgYW5kIGFib3ZlKS4gVXNlIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZ1xuLy8vICAgYSBzaXplLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2VpZ2h0IFtyZWd1bGFyXSAtIFdlaWdodDogYGJvbGRgIG9yIGByZWd1bGFyYFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHRhYnVsYXIgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gdXNlIHRhYnVsYXIgbnVtYmVycyBvciBub3Rcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBMaW5lLWhlaWdodCwgaWYgb3ZlcnJpZGluZyB0aGVcbi8vLyAgIGRlZmF1bHRcbi8vL1xuLy8vIEB0aHJvdyBpZiBgJHNpemVgIGlzIG5vdCBhIHZhbGlkIHBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGUgKG9yIGZhbHNlKVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvbnQoJHNpemUsICR3ZWlnaHQ6IHJlZ3VsYXIsICR0YWJ1bGFyOiBmYWxzZSwgJGxpbmUtaGVpZ2h0OiBmYWxzZSkge1xuICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcblxuICBAaWYgJHRhYnVsYXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzO1xuICB9XG5cbiAgQGlmICR3ZWlnaHQgPT0gcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgfSBAZWxzZSBpZiAkd2VpZ2h0ID09IGJvbGQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICBAaWYgJHNpemUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZSwgJGxpbmUtaGVpZ2h0KTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdHlwb2dyYXBoeS5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBmYW1pbGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgYWxsIHR5cG9ncmFwaHkgb24gc2NyZWVuIG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIFdlIHJlY29tbWVuZCB0aGF0IHlvdSB1c2Ugc3lzdGVtIGZvbnRzIHdoZW4gcHJpbnRpbmcuIFRoaXMgd2lsbCBhdm9pZCBpc3N1ZXNcbi8vLyB3aXRoIHNvbWUgcHJpbnRlciBkcml2ZXJzIGFuZCBvcGVyYXRpbmcgc3lzdGVtcy5cbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktcHJpbnQ6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBJbmNsdWRlIHRoZSBkZWZhdWx0IEBmb250LWZhY2UgZGVjbGFyYXRpb25zXG4vLy9cbi8vLyBEZWZhdWx0cyB0byB0cnVlIGlmIFwiR0RTIFRyYW5zcG9ydFwiIGFwcGVhcnMgaW4gdGhlICRnb3Z1ay1mb250LWZhbWlseVxuLy8vIHNldHRpbmcuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2U6IGlmKGluZGV4KCRnb3Z1ay1mb250LWZhbWlseSwgXCJHRFMgVHJhbnNwb3J0XCIpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCB3ZWlnaHRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEZvbnQgd2VpZ2h0IGZvciByZWd1bGFyIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtcmVndWxhcjogNDAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJvbGQgdHlwb2dyYXBoeVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbiRnb3Z1ay1mb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV90eXBvZ3JhcGh5LWZvbnQuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG5AaW1wb3J0IFwiLi4vdG9vbHMvZXhwb3J0c1wiO1xuXG4vLy8gRm9udCBGYWNlIC0gR0RTIFRyYW5zcG9ydFxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgZm9udC1mYWNlIGRlY2xhcmF0aW9uIGZvciBHRFMgVHJhbnNwb3J0IGF0IHRoZSByb290IG9mIHRoZSBDU1MgZG9jdW1lbnRcbi8vLyB0aGUgZmlyc3QgdGltZSBpdCBpcyBjYWxsZWQuXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9nb3Z1ay1mb250LWZhY2UtZ2RzLXRyYW5zcG9ydCB7XG4gIEBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9oZWxwZXJzL2ZvbnQtZmFjZXNcIikge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC8qISBDb3B5cmlnaHQgKGMpIDIwMTEgYnkgTWFyZ2FyZXQgQ2FsdmVydCAmIEhlbnJpayBLdWJlbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhlIGZvbnQgaGFzIGJlZW4gY3VzdG9taXNlZCBmb3IgZXhjbHVzaXZlIHVzZSBvbiBnb3YudWsuIFRoaXMgY3V0IGlzIG5vdCBjb21tZXJjaWFsbHkgYXZhaWxhYmxlLiAqLyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNjc3MvY29tbWVudC1uby1sb3VkICAqL1xuICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBzcmM6XG4gICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC05NGEwN2UwNmExLXYyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtZjU5MWIxM2Y3ZC12Mi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG5cbiAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHNyYzpcbiAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtYjU0MmJlYjI3NC12Mi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtYWZmYTk2NTcxZC12Mi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9mb250LWZhY2VzLnNjc3MubWFwICovXG4iLCIvLyBtcSgpIHY0LjAuMlxuLy8gc2Fzcy1tcS9zYXNzLW1xXG5cbkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGFuZCAkbWVkaWEtdHlwZSAhPSAncHJpbnQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xuICAgICRsZXNzOiAgKCk7XG4gICAgJGVxdWFsOiAoKTtcbiAgICAkbGFyZ2U6ICgpO1xuXG4gICAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xuXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxhcmdlOiBhcHBlbmQoJGxhcmdlLCAkaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAgICRrZXk6IG50aCgkbWFwLWtleXMsICRpbmRleCk7XG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcblxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcbn1cblxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgKCRtcS1zaG93LWJyZWFrcG9pbnRzKSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbi8vL1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBib2R5OjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9zYXNzLW1xLnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvbGlua3Ncbi8vLy9cblxuLy8vIENvbW1vbiBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIHR5cG9ncmFwaHkgYW5kIGZvY3VzIHN0YXRlLCByZWdhcmRsZXNzIG9mIGxpbmsgc3R5bGUuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1jb21tb24ge1xuICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgfVxufVxuXG4vLy8gTGluayBkZWNvcmF0aW9uXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcywgaW5jbHVkaW5nIHRoaWNrbmVzcyBhbmQgdW5kZXJsaW5lXG4vLy8gb2Zmc2V0LiBVc2UgdGhpcyBtaXhpbiBvbmx5IGlmIHlvdSBjYW5ub3QgdXNlIHRoZSBgZ292dWstbGluay1jb21tb25gIG1peGluLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbkBtaXhpbiBnb3Z1ay1saW5rLWRlY29yYXRpb24ge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICBAaWYgJGdvdnVrLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogJGdvdnVrLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgfVxuXG4gIEBpZiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0IHtcbiAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gIH1cbn1cblxuLy8vIExpbmsgaG92ZXIgZGVjb3JhdGlvblxuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MgaW4gdGhlaXIgaG92ZXIgc3RhdGUsIGZvciB5b3UgdG8gdXNlXG4vLy8gd2l0aGluIGEgYDpob3ZlcmAgcHNldWRvLXNlbGVjdG9yLiBVc2UgdGhpcyBtaXhpbiBvbmx5IGlmIHlvdSBjYW5ub3QgdXNlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4uXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uIHtcbiAgQGlmICRnb3Z1ay1saW5rLWhvdmVyLXVuZGVybGluZS10aGlja25lc3Mge1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6ICRnb3Z1ay1saW5rLWhvdmVyLXVuZGVybGluZS10aGlja25lc3M7XG4gICAgLy8gRGlzYWJsZSBpbmsgc2tpcHBpbmcgb24gdW5kZXJsaW5lcyBvbiBob3Zlci4gQnJvd3NlcnMgaGF2ZW4ndFxuICAgIC8vIHN0YW5kYXJkaXNlZCBvbiB0aGlzIHBhcnQgb2YgdGhlIHNwZWMgeWV0LCBzbyBzZXQgYm90aCBwcm9wZXJ0aWVzXG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7IC8vIENocm9taXVtLCBGaXJlZm94XG4gICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogbm9uZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwOiBub25lOyAvLyBTYWZhcmlcbiAgfVxufVxuXG4vLy8gRGVmYXVsdCBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBkZWZhdWx0IHVudmlzaXRlZCwgdmlzaXRlZCwgaG92ZXIgYW5kIGFjdGl2ZSBjb2xvdXJzLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdCB7XG4gICY6bGluayB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gRXJyb3IgbGluayBzdHlsZXNcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgZXJyb3IgY29sb3VyLiBUaGUgbGluayB3aWxsIGRhcmtlbiBpZiBpdCdzIGFjdGl2ZSBvciBhXG4vLy8gdXNlciBob3ZlcnMgdGhlaXIgY3Vyc29yIG92ZXIgaXQuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWVycm9yO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtZXJyb3Ige1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogc2NhbGUtY29sb3IoJGdvdnVrLWVycm9yLWNvbG91ciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cblxuICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIFN1Y2Nlc3MgbGluayBzdHlsZXNcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgc3VjY2VzcyBjb2xvdXIuIFRoZSBsaW5rIHdpbGwgZGFya2VuIGlmIGl0J3MgYWN0aXZlIG9yIGFcbi8vLyB1c2VyIGhvdmVycyB0aGVpciBjdXJzb3Igb3ZlciBpdC5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtc3VjY2Vzcztcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLXN1Y2Nlc3Mge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZ292dWstc3VjY2Vzcy1jb2xvdXIsICRsaWdodG5lc3M6IC0zMCUpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstc3VjY2Vzcy1jb2xvdXI7XG4gIH1cblxuICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIE11dGVkIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB1c2UgdGhlIHNlY29uZGFyeSB0ZXh0IGNvbG91ci4gVGhlIGxpbmsgd2lsbCBkYXJrZW4gaWYgaXQnc1xuLy8vIGFjdGl2ZSBvciBhIHVzZXIgaG92ZXJzIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW11dGVkIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIFRleHQgbGluayBzdHlsZXNcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgcHJpbWFyeSB0ZXh0IGNvbG91ciwgaW4gYWxsIHN0YXRlcy4gVXNlIHRoaXMgbWl4aW4gZm9yXG4vLy8gbmF2aWdhdGlvbiBjb21wb25lbnRzLCBzdWNoIGFzIGJyZWFkY3J1bWJzIG9yIHRoZSBiYWNrIGxpbmsuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS10ZXh0IHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gRm9yY2UgYSBjb2xvdXIgY2hhbmdlIG9uIGhvdmVyIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIFNhZmFyaVxuICAvLyBodHRwczovL3dlYmtpdC5vcmcvYi8yMjQ0ODNcbiAgJjpob3ZlciB7XG4gICAgQGlmIHR5cGUtb2YoJGdvdnVrLXRleHQtY29sb3VyKSA9PSBjb2xvciB7XG4gICAgICBjb2xvcjogcmdiYSgkZ292dWstdGV4dC1jb2xvdXIsIDAuOTkpO1xuICAgIH1cbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gSW52ZXJzZSBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3Mgd2hpdGUsIGluIGFsbCBzdGF0ZXMuIFVzZSB0aGlzIG1peGluIGlmIHlvdSdyZSBkaXNwbGF5aW5nIGxpbmtzXG4vLy8gYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZC5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2Uge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLy8gRm9yY2UgYSBjb2xvdXIgY2hhbmdlIG9uIGhvdmVyIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIFNhZmFyaVxuICAvLyBodHRwczovL3dlYmtpdC5vcmcvYi8yMjQ0ODNcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiByZ2JhKGdvdnVrLWNvbG91cihcIndoaXRlXCIpLCAwLjk5KTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIERlZmF1bHQgbGluayBzdHlsZXMsIHdpdGhvdXQgYSB2aXNpdGVkIHN0YXRlXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB1c2UgdGhlIGRlZmF1bHQgdW52aXNpdGVkLCBob3ZlciBhbmQgYWN0aXZlIGNvbG91cnMsIHdpdGggbm9cbi8vLyBkaXN0aW5jdCB2aXNpdGVkIHN0YXRlLlxuLy8vXG4vLy8gVXNlIHRoaXMgbWl4aW4gd2hlbiBpdCdzIG5vdCBoZWxwZnVsIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4gdmlzaXRlZCBhbmRcbi8vLyBub24tdmlzaXRlZCBsaW5rcy4gRm9yIGV4YW1wbGUsIHdoZW4geW91IGxpbmsgdG8gcGFnZXMgd2l0aFxuLy8vIGZyZXF1ZW50bHktY2hhbmdpbmcgY29udGVudCwgc3VjaCBhcyB0aGUgZGFzaGJvYXJkIGZvciBhbiBhZG1pbiBpbnRlcmZhY2UuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGU7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1uby12aXNpdGVkLXN0YXRlIHtcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlIHVuZGVybGluZSBmcm9tIGxpbmtzXG4vLy9cbi8vLyBSZW1vdmUgdW5kZXJsaW5lcyBmcm9tIGxpbmtzIHVubGVzcyB0aGUgbGluayBpcyBhY3RpdmUgb3IgYSB1c2VyIGhvdmVyc1xuLy8vIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lIHtcbiAgJjpub3QoOmhvdmVyKTpub3QoOmFjdGl2ZSkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLy8gSW5jbHVkZSBsaW5rIGRlc3RpbmF0aW9uIHdoZW4gcHJpbnRpbmcgdGhlIHBhZ2Vcbi8vL1xuLy8vIElmIHRoZSB1c2VyIHByaW50cyB0aGUgcGFnZSwgYWRkIHRoZSBkZXN0aW5hdGlvbiBVUkwgYWZ0ZXIgdGhlIGxpbmsgdGV4dCwgaWZcbi8vLyB0aGUgVVJMIHN0YXJ0cyB3aXRoIGAvYCwgYGh0dHA6Ly9gIG9yIGBodHRwczovL2AuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1wcmludC1mcmllbmRseSB7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICZbaHJlZl49XCIvXCJdLFxuICAgICZbaHJlZl49XCJodHRwOi8vXCJdLFxuICAgICZbaHJlZl49XCJodHRwczovL1wiXVxuICAgIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuXG4gICAgICAgIC8vIEJlY2F1c2UgdGhlIFVSTHMgbWF5IGJlIHZlcnkgbG9uZywgZW5zdXJlIHRoYXQgdGhleSBtYXkgYmUgYnJva2VuXG4gICAgICAgIC8vIGF0IGFyYml0cmFyeSBwb2ludHMgaWYgdGhlcmUgYXJlIG5vIG90aGVyd2lzZSBhY2NlcHRhYmxlIGJyZWFrXG4gICAgICAgIC8vIHBvaW50cyBpbiB0aGUgbGluZVxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbWFnZSBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gUHJlcGFyZXMgYW5kIHByb3ZpZGVzIHRoZSBmb2N1cyBzdGF0ZSBmb3IgbGlua3MgdGhhdCBvbmx5IGNvbnRhaW4gaW1hZ2VzXG4vLy8gd2l0aCBubyBhY2NvbXBhbnlpbmcgdGV4dC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWltYWdlIHtcbiAgLy8gTmVlZGVkIHRvIGRyYXcgdGhlIGZvY3VzIGFyb3VuZCB0aGUgZW50aXJlIGltYWdlXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAvLyBSZW1vdmUgZXh0cmEgc3BhY2UgYXQgdGhlIGJvdHRvbSBvZiB0aGUgaW1hZ2UgdGhhdCdzIGFkZGVkIGJ5IGxpbmUtaGVpZ2h0XG4gIGxpbmUtaGVpZ2h0OiAwO1xuXG4gIC8vIERvbid0IHJlbmRlciBhbiB1bmRlcmxpbmVcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtYm94O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9saW5rcy5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9saW5rc1xuLy8vL1xuXG4vLy8gVGhpY2tuZXNzIG9mIGxpbmsgdW5kZXJsaW5lc1xuLy8vXG4vLy8gVGhlIGRlZmF1bHQgd2lsbCBiZSBlaXRoZXI6XG4vLy9cbi8vLyAgLSAxcHhcbi8vLyAgLSAwLjA2MjVyZW0sIGlmIGl0J3MgdGhpY2tlciB0aGFuIDFweCBiZWNhdXNlIHRoZSB1c2VyIGhhcyBjaGFuZ2VkIHRoZSB0ZXh0XG4vLy8gICAgc2l6ZSBpbiB0aGVpciBicm93c2VyXG4vLy9cbi8vLyBTZXQgdGhpcyB2YXJpYWJsZSB0byBgZmFsc2VgIHRvIGF2b2lkIHNldHRpbmcgYSB0aGlja25lc3MuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay11bmRlcmxpbmUtdGhpY2tuZXNzOiB1bnF1b3RlKFwibWF4KDFweCwgLjA2MjVyZW0pXCIpICFkZWZhdWx0O1xuXG4vLy8gT2Zmc2V0IG9mIGxpbmsgdW5kZXJsaW5lcyBmcm9tIHRleHQgYmFzZWxpbmVcbi8vL1xuLy8vIFRoZSBkZWZhdWx0IGlzIDNweCBleHByZXNzZWQgYXMgZW1zLCBhcyBjYWxjdWxhdGVkIGFnYWluc3QgdGhlIGRlZmF1bHQgYm9keVxuLy8vIGZvbnQgc2l6ZSAob24gZGVza3RvcCkgb2YgMTlweC5cbi8vLyAzIMO3IDE5ID0gMC4xNTc4XG4vLy9cbi8vLyBTZXQgdGhpcyB2YXJpYWJsZSB0byBgZmFsc2VgIHRvIGF2b2lkIHNldHRpbmcgYW4gb2Zmc2V0LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldDogMC4xNTc4ZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGlja25lc3Mgb2YgbGluayB1bmRlcmxpbmVzIGluIGhvdmVyIHN0YXRlXG4vLy9cbi8vLyBUaGUgZGVmYXVsdCBmb3IgZWFjaCBsaW5rIHdpbGwgYmUgdGhlIHRoaWNrZXN0IG9mIHRoZSBmb2xsb3dpbmc6XG4vLy9cbi8vLyAgLSAzcHhcbi8vLyAgLSAwLjE4NzVyZW0sIGlmIGl0J3MgdGhpY2tlciB0aGFuIDNweCBiZWNhdXNlIHRoZSB1c2VyIGhhcyBjaGFuZ2VkIHRoZSB0ZXh0XG4vLy8gICAgc2l6ZSBpbiB0aGVpciBicm93c2VyXG4vLy8gIC0gMC4xMmVtIChyZWxhdGl2ZSB0byB0aGUgbGluaydzIHRleHQgc2l6ZSlcbi8vL1xuLy8vIFNldCB0aGlzIHZhcmlhYmxlIHRvIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZyBhIHRoaWNrbmVzcy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWhvdmVyLXVuZGVybGluZS10aGlja25lc3M6IHVucXVvdGUoXCJtYXgoM3B4LCAuMTg3NXJlbSwgLjEyZW0pXCIpICFkZWZhdWx0O1xuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fbGlua3Muc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9hY2Nlc3NpYmlsaXR5XG4vLy8vXG5cbi8vLyBGb2N1c2VkIHRleHRcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpcyBmb2N1c2VkLlxuLy8vIFVzZWQgZm9yIGludGVyYWN0aXZlIHRleHQtYmFzZWQgZWxlbWVudHMuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9jdXNlZC10ZXh0IHtcbiAgLy8gV2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuLCBmb3IgZXhhbXBsZSB3aGVuIHVzZXJzIGhhdmUgYSBkYXJrIG1vZGUsXG4gIC8vIGJhY2tncm91bmRzIGFuZCBib3gtc2hhZG93cyBkaXNhcHBlYXIsIHNvIHdlIG5lZWQgdG8gZW5zdXJlIHRoZXJlJ3MgYVxuICAvLyB0cmFuc3BhcmVudCBvdXRsaW5lIHdoaWNoIHdpbGwgYmUgc2V0IHRvIGEgdmlzaWJsZSBjb2xvdXIuXG5cbiAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICBib3gtc2hhZG93OlxuICAgIDAgLTJweCAkZ292dWstZm9jdXMtY29sb3VyLFxuICAgIDAgNHB4ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgLy8gV2hlbiBsaW5rIGlzIGZvY3Vzc2VkLCBoaWRlIHRoZSBkZWZhdWx0IHVuZGVybGluZSBzaW5jZSB0aGVcbiAgLy8gYm94IHNoYWRvdyBhZGRzIHRoZSBcInVuZGVybGluZVwiXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAvLyBXaGVuIGEgZm9jdXNlZCBib3ggaXMgYnJva2VuIGJ5IGUuZy4gYSBsaW5lIGJyZWFrLCBlbnN1cmUgdGhhdCB0aGVcbiAgLy8gYm94LXNoYWRvdyBpcyBhcHBsaWVkIHRvIGVhY2ggZnJhZ21lbnQgaW5kZXBlbmRlbnRseS5cbiAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICAgICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xufVxuXG4vLy8gRm9jdXNlZCBib3hcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpcyBmb2N1c2VkLlxuLy8vIFVubGlrZSBnb3Z1ay1mb2N1c2VkLXRleHQsIHdoaWNoIG9ubHkgZHJhd3MgYW4gdW5kZXJsaW5lIGJlbG93IHRoZSBlbGVtZW50LFxuLy8vIGdvdnVrLWZvY3VzZWQtYm94IGRyYXdzIGFuIG91dGxpbmUgYXJvdW5kIGFsbCBzaWRlcyBvZiB0aGUgZWxlbWVudC5cbi8vLyBCZXN0IHVzZWQgZm9yIG5vbi10ZXh0IGNvbnRlbnQgY29udGFpbmVkIHdpdGhpbiBsaW5rcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2VkLWJveCB7XG4gIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDAgMCA0cHggJGdvdnVrLWZvY3VzLWNvbG91cixcbiAgICAwIDAgMCA4cHggJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZm9jdXNlZC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2NvbG91clwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdlbmVyaWNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQnJhbmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnJhbmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBDYW52YXMgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgYnkgdGhlIGZvb3RlciBjb21wb25lbnQgYW5kIHRlbXBsYXRlIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZ1xuLy8vIGZvb3Rlci5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb2R5IGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG91ciBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIFVzZSAndHJ1ZSBibGFjaycgdG8gYXZvaWQgcHJpbnRlcnMgdXNpbmcgY29sb3VyIGluayB0byBwcmludCBib2R5IHRleHRcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8vIFNlY29uZGFyeSB0ZXh0IGNvbG91clxuLy8vXG4vLy8gVXNlZCBpbiBmb3IgZXhhbXBsZSAnbXV0ZWQnIHRleHQgYW5kIGhlbHAgdGV4dC5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3Igb3V0bGluZSAoYW5kIGJhY2tncm91bmQsIHdoZXJlIGFwcHJvcHJpYXRlKSB3aGVuIGludGVyYWN0aXZlXG4vLy8gZWxlbWVudHMgKGxpbmtzLCBmb3JtIGNvbnRyb2xzKSBoYXZlIGtleWJvYXJkIGZvY3VzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLWNvbG91cjogZ292dWstY29sb3VyKFwieWVsbG93XCIpICFkZWZhdWx0O1xuXG4vLy8gRm9jdXNlZCB0ZXh0IGNvbG91clxuLy8vXG4vLy8gRW5zdXJlIHRoYXQgdGhlIGNvbnRyYXN0IGJldHdlZW4gdGhlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3VyIHBhc3Nlc1xuLy8vIFdDQUcgTGV2ZWwgQUEgY29udHJhc3QgcmVxdWlyZW1lbnRzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIEVycm9yIGNvbG91clxuLy8vXG4vLy8gVXNlZCB0byBoaWdobGlnaHQgZXJyb3IgbWVzc2FnZXMgYW5kIGZvcm0gY29udHJvbHMgaW4gYW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1lcnJvci1jb2xvdXI6IGdvdnVrLWNvbG91cihcInJlZFwiKSAhZGVmYXVsdDtcblxuLy8vIFN1Y2Nlc3MgY29sb3VyXG4vLy9cbi8vLyBVc2VkIHRvIGhpZ2hsaWdodCBzdWNjZXNzIG1lc3NhZ2VzIGFuZCBiYW5uZXJzXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc3VjY2Vzcy1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZWVuXCIpICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBpbiBmb3IgZXhhbXBsZSBib3JkZXJzLCBzZXBhcmF0b3JzLCBydWxlcyBhbmQga2V5bGluZXMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLWNvbG91cjogZ292dWstY29sb3VyKFwibWlkLWdyZXlcIikgIWRlZmF1bHQ7XG5cbi8vLyBJbnB1dCBib3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBmb3JtIGlucHV0cyBhbmQgY29udHJvbHNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIElucHV0IGhvdmVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3IgaG92ZXIgc3RhdGVzIG9uIGZvcm0gY29udHJvbHNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIpICFkZWZhdWx0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBMaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVmlzaXRlZCBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcInB1cnBsZVwiKSAhZGVmYXVsdDtcblxuLy8vIExpbmsgaG92ZXIgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImRhcmstYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9jb2xvdXJzLWFwcGxpZWQuc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpc3RzXCIpIHtcbiAgJWdvdnVrLWxpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAvLyBBZGQgYSB0b3AgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAgICAlZ292dWstbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxuXG4gICVnb3Z1ay1saXN0ID4gbGkge1xuICAgIC8vIExpc3RzIHdpdGhvdXQgbnVtYmVycyBvciBidWxsZXRzIHNob3VsZCBhbHdheXMgaGF2ZSBleHRyYSBzcGFjZSBiZXR3ZWVuXG4gICAgLy8gbGlzdCBpdGVtcy4gTGlzdHMgd2l0aCBudW1iZXJzIG9yIGJ1bGxldHMgb25seSBoYXZlIHRoaXMgZXh0cmEgc3BhY2Ugb25cbiAgICAvLyB0YWJsZXQgYW5kIGFib3ZlXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0O1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLWJ1bGxldCB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIH1cblxuICAlZ292dWstbGlzdC0tYnVsbGV0ID4gbGksXG4gICVnb3Z1ay1saXN0LS1udW1iZXIgPiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QtLXNwYWNlZCA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1idWxsZXQ7XG4gIH1cblxuICAuZ292dWstbGlzdC0tbnVtYmVyIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1udW1iZXI7XG4gIH1cblxuICAuZ292dWstbGlzdC0tc3BhY2VkIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1zcGFjZWQ7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2xpc3RzLnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvc3BhY2luZ1xuLy8vL1xuXG4vLy8gU2luZ2xlIHBvaW50IHNwYWNpbmdcbi8vL1xuLy8vIFJldHVybnMgbWVhc3VyZW1lbnQgY29ycmVzcG9uZGluZyB0byB0aGUgc3BhY2luZyBwb2ludCByZXF1ZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgc3BhY2luZyBzY2FsZVxuLy8vICAoc2V0IGluIGBzZXR0aW5ncy9fc3BhY2luZy5zY3NzYClcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IFNwYWNpbmcgbWVhc3VyZW1lbnQgZWcuIDEwcHhcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg1KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgVXNpbmcgbmVnYXRpdmUgc3BhY2luZ1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgTWFya2luZyBzcGFjaW5nIGRlY2xhcmF0aW9ucyBhcyBpbXBvcnRhbnRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKSAhaW1wb3J0YW50O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXNwYWNpbmcoJHNwYWNpbmctcG9pbnQpIHtcbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRzcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICAgKyBcIiN7JGFjdHVhbC1pbnB1dC10eXBlfS5cIjtcbiAgfVxuXG4gICRpcy1uZWdhdGl2ZTogZmFsc2U7XG4gIEBpZiAkc3BhY2luZy1wb2ludCA8IDAge1xuICAgICRpcy1uZWdhdGl2ZTogdHJ1ZTtcbiAgICAkc3BhY2luZy1wb2ludDogYWJzKCRzcGFjaW5nLXBvaW50KTtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXNwYWNpbmctcG9pbnRzLCAkc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciBcIlVua25vd24gc3BhY2luZyB2YXJpYWJsZSBgI3skc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgJHZhbHVlOiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpO1xuICBAcmV0dXJuIGlmKCRpcy1uZWdhdGl2ZSwgJHZhbHVlICogLTEsICR2YWx1ZSk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHNwYWNpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBzcGFjaW5nIChlaXRoZXIgcGFkZGluZyBvciBtYXJnaW4sIGRlcGVuZGluZyBvbiBgJHByb3BlcnR5YClcbi8vLyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzXG4vLy8gZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cbi8vL1xuLy8vIFRvIGdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZywgdXNlICdnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbicgb3Jcbi8vLyAnZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nJyBtaXhpbnNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKFxuICAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LFxuICAkcHJvcGVydHksXG4gICRkaXJlY3Rpb246IFwiYWxsXCIsXG4gICRpbXBvcnRhbnQ6IGZhbHNlLFxuICAkYWRqdXN0bWVudDogZmFsc2Vcbikge1xuICAkYWN0dWFsLWlucHV0LXR5cGU6IHR5cGUtb2YoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCk7XG4gIEBpZiAkYWN0dWFsLWlucHV0LXR5cGUgIT0gXCJudW1iZXJcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCIgKyBcIiN7JGFjdHVhbC1pbnB1dC10eXBlfS5cIjtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSwgJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciBcIlVua25vd24gc3BhY2luZyBwb2ludCBgI3skcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50fWAuIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgcG9pbnQgZnJvbSB0aGUgXCJcbiAgICAgICsgXCJyZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYCBpcyBhIG1hcC5cbiAgJHNjYWxlLW1hcDogbWFwLWdldCgkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcbiAgJGFjdHVhbC1tYXAtdHlwZTogdHlwZS1vZigkc2NhbGUtbWFwKTtcbiAgQGlmICRhY3R1YWwtbWFwLXR5cGUgIT0gXCJtYXBcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCJcbiAgICAgICsgXCIjeyRhY3R1YWwtbWFwLXR5cGV9LiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIG1hcCB0byBzZXQgdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2ApXCI7XG4gIH1cblxuICAvLyBMb29wIHRocm91Z2ggZWFjaCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LXZhbHVlIGluICRzY2FsZS1tYXAge1xuICAgIEBpZiAkYWRqdXN0bWVudCB7XG4gICAgICAkYnJlYWtwb2ludC12YWx1ZTogJGJyZWFrcG9pbnQtdmFsdWUgKyAkYWRqdXN0bWVudDtcbiAgICB9XG5cbiAgICAvLyBUaGUgJ251bGwnIGJyZWFrcG9pbnQgaXMgZm9yIG1vYmlsZS5cbiAgICBAaWYgbm90ICRicmVha3BvaW50IHtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICAgI3skcHJvcGVydHl9OiAkYnJlYWtwb2ludC12YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZXNwb25zaXZlIG1hcmdpblxuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIG1hcmdpbiBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcIm1hcmdpblwiLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHBhZGRpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBwYWRkaW5nIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXG4vLy8gc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lcyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50XG4vLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImxlZnRcIiwgJGFkanVzdG1lbnQ6IDFweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcInBhZGRpbmdcIiwgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fc3BhY2luZy5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEhlYWRpbmdzXG5cbiAgJWdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXhsO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1sO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1tO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1zO1xuICB9XG5cbiAgLy8gQ2FwdGlvbnMgdG8gYmUgdXNlZCBpbnNpZGUgaGVhZGluZ3NcblxuICAuZ292dWstY2FwdGlvbi14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjcpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstY2FwdGlvbi1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBCb2R5IChwYXJhZ3JhcGhzKVxuXG4gICVnb3Z1ay1ib2R5LWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LWw7XG4gIH1cblxuICAlZ292dWstYm9keS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktbSB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LXMge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktcztcbiAgfVxuXG4gIC8vIEBkZXByZWNhdGVkXG4gICVnb3Z1ay1ib2R5LXhzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBfMTQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC8vIEBkZXByZWNhdGVkXG4gIC5nb3Z1ay1ib2R5LXhzIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LXhzO1xuICB9XG5cbiAgLy8gVXNhZ2UgYWxpYXNlc1xuXG4gIC8vIFVzaW5nIGV4dGVuZCB0byBhbGlhcyBtZWFucyB3ZSBhbHNvIGluaGVyaXQgYW55IGNvbnRleHR1YWwgYWRqdXN0bWVudHMgdGhhdFxuICAvLyByZWZlciB0byB0aGUgJ29yaWdpbmFsJyBjbGFzcyBuYW1lXG5cbiAgLmdvdnVrLWJvZHktbGVhZCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1sO1xuICB9XG5cbiAgLmdvdnVrLWJvZHkge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxuXG4gIC8vIENvbnRleHR1YWwgYWRqdXN0bWVudHNcbiAgLy8gQWRkIHRvcCBwYWRkaW5nIHRvIGhlYWRpbmdzIHRoYXQgYXBwZWFyIGRpcmVjdGx5IGFmdGVyIHBhcmFncmFwaHMuXG5cbiAgJWdvdnVrLWJvZHktbCArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1sLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg0LCBcInRvcFwiKTtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0gKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1zICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctcyxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLXMsXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3R5cG9ncmFwaHkuc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3NlY3Rpb24tYnJlYWtcIikge1xuICAlZ292dWstc2VjdGlvbi1icmVhayB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrO1xuICB9XG5cbiAgLy8gU2l6ZXNcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bDtcbiAgfVxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW07XG4gIH1cblxuICAvLyBWaXNpYmxlIHZhcmlhbnRcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGUge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGU7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3NlY3Rpb24tYnJlYWsuc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2J1dHRvbi1ncm91cFwiKSB7XG4gIC8vIEJ1dHRvbiBncm91cHMgY2FuIGJlIHVzZWQgdG8gZ3JvdXAgYnV0dG9ucyBhbmQgbGlua3MgdG9nZXRoZXIgYXMgYSBncm91cC5cbiAgLy9cbiAgLy8gV2l0aGluIGEgYnV0dG9uIGdyb3VwOlxuICAvL1xuICAvLyAtIGxpbmtzIGFyZSBzdHlsZWQgdG8gbGluZSB1cCB2aXN1YWxseSB3aXRoIHRoZSBidXR0b25zLCBpbmNsdWRpbmcgYmVpbmdcbiAgLy8gICBjZW50cmUtYWxpZ25lZCBvbiBtb2JpbGVcbiAgLy8gLSBzcGFjaW5nIGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSwgaW5jbHVkaW5nXG4gIC8vICAgd2hlbiB0aGV5IHdyYXAgYWNyb3NzIG11bHRpcGxlIGxpbmVzXG4gIC5nb3Z1ay1idXR0b24tZ3JvdXAge1xuICAgICRob3Jpem9udGFsLWdhcDogZ292dWstc3BhY2luZygzKTtcbiAgICAkdmVydGljYWwtZ2FwOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gVGhlc2UgbmVlZCB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgYnV0dG9uIGNvbXBvbmVudCdzIHN0eWxlc1xuICAgICRidXR0b24tcGFkZGluZzogZ292dWstc3BhY2luZygyKTtcbiAgICAkYnV0dG9uLXNoYWRvdy1zaXplOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAgICRsaW5rLXNwYWNpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiLCAkYWRqdXN0bWVudDogJHZlcnRpY2FsLWdhcCAqIC0xKTtcblxuICAgIC8vIEZsZXhib3ggaXMgdXNlZCB0byBjZW50ZXItYWxpZ24gbGlua3Mgb24gbW9iaWxlLCBhbGlnbiBldmVyeXRoaW5nIGFsb25nXG4gICAgLy8gdGhlIGJhc2VsaW5lIG9uIHRhYmxldCBhbmQgYWJvdmUsIGFuZCB0byByZW1vdmVzIGV4dHJhIHdoaXRlc3BhY2UgdGhhdFxuICAgIC8vIHdlJ2QgZ2V0IGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGJlY2F1c2UgdGhleSdyZSBpbmxpbmUtYmxvY2tzLlxuICAgIC8vXG4gICAgLy8gSWRlYWxseSB3ZSdkIHVzZSBgZ2FwYCB3aXRoIGZsZXhib3ggcmF0aGVyIHRoYW4gaGF2aW5nIHRvIGRvIGl0IGFsbCB3aXRoXG4gICAgLy8gbWFyZ2lucywgYnV0IHVuZm9ydHVuYXRlbHkgdGhlIHN1cHBvcnQgaXNuJ3QgdGhlcmUgKHlldCkgYW5kIEBzdXBwb3J0c1xuICAgIC8vIGRvZXNuJ3QgcGxheSBuaWNlbHkgd2l0aCBpdFxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMzU1OSlcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC8vIEdpdmUgbGlua3Mgd2l0aGluIHRoZSBidXR0b24gZ3JvdXAgdGhlIHNhbWUgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICAgIC8vIGFzIGJ1dHRvbnMuXG4gICAgLy9cbiAgICAvLyBCZWNhdXNlIHdlIHdhbnQgdGhlIGZvY3VzIHN0YXRlIHRvIGJlIHRpZ2h0IGFyb3VuZCB0aGUgbGluayB0ZXh0LCB3ZSB1c2VcbiAgICAvLyBtYXJnaW5zIHdoZXJlIHRoZSBidXR0b25zIHdvdWxkIHVzZSBwYWRkaW5nLlxuICAgIC5nb3Z1ay1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLy8gUHJldmVudCBsaW5rcyBvdmVyZmxvd2luZyB0aGVpciBjb250YWluZXIgaW4gSUUxMC8xMSBiZWNhdXNlIG9mIGJ1Z1xuICAgICAgLy8gd2l0aCBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAkbGluay1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGxpbmstc3BhY2luZyArICR2ZXJ0aWNhbC1nYXA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gUmVkdWNlIHRoZSBib3R0b20gbWFyZ2luIHRvIHRoZSBzaXplIG9mIHRoZSB2ZXJ0aWNhbCBnYXAgKGFjY29tbW9kYXRpbmdcbiAgICAvLyB0aGUgYnV0dG9uIHNoYWRvdykg4oCTIHRoZSAnbG9zdCcgbWFyZ2luIGlzIG1vdmVkIHRvIHRoZSBidXR0b24tZ3JvdXAuXG4gICAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtZ2FwICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAvLyBPbiB0YWJsZXQgYW5kIGFib3ZlLCB3ZSBhbHNvIGludHJvZHVjZSBhICdjb2x1bW4gZ2FwJyBiZXR3ZWVuIHRoZVxuICAgIC8vIGJ1dHRvbnMgYW5kIGxpbmtzIGluIGVhY2ggcm93IGFuZCBsZWZ0IGFsaWduIGxpbmtzXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLy8gQ2FuY2VsIG91dCB0aGUgY29sdW1uIGdhcCBmb3IgdGhlIGxhc3QgaXRlbSBpbiBlYWNoIHJvd1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoJGhvcml6b250YWwtZ2FwICogLTEpO1xuXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAuZ292dWstYnV0dG9uLFxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpem9udGFsLWdhcDtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fYnV0dG9uLWdyb3VwLnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvbGF5b3V0XG4vLy8vXG5cbi8vLyBDbGVhciBmbG9hdGVkIGNvbnRlbnQgd2l0aGluIGEgY29udGFpbmVyIHVzaW5nIGEgcHNldWRvIGVsZW1lbnRcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9jbGVhcmZpeC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvZm9ybS1ncm91cFwiKSB7XG4gIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmUgbWFyZ2luIGZyb20gbGFzdCBpdGVtIGluIG5lc3RlZCBncm91cHNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9ybS1ncm91cC0tZXJyb3Ige1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWdyb3VwLWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAuZ292dWstZm9ybS1ncm91cCB7XG4gICAgICAvLyBSZXNldCBlcnJvciBzdHlsZXMgaW4gbmVzdGVkIGZvcm0gZ3JvdXBzIHRoYXQgbWlnaHQgaGF2ZSBlcnJvciBjbGFzc1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2Zvcm0tZ3JvdXAuc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2dyaWRcIikge1xuICAuZ292dWstZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICAgIG1hcmdpbi1sZWZ0OiAtKCRnb3Z1ay1ndXR0ZXItaGFsZik7XG4gIH1cblxuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbigkd2lkdGgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZXNlICptdXN0KiBiZSBkZWZpbmVkIGluIGEgc2VwYXJhdGUgbG9vcCBhcyB0aGV5IGhhdmUgdGhlIHNhbWVcbiAgLy8gc3BlY2lmaWNpdHkgYXMgdGhlIG5vbi1icmVha3BvaW50IHNwZWNpZmljIGNsYXNzZXMsIHNvIG5lZWQgdG8gYXBwZWFyIGFmdGVyXG4gIC8vIHRoZW0gaW4gdGhlIG91dHB1dHRlZCBDU1NcbiAgQGVhY2ggJHdpZHRoIGluIG1hcC1rZXlzKCRnb3Z1ay1ncmlkLXdpZHRocykge1xuICAgIC5nb3Z1ay1ncmlkLWNvbHVtbi0jeyR3aWR0aH0tZnJvbS1kZXNrdG9wIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aCwgJGF0OiBkZXNrdG9wKTtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2dyaWQuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9sYXlvdXRcbi8vLy9cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIGdyaWQgd2lkdGggKGUuZy4gdHdvLXRoaXJkcylcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFBlcmNlbnRhZ2Ugd2lkdGhcbi8vLyBAdGhyb3cgaWYgYCRrZXlgIGlzIG5vdCBhIHZhbGlkIGdyaWQgd2lkdGhcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZ3JpZC13aWR0aCgka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZ292dWstZ3JpZC13aWR0aHMsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWdyaWQtd2lkdGhzLCAka2V5KTtcbiAgfVxuXG4gIEBlcnJvciBcIlVua25vd24gZ3JpZCB3aWR0aCBgI3ska2V5fWBcIjtcbn1cblxuLy8vIEdlbmVyYXRlIGdyaWQgY29sdW1uIHN0eWxlc1xuLy8vXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHdpdGggc3RhbmRhcmQgZ3V0dGVyIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4vLy9cbi8vLyBHcmlkIHdpZHRocyBhcmUgZGVmaW5lZCBpbiB0aGUgYCRnb3Z1ay1ncmlkLXdpZHRoc2AgbWFwLlxuLy8vXG4vLy8gQnkgZGVmYXVsdCB0aGUgY29sdW1uIHdpZHRoIGNoYW5nZXMgZnJvbSAxMDAlIHRvIHNwZWNpZmllZCB3aWR0aCBhdCB0aGVcbi8vLyAndGFibGV0JyBicmVha3BvaW50LCBidXQgb3RoZXIgYnJlYWtwb2ludHMgY2FuIGJlIHNwZWNpZmllZCB1c2luZyB0aGUgYCRhdGBcbi8vLyBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIFtmdWxsXSBuYW1lIG9mIGEgZ3JpZCB3aWR0aCBmcm9tICRnb3Z1ay1ncmlkLXdpZHRoc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZmxvYXQgW2xlZnRdIGxlZnQgfCByaWdodFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYXQgW3RhYmxldF0gLSBtb2JpbGUgfCB0YWJsZXQgfCBkZXNrdG9wIHwgYW55IGN1c3RvbSBicmVha3BvaW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGVmYXVsdFxuLy8vICAgLmdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHMge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbih0d28tdGhpcmRzKVxuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBicmVha3BvaW50IHdoZXJlIHdpZHRoIHBlcmNlbnRhZ2UgaXMgYXBwbGllZFxuLy8vICAgLmdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmLWZyb20tZGVza3RvcCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkYXQ6IGRlc2t0b3ApO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBmbG9hdCBkaXJlY3Rpb25cbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZi1yaWdodCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRmbG9hdDogcmlnaHQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aDogZnVsbCwgJGZsb2F0OiBsZWZ0LCAkYXQ6IHRhYmxldCkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBAaWYgJGF0ICE9IGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIHBhZGRpbmc6IDAgJGdvdnVrLWd1dHRlci1oYWxmO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGF0KSB7XG4gICAgd2lkdGg6IGdvdnVrLWdyaWQtd2lkdGgoJHdpZHRoKTtcbiAgICBmbG9hdDogJGZsb2F0O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9ncmlkLnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG4vLy8vXG4vLy8gQGdyb3VwIG9iamVjdHMvbGF5b3V0XG4vLy8vXG5cbi8vIEV4YW1wbGUgdXNhZ2Ugd2l0aCBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rczpcbi8vIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbi8vICAgPCEtLSBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rcyBhcmUgcGxhY2VkIGluIGhlcmUuIC0tPlxuLy8gICA8ZGl2IGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2Ugd2l0aG91dCBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rczpcbi8vIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlciBnb3Z1ay1tYWluLXdyYXBwZXItLWxcIj5cbi8vICAgICAgIDwhLS0gV3JhcHBlciBmb3IgdGhlIG1haW4gY29udGVudCBvZiB5b3VyIHBhZ2Ugd2hpY2ggYXBwbGllcyBwYWRkaW5nXG4vLyAgICAgICAgICAgIHRvIHRoZSB0b3AgLyBib3R0b20gLS0+XG4vLyAgIDwvZGl2PlxuLy8gPC9kaXY+XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIC8vIEluIElFMTEgdGhlIGBtYWluYCBlbGVtZW50IGNhbiBiZSB1c2VkLCBidXQgaXMgbm90IHJlY29nbml6ZWQgIOKAk1xuICAgIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gICAgLy8gc28gaXQgdXNlcyBDU1MgaW5pdGlhbCB2YWx1ZSwgd2hpY2ggaXMgaW5saW5lLlxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLy8gVGhpcyBzcGFjaW5nIGlzIG1hbnVhbGx5IGFkanVzdGVkIHRvIHJlcGxpY2F0ZSB0aGUgbWFyZ2luIG9mXG4gICAgICAvLyBnb3Z1ay1oZWFkaW5nLXhsICg1MHB4KSBtaW51cyB0aGUgc3BhY2luZyBvZiBiYWNrIGxpbmsgYW5kXG4gICAgICAvLyBicmVhZGNydW1icyAoMTBweClcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVXNpbmcgdGhlIGAuZ292dWstbWFpbi13cmFwcGVyLS1hdXRvLXNwYWNpbmdgIG1vZGlmaWVyIHNob3VsZCBhcHBseSB0aGVcbiAgLy8gY29ycmVjdCBzcGFjaW5nIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZXJlIGFyZSBhbnkgZWxlbWVudHNcbiAgLy8gKHN1Y2ggdGhlIGJhY2sgbGluaywgYnJlYWRjcnVtYnMgb3IgcGhhc2UgYmFubmVyIGNvbXBvbmVudHMpIGJlZm9yZSB0aGVcbiAgLy8gYC5nb3Z1ay1tYWluLXdyYXBwZXJgIGluIHRoZSBgZ292dWstd2lkdGgtY29udGFpbmVyYC5cbiAgLy9cbiAgLy8gSWYgeW91IG5lZWQgdG8gY29udHJvbCB0aGUgc3BhY2luZyBtYW51YWxseSwgdXNlIHRoZVxuICAvLyBgZ292dWstbWFpbi13cmFwcGVyLS1sYCBtb2RpZmllciBpbnN0ZWFkLlxuICAuZ292dWstbWFpbi13cmFwcGVyLS1hdXRvLXNwYWNpbmc6Zmlyc3QtY2hpbGQsXG4gIC5nb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg4LCBcInRvcFwiKTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fbWFpbi13cmFwcGVyLnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy90ZW1wbGF0ZVwiKSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxodG1sPiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZSB7XG4gICAgLy8gU2V0IHRoZSBvdmVyYWxsIHBhZ2UgYmFja2dyb3VuZCBjb2xvdXIgdG8gdGhlIHNhbWUgY29sb3VyIGFzIHVzZWQgYnkgdGhlXG4gICAgLy8gZm9vdGVyIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZyBmb290ZXIuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcblxuICAgIC8vIFByZXZlbnQgYXV0b21hdGljIHRleHQgc2l6aW5nLCBhcyB3ZSBhbHJlYWR5IGNhdGVyIGZvciBzbWFsbCBkZXZpY2VzIGFuZFxuICAgIC8vIHdvdWxkIGxpa2UgdGhlIGJyb3dzZXIgdG8gc3RheSBvbiAxMDAlIHRleHQgem9vbSBieSBkZWZhdWx0LlxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAgICAtbW96LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuXG4gICAgLy8gQWRkIHNjcm9sbCBwYWRkaW5nIHRvIHRoZSB0b3Agb2YgZ292dWstdGVtcGxhdGUgYnV0IHJlbW92ZSBpdCBpZiB0aGVcbiAgICAvLyBleGl0IHRoaXMgcGFnZSBjb21wb25lbnQgaXMgcHJlc2VudC5cbiAgICAvL1xuICAgIC8vIFRoaXMgaXMgYSBzb2x1dGlvbiB0byBleGl0IHRoaXMgcGFnZSBwb3RlbnRpYWxseSBmYWlsaW5nIFdDQUcgU0MgMi40LjEyOlxuICAgIC8vIEZvY3VzIE5vdCBPYnNjdXJlZCAoaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjIvVW5kZXJzdGFuZGluZy9mb2N1cy1ub3Qtb2JzY3VyZWQtbWluaW11bS5odG1sKVxuICAgIC8vIGR1ZSB0byBpdCdzIHN0aWNreSBwb3NpdGlvbmluZy5cbiAgICAvL1xuICAgIC8vIFRoaXMgd2lsbCBhcHBseSBzY3JvbGwtcGFkZGluZy10b3AgaW4gYW55IGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCA6aGFzXG4gICAgLy8gKGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLWhhcykuIFRoaXMgaXMgcGFydCBvZiB0aGUgcmVhc29uIHdlIGRvIHRoaXMgaW5cbiAgICAvLyBhIFwid3Jvbmcgd2F5IHJvdW5kXCIgd2F5IGFzIHdlIGh5cG90aGVzaXNlIHRoYXQgdGhlIHJpc2tzIG9mIGhhdmluZ1xuICAgIC8vIHNjcm9sbC1wYWRkaW5nIHVubmVjZXNzYXJpbHkgaXMgYmV0dGVyIHRoYW4gcmlza2luZyBub3QgaGF2aW5nIHNjcm9sbC1wYWRkaW5nXG4gICAgLy8gYW5kIG5lZWRpbmcgaXQgdG8gYWNjb3VudCBmb3IgZXhpdCB0aGlzIHBhZ2UuXG4gICAgQHN1cHBvcnRzICgocG9zaXRpb246IC13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246IHN0aWNreSkpIHtcbiAgICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg5KTtcblxuICAgICAgJjpub3QoOmhhcyguZ292dWstZXhpdC10aGlzLXBhZ2UpKSB7XG4gICAgICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JjZSB0aGUgc2Nyb2xsYmFyIHRvIGFsd2F5cyBkaXNwbGF5IGluIElFLCB0byBwcmV2ZW50IGhvcml6b250YWwgcGFnZVxuICAgIC8vIGp1bXBzIGFzIGNvbnRlbnQgaGVpZ2h0IGNoYW5nZXMgKGUuZy4gYXV0b2NvbXBsZXRlIHJlc3VsdHMgb3BlbikuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxib2R5PiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZV9fYm9keSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgbWFyZ2lucyBzZXQgYnkgdXNlci1hZ2VudHMgYXJlIG5vdCByZXF1aXJlZCBzaW5jZSB3ZSBoYXZlIG91clxuICAgIC8vIG93biBjb250YWluZXJzLlxuICAgIG1hcmdpbjogMDtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgYm9keSBvZiB0aGUgcGFnZSBiYWNrIHRvIHRoZSB0eXBpY2FsIGJhY2tncm91bmQgY29sb3VyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV90ZW1wbGF0ZS5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuLy8vL1xuLy8vIEBncm91cCBvYmplY3RzL2xheW91dFxuLy8vL1xuXG4vLy8gV2lkdGggY29udGFpbmVyIG1peGluXG4vLy9cbi8vLyBVc2VkIHRvIGNyZWF0ZSBwYWdlIHdpZHRoIGFuZCBjdXN0b20gd2lkdGggY29udGFpbmVyIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIFskZ292dWstcGFnZS13aWR0aF0gLSBXaWR0aCBpbiBwaXhlbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGluZyBhIDEyMDBweCB3aWRlIGNvbnRhaW5lciBjbGFzc1xuLy8vICAuYXBwLXdpZHRoLWNvbnRhaW5lci0td2lkZSB7XG4vLy8gICAgQGluY2x1ZGUgZ292dWstd2lkdGgtY29udGFpbmVyKDEyMDBweCk7XG4vLy8gIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay13aWR0aC1jb250YWluZXIoJHdpZHRoOiAkZ292dWstcGFnZS13aWR0aCkge1xuICAvLyBCeSBkZWZhdWx0LCBsaW1pdCB0aGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciB0byB0aGUgcGFnZSB3aWR0aFxuICBtYXgtd2lkdGg6ICR3aWR0aDtcblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG5cbiAgLy8gUmVzcGVjdCAnZGlzcGxheSBjdXRvdXQnIHNhZmUgYXJlYSAoYXZvaWRzIG5vdGNoZXMgYW5kIHJvdW5kZWQgY29ybmVycylcbiAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAkZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAvLyBFc2NhcGVkIGR1ZSB0byBTYXNzIG1heCgpIHZzLiBDU1MgbmF0aXZlIG1heCgpXG4gICAgbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1yaWdodH0pXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gIH1cblxuICAvLyBPbiB0YWJsZXQsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlcjtcblxuICAgIC8vIFJlc3BlY3QgJ2Rpc3BsYXkgY3V0b3V0JyBzYWZlIGFyZWEgKGF2b2lkcyBub3RjaGVzIGFuZCByb3VuZGVkIGNvcm5lcnMpXG4gICAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtbGVmdDogY2FsYygjeyRnb3Z1ay1ndXR0ZXItaGFsZn0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcblxuICAgICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICAgIG1hcmdpbi1yaWdodDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgICBtYXJnaW4tbGVmdDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLWxlZnR9KVwiKTtcbiAgICB9XG4gIH1cblxuICAvLyBBcyBzb29uIGFzIHRoZSB2aWV3cG9ydCBpcyBncmVhdGVyIHRoYW4gdGhlIHdpZHRoIG9mIHRoZSBwYWdlIHBsdXMgdGhlXG4gIC8vIGd1dHRlcnMsIGp1c3QgY2VudHJlIHRoZSBjb250ZW50IGluc3RlYWQgb2YgYWRkaW5nIGd1dHRlcnMuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhbmQ6IFwiKG1pbi13aWR0aDogI3soJHdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgIC8vIFNpbmNlIGEgc2FmZSBhcmVhIG1heSBoYXZlIHByZXZpb3VzbHkgYmVlbiBzZXQgYWJvdmUsXG4gICAgLy8gd2UgbmVlZCB0byBkdXBsaWNhdGUgdGhpcyBtYXJnaW4gdGhhdCBjZW50ZXJzIHRoZSBwYWdlLlxuICAgIEBzdXBwb3J0cyAobWFyZ2luOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy93aWR0aC1jb250YWluZXJcIikge1xuICAuZ292dWstd2lkdGgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay13aWR0aC1jb250YWluZXI7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3dpZHRoLWNvbnRhaW5lci5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9sYXlvdXRcbi8vLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQYWdlIGxheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBXaWR0aCBvZiBtYWluIGNvbnRhaW5lclxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXBhZ2Utd2lkdGg6IDk2MHB4ICFkZWZhdWx0O1xuXG4vLy8gTWFwIG9mIGdyaWQgY29sdW1uIHdpZHRoc1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWdyaWQtd2lkdGhzOiAoXG4gIG9uZS1xdWFydGVyOiAoXG4gICAgMTAwJSAvIDRcbiAgKSxcbiAgb25lLXRoaXJkOiAoXG4gICAgMTAwJSAvIDNcbiAgKSxcbiAgb25lLWhhbGY6IChcbiAgICAxMDAlIC8gMlxuICApLFxuICB0d28tdGhpcmRzOiAoXG4gICAgMjAwJSAvIDNcbiAgKSxcbiAgdGhyZWUtcXVhcnRlcnM6IChcbiAgICAzMDAlIC8gNFxuICApLFxuICBmdWxsOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgZ3V0dGVyIGJldHdlZW4gZ3JpZCBjb2x1bW5zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaGFsZiB0aGUgZ3V0dGVyIGJldHdlZW4gZ3JpZCBjb2x1bW5zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3V0dGVyLWhhbGY6ICRnb3Z1ay1ndXR0ZXIgLyAyO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJvcmRlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gU3RhbmRhcmQgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoOiA1cHggIWRlZmF1bHQ7XG5cbi8vLyBXaWRlIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC13aWRlOiAxMHB4ICFkZWZhdWx0O1xuXG4vLy8gTmFycm93IGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1uYXJyb3c6IDRweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gY29udHJvbCBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50OiAycHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGdyb3VwIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3I6ICRnb3Z1ay1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggb2YgZm9jdXMgb3V0bGluZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG5cbi8vLyBIb3ZlciB3aWR0aCBmb3IgZm9ybSBjb250cm9scyB3aXRoIGEgaG92ZXIgc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ob3Zlci13aWR0aDogMTBweCAhZGVmYXVsdDtcblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X21lYXN1cmVtZW50cy5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9hY2NvcmRpb25cIikge1xuICAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLWFjY29yZGlvbi1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG4gICRnb3Z1ay1hY2NvcmRpb24taWNvbi1mb2N1cy1jb2xvdXI6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICRnb3Z1ay1hY2NvcmRpb24tYm90dG9tLWJvcmRlci13aWR0aDogMXB4O1xuXG4gIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmcge1xuICAgIC8vIE92ZXJyaWRlIGJyb3dzZXIgZGVmYXVsdHMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgZWxlbWVudCBoZWlnaHRcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3R0b20gbWFyZ2luIGZyb20gdGhlIGxhc3QgaXRlbSBpbnNpZGUgdGhlIGNvbnRlbnRcbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBHT1YuVUsgRnJvbnRlbmQgSmF2YVNjcmlwdCBlbmFibGVkXG4gIC5nb3Z1ay1mcm9udGVuZC1zdXBwb3J0ZWQge1xuICAgIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgICAgLy8gQm9yZGVyIGF0IHRoZSBib3R0b20gb2YgdGhlIHdob2xlIGFjY29yZGlvblxuICAgICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWFjY29yZGlvbi1ib3R0b20tYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgYm9keSBvZiBjb2xsYXBzZWQgc2VjdGlvbnMgYnkgZGVmYXVsdCBmb3IgYnJvd3NlcnMgdGhhdCBsYWNrXG4gICAgLy8gc3VwcG9ydCBmb3IgYGNvbnRlbnQtdmlzaWJpbGl0eWAgcGFpcmVkIHdpdGggW2hpZGRlbj11bnRpbC1mb3VuZF1cbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDMsIFwidG9wXCIpO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDgsIFwiYm90dG9tXCIpO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGJvZHkgb2YgY29sbGFwc2VkIHNlY3Rpb25zIHVzaW5nIGBjb250ZW50LXZpc2liaWxpdHlgIHRvIGVuYWJsZVxuICAgIC8vIHBhZ2Ugc2VhcmNoIHdpdGhpbiBbaGlkZGVuPXVudGlsLWZvdW5kXSByZWdpb25zIHdoZXJlIGJyb3dzZXIgc3VwcG9ydGVkXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50W2hpZGRlbl0ge1xuICAgICAgQHN1cHBvcnRzIChjb250ZW50LXZpc2liaWxpdHk6IGhpZGRlbikge1xuICAgICAgICBjb250ZW50LXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLy8gSGlkZSB0aGUgcGFkZGluZyBvZiBjb2xsYXBzZWQgc2VjdGlvbnNcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gU2hvdyB0aGUgYm9keSBvZiBleHBhbmRlZCBzZWN0aW9uc1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tLWV4cGFuZGVkIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19zaG93LWFsbCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDJweCBnb3Z1ay1zcGFjaW5nKDEpIDA7XG5cbiAgICAgIGJvcmRlci13aWR0aDogMDtcblxuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgZGVmYXVsdCBidXR0b24gZm9jdXMgb3V0bGluZSBpbiBGaXJlZm94XG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyO1xuICAgICAgICAvLyBUaGUgZm9jdXMgc3RhdGUgYWRkcyBhIGJveC1zaGFkb3cgdG8gdGhlIHRvcCBhbmQgYm90dG9tIG9mIHRoZVxuICAgICAgICAvLyBidXR0b24uIFdlIGFkZCBhIGdyZXkgYm94LXNoYWRvdyBvbiBob3ZlciB0b28sIHRvIG1ha2UgdGhlIGhlaWdodCBvZlxuICAgICAgICAvLyB0aGUgaG92ZXIgc3RhdGUgbWF0Y2ggdGhlIGhlaWdodCBvZiB0aGUgZm9jdXMgc3RhdGUuXG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAtMnB4ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyLFxuICAgICAgICAgIDAgNHB4ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyO1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgIH1cblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWhvdmVyLWNvbG91cjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb246OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1pY29uLWZvY3VzLWNvbG91cjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBDaGV2cm9uIGljb24gYWxpZ25lZCB3aXRoIHRleHRcbiAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIFNldCBzaXplIHVzaW5nIHJlbXMgc28gaWNvbiBzY2FsZXMgd2l0aCB0ZXh0XG4gICAgICB3aWR0aDogZ292dWstcHgtdG8tcmVtKDIwcHgpO1xuICAgICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oMjBweCk7XG5cbiAgICAgIGJvcmRlcjogZ292dWstcHgtdG8tcmVtKDFweCkgc29saWQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIC8vIENyZWF0ZSBpbm5lciBjaGV2cm9uIGFycm93XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiBnb3Z1ay1weC10by1yZW0oNXB4KTtcbiAgICAgICAgbGVmdDogZ292dWstcHgtdG8tcmVtKDZweCk7XG5cbiAgICAgICAgd2lkdGg6IGdvdnVrLXB4LXRvLXJlbSg2cHgpO1xuICAgICAgICBoZWlnaHQ6IGdvdnVrLXB4LXRvLXJlbSg2cHgpO1xuXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgYm9yZGVyLXRvcDogZ292dWstcHgtdG8tcmVtKDJweCkgc29saWQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogZ292dWstcHgtdG8tcmVtKDJweCkgc29saWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUm90YXRlIGljb24gdG8gY3JlYXRlIFwiRG93blwiIHZlcnNpb25cbiAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbi0tZG93biB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDAgMDtcblxuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICBib3JkZXItdG9wOiAkZ292dWstYWNjb3JkaW9uLWJvdHRvbS1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIC8vIFZpc3VhbGx5IHNlcGFyYXRlIHRoZSBzZWN0aW9uIGZyb20gdGhlIG9uZSB1bmRlcm5lYXRoIHdoZW4gdXNlciBjaGFuZ2VzXG4gICAgICAvLyBjb2xvdXJzIGluIHRoZWlyIGJyb3dzZXIuIFNlZVxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kL2lzc3Vlcy8yMzIxI2lzc3VlY29tbWVudC05MjQyMDE0ODhcbiAgICAgIGJvcmRlci1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgLy8gU2VjdGlvbiBoZWFkZXJzIGhhdmUgYSBwb2ludGVyIGN1cnNvciBhcyBhbiBhZGRpdGlvbmFsIGFmZm9yZGFuY2VcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ292dWstYWNjb3JkaW9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS10ZXh0IHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb246OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1ob3Zlci1jb2xvdXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIC8vIFJlbW92ZSBkZWZhdWx0IGZvY3VzIGJvcmRlciBhcm91bmQgYnV0dG9uIGFzIHN0eWxpbmcgaXMgYmVpbmcgYXBwbGllZFxuICAgICAgICAvLyB0byBpbm5lciB0ZXh0IGVsZW1lbnRzIHRoYXQgcmVjZWl2ZSBmb2N1c1xuICAgICAgICBvdXRsaW5lOiAwO1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZy10ZXh0LWZvY3VzLFxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXN1bW1hcnktZm9jdXMsXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLWZvY3VzIHtcbiAgICAgICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uOjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24taWNvbi1mb2N1cy1jb2xvdXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIGZvY3VzIG91dGxpbmUgaW4gRmlyZWZveFxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIHRyYW5zcGFyZW50IGJvcmRlciB3aGVuIHRoZSBzZWN0aW9uIGlzIGV4cGFuZGVkIHRvIG1ha2UgaXRcbiAgICAvLyBjbGVhciB0aGF0IHRoZSBoZWFkaW5nIHJlbGF0ZXMgdG8gdGhlIGNvbnRlbnQgYmVsb3cuIEFkanVzdCBwYWRkaW5nIHRvXG4gICAgLy8gbWFpbnRhaW4gdGhlIGhlaWdodCBvZiB0aGUgZWxlbWVudC4gU2VlXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kL3B1bGwvMjI1NyNpc3N1ZWNvbW1lbnQtOTUxOTIwNzk4XG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi0tZXhwYW5kZWQgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFzIENoZXZyb24gaWNvbiBpcyB2ZXJ0aWNhbGx5IGFsaWduZWQgaXQgb3ZlcmxhcHMgd2l0aCB0aGUgZm9jdXMgc3RhdGVcbiAgICAvLyBib3R0b20gYm9yZGVyIOKAkyB0aGlzIGFkZHMgc29tZSBzcGFjaW5nXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b246Zm9jdXMgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi10b2dnbGUtZm9jdXMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcblxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZSxcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmctdGV4dCxcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuXG4gICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmctdGV4dC1mb2N1cyxcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tc3VtbWFyeS1mb2N1cyxcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLWZvY3VzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCB0b2dnbGUgbGluayB3aXRoIENoZXZyb24gaWNvbiBvbiBsZWZ0LlxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTkpO1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQWRkIHNwYWNlIGJldHdlZW4gdGhlIGljb24gYW5kIHRleHQuIEF2b2lkIGFwcGx5aW5nIHNwYWNpbmcgZGlyZWN0bHkgdG9cbiAgICAvLyB0aGUgaWNvbiBhcyB0aGUgdXNlIG9mIGB0cmFuc2Zvcm1gIHdpbGwgY2hhbmdlIHRoZSBwbGFjZW1lbnQgb2YgYW55XG4gICAgLy8gbWFyZ2lucy5cbiAgICAuZ292dWstYWNjb3JkaW9uX19zaG93LWFsbC10ZXh0LFxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEJhY2tncm91bmQgY29sb3VyIGFkanVzdG1lbnQgd2hlbiB1c2VyIGNoYW5nZXMgY29sb3VycyBpbiBGaXJlZm94XG4gICAgLy9cbiAgICAvLyBXaGVuIHVzZXIgY2hhbmdlcyBjb2xvdXJzIGluIEZpcmVmb3gsIHRleHQgY29sb3VyIGluc2lkZSA8YnV0dG9uPiBpc1xuICAgIC8vIGFsd2F5cyBibGFjayAocmVnYXJkbGVzcyBvZiB0aGUgY3VzdG9tIGNvbG91cnMgdGhlIHVzZXIgaGFzIHNldCkuIFRoaXMgaXNcbiAgICAvLyBmaW5lIHdoZW4gdGhlIHRleHQgaW4gdGhlIGJ1dHRvbiBpcyBub3QgbmVzdGVkIGluc2lkZSBhbm90aGVyIGVsZW1lbnRcbiAgICAvLyBiZWNhdXNlIHdoZW4gdXNlciBjaGFuZ2VzIGNvbG91cnMgaW4gRmlyZWZveCwgdGhlIGltbWVkaWF0ZSBiYWNrZ3JvdW5kXG4gICAgLy8gY29sb3VyIG9mIGJ1dHRvbnMgaXMgYWx3YXlzIHdoaXRlIChhZ2FpbiwgcmVnYXJkbGVzcyBvZiB1c2VyJ3MgY3VzdG9tXG4gICAgLy8gY29sb3VycykuXG4gICAgLy9cbiAgICAvLyBIb3dldmVyLCB3aGVuIHRoZSB0ZXh0IGluc2lkZSA8YnV0dG9uPiBpcyB3cmFwcGVkIGluc2lkZSBhbm90aGVyIGVsZW1lbnRcbiAgICAvLyBBTkQgdGhhdCBlbGVtZW50IHNldHMgYSBiYWNrZ3JvdW5kIGNvbG91ciwgdGhlIHRleHQgY29sb3VyIGlzIHN0aWxsIGJsYWNrXG4gICAgLy8gYnV0IHRoZSBiYWNrZ3JvdW5kIG9mIHRoYXQgbmVzdGVkIGVsZW1lbnQgZ2V0cyB0aGUgdXNlcidzIGN1c3RvbVxuICAgIC8vIGJhY2tncm91bmQgY29sb3VyLiBXaGVuIHRoZSBjdXN0b20gYmFja2dyb3VuZCBpcyBhIGxpZ2h0ZXIgaHVlLCB0aGVcbiAgICAvLyBjb250cmFzdCBtaWdodCBiZSBzdWZmaWNpZW50LiBCdXQgaWYgdGhlIHVzZXIncyBjdXN0b20gYmFja2dyb3VuZCBjb2xvdXJcbiAgICAvLyBpcyBhIGRhcmtlciBjb2xvdXIsIHRoZSBjb250cmFzdCB3aXRoIHRoZSB0ZXh0IG1pZ2h0IG5vdCBiZSBzdWZmaWNpZW50LlxuICAgIC8vXG4gICAgLy8gVG8gZW5zdXJlIHN1ZmZpY2llbnQgY29udHJhc3QsIG92ZXJyaWRlIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBzZXQgYnkgdGhlXG4gICAgLy8gZm9jdXMgc3RhdGUgb24gdGhlIG5lc3RlZCBlbGVtZW50cyB0byBiZSB0cmFuc3BhcmVudC5cbiAgICAvL1xuICAgIC8vIEFsc28gb3ZlcnJpZGUgdGhlIGJhY2tncm91bmQgY29sb3VyIG9mIHRoZSBTaG93L0hpZGUgY2hldnJvbnMgd2hpY2ggc2V0IGFcbiAgICAvLyBiYWNrZ3JvdW5kIGNvbG91ciBvbiBob3Zlci5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAuZ292dWstYWNjb3JkaW9uX19zaG93LWFsbDpob3ZlcixcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3Nob3ctYWxsOmZvY3VzLFxuICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b246Zm9jdXMge1xuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmctdGV4dC1mb2N1cyxcbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1zdW1tYXJ5LWZvY3VzLFxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS1mb2N1cyxcbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9yIGRldmljZXMgdGhhdCBjYW4ndCBob3ZlciBzdWNoIGFzIHRvdWNoIGRldmljZXMsXG4gICAgLy8gcmVtb3ZlIGhvdmVyIHN0YXRlIGFzIGl0IGNhbiBiZSBzdHVjayBpbiB0aGF0IHN0YXRlIChpT1MpLlxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggMCAwICRnb3Z1ay1saW5rLWNvbG91cjtcblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JhY2stbGlua1wiKSB7XG4gIC8vIENvbXBvbmVudCBmb250LXNpemUgb24gdGhlIEZyb250ZW5kICh1c2VkIGZvciBjYWxjdWxhdGlvbnMpXG4gICRmb250LXNpemU6IDE2O1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiAoZXhjbHVkaW5nIGJvcmRlcilcbiAgJGNoZXZyb24tc2l6ZTogZ292dWstZW0oN3B4LCAkZm9udC1zaXplKTtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGg6IDFweDtcbiAgJGNoZXZyb24tYm9yZGVyLXdpZHRoOiBnb3Z1ay1lbSgkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoLCAkZm9udC1zaXplKTtcblxuICAvLyBDb2xvdXIgb2YgY2hldnJvblxuICAkY2hldnJvbi1ib3JkZXItY29sb3VyOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gIC5nb3Z1ay1iYWNrLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogJGZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcblxuICAgIC8vIEFsbG93IHNwYWNlIGZvciB0aGUgYXJyb3dcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLWVtKDE0cHgsICRmb250LXNpemUpO1xuICB9XG5cbiAgLy8gUHJlcGVuZCBsZWZ0IHBvaW50aW5nIGNoZXZyb25cbiAgLmdvdnVrLWJhY2stbGluazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLy8gVmVydGljYWxseSBhbGlnbiB3aXRoIHRoZSBwYXJlbnQgZWxlbWVudFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGdvdnVrLWVtKDNweCwgJGZvbnQtc2l6ZSk7XG5cbiAgICB3aWR0aDogJGNoZXZyb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRjaGV2cm9uLXNpemU7XG5cbiAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG5cbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGNoZXZyb24tYm9yZGVyLW1pbi13aWR0aCAkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoIDAgMDtcbiAgICBib3JkZXItY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICBAc3VwcG9ydHMgKGJvcmRlci13aWR0aDogdW5xdW90ZShcIm1heCgwcHgpXCIpKSB7XG4gICAgICAkYm9yZGVyLXdpZHRoLWV2YWw6IFwibWF4KCN7JGNoZXZyb24tYm9yZGVyLW1pbi13aWR0aH0sICN7JGNoZXZyb24tYm9yZGVyLXdpZHRofSlcIjtcblxuICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGNoZXZyb24gbmV2ZXIgZ2V0cyBzbWFsbGVyIHRoYW4gMTZweFxuICAgICAgYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCRib3JkZXItd2lkdGgtZXZhbCkgdW5xdW90ZSgkYm9yZGVyLXdpZHRoLWV2YWwpIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogdW5xdW90ZShcIm1heCgjeyRmb250LXNpemUgKiAxcHh9LCAxZW0pXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1iYWNrLWxpbms6Zm9jdXM6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstYmFjay1saW5rOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTRweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IC0xNHB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuZ292dWstYmFjay1saW5rLS1pbnZlcnNlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2U7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9icmVhZGNydW1ic1wiKSB7XG4gIC8vIENvbXBvbmVudCBmb250LXNpemUgb24gdGhlIEZyb250ZW5kICh1c2VkIGZvciBjYWxjdWxhdGlvbnMpXG4gICRmb250LXNpemU6IDE2O1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiAoZXhjbHVkaW5nIGJvcmRlcilcbiAgJGNoZXZyb24tc2l6ZTogZ292dWstZW0oN3B4LCAkZm9udC1zaXplKTtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGg6IDFweDtcbiAgJGNoZXZyb24tYm9yZGVyLXdpZHRoOiBnb3Z1ay1lbSgkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoLCAkZm9udC1zaXplKTtcblxuICAvLyBDb2xvdXIgb2YgY2hldnJvblxuICAkY2hldnJvbi1ib3JkZXItY29sb3VyOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gIC8vIENhbGN1bGF0ZWQgYWx0aXR1ZGUgKOKWs+KGlSkgb2YgdGhlIHJpZ2h0LWFuZ2xlZCBpc29zY2VsZXMgY2hldnJvbiB3aXRoIHNpZGVzXG4gIC8vIG9mIGxlbmd0aCA4ICg3cHggKyAxcHggYm9yZGVyKTpcbiAgLy9cbiAgLy8g4oiaKDjCsiArIDjCsikgKiAwLjUg4omFIDUuNjU1XG4gICRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQ6IGdvdnVrLWVtKDUuNjU1cHgsICRmb250LXNpemUpO1xuXG4gIC5nb3Z1ay1icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogJGZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWRkIGJvdGggbWFyZ2luIGFuZCBwYWRkaW5nIHN1Y2ggdGhhdCB0aGUgY2hldnJvbiBhcHBlYXJzIGNlbnRyYWxseVxuICAgIC8vIGJldHdlZW4gZWFjaCBicmVhZGNydW1iIGl0ZW1cbiAgICBtYXJnaW4tbGVmdDogZ292dWstZW0oZ292dWstc3BhY2luZygyKSwgJGZvbnQtc2l6ZSk7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1lbShnb3Z1ay1zcGFjaW5nKDIpLCAkZm9udC1zaXplKSArICRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQ7XG5cbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIENyZWF0ZSBhIGNoZXZyb24gdXNpbmcgYSBib3ggd2l0aCBib3JkZXJzIG9uIHR3byBzaWRlcywgcm90YXRlZCA0NWRlZy5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgIC8vIE9mZnNldCBieSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB3aWR0aCBvZiB0aGUgbm9uLXJvdGF0ZWQgc3F1YXJlXG4gICAgICAvLyBhbmQgaXRzIHdpZHRoIHdoZW4gcm90YXRlZFxuICAgICAgbGVmdDogKCgkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkICogLTIpICsgJGNoZXZyb24tc2l6ZSArICRjaGV2cm9uLWJvcmRlci13aWR0aCk7XG5cbiAgICAgIHdpZHRoOiAkY2hldnJvbi1zaXplO1xuICAgICAgaGVpZ2h0OiAkY2hldnJvbi1zaXplO1xuXG4gICAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICBib3JkZXI6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGggMCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICBAc3VwcG9ydHMgKGJvcmRlci13aWR0aDogdW5xdW90ZShcIm1heCgwcHgpXCIpKSB7XG4gICAgICAgICRib3JkZXItd2lkdGgtZXZhbDogXCJtYXgoI3skY2hldnJvbi1ib3JkZXItbWluLXdpZHRofSwgI3skY2hldnJvbi1ib3JkZXItd2lkdGh9KVwiO1xuXG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBjaGV2cm9uIG5ldmVyIGdldHMgc21hbGxlciB0aGFuIDE2cHhcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCRib3JkZXItd2lkdGgtZXZhbCkgdW5xdW90ZSgkYm9yZGVyLXdpZHRoLWV2YWwpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB1bnF1b3RlKFwibWF4KCN7JGZvbnQtc2l6ZSAqIDFweH0sIDFlbSlcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1icy0tY29sbGFwc2Utb24tbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IGdvdnVrLWVtKDZweCwgJGZvbnQtc2l6ZSk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzLS1pbnZlcnNlIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgICAuZ292dWstYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1pbnZlcnNlO1xuICAgIH1cblxuICAgIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBjb21wb25lbnRzL2J1dHRvblxuLy8vL1xuXG4vLy8gQnV0dG9uIGNvbXBvbmVudCBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JlZW5cIikgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY29tcG9uZW50IHRleHQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEludmVydGVkIGJ1dHRvbiBjb21wb25lbnQgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIikgIWRlZmF1bHQ7XG5cbi8vLyBJbnZlcnRlZCBidXR0b24gY29tcG9uZW50IHRleHQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXI6ICRnb3Z1ay1icmFuZC1jb2xvdXIgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYnV0dG9uXCIpIHtcbiAgJGdvdnVrLWJ1dHRvbi1jb2xvdXI6ICRnb3Z1ay1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI7XG4gICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstYnV0dG9uLWNvbG91ciwgMjAlKTtcbiAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstYnV0dG9uLWNvbG91ciwgNjAlKTtcblxuICAvLyBTZWNvbmRhcnkgYnV0dG9uIHZhcmlhYmxlc1xuICAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLXNlY29uZGFyeS1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsIDEwJSk7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXNoYWRvdy1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgNDAlKTtcblxuICAvLyBXYXJuaW5nIGJ1dHRvbiB2YXJpYWJsZXNcbiAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91cjogZ292dWstY29sb3VyKFwicmVkXCIpO1xuICAkZ292dWstd2FybmluZy1idXR0b24tdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstd2FybmluZy1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyLCAyMCUpO1xuICAkZ292dWstd2FybmluZy1idXR0b24tc2hhZG93LWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91ciwgNjAlKTtcblxuICAvLyBJbnZlcnNlIGJ1dHRvbiB2YXJpYWJsZXNcbiAgJGdvdnVrLWludmVyc2UtYnV0dG9uLWNvbG91cjogJGdvdnVrLWludmVyc2UtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyO1xuICAkZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXI6ICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgJGdvdnVrLWludmVyc2UtYnV0dG9uLWhvdmVyLWNvbG91cjogZ292dWstdGludCgkZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXIsIDkwJSk7XG4gICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXIsIDMwJSk7XG5cbiAgLy8gQmVjYXVzZSB0aGUgc2hhZG93IChzMCkgaXMgdmlzdWFsbHkgJ3BhcnQgb2YnIHRoZSBidXR0b24sIHdlIG5lZWQgdG8gcmVkdWNlXG4gIC8vIHRoZSBoZWlnaHQgb2YgdGhlIGJ1dHRvbiB0byBjb21wZW5zYXRlIGJ5IGFkanVzdGluZyBpdHMgcGFkZGluZyAoczEpIGFuZFxuICAvLyBpbmNyZWFzZSB0aGUgYm90dG9tIG1hcmdpbiB0byBpbmNsdWRlIGl0IChzMikuXG4gICRidXR0b24tc2hhZG93LXNpemU6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gIC5nb3Z1ay1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIsICRhZGp1c3RtZW50OiAkYnV0dG9uLXNoYWRvdy1zaXplKTsgLy8gczJcbiAgICBwYWRkaW5nOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50KSBnb3Z1ay1zcGFjaW5nKDIpXG4gICAgICAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSk7IC8vIHMxXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIHRoYXQgYW55IGdsb2JhbCBsaW5rIHN0eWxlcyBhcmUgb3ZlcnJpZGRlblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBGaXggdW53YW50ZWQgYnV0dG9uIHBhZGRpbmcgaW4gRmlyZWZveFxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIC8vIEJ1bXAgdGhlIGJ1dHRvbiBkb3duIHNvIGl0IGxvb2tzIGxpa2UgaXRzIGJlaW5nIHByZXNzZWQgaW5cbiAgICAgIHRvcDogJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIH1cblxuICAgICY6Zm9jdXM6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMCAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBhZGp1c3RtZW50cyBkbyBub3Qgd29yayBmb3IgPGlucHV0IHR5cGU9XCJidXR0b25cIj4gYXNcbiAgICAvLyBub24tY29udGFpbmVyIGVsZW1lbnRzIGNhbm5vdCBpbmNsdWRlIHBzZXVkbyBlbGVtZW50cyAoaS5lLiA6OmJlZm9yZSkuXG5cbiAgICAvLyBVc2UgYSBwc2V1ZG8gZWxlbWVudCB0byBleHBhbmQgdGhlIGNsaWNrIHRhcmdldCBhcmVhIHRvIGluY2x1ZGUgdGhlXG4gICAgLy8gYnV0dG9uJ3Mgc2hhZG93IGFzIHdlbGwsIGluIGNhc2UgdXNlcnMgdHJ5IHRvIGNsaWNrIGl0LlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgICByaWdodDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgYm90dG9tOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgICBsZWZ0OiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGJ1dHRvbiBpcyBhY3RpdmUgaXQgaXMgc2hpZnRlZCBkb3duIGJ5ICRidXR0b24tc2hhZG93LXNpemUgdG9cbiAgICAvLyBkZW5vdGUgYSAncHJlc3NlZCcgc3RhdGUuIElmIHRoZSB1c2VyIGhhcHBlbmVkIHRvIGNsaWNrIGF0IHRoZSB2ZXJ5IHRvcFxuICAgIC8vIG9mIHRoZSBidXR0b24sIHRoZWlyIG1vdXNlIGlzIG5vIGxvbmdlciBvdmVyIHRoZSBidXR0b24gKGJlY2F1c2UgaXQgaGFzXG4gICAgLy8gJ21vdmVkIGJlbmVhdGggdGhlbScpIGFuZCBzbyB0aGUgY2xpY2sgZXZlbnQgaXMgbm90IGZpcmVkLlxuICAgIC8vXG4gICAgLy8gVGhpcyBjb3JyZWN0cyB0aGF0IGJ5IHNoaWZ0aW5nIHRoZSB0b3Agb2YgdGhlIHBzZXVkbyBlbGVtZW50IHNvIHRoYXQgaXRcbiAgICAvLyBjb250aW51ZXMgdG8gY292ZXIgdGhlIGFyZWEgdGhhdCB0aGUgdXNlciBvcmlnaW5hbGx5IGNsaWNrZWQsIHdoaWNoIG1lYW5zXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIHN0aWxsIGZpcmVkLlxuICAgIC8vXG4gICAgLy8g8J+OiVxuICAgICY6YWN0aXZlOjpiZWZvcmUge1xuICAgICAgdG9wOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6ICgwLjUpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyO1xuICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG5cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLWludmVyc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWludmVyc2UtYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLWludmVyc2UtYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWludmVyc2UtYnV0dG9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstaW52ZXJzZS1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQsICRsaW5lLWhlaWdodDogMSk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuZ292dWstYnV0dG9uX19zdGFydC1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgLy8gV29yayBhcm91bmQgU1ZHcyBub3QgaW5oZXJpdGluZyBjb2xvciBmcm9tIHBhcmVudCBpbiBmb3JjZWQgY29sb3IgbW9kZVxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjMxMClcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBhdXRvO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9lcnJvci1tZXNzYWdlXCIpIHtcbiAgLmdvdnVrLWVycm9yLW1lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIFJlc2V0IGFueSBkZWZhdWx0IGJyb3dzZXIgbWFyZ2lucyBmb3IgcGFyYWdyYXBoc1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGludFwiKSB7XG4gIC5nb3Z1ay1oaW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGFiZWwgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1sYWJlbC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsYWJlbCBpcyBpbnNpZGUgdGhlIDxoMT4sIGhvd2V2ZXIgaXRcbiAgLy8gaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1sYWJlbC0tcyBjbGFzcyB3b3VsZCBiZSB1c2VkIGluIHRoaXNcbiAgLy8gY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKS5cbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyBtYXJnaW4tYm90dG9tIG9mIGhpbnQgd2hlbiB1c2VkIGFmdGVyIHRoZSBkZWZhdWx0IGxlZ2VuZCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMgZm9yIGJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5cbiAgLy8gVGhpcyBhZGp1c3RtZW50IHdpbGwgbm90IHdvcmsgd2hlbiB0aGUgbGVnZW5kIGlzIG91dHNpZGUgdGhlIDxoMT4sIGhvd2V2ZXJcbiAgLy8gaXQgaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGNsYXNzIHdvdWxkIGJlXG4gIC8vIHVzZWQgaW4gdGhpcyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLlxuICAvLyBVc2VycyB3aXRoIHRoZXNlIGJyb3dzZXJzIHdpbGwgc2VlIHRoZSBkZWZhdWx0IHNpemUgbWFyZ2luICg1cHggbGFyZ2VyKS5cblxuICAvLyBwcmV0dGllci1pZ25vcmVcbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQ6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tKTpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwpOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwpICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBSZWR1Y2VzIHZpc3VhbCBzcGFjaW5nIG9mIGxlZ2VuZCB3aGVuIHRoZXJlIGlzIGEgaGludFxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZCArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvbGFiZWxcIikge1xuICAuZ292dWstbGFiZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGFiZWxzIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcbiAgLmdvdnVrLWxhYmVsLS14bCxcbiAgLmdvdnVrLWxhYmVsLS1sLFxuICAuZ292dWstbGFiZWwtLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogNDgpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDM2KTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsYWJlbCBpcyBuZXN0ZWQgaW5zaWRlIGEgaGVhZGluZywgb3ZlcnJpZGUgdGhlIGhlYWRpbmcgc28gdGhhdCBpdFxuICAvLyBkb2VzIG5vdCBoYXZlIGEgbWFyZ2luLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmdcbiAgLy8gYXMgaWYgaXQgaXMgbm90IHRoZXJlLlxuICAvL1xuICAvLyBUaGlzIGJyZWFrcyBCRU0gY29udmVudGlvbnMgYmVjYXVzZSBpdCBleGlzdHMgYXMgYSBwYXJlbnQgb2YgdGhlICdibG9jaycsXG4gIC8vIHNvIHdlIGNhbid0IHJlYWxseSBjb25zaWRlciBhbiBlbGVtZW50LlxuICAuZ292dWstbGFiZWwtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90ZXh0YXJlYVwiKSB7XG4gIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMS4yNSk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAgIHJlc2l6ZTogdmVydGljYWw7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gRW5zdXJlIG91dGxpbmUgYXBwZWFycyBvdXRzaWRlIG9mIHRoZSBlbGVtZW50XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIC8vIERvdWJsZSB0aGUgYm9yZGVyIGJ5IGFkZGluZyBpdHMgd2lkdGggYWdhaW4uIFVzZSBgYm94LXNoYWRvd2AgdG8gZG9cbiAgICAgIC8vIHRoaXMgaW5zdGVhZCBvZiBjaGFuZ2luZyBgYm9yZGVyLXdpZHRoYCAod2hpY2ggY2hhbmdlcyBlbGVtZW50IHNpemUpXG4gICAgICAvLyBhbmQgc2luY2UgYG91dGxpbmVgIGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vdGV4dGFyZWEvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGFyYWN0ZXItY291bnRcIikge1xuICAuZ292dWstY2hhcmFjdGVyLWNvdW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwLFxuICAgIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIC8vIFplcm8td2lkdGggc3BhY2UgdGhhdCB3aWxsIHJlc2VydmUgdmVydGljYWwgc3BhY2Ugd2hlbiBubyBoaW50IGlzXG4gICAgICAvLyBwcm92aWRlZCBhczpcbiAgICAgIC8vIC0gc2V0dGluZyBhIG1pbi1oZWlnaHQgaXMgbm90IHBvc3NpYmxlIHdpdGhvdXQgYSBtYWdpYyBudW1iZXIgYmVjYXVzZVxuICAgICAgLy8gICB0aGUgbGluZS1oZWlnaHQgaXMgc2V0IGJ5IHRoZSBgZ292dWstZm9udGAgY2FsbCBhYm92ZVxuICAgICAgLy8gLSB1c2luZyBgOmVtcHR5YCBpcyBub3QgcG9zc2libGUgYXMgdGhlIGhpbnQgbWFjcm8gb3V0cHV0cyBsaW5lIGJyZWFrc1xuICAgICAgY29udGVudDogXCJcXDIwMEJcIjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlLS1kaXNhYmxlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9maWVsZHNldFwiKSB7XG4gIC5nb3Z1ay1maWVsZHNldCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgfVxuXG4gIC8vIEZpeCBmb3IgRmlyZWZveCA8IDUzIChodHRwczovL2J1Z3ppbC5sYS81MDQ2MjIpXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLXR5cGUtbm8tdW5rbm93biAtLSBJZ25vcmUgJ3g6LW1vei1hbnktbGluaydcbiAgQHN1cHBvcnRzIG5vdCAoY2FyZXQtY29sb3I6IGF1dG8pIHtcbiAgICAuZ292dWstZmllbGRzZXQsXG4gICAgeDotbW96LWFueS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItdHlwZS1uby11bmtub3duXG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIC8vIEZpeCBsZWdlbmQgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRVxuICAgIC8vIDEuIElFOS0xMSAmIEVkZ2UgMTItMTNcbiAgICAvLyAyLiBJRTgtMTFcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxlZ2VuZHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwsXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sLFxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDQ4KTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDM2KTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDI0KTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGVnZW5kIGNvbnRhaW5zIGFuIEgxLCB3ZSB3YW50IHRoZSBIMSB0byBpbmhlcml0IGFsbCBzdHlsZXMgZnJvbVxuICAvLyB0aGUgbGVnZW5kLiBFZmZlY3RpdmVseSB0cmVhdCB0aGUgaGVhZGluZyBhcyBpZiBpdCBpcyBub3QgdGhlcmUuXG4gIC5nb3Z1ay1maWVsZHNldF9faGVhZGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGVja2JveGVzXCIpIHtcbiAgJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXI6IDRweDtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTogNDBweDtcbiAgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplOiAoJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZSArICRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyKTtcbiAgJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZTogMjRweDtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAkZ292dWstY2hlY2tib3gtY2hlY2staG9yaXpvbnRhbC1wb3NpdGlvbjogMTBweDtcblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQge1xuICAgIC8vIEFsbG93IHRoZSBpbnB1dCB0byBzaXQgYWJvdmUgdGhlIGxhYmVsLCBlbmFibGluZyBpdHMgcHJvcGVyIGRldGVjdGlvblxuICAgIC8vIHdoZW4gZXhwbG9yaW5nIGJ5IHRvdWNoIG9yIHVzaW5nIGF1dG9tYXRpb24gdG9vbHMgbGlrZSBTZWxlbml1bVxuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB3aWR0aCBvZiB0aGUgbGFiZWwgaXMgbmV2ZXIgbW9yZSB0aGFuIHRoZSB3aWR0aCBvZiB0aGVcbiAgICAvLyBjb250YWluZXIgbWludXMgdGhlIGlucHV0IHdpZHRoIG1pbnVzIHRoZSBwYWRkaW5nIG9uIGVpdGhlciBzaWRlIG9mXG4gICAgLy8gdGhlIGxhYmVsLiBUaGlzIHByZXZlbnRzIHRoZSBsYWJlbCBmcm9tIGdvaW5nIG9udG8gdGhlIG5leHQgbGluZSBkdWUgdG9cbiAgICAvLyBfX2l0ZW0gdXNpbmcgZmxleC13cmFwIGJlY2F1c2Ugd2Ugd2FudCBoaW50cyBvbiBhIHNlcGFyYXRlIGxpbmUuXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeygoJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0ICogMikgKyAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUpfSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAoZ292dWstc3BhY2luZygxKSArICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50KSBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAvLyBbIF0gQ2hlY2sgYm94XG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyIC8gMik7XG4gICAgbGVmdDogKCRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyIC8gMik7XG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudGNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8g4pyUIENoZWNrIG1hcmtcbiAgLy9cbiAgLy8gVGhlIGNoZWNrIG1hcmsgaXMgYSBib3ggd2l0aCBhIGJvcmRlciBvbiB0aGUgbGVmdCBhbmQgYm90dG9tIHNpZGUgKOKUlOKUgOKUgCksXG4gIC8vIHJvdGF0ZWQgNDUgZGVncmVlc1xuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLy8gVXNlIFwibWFnaWMgbnVtYmVyc1wiIHRvIGRlZmluZSBzaGFwZSBhbmQgcG9zaXRpb24gb2YgY2hlY2sgbWFyayBiZWNhdXNlXG4gICAgLy8gdGhlIGNvbXBsZXhpdHkgb2YgdGhlIHNoYXBlIG1ha2VzIGl0IGRpZmZpY3VsdCB0byBjYWxjdWxhdGUgZHluYW1pY2FsbHkuXG4gICAgdG9wOiAxM3B4O1xuICAgIGxlZnQ6ICRnb3Z1ay1jaGVja2JveC1jaGVjay1ob3Jpem9udGFsLXBvc2l0aW9uO1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIGJvcmRlcjogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNXB4IDVweDtcbiAgICAvLyBGaXggYnVnIGluIElFMTEgY2F1c2VkIGJ5IHRyYW5zZm9ybSByb3RhdGUgKC00NWRlZykuXG4gICAgLy8gU2VlOiBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy9pc3N1ZXMvNTE4XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19oaW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0ICsgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplKTtcbiAgfVxuXG4gIC8vIFRoaXMgaXMgdG8gYnlwYXNzIGdvdnVrLWhpbnQncyBzcGVjaWZpY2l0eSBvbiBoaW50cyBmb2xsb3dpbmcgbGFiZWxzIGhhdmluZ1xuICAvLyBhIG1hcmdpbiBib3R0b20gb2YgMTBweCAoZ292dWstc3BhY2luZygyKSkuIEJlY2F1c2UgY2hlY2tib3hlcyBhcmUgZmxleGJveCxcbiAgLy8gdGhlIG1hcmdpbiBkb2Vzbid0IGNvbGxhcHNlIHNvIHdlIGhhdmUgdG8gZG8gdGhpcyBtYW51YWxseS5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1jaGVja2JveGVzX19oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gRm9jdXNlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG5cbiAgICAvLyBXaGVuIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4sIHRoZSB5ZWxsb3cgYm94LXNoYWRvdyBiZWNvbWVzIGludmlzaWJsZVxuICAgIC8vIHdoaWNoIG1lYW5zIHRoZSBmb2N1cyBzdGF0ZSBpcyBsZXNzIG9idmlvdXMuIEJ5IGFkZGluZyBhIHRyYW5zcGFyZW50XG4gICAgLy8gb3V0bGluZSwgd2hpY2ggYmVjb21lcyBzb2xpZCAodGV4dC1jb2xvdXJlZCkgaW4gdGhhdCBjb250ZXh0LCB3ZSBlbnN1cmVcbiAgICAvLyB0aGUgZm9jdXMgcmVtYWlucyBjbGVhcmx5IHZpc2libGUuXG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cbiAgICAvLyBXaGVuIGluIGFuIGV4cGxpY2l0IGZvcmNlZC1jb2xvciBtb2RlLCB3ZSBjYW4gdXNlIHRoZSBIaWdobGlnaHQgc3lzdGVtXG4gICAgLy8gY29sb3IgZm9yIHRoZSBvdXRsaW5lIHRvIGJldHRlciBtYXRjaCBmb2N1cyBzdGF0ZXMgb2YgbmF0aXZlIGNvbnRyb2xzXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQsXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkIH4gLmdvdnVrLWhpbnQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBEaXZpZGVycyAoJ29yJylcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2RpdmlkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAkZ292dWstZGl2aWRlci1zaXplOiAkZ292dWstY2hlY2tib3hlcy1zaXplICFkZWZhdWx0O1xuICAgIHdpZHRoOiAkZ292dWstZGl2aWRlci1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbmRpdGlvbmFsIHJldmVhbHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gVGhlIG5hcnJvdyBib3JkZXIgaXMgdXNlZCBpbiB0aGUgY29uZGl0aW9uYWwgcmV2ZWFscyBiZWNhdXNlIHRoZSBib3JkZXIgaGFzXG4gIC8vIHRvIGJlIGFuIGV2ZW4gbnVtYmVyIGluIG9yZGVyIHRvIGJlIGNlbnRyZWQgdW5kZXIgdGhlIDQwcHggY2hlY2tib3ggb3IgcmFkaW8uXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93O1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgY2hlY2tib3guXG4gICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZzogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAvIDIpIC0gKCRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggLyAyKTtcbiAgLy8gTW92ZSB0aGUgYm9yZGVyIGNlbnRlcmVkIHdpdGggdGhlIGNoZWNrYm94XG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcblxuICAuZ292dWstY2hlY2tib3hlc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCAmLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU21hbGwgY2hlY2tib3hlc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstY2hlY2tib3hlcy0tc21hbGwge1xuICAgICRpbnB1dC1vZmZzZXQ6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplKSAvIDI7XG5cbiAgICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIFNoaWZ0IHRoZSB0b3VjaCB0YXJnZXQgaW50byB0aGUgbGVmdCBtYXJnaW4gc28gdGhhdCB0aGUgdmlzaWJsZSBlZGdlIG9mXG4gICAgLy8gdGhlIGNvbnRyb2wgaXMgYWxpZ25lZFxuICAgIC8vXG4gICAgLy8gICDilIZXaGF0IGNvbG91cnMgZG8geW91IGxpa2U/XG4gICAgLy8gIOKUjOKUhuKUgOKUgOKUgOKUkFxuICAgIC8vICDilILilIZbXSDilIIgUHVycGxlXG4gICAgLy8gIOKUlOKUhuKWsuKUgOKUgOKUmFxuICAgIC8vICDilrLilIbilJTilIAgQ2hlY2sgYm94IHBzZXVkbyBlbGVtZW50LCBhbGlnbmVkIHdpdGggbWFyZ2luXG4gICAgLy8gIOKUlOKUgOKUgOKUgCBUb3VjaCB0YXJnZXQgKGludmlzaWJsZSBpbnB1dCksIHNoaWZ0ZWQgaW50byB0aGUgbWFyZ2luXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkaW5wdXQtb2Zmc2V0ICogLTE7XG4gICAgfVxuXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICAgIC8vIENyZWF0ZSBhIHRpbnkgc3BhY2UgYmV0d2VlbiB0aGUgc21hbGwgY2hlY2tib3ggaG92ZXIgc3RhdGUgc28gdGhhdCBpdFxuICAgICAgLy8gZG9lc24ndCBjbGFzaCB3aXRoIHRoZSBsYWJlbFxuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgfVxuXG4gICAgLy8gWyBdIENoZWNrIGJveFxuICAgIC8vXG4gICAgLy8gUmVkdWNlIHRoZSBzaXplIG9mIHRoZSBjaGVjayBib3ggWzFdLCB2ZXJ0aWNhbGx5IGNlbnRlciBpdCB3aXRoaW4gdGhlXG4gICAgLy8gdG91Y2ggdGFyZ2V0IFsyXVxuICAgIC8vIExlZnQgaGVyZSBpcyAwIGJlY2F1c2Ugd2UndmUgc2hpZnRlZCB0aGUgaW5wdXQgaW50byB0aGUgbGVmdCBtYXJnaW5cbiAgICAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICB0b3A6ICRpbnB1dC1vZmZzZXQ7IC8vIDJcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZTsgLy8gMVxuICAgICAgaGVpZ2h0OiAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplOyAvLyAxXG4gICAgfVxuXG4gICAgLy8g4pyUIENoZWNrIG1hcmtcbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY2hlY2sgbWFyayBhbmQgcmUtYWxpZ24gd2l0aGluIHRoZSBjaGVja2JveFxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgICAgdG9wOiAxN3B4O1xuXG4gICAgICAvLyBIb3Jpem9udGFsIHBvc2l0aW9uIGlzIGp1c3QgdGhlIG5vcm1hbCBzaXplZCBsZWZ0IHZhbHVlIGFjY291bnRpbmcgZm9yXG4gICAgICAvLyB0aGUgbmV3IHdpZHRoIG9mIHRoZSBzbWFsbGVyIGNoZWNrYm94XG4gICAgICBsZWZ0OiAoMTZweCAtICRnb3Z1ay1jaGVja2JveC1jaGVjay1ob3Jpem9udGFsLXBvc2l0aW9uKTtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiA2LjVweDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDNweCAzcHg7XG4gICAgfVxuXG4gICAgLy8gRml4IHBvc2l0aW9uIG9mIGhpbnQgd2l0aCBzbWFsbCBjaGVja2JveGVzXG4gICAgLy9cbiAgICAvLyBEbyBub3QgdXNlIGhpbnRzIHdpdGggc21hbGwgY2hlY2tib3hlcyDigJMgYmVjYXVzZSB0aGV5J3JlIHdpdGhpbiB0aGUgaW5wdXRcbiAgICAvLyB3cmFwcGVyIHRoZXkgdHJpZ2dlciB0aGUgaG92ZXIgc3RhdGUsIGJ1dCBjbGlja2luZyB0aGVtIGRvZXNuJ3QgYWN0dWFsbHlcbiAgICAvLyBhY3RpdmF0ZSB0aGUgY29udHJvbC5cbiAgICAvL1xuICAgIC8vIChJZiB5b3UgZG8gdXNlIHRoZW0sIHRoZXkgd29uJ3QgbG9vayBjb21wbGV0ZWx5IGJyb2tlbi4uLiBidXQgc2VyaW91c2x5LFxuICAgIC8vIGRvbid0IHVzZSB0aGVtKVxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19oaW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemUgKyAkaW5wdXQtb2Zmc2V0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjb25kaXRpb25hbCByZXZlYWxzIHdpdGggc21hbGwgY2hlY2tib3hlc1xuICAgIC5nb3Z1ay1jaGVja2JveGVzX19jb25kaXRpb25hbCB7XG4gICAgICAkbWFyZ2luLWxlZnQ6ICgkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRpbnB1dC1vZmZzZXQpIC0gKCRtYXJnaW4tbGVmdCArICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGgpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19kaXZpZGVyIHtcbiAgICAgIHdpZHRoOiAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplO1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBzdGF0ZSBmb3Igc21hbGwgY2hlY2tib3hlcy5cbiAgICAvL1xuICAgIC8vIFdlIHVzZSBhIGhvdmVyIHN0YXRlIGZvciBzbWFsbCBjaGVja2JveGVzIGJlY2F1c2UgdGhlIHRvdWNoIHRhcmdldCBzaXplXG4gICAgLy8gaXMgc28gbXVjaCBsYXJnZXIgdGhhbiB0aGVpciB2aXNpYmxlIHNpemUsIGFuZCBzbyB3ZSBuZWVkIHRvIHByb3ZpZGVcbiAgICAvLyBmZWVkYmFjayB0byB0aGUgdXNlciBhcyB0byB3aGljaCBjaGVja2JveCB0aGV5IHdpbGwgc2VsZWN0IHdoZW4gdGhlaXJcbiAgICAvLyBjdXJzb3IgaXMgb3V0c2lkZSBvZiB0aGUgdmlzaWJsZSBhcmVhLlxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAgIC8vIEZvcmNlZCBjb2xvdXJzIG1vZGVzIHRlbmQgdG8gaWdub3JlIGJveC1zaGFkb3cuXG4gICAgICAvLyBBcHBseSBhbiBvdXRsaW5lIGZvciB0aG9zZSBtb2RlcyB0byB1c2UgaW5zdGVhZC5cbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQmVjYXVzZSB3ZSd2ZSBvdmVycmlkZGVuIHRoZSBib3JkZXItc2hhZG93IHByb3ZpZGVkIGJ5IHRoZSBmb2N1cyBzdGF0ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIHJlZGVmaW5lIHRoYXQgdG9vLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIHR3byBib3ggc2hhZG93cywgb25lIHRoYXQgcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGZvY3VzIHN0YXRlIFsxXVxuICAgIC8vIGFuZCBhbm90aGVyIHRoYXQgdGhlbiBhcHBsaWVzIHRoZSBob3ZlciBzdGF0ZSBbMl0uXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06aG92ZXIgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmZvY3VzICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLy8gU2V0IGRpZmZlcmVudCBIQ00gY29sb3VyIHdoZW4gd2UgaGF2ZSBib3RoIGhvdmVyL2ZvY3VzIGFwcGxpZWQgYXQgb25jZVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIG91dGxpbmUtY29sb3I6IEhpZ2hsaWdodDtcbiAgICAgIH1cbiAgICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXIsIC8vIDFcbiAgICAgICAgMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7IC8vIDJcbiAgICB9XG5cbiAgICAvLyBGb3IgZGV2aWNlcyB0aGF0IGV4cGxpY2l0bHkgZG9uJ3Qgc3VwcG9ydCBob3ZlciwgZG9uJ3QgcHJvdmlkZSBhIGhvdmVyXG4gICAgLy8gc3RhdGUgKGUuZy4gb24gdG91Y2ggZGV2aWNlcyBsaWtlIGlPUykuXG4gICAgLy9cbiAgICAvLyBXZSBjYW4ndCB1c2UgYEBtZWRpYSAoaG92ZXI6IGhvdmVyKWAgYmVjYXVzZSB3ZSB3b3VsZG4ndCBnZXQgdGhlIGhvdmVyXG4gICAgLy8gc3RhdGUgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGBAbWVkaWEgKGhvdmVyKWAgKGxpa2UgSW50ZXJuZXRcbiAgICAvLyBFeHBsb3Jlcikg4oCTIHNvIHdlIGhhdmUgdG8gJ3VuZG8nIHRoZSBob3ZlciBzdGF0ZSBpbnN0ZWFkLlxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpLCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgICAuZ292dWstY2hlY2tib3hlc19faXRlbTpob3ZlciAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6bm90KDpkaXNhYmxlZCkgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jb29raWUtYmFubmVyXCIpIHtcbiAgLy8gVGhpcyBuZWVkcyB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgaGVhZGVyIGNvbXBvbmVudCdzIHN0eWxlc1xuICAkYm9yZGVyLWJvdHRvbS13aWR0aDogZ292dWstc3BhY2luZygyKTtcblxuICAuZ292dWstY29va2llLWJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgLy8gVGhlIGNvbXBvbmVudCBkb2VzIG5vdCBzZXQgYm90dG9tIHNwYWNpbmcuIFRoZSBib3R0b20gc3BhY2luZyBzaG91bGQgYmVcbiAgICAvLyBjcmVhdGVkIGJ5IHRoZSBpdGVtcyBpbnNpZGUgdGhlIGNvbXBvbmVudC5cblxuICAgIC8vIFZpc3VhbGx5IHNlcGFyYXRlIHRoZSBjb29raWUgYmFubmVyIGZyb20gY29udGVudCB1bmRlcm5lYXRoIHdoZW4gdXNlclxuICAgIC8vIGNoYW5nZXMgY29sb3VycyBpbiB0aGVpciBicm93c2VyLlxuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItYm90dG9tLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgfVxuXG4gIC8vIFN1cHBvcnQgb2xkZXIgYnJvd3NlcnMgd2hpY2ggZG9uJ3QgaGlkZSBlbGVtZW50cyB3aXRoIHRoZSBgaGlkZGVuYCBhdHRyaWJ1dGVcbiAgLy8gd2hlbiB1c2VyIGhpZGVzIHRoZSB3aG9sZSBjb29raWUgYmFubmVyIHdpdGggYSAnSGlkZScgYnV0dG9uLlxuICAuZ292dWstY29va2llLWJhbm5lcltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWNvb2tpZS1iYW5uZXJfX21lc3NhZ2Uge1xuICAgIC8vIFJlbW92ZSB0aGUgZXh0cmEgaGVpZ2h0IGFkZGVkIGJ5IHRoZSBzZXBhcmF0b3IgYm9yZGVyLlxuICAgIG1hcmdpbi1ib3R0b206IC0kYm9yZGVyLWJvdHRvbS13aWR0aDtcblxuICAgICZbaGlkZGVuXSB7XG4gICAgICAvLyBTdXBwb3J0IG9sZGVyIGJyb3dzZXJzIHdoaWNoIGRvbid0IGhpZGUgZWxlbWVudHMgd2l0aCB0aGUgYGhpZGRlbmBcbiAgICAgIC8vIGF0dHJpYnV0ZSB3aGVuIHRoZSB2aXNpYmlsaXR5IG9mIGNvb2tpZSBhbmQgcmVwbGFjZW1lbnQgbWVzc2FnZXMgaXNcbiAgICAgIC8vIHRvZ2dsZWQuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUmVtb3ZlIHRoZSBuYXRpdmUgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgZWxlbWVudCBpc1xuICAgICAgLy8gcHJvZ3JhbW1hdGljYWxseSBmb2N1c2VkLlxuICAgICAgLy9cbiAgICAgIC8vIFRoZSBmb2N1c2VkIGNvb2tpZSBiYW5uZXIgaXMgdGhlIGZpcnN0IGVsZW1lbnQgb24gdGhlIHBhZ2UgYW5kIHRoZSBsYXN0XG4gICAgICAvLyB0aGluZyB0aGUgdXNlciBpbnRlcmFjdGVkIHdpdGggcHJpb3IgdG8gaXQgZ2FpbmluZyBmb2N1cy4gV2UgdGhlcmVmb3JlXG4gICAgICAvLyBhc3N1bWUgdGhhdCBtb3ZpbmcgZm9jdXMgdG8gaXQgaXMgbm90IGdvaW5nIHRvIHN1cnByaXNlIHVzZXJzLCBhbmQgdGhhdFxuICAgICAgLy8gZ2l2aW5nIGl0IGEgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3IgY291bGQgYmUgbW9yZSBjb25mdXNpbmcgdGhhblxuICAgICAgLy8gaGVscGZ1bCwgZXNwZWNpYWxseSBhcyB0aGUgZWxlbWVudCBpcyBub3Qgbm9ybWFsbHkga2V5Ym9hcmQgb3BlcmFibGUuXG4gICAgICAvL1xuICAgICAgLy8gV2UgaGF2ZSBmbGFnZ2VkIHRoaXMgaW4gdGhlIHJlc2VhcmNoIHNlY3Rpb24gb2YgdGhlIGd1aWRhbmNlIGFzXG4gICAgICAvLyBzb21ldGhpbmcgdG8gbW9uaXRvci5cbiAgICAgIC8vXG4gICAgICAvLyBBIHJlbGF0ZWQgZGlzY3Vzc2lvbjogaHR0cHM6Ly9naXRodWIuY29tL3czYy93Y2FnL2lzc3Vlcy8xMDAxXG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5wdXRcIikge1xuICAuZ292dWstaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIC8vIFNldHRpbmcgYW55IGJhY2tncm91bmQtY29sb3IgbWFrZXMgdGV4dCBpbnZpc2libGUgd2hlbiBjaGFuZ2luZyBjb2xvdXJzXG4gICAgLy8gdG8gZGFyayBiYWNrZ3JvdW5kcyBpbiBGaXJlZm94IChodHRwczovL2J1Z3ppbC5sYS8xMzM1NDc2KS4gQXNcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yIGFuZCBjb2xvciBuZWVkIHRvIGFsd2F5cyBiZSBzZXQgdG9nZXRoZXIsIGNvbG9yIHNob3VsZFxuICAgIC8vIG5vdCBiZSBzZXQgZWl0aGVyXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gRGlzYWJsZSBpbm5lciBzaGFkb3cgYW5kIHJlbW92ZSByb3VuZGVkIGNvcm5lcnNcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIEVuc3VyZSBvdXRsaW5lIGFwcGVhcnMgb3V0c2lkZSBvZiB0aGUgZWxlbWVudFxuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICAvLyBEb3VibGUgdGhlIGJvcmRlciBieSBhZGRpbmcgaXRzIHdpZHRoIGFnYWluLiBVc2UgYGJveC1zaGFkb3dgIGZvciB0aGlzXG4gICAgICAvLyBpbnN0ZWFkIG9mIGNoYW5naW5nIGBib3JkZXItd2lkdGhgIC0gdGhpcyBpcyBmb3IgY29uc2lzdGVuY3kgd2l0aFxuICAgICAgLy8gY29tcG9uZW50cyBzdWNoIGFzIHRleHRhcmVhIHdoZXJlIHdlIGF2b2lkIGNoYW5naW5nIGBib3JkZXItd2lkdGhgIGFzXG4gICAgICAvLyBpdCB3aWxsIGNoYW5nZSB0aGUgZWxlbWVudCBzaXplLiBBbHNvLCBgb3V0bGluZWAgY2Fubm90IGJlIHV0aWxpc2VkXG4gICAgICAvLyBoZXJlIGFzIGl0IGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAuZ292dWstaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZ292dWstaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0LS1leHRyYS1sZXR0ZXItc3BhY2luZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC10YWJ1bGFyLW51bWJlcnM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgfVxuXG4gIC8vIGVtIG1lYXN1cmVtZW50cyBhcmUgYmFzZWQgb24gdGhlIHBvaW50IHNpemUgb2YgdGhlIHR5cGVmYWNlXG4gIC8vIEV4dHJhIHNwYWNlIGlzIGFkZGVkIG9uIHRoZSByaWdodCB0byBhbGxvdyBmb3IgdGhlIFNhZmFyaSBwcmVmaWxsIGljb25cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMwIHtcbiAgICBtYXgtd2lkdGg6IDI5LjVlbTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMjAge1xuICAgIG1heC13aWR0aDogMjAuNWVtO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0xMCB7XG4gICAgbWF4LXdpZHRoOiAxMS41ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTUge1xuICAgIG1heC13aWR0aDogNS41ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTQge1xuICAgIG1heC13aWR0aDogNC41ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMge1xuICAgIG1heC13aWR0aDogMy43NWVtO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0yIHtcbiAgICBtYXgtd2lkdGg6IDIuNzVlbTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5nb3Z1ay1pbnB1dCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAuZ292dWstaW5wdXQ6Zm9jdXMge1xuICAgICAgLy8gSGFjayB0byBzdG9wIGZvY3VzIHN0eWxlIGJlaW5nIG92ZXJsYXBwZWQgYnkgdGhlIHN1ZmZpeFxuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAvLyBTcGxpdCBwcmVmaXgvc3VmZml4IG9udG8gc2VwYXJhdGUgbGluZXMgb24gbmFycm93IHNjcmVlbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5nb3Z1ay1pbnB1dCB7XG4gICAgICAgIC8vIFNldCBtYXgtd2lkdGggdG8gb3ZlcnJpZGUgcG90ZW50aWFsIHdpZHRoIG92ZXJyaWRlIGNsYXNzIG9uIHRoZSBpbnB1dFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0X19wcmVmaXgsXG4gIC5nb3Z1ay1pbnB1dF9fc3VmZml4IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvLyBVc2UgZmxleGJveCB0byBhbGlnbiB0ZXh0IHdpdGhpbiB0aGUgcHJlZml4IGFuZCBzdWZmaXhcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLy8gRW1waGFzaXNlIG5vbi1lZGl0YWJsZSBzdGF0dXMgb2YgcHJlZml4ZXMgYW5kIHN1ZmZpeGVzXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIC8vIFNwbGl0IHByZWZpeC9zdWZmaXggb250byBzZXBhcmF0ZSBsaW5lcyBvbiBuYXJyb3cgc2NyZWVuc1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0X19wcmVmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BsaXQgcHJlZml4L3N1ZmZpeCBvbnRvIHNlcGFyYXRlIGxpbmVzIG9uIG5hcnJvdyBzY3JlZW5zXG4gIC5nb3Z1ay1pbnB1dF9fc3VmZml4IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RhdGUtaW5wdXRcIikge1xuICAuZ292dWstZGF0ZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgZm9udC1zaXplOiAwOyAvLyByZW1vdmVzIHdoaXRlc3BhY2UgY2F1c2VkIGJ5IGlubGluZS1ibG9ja1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9faW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RldGFpbHNcIikge1xuICAuZ292dWstZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc1tvcGVuXSAuZ292dWstZGV0YWlsc19fc3VtbWFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgPiA6b25seS1jaGlsZCxcbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBIYWNrIHRvIHRhcmdldCBJRTggLSBJRTExIChhbmQgUkVBTExZIG9sZCBGaXJlZm94KVxuICAvLyBUaGVzZSBicm93c2VycyBkb24ndCBzdXBwb3J0IHRoZSBkZXRhaWxzIGVsZW1lbnQsIHNvIGZhbGwgYmFjayB0byBsb29raW5nXG4gIC8vIGxpa2UgaW5zZXQgdGV4dFxuICBAbWVkaWEgc2NyZWVuXFwwIHtcbiAgICAuZ292dWstZGV0YWlscyB7XG4gICAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuXG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2Ugd3JhcCBzdHlsZXMgZm9yIG5ld2VyIGJyb3dzZXJzIGluIGEgZmVhdHVyZSBxdWVyeSwgd2hpY2ggaXMgaWdub3JlZCBieVxuICAvLyBvbGRlciBicm93c2Vycywgd2hpY2ggYWx3YXlzIGV4cGFuZCB0aGUgZGV0YWlscyBlbGVtZW50LlxuICAvL1xuICAvLyBBZGRpdGlvbmFsbHksIC1tcy1pbWUtYWxpZ24gaXMgb25seSBzdXBwb3J0ZWQgYnkgRWRnZSAxMiAtIDE4XG4gIC8vXG4gIC8vIFRoaXMgZW5zdXJlcyB3ZSBkb24ndCB1c2UgdGhlc2Ugc3R5bGVzIGluIGJyb3dzZXJzIHdoaWNoOlxuICAvLyAgIC0gc3VwcG9ydCBFUzYgbW9kdWxlcyBidXQgbm90IHRoZSA8ZGV0YWlscz4gZWxlbWVudCAoRWRnZSAxNiAtIDE4KVxuICAvLyAgIC0gZG8gbm90IHN1cHBvcnQgRVM2IG1vZHVsZXMgb3IgdGhlIDxkZXRhaWxzPiBlbGVtZW50IChlZywgSUU4KylcbiAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICAgIC8vIEFic29sdXRlbHkgcG9zaXRpb24gdGhlIG1hcmtlciBhZ2FpbnN0IHRoaXMgZWxlbWVudFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvLyBNYWtlIHRoZSBmb2N1cyBvdXRsaW5lIHNocmluay13cmFwIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIHN1bW1hcnlcbiAgICAgIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAvLyBBbGxvdyBmb3IgYWJzb2x1dGVseSBwb3NpdGlvbmVkIG1hcmtlciBhbmQgYWxpZ24gd2l0aCBkaXNjbG9zZWQgdGV4dFxuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpICsgJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgICAgLy8gU3R5bGUgdGhlIHN1bW1hcnkgdG8gbG9vayBsaWtlIGEgbGluay4uLlxuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIC4uLmJ1dCBvbmx5IHVuZGVybGluZSB0aGUgdGV4dCwgbm90IHRoZSBhcnJvd1xuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmhvdmVyIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgdW5kZXJsaW5lIHdoZW4gZm9jdXNzZWQgdG8gYXZvaWQgZHVwbGljYXRlIGJvcmRlcnNcbiAgICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpmb2N1cyAuZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgZGV0YWlscyBtYXJrZXIgc28gd2UgY2FuIHN0eWxlIG91ciBvd24gY29uc2lzdGVudGx5IGFuZFxuICAgIC8vIGVuc3VyZSBpdCBkaXNwbGF5cyBpbiBGaXJlZm94IChzZWUgaW1wbGVtZW50YXRpb24ubWQgZm9yIGRldGFpbHMpXG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBBcHBlbmQgb3VyIG93biBvcGVuIC8gY2xvc2VkIG1hcmtlciB1c2luZyBhIHBzZXVkby1lbGVtZW50XG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IHJpZ2h0LCAkYmFzZTogMTRweCk7XG5cbiAgICAgIC5nb3Z1ay1kZXRhaWxzW29wZW5dID4gJiB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxNHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstZGV0YWlsc19fdGV4dCB7XG4gICAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvc2hhcGVzXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIGhlaWdodCBvZiBhbiBlcXVpbGF0ZXJhbCB0cmlhbmdsZVxuLy8vXG4vLy8gTXVsdGlwbHlpbmcgaGFsZiB0aGUgbGVuZ3RoIG9mIHRoZSBiYXNlIG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlIGJ5IHRoZVxuLy8vIHNxdWFyZSByb290IG9mIHRocmVlIGdpdmVzIHVzIGl0cyBoZWlnaHQuIFdlIHVzZSAxLjczMiBhcyBhbiBhcHByb3hpbWF0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gTGVuZ3RoIG9mIHRoZSBiYXNlIG9mIHRoZSB0cmlhbmdsZVxuLy8vIEByZXR1cm4ge051bWJlcn0gQ2FsY3VsYXRlZCBoZWlnaHQgb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfZ292dWstZXF1aWxhdGVyYWwtaGVpZ2h0KCRiYXNlKSB7XG4gICRzcXVhcmUtcm9vdC1vZi10aHJlZTogMS43MzI7XG5cbiAgQHJldHVybiAoJGJhc2UgLyAyKSAqICRzcXVhcmUtcm9vdC1vZi10aHJlZTtcbn1cblxuLy8vIEFycm93IG1peGluXG4vLy9cbi8vLyBHZW5lcmF0ZSBBcnJvd3MgKHRyaWFuZ2xlcykgYnkgdXNpbmcgYSBtaXggb2YgdHJhbnNwYXJlbnQgKDEpIGFuZCBjb2xvdXJlZFxuLy8vIGJvcmRlcnMuIFRoZSBjb2xvdXJlZCBib3JkZXJzIGluaGVyaXQgdGhlIHRleHQgY29sb3VyIG9mIHRoZSBlbGVtZW50ICgyKS5cbi8vL1xuLy8vIEVuc3VyZSB0aGUgYXJyb3cgaXMgcmVuZGVyZWQgY29ycmVjdGx5IGlmIGJyb3dzZXIgY29sb3VycyBhcmUgb3ZlcnJpZGRlbiBieVxuLy8vIHByb3ZpZGluZyBhIGNsaXAgcGF0aCAoMykuIFdpdGhvdXQgdGhpcyB0aGUgdHJhbnNwYXJlbnQgYm9yZGVycyBhcmVcbi8vLyBvdmVycmlkZGVuIHRvIGJlY29tZSB2aXNpYmxlIHdoaWNoIHJlc3VsdHMgaW4gYSBzcXVhcmUuXG4vLy9cbi8vLyBXZSBuZWVkIGJvdGggYmVjYXVzZSBvbGRlciBicm93c2VycyBkbyBub3Qgc3VwcG9ydCBjbGlwLXBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiAtIERpcmVjdGlvbiBmb3IgYXJyb3c6IHVwLCByaWdodCwgZG93biwgbGVmdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIHRyaWFuZ2xlICdiYXNlJyBzaWRlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgW251bGxdIC0gSGVpZ2h0IG9mIHRyaWFuZ2xlLiBPbWl0IGZvciBlcXVpbGF0ZXJhbC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXSAtIENTUyBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBhcnJvd1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb24sICRiYXNlLCAkaGVpZ2h0OiBudWxsLCAkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG5cbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyAxXG5cbiAgJHBlcnBlbmRpY3VsYXI6ICRiYXNlIC8gMjtcblxuICBAaWYgbm90ICRoZWlnaHQge1xuICAgICRoZWlnaHQ6IF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpO1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJ1cFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6IDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDUwJSwgMCUgMTAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyICRoZWlnaHQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93blwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgNTAlIDEwMCUsIDEwMCUgMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDEwMCUsIDEwMCUgMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyICRoZWlnaHQgJHBlcnBlbmRpY3VsYXIgMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBhcnJvdyBkaXJlY3Rpb246IGV4cGVjdGVkIGB1cGAsIGByaWdodGAsIGBkb3duYCBvciBgbGVmdGAsIGdvdCBgI3skZGlyZWN0aW9ufWBcIjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fc2hhcGUtYXJyb3cuc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi8uLi9jb3JlL2xpc3RzXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZXJyb3Itc3VtbWFyeVwiKSB7XG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keSB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgID4gKiArICoge1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJ0b3BcIik7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigxLCBcImJvdHRvbVwiKTtcbiAgICB9XG4gIH1cblxuICAvLyBDcm9zcy1jb21wb25lbnQgY2xhc3MgLSBhZGp1c3RzIHN0eWxpbmcgb2YgbGlzdCBjb21wb25lbnRcbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGJvdHRvbSBtYXJnaW4gZnJvbSB0aGUgbGFzdCBsaXN0IGl0ZW1cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0IGEge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1lcnJvcjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9idXR0b24vaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9leGl0LXRoaXMtcGFnZVwiKSB7XG4gICRpbmRpY2F0b3Itc2l6ZTogMC43NWVtO1xuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZV9fYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlX19pbmRpY2F0b3Ige1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZygyKTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAwOyAvLyByZW1vdmVzIGV4dHJhIG5lZ2F0aXZlIHNwYWNlIGJlbG93IHRoZSBpbmRpY2F0b3JzXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlX19pbmRpY2F0b3ItLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlX19pbmRpY2F0b3ItbGlnaHQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkaW5kaWNhdG9yLXNpemU7XG4gICAgbWFyZ2luOiAwIDAuMTI1ZW07XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIH1cblxuICAuZ292dWstZXhpdC10aGlzLXBhZ2VfX2luZGljYXRvci1saWdodC0tb24ge1xuICAgIGJvcmRlci13aWR0aDogJGluZGljYXRvci1zaXplIC8gMjtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHByaW50IHtcbiAgICAuZ292dWstZXhpdC10aGlzLXBhZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstZXhpdC10aGlzLXBhZ2Utb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyBhZGRlZCB0byB0aGUgYm9keSB3aGVuIHRoZSBFeGl0IFRoaXMgUGFnZSBidXR0b24gaXMgYWN0aXZhdGVkXG4gIC8vIGluIGFkZGl0aW9uIHRvIHRoZSBvdmVybGF5IHRvIGJvdGggYmxvY2sgdGhlIGVudGlyZSBzY3JlZW4gYW5kIGhpZGUgZXZlcnl0aGluZ1xuICAvLyB1bmRlcm5lYXRoIGl0LlxuICAvL1xuICAvLyBXZSBkbyB0aGlzIHRvIGVuc3VyZSB0aGF0IHVzZXJzIGRvbid0IHJpc2sgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgcGFnZSB1bmRlcm5lYXRoXG4gIC8vIHRoZSBvdmVybGF5IGJldHdlZW4gYWN0aXZhdGluZyB0aGUgYnV0dG9uIGFuZCBuYXZpZ2F0aW5nIHRvIHRoZSBuZXh0IHBhZ2UuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZS1oaWRlLWNvbnRlbnQge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICoge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nb3Z1ay1leGl0LXRoaXMtcGFnZS1vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9maWxlLXVwbG9hZFwiKSB7XG4gICRjb21wb25lbnQtcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAuZ292dWstZmlsZS11cGxvYWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kY29tcG9uZW50LXBhZGRpbmc7XG4gICAgcGFkZGluZzogJGNvbXBvbmVudC1wYWRkaW5nO1xuXG4gICAgLy8gVGhlIGRlZmF1bHQgZmlsZSB1cGxvYWQgYnV0dG9uIGluIFNhZmFyaSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgYVxuICAgIC8vIGN1c3RvbSBmb250LXNpemUuIFNldCBgLXdlYmtpdC1hcHBlYXJhbmNlYCB0byBgYnV0dG9uYCB0byBkcm9wIG91dCBvZiB0aGVcbiAgICAvLyBuYXRpdmUgYXBwZWFyYW5jZSBzbyB0aGUgZm9udC1zaXplIGlzIHNldCB0byAxOXB4XG4gICAgLy8gaHR0cHM6Ly93ZWJraXQub3JnL2IvMjI0NzQ2XG4gICAgJjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIFVzZSBgYm94LXNoYWRvd2AgdG8gYWRkIGJvcmRlciBpbnN0ZWFkIG9mIGNoYW5naW5nIGBib3JkZXItd2lkdGhgXG4gICAgICAvLyAod2hpY2ggY2hhbmdlcyBlbGVtZW50IHNpemUpIGFuZCBzaW5jZSBgb3V0bGluZWAgaXMgYWxyZWFkeSB1c2VkIGZvclxuICAgICAgLy8gdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBTZXQgXCJmb2N1cy13aXRoaW5cIiB0byBmaXggaHR0cHM6Ly9idWd6aWwubGEvMTQzMDE5NiBzbyB0aGF0IGNvbXBvbmVudFxuICAgIC8vIHJlY2VpdmVzIGZvY3VzIGluIEZpcmVmb3guXG4gICAgLy8gVGhpcyBjYW4ndCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgOmZvY3VzYCBhcyBhbGwgdmVyc2lvbnMgb2YgSUUgZmFpbFxuICAgIC8vIHRvIHJlY29nbmlzZSBgZm9jdXMtd2l0aGluYCBhbmQgZG9uJ3Qgc2V0IGFueSBzdHlsZXMgZnJvbSB0aGUgYmxvY2tcbiAgICAvLyB3aGVuIGl0J3MgYSBzZWxlY3Rvci5cbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcblxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Zvb3RlclwiKSB7XG4gICRnb3Z1ay1mb290ZXItYmFja2dyb3VuZDogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgJGdvdnVrLWZvb3Rlci1ib3JkZXI6ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAkZ292dWstZm9vdGVyLXRleHQ6ICRnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAvLyBSb3lhbCBBcm1zIGltYWdlIGRpbWVuc2lvbnNcbiAgJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aDogMTI1cHg7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0OiAxMDJweDtcblxuICAuZ292dWstZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBpZigkZ292dWstbmV3LXR5cG9ncmFwaHktc2NhbGUsIDE5LCAxNikpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg3LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNSwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gICAgY29sb3I6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IG1hcmdpbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBib3JkZXI6IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IGJvcmRlcnNcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbS0tZ3JvdyB7XG4gICAgZmxleDogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBmbGV4LWJhc2lzOiAzMjBweDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpY2VuY2UtbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLy8gV29yayBhcm91bmQgU1ZHcyBub3QgaW5oZXJpdGluZyBjb2xvciBmcm9tIHBhcmVudCBpbiBmb3JjZWQgY29sb3IgbW9kZVxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjMxMClcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBhdXRvO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGljZW5jZS1kZXNjcmlwdGlvbiB7XG4gICAgLy8gVGhpcyBtYWtlcyB0aGUgbGljZW5zZSBkZXNjcmlwdGlvbiByZWZsb3cgdW5kZXIgdGhlIGxvZ28gd2hlbiBzcGFjZSBnZXRzIHRvbyBuYXJyb3dcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy8gVGhpcyBwcmV2ZW50cyB0aGUgZGVzY3JpcHRpb24gZnJvbSBoYXZpbmcgb3JwaGFucyB3aGVuIHNwYWNlIGlzIG5hcnJvdyBlbm91Z2hcbiAgICAvLyBhbmQgbWFrZXMgdGhlIHRleHQgcmVmbG93IG1vcmUgbmljZWx5XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fY29weXJpZ2h0LWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6ICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGg7XG4gICAgcGFkZGluZy10b3A6ICgkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodCArIGdvdnVrLXNwYWNpbmcoMikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImdvdnVrLWNyZXN0LnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGggJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWN1c3RvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2lubGluZS1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX25hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tbGVmdDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstZ3V0dGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgLmdvdnVrLWZvb3Rlcl9fbGlzdC0tY29sdW1ucy0yIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMjsgLy8gU3VwcG9ydDogQ29sdW1uc1xuICAgIH1cblxuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMyB7XG4gICAgICBjb2x1bW4tY291bnQ6IDM7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hlYWRlclwiKSB7XG4gICRnb3Z1ay1oZWFkZXItYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yOiAkZ292dWstYnJhbmQtY29sb3VyO1xuICAkZ292dWstaGVhZGVyLWJvcmRlci13aWR0aDogZ292dWstc3BhY2luZygyKTtcbiAgJGdvdnVrLWhlYWRlci10ZXh0OiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgJGdvdnVrLWhlYWRlci1saW5rLWFjdGl2ZTogIzFkOGZlYjtcbiAgJGdvdnVrLWhlYWRlci1uYXYtaXRlbS1ib3JkZXItY29sb3I6ICMyZTMxMzM7XG4gICRnb3Z1ay1oZWFkZXItbGluay11bmRlcmxpbmUtdGhpY2tuZXNzOiAzcHg7XG4gICRnb3Z1ay1oZWFkZXItdmVydGljYWwtc3BhY2luZy12YWx1ZTogMjtcbiAgLy8gVGhpcyBjcm93biBoZWlnaHQgaXMgb25seSB1c2VkIHRvIGNhbGN1bGF0ZSB0b3Agb2Zmc2V0IG9mIG1vYmlsZSBtZW51IGJ1dHRvblxuICAvLyBhcyB0aGUgY3Jvd24gc3ZnIGhlaWdodCBpcyB0aGUgb25seSB0aGluZyB0aGF0IGNvbnRyb2xzIHRoZSBoZWlnaHQgb2YgdGhlIGhlYWRlclxuICAkZ292dWstaGVhZGVyLWNyb3duLWhlaWdodDogMzBweDtcbiAgJGdvdnVrLWhlYWRlci1tZW51LWJ1dHRvbi1oZWlnaHQ6IDI0cHg7XG4gICRnb3Z1ay1oZWFkZXItbWVudS1idXR0b24td2lkdGg6IDgwcHg7XG5cbiAgLmdvdnVrLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICRsaW5lLWhlaWdodDogMSk7XG5cbiAgICBib3JkZXItYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpIHNvbGlkIGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyLS1mdWxsLXdpZHRoIHtcbiAgICBwYWRkaW5nOiAwIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjtcblxuICAgIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICAgIHJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IC0kZ292dWstaGVhZGVyLWJvcmRlci13aWR0aDtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygkZ292dWstaGVhZGVyLXZlcnRpY2FsLXNwYWNpbmctdmFsdWUpO1xuICAgIGJvcmRlci1ib3R0b206ICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlci0tZnVsbC13aWR0aC1ib3JkZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTNweDtcblxuICAgIC8vIEFkZCBhIGdhcCBhZnRlciB0aGUgbG9nbyBpbiBjYXNlIGl0J3MgZm9sbG93ZWQgYnkgYSBwcm9kdWN0IG5hbWUuIFRoaXNcbiAgICAvLyBnZXRzIHJlbW92ZWQgbGF0ZXIgaWYgdGhlIGxvZ290eXBlIGlzIGEgOmxhc3QtY2hpbGQuXG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgLy8gUHJldmVudCByZWFkYWJpbGl0eSBiYWNrcGxhdGUgZnJvbSBvYnNjdXJpbmcgdW5kZXJsaW5lIGluIFdpbmRvd3MgSGlnaFxuICAgIC8vIENvbnRyYXN0IE1vZGVcbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogbm9uZTtcbiAgICAgIGNvbG9yOiBsaW5rdGV4dDtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIGdhcCBhZnRlciB0aGUgbG9nbyBpZiB0aGVyZSdzIG5vIHByb2R1Y3QgbmFtZSB0byBrZWVwIGhvdmVyXG4gICAgLy8gYW5kIGZvY3VzIHN0YXRlcyBuZWF0XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19wcm9kdWN0LW5hbWUge1xuICAgICRwcm9kdWN0LW5hbWUtb2Zmc2V0OiBpZigkZ292dWstbmV3LXR5cG9ncmFwaHktc2NhbGUsIDdweCwgMTBweCk7XG4gICAgJHByb2R1Y3QtbmFtZS1vZmZzZXQtdGFibGV0OiA1cHg7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDI0LCAkbGluZS1oZWlnaHQ6IDEpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXI7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuXG4gICAgLy8gTWFpbnRhaW4gc3BhY2UgYmVsb3cgbG9nbyB3aGVuIHdyYXBwZWRcbiAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1uYW1lLW9mZnNldDtcblxuICAgIC8vIEZpcmVmb3ggcGxhY2VzIHRoZSBHT1YuVUsgbG9nbyBvbmUgcGl4ZWwgaGlnaGVyLCBkdWUgdG8gaG93IGl0IHJvdW5kc1xuICAgIC8vIHN1YnBpeGVscywgc28gbnVkZ2UgdGhlIHByb2R1Y3QgbmFtZSBpbiBGRiB0byBzdGlsbCBiZSBhbGlnbmVkLlxuICAgIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1uYW1lLW9mZnNldCAtIDAuNXB4O1xuICAgIH1cblxuICAgIC8vIEFsaWduIHZlcnRpY2FsbHkgd2l0aCBsb2dvIHdoZW4gbm90IHdyYXBwZWRcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogJHByb2R1Y3QtbmFtZS1vZmZzZXQtdGFibGV0O1xuICAgICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHByb2R1Y3QtbmFtZS1vZmZzZXQtdGFibGV0IC0gMC41cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluayB7XG4gICAgLy8gQXZvaWQgdXNpbmcgdGhlIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gYmVjYXVzZSB0aGUgbGlua3MgaW4gdGhlIGhlYWRlclxuICAgIC8vIGdldCBhIHNwZWNpYWwgdHJlYXRtZW50LCBiZWNhdXNlOlxuICAgIC8vXG4gICAgLy8gLSB1bmRlcmxpbmVzIGFyZSBvbmx5IHZpc2libGUgb24gaG92ZXJcbiAgICAvLyAtIGFsbCBsaW5rcyBnZXQgYSAzcHggdW5kZXJsaW5lIHJlZ2FyZGxlc3Mgb2YgdGV4dCBzaXplLCBhcyB0aGVyZSBhcmVcbiAgICAvLyAgIG11bHRpcGxlIGdyb3VwZWQgZWxlbWVudHMgY2xvc2UgdG8gb25lIGFub3RoZXIgYW5kIGhhdmluZyBzbGlnaHRseVxuICAgIC8vICAgZGlmZmVyZW50IHVuZGVybGluZSB3aWR0aHMgbG9va3MgdW5iYWxhbmNlZFxuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZTtcblxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcblxuICAgICAgQGlmICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQge1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0taG9tZXBhZ2Uge1xuICAgIC8vIEZvbnQgc2l6ZSBuZWVkcyB0byBiZSBzZXQgb24gdGhlIGxpbmsgc28gdGhhdCB0aGUgYm94IHNpemluZyBpcyBjb3JyZWN0XG4gICAgLy8gaW4gRmlyZWZveFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgZm9udC1zaXplOiAzMHB4OyAvLyBXZSBkb24ndCBoYXZlIGEgbWl4aW4gdGhhdCBwcm9kdWNlcyAzMHB4IGZvbnQgc2l6ZVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIC8vIFJlcGxpY2F0ZSB0aGUgZm9jdXMgYm94IHNoYWRvdyBidXQgd2l0aG91dCB0aGUgLTJweCB5LW9mZnNldCBvZiB0aGUgZmlyc3QgeWVsbG93IHNoYWRvd1xuICAgICAgICAvLyBUaGlzIGlzIHRvIHN0b3AgdGhlIGxvZ28gZ2V0dGluZyBjdXQgb2ZmIGJ5IHRoZSBib3ggc2hhZG93IHdoZW4gZm9jdXNlZCBvbiBhYm92ZSBhIHByb2R1Y3QgbmFtZVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIC8vIE5lZ2F0ZSB0aGUgYWRkZWQgYm9yZGVyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcyAqIC0xO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3Mgc29saWQ7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGFueSBib3JkZXJzIHRoYXQgc2hvdyB3aGVuIGZvY3VzZWQgYW5kIGhvdmVyZWQuXG4gICAgJjpmb2N1cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19zZXJ2aWNlLW5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvLFxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oJGdvdnVrLWhlYWRlci12ZXJ0aWNhbC1zcGFjaW5nLXZhbHVlLCBcImJvdHRvbVwiKTtcbiAgICAvLyBQcm90ZWN0IHRoZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIG1lbnUgYnV0dG9uIGZyb20gb3ZlcmxhcHBpbmcgd2l0aCB0aGVcbiAgICAvLyBsb2dvIHdpdGggcmlnaHQgcGFkZGluZyB1c2luZyB0aGUgYnV0dG9uJ3Mgd2lkdGhcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLXdpZHRoO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgIC8vIFJlc2V0IGZsb2F0IHdoZW4gbG9nbyBpcyB0aGUgbGFzdCBjaGlsZCwgd2l0aG91dCBhIG5hdmlnYXRpb25cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDY2LjY2JTtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gY2FsY3VsYXRlIHRvcCBvZmZzZXQgYnk6XG4gICAgLy8gLSBnZXR0aW5nIHRoZSB2ZXJ0aWNhbCBzcGFjaW5nIGZvciB0aGUgdG9wIGFuZCB0aGUgYm90dG9tIG9mIHRoZSBoZWFkZXJcbiAgICAvLyAtIGFkZGluZyB0aGF0IHRvIHRoZSBjcm93biBoZWlnaHRcbiAgICAvLyAtIGRpdmlkaW5nIGl0IGJ5IDIgc28geW91IGhhdmUgdGhlIHZlcnRpY2FsIGNlbnRyZSBvZiB0aGUgaGVhZGVyXG4gICAgLy8gLSBzdWJ0cmFjdGluZyBoYWxmIHRoZSBoZWlnaHQgb2YgdGhlIG1lbnUgYnV0dG9uXG4gICAgdG9wOiAoKChnb3Z1ay1zcGFjaW5nKCRnb3Z1ay1oZWFkZXItdmVydGljYWwtc3BhY2luZy12YWx1ZSkgKiAyKSArICRnb3Z1ay1oZWFkZXItY3Jvd24taGVpZ2h0KSAvIDIpIC1cbiAgICAgICgkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLWhlaWdodCAvIDIpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1heC13aWR0aDogJGdvdnVrLWhlYWRlci1tZW51LWJ1dHRvbi13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLWhlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHNvbGlkIHVuZGVybGluZSAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBzb2xpZCB1bmRlcmxpbmUgJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3M7XG5cbiAgICAgIEBpZiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0IHtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiB1cCwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG5cbiAgICAuZ292dWstZnJvbnRlbmQtc3VwcG9ydGVkICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJltoaWRkZW5dLFxuICAgIC5nb3Z1ay1mcm9udGVuZC1zdXBwb3J0ZWQgJltoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1saXN0IHtcbiAgICAvLyBSZXNldCB1c2VyLWFnZW50IGRlZmF1bHQgbGlzdCBzdHlsZXNcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgJltoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTYpO1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtLS1hY3RpdmUge1xuICAgIGEge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlO1xuICAgICAgfVxuXG4gICAgICAvLyBXaGVuIHByaW50aW5nLCB1c2UgdGhlIG5vcm1hbCBibHVlIGFzIHRoaXMgY29udHJhc3RzIGJldHRlciB3aXRoIHRoZVxuICAgICAgLy8gd2hpdGUgcHJpbnRpbmcgaGVhZGVyXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1icmFuZC1jb2xvdXI7XG4gICAgICB9XG5cbiAgICAgIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gICAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19saW5rIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIH1cblxuICAgICAgLy8gRG8gbm90IGFwcGVuZCBsaW5rIGhyZWYgdG8gR09WLlVLIGxpbmsgd2hlbiBwcmludGluZyAoZS5nLiAnKC8pJylcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2luc2V0LXRleHRcIikge1xuICAuZ292dWstaW5zZXQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgLy8gTWFyZ2luIHRvcCBpbnRlbmRlZCB0byBjb2xsYXBzZVxuICAgIC8vIFRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIDEwcHggdG8gdGhlIHBhcmFncmFwaCBhYm92ZVxuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICA+IDpvbmx5LWNoaWxkLFxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L25vdGlmaWNhdGlvbi1iYW5uZXJcIikge1xuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1icmFuZC1jb2xvdXI7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnJhbmQtY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAycHggZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gRW5zdXJlcyB0aGUgbm90aWZpY2F0aW9uIGhlYWRlciBhcHBlYXJzIHNlcGFyYXRlIHRvIHRoZSBub3RpZmljYXRpb24gYm9keVxuICAgIC8vIHRleHQgaW4gaGlnaCBjb250cmFzdCBtb2RlXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogMnB4IGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fdGl0bGUge1xuICAgIC8vIFNldCB0aGUgc2l6ZSBhZ2FpbiBiZWNhdXNlIHRoaXMgZWxlbWVudCBpcyBhIGhlYWRpbmcgYW5kIHRoZSB1c2VyIGFnZW50XG4gICAgLy8gZm9udCBzaXplIG92ZXJyaWRlcyB0aGUgaW5oZXJpdGVkIGZvbnQgc2l6ZVxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2NvbnRlbnQge1xuICAgICRwYWRkaW5nLXRhYmxldDogZ292dWstc3BhY2luZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy10YWJsZXQ7XG4gICAgfVxuXG4gICAgLy8gV3JhcCBjb250ZW50IGF0IHRoZSBzYW1lIHBsYWNlIHRoYXQgYSAyLzMgZ3JpZCBjb2x1bW4gZW5kcywgdG8gbWFpbnRhaW5cbiAgICAvLyBzaG9ydGVyIGxpbmUtbGVuZ3RocyB3aGVuIHRoZSBub3RpZmljYXRpb24gYmFubmVyIGlzIGZ1bGwgd2lkdGhcbiAgICA+ICoge1xuICAgICAgLy8gV2hlbiBlbGVtZW50cyBoYXZlIHRoZWlyIG93biBwYWRkaW5nIChsaWtlIGxpc3RzKSwgaW5jbHVkZSB0aGUgcGFkZGluZ1xuICAgICAgLy8gaW4gdGhlIG1heC13aWR0aCBjYWxjdWxhdGlvblxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBpbnRlcm5hbCB3aWR0aCBvZiBhIHR3by10aGlyZHMgY29sdW1uLi4uXG4gICAgICAkdHdvLWNvbC13aWR0aDogKCRnb3Z1ay1wYWdlLXdpZHRoICogMiAvIDMpIC0gKCRnb3Z1ay1ndXR0ZXIgKiAxIC8gMyk7XG5cbiAgICAgIC8vIC4uLmFuZCB0aGVuIGZhY3RvciBpbiB0aGUgbGVmdCBib3JkZXIgYW5kIHBhZGRpbmdcbiAgICAgICRiYW5uZXItZXh0ZXJpb3I6ICgkcGFkZGluZy10YWJsZXQgKyAkZ292dWstYm9yZGVyLXdpZHRoKTtcbiAgICAgIG1heC13aWR0aDogJHR3by1jb2wtd2lkdGggLSAkYmFubmVyLWV4dGVyaW9yO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIG1hcmdpbjogMCAwIGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyLS1zdWNjZXNzIHtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcblxuICAgIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19saW5rIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtc3VjY2VzcztcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BhZ2luYXRpb25cIikge1xuICAvLyBGbGV4Ym94IGVuaGFuY2VtZW50IGZvciBzbWFsbCBzY3JlZW4gdmlzdWFsIGRlc2lnblxuICAvLyBGYWxscyBiYWNrIHRvIGEgZmxvYXQ6IGxlZnQgbGF5b3V0IG9uIG5vbi1mbGV4IGJyb3dzZXJzXG4gIC5nb3Z1ay1wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSxcbiAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5KTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4td2lkdGg6IDQ1cHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgZmxvYXQ6IGxlZnQ7IC8vIEZsb2F0IGlzIGlnbm9yZWQgaWYgZmxleCBpcyBhY3RpdmUgZm9yIHByZXYvbmV4dCBsaW5rc1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtIHtcbiAgICAvLyBIaWRlIGl0ZW1zIG9uIHNtYWxsIHNjcmVlbnMgZXhjZXB0IHRoZSBwcmV2L25leHQgaXRlbXMsXG4gICAgLy8gbm9uLWxpbmsgaXRlbXMgYW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAvLyBDZW50ZXIgYWxpZ24gcGFnaW5hdGlvbiBsaW5rcyBpbiB0aGVpciBwYXJlbnQgbGlzdCBpdGVtIHNvIHRoYXQgdGhleVxuICAgIC8vIHZpc3VhbGx5IHNpdCBpbiB0aGUgbWlkZGxlIG9mIHRoZWlyIHRvdWNoIGFyZWFcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fcHJldixcbiAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG5cbiAgICAvLyBVc2UgZmxleCB0byBhdm9pZCBleHRyYSBzcGFjZSBiZWluZyBpbnRyb2R1Y2VkIHdoZW4gd2hpdGVzcGFjZSBleGlzdHNcbiAgICAvLyBiZXR3ZWVuIHRoZSBhcnJvdyBzdmcgYW5kIHRoZSBsaW5rIHRleHRcbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBPbmx5IHNob3cgZmlyc3QsIGxhc3QgYW5kIG5vbi1saW5rIGl0ZW1zIG9uIG1vYmlsZVxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCxcbiAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWVsbGlwc2VzLFxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbTpmaXJzdC1jaGlsZCxcbiAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1pbnZlcnNlO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1lbGxpcHNlcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAgIC8vIFJlbW92ZSBob3ZlciBzdGF0ZSBmb3IgZWxsaXBzaXMgaXRlbXMgYXMgdGhleSBkb24ndCBjb250YWluIGxpbmtzXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gSW5jcmVhc2UgdGhlIHRvdWNoIGFyZWEgZm9yIHRoZSBsaW5rIHRvIHRoZSBwYXJlbnQgZWxlbWVudC5cbiAgICBAbWVkaWEgc2NyZWVuIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGxpbmsgaG92ZXIgZGVjb3JhdGlvbiB0byBwcmV2L25leHQgdGV4dCBpZiBubyBsYWJlbCBwcmVzZW50IG9uXG4gICAgLy8gcHJldi9uZXh0IG9ubHkgbW9kZSwgIHNvIHRoYXQgd2UgaGF2ZSBhIGhvdmVyIHN0YXRlIGluIGFsbCBjYXNlc1xuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstZGVjb3JhdGlvbjtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstbGFiZWwsXG4gICAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24ge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24ge1xuICAgIC8vIFNldCBzaXplIHVzaW5nIHJlbXMgdG8gbWFrZSB0aGUgaWNvbiBzY2FsZSB3aXRoIHRleHRcbiAgICB3aWR0aDogZ292dWstcHgtdG8tcmVtKDE1cHgpO1xuICAgIGhlaWdodDogZ292dWstcHgtdG8tcmVtKDEzcHgpO1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBhdXRvO1xuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24tLXByZXYge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uLS1uZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC8vIEJsb2NrIG1vZGUgLSBwb3NpdGlvbiBwcmV2aW91cyBhbmQgbmV4dCBsaW5rcyBhYm92ZSBhbmQgYmVsb3cgbnVtYmVyc1xuICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuXG4gICAgLy8gT25seSBhcHBseSBhIGJvcmRlciBiZXR3ZWVuIHByZXYgYW5kIG5leHQgaWYgYm90aCBhcmUgcHJlc2VudFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2ICsgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIFNldCB0aGUgYWZ0ZXIgcHNldWRvIGVsZW1lbnQgdG8gYSBibG9jayB3aGljaCBtYWtlcyB0aGUgdGl0bGUgdmlzdWFsbHlcbiAgICAvLyBkaXNwbGF5IGFzIGJsb2NrIGxldmVsIHdoaWxzdCBwcm9ncmFtbWF0aWNhbGx5IGJlaW5nIGlubGluZS4gV2UgZG8gdGhpc1xuICAgIC8vIHRvIGdldCBhcm91bmQgYW4gTlZEQSBxdWlyayB3aGVyZSBhZGphY2VudCBibG9jayBsZXZlbCBlbGVtZW50cyBhcmVcbiAgICAvLyBhbHdheXMgcmVhZCBvdXQgc2VwYXJhdGVseVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgJjpub3QoOmZvY3VzKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faWNvbiB7XG4gICAgICAvLyBUaGlzIG1hZ2ljIG51bWJlciBpcyBicm91Z2h0IHRvIHlvdSBieSB0aGUgZm9sbG93aW5nIGVxdWF0aW9uOlxuICAgICAgLy8gKChsaW5lSGVpZ2h0IOKIkiBhcnJvd0hlaWdodCkgw7cgMikgw7cgZm9udFNpemVcbiAgICAgIC8vICgoMjUg4oiSIDEzKSDDtyAyKSDDtyAxOSA9IDAuMzI2ZW1cbiAgICAgIC8vXG4gICAgICAvLyBUaGlzIGNvdWxkIGhhdmUgYmVlbiBkb25lIHByb2dyYW1tYXRpY2FsbHkgYnV0IHdlIGRvbid0IGhhdmUgZnVuY3Rpb25zXG4gICAgICAvLyBmb3IgZ3JhYmJpbmcgdGhlIGxpbmUtaGVpZ2h0IG9mIHNwZWNpZmljIHR5cG9ncmFwaHkgc2l6ZXMganVzdCB5ZXQuXG4gICAgICBtYXJnaW4tdG9wOiAwLjMyNmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNikgKiAtMTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGFuZWxcIikge1xuICAuZ292dWstcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNykgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoaWYoJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlLCA0LCAzKSkgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgICAvLyBUaGlzIGlzIGFuIGlmLWFsbC1lbHNlLWZhaWxzIGF0dGVtcHQgdG8gc3RvcCBsb25nIHdvcmRzIGZyb21cbiAgICAgIC8vIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIgb24gdmVyeSBuYXJyb3cgdmlld3BvcnRzIGJ5IGZvcmNpbmcgdGhlbSB0b1xuICAgICAgLy8gYnJlYWsgYW5kIHdyYXAgaW5zdGVhZC4gVGhpcyBvdmVyZmxvd2luZyBpcyBtb3JlIGxpa2VseSB0byBoYXBwZW4gd2hlblxuICAgICAgLy8gdXNlciBpbmNyZWFzZXMgdGV4dCBzaXplIG9uIGEgbW9iaWxlIGVnLiB1c2luZyBpT1MgU2FmYXJpIHRleHQgcmVzaXplXG4gICAgICAvLyBjb250cm9scy5cbiAgICAgIC8vXG4gICAgICAvLyBUaGUgb3ZlcmZsb3dpbmcgaXMgYSBwYXJ0aWN1bGFyIHByb2JsZW0gd2l0aCB0aGUgcGFuZWwgY29tcG9uZW50IHNpbmNlXG4gICAgICAvLyBpdCB1c2VzIHdoaXRlIHRleHQ6IHdoZW4gdGhlIHRleHQgb3ZlcmZsb3dzIHRoZSBjb250YWluZXIsIGl0IGlzXG4gICAgICAvLyBpbnZpc2libGUgb24gdGhlIHdoaXRlIChwYWdlKSBiYWNrZ3JvdW5kLiBXaGVuIHRoZSB0ZXh0IGluIG91ciBvdGhlclxuICAgICAgLy8gY29tcG9uZW50cyBvdmVyZmxvdywgdGhlIHVzZXIgbWlnaHQgaGF2ZSB0byBzY3JvbGwgaG9yaXpvbnRhbGx5IHRvIHZpZXdcbiAgICAgIC8vIGl0IGJ1dCB0aGUgdGhlIHRleHQgcmVtYWlucyBsZWdpYmxlLlxuICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgLy8gU3VwcG9ydCBJRSAoYXV0b3ByZWZpeGVyIGRvZXNuJ3QgYWRkIHRoaXMgYXMgaXQncyBub3QgYSBwcmVmaXgpXG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhbmVsLS1jb25maXJtYXRpb24ge1xuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJncmVlblwiKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgICBjb2xvcjogJGdvdnVrLXByaW50LXRleHQtY29sb3VyO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFuZWxfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDQ4KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fdGl0bGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9idXR0b24vaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3Bhc3N3b3JkLWlucHV0XCIpIHtcbiAgLmdvdnVrLXBhc3N3b3JkLWlucHV0X193cmFwcGVyIHtcbiAgICAvLyBUaGlzIGVsZW1lbnQgaW5oZXJpdHMgc3R5bGVzIGZyb20gLmdvdnVrLWlucHV0X193cmFwcGVyLCBpbmNsdWRpbmc6XG4gICAgLy8gLSBiZWluZyBkaXNwbGF5OiBibG9jayB3aXRoIGNvbnRlbnRzIGluIGEgc3RhY2tlZCBjb2x1bW4gYmVsb3cgdGhlIG1vYmlsZVxuICAgIC8vICAgYnJlYWtwb2ludFxuICAgIC8vIC0gYmVpbmcgZGlzcGxheTogZmxleCBhYm92ZSB0aGUgbW9iaWxlIGJyZWFrcG9pbnRcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBtb2JpbGUpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIC8vIFRoZSBkZWZhdWx0IG9mIGBzdHJldGNoYCBtYWtlcyB0aGUgdG9nZ2xlIGJ1dHRvbiBhcHBlYXIgdGFsbGVyIHRoYW4gdGhlXG4gICAgICAvLyBpbnB1dCwgZHVlIHRvIHVzaW5nIGJveC1zaGFkb3csIHdoaWNoIHdlIGRvbid0IHBhcnRpY3VsYXJseSB3YW50IGluXG4gICAgICAvLyB0aGlzIHNpdHVhdGlvblxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhc3N3b3JkLWlucHV0X19pbnB1dCB7XG4gICAgLy8gSUUgMTEgYW5kIE1pY3Jvc29mdCBFZGdlIGNvbWVzIHdpdGggaXRzIG93biBwYXNzd29yZCByZXZlYWwgZnVuY3Rpb24uIFdlXG4gICAgLy8gd2FudCB0byBoaWRlIGl0LCBzbyB0aGF0IHRoZXJlIGFyZW4ndCB0d28gY29udHJvbHMgcHJlc2VudGVkIHRvIHRoZSB1c2VyXG4gICAgLy8gdGhhdCBkbyB0aGUgc2FtZSB0aGluZyBidXQgYXJlbid0IGluIHN5bmMgd2l0aCBvbmUgYW5vdGhlci4gVGhpcyBkb2Vzbid0XG4gICAgLy8gYWZmZWN0IHRoZSBmdW5jdGlvbiB0aGF0IGFsbG93cyBFZGdlIHVzZXJzIHRvIHRvZ2dsZSBwYXNzd29yZCB2aXNpYmlsaXR5XG4gICAgLy8gYnkgcHJlc3NpbmcgQWx0K0Y4LCB3aGljaCBjYW5ub3QgYmUgcHJvZ3JhbW1hdGljYWxseSBkaXNhYmxlZC5cbiAgICAmOjotbXMtcmV2ZWFsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhc3N3b3JkLWlucHV0X190b2dnbGUge1xuICAgIC8vIEFkZCB0b3AgbWFyZ2luIHNvIHRoZSBidXR0b24gZG9lc24ndCBvYnNjdXJlIHRoZSBpbnB1dCdzIGZvY3VzIHN0eWxlXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gZnJvbSBidXR0b25cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLy8gSGlkZSB0aGUgYnV0dG9uIGJ5IGRlZmF1bHQsIEpTIHJlbW92ZXMgdGhpcyBhdHRyaWJ1dGVcbiAgICAmW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4gICAgICAvLyBCdXR0b25zIGFyZSBub3JtYWxseSAxMDAlIHdpZGUgb24gbW9iaWxlLCBidXQgd2UgZG9uJ3Qgd2FudCB0aGF0IGhlcmVcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBmbGV4LWJhc2lzOiA1ZW07XG5cbiAgICAgIC8vIE1vdmUgdGhlIHNwYWNpbmcgZnJvbSB0b3AgdG8gdGhlIGxlZnRcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhZ1wiKSB7XG4gICRnb3Z1ay10YWctbWF4LXdpZHRoOiBpZihtYXAtaGFzLWtleSgkZ292dWstYnJlYWtwb2ludHMsIFwibW9iaWxlXCIpLCBtYXAtZ2V0KCRnb3Z1ay1icmVha3BvaW50cywgXCJtb2JpbGVcIikgLyAyLCAxNjBweCk7XG5cbiAgLmdvdnVrLXRhZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLy8gc2V0IGEgbWF4LXdpZHRoIGFsb25nIHdpdGggb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCBiZWxvdyBmb3IgaW5zdGFuY2VzXG4gICAgLy8gd2hlcmUgYSB0YWcgaGFzIGEgc2luZ2xlIGxvbmcgd29yZCBhbmQgY291bGQgb3ZlcmZsb3cgaXRzIGJvdW5kYXJpZXMuXG4gICAgLy8gVGhlIG1heC13aWR0aCBpcyBuZWNlc3NhcnkgYXMgYnJlYWstd29yZCByZXF1aXJlcyBhIGJvdW5kaW5nIGJveCB0byBiYXNlXG4gICAgLy8gd2hlcmUgdG8gYnJlYWsgb2ZmIG9mLlxuICAgIG1heC13aWR0aDogJGdvdnVrLXRhZy1tYXgtd2lkdGg7XG5cbiAgICAvLyBUaGVzZSBuZWdhdGl2ZSBtYXJnaW5zIG1ha2Ugc3VyZSB0aGF0IHRoZSB0YWcgY29tcG9uZW50IGRvZXNu4oCZdCBpbmNyZWFzZVxuICAgIC8vIHRoZSBzaXplIG9mIGl0cyBjb250YWluZXIuIE90aGVyd2lzZSwgZm9yIGV4YW1wbGUsIGEgdGFibGUgcm93IGNvbnRhaW5pbmdcbiAgICAvLyBhIHRhZyB3aWxsIGJlIHRhbGxlciB0aGFuIG9uZSBjb250YWluaW5nIHBsYWluIHRleHQuXG4gICAgLy9cbiAgICAvLyBUaGUgbmVnYXRpdmUgbWFyZ2luIGFkZGVkIHRvIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXRjaGVzIHRoZSBleHRyYSBwYWRkaW5nXG4gICAgLy8gYWRkZWQuXG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuXG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiYmx1ZVwiKSwgNjAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImJsdWVcIiksIDcwJSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAvLyBXaGVuIGZvcmNlZCBjb2xvdXIgbW9kZSBpcyBhY3RpdmUsIGZvciBleGFtcGxlIHRvIHByb3ZpZGUgaGlnaCBjb250cmFzdCxcbiAgICAvLyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgb2YgdGhlIHRhZyBpcyB0aGUgc2FtZSBhcyB0aGUgcmVzdCBvZiB0aGUgcGFnZS4gVG9cbiAgICAvLyBlbnN1cmUgdGhhdCB0aGUgdGFnIGlzIHBlcmNlaXZlZCBhcyBzZXBhcmF0ZSBmcm9tIGFueSBzdXJyb3VuZCB0ZXh0LCBpdFxuICAgIC8vIGlzIG1hZGUgYm9sZC5cbiAgICAvL1xuICAgIC8vIFRyYW5zcGFyZW50IG91dGxpbmVzIGFyZSBubyBsb25nZXIgYWRkZWQsIGFzIHRoZXkgbWFrZSB0aGUgVGFnIGxvb2tcbiAgICAvLyBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGEgYnV0dG9uIOKAkyBidXQgdGhlIHRhZyBpcyBub3QgaW50ZXJhY3RpdmUgaW4gdGhlXG4gICAgLy8gc2FtZSB3YXkuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhZy0tZ3JleSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiKSwgNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiKSwgODUlKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLXB1cnBsZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImJyaWdodC1wdXJwbGVcIiksIDUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJicmlnaHQtcHVycGxlXCIpLCA4NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tdHVycXVvaXNlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpLCA2MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpLCA4MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tYmx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImJsdWVcIiksIDYwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJibHVlXCIpLCA3MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tbGlnaHQtYmx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImJsdWVcIiksIDYwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJibHVlXCIpLCA5MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0teWVsbG93IHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwieWVsbG93XCIpLCA2NSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwieWVsbG93XCIpLCA3NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tb3JhbmdlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwib3JhbmdlXCIpLCA1NSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwib3JhbmdlXCIpLCA3MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcmVkIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwicmVkXCIpLCA4MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwicmVkXCIpLCA3NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcGluayB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcInBpbmtcIiksIDUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJwaW5rXCIpLCA4NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tZ3JlZW4ge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJncmVlblwiKSwgMjAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImdyZWVuXCIpLCA4MCUpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL3RhZy9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BoYXNlLWJhbm5lclwiKSB7XG4gIC5nb3Z1ay1waGFzZS1iYW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudF9fdGFnIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDE2KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoaWYoJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlLCAzLCAyKSk7XG5cbiAgICBAaWYgJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9yYWRpb3NcIikge1xuICAkZ292dWstdG91Y2gtdGFyZ2V0LWd1dHRlcjogNHB4O1xuICAkZ292dWstcmFkaW9zLXNpemU6IDQwcHg7XG4gICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTogKCRnb3Z1ay1yYWRpb3Mtc2l6ZSArICRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyKTtcbiAgJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplOiAyNHB4O1xuICAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgLy8gV2hlbiB0aGUgZGVmYXVsdCBmb2N1cyB3aWR0aCBpcyB1c2VkIG9uIGEgY3VydmVkIGVkZ2UgaXQgbG9va3MgdmlzdWFsbHlcbiAgLy8gc21hbGxlci4gU28gZm9yIHRoZSBjaXJjdWxhciByYWRpb3Mgd2UgYnVtcCB0aGUgZGVmYXVsdCB0byBtYWtlIGl0IGxvb2tcbiAgLy8gdmlzdWFsbHkgY29uc2lzdGVudC5cbiAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aDogJGdvdnVrLWZvY3VzLXdpZHRoICsgMXB4O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0IHtcbiAgICAvLyBBbGxvdyB0aGUgaW5wdXQgdG8gc2l0IGFib3ZlIHRoZSBsYWJlbCwgZW5hYmxpbmcgaXRzIHByb3BlciBkZXRlY3Rpb25cbiAgICAvLyB3aGVuIGV4cGxvcmluZyBieSB0b3VjaCBvciB1c2luZyBhdXRvbWF0aW9uIHRvb2xzIGxpa2UgU2VsZW5pdW1cbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB3aWR0aCBvZiB0aGUgbGFiZWwgaXMgbmV2ZXIgbW9yZSB0aGFuIHRoZSB3aWR0aCBvZiB0aGVcbiAgICAvLyBjb250YWluZXIgbWludXMgdGhlIGlucHV0IHdpZHRoIG1pbnVzIHRoZSBwYWRkaW5nIG9uIGVpdGhlciBzaWRlIG9mXG4gICAgLy8gdGhlIGxhYmVsLiBUaGlzIHByZXZlbnRzIHRoZSBsYWJlbCBmcm9tIGdvaW5nIG9udG8gdGhlIG5leHQgbGluZSBkdWUgdG9cbiAgICAvLyBfX2l0ZW0gdXNpbmcgZmxleC13cmFwIGJlY2F1c2Ugd2Ugd2FudCBoaW50cyBvbiBhIHNlcGFyYXRlIGxpbmVcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7KCRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0ICsgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplICsgZ292dWstc3BhY2luZygzKSl9KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IChnb3Z1ay1zcGFjaW5nKDEpICsgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQpIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vIHJlbW92ZSAzMDBtcyBwYXVzZSBvbiBtb2JpbGVcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC8vICggKSBSYWRpbyByaW5nXG4gIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXIgLyAyKTtcbiAgICBsZWZ0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXIgLyAyKTtcbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudGNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vICDigKIgIFJhZGlvIGJ1dHRvblxuICAvL1xuICAvLyBXZSBjcmVhdGUgdGhlICdidXR0b24nIGVudGlyZWx5IG91dCBvZiAnYm9yZGVyJyBzbyB0aGF0IHRoZXkgcmVtYWluXG4gIC8vICdmaWxsZWQnIGV2ZW4gd2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGluIHRoZSBicm93c2VyLlxuICAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgICRyYWRpby1idXR0b24tc2l6ZTogZ292dWstc3BhY2luZygyKTtcblxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLy8gUG9zaXRpb25lZCBieSBnZXR0aW5nIGhhbGYgdGhlIHRvdWNoIHRhcmdldCwgc28gd2UgaGF2ZSB0aGUgY2VudHJlIG9mIHRoZVxuICAgIC8vIGlucHV0LCBhbmQgdGhlbiBtb3ZpbmcgYmFjayBieSB0aGUgYnV0dG9uJ3MgYm9yZGVyIHdpZHRoLCB0aHVzIHBvc2l0aW9uaW5nXG4gICAgLy8gdGhlIGNlbnRyZSBvZiB0aGUgYnV0dG9uIGluIHRoZSBjZW50cmUgb2YgdGhlIGlucHV0LlxuICAgIHRvcDogKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSk7XG4gICAgbGVmdDogKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSk7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogJHJhZGlvLWJ1dHRvbi1zaXplIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Y29sb3I7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19oaW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCArICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSk7XG4gIH1cblxuICAvLyBUaGlzIGlzIHRvIGJ5cGFzcyBnb3Z1ay1oaW50J3Mgc3BlY2lmaWNpdHkgb24gaGludHMgZm9sbG93aW5nIGxhYmVscyBoYXZpbmdcbiAgLy8gYSBtYXJnaW4gYm90dG9tIG9mIDEwcHggKGdvdnVrLXNwYWNpbmcoMikpLiBCZWNhdXNlIHJhZGlvcyBhcmUgZmxleGJveCxcbiAgLy8gdGhlIG1hcmdpbiBkb2Vzbid0IGNvbGxhcHNlIHNvIHdlIGhhdmUgdG8gZG8gdGhpcyBtYW51YWxseS5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG5cbiAgICAvLyBXaGVuIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4sIHRoZSB5ZWxsb3cgYm94LXNoYWRvdyBiZWNvbWVzIGludmlzaWJsZVxuICAgIC8vIHdoaWNoIG1lYW5zIHRoZSBmb2N1cyBzdGF0ZSBpcyBsZXNzIG9idmlvdXMuIEJ5IGFkZGluZyBhIHRyYW5zcGFyZW50XG4gICAgLy8gb3V0bGluZSwgd2hpY2ggYmVjb21lcyBzb2xpZCAodGV4dC1jb2xvdXJlZCkgaW4gdGhhdCBjb250ZXh0LCB3ZSBlbnN1cmVcbiAgICAvLyB0aGUgZm9jdXMgcmVtYWlucyBjbGVhcmx5IHZpc2libGUuXG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cbiAgICAvLyBXaGVuIGluIGFuIGV4cGxpY2l0IGZvcmNlZC1jb2xvciBtb2RlLCB3ZSBjYW4gdXNlIHRoZSBIaWdobGlnaHQgc3lzdGVtXG4gICAgLy8gY29sb3IgZm9yIHRoZSBvdXRsaW5lIHRvIGJldHRlciBtYXRjaCBmb2N1cyBzdGF0ZXMgb2YgbmF0aXZlIGNvbnRyb2xzXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICB9XG5cbiAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmRpc2FibGVkLFxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgfiAuZ292dWstaGludCB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIElubGluZSByYWRpb3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLmdvdnVrLXJhZGlvcy0taW5saW5lIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIERpdmlkZXJzICgnb3InKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstcmFkaW9zX19kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgJGdvdnVrLWRpdmlkZXItc2l6ZTogJGdvdnVrLXJhZGlvcy1zaXplICFkZWZhdWx0O1xuICAgIHdpZHRoOiAkZ292dWstZGl2aWRlci1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbmRpdGlvbmFsIHJldmVhbHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gVGhlIG5hcnJvdyBib3JkZXIgaXMgdXNlZCBpbiB0aGUgY29uZGl0aW9uYWwgcmV2ZWFscyBiZWNhdXNlIHRoZSBib3JkZXIgaGFzXG4gIC8vIHRvIGJlIGFuIGV2ZW4gbnVtYmVyIGluIG9yZGVyIHRvIGJlIGNlbnRyZWQgdW5kZXIgdGhlIDQwcHggY2hlY2tib3ggcmFkaW8uXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93O1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdFxuICAvLyB0aGUgcmFkaW9zLlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSByYWRpb3NcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCAmLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU21hbGwgY2hlY2tib3hlc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstcmFkaW9zLS1zbWFsbCB7XG4gICAgJGlucHV0LW9mZnNldDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZSkgLyAyO1xuXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIFNoaWZ0IHRoZSB0b3VjaCB0YXJnZXQgaW50byB0aGUgbGVmdCBtYXJnaW4gc28gdGhhdCB0aGUgdmlzaWJsZSBlZGdlIG9mXG4gICAgLy8gdGhlIGNvbnRyb2wgaXMgYWxpZ25lZFxuICAgIC8vXG4gICAgLy8gICDilIZXaGljaCBjb2xvdXIgaXMgeW91ciBmYXZvdXJpdGU/XG4gICAgLy8gIOKUjOKUhuKUgOKUgOKUgOKUkFxuICAgIC8vICDilILilIYoKSDilIIgUHVycGxlXG4gICAgLy8gIOKUlOKUhuKWsuKUgOKUgOKUmFxuICAgIC8vICDilrLilIbilJTilIAgUmFkaW8gcHNldWRvIGVsZW1lbnQsIGFsaWduZWQgd2l0aCBtYXJnaW5cbiAgICAvLyAg4pSU4pSA4pSA4pSAIFRvdWNoIHRhcmdldCAoaW52aXNpYmxlIGlucHV0KSwgc2hpZnRlZCBpbnRvIHRoZSBtYXJnaW5cbiAgICAuZ292dWstcmFkaW9zX19pbnB1dCB7XG4gICAgICBtYXJnaW4tbGVmdDogJGlucHV0LW9mZnNldCAqIC0xO1xuICAgIH1cblxuICAgIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICAgIC8vIENyZWF0ZSBhIHRpbnkgc3BhY2UgYmV0d2VlbiB0aGUgc21hbGwgcmFkaW8gaG92ZXIgc3RhdGUgc28gdGhhdCBpdFxuICAgICAgLy8gZG9lc24ndCBjbGFzaCB3aXRoIHRoZSBsYWJlbFxuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgfVxuXG4gICAgLy8gKCApIFJhZGlvIHJpbmdcbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY29udHJvbCBbMV0sIHZlcnRpY2FsbHkgY2VudGVyaW5nIGl0IHdpdGhpbiB0aGVcbiAgICAvLyB0b3VjaCB0YXJnZXQgWzJdXG4gICAgLy8gTGVmdCBoZXJlIGlzIDAgYmVjYXVzZSB3ZSd2ZSBzaGlmdGVkIHRoZSBpbnB1dCBpbnRvIHRoZSBsZWZ0IG1hcmdpblxuICAgIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgdG9wOiAkaW5wdXQtb2Zmc2V0OyAvLyAyXG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6ICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZTsgLy8gMVxuICAgICAgaGVpZ2h0OiAkZ292dWstc21hbGwtcmFkaW9zLXNpemU7IC8vIDFcbiAgICB9XG5cbiAgICAvLyAg4oCiICBSYWRpbyBidXR0b25cbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgJ2J1dHRvbicgYW5kIGNlbnRlciBpdCB3aXRoaW4gdGhlIHJpbmdcbiAgICAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgICAgJHJhZGlvLWJ1dHRvbi1zaXplOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgICAvLyBUaGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBub3JtYWwgcmFkaW8gYnV0dG9ucyBidXQgcmVkdWNlIHRoZSBib3JkZXIgd2lkdGhcbiAgICAgIHRvcDogKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSk7XG4gICAgICBsZWZ0OiAoKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSkgLSAkaW5wdXQtb2Zmc2V0KTtcbiAgICAgIGJvcmRlci13aWR0aDogJHJhZGlvLWJ1dHRvbi1zaXplO1xuICAgIH1cblxuICAgIC8vIEZpeCBwb3NpdGlvbiBvZiBoaW50IHdpdGggc21hbGwgcmFkaW9zXG4gICAgLy9cbiAgICAvLyBEbyBub3QgdXNlIGhpbnRzIHdpdGggc21hbGwgcmFkaW9zIOKAkyBiZWNhdXNlIHRoZXkncmUgd2l0aGluIHRoZSBpbnB1dFxuICAgIC8vIHdyYXBwZXIgdGhleSB0cmlnZ2VyIHRoZSBob3ZlciBzdGF0ZSwgYnV0IGNsaWNraW5nIHRoZW0gZG9lc24ndCBhY3R1YWxseVxuICAgIC8vIGFjdGl2YXRlIHRoZSBjb250cm9sLlxuICAgIC8vXG4gICAgLy8gKElmIHlvdSBkbyB1c2UgdGhlbSwgdGhleSB3b24ndCBsb29rIGNvbXBsZXRlbHkgYnJva2VuLi4uIGJ1dCBzZXJpb3VzbHksXG4gICAgLy8gZG9uJ3QgdXNlIHRoZW0pXG4gICAgLmdvdnVrLXJhZGlvc19faGludCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICgkZ292dWstc21hbGwtcmFkaW9zLXNpemUgKyAkaW5wdXQtb2Zmc2V0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjb25kaXRpb25hbCByZXZlYWxzIHdpdGggc21hbGwgcmFkaW9zXG4gICAgLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xuICAgICAgJG1hcmdpbi1sZWZ0OiAoJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRpbnB1dC1vZmZzZXQpIC0gKCRtYXJnaW4tbGVmdCArICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGgpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1yYWRpb3NfX2RpdmlkZXIge1xuICAgICAgd2lkdGg6ICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgc3RhdGUgZm9yIHNtYWxsIHJhZGlvcy5cbiAgICAvL1xuICAgIC8vIFdlIHVzZSBhIGhvdmVyIHN0YXRlIGZvciBzbWFsbCByYWRpb3MgYmVjYXVzZSB0aGUgdG91Y2ggdGFyZ2V0IHNpemVcbiAgICAvLyBpcyBzbyBtdWNoIGxhcmdlciB0aGFuIHRoZWlyIHZpc2libGUgc2l6ZSwgYW5kIHNvIHdlIG5lZWQgdG8gcHJvdmlkZVxuICAgIC8vIGZlZWRiYWNrIHRvIHRoZSB1c2VyIGFzIHRvIHdoaWNoIHJhZGlvIHRoZXkgd2lsbCBzZWxlY3Qgd2hlbiB0aGVpclxuICAgIC8vIGN1cnNvciBpcyBvdXRzaWRlIG9mIHRoZSB2aXNpYmxlIGFyZWEuXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLy8gRm9yY2VkIGNvbG91cnMgbW9kZXMgdGVuZCB0byBpZ25vcmUgYm94LXNoYWRvdy5cbiAgICAgIC8vIEFwcGx5IGFuIG91dGxpbmUgZm9yIHRob3NlIG1vZGVzIHRvIHVzZSBpbnN0ZWFkLlxuICAgICAgb3V0bGluZTogJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQmVjYXVzZSB3ZSd2ZSBvdmVycmlkZGVuIHRoZSBib3JkZXItc2hhZG93IHByb3ZpZGVkIGJ5IHRoZSBmb2N1cyBzdGF0ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIHJlZGVmaW5lIHRoYXQgdG9vLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIHR3byBib3ggc2hhZG93cywgb25lIHRoYXQgcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGZvY3VzIHN0YXRlIFsxXVxuICAgIC8vIGFuZCBhbm90aGVyIHRoYXQgdGhlbiBhcHBsaWVzIHRoZSBob3ZlciBzdGF0ZSBbMl0uXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLy8gU2V0IGRpZmZlcmVudCBIQ00gY29sb3VyIHdoZW4gd2UgaGF2ZSBib3RoIGhvdmVyL2ZvY3VzIGFwcGxpZWQgYXQgb25jZVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIG91dGxpbmUtY29sb3I6IEhpZ2hsaWdodDtcbiAgICAgIH1cbiAgICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyIC8vIDEsXG4gICAgICAgIDAgMCAwICRnb3Z1ay1ob3Zlci13aWR0aCAkZ292dWstaG92ZXItY29sb3VyOyAvLyAyXG4gICAgfVxuXG4gICAgLy8gRm9yIGRldmljZXMgdGhhdCBleHBsaWNpdGx5IGRvbid0IHN1cHBvcnQgaG92ZXIsIGRvbid0IHByb3ZpZGUgYSBob3ZlclxuICAgIC8vIHN0YXRlIChlLmcuIG9uIHRvdWNoIGRldmljZXMgbGlrZSBpT1MpLlxuICAgIC8vXG4gICAgLy8gV2UgY2FuJ3QgdXNlIGBAbWVkaWEgKGhvdmVyOiBob3ZlcilgIGJlY2F1c2Ugd2Ugd291bGRuJ3QgZ2V0IHRoZSBob3ZlclxuICAgIC8vIHN0YXRlIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgQG1lZGlhIChob3ZlcilgIChsaWtlIEludGVybmV0XG4gICAgLy8gRXhwbG9yZXIpIOKAkyBzbyB3ZSBoYXZlIHRvICd1bmRvJyB0aGUgaG92ZXIgc3RhdGUgaW5zdGVhZC5cbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSwgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstcmFkaW9zX19pdGVtOmhvdmVyIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NlbGVjdFwiKSB7XG4gIC5nb3Z1ay1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC8vIFRoaXMgbWluLXdpZHRoIHdhcyBjaG9zZW4gYmVjYXVzZTpcbiAgICAvLyAtIGl0IG1ha2VzIHRoZSBTZWxlY3Qgd2lkZXIgdGhhbiBpdCBpcyB0YWxsICh3aGljaCBpcyB3aGF0IHVzZXJzIGV4cGVjdClcbiAgICAvLyAtIDExLjVlbSBtYXRjaGVzIHRoZSAnbGVuZ3RoLTEwJyB2YXJpYW50IG9mIHRoZSBpbnB1dCBjb21wb25lbnRcbiAgICAvLyAtIGl0IGZpdHMgY29tZm9ydGFibHkgb24gc2NyZWVucyBhcyBuYXJyb3cgYXMgMjQwcHggd2lkZVxuICAgIG1pbi13aWR0aDogMTEuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGdvdnVrLXB4LXRvLXJlbSg0MHB4KTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG5cbiAgICAvLyBEZWZhdWx0IHVzZXIgYWdlbnQgY29sb3VycyBmb3Igc2VsZWN0cyBjYW4gaGF2ZSBsb3cgY29udHJhc3QsXG4gICAgLy8gYW5kIG1heSBsb29rIGRpc2FibGVkICgjMjQzNSlcbiAgICBjb2xvcjogJGdvdnVrLXRleHQtY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIEVuc3VyZSBvdXRsaW5lIGFwcGVhcnMgb3V0c2lkZSBvZiB0aGUgZWxlbWVudFxuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICAvLyBEb3VibGUgdGhlIGJvcmRlciBieSBhZGRpbmcgaXRzIHdpZHRoIGFnYWluLiBVc2UgYGJveC1zaGFkb3dgIHRvIGRvXG4gICAgICAvLyB0aGlzIGluc3RlYWQgb2YgY2hhbmdpbmcgYGJvcmRlci13aWR0aGAgKHdoaWNoIGNoYW5nZXMgZWxlbWVudCBzaXplKVxuICAgICAgLy8gYW5kIHNpbmNlIGBvdXRsaW5lYCBpcyBhbHJlYWR5IHVzZWQgZm9yIHRoZSB5ZWxsb3cgZm9jdXMgc3RhdGUuXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc2VsZWN0IG9wdGlvbjphY3RpdmUsXG4gIC5nb3Z1ay1zZWxlY3Qgb3B0aW9uOmNoZWNrZWQsXG4gIC5nb3Z1ay1zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gIH1cblxuICAuZ292dWstc2VsZWN0LS1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc2VydmljZS1uYXZpZ2F0aW9uXCIpIHtcbiAgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1hY3RpdmUtbGluay1ib3JkZXItd2lkdGg6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYmFja2dyb3VuZDogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1ib3JkZXItY29sb3VyOiAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAvLyBXZSBtYWtlIHRoZSBsaW5rIGNvbG91ciBhIGxpdHRsZSBkYXJrZXIgdGhhbiBub3JtYWwgaGVyZSBzbyB0aGF0IGl0IGhhc1xuICAvLyBiZXR0ZXIgcGVyY2VwdHVhbCBjb250cmFzdCB3aXRoIHRoZSBuYXZpZ2F0aW9uIGJhY2tncm91bmQuXG4gICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tbGluay1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1saW5rLWNvbG91ciwgMTAlKTtcblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1ib3JkZXItY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYmFja2dyb3VuZDtcbiAgfVxuXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBuYXYgaXRlbXMgYW5kIHRoZSBzZXJ2aWNlIG5hbWUsIHRoZXlcbiAgLy8gZW5zdXJlIHRoYXQgYm90aCBvZiB0aGVtIHJlbWFpbiB2ZXJ0aWNhbGx5IGFsaWduZWQgd2l0aCBvbmUgYW5vdGhlclxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19pdGVtLFxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19zZXJ2aWNlLW5hbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXI6IDAgc29saWQgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1saW5rLWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg0KSAwO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCAkZGlyZWN0aW9uOiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9faXRlbS0tYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLy8gTmVnYXRpdmUgb2Zmc2V0IHRoZSBsZWZ0IG1hcmdpbiBzbyB3ZSBjYW4gcGxhY2UgYSBjdXJyZW50IHBhZ2UgaW5kaWNhdG9yXG4gICAgICAvLyB0byB0aGUgbGVmdCB3aXRob3V0IG1pc2FsaWduaW5nIHRoZSBsaXN0IGl0ZW0gdGV4dC5cbiAgICAgIG1hcmdpbi1sZWZ0OiAoKGdvdnVrLXNwYWNpbmcoMikgKyAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWFjdGl2ZS1saW5rLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1hY3RpdmUtbGluay1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCkgLSAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWFjdGl2ZS1saW5rLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYWN0aXZlLWxpbmstYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcblxuICAgICY6bm90KDpob3Zlcik6bm90KDpmb2N1cykge1xuICAgICAgLy8gV2Ugc2V0IHRoZSBjb2xvdXIgaGVyZSBhcyB3ZSBkb24ndCB3YW50IHRvIG92ZXJyaWRlIHRoZSBob3ZlciBvclxuICAgICAgLy8gZm9jdXMgY29sb3Vyc1xuICAgICAgY29sb3I6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tbGluay1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLy9cbiAgLy8gU2VydmljZSBuYW1lIHNwZWNpZmljIGNvZGVcbiAgLy9cblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19zZXJ2aWNlLW5hbWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC8vIEFubm95aW5nbHkgdGhpcyByZXF1aXJlcyBhIGNvbXBvdW5kIHNlbGVjdG9yIGluIG9yZGVyIHRvIG92ZXJjb21lIHRoZVxuICAvLyBzcGVjaWZpY2l0eSBvZiB0aGUgb3RoZXIgbGluayBjb2xvdXIgb3ZlcnJpZGUgd2UncmUgZG9pbmdcbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9fc2VydmljZS1uYW1lIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC8vXG4gIC8vIE5hdmlnYXRpb24gbGlzdCBzcGVjaWZpYyBjb2RlXG4gIC8vXG5cbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9fdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tbGluay1jb2xvdXI7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBkb3duLCAkYmFzZTogMTBweCwgJGRpc3BsYXk6IGlubGluZS1ibG9jayk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogdXAsICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhlIGJ1dHRvbiBzdGF5cyBoaWRkZW4gaWYgdGhlIGhpZGRlbiBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICAgICZbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGhhdmUgYm90aCBhIHNlcnZpY2UgbmFtZSBhbmQgbmF2aWdhdGlvbiB0b2dnbGUsIHJlbW92ZSB0aGVcbiAgICAvLyBtYXJnaW4tdG9wIHNvIHRoYXQgdGhlcmUgaXNuJ3QgYSBidW5jaCBvZiBzcGFjZSBiZXR3ZWVuIHRoZW1cbiAgICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19zZXJ2aWNlLW5hbWUgKyAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX193cmFwcGVyICYge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgLy8gTWFrZSB0aGUgbmF2aWdhdGlvbiBsaXN0IGEgZmxleGJveC4gRG9pbmcgc28gcmVzb2x2ZXMgYSBjb3VwbGUgb2ZcbiAgICAvLyBhY2Nlc3NpYmlsaXR5IHByb2JsZW1zIGNhdXNlZCBieSB0aGUgbGlzdCBpdGVtcyBiZWluZyBpbmxpbmUtYmxvY2tzOlxuICAgIC8vIC0gUmVtb3ZlcyB0aGUgZXh0cmEgd2hpdGVzcGFjZSBmcm9tIGJldHdlZW4gZWFjaCBsaXN0IGl0ZW0gdGhhdCBzY3JlZW5cbiAgICAvLyAgIHJlYWRlcnMgd291bGQgcG9pbnRsZXNzbHkgYW5ub3VuY2UuXG4gICAgLy8gLSBGaXhlcyBhbiBOVkRBIGlzc3VlIGluIEZpcmVmb3ggYW5kIENocm9tZSA8PSAxMjQgd2hlcmUgaXQgd291bGQgcmVhZFxuICAgIC8vICAgYWxsIG9mIHRoZSBsaW5rcyBhcyBhIHJ1bi1vbiBzZW50ZW5jZS5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLy8gSG93ZXZlci4uLiBJRTExIHRvdGFsbHkgdHJpcHMgb3ZlciBmbGV4Ym94IGFuZCBkb2Vzbid0IHdyYXAgYW55dGhpbmcsXG4gICAgICAvLyBtYWtpbmcgYWxsIG9mIHRoZSBpdGVtcyBpbnRvIGEgc2luZ2xlLCBob3Jpem9udGFsbHkgc2Nyb2xsaW5nIHJvdyxcbiAgICAgIC8vIHdoaWNoIGlzIG5vIGdvb2QuIFRoaXMgQ1NTIGhhY2sgcmVtb3ZlcyB0aGUgZmxleGJveCBkZWZpbml0aW9uIGZvclxuICAgICAgLy8gSUUgMTAgJiAxMSwgcmV2ZXJ0aW5nIGl0IHRvIHRoZSBmbGF3ZWQsIGJ1dCBPSywgbm9uLWZsZXhib3ggdmVyc2lvbi5cbiAgICAgIC8vXG4gICAgICAvLyBDU1MgaGFjayB0YWtlbiBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzExMTczMTA2L2FwcGx5LXN0eWxlLW9ubHktb24taWUjYW5zd2VyLTM2NDQ4ODYwXG4gICAgICAvLyB3aGljaCBhbHNvIGluY2x1ZGVzIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIHdvcmtzXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIGEgPHN0cm9uZz4gZWxlbWVudCB0aGF0IGlzIHVzZWQgYXMgYSBmYWxsYmFjayBtZWNoYW5pc20gZm9yXG4gIC8vIHZpc3VhbGx5IGluZGljYXRpbmcgdGhlIGN1cnJlbnQgcGFnZSBpbiBzY2VuYXJpb3Mgd2hlcmUgQ1NTIGlzbid0XG4gIC8vIGF2YWlsYWJsZS4gV2UgZG9uJ3QgYWN0dWFsbHkgd2FudCBpdCB0byBiZSBib2xkIG5vcm1hbGx5LCBzbyBzZXQgaXQgdG9cbiAgLy8gaW5oZXJpdCB0aGUgcGFyZW50IGZvbnQtd2VpZ2h0LlxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19hY3RpdmUtZmFsbGJhY2sge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2FjY2Vzc2liaWxpdHlcbi8vLy9cblxuLy8vIEhlbHBlciBmdW5jdGlvbiBjb250YWluaW5nIHRoZSBjb21tb24gY29kZSBmb3IgdGhlIGZvbGxvd2luZyB0d28gbWl4aW5zXG4vLy9cbi8vLyBAbGluayBodHRwczovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuLy8vICAgLSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eSwgSm9uYXRoYW4gU25vb2ssIEZlYnJ1YXJ5IDIwMTFcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iLzlmMTM2OTVkMjFmZjkyYzU1Yzc4ZGZhOWYxNmJiMDJhMWI2ZTkxMWYvc3JjL2Nzcy9tYWluLmNzcyNMMTIxLUwxNThcbi8vLyAgIC0gaDVicC9odG1sNS1ib2lsZXJwbGF0ZSAtIFRoYW5rcyFcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbdHJ1ZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9nb3Z1ay12aXN1YWxseS1oaWRlLWNvbnRlbnQoJGltcG9ydGFudDogdHJ1ZSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgd2lkdGg6IDFweCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgaGVpZ2h0OiAxcHggaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIC8vIElmIG1hcmdpbiBpcyBzZXQgdG8gYSBuZWdhdGl2ZSB2YWx1ZSBpdCBjYW4gY2F1c2UgdGV4dCB0byBiZSBhbm5vdW5jZWQgaW5cbiAgLy8gdGhlIHdyb25nIG9yZGVyIGluIFZvaWNlT3ZlciBmb3IgT1NYXG4gIG1hcmdpbjogMCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgcGFkZGluZzogMCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICBvdmVyZmxvdzogaGlkZGVuIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIC8vIGBjbGlwYCBpcyBuZWVkZWQgZm9yIElFMTEgc3VwcG9ydFxuICBjbGlwOiByZWN0KDAgMCAwIDApIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgYm9yZGVyOiAwIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgLy8gUHJldmVudCB1c2VycyBmcm9tIHNlbGVjdGluZyBvciBjb3B5aW5nIHZpc3VhbGx5LWhpZGRlbiB0ZXh0LiBUaGlzIHByZXZlbnRzXG4gIC8vIGEgdXNlciB1bmludGVudGlvbmFsbHkgY29weWluZyBtb3JlIHRleHQgdGhhbiB0aGV5IGludGVuZGVkIGFuZCBuZWVkaW5nIHRvXG4gIC8vIG1hbnVhbGx5IHRyaW0gaXQgZG93biBhZ2Fpbi5cbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4oJGltcG9ydGFudDogdHJ1ZSkge1xuICBAaW5jbHVkZSBfZ292dWstdmlzdWFsbHktaGlkZS1jb250ZW50KCRpbXBvcnRhbnQ6ICRpbXBvcnRhbnQpO1xuXG4gIC8vIEFic29sdXRlIHBvc2l0aW9uaW5nIGhhcyB0aGUgdW5pbnRlbmRlZCBjb25zZXF1ZW5jZSBvZiByZW1vdmluZyBhbnlcbiAgLy8gd2hpdGVzcGFjZSBzdXJyb3VuZGluZyB2aXN1YWxseSBoaWRkZW4gdGV4dCBmcm9tIHRoZSBhY2Nlc3NpYmlsaXR5IHRyZWUuXG4gIC8vIEluc2VydCBhIHNwYWNlIGNoYXJhY3RlciBiZWZvcmUgYW5kIGFmdGVyIHZpc3VhbGx5IGhpZGRlbiB0ZXh0IHRvIHNlcGFyYXRlXG4gIC8vIGl0IGZyb20gYW55IHZpc2libGUgdGV4dCBzdXJyb3VuZGluZyBpdC5cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMDBhMFwiO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFwwMGEwXCI7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVycyB3aGlsc3Rcbi8vLyBhbGxvd2luZyB0aGUgZWxlbWVudCB0byBiZSBmb2N1c2VkIHdoZW4gbmF2aWdhdGVkIHRvIHZpYSB0aGUga2V5Ym9hcmQgKGUuZy5cbi8vLyBmb3IgdGhlIHNraXAgbGluaylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbdHJ1ZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSgkaW1wb3J0YW50OiB0cnVlKSB7XG4gIC8vIElFIDExIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgY29tYmluZWQgYDpub3QoOmFjdGl2ZSwgOmZvY3VzKWAgc3ludGF4LlxuICAmOm5vdCg6YWN0aXZlKTpub3QoOmZvY3VzKSB7XG4gICAgQGluY2x1ZGUgX2dvdnVrLXZpc3VhbGx5LWhpZGUtY29udGVudCgkaW1wb3J0YW50OiAkaW1wb3J0YW50KTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdmlzdWFsbHktaGlkZGVuLnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NraXAtbGlua1wiKSB7XG4gIC5nb3Z1ay1za2lwLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDE2KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZygzKTtcblxuICAgIC8vIFJlc3BlY3QgJ2Rpc3BsYXkgY3V0b3V0JyBzYWZlIGFyZWEgKGF2b2lkcyBub3RjaGVzIGFuZCByb3VuZGVkIGNvcm5lcnMpXG4gICAgQHN1cHBvcnRzIChwYWRkaW5nOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgICRwYWRkaW5nLXNhZmUtYXJlYS1yaWdodDogY2FsYygje2dvdnVrLXNwYWNpbmcoMyl9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICAgJHBhZGRpbmctc2FmZS1hcmVhLWxlZnQ6IGNhbGMoI3tnb3Z1ay1zcGFjaW5nKDMpfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgICAvLyBVc2UgbWF4KCkgdG8gcGljayBsYXJnZXN0IHBhZGRpbmcsIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVucXVvdGUoXCJtYXgoI3tnb3Z1ay1zcGFjaW5nKDMpfSwgI3skcGFkZGluZy1zYWZlLWFyZWEtcmlnaHR9KVwiKTtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5xdW90ZShcIm1heCgje2dvdnVrLXNwYWNpbmcoMyl9LCAjeyRwYWRkaW5nLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcblxuICAgICAgLy8gVW5kbyB1bndhbnRlZCBjaGFuZ2VzIHdoZW4gZ2xvYmFsIHN0eWxlcyBhcmUgZW5hYmxlZFxuICAgICAgQGlmICRnb3Z1ay1nbG9iYWwtc3R5bGVzIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1za2lwLWxpbmstZm9jdXNlZC1lbGVtZW50IHtcbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIFJlbW92ZSB0aGUgbmF0aXZlIHZpc2libGUgZm9jdXMgaW5kaWNhdG9yIHdoZW4gdGhlIGVsZW1lbnQgaXNcbiAgICAgIC8vIHByb2dyYW1tYXRpY2FsbHkgZm9jdXNlZC5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBzZXQgdGhlIGZvY3VzIG9uIHRoZSBsaW5rZWQgZWxlbWVudCAodGhpcyBpcyB1c3VhbGx5IHRoZSA8bWFpbj5cbiAgICAgIC8vIGVsZW1lbnQpIHdoZW4gdGhlIHNraXAgbGluayBpcyBhY3RpdmF0ZWQgdG8gaW1wcm92ZSBzY3JlZW4gcmVhZGVyXG4gICAgICAvLyBhbm5vdW5jZW1lbnRzLiBIb3dldmVyLCB3ZSByZW1vdmUgdGhlIHZpc2libGUgZm9jdXMgaW5kaWNhdG9yIGZyb20gdGhlXG4gICAgICAvLyBsaW5rZWQgZWxlbWVudCBiZWNhdXNlIHRoZSB1c2VyIGNhbm5vdCBpbnRlcmFjdCB3aXRoIGl0LlxuICAgICAgLy9cbiAgICAgIC8vIEEgcmVsYXRlZCBkaXNjdXNzaW9uOiBodHRwczovL2dpdGh1Yi5jb20vdzNjL3djYWcvaXNzdWVzLzEwMDFcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zdW1tYXJ5LWxpc3RcIikge1xuICAuZ292dWstc3VtbWFyeS1saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IC8vIFJlcXVpcmVkIHRvIGFsbG93IHVzIHRvIHdyYXAgd29yZHMgdGhhdCBvdmVyZmxvdy5cbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgfVxuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSByaWdodCBwYWRkaW5nIGZyb20gdGhlIGxhc3QgY29sdW1uIGluIHRoZSByb3dcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93Om5vdCguZ292dWstc3VtbWFyeS1saXN0X19yb3ctLW5vLWFjdGlvbnMpID4gOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBQcm92aWRlIGFuIGVtcHR5ICdjZWxsJyBmb3Igcm93cyB0aGF0IGRvbid0IGhhdmUgYWN0aW9ucyDigJMgb3RoZXJ3aXNlIHRoZVxuICAvLyBib3R0b20gYm9yZGVyIGlzIG5vdCBkcmF3biBmb3IgdGhhdCBwYXJ0IG9mIHRoZSByb3cgaW4gc29tZSBicm93c2Vycy5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93LS1uby1hY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSB7XG4gICAgLy8gQXV0b21hdGljIHdyYXBwaW5nIGZvciB1bmJyZWFrYWJsZSB0ZXh0IChlLmcuIFVSTHMpXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyAvLyBGYWxsYmFjayBmb3Igb2xkZXIgYnJvd3NlcnMgb25seVxuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXkge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSA+IHAge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcbiAgICBwYWRkaW5nOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG5cbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhcmdlIGdyb3VwcyBvZiBhY3Rpb24gbGlua3MgbWF5IHdyYXAgb250byBtdWx0aXBsZSBsaW5lcy4gQmVjYXVzZSB0aGUgbGlua1xuICAvLyBmb2N1cyBzdHlsZXMgYXJlIGFwcGxpZWQgb3V0c2lkZSBvZiB0aGUgbGluaydzIGJvdW5kaW5nIGJveCwgdGhlcmUgYXJlXG4gIC8vIHNpdHVhdGlvbnMgd2hlcmUgdGhlIGZvY3VzIHN0eWxlIG9uIGEgbGluayBjYW4gYmUgb3ZlcmxhcHBlZCBieSBzdWJzZXF1ZW50XG4gIC8vIGxpbmtzLiBXZSBkb24ndCB3YW50IHRoaXMsIHNvIGxldCdzIGNyZWF0ZSBhIG5ldyBzdGFja2luZyBjb250ZXh0IG9uIGZvY3VzXG4gIC8vIHNvIHRoZSBsaW5rIGFsd2F5cyBhcHBlYXJzIHRvIGJlICdvbiB0b3AnLlxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSAuZ292dWstbGluazpmb2N1cyB7XG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICB9XG5cbiAgLy8gTm8gYm9yZGVyIG9uIGVudGlyZSBzdW1tYXJ5IGxpc3RcbiAgLmdvdnVrLXN1bW1hcnktbGlzdC0tbm8tYm9yZGVyIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC8vIEluY3JlYXNlIHBhZGRpbmcgYnkgMXB4IHRvIGNvbXBlbnNhdGUgZm9yICdtaXNzaW5nJyBib3JkZXJcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKSArIDFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBObyBib3JkZXIgb24gc3BlY2lmaWMgcm93c1xuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3ctLW5vLWJvcmRlciB7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLy8gSW5jcmVhc2UgcGFkZGluZyBieSAxcHggdG8gY29tcGVuc2F0ZSBmb3IgJ21pc3NpbmcnIGJvcmRlclxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLFxuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpICsgMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEFkZGl0aW9uYWwgYmxvY2sgZm9yIHRoZSBzdW1tYXJ5IGNhcmRcbiAgLmdvdnVrLXN1bW1hcnktY2FyZCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1jYXJkX190aXRsZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gRW5zdXJlcyB0aGUgY2FyZCBoZWFkZXIgYXBwZWFycyBzZXBhcmF0ZSB0byB0aGUgc3VtbWFyeSBsaXN0IGluIGZvcmNlZFxuICAgIC8vIGNvbG91cnMgbW9kZVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IFwidGFibGV0XCIpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMykgZ292dWstc3BhY2luZyg0KTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1jYXJkX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbjogZ292dWstc3BhY2luZygxKSBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMikgMDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBcInRhYmxldFwiKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcm93LWdhcDogMTBweDtcbiAgICBtYXJnaW46IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX2FjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMCBnb3Z1ay1zcGFjaW5nKDIpIDAgMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IFwidGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBXZSB1c2UgdGhlIGZvbGxvd2luZyBtZWRpYSBxdWVyeSB0byB0YXJnZXQgSUUxMSBhbmQgMTAgb25seSB0byBhZGQgbWFyZ2luXG4gICAgLy8gYmV0d2VlbiBhY3Rpb25zLlxuICAgIC8vXG4gICAgLy8gV2UgZG8gdGhpcyBiZWNhdXNlIHdlJ3JlIHVzaW5nIHJvdy1nYXAgdG8gY3JlYXRlIHNwYWNlIGJldHdlZW4gYWN0aW9ucyBvblxuICAgIC8vIG1vcmUgZXZlcmdyZWVuIGJyb3dzZXJzIHdoaWNoIElFIGRvZXNuJ3Qgc3VwcG9ydC4gQHN1cHBvcnRzIGN1cnJlbnRseSBpc24ndFxuICAgIC8vIGEgdmlhYmxlIHNvbHV0aW9uLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzM1NTkuXG4gICAgLy9cbiAgICAvLyBTb2x1dGlvbiB0YWtlbiBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzExMTczMTA2L2FwcGx5LXN0eWxlLW9ubHktb24taWUjYW5zd2VyLTM2NDQ4ODYwXG4gICAgLy8gd2hpY2ggYWxzbyBpbmNsdWRlcyBhbiBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyB3b3Jrc1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX2FjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cblxuICAgIC8vIFNlZSBhYm92ZSBjb21tZW50IGZvciB3aHkgdGhpcyBpcyBoZXJlXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktY2FyZF9fY29udGVudCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDMpIDA7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3c6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFibGVcIikge1xuICAuZ292dWstdGFibGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cblxuICBAaWYgJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlIHtcbiAgICAvLyBNb2RpZmllciBmb3IgdGFibGVzIHdpdGggYSBsb3Qgb2YgZGF0YS4gVGFibGVzIHdpdGggbG90cyBvZiBkYXRhIGJlbmVmaXRcbiAgICAvLyBmcm9tIGEgc21hbGxlciBmb250IHNpemUgb24gc21hbGwgc2NyZWVucy5cbiAgICAuZ292dWstdGFibGUtLXNtYWxsLXRleHQtdW50aWwtdGFibGV0IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXRhYnVsYXItbnVtYmVycztcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyLS1udW1lcmljLFxuICAuZ292dWstdGFibGVfX2NlbGwtLW51bWVyaWMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXI6bGFzdC1jaGlsZCxcbiAgLmdvdnVrLXRhYmxlX19jZWxsOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG5cbiAgICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGNhcHRpb25zIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS14bCxcbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS1sLFxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLW0ge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDQ4KTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAzNik7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWJzXCIpIHtcbiAgLmdvdnVrLXRhYnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDEsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgLy8gU2V0IHRoZSBzaXplIGFuZCB3ZWlnaHQgYWdhaW4gYmVjYXVzZSB0aGlzIGVsZW1lbnQgaXMgYSBoZWFkaW5nIGFuZCB0aGVcbiAgICAvLyB1c2VyIGFnZW50IGZvbnQgc2l6ZSBvdmVycmlkZXMgdGhlIGluaGVyaXRlZCBmb250IHNpemVcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstdGFic19fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDUpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgICAgY29udGVudDogXCJcXDIwMTQgXCI7IC8vIFwi4oCUIFwiXG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygtNSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190YWIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3BhbmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC8vIEdPVi5VSyBGcm9udGVuZCBKYXZhU2NyaXB0IGVuYWJsZWRcbiAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZyg0KTtcblxuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtLS1zZWxlY3RlZCB7XG4gICAgICAgICRib3JkZXItd2lkdGg6IDFweDtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygtMSk7XG5cbiAgICAgICAgLy8gQ29tcGVuc2F0aW9uIGZvciBib3JkZXIgKG90aGVyd2lzZSB3ZSBnZXQgYSBzaGlmdClcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRib3JkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpIC0gJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KSAtICRib3JkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpICsgJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpIC0gJGJvcmRlci13aWR0aDtcblxuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICAgICAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190YWIge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDAsIFwiYm90dG9tXCIpO1xuICAgICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDYpIGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuXG4gICAgICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fcGFuZWwtLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL3RhZy9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3Rhc2stbGlzdFwiKSB7XG4gICRnb3Z1ay10YXNrLWxpc3QtaG92ZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIpO1xuXG4gIC5nb3Z1ay10YXNrLWxpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLy8gVGhpcyB1c2VzIHRhYmxlIGxheW91dCBzbyB0aGF0IHRoZSB0YXNrIG5hbWUgYW5kIHN0YXR1cyBhbHdheXMgYXBwZWFyXG4gIC8vIHNpZGUtYnktc2lkZSwgd2l0aCB0aGUgd2lkdGggb2YgZWFjaCAnY29sdW1uJyBiZWluZyBmbGV4aWJsZSBkZXBlbmRpbmcgdXBvblxuICAvLyB0aGUgbGVuZ3RoIG9mIHRoZSB0YXNrIG5hbWVzIGFuZCBzdGF0dXNlcy5cbiAgLy9cbiAgLy8gVGhlIHBvc2l0aW9uIGlzIHNldCB0byAncmVsYXRpdmUnIHNvIHRoYW4gYW4gYWJzb2x1dGVseS1wb3NpdGlvbmVkXG4gIC8vIHRyYW5zcGFyZW50IGVsZW1lbnQgYm94IGNhbiBiZSBhZGRlZCB3aXRoaW4gdGhlIGxpbmsgc28gdGhhdCB0aGUgd2hvbGUgcm93XG4gIC8vIGNhbiBiZSBjbGlja2FibGUuXG4gIC5nb3Z1ay10YXNrLWxpc3RfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay10YXNrLWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC8vIFRoaXMgY2xhc3MgaXMgYWRkZWQgdG8gdGhlIDxsaT4gZWxlbWVudHMgd2hlcmUgdGhlIHRhc2sgbmFtZSBpcyBhIGxpbmsuIFRoZVxuICAvLyBiYWNrZ3JvdW5kIGhvdmVyIGNvbG91ciBpcyBhZGRlZCB0byBoZWxwIGluZGljYXRlIHRoYXQgdGhlIHdob2xlIHJvdyBpc1xuICAvLyBjbGlja2FibGUsIHJhdGhlciB0aGFuIGp1c3QgdGhlIHZpc2libGUgbGluayB0ZXh0LlxuICAuZ292dWstdGFzay1saXN0X19pdGVtLS13aXRoLWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay10YXNrLWxpc3QtaG92ZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9fbmFtZS1hbmQtaGludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9fc3RhdHVzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9fc3RhdHVzLS1jYW5ub3Qtc3RhcnQteWV0IHtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFRoaXMgYWRkcyBhbiBlbXB0eSB0cmFuc3BhcmVudCBib3ggY292ZXJpbmcgdGhlIHdob2xlIHJvdywgaW5jbHVkaW5nIHRoZVxuICAvLyB0YXNrIHN0YXR1cyBhbmQgYW55IGhpbnQgdGV4dC4gQmVjYXVzZSB0aGlzIGlzIGdlbmVyYXRlZCB3aXRoaW4gdGhlIGxpbmtcbiAgLy8gZWxlbWVudCwgdGhpcyBhbGxvd3MgdGhlIHdob2xlIGFyZWEgdG8gYmUgY2xpY2thYmxlLlxuICAuZ292dWstdGFzay1saXN0X19saW5rOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9faGludCB7XG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKTtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvd2FybmluZy10ZXh0XCIpIHtcbiAgLmdvdnVrLXdhcm5pbmctdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcblxuICAgIG1pbi13aWR0aDogMzVweDtcbiAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbi10b3A6IC03cHg7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIH1cblxuICAgIC8vIFdoZW4gYSB1c2VyIGN1c3RvbWlzZXMgdGhlaXIgY29sb3VycyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgd2lsbCBvZnRlbiBiZVxuICAgIC8vIHJlbW92ZWQuIEFkZGluZyBhIGJvcmRlciB0byB0aGUgY29tcG9uZW50IGtlZXBzIGl0J3Mgc2hhcGUgYXMgYSBjaXJjbGUuXG4gICAgYm9yZGVyOiAzcHggc29saWQgJGdvdnVrLXRleHQtY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGNvbG9yOiAkZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBleGNsYW1hdGlvbiBtYXJrIGZyb20gYmVpbmcgaW5jbHVkZWQgd2hlbiB0aGUgd2FybmluZyB0ZXh0XG4gICAgLy8gaXMgY29waWVkLCBmb3IgZXhhbXBsZS5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC8vIEltcHJvdmUgcmVuZGVyaW5nIGluIFdpbmRvd3MgSGlnaCBDb250cmFzdCBNb2RlIChFZGdlKSwgd2hlcmUgYVxuICAgIC8vIHJlYWRhYmlsaXR5IGJhY2twbGF0ZSBiZWhpbmQgdGhlIGV4Y2xhbWF0aW9uIG1hcmsgb2JzY3VyZXMgdGhlIGNpcmNsZVxuICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IG5vbmU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICBib3JkZXItY29sb3I6IHdpbmRvd1RleHQ7XG4gICAgICBjb2xvcjogd2luZG93VGV4dDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX3RleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICAvLyBXaGlsZSBgPHN0cm9uZz5gIGlzIHN0eWxlZCBgYm9sZGAgb3IgYGJvbGRlcmAgYnkgdXNlci1hZ2VudHNcbiAgICAvLyB0aGlzIGNhbiBiZSByZXNldCBieSB0aGUgYXBwJ3Mgc3R5bGVzaGVldFxuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL3V0aWxpdGllcy92aXN1YWxseS1oaWRkZW5cIikge1xuICAuZ292dWstdmlzdWFsbHktaGlkZGVuIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW47XG4gIH1cblxuICAuZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdmlzdWFsbHktaGlkZGVuLnNjc3MubWFwICovXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvZGlzcGxheVwiKSB7XG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLWRpc3BsYXktYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLWRpc3BsYXktbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgLmdvdnVrLVxcIS1kaXNwbGF5LW5vbmUtcHJpbnQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZGlzcGxheS5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBvdmVycmlkZXNcbi8vLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vLyBEaXJlY3Rpb25zIGZvciBzcGFjaW5nXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9zcGFjaW5nLWRpcmVjdGlvbnM6IChcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIsIFwibGVmdFwiKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZyBvdmVycmlkZSBjbGFzc2VzXG4vLy9cbi8vLyBHZW5lcmF0ZSBzcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXMgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eSAoZS5nLiBtYXJnaW4pXG4vLy8gZm9yIGVhY2ggcG9pbnQgaW4gdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vL1xuLy8vIEBleGFtcGxlIGNzc1xuLy8vICAuZ292dWstXFwhLW1hcmdpbi00IHtcbi8vLyAgICBtYXJnaW46IDE1cHggIWltcG9ydGFudDtcbi8vLyAgfVxuLy8vXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbi8vLyAgICAuZ292dWstXFwhLW1hcmdpbi00IHtcbi8vLyAgICAgIG1hcmdpbjogMjBweCAhaW1wb3J0YW50O1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstZ2VuZXJhdGUtcmVzcG9uc2l2ZS1zcGFjaW5nLW92ZXJyaWRlcygkcHJvcGVydHkpIHtcbiAgLy8gRm9yIGVhY2ggcG9pbnQgaW4gdGhlIHNwYWNpbmcgc2NhbGUgKGRlZmluZWQgaW4gc2V0dGluZ3MpLCBjcmVhdGUgYW5cbiAgLy8gb3ZlcnJpZGUgdGhhdCBhZmZlY3RzIGFsbCBkaXJlY3Rpb25zLi4uXG4gIEBlYWNoICRzY2FsZS1wb2ludCwgJHNjYWxlLW1hcCBpbiAkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlIHtcbiAgICAuZ292dWstXFwhLSN7JHByb3BlcnR5fS0jeyRzY2FsZS1wb2ludH0ge1xuICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgXCJhbGxcIiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0aGVuIGFuIG92ZXJyaWRlIGZvciBlYWNoIGluZGl2aWR1YWwgZGlyZWN0aW9uXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG4gICAgICAuZ292dWstXFwhLSN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259LSN7JHNjYWxlLXBvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHNjYWxlLXBvaW50LCAkcHJvcGVydHksICRkaXJlY3Rpb24sIHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgc3RhdGljIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3Nlc1xuLy8vXG4vLy8gR2VuZXJhdGUgc3BhY2luZyBvdmVycmlkZSBjbGFzc2VzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgKGUuZy4gbWFyZ2luKVxuLy8vIGZvciBlYWNoIHBvaW50IGluIHRoZSBub24tcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzXG4vLy8gICAuZ292dWstXFwhLXN0YXRpYy1tYXJnaW4tNCB7XG4vLy8gICAgICBtYXJnaW46IDIwcHggIWltcG9ydGFudDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIF9nb3Z1ay1nZW5lcmF0ZS1zdGF0aWMtc3BhY2luZy1vdmVycmlkZXMoJHByb3BlcnR5KSB7XG4gIEBlYWNoICRzcGFjaW5nLXBvaW50IGluIG1hcC1rZXlzKCRnb3Z1ay1zcGFjaW5nLXBvaW50cykge1xuICAgIC5nb3Z1ay1cXCEtc3RhdGljLSN7JHByb3BlcnR5fS0jeyRzcGFjaW5nLXBvaW50fSB7XG4gICAgICAjeyRwcm9wZXJ0eX06IGdvdnVrLXNwYWNpbmcoJHNwYWNpbmctcG9pbnQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG4gICAgICAuZ292dWstXFwhLXN0YXRpYy0jeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufS0jeyRzcGFjaW5nLXBvaW50fSB7XG4gICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiBnb3Z1ay1zcGFjaW5nKCRzcGFjaW5nLXBvaW50KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3NwYWNpbmdcIikge1xuICBAaW5jbHVkZSBfZ292dWstZ2VuZXJhdGUtcmVzcG9uc2l2ZS1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXJlc3BvbnNpdmUtc3BhY2luZy1vdmVycmlkZXMoXCJwYWRkaW5nXCIpO1xuXG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zdGF0aWMtc3BhY2luZy1vdmVycmlkZXMoXCJtYXJnaW5cIik7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zdGF0aWMtc3BhY2luZy1vdmVycmlkZXMoXCJwYWRkaW5nXCIpO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fc3BhY2luZy5zY3NzLm1hcCAqL1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3RleHQtYWxpZ25cIikge1xuICAuZ292dWstXFwhLXRleHQtYWxpZ24tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS10ZXh0LWFsaWduLWNlbnRyZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLXRleHQtYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3RleHQtYWxpZ24uc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHRcblxuICAvLyBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcbiAgLy8gdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ292dWstXFwhLWZvbnQtc2l6ZS04MFxuICAvL1xuICAvLyBnb3Z1ay0hLWZvbnQtc2l6ZS0xNCBpcyBkZXByZWNhdGVkXG4gIEBlYWNoICRzaXplLCAkZm9udC1tYXAgaW4gJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUge1xuICAgIC5nb3Z1ay1cXCEtZm9udC1zaXplLSN7JHNpemV9IHtcbiAgICAgICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gICAgICAvLyBBZGQgdW5kZXJzY29yZSB0byBkZXByZWNhdGVkIHR5cG9ncmFwaHkgc2NhbGUga2V5c1xuICAgICAgQGlmIG1hcC1oYXMta2V5KCRmb250LW1hcCwgXCJkZXByZWNhdGlvblwiKSB7XG4gICAgICAgICRzaXplOiBfI3skc2l6ZX07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2VpZ2h0c1xuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC8vIFR5cG9ncmFwaHkgaGVscGVyc1xuXG4gIC5nb3Z1ay1cXCEtZm9udC10YWJ1bGFyLW51bWJlcnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLVxcIS10ZXh0LWJyZWFrLXdvcmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtYnJlYWstd29yZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdHlwb2dyYXBoeS5zY3NzLm1hcCAqL1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3dpZHRoXCIpIHtcbiAgLmdvdnVrLVxcIS13aWR0aC1mdWxsIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10aHJlZS1xdWFydGVycyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLXR3by10aGlyZHMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNjYuNjYlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtaGFsZiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS10aGlyZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAzMy4zMyUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS1xdWFydGVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fd2lkdGguc2Nzcy5tYXAgKi9cbiIsIi8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvYmxvYi92MjIuMC4wL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2NvbXBvbmVudHMvX3N0ZXAtYnktc3RlcC1uYXYtaGVhZGVyLnNjc3Ncbi8vIE5vdGUgLSB0aGlzIGNvZGUgZm9yIHByb3RvdHlwZSBwdXJwb3NlcyBvbmx5LiBJdCBpcyBub3QgcHJvZHVjdGlvbiBjb2RlLlxuXG4uYXBwLXN0ZXAtbmF2LWhlYWRlciB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTRcIik7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG59XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFNlbGVjdG9yRm9ybWF0XG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyX19wYXJ0LW9mIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNiwgJHdlaWdodDogYm9sZCk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAuMmVtO1xufVxuXG4uYXBwLXN0ZXAtbmF2LWhlYWRlcl9fdGl0bGUge1xuICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDI0LCAkd2VpZ2h0OiBib2xkKTtcbn1cblxuLy8gc2Nzcy1saW50OmVuYWJsZSBTZWxlY3RvckZvcm1hdFxuIiwiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9ibG9iL3YyMi4wLjAvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvY29tcG9uZW50cy9fc3RlcC1ieS1zdGVwLW5hdi5zY3NzXG4vLyBOb3RlIC0gdGhpcyBjb2RlIGZvciBwcm90b3R5cGUgcHVycG9zZXMgb25seS4gSXQgaXMgbm90IHByb2R1Y3Rpb24gY29kZS5cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbiRzdHJva2Utd2lkdGg6IDJweDtcbiRzdHJva2Utd2lkdGgtbGFyZ2U6IDNweDtcbiRudW1iZXItY2lyY2xlLXNpemU6IDI2cHg7XG4kbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlOiAzNXB4O1xuJHRvcC1ib3JkZXI6IHNvbGlkIDJweCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktM1wiKTtcblxuQG1peGluIHN0ZXAtbmF2LXZlcnRpY2FsLWxpbmUgKCRsaW5lLXN0eWxlOiBzb2xpZCkge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1sZWZ0OiAkbGluZS1zdHlsZSAkc3Ryb2tlLXdpZHRoIGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbn1cblxuQG1peGluIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb24ge1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZSwgMikgLSBtYXRoLmRpdigkc3Ryb2tlLXdpZHRoLCAyKTtcbn1cblxuQG1peGluIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb24tbGFyZ2Uge1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZSwgMikgLSBtYXRoLmRpdigkc3Ryb2tlLXdpZHRoLWxhcmdlLCAyKTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Ryb2tlLXdpZHRoLWxhcmdlO1xufVxuXG4vLyBjdXN0b20gbWl4aW4gYXMgZ292dWstZm9udCBkb2VzIHVuZGVzaXJhYmxlIHRoaW5ncyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHNcbi8vIHdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgYm90aCBsYXJnZSBhbmQgc21hbGwgc3RlcCBuYXZzIGhhdmUgdGhlIHNhbWUgc2l6ZSBmb250IG9uIG1vYmlsZVxuLy8gdGhpcyB3aWxsIHN0b3AgdGV4dCByZXNpemluZyBpZiBjb21wYXRpYmlsaXR5IG1vZGUgaXMgdHVybmVkIG9mZlxuQG1peGluIHN0ZXAtbmF2LWZvbnQoJHNpemUsICR0YWJsZXQtc2l6ZTogJHNpemUsICR3ZWlnaHQ6IG5vcm1hbCwgJGxpbmUtaGVpZ2h0OiAxLjMsICR0YWJsZXQtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCkge1xuICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigpO1xuICBmb250LXNpemU6ICRzaXplICsgcHg7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBmb250LXNpemU6ICR0YWJsZXQtc2l6ZSArIHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkdGFibGV0LWxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuXG4gICYuYXBwLXN0ZXAtbmF2LS1sYXJnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg5KTtcbiAgICB9XG4gIH1cblxuICAuanMtZW5hYmxlZCAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jb250cm9scyB7XG4gIHBhZGRpbmc6IDNweCAzcHggMCAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fYnV0dG9uIHtcbiAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gIH1cbn1cblxuLy8gcmVtb3ZlcyBleHRyYSBkb3R0ZWQgb3V0bGluZSBmcm9tIGJ1dHRvbnMgaW4gRmlyZWZveFxuLy8gb24gZm9jdXMgKHN0YW5kYXJkIHllbGxvdyBvdXRsaW5lIHVuYWZmZWN0ZWQpXG4uYXBwLXN0ZXAtbmF2X19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2J1dHRvbi0tdGl0bGUge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR0YWJsZXQtc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19idXR0b24tLWNvbnRyb2xzIHtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNCwgJGxpbmUtaGVpZ2h0OiAxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyAvLyB0aGlzIGFuZCByZWxhdGl2ZSBwb3NpdGlvbiBzdG9wcyBmb2N1cyBvdXRsaW5lIHVuZGVybGFwIHdpdGggYm9yZGVyIG9mIGFjY29yZGlvblxuICBwYWRkaW5nOiAuNWVtIDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTQsICR0YWJsZXQtc2l6ZTogMTYsICRsaW5lLWhlaWdodDogMSk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcHMge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg2KSArIGdvdnVrLXNwYWNpbmcoMyk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gbGluZSBkb3duIHRoZSBzaWRlIG9mIGEgc3RlcFxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi12ZXJ0aWNhbC1saW5lO1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb247XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDkpO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3RlcC1uYXYtbGluZS1wb3NpdGlvbi1sYXJnZTtcbiAgICAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwOmxhc3QtY2hpbGQge1xuICAvLyBsaXR0bGUgZGFzaCBhdCB0aGUgYm90dG9tIG9mIHRoZSBsaW5lXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA2O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLCA0KTtcbiAgICB3aWR0aDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZSwgMik7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZygzKX0pOyAvLyBmYWxsYmFjayBmb3IgaXBob25lIDRcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZygzKX0pO1xuICAgIC8vIHNhc3MtbGludDplbmFibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19oZWxwOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlLCA0KTtcbiAgICAgICAgd2lkdGg6IG1hdGguZGl2KCRudW1iZXItY2lyY2xlLXNpemUtbGFyZ2UsIDIpO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzdHJva2Utd2lkdGgtbGFyZ2U7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZyg2KX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmUge1xuICAmOmxhc3QtY2hpbGQ6YmVmb3JlLFxuICAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlcixcbiAgJjphZnRlcixcbiAgLmFwcC1zdGVwLW5hdl9faGVscDphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6ICRudW1iZXItY2lyY2xlLXNpemU7XG4gIGhlaWdodDogJG51bWJlci1jaXJjbGUtc2l6ZTtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICB3aWR0aDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTtcbiAgICAgIGhlaWdodDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDIzcHgpO1xuICBib3JkZXI6IHNvbGlkICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyM3B4LCAkdGFibGV0LWxpbmUtaGVpZ2h0OiAzMHB4KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGJvcmRlci13aWR0aDogJHN0cm9rZS13aWR0aC1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1sb2dpYyB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMjhweCk7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyOHB4LCAkdGFibGV0LWxpbmUtaGVpZ2h0OiAzNHB4KTtcbiAgfVxufVxuXG4vLyBtYWtlcyBzdXJlIGxvZ2ljIHRleHQgZXhwYW5kcyB0byB0aGUgbGVmdCBpZiB0ZXh0IHNpemUgaXMgem9vbWVkLCBwcmV2ZW50aW5nIG92ZXJsYXBcbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1pbm5lciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtYmFja2dyb3VuZCB7XG4gICRzaGFkb3ctb2Zmc2V0OiAuMWVtO1xuICAkc2hhZG93LWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgLy8gdG8gbWFrZSBudW1iZXJzIHJlYWRhYmxlIGZvciB1c2VycyB6b29taW5nIHRleHQgb25seSBpbiBicm93c2VycyBzdWNoIGFzIEZpcmVmb3hcbiAgdGV4dC1zaGFkb3c6IDAgLSN7JHNoYWRvdy1vZmZzZXR9IDAgJHNoYWRvdy1jb2xvdXIsICRzaGFkb3ctb2Zmc2V0IDAgMCAkc2hhZG93LWNvbG91ciwgMCAkc2hhZG93LW9mZnNldCAwICRzaGFkb3ctY29sb3VyLCAtI3skc2hhZG93LW9mZnNldH0gMCAwICRzaGFkb3ctY29sb3VyO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtc3RlcC1sYWJlbCxcbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1zdGVwLWNvbG9uIHtcbiAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19oZWFkZXIge1xuICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpIDA7XG4gIGJvcmRlci10b3A6ICR0b3AtYm9yZGVyO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWFjdGl2ZSAmIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19idXR0b24ge1xuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuXG4gICAgICAuYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuYXBwLXN0ZXAtbmF2X19idXR0b246bm90KDpmb2N1cyksXG4gICAgLmFwcC1zdGVwLW5hdl9fY2lyY2xlIHtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg2KSAwO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X190aXRsZSB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIG1hcmdpbjogMDtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkdGFibGV0LXNpemU6IDI0LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkbGluZS1oZWlnaHQ6IDEuMik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkdGFibGV0LXNpemU6IDE2LCAkbGluZS1oZWlnaHQ6IDEuMik7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fcGFuZWwge1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSk7XG4gIH1cblxuICAuanMtZW5hYmxlZCAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBjb250ZW50cyBvZiB0aGUgc3RlcHMsIHN1Y2ggYXMgcGFyYWdyYXBocyBhbmQgbGlua3NcblxuLmFwcC1zdGVwLW5hdl9fcGFyYWdyYXBoIHtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuXG4gICsgLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcblxuICAgIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtZ292dWstc3BhY2luZygzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LS1jaG9pY2Uge1xuICAkbGlua3MtbWFyZ2luOiAyMHB4O1xuXG4gIG1hcmdpbi1sZWZ0OiAkbGlua3MtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBkaXNjO1xuXG4gIC5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlOmJlZm9yZSB7XG4gICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDYpICsgZ292dWstc3BhY2luZygzKSkgLSAkbGlua3MtbWFyZ2luO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDkpKSAtICRsaW5rcy1tYXJnaW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpbmsge1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saW5rLWFjdGl2ZS1jb250ZXh0IHtcbiAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHRvcDogLjZlbTsgLy8gcG9zaXRpb24gdGhlIGRvdCB0byBhbGlnbiB3aXRoIHRoZSBmaXJzdCByb3cgb2YgdGV4dCBpbiB0aGUgbGlua1xuICAgIGxlZnQ6IC0oZ292dWstc3BhY2luZyg2KSArIGdvdnVrLXNwYWNpbmcoMykpO1xuICAgIG1hcmdpbi10b3A6IC0gbWF0aC5kaXYoJHN0cm9rZS13aWR0aCwgMik7XG4gICAgbWFyZ2luLWxlZnQ6IG1hdGguZGl2KCRudW1iZXItY2lyY2xlLXNpemUsIDIpO1xuICAgIHdpZHRoOiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLCAyKTtcbiAgICBoZWlnaHQ6ICRzdHJva2Utd2lkdGg7XG4gICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0oZ292dWstc3BhY2luZyg5KSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlLCAyKTtcbiAgICAgICAgaGVpZ2h0OiAkc3Ryb2tlLXdpZHRoLWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXZfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jb250ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogZ292dWstY29sb3VyKFwiZGFyay1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0xXCIpO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcXDIwMTNcXDAwYTBcIjsgLy8gZGFzaCBmb2xsb3dlZCBieSAmbmJzcDtcbiAgfVxufVxuIiwiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9ibG9iL3YyMi4wLjAvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvY29tcG9uZW50cy9fc3RlcC1ieS1zdGVwLXJlbGF0ZWQuc2Nzc1xuLy8gTm90ZSAtIHRoaXMgY29kZSBmb3IgcHJvdG90eXBlIHB1cnBvc2VzIG9ubHkuIEl0IGlzIG5vdCBwcm9kdWN0aW9uIGNvZGUuXG5AdXNlICdzYXNzOm1hdGgnO1xuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWQge1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQpO1xufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtzIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNiwgJHdlaWdodDogYm9sZCk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkLS1zaW5ndWxhciB7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgKyAzO1xuXG4gIC5hcHAtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAxLjQpO1xuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fcHJldGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IG1hdGguZGl2KGdvdnVrLXNwYWNpbmcoNiksIDQpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fcHJldGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rLWl0ZW0ge1xuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fbGluayB7XG4gIEBleHRlbmQgJWdvdnVrLWxpbms7XG59XG4iLCIvLyBUYXNrIGxpc3QgcGF0dGVyblxuXG4uYXBwLXRhc2stbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWluLXdpZHRoOiA1NTBweDtcbiAgfVxufVxuXG4uYXBwLXRhc2stbGlzdF9fc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOjI0LCAkd2VpZ2h0OiBib2xkKTtcbn1cblxuLmFwcC10YXNrLWxpc3RfX3NlY3Rpb24tbnVtYmVyIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWluLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmFwcC10YXNrLWxpc3RfX2l0ZW1zIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig5LCBcImJvdHRvbVwiKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDYpO1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xufVxuXG4uYXBwLXRhc2stbGlzdF9fdGFzay1uYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiA0NTBweCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi8vIFRoZSBgYXBwLXRhc2stbGlzdF9fdGFzay1jb21wbGV0ZWRgIGNsYXNzIHdhcyBwcmV2aW91c2x5IHVzZWQgb24gdGhlIHRhc2tcbi8vIGxpc3QgZm9yIHRoZSBjb21wbGV0ZWQgdGFnIChjaGFuZ2VkIGluIDg2YzkwZWMpIOKAkyBpdCdzIHN0aWxsIGluY2x1ZGVkIGhlcmUgdG9cbi8vIGF2b2lkIGJyZWFraW5nIHRhc2sgbGlzdHMgaW4gZXhpc3RpbmcgcHJvdG90eXBlcy5cbi5hcHAtdGFzay1saXN0X190YWcsXG4uYXBwLXRhc2stbGlzdF9fdGFzay1jb21wbGV0ZWQge1xuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiA0NTBweCkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIFRoaXMgaXMgYSBHT1YuVUsgUHVibGlzaGluZyBzcGVjaWZpYyBjb21wb25lbnQgdGhhdFxuLy8gY2FuIGJlIHNlZW4gYXQgaHR0cDovL2dvdnVrLXN0YXRpYy5oZXJva3VhcHAuY29tL2NvbXBvbmVudC1ndWlkZS9yZWxhdGVkX2l0ZW1zXG5cbi5hcHAtcmVsYXRlZC1pdGVtcyB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbn1cblxuLmFwcC1yZWxhdGVkLWl0ZW1zIC5nb3Z1ay1saXN0ID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xufVxuIiwiLyohXG5DaG9zZW4sIGEgU2VsZWN0IEJveCBFbmhhbmNlciBmb3IgalF1ZXJ5IGFuZCBQcm90b3R5cGVcbmJ5IFBhdHJpY2sgRmlsbGVyIGZvciBIYXJ2ZXN0LCBodHRwOi8vZ2V0aGFydmVzdC5jb21cblxuVmVyc2lvbiAxLjYuMlxuRnVsbCBzb3VyY2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL2hhcnZlc3RocS9jaG9zZW5cbkNvcHlyaWdodCAoYykgMjAxMS0yMDE2IEhhcnZlc3QgaHR0cDovL2dldGhhcnZlc3QuY29tXG5cbk1JVCBMaWNlbnNlLCBodHRwczovL2dpdGh1Yi5jb20vaGFydmVzdGhxL2Nob3Nlbi9ibG9iL21hc3Rlci9MSUNFTlNFLm1kXG4tLS0tXG5cblRoaXMgcGFydGljdWxhciBmaWxlIGlzIGEgY3VzdG9taXNhdGlvbiBvZiB0aGUgb3JpZ2luYWwgZm9yIHRoZSBEQ0xHIERlbHRhXG5Qcm9qZWN0LiBJdCBpcyBoZXJlIG1vZGlmaWVkIHRvIHJlbmRlciBvdXQgR09WVUsgc3R5bGVcblxuKi9cblxuLyogQGdyb3VwIEJhc2UgKi9cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi1jb250YWluZXItc2luZ2xlLW5vc2VhcmNoIC5jaG9zZW4tc2VhcmNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJvdHRvbTogNXB4O1xuXG4gICAgKiB7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLmNob3Nlbi1kcm9wIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICAgIHotaW5kZXg6IDEwMTA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB9XG5cbiAgICAmLmNob3Nlbi13aXRoLWRyb3Age1xuICAgICAgICAuY2hvc2VuLWRyb3Age1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogQGVuZCAqL1xuXG4vKiBAZ3JvdXAgUmVzdWx0cyAqL1xuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWFyZ2luOiAwIDRweCA0cHggMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA1cHggNnB4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuICAgICAgICAmLmFjdGl2ZS1yZXN1bHQge1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZC1yZXN1bHQge1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzODc1ZDc7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubm8tcmVzdWx0cyB7XG4gICAgICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5jcmVhdGUtb3B0aW9uIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBvcmFuZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBAZW5kICovXG5cbi8qIEBncm91cCBNdWx0aSBDaG9zZW4gKi9cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIHtcbiAgICAuY2hvc2VuLWNob2ljZXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDUwJSAwJSwgNTAlIDEwMCUsIGNvbG9yLXN0b3AoMSUsICNlZWVlZWUpLCBjb2xvci1zdG9wKDE1JSwgI2ZmZmZmZikpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjZWVlZWVlIDElLCAjZmZmZmZmIDE1JSk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkuc2VhcmNoLWZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDRweCAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggNXB4IDVweCAwcHg7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNlYXJjaC1jaG9pY2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggNXB4IDVweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDI1cHggNXB4IDVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzMDc4O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL3B1YmxpYy9pbWFnZXMvY2xvc2UtaW52ZXJzZS5wbmcnKSBuby1yZXBlYXQgNHB4IDRweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFweDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGYzMDM0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNlYXJjaC1jaG9pY2UtZGlzYWJsZWQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgNTAlIDAlLCA1MCUgMTAwJSwgY29sb3Itc3RvcCgyMCUsICNmNGY0ZjQpLCBjb2xvci1zdG9wKDUwJSwgI2YwZjBmMCksIGNvbG9yLXN0b3AoNTIlLCAjZThlOGU4KSwgY29sb3Itc3RvcCgxMDAlLCAjZWVlZWVlKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlZWVlIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoI2Y0ZjRmNCAyMCUsICNmMGYwZjAgNTAlLCAjZThlOGU4IDUyJSwgI2VlZWVlZSAxMDAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlZWVlIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmNGY0ZjQgMjAlLCAjZjBmMGYwIDUwJSwgI2U4ZThlOCA1MiUsICNlZWVlZWUgMTAwJSk7XG4gICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNlYXJjaC1jaG9pY2UtZm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q0ZDRkNDtcblxuICAgICAgICAgICAgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0xMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2hvc2VuLWRyb3AgLnJlc3VsdC1zZWxlY3RlZCB7XG4gICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbn1cblxuXG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG5cbiAgICAuY2hvc2VuLXNpbmdsZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jaG9zZW4tc2VhcmNoIHtcbiAgICAgICAgPiBpbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgICBtYXJnaW46IGNhbGMoMzBweC80KSAyLjUlO1xuICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cbiAgICAgICAgPiBpbnB1dDpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAzcHggc29saWQgI2ZkMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggLyA0O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLXNpbmdsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAkeWVsbG93O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aS5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLWNob2ljZXN7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAkeWVsbG93O1xufVxuXG4uYWN0aW9uLWxpc3Qge1xuXG4gICAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHggLyA0O1xuICAgIH1cblxufVxuXG4uZmFjZXRzIC5mb3JtLXBhbmVsIHtcblxuICAgIC5jaG9zZW4tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDk1JSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmNob3Nlbi1jaG9pY2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1maWVsZCBpbnB1dCB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS0xO1xuICAgIH1cblxufVxuXG4uZm9ybSAuZ292dWstZm9ybS1ncm91cCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgIHdpZHRoOiA2NyUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0gLmdvdnVrLWZvcm0tZ3JvdXAgLmNob3Nlbi1jb250YWluZXItbXVsdGkge1xuICAgIHdpZHRoOiA2NS41JSAhaW1wb3J0YW50O1xufVxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZ292dWstZm9ybS1ncm91cCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgIHdpZHRoOiA2NyUgIWltcG9ydGFudDtcbn1cbi5yaWdodC1jb250ZW50LXBhbmUgLmdvdnVrLWZvcm0tZ3JvdXAgLmNob3Nlbi1jb250YWluZXItbXVsdGkge1xuICAgIHdpZHRoOiA2NSUgIWltcG9ydGFudDtcbn1cblxuLmxlZnQtcm9vdC1wYW5lIC5sZWZ0LXJvb3QtcGFuZS1maWx0ZXIgLmNob3Nlbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmZhY2V0cyAuZm9ybS1wYW5lbCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLmNob3Nlbi1zaW5nbGUgc3BhbiB7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxufVxuIiwiLy8gQnJhbmQgY29sb3Vyc1xuJGdvdnVrLWJsdWU6ICMwMDVlYTU7XG4kbWFpbnN0cmVhbS1icmFuZDogJGdvdnVrLWJsdWU7XG5cbi8vIFN0YW5kYXJkIHBhbGV0dGUsIGNvbG91cnNcbiRwdXJwbGU6ICMyZTM1OGI7XG4kcHVycGxlLTUwOiAjOTc5OWM0O1xuJHB1cnBsZS0yNTogI2Q1ZDZlNztcbiRtYXV2ZTogIzZmNzJhZjtcbiRtYXV2ZS01MDogI2I3YjlkNztcbiRtYXV2ZS0yNTogI2UyZTJlZjtcbiRmdXNjaGlhOiAjOTEyYjg4O1xuJGZ1c2NoaWEtNTA6ICNjOTk0YzM7XG4kZnVzY2hpYS0yNTogI2U5ZDRlNjtcbiRwaW5rOiAjZDUzODgwO1xuJHBpbmstNTA6ICNlYjliYmU7XG4kcGluay0yNTogI2Y2ZDdlNTtcbiRiYWJ5LXBpbms6ICNmNDk5YmU7XG4kYmFieS1waW5rLTUwOiAjZmFjY2RmO1xuJGJhYnktcGluay0yNTogI2ZkZWJmMjtcbiRyZWQ6ICNiMTBlMWU7XG4kcmVkLTUwOiAjZDk4ODhjO1xuJHJlZC0yNTogI2VmY2ZkMTtcbiRtZWxsb3ctcmVkOiAjZGYzMDM0O1xuJG1lbGxvdy1yZWQtNTA6ICNlZjk5OTg7XG4kbWVsbG93LXJlZC0yNTogI2Y5ZDZkNjtcbiRvcmFuZ2U6ICNmNDc3Mzg7XG4kb3JhbmdlLTUwOiAjZmFiYjk2O1xuJG9yYW5nZS0yNTogI2ZkZTRkNDtcbiRicm93bjogI2I1ODg0MDtcbiRicm93bi01MDogI2RhYzM5YztcbiRicm93bi0yNTogI2YwZTdkNztcbi8vJHllbGxvdzogI2ZmYmY0NztcbiR5ZWxsb3c6ICNmZDA7XG4keWVsbG93LTUwOiAjZmZkZjk0O1xuJHllbGxvdy0yNTogI2ZmZjJkMztcbiRncmFzcy1ncmVlbjogIzg1OTk0YjtcbiRncmFzcy1ncmVlbi01MDogI2MyY2NhMztcbiRncmFzcy1ncmVlbi0yNTogI2U3ZWJkYTtcbiRncmVlbjogIzAwNjQzNTtcbiRncmVlbi01MDogIzdmYjI5OTtcbiRncmVlbi0yNTogI2NjZTBkNjtcbiR0dXJxdW9pc2U6ICMyOGExOTc7XG4kdHVycXVvaXNlLTUwOiAjOTVkMGNiO1xuJHR1cnF1b2lzZS0yNTogI2Q1ZWNlYTtcbiRsaWdodC1ibHVlOiAjMmI4Y2M0O1xuJGxpZ2h0LWJsdWUtNTA6ICM5NmM2ZTI7XG4kbGlnaHQtYmx1ZS0yNTogI2Q1ZThmMztcblxuLy8gU3RhbmRhcmQgcGFsZXR0ZSwgZ3JleXNcbiRibGFjazogIzBiMGMwYztcbiRncmV5LTE6ICM2Zjc3N2I7XG4kZ3JleS0yOiAjYmZjMWMzO1xuJGdyZXktMzogI2RlZTBlMjtcbiRncmV5LTQ6ICNmOGY4Zjg7XG4kd2hpdGU6ICNmZmY7XG5cbi8vIFNlbWFudGljIGNvbG91ciBuYW1lc1xuJGxpbmstY29sb3VyOiAkZ292dWstYmx1ZTtcbiRsaW5rLWFjdGl2ZS1jb2xvdXI6ICRsaWdodC1ibHVlO1xuJGxpbmstaG92ZXItY29sb3VyOiAkbGlnaHQtYmx1ZTtcbiRsaW5rLXZpc2l0ZWQtY29sb3VyOiAjNGMyYzkyO1xuJGJ1dHRvbi1jb2xvdXI6ICMwMDgyM2I7XG4kZm9jdXMtY29sb3VyOiAkeWVsbG93O1xuJHRleHQtY29sb3VyOiAkYmxhY2s7ICAgICAgICAgICAgIC8vIFN0YW5kYXJkIHRleHQgY29sb3VyXG4kc2Vjb25kYXJ5LXRleHQtY29sb3VyOiAkZ3JleS0xOyAgLy8gU2VjdGlvbiBoZWFkZXJzLCBoZWxwIHRleHQgZXRjLlxuJGJvcmRlci1jb2xvdXI6ICRncmV5LTI7ICAgICAgICAgIC8vIEJvcmRlcnMsIHNlcGVyYXRvcnMsIHJ1bGVzLCBrZXlsaW5lcyBldGMuXG4kcGFuZWwtY29sb3VyOiAkZ3JleS0zOyAgICAgICAgICAgLy8gUmVsYXRlZCBsaW5rcyBwYW5lbCwgcGFnZSBmb290ZXIgZXRjLlxuJGNhbnZhcy1jb2xvdXI6ICRncmV5LTQ7ICAgICAgICAgIC8vIFBhZ2UgYmFja2dyb3VuZFxuJGhpZ2hsaWdodC1jb2xvdXI6ICRncmV5LTQ7ICAgICAgIC8vIFRhYmxlIHN0cmlwZXMgZXRjLlxuJHBhZ2UtY29sb3VyOiAkd2hpdGU7ICAgICAgICAgICAgIC8vIFRoZSBwYWdlXG4kZGlzY292ZXJ5LWNvbG91cjogJGZ1c2NoaWE7ICAgICAgLy8gRGlzY292ZXJ5IGJhZGdlcyBhbmQgYmFubmVyc1xuJGFscGhhLWNvbG91cjogJHBpbms7ICAgICAgICAgICAgIC8vIEFscGhhIGJhZGdlcyBhbmQgYmFubmVyc1xuJGJldGEtY29sb3VyOiAkb3JhbmdlOyAgICAgICAgICAgIC8vIEJldGEgYmFkZ2VzIGFuZCBiYW5uZXJzXG4kbGl2ZS1jb2xvdXI6ICRncmFzcy1ncmVlbjsgICAgICAgLy8gTGl2ZSBiYWRnZXMgYW5kIGJhbm5lcnNcbiRiYW5uZXItdGV4dC1jb2xvdXI6ICMwMDA7ICAgICAgICAvLyBUZXh0IGNvbG91ciBmb3IgQWxwaGEgJiBCZXRhIGJhbm5lcnNcbiRlcnJvci1jb2xvdXI6ICRyZWQ7ICAgICAgICAgICAgICAvLyBFcnJvciB0ZXh0IGFuZCBib3JkZXIgY29sb3VyXG4kZXJyb3ItYmFja2dyb3VuZDogI2ZlZjdmNzsgICAgICAgLy8gRXJyb3IgYmFja2dyb3VuZCBjb2xvdXJcbiIsImxhYmVsLmJsb2NrLWxhYmVsLnNlbGVjdGlvbi1idXR0b24tY2hlY2tib3gge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIixhcmlhbCxzYW5zLXNlcmlmO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGNsZWFyOiBsZWZ0O1xufVxuXG4uc2VsZWN0aW9uLWNoZWNrYm94X19pbnB1dCB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuc3Bhbi5nb3Z1ay1sYWJlbC5zZWxlY3Rpb24tY2hlY2tib3hfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbnNwYW4uc2VsZWN0aW9uLWNoZWNrYm94X19sYWJlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlbGVjdGlvbi1jaGVja2JveF9fbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgd2lkdGg6IDIzcHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYm9yZGVyOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCA1cHggNXB4O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5zZWxlY3Rpb24tY2hlY2tib3hfX2lucHV0OmNoZWNrZWQgfiAuc2VsZWN0aW9uLWNoZWNrYm94X19sYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufSIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbiRndXR0ZXI6IDMwcHg7XG4kZ3V0dGVyLW9uZS1xdWFydGVyOiBtYXRoLmRpdigkZ3V0dGVyLCA0KTtcbiRndXR0ZXItb25lLXRoaXJkOiBtYXRoLmRpdigkZ3V0dGVyLCAzKTtcbiRndXR0ZXItaGFsZjogbWF0aC5kaXYoJGd1dHRlciwgMik7XG4kcHJvcG9zaXRpb24tYWN0aXZlLW5hdjogIzFkOGZlYjtcblxuLmhpZGRlbi1sYWJlbC1hY2Nlc3NpYmxlIHtcbiAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVpLWljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTlweDtcbiAgICB3aWR0aDogMTlweDtcbn1cblxuLnVpLWRhdGVwaWNrZXIge1xuXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMnB4ICRib3JkZXItY29sb3VyIHNvbGlkO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIHRkLCB0aCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLW9uZS1xdWFydGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogJGd1dHRlci1vbmUtcXVhcnRlciAkZ3V0dGVyLWhhbGY7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLXByZXYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmhpZGRlbi1sYWJlbC1hY2Nlc3NpYmxlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvcHVibGljL2ltYWdlcy9pY29uLWFycm93LWxlZnQucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5oaWRkZW4tbGFiZWwtYWNjZXNzaWJsZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL3B1YmxpYy9pbWFnZXMvaWNvbi1hcnJvdy1yaWdodC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLXVuc2VsZWN0YWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LTM7XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItZGF5cy1jZWxsLW92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogIzAwNWVhNTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvciA6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLnVpLWRhdGVwaWNrZXItdHJpZ2dlciB7XG4gICAgLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Bs1wiOyB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlci1vbmUtcXVhcnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cblxuYnV0dG9uLnVpLWRhdGVwaWNrZXItdHJpZ2dlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAwO1xufXNjc3NcblxuLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDcuNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb250ZW50OiBcIu+Bs1wiO1xufVxuXG4vLyBIaWRlLCBidXQgbm90IGZvciBzY3JlZW5yZWFkZXJzXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG4iLCIubWFpbi1wYW5le1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5sZWZ0LXJvb3QtcGFuZVxue1xuICAgIHdpZHRoOiAyMiU7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNiZmMxYzM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZmxleDogMC45O1xufVxuLnJpZ2h0LWNvbnRlbnQtcGFuZVxue1xuICAgIHdpZHRoOiA3MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5idXR0b24tZ3JvdXAgLmJ1dHRvbi1zZWNvbmRhcnlcbntcbiAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgIHdpZHRoOiBhdXRvO1xufVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5mb3JtLWNvbnRyb2x7XG4gICAgd2lkdGg6IDc1JTtcbn1cblxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZm9ybS1wYW5lbHtcbiAgICB3aWR0aDogNjYuNSU7XG59XG5cbi5yaWdodC1jb250ZW50LXBhbmUgLmZvcm0tY29udHJvbC1pbmxpbmV7XG4gICAgd2lkdGg6IDMwJTtcbn1cblxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZm9ybS1sYWJlbC1pbmxpbmV7XG4gICAgd2lkdGg6IDQ1JTtcbn1cblxuXG5cbi5yaWdodC1jb250ZW50LXBhbmUgZWxlbWVudC5zdHlsZSxcbi5yaWdodC1jb250ZW50LXBhbmUgLmRhdGEtZ3JpZFxue1xubWluLWhlaWdodDogYXV0bztcbn1cblxuIC5sZWZ0LXJvb3QtcGFuZSB1bCBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiAxMnB4IDI1cHggOHB4IDBcbn1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgLmxlZnQtcm9vdC1wYW5lIHVsIGEge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDMwcHggOHB4IDE1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOVxuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgLmxlZnQtcm9vdC1wYW5lIHVsIGEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1XG4gICAgfVxufVxuXG4gLmxlZnQtcm9vdC1wYW5lIHVsIGE6aG92ZXIsXG4gLmxlZnQtcm9vdC1wYW5lIHVsIGE6Zm9jdXMsXG4gIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGVlMGUyO1xuICAgIGNvbG9yOiAjMDA1ZWE1XG59XG5cblxuIC5sZWZ0LXJvb3QtcGFuZSB1bCBhOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICByaWdodDogMTBweDtcbiAgICBjb250ZW50OiBcIlxcMjAzQVwiXG59XG5cblxuXG4gLmxlZnQtcm9vdC1wYW5lIHVsIC5hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZDogIzAwNWVhNTtcbiAgICBjb2xvcjogI2ZmZlxufVxuXG4gLmxlZnQtcm9vdC1wYW5lIC5sZWZ0LXJvb3QtcGFuZS1maWx0ZXIge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gfVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5ncmlkLTEtMiAuY2hvc2VuLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xufVxuXG4ubGVmdC1yb290LXBhbmUgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbn1cblxuI2dyYW50U2VjdGlvbiB0Zm9vdCB0ZCB7XG4gICAgYnV0dG9uLmpzLXRhYmxlLWJ0bntcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICB9XG59XG5cbiNsZWRnZXJUYWJsZSB0ZCB7XG4gICAgYnV0dG9uLmVkaXQtYnRuLCBidXR0b24ucmVtb3ZlLWJ0biB7XG4gICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDE2LCAxNiwgMTYsIDAuMyk7XG4gICAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN0aHJlc2hvbGRzIHRkIHtcbiAgICBidXR0b24uanMtdGFibGUtYnRuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIGJ1dHRvbi50aHJlc2hvbGQtcmVtb3ZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG4uY2hldnJvbi1jYXJkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKDE3NywgMTgwLCAxODIpO1xuICAgIG1hcmdpbjogMHB4IDE1cHg7XG4gICAgcGFkZGluZzogNXB4IDBweCAyMHB4O1xufVxuXG4uY2hldnJvbi1jYXJkX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweCAzMHB4IDEwcHggMHB4O1xufVxuXG4uY2hldnJvbi1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAwcHggLTMwcHggMHB4IDBweDtcbn1cblxuLmhvbWVwYWdlLXNlcnZpY2VzLWFuZC1pbmZvX19saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDBweCAtMTVweDtcbiAgICBwYWRkaW5nOiAwcHg7XG59XG5cbi5ob21lcGFnZS1zZWN0aW9uX19oZWFkaW5nLS1ib3JkZXItbm9uZSB7XG4gICAgYm9yZGVyLXdpZHRoOiBpbml0aWFsO1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IGluaXRpYWw7XG4gICAgYm9yZGVyLWltYWdlOiBpbml0aWFsO1xuICAgIHBhZGRpbmc6IDBweDtcbn1cbi5ob21lcGFnZS1zZWN0aW9uX19oZWFkaW5nIHtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBiMGMwYztcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMCAwO1xufVxuLmNoZXZyb24tY2FyZF9fbGluazpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICMxZDcwYjg7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICMxZDcwYjg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDE1cHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKFxuNDVkZWdcbikgc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDEpO1xuICAgIHdpZHRoOiA3cHg7XG59XG5cbi5jaGV2cm9uLWNhcmRfX2xpbms6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbn1cbi5ob21lcGFnZS1zZXJ2aWNlcy1hbmQtaW5mb19fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmhvbWVwYWdlLXNlcnZpY2VzLWFuZC1pbmZvX19saXN0IC5jaGV2cm9uLWNhcmQge1xuXHR3aWR0aDogY2FsYygoMTAwJSAvIDIpIC0gMzBweCk7XG5cdGZsZXgtYmFzaXM6IGNhbGMoKDEwMCUgLyAyKSAtIDMwcHgpO1xufSIsIi5qc2dyaWQtcGFnZXItY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnBhZ2VyLWl0ZW1zIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItaXRlbXMge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAucGFnZXItaXRlbXMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDAgOHB4O1xuICB9XG4gIC5wYWdlci1pdGVtcyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnBhZ2VyLWl0ZW1zIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuLnBhZ2VyLW5leHQsXG4ucGFnZXItcHJldiB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItbmV4dCxcbiAgLnBhZ2VyLXByZXYge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wYWdlci1wcmV2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItbmV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItY29udHJvbHMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuIiwiLmdvdnVrLWJyZWFkY3J1bWJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLmRhdGFzZXQtaW5zdGFuY2VzX19uYW1lLWJyZWFkY3J1bWIge1xuICAgIG1heC13aWR0aDogMTRlbTtcbiAgICB0ZXh0LXdyYXA6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufSIsIi5nb3Z1ay1oZWFkZXIgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIC5nb3Z1ay1oZWFkZXJfX3Byb2R1Y3QtbmFtZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG59XG5cbi5nb3Z1ay1oZWFkZXJfX2xpbmstLWhvbWVwYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uZ292dWstaGVhZGVyIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgd2lkdGg6IDczJTtcbn1cblxuLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tZW5kLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5nb3Z1ay10ZW1wbGF0ZV9fYm9keSAuZ292dWstbWFpbi13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5kZWx0YS1oZWFkZXJfX2xpbmstLW1haW4tbmF2IHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uZGVsdGEtcGFnZS10aXRsZSB7XG4gIEBleHRlbmQgLmdvdnVrLWhlYWRpbmctbDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uZGVsdGEtdGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogJHNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmdvdnVrLWhlYWRlciAge1xuICAuaGVhZGVyLW15LWFjY291bnQge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gIH1cbn0iLCIvLyBKYXZhU2NyaXB0IHNsaWRpbmcgcGFuZWwgc3R5bGluZ1xuLmpzLXNsaWRpbmctcGFuZWwge1xuXG4gICAgJi13cmFwcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuanMtc2xpZGluZy1wYW5lbC13cmFwcGVyLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICAuanNncmlkLXRhYmxlIHRoLFxuICAgICAgICAgICAgLmpzZ3JpZC10YWJsZSB0ZCB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi1zaWJsaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNTI2MzE1ZW0gLjc4OTQ3M2VtIC4yNjMxNTdlbTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzI1OTtcbiAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4uanMtc2xpZGluZy1wYW5lbC1oZWFkZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG59XG4ubGVmdC1yb290LXBhbmUtZmlsdGVyIC5qcy1zbGlkaW5nLXBhbmVsLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWVhNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC41MjYzMTVlbSAuNzg5NDczZW0gLjI2MzE1N2VtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzI1OTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG59XG4iLCJAdXNlICdzYXNzOm1hdGgnO1xuXG4kZ3V0dGVyOiAzMHB4O1xuJGd1dHRlci1vbmUtcXVhcnRlcjogbWF0aC5kaXYoJGd1dHRlciwgNCk7XG4kZ3V0dGVyLW9uZS10aGlyZDogbWF0aC5kaXYoJGd1dHRlciwgMyk7XG4kZ3V0dGVyLWhhbGY6IG1hdGguZGl2KCRndXR0ZXIsIDIpO1xuJHByb3Bvc2l0aW9uLWFjdGl2ZS1uYXY6ICMxZDhmZWI7XG4kZ3JleS00OiAjZjhmOGY4O1xuJG1pbi1oZWlnaHQ6IFwiXCI7XG5cbi5kZWFkbGluZS1zdWJtaXNzaW9uIC5mb3JtLWNvbnRyb2wge1xuICB3aWR0aDogODAlO1xufVxuXG4vLyBGaWx0ZXJzIG5lZWQgc2xpZ2h0bHkgc21hbGxlciBzdHlsaW5nIHRvIGZpdCBtb3JlIGludG8gdGhlIHZpZXdcbi5maWx0ZXIge1xuXG5cbiAgICAuZmlsdGVyLXRpdGxlLFxuICAgIC5maWx0ZXItdGl0bGUgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwYW5lbC1jb2xvdXI7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvdXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5maWx0ZXItdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLW9uZS1xdWFydGVyO1xuICAgIH1cblxuICAgIC5ibG9jay1sYWJlbCB7XG5cbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVyLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLWhhbGY7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5ibG9jay1saXN0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZXktNDtcbiAgICAgICAgICAgIG1hcmdpbjogJGd1dHRlci1vbmUtcXVhcnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG5cbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItb25lLXRoaXJkICsgJGd1dHRlci1oYWxmO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAucmVtb3ZlIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb24tbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBpbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAzcHggM3B4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmZvcm0tZGF0ZSB7XG5cbiAgICAgICAgLmJsb2NrLWxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi8vIEFsaWduIHRoZSBHT1ZVSyBjaGVja2JveCBzdHlsZXMgdG8gdGhlIHNtYWxsZXIgZm9udC1zaXplIHVzZWQgYnkgZmlsdGVyc1xuLmpzLWVuYWJsZWQgLmZpbHRlciAuYmxvY2stbGFiZWwge1xuICAgICYuc2VsZWN0aW9uLWJ1dHRvbi1jaGVja2JveCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDRweCA0cHg7XG4gICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlbGVjdGlvbi1idXR0b24tcmFkaW8ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZDtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjdGlvbi1saXN0IHtcblxuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItaGFsZjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgLy8gQGV4dGVuZCAlY29udGFpbi1mbG9hdHM7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmFjdGlvbi1yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLWxpbmstYnV0dG9uIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgIEBpZiAkbWluLWhlaWdodCAhPSBcIlwiIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICBwYWRkaW5nOiAuNTI2MzE1ZW0gLjc4OTQ3M2VtIC4yNjMxNTdlbTsgLy8gMTBweCAxNXB4IDVweFxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgLy8gVGV4dFxuICAgICAgICBmb250LXNpemU6IDFlbTsgLy8gaW5oZXJpdCBmcm9tIHBhcmVudFxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgICAgICAgLy8gSW50ZXJhY3Rpb25cbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuYWN0aW9uLWxpc3QtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbiAgICB9XG5cbiAgICAuYmxvY2stbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cblxufVxuXG4uYmxvY2stbGlzdCB7XG5cbiAgICAuYWN0aW9uLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNy41cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuXG4gICAgLnJlbW92ZS1zZWxlY3RlZC1mYWNldCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvcHVibGljL2ltYWdlcy9jbG9zZS5wbmcpIG5vLXJlcGVhdCA0cHggNHB4O1xuICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uZm9ybS1wYW5lbCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJvcmRlci1jb2xvdXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1oYWxmO1xuICAgIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAuanMtZXhwYW5kZXItaGFuZGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvcHVibGljL2ltYWdlcy9hY2NvcmRpb24tYXJyb3cteHNtYWxsLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggNHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgfVxuXG4gICAgJltkYXRhLWZhY2V0LWhpZGRlbj10cnVlXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAmLmpzLWV4cGFuZGVyLWluaXRpYWwtY29sbGFwc2Uge1xuICAgICAgICAuanMtZXhwYW5kZXItdGFyZ2V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmpzLWV4cGFuZGVyLWV4cGFuZGVkIHtcblxuICAgICAgICAuanMtZXhwYW5kZXItaGFuZGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFweCAtMjhweDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4jZm9ybS1idWlsZGVyLWZ1bGxzY3JlZW4ge1xuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG59XG5cbi5mb3JtLWdyb3VwLmZpbGUtdXBsb2FkLWNvbnRhaW5lcixcbi5mb3JtLWdyb3VwIC5maWxlLXVwbG9hZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IDM2JTtcbiAgICB9XG5cbiAgICBzcGFuW3JvbGU9YnV0dG9uXSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1maWxlXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVwbG9hZC1idXR0b24ge1xuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vIHRvcDogNTAlO1xuICAgICAgICAvLyByaWdodDogMDtcbiAgICAgICAgLy8gbWFyZ2luOiAwO1xuICAgICAgICAvLyBwYWRkaW5nOiAwO1xuICAgICAgICAvLyBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLy8gb3BhY2l0eTogMDtcbiAgICAgICAgLy8gd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIC51cGxvYWQtbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIHdpZHRoOiA0ODBweDtcblxuICAgICAgICAudXBsb2FkLWxpc3QtaXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IDcuNXB4IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA3LjVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWUwZTI7XG5cbiAgICAgICAgICAgIGEucmVtb3ZlLXVwbG9hZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogNy41cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvcHVibGljL2ltYWdlcy9jbG9zZS5wbmcpIG5vLXJlcGVhdCA0cHggNHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uZm9ybS1sYWJlbCB7XG4gICAgJi5mb3JtLWxhYmVsLWlubGluZSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgICYuZm9ybS1jb250cm9sLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbiAgICAvL0B0b2RvIFVuLWJyaXR0bGUgdGhlIGZvbGxvd2luZyBjb2RlLiBNaXhpbiwgbWF5YmU/XG4gICAgJi5mb3JtLWNvbnRyb2wtZnVsbCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgICAgICAgd2lkdGg6IDg5JTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmZvcm0tZ3JvdXAge1xuICAgIGlucHV0LmRpc2FibGVkLFxuICAgIGlucHV0W2Rpc2FibGVkXSxcbiAgICBpbnB1dFtkaXNhYmxlZD1cImRpc2FibGVkXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktMztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleS0xO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5lcnJvciB7XG4gICAgICAgIGlucHV0LmRpc2FibGVkLFxuICAgICAgICBpbnB1dFtkaXNhYmxlZF0sXG4gICAgICAgIGlucHV0W2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZXJyb3ItY29sb3VyO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLXNlY3Rpb257XG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICA+IHAsID4gYXJ0aWNsZSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRndXR0ZXItaGFsZjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS0xO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLWdyb3VwLXN1YiB7XG4gIEBleHRlbmQgLmZvcm0tZ3JvdXA7XG4gIG1hcmdpbi10b3A6ICRndXR0ZXI7XG59XG5cbmlucHV0LmVycm9yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5sb2FkaW5nLWljb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLkNvZGVNaXJyb3Ige1xuICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gICAgbWluLWhlaWdodDogNjAwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vLyBUYWJsZSBGb3JtIGNvbnRyb2xzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCeSBkZWZhdWx0LCBmb3JtIGNvbnRyb2xzIGFyZSA1MCUgd2lkdGggZm9yIGRlc2t0b3AsXG4vLyBhbmQgMTAwJSB3aWR0aCBmb3IgbW9iaWxlXG50YWJsZSAuZm9ybS1jb250cm9sIHtcbiAgd2lkdGg6IDkwJTtcbn1cblxuXG4vLyBKUy1UYWJsZSBzdHlsaW5nXG4uanMtdGFibGUge1xuICAgIC8vIEhpZGUgdGhlIGNvbHVtbiBmb3IgJ2dyYW50U2VjdGlvblV1aWQnXG4gICAgI2dyYW50X3NlY3Rpb25fdXVpZCwgW2hlYWRlcnM9XCJncmFudF9zZWN0aW9uX3V1aWRcIl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNqcy10YWJsZS1pbnB1dCAuZm9ybS1ncm91cCB7XG4gICAgICAgIC5qcy1uZXctZ3JhbnQtYWRkLCAuanMtbmV3LWdyYW50LXVwZGF0ZSwgLmpzLWNhbmNlbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2pzLXRhYmxlLWlucHV0IC5ncmlkLTEtMiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4vL01ha2VzIHRoZSBmb250IGxhYmVsIG9mIHRoZSBmaWxlIHVwbG9hZHMgYm9sZFxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lciAuZm9ybS1sYWJlbHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuaW5wdXRbdHlwZT10aW1lXSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzBiMGMwYztcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG59XG5cbmlucHV0W3R5cGU9dGltZV0uZ292dWstaW5wdXQtLWVycm9yeyAgYm9yZGVyOiAycHggc29saWQgI2Q0MzUxYzsgfVxuXG4udGltZS1zcGFuIHtcbiAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbn1cblxuLmdvdnVrLWJ1dHRvbi1ncm91cCAuaGVscHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG5cbi5nb3Z1ay1mb3JtLWdyb3VwIC5nb3Z1ay1sYWJlbC5mb3JtLWxhYmVsLWlubGluZSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5nb3Z1ay1mb3JtLWdyb3VwIC5nb3Z1ay1sYWJlbC5mb3JtLWxhYmVsLWlubGluZS1mbHVpZCB7XG4gICAgd2lkdGg6IGF1dG87XG59XG4uZ292dWstZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MSU7XG59XG5cbiNzdWJtaXNzaW9uX2RlYWRsaW5lIHRkIHtcbiAgICBidXR0b24uanMtcmVtb3ZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIC5qcy1hZGQge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbiNzYXBfdmVuZG9yX2NvZGVzX3RhYmxlIHRkIGJ1dHRvbi5qcy1yZW1vdmUge1xuICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuI3NhcF92ZW5kb3JfY29kZXNfdGFibGUgdGQgYnV0dG9uLmpzLWFkZCB7XG4gICAgY29sb3I6ICMwMDVlYTU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4jZ3JhbnRfcGF5bWVudF9tZXRob2RzX3RhYmxlIHRkIGJ1dHRvbi5qcy1hZGRQYXltZW50TWV0aG9kIHtcbiAgICBjb2xvcjogIzAwNWVhNTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbiNncmFudF9wYXltZW50X21ldGhvZHNfdGFibGUgdGQgYnV0dG9uLmpzLXJlbW92ZVBheW1lbnRNZXRob2Qge1xuICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm91dHB1dC13YXJuaW5nIHtcbiAgICBjb2xvcjogI2Y0NzczODtcbn1cblxuLm91dHB1dC1lcnJvciB7XG4gICAgY29sb3I6ICNiMTBlMWU7XG59XG5cbiNncmFudFNlY3Rpb25EZXRhaWwgdGQge1xuICAgIGJ1dHRvbi5qcy10YWJsZS1idG4ge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi8qIEhpZGUgdW51c2VkL2luY29ycmVjdCBjb250cm9scyBmcm9tIHRoZSBcInB1Ymxpc2hcIiBkaWFsb2d1ZSBib3ggaW4gdGhlIGZvcm0gYnVpbGRlci5cbiAgIFlvdSBtdXN0IHVwZGF0ZSB0aGUgaWRzIHdoZW5ldmVyIHVwZGF0aW5nIHRoZSBPcmJlb24gdmVyc2lvbiAqL1xuI2VtYmVkZGVkLWZvcm0tYnVpbGRlciAub3JiZW9uLXBvcnRsZXQtZGl2IC5vcmJlb24tcG9ydGxldC1ib2R5IC54Zm9ybXMtZm9ybSAueXVpLXBhbmVsLWNvbnRhaW5lciAueHhmb3Jtcy1kaWFsb2ctYm9keSAueGZvcm1zLWNhc2Utc2VsZWN0ZWQge1xuICAgICNvMHhmLTk4NiwgI28weGYtOTkwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xufVxuXG5hW2Rpc2FibGVkXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5kZWx0YS1kbCB7XG4gICAgLy8gdXNlZCBvbiBmb3JtIHN1bW1hcnkgcGFnZVxuICAgIGR0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxufVxuXG4vLyBNYWtlIHRoZSBsaW5rcyBpbiB0aGUgc2VhcmNoIGdyaWQgYXBwZWFyIGxpa2UgYSA8dGg+IG9uIGZvcm0gc2VhcmNoIHBhZ2VcbiNmb3JtLXNlYXJjaC1ncmlkID4gdGFibGUgPiB0Ym9keSA+ICogPiB0ZC5qc2dyaWQtY2VsbC50YWJsZS1saW5rID4gc3BhbiA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jZm9ybS1zdW1tYXJ5LWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5nb3Z1ay1idXR0b24tZ3JvdXAuZGVsdGEtZm9ybS1idXR0b24tZ3JvdXAge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cbiIsIi5zZWFyY2hmb3JtLFxuYXNpZGUuc2VhcmNoZm9ybSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxuXG4gIC8vIFByb3RvdHlwZSBMYXlvdXQgUnVsZXMgZm9yIHNlYXJjaCBmb3Jtcy4uLlxuICAvLyBAdG9kbyBUaGVzZSBhcmUgc3ViamVjdCB0byByZXZpZXcgYW5kIG1pZ2h0IG5vdCBiZSBuZWNlc3NhcnkuLi4uXG4gICYuZm9ybS0xLTIge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICAmLmZvcm0tMS0zIHtcbiAgICB3aWR0aDogMzMuMzMlO1xuICB9XG5cbiAgJi5mb3JtLTItMyB7XG4gICAgd2lkdGg6IDY2LjY2JTtcbiAgfVxuXG4gICYuZm9ybS0xLTQge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cblxuICAmLmZvcm0tMy00IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG5cbiAgJi5mb3JtLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG5cbiAgLmpzLXZpc2libGUgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuanMtZW5hYmxlZCAmIGxhYmVsIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogOXB4O1xuICAgIHRvcDogOHB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHJpZ2h0OiAycHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDFweDtcblxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5mb3JtLWNvbnRyb2wge1xuXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBDaHJvbWUgNC4wIHRvIDkuMCwgU2FmYXJpIDMuMSB0byA1LjAsIE1vYmlsZSBTYWZhcmkgMy4yIHRvIDQuMywgQW5kcm9pZCBCcm93c2VyIDIuMSB0byAzLjBcbiAgICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gRmlyZWZveCAyLjAgdG8gMjguMCwgRmlyZWZveCBmb3IgQW5kcm9pZCAyNi4wIG9ud2FyZHNcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgcGFkZGluZzogNnB4O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgIHotaW5kZXg6IDM7XG5cbiAgICAvLyBSZW1vdmUgaW5uZXIgc2hhZG93XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvLyBSZW1vdmUgcm91bmRlZCBjb3JuZXJzXG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuXG4gICAgJjpmb2N1cywgJi5mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfVxuXG4gICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJSAtIDQ5cHgpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDlweCk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZGF0YS1ncmlkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogODAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fYnV0dG9ue1xuICAgICAgICBmb250LXNpemU6IHVuc2V0O1xuICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0O1xuICAgICAgICBib3JkZXI6IHVuc2V0O1xuICAgIH1cbn1cblxuLnBhZ2VyLmpzZ3JpZC1wYWdlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbi5qc2dyaWQtcGFnZXItY29udGFpbmVyIHtcbiAgLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiB7XG4gIFx0bGkuanNncmlkLXBhZ2VyLW5hdi1idXR0b24ge1xuICBcdFx0dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIFx0fVxuICB9XG59XG5cbi5qc2dyaWQtbm9kYXRhLXJvdyB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRzdHJvbmd7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHR9XG59XG5cbi5qc2dyaWQtaGVhZGVyLXNvcnRhYmxlIHtcbiAgICBidXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLy8gaGlkZSB0aGUgc29ydCBpY29ucyBmb3Igc2NyZWVuIHJlYWRlcnNcbiAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDAwYTBcXDAwYTBcXDI1QkNcIiAvIFwiXCI7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYmx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXDAwYTBcXDAwYTBcXDI1QjJcIiAvIFwiXCI7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYmx1ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxufVxuXG4uanNncmlkLWhlYWRlci1zb3J0LWRlc2Mge1xuICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBidXR0b246YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmpzZ3JpZC1oZWFkZXItc29ydC1hc2Mge1xuICAgIGJ1dHRvbjphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcmlnaHQ6IC0xMnB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgfVxuICAgIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuXG4uanNncmlkLWhlYWRlci1zb3J0YWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uanNncmlkLWhlYWRlci1zb3J0IHtcblxuICAgICYtYXNjLFxuICAgICYtZGVzYyB7XG5cbiAgICAgICAgYSAuc29ydC1pY29uIHtcblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYXNjIHtcbiAgICAgICAgYSAuc29ydC1pY29uOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMGEwXFwwMGEwXFwyNUIyXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWRlc2Mge1xuICAgICAgICBhIC5zb3J0LWljb246YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDAwYTBcXDAwYTBcXDI1QkNcIjtcbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5cblxuLmpzLWRyb3Bkb3duLWxpc3Qtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5mYS1jYXJldC1kb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDExMi41JTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1JSk7XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNWVhNTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbn1cblxuLmpzLWRyb3Bkb3duLWxpc3Qge1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkZ3V0dGVyLWhhbGY7XG4gICAgcmlnaHQ6IC0kZ3V0dGVyO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgJi5qcy1kcm9wZG93bi1saXN0LWNsb3NlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5vdmVyZmxvd24ge1xuICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgLSAyNXB4ICsgNHB4KTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogJGdvdnVrLWJsdWU7XG4gICAgfVxuXG59XG5cbi5qc2dyaWQtdGFibGUge1xuICAgIHRhYmxlLWxheW91dDogYXV0bztcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiZmMxYzM7XG4gICAgICAgIHBhZGRpbmc6IDAuNjMxNThlbSAxLjA1MjYzZW0gMC40NzM2OGVtIDA7XG4gICAgfVxufVxuXG50ZC5qc2dyaWQtY2VsbCxcbnRoLmpzZ3JpZC1oZWFkZXItY2VsbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTU3OTtcbiAgICBmb250LWZhbWlseTogXCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgcGFkZGluZzogMC42MzE1OGVtIDEuMDUyNjNlbSAwLjQ3MzY4ZW0gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgY29sb3I6ICMwYjBjMGM7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjVweDtcblxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMXB4KTtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RmMWMzO1xuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNWVhNTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgICAgPiBidXR0b246Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRkMDA7IC8qIGh0dHA6Ly9HT1YuVUsgIHllbGxvdyAqL1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIEJsYWNrIHVuZGVybGluZSBmb3IgY2xhcml0eSAqL1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG4gICAgICAgIH1cblxuICAgIH1cblxufVxuXG50ZC5qc2dyaWQtY2VsbC5ub3dyYXAge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbnRkLmpzZ3JpZC1jZWxsLm1pbi13aWR0aC0zMDAge1xuICAgIG1pbi13aWR0aDogMzAwcHg7XG59XG5cbi5mYSB7XG5kaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLmZhLXNlYXJjaDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CCXCI7XG59XG5cbi5jb250ZW50IC5idXR0b24ge1xuYmFja2dyb3VuZC1jb2xvcjogIzAwODIzYjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC41MjYzMTVlbSAuNzg5NDczZW0gLjI2MzE1N2VtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggMCAjMDAzNjE4O1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggMCAjMDAzNjE4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzYxODtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG59XG5cbnRoLmpzZ3JpZC1oZWFkZXItY2VsbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4vLyAuanNncmlkLWxvYWQtc2hhZGVyIHt9XG4vL1xuLy8gLmpzZ3JpZC1sb2FkLXBhbmVsIHt9XG5cbi5zZWFyY2gtZmllbGQge1xuICAgIHdpZHRoOiA2NiUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xufVxuXG4uZmEtY2FyZXQtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Dl1wiO1xufVxuXG4uZXZpZGVuY2Utc2VhcmNoX19kYXRhLWdyaWQge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG59XG4iLCIuZGF0YS1ncmlkLWRlbHRhLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5hY3RpdmUtZmlsdGVycy1zdW1tYXJ5IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxcmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgZm9udC1zaXplOiBzbWFsbGVyO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAubXVsdGlzZWxlY3QtY2hvc2VuLW9wdGlvbnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAuc2VhcmNoLWNob2ljZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgICAgIGJ1dHRvbi5zZWFyY2gtY2hvaWNlLWNsb3NlIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYWxsOiB1bnNldDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24uc2VhcmNoLWNob2ljZS1jbG9zZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiw5dcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAtN3B4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2VyLWNvbnRyb2xzIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIC5wYWdlci1pdGVtcyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGF0YS1ncmlkLXNjcm9sbC1jb250YWluZXIge1xuICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIH1cblxuICAgIC5jb2xsZWN0aW9uLWdyb3Vwc19fb3JnYW5pc2F0aW9ucy1saXN0IHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuICAgIH1cblxuICAgIC5kZWx0YS10YWJsZS1maWx0ZXJzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjJmMTtcblxuICAgICAgICAuZGVsdGEtdGFibGUtZmlsdGVycy1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMWI0YjY7XG4gICAgICAgIH1cbiAgICAgICAgLmRlbHRhMi10YWJsZS1maWx0ZXJzLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgIC5kZWx0YS1maWx0ZXJzLWhlYWRlci1jb21wb25lbnRzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgICAuZGVsdGEtcmVzdWx0cy1hY3RpdmUtZmlsdGVycyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0U2RTZFNjtcbiAgICAgICAgfVxuICAgICAgICAuZmFjZXRzIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoZm9ybSAuY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBpbml0aWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaGZvcm0ge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNtYWxsLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICNzZWFyY2gtdGV4dGZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0M3B4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmZcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtdGV4dGZpZWxkLW5vLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZlxuICAgICAgICB9XG5cbiAgICAgICAgLmpzLWV4cGFuZGVyLXRvZ2dsZS1hbGwtZ2RzIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMWQ3MGI4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIFxuICAgICAgICAuYXBwbHktYWxsLWZpbHRlcnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwNzAzYztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGVhci1hbGwtZmlsdGVycyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgICB9XG4gICAgICAgIC5jbGVhci1hbGwtZmlsdGVycyB7XG4gICAgICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xlYXItYWxsLWZpbHRlcnNbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xlYXItYWxsLWZpbHRlcnM6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA0MzdkO1xuICAgICAgICAgICAgb3V0bGluZTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRhdGFncmlkX2NsZWFyLWZpbHRlci1saW5re1xuICAgICAgICAgICAgY29sb3I6ICMxZDcwYjg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXRhZ3JpZF9jbGVhci1maWx0ZXItbGluazpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVlZmY7XG4gICAgICAgICAgICBjb2xvcjogIzAwNDM3ZDtcbiAgICAgICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZDllZWZmO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICAgICAgfVxuXG4gICAgICAgIC5kc19kYXRlcGlja2VyX19idXR0b257XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDcwM2MhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRzX2RhdGVwaWNrZXJfX2lucHV0LXdyYXBwZXJ7XG4gICAgICAgICAgICBnYXA6IDAuNXJlbSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAuZGVsdGEtZmlsdGVyc19kYXRlLXBpY2tlci1pbnB1dC1jb250YWluZXJ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiMWI0YjY7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tdWx0aXNlbGVjdC1zdW1tYXJ5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBiMGMwYztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzBiMGMwYztcblxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2YzZjJmMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZWx0YS10YWJsZS1maWx0ZXItc3VtbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDcwYjg7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgLnNob3ctZmlsdGVycyB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCAwICMxNDRlODE7XG4gICAgICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZjFmODtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaS5mYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRlbHRhLXRhYmxlLWZpbHRlci1zdW1tYXJ5IC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHNlbGVjdC5hZGQtdG8tbXVsdGlzZWxlY3Qge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG4gICAgfVxuICAgIGJ1dHRvbi5hZGQtdG8tbXVsdGlzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5qcy1leHBhbmRlci1oYW5kbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmZpbHRlci5qcy1leHBhbmRlciB7XG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQtLXNob3cge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQtLWhpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmpzLWV4cGFuZGVyLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQtLXNob3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS10ZXh0LS1oaWRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuanMtZXhwYW5kZXItLWluaXRpYWwtY29sbGFwc2Uge1xuICAgICAgICAgICAgLmpzLWV4cGFuZGVyLXRhcmdldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXItdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXIgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuYWN0aXZlLWZpbHRlcnMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICAvLyBUYWtlbiBmcm9tIGdvdnVrIGNzczpcbiAgICAuZ292dWstcGFnaW5hdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb24ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0sXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4td2lkdGg6IDQ1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLFxuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCxcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSxcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE1Nzg5NDczNztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSxcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtOmhvdmVyLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0OmhvdmVyLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjJmMTtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2LFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmssXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCxcbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tZWxsaXBzZXMsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW06Zmlyc3QtY2hpbGQsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ3MGI4O1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDcwYjg7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmxpbmssIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWN1cnJlbnQgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6aG92ZXIsIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTkpO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjMGIwYzBjO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1lbGxpcHNlcyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjNTA1YTVmO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tZWxsaXBzZXM6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDE1cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiB7XG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmhvdmVyIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlLS1kZWNvcmF0ZWQsIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmFjdGl2ZSAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IG1heCgxcHgsIC4wNjI1cmVtKTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjE1NzhlbTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6aG92ZXIgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstbGFiZWwsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6aG92ZXIgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCwgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6YWN0aXZlIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmFjdGl2ZSAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogbWF4KDNweCwgLjE4NzVyZW0sIC4xMmVtKTtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXNraXA6IG5vbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmZvY3VzIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uIHtcbiAgICAgICAgY29sb3I6ICMwYjBjMGM7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmZvY3VzIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IG1heCgxcHgsIC4wNjI1cmVtKTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjE1NzhlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24ge1xuICAgICAgICB3aWR0aDogMC45Mzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuODEyNXJlbTtcbiAgICAgICAgY29sb3I6ICM1MDVhNWY7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogYXV0bztcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faWNvbi0tcHJldiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faWNvbi0tbmV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0LFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCAuZ292dWstcGFnaW5hdGlvbl9faWNvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYgKyAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjFiNGI2O1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmssXG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGU6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgICAgIG91dGxpbmU6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICMwYjBjMGM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRkMDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAjZmZkZDAwLCAwIDRweCAjMGIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbGluazpub3QoOmZvY3VzKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxuXG4gICAgLnRvdGFsLXJlY29yZHMtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHhcbiAgICB9XG59IiwiLmRlbHRhLWZpbHRlcnNfaGVhZGVye1xuICBwYWRkaW5nOiAxcmVtO1xufVxuXG4uYWN0aXZlLWZpbHRlcnMtY291bnR7XG4gIG1hcmdpbi1sZWZ0OiAwLjJyZW07XG59XG5cbi5hY3RpdmUtZmlsdGVycy1jb3VudC1lbXB0eXtcbiAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG59XG5cbi5kZWx0YS1maWx0ZXJzX2NvbnRhaW5lcntcbiAgcGFkZGluZzogMXJlbTtcblxuICAuZGVsdGEtZmlsdGVycy1hY3RpdmUtdGFne1xuICAgIG1hcmdpbjogMCAwLjJyZW07XG4gIH1cblxuICAuZGVsdGEtZmlsdGVycy1jbGVhci1maWx0ZXItbGlua3tcbiAgICBjb2xvcjogIzFkNzBiODtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAuZGVsdGEtZmlsdGVycy1jbGVhci1maWx0ZXItbGluazpob3ZlcntcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZWZmO1xuICAgIGNvbG9yOiAjMDA0MzdkO1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjZDllZWZmO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIH1cblxuICAuZGVsdGEtZmlsdGVyc19jaG9zZW4tb3B0aW9ue1xuXG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZGVsdGEtZmlsdGVyc19yZW1vdmUtb3B0aW9ue1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBhbGw6IHVuc2V0O1xuICAgIH1cblxuICAgIC5kZWx0YS1maWx0ZXJzX3JlbW92ZS1vcHRpb246OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIsOXXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogLTdweDtcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAubXVsdGlzZWxlY3QtaW5wdXQtY29udGFpbmVye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cblxuXG59XG5cbi5kZWx0YS1maWx0ZXJzX2NvbnRyb2xze1xuICBwYWRkaW5nOiAxcmVtO1xuXG4gICNmaWx0ZXJzLWNsZWFyLWJ1dHRvbiwgI2ZpbHRlcnMtcmVzZXQtYnV0dG9ue1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMxZDcwYjg7XG4gICAgYmFja2dyb3VuZDogdW5zZXQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiB1bnNldCAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgI2ZpbHRlcnMtY2xlYXItYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICNmaWx0ZXJzLWNsZWFyLWJ1dHRvbjpob3ZlciwgI2ZpbHRlcnMtcmVzZXQtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDA0MzdkO1xuICAgIG91dGxpbmU6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycztcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLmRlbHRhLWZpbHRlcnMtc2VsZWN0LXdpdGgtYWRke1xuICBtYXJnaW4tcmlnaHQ6IDAuMnJlbTtcbn1cblxuLmRlbHRhLWZpbHRlci1jb250YWluZXIgLmZvcm0tZ3JvdXAgLmNob3Nlbi1jb250YWluZXIge1xuICB3aWR0aDogOTUlICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuIiwiQHVzZSAnc2FzczptYXRoJztcblxuJGd1dHRlcjogMzBweDtcbiRndXR0ZXItb25lLXF1YXJ0ZXI6IG1hdGguZGl2KCRndXR0ZXIsIDQpO1xuJGd1dHRlci1vbmUtdGhpcmQ6IG1hdGguZGl2KCRndXR0ZXIsIDMpO1xuJGd1dHRlci1oYWxmOiBtYXRoLmRpdigkZ3V0dGVyLCAyKTtcbiRnb3Z1ay1ibHVlOiAjMDA1ZWE1O1xuJGxpZ2h0LWJsdWU6ICMyYjhjYzQ7XG4kd2hpdGU6ICNmZmY7XG5cblxuLmpzLWFjdGl2ZS1maWx0ZXJzLWRyb3Bkb3duLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMC41cHg7XG4gICAgfVxuXG4gICAgLmZhLWNhcmV0LWRvd24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuICAgIH1cbn1cblxuXG4uanMtYWN0aXZlLWZpbHRlcnMtZHJvcGRvd24ge1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkZ3V0dGVyLWhhbGY7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgJi5qcy1hY3RpdmUtZmlsdGVycy1kcm9wZG93bi1jbG9zZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1vbmUtcXVhcnRlcjtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYmx1ZTtcbiAgICB9XG59XG5cbi5mYWNldHMgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mYWNldHMgLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXBhbmVsLmpzLWV4cGFuZGVyIC5qcy1leHBhbmRlci10YXJnZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmZpbHRlciAuYmxvY2stbGlzdC5hY3RpdmUtZmlsdGVycy1saXN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICB9XG59XG5cbi5mYWNldHMgLnNpZGViYXItc2VhcmNoLWZpZWxkIC5nb3Z1ay1idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59IiwiLy8gTm90aWNlLCB0ZXh0IHdpdGggYW4gaWNvbiB0byB0aGUgbGVmdFxuLy9AdG9kbyBSZXZpZXcgd2hldGhlciBkdXBsaWNhdGlvbiBoZXJlIGNhbiBiZSB0aWRpZWQgdXAgLSBjdXJyZW50IGZvcm1hdCB3YXNcbi8vIGEgc2VtaS1DJlAgam9iLi4uIFNjcmVlbi5zY3NzIGhhcyBhbm90aGVyIHJlbGF0ZWQgY2h1bmsgb2YgJ25vdGljZSdcblxuLm5vdGljZSB7XG4gICAgLy9AZXh0ZW5kICVjb250YWluLWZsb2F0cztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJGd1dHRlci1oYWxmIDAgJGd1dHRlci1vbmUtdGhpcmQ7XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xN3B4OyAvLyBIYWxmIHRoZSBoZWlnaHQgb2YgdGhlIGltcG9ydGFudCBpY29uXG5cbiAgICAgICYuZmEge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIH1cblxuICAgICAgJi5mYS0yeHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoMzUgKyAzMCkgKyBweDtcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyLWhhbGY7XG4gICAgfVxuXG5cbn1cblxuXG4ubm90aWNlIHtcbiAgICAuaWNvbi5qcy1jbG9zZS1lbGVtZW50IHtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAxLjU7XG4gICAgfVxuXG4gICAgLmljb24tYmFubmVyLXdhcm5pbmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTFweDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgY29udGVudDogJ2knO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlci1oYWxmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmdvdnVrLWJsdWUtYmFubmVyIHtcblxuICAgICAgICAuaWNvbi1iYW5uZXItd2FybmluZzpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRnb3Z1ay1ibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLWdyb3Vwe1xuICAgIC5ub3RpY2V7XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAvL0BleHRlbmQgLmJvbGQteHNtYWxsO1xuICAgICAgICAgICAgY29sb3I6ICRnb3Z1ay1ibHVlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLW9uZS10aGlyZCAqIDQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1iYW5uZXItd2FybmluZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC8vQGV4dGVuZCAuYm9sZC14c21hbGw7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdvdnVrLWJsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4vKiBAdG9kbzogbWFrZSBTQVNTOyBjb3BpZWQgYXMtaXMgZnJvbSBfZGNsZy5zY3NzIHwgYmx1ZSBpbmZvcm1hdGlvbiBiYW5uZXIgKi9cbi5nb3Z1ay1ibHVlLWJhbm5lcntcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJsdWU7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuaWNvbi5qcy1jbG9zZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3B1YmxpYy9pbWFnZXMvY2xvc2UtaW52ZXJzZS5wbmcpIG5vLXJlcGVhdCAycHggMnB4O1xuICB9XG5cbn1cblxuLmdvdnVrLXJlZC1iYW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmljb24uanMtY2xvc2UtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1hZ2VzL2Nsb3NlLWludmVyc2UucG5nKSBuby1yZXBlYXQgMnB4IDJweDtcbiAgfVxuXG59XG4uZ292dWsteWVsbG93LWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG4gIGNvbG9yOiAkYmxhY2s7XG5cbiAgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICAuaWNvbi5qcy1jbG9zZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3B1YmxpYy9pbWFnZXMvY2xvc2UucG5nKSBuby1yZXBlYXQgMnB4IDJweDtcbiAgfVxuXG59XG4uZ292dWstZ3JlZW4tYmFubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmljb24uanMtY2xvc2UtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1hZ2VzL2Nsb3NlLWludmVyc2UucG5nKSBuby1yZXBlYXQgMnB4IDJweDtcbiAgfVxuXG59XG5cblxuLy8gTm90aWNlIGJhbm5lciBmb3IgJ0RlbGV0ZSBkaWFsb2cnIHBvcHVwXG4vLyBAdG9kbyBSZXZpZXcgdG8gc2VlIGlmIHRoaXMgY2FuIGJlIGZsYXR0ZW5lZCBpbnRvIGV4aXN0aW5nIHN0eWxlcyBhYm92ZVxuXG4ubm90aWNle1xuICAmLWRlbGV0ZXtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAuaWNvbntcbiAgICAgIGxlZnQ6IDEuNSU7XG4gICAgfVxuXG4gIH1cbn1cblxuLmZvcm0tZ3JvdXAge1xuXG4gICAgLmluZm8tbm90aWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsYXJpYWwsc2Fucy1zZXJpZjtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMzVweDtcbiAgICAgICAgbWluLWhlaWdodDogMzVweDtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgIzBiMGMwYztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogIzBiMGMwYztcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cbiAgICAuZ292dWstd2FybmluZy10ZXh0X190ZXh0IHtcbiAgICAgICAgY29sb3IgOiAjMGIwYzBjICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZSA6IDE5cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICB9XG5cbn1cbiIsIiNpbi1yZXZpZXctYm94IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJhY2tncm91bmQ6ICNmYWZhMDU7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDFweDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgcGFkZGluZy1yaWdodDogOTdweDtcbiAgfVxufVxuXG4jYXBwcm92ZWQtYm94IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJhY2tncm91bmQ6ICNmZjlmNDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbn1cblxuI2NsZWFyZWQtYm94IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJhY2tncm91bmQ6ICMwMDk5MDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTQycHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICBmb250LXNpemU6IDhweDtcbiAgcGFkZGluZy1yaWdodDogMTE3cHg7XG4gIH1cbn1cblxuI2ZvcmVjYXN0LWJveCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiAjMjFlY2U5O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgd2lkdGg6IDU4MHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMjU5cHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICBwYWRkaW5nLXJpZ2h0OiAxNzVweDtcbiAgZm9udC1zaXplOiA4cHg7XG4gIH1cbn1cblxuI2Rhc2hib2FyZC1wYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4ubGVnZW5kLWdyb3VwIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgd2lkdGg6IDYzMHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICB3aWR0aDogMzgycHg7XG4gICAgfVxuXG59XG5cbi5mb3JtLWdyb3VwIC5sZWdlbmQtYm94IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB3aWR0aDogNTgwcHg7XG59XG5cbi5mb3JtLWdyb3VwICNvcGVuLWRhdGEtYm94IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMzBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjAxLCAyMDMsIDIwNyk7XG59XG4uZm9ybS1ncm91cCAjc2F2ZWQtYm94IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODZweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjUwLCAyNTAsIDUpO1xufVxuLmZvcm0tZ3JvdXAgI3N1Ym1pdHRlZC1ib3gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM0NXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigzMywgMjM2LCAyMzMpO1xufVxuLmZvcm0tZ3JvdXAgI2NlcnRpZmllZC1ib3gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2NXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDApO1xufVxuXG4uZm9ybS1ncm91cCAubGVnZW5kLWJveCBzcGFuIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbiIsInNlY3Rpb24jbW9yZXtcbiAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbn1cblxuLm5hdi10YWJzIHtcbiAgem9vbTogMTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBvbCwgdWwsIC50YWJzLW5hdntcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgbGksIC50YWJzLW5hdiBsaXtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICNmZmY7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBoZWlnaHQ6IDIuMjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjI1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgcGFkZGluZzogMCAxZW0gMCAxZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgYXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjYmZjMWMzO1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmZmY7XG4gICAgICBjb2xvcjogIzBiMGMwYztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCBhe1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5qcy10YWItY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhYi1jb250ZW50IC50YWItcGFuZSB7XG4gIHBhZGRpbmc6ICRndXR0ZXIgMCAwIDA7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjYmZjMWMzO1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5vZmZpY2UtZm9ybS1ub3RpY2UtcGFzc3dvcmQge1xuICAgIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBTZWdvZSBVSSxTZWdvZSBXUCxUYWhvbWEsQXJpYWwsc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG4ub2ZmaWNlLWZvcm0tZm9vdGVyLWJsb2NrIHtcbiAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogU2Vnb2UgVUksU2Vnb2UgV1AsVGFob21hLEFyaWFsLHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cbiIsIi5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOjYwcHg7XG4gICAgd2lkdGg6MTAwJTtcbn1cbi5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGl7XG4gIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6MjBweDtcbiAgbGluZS1oZWlnaHQ6MS4xMTExMTtcbiAgZm9udC13ZWlnaHQ6NDAwO1xuICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICBkaXNwbGF5OmJsb2NrO1xuICBwYWRkaW5nOjA7XG4gIG1hcmdpbjowO1xuICB3aWR0aDo1MCU7XG4gIGZsb2F0OmxlZnQ7XG5cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkge1xuICAgIGZvbnQtc2l6ZToyN3B4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMTExMTFcbiAgfVxufVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5uZXh0IHtcbiAgIGZsb2F0OnJpZ2h0O1xuICAgdGV4dC1hbGlnbjpyaWdodDtcbiB9XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpLm5leHQgYSB7XG4gICBwYWRkaW5nOjE1cHggMzVweCAxNXB4IDA7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5uZXh0IGE6YmVmb3JlIHtcbiAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKGh0dHBzOi8vYXNzZXRzLnB1Ymxpc2hpbmcuc2VydmljZS5nb3YudWsvZ292ZXJubWVudC9hc3NldHMvYXJyb3ctc3ByaXRlLTJCOENDNC01ZTJjZWUzZTk4MjU0OWI1Mjg1Njg0YTJlNGYwNzA2YzVkOWM1MzFmMGFmZGY2MWRmZTMyZGZiMWRmZWI4MmYwLnBuZykgbm8tcmVwZWF0IC0xMDJweCAtMTFweDtcbiAgIG1hcmdpbjotNHB4IC0zMnB4IDAgMDtcbiAgIGRpc3BsYXk6YmxvY2s7XG4gICBmbG9hdDpyaWdodDtcbiAgIHdpZHRoOjMwcHg7XG4gICBoZWlnaHQ6MzhweDtcbiAgIGNvbnRlbnQ6XCIgXCI7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5wcmV2aW91cyBhIHtcbiAgIHBhZGRpbmc6MTVweCAwIDE1cHggMzVweDtcbiB9XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpLnByZXZpb3VzIGE6YmVmb3JlIHtcbiAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKGh0dHBzOi8vYXNzZXRzLnB1Ymxpc2hpbmcuc2VydmljZS5nb3YudWsvZ292ZXJubWVudC9hc3NldHMvYXJyb3ctc3ByaXRlLTJCOENDNC01ZTJjZWUzZTk4MjU0OWI1Mjg1Njg0YTJlNGYwNzA2YzVkOWM1MzFmMGFmZGY2MWRmZTMyZGZiMWRmZWI4MmYwLnBuZykgbm8tcmVwZWF0IC0yMHB4IC0xMXB4O1xuICAgbWFyZ2luOi00cHggMCAwIC0zMnB4O1xuICAgZGlzcGxheTpibG9jaztcbiAgIGZsb2F0OmxlZnQ7XG4gICB3aWR0aDozMHB4O1xuICAgaGVpZ2h0OjM4cHg7XG4gICBjb250ZW50OlwiIFwiO1xuIH1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYSB7XG4gICBkaXNwbGF5OmJsb2NrO1xuICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhIHNwYW4ge1xuICAgZGlzcGxheTpibG9jaztcbiAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgZm9udC1zaXplOjEycHg7XG4gICBsaW5lLWhlaWdodDoxLjI1O1xuICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgIHBhZGRpbmctdG9wOjZweDtcbiAgIHBhZGRpbmctYm90dG9tOjRweDtcbiB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIGEgc3BhbiB7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgbGluZS1oZWlnaHQ6MS40Mjg1NztcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhIHNwYW4ge1xuICAgIHBhZGRpbmctdG9wOjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbToxcHg7XG4gIH1cbn1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYTpmb2N1cyAucGFnZS1udW1iZXJzLFxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYTpob3ZlciAucGFnZS1udW1iZXJzIHtcbiAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhOmhvdmVyIHtcbiAgIGJhY2tncm91bmQ6I2Y4ZjhmODtcbiB9XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIGE6YWN0aXZlIHtcbiAgIGJhY2tncm91bmQ6I2RlZTBlMjtcbiB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIC52aXN1YWxseWhpZGRlbiB7XG4gICAgZm9udC1mYW1pbHk6XCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOjIwcHg7XG4gICAgbGluZS1oZWlnaHQ6MS4xMTExMTtcbiAgICBmb250LXdlaWdodDo0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjpzdGF0aWM7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSAudmlzdWFsbHloaWRkZW4ge1xuICAgIGZvbnQtc2l6ZToyN3B4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMTExMTE7XG4gIH1cbn1cbiIsImRpYWxvZ1tvcGVuXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA1OCU7XG4gIG1hcmdpbjogMWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi10b3A6IDEwJTtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsYXJpYWwsc2Fucy1zZXJpZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIGRpYWxvZ1tvcGVuXSB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDE1cHggMTVweDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcblxuXHRmb3JtIHtcblx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHR9XG4gIH1cbn1cblxuZGlhbG9nICsgLmJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GqXCI7XG59XG5cbmRpYWxvZyBwIHtcbiAgICBtYXJnaW4tdG9wIDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuZGlhbG9nIHtcbiAgICAjZGlhbG9nLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsYXJpYWwsc2Fucy1zZXJpZjtcbiAgICB9XG4gICAgdWwubGlzdC5saXN0LWJ1bGxldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgfVxufVxuZGlhbG9nI2NvbmZpcm0tczE1MS1vZmZpY2VyIHtcbiAgICB3aWR0aDogNjAlO1xufVxuZGlhbG9nI3NlbGVjdC1kYXRhc2V0IC5nb3Z1ay1yZWQtYmFubmVyIHtcbiAgICBoZWlnaHQ6IDE4cHg7XG59XG5cbmRpYWxvZyNkb3dubG9hZC1kZXRhaWxlZC1yZXBvcnQgLmF1ZGl0LWxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ud2FybmluZy1yZWQtYm9yZGVyIHtcbiAgICBib3JkZXI6IDVweCBzb2xpZCAjYjEwZTFlO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cblxuICAgIC5ub3RpY2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taW5saW5lIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNHB4IDE1cHggMTVweDtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgfVxuXG59XG5cbi5kaWFsb2ctaXMtb3BlbiB7XG4gICAgLmRpYWxvZy13cmFwcGVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43NSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsIi5ub3RpY2UtYmFubmVyIHtcbiAgcGFkZGluZzogMTBweCAwIDhweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiZmMxYzM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLm5vdGljZS1iYW5uZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH0gfVxuXG4ubm90aWNlLWJhbm5lciBwIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHJnYigxMSwgMTIsIDEyKTtcbiAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzE1Nzg5NDczNzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLm5vdGljZS1iYW5uZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH0gfVxuXG4gIC5ub3RpY2UtYmFubmVyIC5waGFzZS10YWcge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgICBwYWRkaW5nOiAycHggNXB4IDA7XG4gICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNDI4NjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTM4ODA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ub3RpY2UtYmFubmVyIC5waGFzZS10YWcge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cbiAgLm5vdGljZS1iYW5uZXIgc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi5ub3RpY2UtYmFubmVyIHNwYW4ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLnBhbmVsLWxpbWl0LXdpZHRoIHtcbiAgbWF4LXdpZHRoOiA2NTBweDtcbn1cblxuLmRlbHRhLXNtYWxsZXItcGFuZWwge1xuICAuZ292dWstcGFuZWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbiAgLmdvdnVrLXBhbmVsX19ib2R5IHtcbiAgICBmb250LXNpemU6IDI3cHg7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgfVxufVxuIiwiLy8gU2hvdyBlbWJlZGRlZCBPcmJlb24gdGhyb3VnaCBhIHZpZXdwb3J0IHdpdGggc2V0IHdpZHRoL2hlaWdodCB0byBwcmV2ZW50IG92ZXJmbG93IGlzc3Vlc1xuI2VtYmVkZGVkLWZvcm0tYnVpbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODAwcHg7XG59XG5cbiNlbWJlZGRlZC1mb3JtLWJ1aWxkZXIgZGl2Lm9yYmVvbi5vcmJlb24tcG9ydGxldC1kaXYge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vLyBQcmV2ZW50IE9yYmVvbiBwb3B1cHMgZnJvbSBkaXNhcHBlYXJpbmcgYmVoaW5kIHRoZSBwb3J0bGV0XG4jZW1iZWRkZWQtZm9ybS1idWlsZGVyIC55dWktZGlhbG9nIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm9yYmVvbiAjbzB4Zm9ybXMtZm9ybSAueHhmb3Jtcy1zZXQtaGVpZ2h0IC54eGZvcm1zLWRpYWxvZy1ib2R5IC5mYi1kaWFsb2ctcmVtYWluaW5nLWhlaWdodCB7XG4gIGJvdHRvbTogMTEwcHg7XG59XG5cbi5vcmJlb24gI28weGZvcm1zLWZvcm0gLnh4Zm9ybXMtc2V0LWhlaWdodCAueHhmb3Jtcy1kaWFsb2ctYm9keSAuZnItZGlhbG9nLWJ1dHRvbnMge1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDk5OTtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbn1cblxuLm9yYmVvbiAjbzB4Zm9ybXMtZm9ybSAuZnItZ3JpZC10ZCAueGZvcm1zLXJlcXVpcmVkIC54Zm9ybXMtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbn1cblxuXG4ub3JiZW9uIC5mci1tb2RlLW5ldyAueGZvcm1zLXJlcXVpcmVkIC54Zm9ybXMtbGFiZWw6YmVmb3JlLFxuLm9yYmVvbiAuZnItbW9kZS10ZXN0IC54Zm9ybXMtcmVxdWlyZWQgLnhmb3Jtcy1sYWJlbDpiZWZvcmUsXG4ub3JiZW9uIC54Zm9ybXMtZGlhbG9nIC54Zm9ybXMtcmVxdWlyZWQgLnhmb3Jtcy1sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiAnKiAnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICByaWdodDogY2FsYygxMDAlIC0gMTVweCk7XG4gIHRvcDogLTdweDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG59IiwiLmRlbHRhLW5vdGlmaWNhdGlvbi1iYW5uZXItLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICNkNDM1MWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MzUxYztcbn1cblxuLmRlbHRhLW5vdGlmaWNhdGlvbi1iYW5uZXItLXdhcm5pbmcge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGNUYxNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY1RjE1O1xufVxuXG4uZ292dWstbm90aWZpY2F0aW9uLWJhbm5lciB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4uZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fY29udGVudCA+ICoge1xuICAgIG1heC13aWR0aDogODAwcHg7XG59XG4iLCJAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIGJvZHkge1xuICAgIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjUwcHgpXG4gICAgfVxuXG4gICAgcCwgc3Ryb25nIHtcbiAgICAgIG1heC13aWR0aDogNzVjaDtcbiAgICB9XG5cbiAgICBwLnRleHQtbm8tbWF4LXdpZHRoLCBzdHJvbmcudGV4dC1uby1tYXgtd2lkdGgge1xuICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExMDBweCkge1xuICBib2R5LmRlbHRhLXdpZGUtcGFnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5cbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTUwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxNjAwcHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLWZvb3RlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC01MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNTBweClcbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlciB7XG4gICAgICAvLyBEaXNwbGF5cyBhcyBhIGJhciBhdCB0aGUgYm90dG9tIHVudGlsIGEgZGF0ZXBpY2tlciBpcyBjbGlja2VkIG9uIHdpdGhvdXQgdGhpc1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmdyaWQtY29sdW1uLXRleHQtbWF4LXdpZHRoIHtcbiAgQGV4dGVuZCAuZ292dWstZ3JpZC1jb2x1bW4tZnVsbDtcblxuICBtYXgtd2lkdGg6IDUwZW07XG59XG4iLCJcbi5kZWx0YS1hbmltYXRpb24tbG9hZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YyZjE7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYW5pbWF0aW9uOiBkZWx0YUxvYWRpbmc7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGUtcmV2ZXJzZTtcblxuICAuZGVsdGEtYW5pbWF0aW9uLWxvYWRpbmctaW5kaWNhdG9yIHtcbiAgICB3aWR0aDogMTAlO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFkNzBiODtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBkZWx0YUxvYWRpbmcge1xuICAwJSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHBhZGRpbmctbGVmdDogMTAwJTtcbiAgfVxufSIsIi5kZWx0YS1pbWFnZS1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5kZWx0YS1zY3JlZW4tZ3JhYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMTM4LCAxMzgsIDEzOCwgMC41KTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmZzLWhlbHAtaW1hZ2Utb3ZlcmxheS1kaXNwbGF5XG57XG4gIGJhY2tncm91bmQ6ICM0MDQwNDA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmhlbHAtZnMtaW1hZ2UtY29udGFpbmVyXG57XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAyMHB4O1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5oaWRkZW5cbntcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIuY2VydGlmaWNhdGlvbi1yZWNvcmRfX2hlYWRlciB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMDhweCk7XG59IiwiI21haW4tY29udGVudC5mdWxsc2NyZWVuLWNvbnRlbnQge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIC8qXG4gIFRoZSBjdXJyZW50IE1IQ0xHIGxhcHRvcHMgZW5kIHVwIHdpdGggYSAxMjgycHggdmlld3BvcnQgd2lkdGgsIHdoaWNoIGlzIGp1c3QgdG9vIHNtYWxsIHRvIGJlIGFibGUgdG8gc2VlXG4gIGFsbCB0aGUgYnV0dG9ucyBpbiBPcmJlb24sIHNvIHNocmluayB0aGUgbWFyZ2lucyB0byBnaXZlIGEgZmV3IG1vcmUgcGl4ZWxzIG9mIHNwYWNlLlxuICAqL1xuICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cbn1cblxuLmZ1bGxzY3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn0iLCJib2R5IC5nb3Z1ay10YWcge1xuICAvLyBTbyB0aGF0IGl0IGZpdHMgUmVhZHkgZm9yIGNlcnRpZmljYXRpb24gb24gb25lIGxpbmVcbiAgbWF4LXdpZHRoOiAxODVweDtcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIERBVEUgUElDS0VSXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWl4aW4gZHNfbWVkaWEtcXVlcnkoJHNpemUpIHtcbiAgQGlmICRzaXplID09IG1lZGl1bSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLmRzX2RhdGVwaWNrZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuICAuZHNfaW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19pbnB1dC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuXG4gICZfX3RvZGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDBFOEZGO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX3RvZGF5OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3R0b206IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDRweDtcbiAgfVxuXG4gICZfX2RpYWxvZyB7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCAjQjNCM0IzO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgb3V0bGluZS1jb2xvciAwLjJzO1xuICAgIHdpZHRoOiAyOTZweDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJi0tb3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBzdXBwb3J0cyAobGVmdDogdmFyKC0tZHMtZGF0ZS1waWNrZXItbGVmdC1vZmZzZXQpKSB7XG4gICAgICAgIGxlZnQ6IHZhcigtLWRzLWRhdGUtcGlja2VyLWxlZnQtb2Zmc2V0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgJl9fbmF2YnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiA0cHg7XG5cbiAgICAgIC5kc19idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFMEUwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgLmRzX2J1dHRvbiAuZHNfaWNvbiB7XG4gICAgICBoZWlnaHQ6IDEuOGVtO1xuICAgICAgd2lkdGg6IDEuOGVtO1xuICAgICAgZmlsbDogIzAwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmX190YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICB0aCwgdGQge1xuICAgICAgICB3aWR0aDogMTQuMjglO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBjb2xvcjogIzVlNWU1ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UwRTBFMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZHNfc2VsZWN0ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAmW2Rpc2FibGVkPVwidHJ1ZVwiXSxcbiAgICAgICAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgY29sb3I6ICNCMEIwQjA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGNvbG9yIDAuMnM7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEUwRTA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5kc19zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgLmRzX2J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFMEUwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5qcy1kYXRlcGlja2VyLW9re1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3MDNjO1xuICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzAzYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVhMzA7XG4gICAgfVxuXG4gICAgLmRzX2ljb24ge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBmaWxsOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBkc19tZWRpYS1xdWVyeShtZWRpdW0pIHtcbiAgLmRzX2RhdGVwaWNrZXIge1xuICAgICZfX2RpYWxvZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRlciB7XG4gICAgICAgID4gOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiA6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRzX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDcwM2M7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1YTMwO1xuICB9XG59XG5cbi5kc19kYXRlcGlja2VyX19oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5kc19kYXRlcGlja2VyX19mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDhweCAwO1xufVxuXG4uZnVsbHktaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZHNfZGF0ZXBpY2tlcl9fZGlhbG9nX190YWJsZS1jYXB0aW9uIHtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufSIsIi8qIVxuICogIEZvbnQgQXdlc29tZSA0LjMuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXG4gKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSlcbiAqL1xuLyogRk9OVCBQQVRIXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj00LjMuMCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9NC4zLjAnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmMj92PTQuMy4wJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuMy4wJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj00LjMuMCcpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnN2Zz92PTQuMy4wI2ZvbnRhd2Vzb21lcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5mYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xuLmZhLWxnIHtcbiAgZm9udC1zaXplOiAxLjMzMzMzMzMzZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xufVxuLmZhLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4uZmEtM3gge1xuICBmb250LXNpemU6IDNlbTtcbn1cbi5mYS00eCB7XG4gIGZvbnQtc2l6ZTogNGVtO1xufVxuLmZhLTV4IHtcbiAgZm9udC1zaXplOiA1ZW07XG59XG4uZmEtZncge1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmEtdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAyLjE0Mjg1NzE0ZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbi5mYS11bCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZhLWxpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMi4xNDI4NTcxNGVtO1xuICB3aWR0aDogMi4xNDI4NTcxNGVtO1xuICB0b3A6IDAuMTQyODU3MTRlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZhLWxpLmZhLWxnIHtcbiAgbGVmdDogLTEuODU3MTQyODZlbTtcbn1cbi5mYS1ib3JkZXIge1xuICBwYWRkaW5nOiAuMmVtIC4yNWVtIC4xNWVtO1xuICBib3JkZXI6IHNvbGlkIDAuMDhlbSAjZWVlZWVlO1xuICBib3JkZXItcmFkaXVzOiAuMWVtO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uZmEucHVsbC1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAuM2VtO1xufVxuLmZhLnB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogLjNlbTtcbn1cbi5mYS1zcGluIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuLmZhLXB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG4gIGFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG4uZmEtcm90YXRlLTkwIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbi5mYS1yb3RhdGUtMTgwIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi5mYS1yb3RhdGUtMjcwIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0zKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cbi5mYS1mbGlwLWhvcml6b250YWwge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbn1cbi5mYS1mbGlwLXZlcnRpY2FsIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG59XG46cm9vdCAuZmEtcm90YXRlLTkwLFxuOnJvb3QgLmZhLXJvdGF0ZS0xODAsXG46cm9vdCAuZmEtcm90YXRlLTI3MCxcbjpyb290IC5mYS1mbGlwLWhvcml6b250YWwsXG46cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIGZpbHRlcjogbm9uZTtcbn1cbi5mYS1zdGFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5mYS1zdGFjay0xeCxcbi5mYS1zdGFjay0yeCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mYS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuLmZhLXN0YWNrLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4uZmEtaW52ZXJzZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG4gICByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuLmZhLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAwXCI7XG59XG4uZmEtbXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDFcIjtcbn1cbi5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbn1cbi5mYS1lbnZlbG9wZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAzXCI7XG59XG4uZmEtaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDRcIjtcbn1cbi5mYS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG4uZmEtc3Rhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA2XCI7XG59XG4uZmEtdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwN1wiO1xufVxuLmZhLWZpbG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDhcIjtcbn1cbi5mYS10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOVwiO1xufVxuLmZhLXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBhXCI7XG59XG4uZmEtdGgtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYlwiO1xufVxuLmZhLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG59XG4uZmEtcmVtb3ZlOmJlZm9yZSxcbi5mYS1jbG9zZTpiZWZvcmUsXG4uZmEtdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbi5mYS1zZWFyY2gtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZVwiO1xufVxuLmZhLXNlYXJjaC1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMFwiO1xufVxuLmZhLXBvd2VyLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMVwiO1xufVxuLmZhLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMlwiO1xufVxuLmZhLWdlYXI6YmVmb3JlLFxuLmZhLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuLmZhLXRyYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTRcIjtcbn1cbi5mYS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE1XCI7XG59XG4uZmEtZmlsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE2XCI7XG59XG4uZmEtY2xvY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuLmZhLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMThcIjtcbn1cbi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxOVwiO1xufVxuLmZhLWFycm93LWNpcmNsZS1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWFcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxYlwiO1xufVxuLmZhLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFjXCI7XG59XG4uZmEtcGxheS1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZFwiO1xufVxuLmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsXG4uZmEtcmVwZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFlXCI7XG59XG4uZmEtcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiO1xufVxuLmZhLWxpc3QtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XG59XG4uZmEtbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiO1xufVxuLmZhLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjRcIjtcbn1cbi5mYS1oZWFkcGhvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI1XCI7XG59XG4uZmEtdm9sdW1lLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNlwiO1xufVxuLmZhLXZvbHVtZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI3XCI7XG59XG4uZmEtdm9sdW1lLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI4XCI7XG59XG4uZmEtcXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI5XCI7XG59XG4uZmEtYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYVwiO1xufVxuLmZhLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYlwiO1xufVxuLmZhLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmNcIjtcbn1cbi5mYS1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJkXCI7XG59XG4uZmEtYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmVcIjtcbn1cbi5mYS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZlwiO1xufVxuLmZhLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMFwiO1xufVxuLmZhLWZvbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzFcIjtcbn1cbi5mYS1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMyXCI7XG59XG4uZmEtaXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMzXCI7XG59XG4uZmEtdGV4dC1oZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzRcIjtcbn1cbi5mYS10ZXh0LXdpZHRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM1XCI7XG59XG4uZmEtYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNlwiO1xufVxuLmZhLWFsaWduLWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzN1wiO1xufVxuLmZhLWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM4XCI7XG59XG4uZmEtYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOVwiO1xufVxuLmZhLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2FcIjtcbn1cbi5mYS1kZWRlbnQ6YmVmb3JlLFxuLmZhLW91dGRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2JcIjtcbn1cbi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2NcIjtcbn1cbi5mYS12aWRlby1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjtcbn1cbi5mYS1waG90bzpiZWZvcmUsXG4uZmEtaW1hZ2U6YmVmb3JlLFxuLmZhLXBpY3R1cmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuLmZhLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MFwiO1xufVxuLmZhLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjtcbn1cbi5mYS1hZGp1c3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDJcIjtcbn1cbi5mYS10aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQzXCI7XG59XG4uZmEtZWRpdDpiZWZvcmUsXG4uZmEtcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7XG59XG4uZmEtc2hhcmUtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDVcIjtcbn1cbi5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NlwiO1xufVxuLmZhLWFycm93czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0N1wiO1xufVxuLmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDhcIjtcbn1cbi5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ5XCI7XG59XG4uZmEtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGFcIjtcbn1cbi5mYS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRiXCI7XG59XG4uZmEtcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGNcIjtcbn1cbi5mYS1zdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRkXCI7XG59XG4uZmEtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZVwiO1xufVxuLmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MFwiO1xufVxuLmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MVwiO1xufVxuLmZhLWVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUyXCI7XG59XG4uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG4uZmEtY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuLmZhLXBsdXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG59XG4uZmEtbWludXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU2XCI7XG59XG4uZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG59XG4uZmEtY2hlY2stY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU4XCI7XG59XG4uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG4uZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWFcIjtcbn1cbi5mYS1jcm9zc2hhaXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDViXCI7XG59XG4uZmEtdGltZXMtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cbi5mYS1jaGVjay1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZFwiO1xufVxuLmZhLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xufVxuLmZhLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjBcIjtcbn1cbi5mYS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MVwiO1xufVxuLmZhLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYyXCI7XG59XG4uZmEtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2M1wiO1xufVxuLmZhLW1haWwtZm9yd2FyZDpiZWZvcmUsXG4uZmEtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjRcIjtcbn1cbi5mYS1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjVcIjtcbn1cbi5mYS1jb21wcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NlwiO1xufVxuLmZhLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjdcIjtcbn1cbi5mYS1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OFwiO1xufVxuLmZhLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY5XCI7XG59XG4uZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XG59XG4uZmEtZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YlwiO1xufVxuLmZhLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmNcIjtcbn1cbi5mYS1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZkXCI7XG59XG4uZmEtZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG59XG4uZmEtZXllLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcwXCI7XG59XG4uZmEtd2FybmluZzpiZWZvcmUsXG4uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjtcbn1cbi5mYS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MlwiO1xufVxuLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDczXCI7XG59XG4uZmEtcmFuZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XG59XG4uZmEtY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NVwiO1xufVxuLmZhLW1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NlwiO1xufVxuLmZhLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cbi5mYS1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cbi5mYS1yZXR3ZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc5XCI7XG59XG4uZmEtc2hvcHBpbmctY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiO1xufVxuLmZhLWZvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YlwiO1xufVxuLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG4uZmEtYXJyb3dzLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2RcIjtcbn1cbi5mYS1hcnJvd3MtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3ZVwiO1xufVxuLmZhLWJhci1jaGFydC1vOmJlZm9yZSxcbi5mYS1iYXItY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODBcIjtcbn1cbi5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiO1xufVxuLmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MlwiO1xufVxuLmZhLWNhbWVyYS1yZXRybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4M1wiO1xufVxuLmZhLWtleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NFwiO1xufVxuLmZhLWdlYXJzOmJlZm9yZSxcbi5mYS1jb2dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg1XCI7XG59XG4uZmEtY29tbWVudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjtcbn1cbi5mYS10aHVtYnMtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4N1wiO1xufVxuLmZhLXRodW1icy1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODhcIjtcbn1cbi5mYS1zdGFyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODlcIjtcbn1cbi5mYS1oZWFydC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhhXCI7XG59XG4uZmEtc2lnbi1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGJcIjtcbn1cbi5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGNcIjtcbn1cbi5mYS10aHVtYi10YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhkXCI7XG59XG4uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZVwiO1xufVxuLmZhLXNpZ24taW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTBcIjtcbn1cbi5mYS10cm9waHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTFcIjtcbn1cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7XG59XG4uZmEtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkzXCI7XG59XG4uZmEtbGVtb24tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NFwiO1xufVxuLmZhLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk1XCI7XG59XG4uZmEtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTZcIjtcbn1cbi5mYS1ib29rbWFyay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk3XCI7XG59XG4uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk4XCI7XG59XG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiO1xufVxuLmZhLWZhY2Vib29rLWY6YmVmb3JlLFxuLmZhLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XG59XG4uZmEtZ2l0aHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG59XG4uZmEtdW5sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDljXCI7XG59XG4uZmEtY3JlZGl0LWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWRcIjtcbn1cbi5mYS1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjtcbn1cbi5mYS1oZGQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMFwiO1xufVxuLmZhLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7XG59XG4uZmEtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmM1wiO1xufVxuLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEzXCI7XG59XG4uZmEtaGFuZC1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7XG59XG4uZmEtaGFuZC1vLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTVcIjtcbn1cbi5mYS1oYW5kLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTZcIjtcbn1cbi5mYS1oYW5kLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhN1wiO1xufVxuLmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE4XCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE5XCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFhXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWJcIjtcbn1cbi5mYS1nbG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhY1wiO1xufVxuLmZhLXdyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZFwiO1xufVxuLmZhLXRhc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFlXCI7XG59XG4uZmEtZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIwXCI7XG59XG4uZmEtYnJpZWZjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIxXCI7XG59XG4uZmEtYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMlwiO1xufVxuLmZhLWdyb3VwOmJlZm9yZSxcbi5mYS11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiO1xufVxuLmZhLWNoYWluOmJlZm9yZSxcbi5mYS1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMxXCI7XG59XG4uZmEtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzJcIjtcbn1cbi5mYS1mbGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjM1wiO1xufVxuLmZhLWN1dDpiZWZvcmUsXG4uZmEtc2Npc3NvcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzRcIjtcbn1cbi5mYS1jb3B5OmJlZm9yZSxcbi5mYS1maWxlcy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM1XCI7XG59XG4uZmEtcGFwZXJjbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM2XCI7XG59XG4uZmEtc2F2ZTpiZWZvcmUsXG4uZmEtZmxvcHB5LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzdcIjtcbn1cbi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzhcIjtcbn1cbi5mYS1uYXZpY29uOmJlZm9yZSxcbi5mYS1yZW9yZGVyOmJlZm9yZSxcbi5mYS1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG4uZmEtbGlzdC11bDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYVwiO1xufVxuLmZhLWxpc3Qtb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cbi5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNjXCI7XG59XG4uZmEtdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNkXCI7XG59XG4uZmEtdGFibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2VcIjtcbn1cbi5mYS1tYWdpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMFwiO1xufVxuLmZhLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQxXCI7XG59XG4uZmEtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQyXCI7XG59XG4uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkM1wiO1xufVxuLmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNFwiO1xufVxuLmZhLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7XG59XG4uZmEtbW9uZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDZcIjtcbn1cbi5mYS1jYXJldC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG4uZmEtY2FyZXQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjtcbn1cbi5mYS1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7XG59XG4uZmEtY2FyZXQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cbi5mYS1jb2x1bW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRiXCI7XG59XG4uZmEtdW5zb3J0ZWQ6YmVmb3JlLFxuLmZhLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGNcIjtcbn1cbi5mYS1zb3J0LWRvd246YmVmb3JlLFxuLmZhLXNvcnQtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZFwiO1xufVxuLmZhLXNvcnQtdXA6YmVmb3JlLFxuLmZhLXNvcnQtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRlXCI7XG59XG4uZmEtZW52ZWxvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiO1xufVxuLmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSxcbi5mYS11bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUyXCI7XG59XG4uZmEtbGVnYWw6YmVmb3JlLFxuLmZhLWdhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUzXCI7XG59XG4uZmEtZGFzaGJvYXJkOmJlZm9yZSxcbi5mYS10YWNob21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU0XCI7XG59XG4uZmEtY29tbWVudC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU1XCI7XG59XG4uZmEtY29tbWVudHMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlNlwiO1xufVxuLmZhLWZsYXNoOmJlZm9yZSxcbi5mYS1ib2x0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU3XCI7XG59XG4uZmEtc2l0ZW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOFwiO1xufVxuLmZhLXVtYnJlbGxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU5XCI7XG59XG4uZmEtcGFzdGU6YmVmb3JlLFxuLmZhLWNsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYVwiO1xufVxuLmZhLWxpZ2h0YnVsYi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7XG59XG4uZmEtZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWNcIjtcbn1cbi5mYS1jbG91ZC1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlZFwiO1xufVxuLmZhLWNsb3VkLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlZVwiO1xufVxuLmZhLXVzZXItbWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjBcIjtcbn1cbi5mYS1zdGV0aG9zY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMVwiO1xufVxuLmZhLXN1aXRjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYyXCI7XG59XG4uZmEtYmVsbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEyXCI7XG59XG4uZmEtY29mZmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY0XCI7XG59XG4uZmEtY3V0bGVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmNVwiO1xufVxuLmZhLWZpbGUtdGV4dC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY2XCI7XG59XG4uZmEtYnVpbGRpbmctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmN1wiO1xufVxuLmZhLWhvc3BpdGFsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjhcIjtcbn1cbi5mYS1hbWJ1bGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjlcIjtcbn1cbi5mYS1tZWRraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmFcIjtcbn1cbi5mYS1maWdodGVyLWpldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYlwiO1xufVxuLmZhLWJlZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmNcIjtcbn1cbi5mYS1oLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZFwiO1xufVxuLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZlXCI7XG59XG4uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDBcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDFcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwM1wiO1xufVxuLmZhLWFuZ2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjtcbn1cbi5mYS1hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuLmZhLWFuZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG59XG4uZmEtYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiO1xufVxuLmZhLWRlc2t0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjtcbn1cbi5mYS1sYXB0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDlcIjtcbn1cbi5mYS10YWJsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGFcIjtcbn1cbi5mYS1tb2JpbGUtcGhvbmU6YmVmb3JlLFxuLmZhLW1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYlwiO1xufVxuLmZhLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XG59XG4uZmEtcXVvdGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZFwiO1xufVxuLmZhLXF1b3RlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG59XG4uZmEtc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMFwiO1xufVxuLmZhLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiO1xufVxuLmZhLW1haWwtcmVwbHk6YmVmb3JlLFxuLmZhLXJlcGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEyXCI7XG59XG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiO1xufVxuLmZhLWZvbGRlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE0XCI7XG59XG4uZmEtZm9sZGVyLW9wZW4tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNVwiO1xufVxuLmZhLXNtaWxlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMThcIjtcbn1cbi5mYS1mcm93bi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7XG59XG4uZmEtbWVoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWFcIjtcbn1cbi5mYS1nYW1lcGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7XG59XG4uZmEta2V5Ym9hcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExY1wiO1xufVxuLmZhLWZsYWctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZFwiO1xufVxuLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFlXCI7XG59XG4uZmEtdGVybWluYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjBcIjtcbn1cbi5mYS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIxXCI7XG59XG4uZmEtbWFpbC1yZXBseS1hbGw6YmVmb3JlLFxuLmZhLXJlcGx5LWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiO1xufVxuLmZhLXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsXG4uZmEtc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLFxuLmZhLXN0YXItaGFsZi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIzXCI7XG59XG4uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjRcIjtcbn1cbi5mYS1jcm9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI1XCI7XG59XG4uZmEtY29kZS1mb3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI2XCI7XG59XG4uZmEtdW5saW5rOmJlZm9yZSxcbi5mYS1jaGFpbi1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjtcbn1cbi5mYS1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOFwiO1xufVxuLmZhLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjlcIjtcbn1cbi5mYS1leGNsYW1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYVwiO1xufVxuLmZhLXN1cGVyc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJiXCI7XG59XG4uZmEtc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJjXCI7XG59XG4uZmEtZXJhc2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJkXCI7XG59XG4uZmEtcHV6emxlLXBpZWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJlXCI7XG59XG4uZmEtbWljcm9waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMFwiO1xufVxuLmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzFcIjtcbn1cbi5mYS1zaGllbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzJcIjtcbn1cbi5mYS1jYWxlbmRhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG59XG4uZmEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzRcIjtcbn1cbi5mYS1yb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzVcIjtcbn1cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzZcIjtcbn1cbi5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM3XCI7XG59XG4uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzhcIjtcbn1cbi5mYS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzOVwiO1xufVxuLmZhLWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2FcIjtcbn1cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiO1xufVxuLmZhLWNzczM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2NcIjtcbn1cbi5mYS1hbmNob3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2RcIjtcbn1cbi5mYS11bmxvY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNlXCI7XG59XG4uZmEtYnVsbHNleWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDBcIjtcbn1cbi5mYS1lbGxpcHNpcy1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQxXCI7XG59XG4uZmEtZWxsaXBzaXMtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MlwiO1xufVxuLmZhLXJzcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDNcIjtcbn1cbi5mYS1wbGF5LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuLmZhLXRpY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NVwiO1xufVxuLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NlwiO1xufVxuLmZhLW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ3XCI7XG59XG4uZmEtbGV2ZWwtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDhcIjtcbn1cbi5mYS1sZXZlbC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ5XCI7XG59XG4uZmEtY2hlY2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG59XG4uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YlwiO1xufVxuLmZhLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRjXCI7XG59XG4uZmEtc2hhcmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRkXCI7XG59XG4uZmEtY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZVwiO1xufVxuLmZhLXRvZ2dsZS1kb3duOmJlZm9yZSxcbi5mYS1jYXJldC1zcXVhcmUtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7XG59XG4uZmEtdG9nZ2xlLXVwOmJlZm9yZSxcbi5mYS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MVwiO1xufVxuLmZhLXRvZ2dsZS1yaWdodDpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjtcbn1cbi5mYS1ldXJvOmJlZm9yZSxcbi5mYS1ldXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjtcbn1cbi5mYS1nYnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjtcbn1cbi5mYS1kb2xsYXI6YmVmb3JlLFxuLmZhLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiO1xufVxuLmZhLXJ1cGVlOmJlZm9yZSxcbi5mYS1pbnI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjtcbn1cbi5mYS1jbnk6YmVmb3JlLFxuLmZhLXJtYjpiZWZvcmUsXG4uZmEteWVuOmJlZm9yZSxcbi5mYS1qcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjtcbn1cbi5mYS1ydWJsZTpiZWZvcmUsXG4uZmEtcm91YmxlOmJlZm9yZSxcbi5mYS1ydWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNThcIjtcbn1cbi5mYS13b246YmVmb3JlLFxuLmZhLWtydzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiO1xufVxuLmZhLWJpdGNvaW46YmVmb3JlLFxuLmZhLWJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YVwiO1xufVxuLmZhLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cbi5mYS1maWxlLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWNcIjtcbn1cbi5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZFwiO1xufVxuLmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZVwiO1xufVxuLmZhLXNvcnQtYW1vdW50LWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MFwiO1xufVxuLmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjFcIjtcbn1cbi5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYyXCI7XG59XG4uZmEtc29ydC1udW1lcmljLWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjNcIjtcbn1cbi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjRcIjtcbn1cbi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiO1xufVxuLmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY2XCI7XG59XG4uZmEteW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiO1xufVxuLmZhLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjhcIjtcbn1cbi5mYS14aW5nLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OVwiO1xufVxuLmZhLXlvdXR1YmUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YVwiO1xufVxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmJcIjtcbn1cbi5mYS1zdGFjay1vdmVyZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2Y1wiO1xufVxuLmZhLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZFwiO1xufVxuLmZhLWZsaWNrcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZVwiO1xufVxuLmZhLWFkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiO1xufVxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiO1xufVxuLmZhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzJcIjtcbn1cbi5mYS10dW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzNcIjtcbn1cbi5mYS10dW1ibHItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7XG59XG4uZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc1XCI7XG59XG4uZmEtbG9uZy1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NlwiO1xufVxuLmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3N1wiO1xufVxuLmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzhcIjtcbn1cbi5mYS1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3OVwiO1xufVxuLmZhLXdpbmRvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2FcIjtcbn1cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7XG59XG4uZmEtbGludXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjtcbn1cbi5mYS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZFwiO1xufVxuLmZhLXNreXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdlXCI7XG59XG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiO1xufVxuLmZhLXRyZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MVwiO1xufVxuLmZhLWZlbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MlwiO1xufVxuLmZhLW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODNcIjtcbn1cbi5mYS1naXR0aXA6YmVmb3JlLFxuLmZhLWdyYXRpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg0XCI7XG59XG4uZmEtc3VuLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjtcbn1cbi5mYS1tb29uLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODZcIjtcbn1cbi5mYS1hcmNoaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg3XCI7XG59XG4uZmEtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg4XCI7XG59XG4uZmEtdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODlcIjtcbn1cbi5mYS13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YVwiO1xufVxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiO1xufVxuLmZhLXBhZ2VsaW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4Y1wiO1xufVxuLmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThkXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGVcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkwXCI7XG59XG4uZmEtdG9nZ2xlLWxlZnQ6YmVmb3JlLFxuLmZhLWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTFcIjtcbn1cbi5mYS1kb3QtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjtcbn1cbi5mYS13aGVlbGNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkzXCI7XG59XG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7XG59XG4uZmEtdHVya2lzaC1saXJhOmJlZm9yZSxcbi5mYS10cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cbi5mYS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk2XCI7XG59XG4uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5N1wiO1xufVxuLmZhLXNsYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk4XCI7XG59XG4uZmEtZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk5XCI7XG59XG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7XG59XG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7XG59XG4uZmEtaW5zdGl0dXRpb246YmVmb3JlLFxuLmZhLWJhbms6YmVmb3JlLFxuLmZhLXVuaXZlcnNpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWNcIjtcbn1cbi5mYS1tb3J0YXItYm9hcmQ6YmVmb3JlLFxuLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7XG59XG4uZmEteWFob286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWVcIjtcbn1cbi5mYS1nb29nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTBcIjtcbn1cbi5mYS1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTFcIjtcbn1cbi5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7XG59XG4uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7XG59XG4uZmEtc3R1bWJsZXVwb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTRcIjtcbn1cbi5mYS1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTVcIjtcbn1cbi5mYS1kaWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE2XCI7XG59XG4uZmEtcGllZC1waXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhN1wiO1xufVxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7XG59XG4uZmEtZHJ1cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE5XCI7XG59XG4uZmEtam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFhXCI7XG59XG4uZmEtbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWJcIjtcbn1cbi5mYS1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWNcIjtcbn1cbi5mYS1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZFwiO1xufVxuLmZhLWNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFlXCI7XG59XG4uZmEtcGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIwXCI7XG59XG4uZmEtc3Bvb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjFcIjtcbn1cbi5mYS1jdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIyXCI7XG59XG4uZmEtY3ViZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjNcIjtcbn1cbi5mYS1iZWhhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI0XCI7XG59XG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjtcbn1cbi5mYS1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNlwiO1xufVxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiO1xufVxuLmZhLXJlY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjhcIjtcbn1cbi5mYS1hdXRvbW9iaWxlOmJlZm9yZSxcbi5mYS1jYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjlcIjtcbn1cbi5mYS1jYWI6YmVmb3JlLFxuLmZhLXRheGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmFcIjtcbn1cbi5mYS10cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJiXCI7XG59XG4uZmEtc3BvdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiY1wiO1xufVxuLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmRcIjtcbn1cbi5mYS1zb3VuZGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJlXCI7XG59XG4uZmEtZGF0YWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzBcIjtcbn1cbi5mYS1maWxlLXBkZi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMxXCI7XG59XG4uZmEtZmlsZS13b3JkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzJcIjtcbn1cbi5mYS1maWxlLWV4Y2VsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzNcIjtcbn1cbi5mYS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiO1xufVxuLmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsXG4uZmEtZmlsZS1waWN0dXJlLW86YmVmb3JlLFxuLmZhLWZpbGUtaW1hZ2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiO1xufVxuLmZhLWZpbGUtemlwLW86YmVmb3JlLFxuLmZhLWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM2XCI7XG59XG4uZmEtZmlsZS1zb3VuZC1vOmJlZm9yZSxcbi5mYS1maWxlLWF1ZGlvLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzdcIjtcbn1cbi5mYS1maWxlLW1vdmllLW86YmVmb3JlLFxuLmZhLWZpbGUtdmlkZW8tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiO1xufVxuLmZhLWZpbGUtY29kZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM5XCI7XG59XG4uZmEtdmluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYVwiO1xufVxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjtcbn1cbi5mYS1qc2ZpZGRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjY1wiO1xufVxuLmZhLWxpZmUtYm91eTpiZWZvcmUsXG4uZmEtbGlmZS1idW95OmJlZm9yZSxcbi5mYS1saWZlLXNhdmVyOmJlZm9yZSxcbi5mYS1zdXBwb3J0OmJlZm9yZSxcbi5mYS1saWZlLXJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjtcbn1cbi5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZVwiO1xufVxuLmZhLXJhOmJlZm9yZSxcbi5mYS1yZWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMFwiO1xufVxuLmZhLWdlOmJlZm9yZSxcbi5mYS1lbXBpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDFcIjtcbn1cbi5mYS1naXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7XG59XG4uZmEtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7XG59XG4uZmEtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDRcIjtcbn1cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7XG59XG4uZmEtcXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDZcIjtcbn1cbi5mYS13ZWNoYXQ6YmVmb3JlLFxuLmZhLXdlaXhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkN1wiO1xufVxuLmZhLXNlbmQ6YmVmb3JlLFxuLmZhLXBhcGVyLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7XG59XG4uZmEtc2VuZC1vOmJlZm9yZSxcbi5mYS1wYXBlci1wbGFuZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ5XCI7XG59XG4uZmEtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYVwiO1xufVxuLmZhLWdlbmRlcmxlc3M6YmVmb3JlLFxuLmZhLWNpcmNsZS10aGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRiXCI7XG59XG4uZmEtaGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRjXCI7XG59XG4uZmEtcGFyYWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRkXCI7XG59XG4uZmEtc2xpZGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZVwiO1xufVxuLmZhLXNoYXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMFwiO1xufVxuLmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTFcIjtcbn1cbi5mYS1ib21iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUyXCI7XG59XG4uZmEtc29jY2VyLWJhbGwtbzpiZWZvcmUsXG4uZmEtZnV0Ym9sLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjtcbn1cbi5mYS10dHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cbi5mYS1iaW5vY3VsYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU1XCI7XG59XG4uZmEtcGx1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiO1xufVxuLmZhLXNsaWRlc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTdcIjtcbn1cbi5mYS10d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjtcbn1cbi5mYS15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU5XCI7XG59XG4uZmEtbmV3c3BhcGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWFcIjtcbn1cbi5mYS13aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7XG59XG4uZmEtY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlY1wiO1xufVxuLmZhLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiO1xufVxuLmZhLWdvb2dsZS13YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWVcIjtcbn1cbi5mYS1jYy12aXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7XG59XG4uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xufVxuLmZhLWNjLWRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7XG59XG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xufVxuLmZhLWNjLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNFwiO1xufVxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiO1xufVxuLmZhLWJlbGwtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjtcbn1cbi5mYS1iZWxsLXNsYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjdcIjtcbn1cbi5mYS10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOFwiO1xufVxuLmZhLWNvcHlyaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOVwiO1xufVxuLmZhLWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZhXCI7XG59XG4uZmEtZXllZHJvcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmYlwiO1xufVxuLmZhLXBhaW50LWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZjXCI7XG59XG4uZmEtYmlydGhkYXktY2FrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZFwiO1xufVxuLmZhLWFyZWEtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjtcbn1cbi5mYS1waWUtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDBcIjtcbn1cbi5mYS1saW5lLWNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAxXCI7XG59XG4uZmEtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAyXCI7XG59XG4uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwM1wiO1xufVxuLmZhLXRvZ2dsZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDRcIjtcbn1cbi5mYS10b2dnbGUtb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDVcIjtcbn1cbi5mYS1iaWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA2XCI7XG59XG4uZmEtYnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA3XCI7XG59XG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiO1xufVxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiO1xufVxuLmZhLWNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBhXCI7XG59XG4uZmEtc2hla2VsOmJlZm9yZSxcbi5mYS1zaGVxZWw6YmVmb3JlLFxuLmZhLWlsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiO1xufVxuLmZhLW1lYW5wYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBjXCI7XG59XG4uZmEtYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZFwiO1xufVxuLmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBlXCI7XG59XG4uZmEtZGFzaGN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjtcbn1cbi5mYS1mb3J1bWJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMVwiO1xufVxuLmZhLWxlYW5wdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTJcIjtcbn1cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTNcIjtcbn1cbi5mYS1zaGlydHNpbmJ1bGs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTRcIjtcbn1cbi5mYS1zaW1wbHlidWlsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNVwiO1xufVxuLmZhLXNreWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE2XCI7XG59XG4uZmEtY2FydC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE3XCI7XG59XG4uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE4XCI7XG59XG4uZmEtZGlhbW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOVwiO1xufVxuLmZhLXNoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWFcIjtcbn1cbi5mYS11c2VyLXNlY3JldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYlwiO1xufVxuLmZhLW1vdG9yY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWNcIjtcbn1cbi5mYS1zdHJlZXQtdmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZFwiO1xufVxuLmZhLWhlYXJ0YmVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZVwiO1xufVxuLmZhLXZlbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIxXCI7XG59XG4uZmEtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMlwiO1xufVxuLmZhLW1lcmN1cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjNcIjtcbn1cbi5mYS10cmFuc2dlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiO1xufVxuLmZhLXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNVwiO1xufVxuLmZhLXZlbnVzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNlwiO1xufVxuLmZhLW1hcnMtZG91YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI3XCI7XG59XG4uZmEtdmVudXMtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOFwiO1xufVxuLmZhLW1hcnMtc3Ryb2tlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI5XCI7XG59XG4uZmEtbWFycy1zdHJva2UtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiO1xufVxuLmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cbi5mYS1uZXV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmNcIjtcbn1cbi5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMFwiO1xufVxuLmZhLXBpbnRlcmVzdC1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMxXCI7XG59XG4uZmEtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjtcbn1cbi5mYS1zZXJ2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzNcIjtcbn1cbi5mYS11c2VyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzRcIjtcbn1cbi5mYS11c2VyLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG4uZmEtaG90ZWw6YmVmb3JlLFxuLmZhLWJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNlwiO1xufVxuLmZhLXZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjtcbn1cbi5mYS10cmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOFwiO1xufVxuLmZhLXN1YndheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOVwiO1xufVxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiO1xufVxuIl19 */
