.govuk-link, a, .app-step-nav-header__title, .app-step-nav-related__link {
  /*font-family: "Roboto", arial, sans-serif;*/
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
}

/*! 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: "Roboto";
  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: "Roboto";
  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 {
  .govuk-link, a, .app-step-nav-header__title, .app-step-nav-related__link {
    font-family: sans-serif;
  }
}

.govuk-link:hover, a:hover, .app-step-nav-header__title:hover, .app-step-nav-related__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.govuk-link:focus, a:focus, .app-step-nav-header__title:focus, .app-step-nav-related__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

.govuk-link:link, a:link, .app-step-nav-header__title:link, .app-step-nav-related__link:link {
  color: #1d70b8;
}

.govuk-link:visited, a:visited, .app-step-nav-header__title:visited, .app-step-nav-related__link:visited {
  color: #4c2c92;
}

.govuk-link:hover, a:hover, .app-step-nav-header__title:hover, .app-step-nav-related__link:hover {
  color: #003078;
}

.govuk-link:active, a:active, .app-step-nav-header__title:active, .app-step-nav-related__link:active {
  color: #0b0c0c;
}

.govuk-link:focus, a:focus, .app-step-nav-header__title:focus, .app-step-nav-related__link:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-link[href^="/"]:after, a[href^="/"]:after, .app-step-nav-header__title[href^="/"]:after, .app-step-nav-related__link[href^="/"]:after, .govuk-link[href^="http://"]:after, a[href^="http://"]:after, .app-step-nav-header__title[href^="http://"]:after, .app-step-nav-related__link[href^="http://"]:after, .govuk-link[href^="https://"]:after, a[href^="https://"]:after, .app-step-nav-header__title[href^="https://"]:after, .app-step-nav-related__link[href^="https://"]: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-list {
  font-family: "Roboto", 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;
  color: #0b0c0c;
  margin-top: 0;
  margin-bottom: 15px;
  padding-left: 0;
  list-style-type: none;
}

@media print {
  .govuk-list {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-list {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-list {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-list {
    color: #000000;
  }
}

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

.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-template {
  background-color: #f3f2f1;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media screen {
  .govuk-template {
    overflow-y: scroll;
  }
}

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

.govuk-heading-xl {
  color: #0b0c0c;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.09375;
  display: block;
  margin-top: 0;
  margin-bottom: 30px;
}

@media print {
  .govuk-heading-xl {
    color: #000000;
  }
}

@media print {
  .govuk-heading-xl {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-xl {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.04167;
  }
}

@media print {
  .govuk-heading-xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

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

.govuk-heading-l {
  color: #0b0c0c;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.04167;
  display: block;
  margin-top: 0;
  margin-bottom: 20px;
}

@media print {
  .govuk-heading-l {
    color: #000000;
  }
}

@media print {
  .govuk-heading-l {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-l {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-heading-l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

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

.govuk-heading-m {
  color: #0b0c0c;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-heading-m {
    color: #000000;
  }
}

@media print {
  .govuk-heading-m {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-m {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-heading-m {
    font-size: 18pt;
    line-height: 1.15;
  }
}

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

.govuk-heading-s {
  color: #0b0c0c;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-heading-s {
    color: #000000;
  }
}

@media print {
  .govuk-heading-s {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-heading-s {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-heading-s {
    font-size: 14pt;
    line-height: 1.15;
  }
}

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

.govuk-caption-xl {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: block;
  margin-bottom: 5px;
  color: #505a5f;
}

@media print {
  .govuk-caption-xl {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-caption-xl {
    font-size: 27px;
    font-size: 1.6875rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-caption-xl {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-caption-l {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: block;
  margin-bottom: 5px;
  color: #505a5f;
}

@media print {
  .govuk-caption-l {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-caption-l {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-caption-l {
    font-size: 18pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .govuk-caption-l {
    margin-bottom: 0;
  }
}

.govuk-caption-m {
  font-family: "Roboto", 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;
  color: #505a5f;
}

@media print {
  .govuk-caption-m {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-caption-m {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-caption-m {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-body-l, .govuk-body-lead {
  color: #0b0c0c;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-top: 0;
  margin-bottom: 20px;
}

@media print {
  .govuk-body-l, .govuk-body-lead {
    color: #000000;
  }
}

@media print {
  .govuk-body-l, .govuk-body-lead {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-l, .govuk-body-lead {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-body-l, .govuk-body-lead {
    font-size: 18pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-l, .govuk-body-lead {
    margin-bottom: 30px;
  }
}

.govuk-body-m, .govuk-body, p {
  color: #0b0c0c;
  font-family: "Roboto", 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;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-body-m, .govuk-body, p {
    color: #000000;
  }
}

@media print {
  .govuk-body-m, .govuk-body, p {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-m, .govuk-body, p {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-body-m, .govuk-body, p {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-m, .govuk-body, p {
    margin-bottom: 20px;
  }
}

.govuk-body-s {
  color: #0b0c0c;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-body-s {
    color: #000000;
  }
}

@media print {
  .govuk-body-s {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-s {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-body-s {
    font-size: 14pt;
    line-height: 1.2;
  }
}

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

.govuk-body-xs {
  color: #0b0c0c;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-body-xs {
    color: #000000;
  }
}

@media print {
  .govuk-body-xs {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-body-xs {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.42857;
  }
}

@media print {
  .govuk-body-xs {
    font-size: 12pt;
    line-height: 1.2;
  }
}

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

.govuk-body-l + .govuk-heading-l, .govuk-body-lead + .govuk-heading-l {
  padding-top: 5px;
}

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

.govuk-body-m + .govuk-heading-l, .govuk-body + .govuk-heading-l, p + .govuk-heading-l,
.govuk-body-s + .govuk-heading-l,
.govuk-list + .govuk-heading-l {
  padding-top: 15px;
}

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

.govuk-body-m + .govuk-heading-m, .govuk-body + .govuk-heading-m, p + .govuk-heading-m,
.govuk-body-s + .govuk-heading-m,
.govuk-list + .govuk-heading-m,
.govuk-body-m + .govuk-heading-s,
.govuk-body + .govuk-heading-s,
p + .govuk-heading-s,
.govuk-body-s + .govuk-heading-s,
.govuk-list + .govuk-heading-s {
  padding-top: 5px;
}

@media (min-width: 40.0625em) {
  .govuk-body-m + .govuk-heading-m, .govuk-body + .govuk-heading-m, p + .govuk-heading-m,
  .govuk-body-s + .govuk-heading-m,
  .govuk-list + .govuk-heading-m,
  .govuk-body-m + .govuk-heading-s,
  .govuk-body + .govuk-heading-s,
  p + .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;
  margin-bottom: 30px;
}

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

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

.govuk-section-break--l {
  margin-top: 20px;
  margin-bottom: 20px;
}

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

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

.govuk-section-break--m {
  margin-top: 15px;
  margin-bottom: 15px;
}

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

@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;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (min-width: 40.0625em) {
  .govuk-button-group {
    margin-bottom: 15px;
  }
}

.govuk-button-group .govuk-link {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.1875;
  display: inline-block;
  max-width: 100%;
  margin-top: 5px;
  margin-bottom: 20px;
  text-align: center;
}

@media print {
  .govuk-button-group .govuk-link {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-button-group .govuk-link {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1;
  }
}

@media print {
  .govuk-button-group .govuk-link {
    font-size: 14pt;
    line-height: 19px;
  }
}

.govuk-button-group .govuk-button {
  margin-bottom: 17px;
}

@media (min-width: 40.0625em) {
  .govuk-button-group {
    margin-right: -15px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    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 {
  margin-bottom: 20px;
}

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

@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 {
  margin-right: -15px;
  margin-left: -15px;
}

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

.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.3333%;
    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.6666%;
    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 {
  box-sizing: border-box;
  width: 100%;
  padding: 0 15px;
}

@media (min-width: 40.0625em) {
  .govuk-grid-column-full {
    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.3333%;
    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.6666%;
    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-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-header {
  padding-top: 15px;
  padding-bottom: 15px;
}

.govuk-accordion__section-heading {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-top: 0;
  margin-bottom: 0;
}

@media print {
  .govuk-accordion__section-heading {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-accordion__section-heading {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-accordion__section-heading {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-accordion__section-button {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: inline-block;
  margin-bottom: 0;
  padding-top: 15px;
}

@media print {
  .govuk-accordion__section-button {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-accordion__section-button {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-accordion__section-button {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-accordion__section-summary {
  margin-top: 10px;
  margin-bottom: 0;
}

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

.js-enabled .govuk-accordion {
  border-bottom: 1px solid #b1b4b6;
}

.js-enabled .govuk-accordion__section {
  padding-top: 0;
}

.js-enabled .govuk-accordion__section-content {
  display: none;
  padding-top: 15px;
  padding-bottom: 15px;
}

@media (min-width: 40.0625em) {
  .js-enabled .govuk-accordion__section-content {
    padding-top: 15px;
  }
}

@media (min-width: 40.0625em) {
  .js-enabled .govuk-accordion__section-content {
    padding-bottom: 15px;
  }
}

.js-enabled .govuk-accordion__section--expanded .govuk-accordion__section-content {
  display: block;
}

.js-enabled .govuk-accordion__open-all {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  border-width: 0;
  color: #1d70b8;
  background: none;
  cursor: pointer;
  -webkit-appearance: none;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
}

@media print {
  .js-enabled .govuk-accordion__open-all {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .js-enabled .govuk-accordion__open-all {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .js-enabled .govuk-accordion__open-all {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media print {
  .js-enabled .govuk-accordion__open-all {
    font-family: sans-serif;
  }
}

.js-enabled .govuk-accordion__open-all:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.js-enabled .govuk-accordion__open-all:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

.js-enabled .govuk-accordion__open-all:link {
  color: #1d70b8;
}

.js-enabled .govuk-accordion__open-all:visited {
  color: #4c2c92;
}

.js-enabled .govuk-accordion__open-all:hover {
  color: #003078;
}

.js-enabled .govuk-accordion__open-all:active {
  color: #0b0c0c;
}

.js-enabled .govuk-accordion__open-all:focus {
  color: #0b0c0c;
}

.js-enabled .govuk-accordion__open-all::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.js-enabled .govuk-accordion__section-header {
  position: relative;
  padding-right: 40px;
  border-top: 1px solid #b1b4b6;
  cursor: pointer;
}

.js-enabled .govuk-accordion__section-button {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding: 0;
  border-width: 0;
  color: #1d70b8;
  background: none;
  text-align: left;
  cursor: pointer;
  -webkit-appearance: none;
}

@media print {
  .js-enabled .govuk-accordion__section-button {
    font-family: sans-serif;
  }
}

.js-enabled .govuk-accordion__section-button:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

.js-enabled .govuk-accordion__section-button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.js-enabled .govuk-accordion__section-button:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

.js-enabled .govuk-accordion__section-button:hover:not(:focus) {
  color: #003078;
  text-decoration: underline;
  text-decoration-thickness: max(3px, .1875rem, .12em);
  text-underline-offset: 0.1em;
}

@media (hover: none) {
  .js-enabled .govuk-accordion__section-button:hover {
    text-decoration: none;
  }
}

.js-enabled .govuk-accordion__controls {
  text-align: right;
}

.js-enabled .govuk-accordion__icon {
  position: absolute;
  top: 50%;
  right: 15px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
}

.js-enabled .govuk-accordion__icon:after,
.js-enabled .govuk-accordion__icon:before {
  content: "";
  box-sizing: border-box;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 25%;
  height: 25%;
  margin: auto;
  border: 2px solid transparent;
  background-color: #0b0c0c;
}

.js-enabled .govuk-accordion__icon:before {
  width: 100%;
}

.js-enabled .govuk-accordion__icon:after {
  height: 100%;
}

.js-enabled .govuk-accordion__section--expanded .govuk-accordion__icon:after {
  content: " ";
  display: none;
}

.govuk-back-link {
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
  display: inline-block;
  position: relative;
  margin-top: 15px;
  margin-bottom: 15px;
  padding-left: 14px;
}

@media (min-width: 40.0625em) {
  .govuk-back-link {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-back-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media print {
  .govuk-back-link {
    font-family: sans-serif;
  }
}

.govuk-back-link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.govuk-back-link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

.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:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3px;
  width: 7px;
  height: 7px;
  margin: auto 0;
  -webkit-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
  transform: rotate(225deg);
  border: solid;
  border-width: 1px 1px 0 0;
  border-color: #505a5f;
}

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

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

.govuk-breadcrumbs {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  color: #0b0c0c;
  margin-top: 15px;
  margin-bottom: 10px;
}

@media print {
  .govuk-breadcrumbs {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-breadcrumbs {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-breadcrumbs {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media print {
  .govuk-breadcrumbs {
    color: #000000;
  }
}

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

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

.govuk-breadcrumbs__list-item {
  display: inline-block;
  position: relative;
  margin-bottom: 5px;
  margin-left: 10px;
  padding-left: 15.655px;
  float: left;
}

.govuk-breadcrumbs__list-item:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -3.31px;
  width: 7px;
  height: 7px;
  margin: auto 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  border: solid;
  border-width: 1px 1px 0 0;
  border-color: #505a5f;
}

.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: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
}

@media print {
  .govuk-breadcrumbs__link {
    font-family: sans-serif;
  }
}

.govuk-breadcrumbs__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.govuk-breadcrumbs__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

.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: 6px;
    margin: 0;
  }
  .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.govuk-button {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.1875;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 100%;
  margin-top: 0;
  margin-right: 0;
  margin-left: 0;
  margin-bottom: 22px;
  padding: 8px 10px 7px;
  border: 2px solid transparent;
  border-radius: 0;
  color: #ffffff;
  background-color: #00703c !important;
  box-shadow: 0 2px 0 #002d18;
  text-align: center;
  vertical-align: top;
  cursor: pointer;
  -webkit-appearance: none;
}

@media print {
  .govuk-button {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-button {
    font-size: 19px !important;
    font-size: 1.1875rem;
    line-height: 1;
  }
}

@media print {
  .govuk-button {
    font-size: 14pt;
    line-height: 19px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-button {
    margin-bottom: 32px;
  }
}

@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: #005a30 !important;
}

.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,
.govuk-button[disabled="disabled"],
.govuk-button[disabled] {
  opacity: 0.5;
}

.govuk-button--disabled:hover,
.govuk-button[disabled="disabled"]:hover,
.govuk-button[disabled]:hover {
  background-color: #00703c;
  cursor: default;
}

.govuk-button--disabled:focus,
.govuk-button[disabled="disabled"]:focus,
.govuk-button[disabled]:focus {
  outline: none;
}

.govuk-button--disabled:active,
.govuk-button[disabled="disabled"]:active,
.govuk-button[disabled]:active {
  top: 0;
  box-shadow: 0 2px 0 #002d18;
}

.govuk-button--secondary {
  background-color: #f3f2f1;
  box-shadow: 0 2px 0 #929191;
}

.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: #dbdad9;
}

.govuk-button--secondary:hover[disabled] {
  background-color: #f3f2f1;
}

.govuk-button--warning {
  background-color: #d4351c;
  box-shadow: 0 2px 0 #55150b;
}

.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: #aa2a16;
}

.govuk-button--warning:hover[disabled] {
  background-color: #d4351c;
}

.govuk-button--start {
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  min-height: auto;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (min-width: 40.0625em) {
  .govuk-button--start {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1;
  }
}

@media print {
  .govuk-button--start {
    font-size: 18pt;
    line-height: 1;
  }
}

.govuk-button__start-icon {
  margin-left: 5px;
  vertical-align: middle;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-item-align: center;
  align-self: center;
}

@media (min-width: 48.0625em) {
  .govuk-button__start-icon {
    margin-left: 10px;
  }
}

.govuk-error-message {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  margin-bottom: 15px;
  clear: both;
  color: #d4351c;
}

@media print {
  .govuk-error-message {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-error-message {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-error-message {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.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: "Roboto", 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;
  color: #0b0c0c;
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  margin-bottom: 10px;
  padding: 0;
  white-space: normal;
}

@media print {
  .govuk-fieldset__legend {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-fieldset__legend {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-fieldset__legend {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-fieldset__legend {
    color: #000000;
  }
}

.govuk-fieldset__legend--xl {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.09375;
  margin-bottom: 15px;
}

@media print {
  .govuk-fieldset__legend--xl {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--xl {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.04167;
  }
}

@media print {
  .govuk-fieldset__legend--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-fieldset__legend--l {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.04167;
  margin-bottom: 15px;
}

@media print {
  .govuk-fieldset__legend--l {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--l {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-fieldset__legend--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-fieldset__legend--m {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-bottom: 15px;
}

@media print {
  .govuk-fieldset__legend--m {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--m {
    font-size: 24px;
    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-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}

@media print {
  .govuk-fieldset__legend--s {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-fieldset__legend--s {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-fieldset__legend--s {
    font-size: 14pt;
    line-height: 1.15;
  }
}

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

.govuk-hint {
  font-family: "Roboto", 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;
  margin-bottom: 15px;
  color: #505a5f;
}

@media print {
  .govuk-hint {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-hint {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-hint {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.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: "Roboto", 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;
  color: #0b0c0c;
  display: block;
  margin-bottom: 5px;
}

@media print {
  .govuk-label {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-label {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-label {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-label {
    color: #000000;
  }
}

.govuk-label--xl {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.09375;
  margin-bottom: 15px;
}

@media print {
  .govuk-label--xl {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-label--xl {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.04167;
  }
}

@media print {
  .govuk-label--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-label--l {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.04167;
  margin-bottom: 15px;
}

@media print {
  .govuk-label--l {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-label--l {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-label--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-label--m {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-bottom: 10px;
}

@media print {
  .govuk-label--m {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-label--m {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-label--m {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-label--s {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}

@media print {
  .govuk-label--s {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-label--s {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-label--s {
    font-size: 14pt;
    line-height: 1.15;
  }
}

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

.govuk-checkboxes__item {
  font-family: "Roboto", 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: 40px;
  clear: left;
}

@media print {
  .govuk-checkboxes__item {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-checkboxes__item {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-checkboxes__item {
    font-size: 14pt;
    line-height: 1.15;
  }
}

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

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

.govuk-checkboxes__label {
  display: inline-block;
  margin-bottom: 0;
  padding: 8px 15px 5px;
  cursor: pointer;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

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

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

.govuk-checkboxes__hint {
  display: block;
  padding-right: 15px;
  padding-left: 15px;
}

.govuk-checkboxes__input:focus + .govuk-checkboxes__label:before {
  border-width: 4px;
  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: default;
}

.govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
  opacity: .5;
}

.govuk-checkboxes__conditional {
  margin-bottom: 15px;
  margin-left: 18px;
  padding-left: 33px;
  border-left: 4px solid #b1b4b6;
}

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

.js-enabled .govuk-checkboxes__conditional--hidden {
  display: none;
}

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

.govuk-checkboxes--small .govuk-checkboxes__item {
  min-height: 0;
  margin-bottom: 0;
  padding-left: 34px;
  float: left;
}

.govuk-checkboxes--small .govuk-checkboxes__item:after {
  content: "";
  display: block;
  clear: both;
}

.govuk-checkboxes--small .govuk-checkboxes__input {
  left: -10px;
}

.govuk-checkboxes--small .govuk-checkboxes__label {
  margin-top: -2px;
  padding: 13px 15px 13px 1px;
  float: left;
}

@media (min-width: 40.0625em) {
  .govuk-checkboxes--small .govuk-checkboxes__label {
    padding: 11px 15px 10px 1px;
  }
}

.govuk-checkboxes--small .govuk-checkboxes__label:before {
  top: 8px;
  width: 24px;
  height: 24px;
}

.govuk-checkboxes--small .govuk-checkboxes__label:after {
  top: 15px;
  left: 6px;
  width: 12px;
  height: 6.5px;
  border-width: 0 0 3px 3px;
}

.govuk-checkboxes--small .govuk-checkboxes__hint {
  padding: 0;
  clear: both;
}

.govuk-checkboxes--small .govuk-checkboxes__conditional {
  margin-left: 10px;
  padding-left: 20px;
  clear: both;
}

.govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label:before {
  box-shadow: 0 0 0 10px #b1b4b6;
}

.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-textarea {
  font-family: "Roboto", 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;
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 40px;
  margin-bottom: 20px;
  padding: 5px;
  resize: vertical;
  border: 2px solid #0b0c0c;
  border-radius: 0;
  -webkit-appearance: none;
}

@media print {
  .govuk-textarea {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-textarea {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-textarea {
    font-size: 14pt;
    line-height: 1.25;
  }
}

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

.govuk-textarea:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px;
}

.govuk-textarea--error {
  border: 2px solid #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-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "tnum" 1;
  font-feature-settings: "tnum" 1;
  font-weight: 400;
  margin-top: 0;
  margin-bottom: 0;
}

@media print {
  .govuk-character-count__message {
    font-family: sans-serif;
  }
}

@supports (font-variant-numeric: tabular-nums) {
  .govuk-character-count__message {
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    font-variant-numeric: tabular-nums;
  }
}

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

.govuk-cookie-banner {
  font-family: "Roboto", 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;
  padding-top: 20px;
  border-bottom: 10px solid transparent;
  background-color: #f3f2f1;
}

@media print {
  .govuk-cookie-banner {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-cookie-banner {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-cookie-banner {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.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-summary-list {
  font-family: "Roboto", 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;
  color: #0b0c0c;
  margin: 0;
  margin-bottom: 20px;
}

@media print {
  .govuk-summary-list {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-summary-list {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-summary-list {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-summary-list {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-summary-list {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
}

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

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

@media (min-width: 40.0625em) {
  .govuk-summary-list__row {
    display: table-row;
  }
}

.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;
    border-bottom: 1px solid #b1b4b6;
  }
}

.govuk-summary-list__actions {
  margin-bottom: 15px;
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__actions {
    width: 20%;
    padding-right: 0;
    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;
  }
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__value {
    width: 50%;
  }
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__value:last-child {
    width: 70%;
  }
}

.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;
  margin-right: 10px;
  padding-right: 10px;
}

.govuk-summary-list__actions-list-item:not(:last-child) {
  border-right: 1px solid #b1b4b6;
}

.govuk-summary-list__actions-list-item:last-child {
  margin-right: 0;
  padding-right: 0;
  border: 0;
}

@media (max-width: 40.0525em) {
  .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;
    border: 0;
  }
}

@media (max-width: 40.0525em) {
  .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;
    border: 0;
  }
}

.govuk-input {
  font-family: "Roboto", 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;
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  height: 2.5rem;
  margin-top: 0;
  padding: 5px;
  border: 2px solid #0b0c0c;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

@media print {
  .govuk-input {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-input {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-input {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-input:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px;
}

.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: 2px solid #d4351c;
}

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

.govuk-input--width-30 {
  max-width: 59ex;
}

.govuk-input--width-20 {
  max-width: 41ex;
}

.govuk-input--width-10 {
  max-width: 23ex;
}

.govuk-input--width-5 {
  max-width: 10.8ex;
}

.govuk-input--width-4 {
  max-width: 9ex;
}

.govuk-input--width-3 {
  max-width: 7.2ex;
}

.govuk-input--width-2 {
  max-width: 5.4ex;
}

.govuk-input__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.govuk-input__wrapper .govuk-input {
  -webkit-box-flex: 0;
  -ms-flex: 0 1 auto;
  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: "Roboto", 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;
  box-sizing: border-box;
  display: inline-block;
  min-width: 40px;
  min-width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  padding: 5px;
  border: 2px solid #0b0c0c;
  background-color: #f3f2f1;
  text-align: center;
  white-space: nowrap;
  cursor: default;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

@media print {
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (max-width: 40.0525em) {
  .govuk-input__prefix,
  .govuk-input__suffix {
    line-height: 1.6;
  }
}

@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 {
  font-size: 0;
}

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

.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: "Roboto", 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;
  color: #0b0c0c;
  margin-bottom: 20px;
  display: block;
}

@media print {
  .govuk-details {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-details {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-details {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-details {
    color: #000000;
  }
}

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

.govuk-details__summary {
  display: inline-block;
  position: relative;
  margin-bottom: 5px;
  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;
}

.govuk-details__summary-text {
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
}

.govuk-details__summary:hover .govuk-details__summary-text {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.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 {
  padding: 15px;
  padding-left: 20px;
  border-left: 5px solid #b1b4b6;
}

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

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

.govuk-error-summary {
  color: #0b0c0c;
  padding: 15px;
  margin-bottom: 30px;
  border: 5px solid #d4351c;
}

@media print {
  .govuk-error-summary {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-error-summary {
    padding: 20px;
  }
}

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

.govuk-error-summary:focus {
  outline: 3px solid #ffdd00;
}

.govuk-error-summary__title {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-top: 0;
  margin-bottom: 15px;
}

@media print {
  .govuk-error-summary__title {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-error-summary__title {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-error-summary__title {
    font-size: 18pt;
    line-height: 1.15;
  }
}

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

.govuk-error-summary__body {
  font-family: "Roboto", 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;
}

@media print {
  .govuk-error-summary__body {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-error-summary__body {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-error-summary__body {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-error-summary__body p {
  margin-top: 0;
  margin-bottom: 15px;
}

@media (min-width: 40.0625em) {
  .govuk-error-summary__body p {
    margin-bottom: 20px;
  }
}

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

.govuk-error-summary__list a {
  font-weight: 700;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
}

@media print {
  .govuk-error-summary__list a {
    font-family: sans-serif;
  }
}

.govuk-error-summary__list a:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.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;
}

.govuk-error-summary__list a:link, .govuk-error-summary__list a:visited {
  color: #d4351c;
}

.govuk-error-summary__list a:hover {
  color: #942514;
}

.govuk-error-summary__list a:active {
  color: #d4351c;
}

.govuk-error-summary__list a:focus {
  color: #0b0c0c;
}

.govuk-file-upload {
  font-family: "Roboto", 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;
  color: #0b0c0c;
  margin-left: -5px;
  padding: 5px;
}

@media print {
  .govuk-file-upload {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-file-upload {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-file-upload {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-file-upload {
    color: #000000;
  }
}

.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-footer {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  padding-top: 25px;
  padding-bottom: 15px;
  border-top: 1px solid #b1b4b6;
  color: #0b0c0c;
  background: #f3f2f1;
}

@media print {
  .govuk-footer {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-footer {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-footer {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media (min-width: 40.0625em) {
  .govuk-footer {
    padding-top: 40px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-footer {
    padding-bottom: 25px;
  }
}

.govuk-footer__link {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
}

@media print {
  .govuk-footer__link {
    font-family: sans-serif;
  }
}

.govuk-footer__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.govuk-footer__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

.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;
  border: 0;
  border-bottom: 1px solid #b1b4b6;
}

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

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

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

.govuk-footer__meta-item--grow {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

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

.govuk-footer__licence-logo {
  display: inline-block;
  margin-right: 10px;
  vertical-align: top;
}

@media (max-width: 48.0525em) {
  .govuk-footer__licence-logo {
    margin-bottom: 15px;
  }
}

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

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

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  .govuk-footer__copyright-logo {
    /*background-image: url("/govuk/assets/images/govuk-crest-2x.png");*/
  }
}

.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: 25px;
  padding-bottom: 20px;
  border-bottom: 1px solid #b1b4b6;
}

@media (min-width: 40.0625em) {
  .govuk-footer__heading {
    margin-bottom: 40px;
  }
}

@media (max-width: 40.0525em) {
  .govuk-footer__heading {
    padding-bottom: 10px;
  }
}

.govuk-footer__navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-right: -15px;
  margin-left: -15px;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.govuk-footer__section {
  display: inline-block;
  margin-right: 15px;
  margin-bottom: 30px;
  margin-left: 15px;
  vertical-align: top;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

@media (max-width: 48.0525em) {
  .govuk-footer__section {
    -ms-flex-preferred-size: 200px;
    flex-basis: 200px;
  }
}

@media (min-width: 48.0625em) {
  .govuk-footer__section:first-child:nth-last-child(2) {
    -webkit-box-flex: 2;
    -ms-flex-positive: 2;
    flex-grow: 2;
  }
}

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

.govuk-footer__list .govuk-footer__link:hover {
  text-decoration-thickness: auto;
}

@media (min-width: 48.0625em) {
  .govuk-footer__list--columns-2 {
    -webkit-column-count: 2;
    column-count: 2;
  }
  .govuk-footer__list--columns-3 {
    -webkit-column-count: 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: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  border-bottom: 10px solid #ffffff;
  color: #ffffff;
  background: #0b0c0c;
}

@media print {
  .govuk-header {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-header {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-header {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.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 {
  position: relative;
  margin-bottom: -10px;
  padding-top: 10px;
  border-bottom: 10px solid #1d70b8;
}

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

.govuk-header__logotype {
  display: inline-block;
  margin-right: 5px;
  forced-color-adjust: none;
}

.govuk-header__logotype:last-child {
  margin-right: 0;
}

.govuk-header__logotype-crown {
  position: relative;
  top: -1px;
  margin-right: 1px;
  fill: currentColor;
  vertical-align: top;
}

.govuk-header__logotype-crown-fallback-image {
  width: 36px;
  height: 32px;
  border: 0;
  vertical-align: middle;
}

.govuk-header__product-name {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  display: inline-table;
}

@media print {
  .govuk-header__product-name {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-header__product-name {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1;
  }
}

@media print {
  .govuk-header__product-name {
    font-size: 18pt;
    line-height: 1;
  }
}

.govuk-header__link {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: none;
}

@media print {
  .govuk-header__link {
    font-family: sans-serif;
  }
}

.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:hover {
  text-decoration: underline;
  text-decoration-thickness: 3px;
  text-underline-offset: 0.1em;
}

.govuk-header__link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

.govuk-header__link--homepage {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  display: inline-block;
  margin-right: 10px;
  font-size: 30px;
  line-height: 1;
}

@media print {
  .govuk-header__link--homepage {
    font-family: sans-serif;
  }
}

.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__link--service-name {
  display: inline-block;
  margin-bottom: 10px;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
}

@media print {
  .govuk-header__link--service-name {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-header__link--service-name {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-header__link--service-name {
    font-size: 18pt;
    line-height: 1.15;
  }
}

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

.govuk-header__logo {
  margin-bottom: 10px;
  padding-right: 50px;
}

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

@media (min-width: 48.0625em) {
  .govuk-header__logo {
    width: 33.33%;
    padding-right: 15px;
    float: left;
    vertical-align: top;
  }
}

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

.govuk-header__menu-button {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  display: none;
  position: absolute;
  top: 20px;
  right: 0;
  margin: 0;
  padding: 0;
  border: 0;
  color: #ffffff;
  background: none;
  cursor: pointer;
}

@media print {
  .govuk-header__menu-button {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-header__menu-button {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-header__menu-button {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.govuk-header__menu-button:hover {
  -webkit-text-decoration: solid underline 3px;
  text-decoration: solid underline 3px;
  text-underline-offset: 0.1em;
}

.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;
}

.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;
}

@media (min-width: 40.0625em) {
  .govuk-header__menu-button {
    top: 15px;
  }
}

.govuk-header__menu-button--open: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 5px;
  border-bottom-color: inherit;
}

.govuk-header__navigation {
  margin-bottom: 10px;
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}

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

.js-enabled .govuk-header__menu-button {
  display: block;
}

@media (min-width: 48.0625em) {
  .js-enabled .govuk-header__menu-button {
    display: none;
  }
}

.js-enabled .govuk-header__navigation {
  display: none;
}

@media (min-width: 48.0625em) {
  .js-enabled .govuk-header__navigation {
    display: block;
  }
}

.js-enabled .govuk-header__navigation--open {
  display: block;
}

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

.govuk-header__navigation--no-service-name {
  padding-top: 40px;
}

.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-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  white-space: nowrap;
}

@media print {
  .govuk-header__navigation-item a {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-header__navigation-item a {
    font-size: 16px;
    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--active a:link, .govuk-header__navigation-item--active a:hover, .govuk-header__navigation-item--active a:visited {
  color: #1d8feb;
}

.govuk-header__navigation-item--active a:focus {
  color: #0b0c0c;
}

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

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

.govuk-inset-text {
  font-family: "Roboto", 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;
  color: #0b0c0c;
  padding: 15px;
  margin-top: 20px;
  margin-bottom: 20px;
  clear: both;
  border-left: 10px solid #b1b4b6;
}

@media print {
  .govuk-inset-text {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-inset-text {
    font-size: 20px;
    /*font-size: 1.1875rem;*/
    line-height: 1.31579;
  }
}

@media print {
  .govuk-inset-text {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-inset-text {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .govuk-inset-text {
    margin-top: 30px;
  }
}

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

.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: "Roboto", 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;
  margin-bottom: 30px;
  border: 5px solid #1d70b8;
  background-color: #1d70b8;
}

@media print {
  .govuk-notification-banner {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-notification-banner {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-notification-banner {
    font-size: 14pt;
    line-height: 1.15;
  }
}

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

.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-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin: 0;
  padding: 0;
  color: #ffffff;
}

@media print {
  .govuk-notification-banner__title {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-notification-banner__title {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-notification-banner__title {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-notification-banner__content {
  color: #0b0c0c;
  padding: 15px;
  background-color: #ffffff;
}

@media print {
  .govuk-notification-banner__content {
    color: #000000;
  }
}

@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-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin: 0 0 15px 0;
  padding: 0;
}

@media print {
  .govuk-notification-banner__heading {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-notification-banner__heading {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-notification-banner__heading {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-notification-banner__link {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
}

@media print {
  .govuk-notification-banner__link {
    font-family: sans-serif;
  }
}

.govuk-notification-banner__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.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;
}

.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: #004e2a;
}

.govuk-notification-banner--success .govuk-notification-banner__link:active {
  color: #00703c;
}

.govuk-notification-banner--success .govuk-notification-banner__link:focus {
  color: #0b0c0c;
}

.govuk-panel {
  font-family: "Roboto", 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;
  box-sizing: border-box;
  margin-bottom: 15px;
  padding: 35px;
  border: 5px solid transparent;
  text-align: center;
}

@media print {
  .govuk-panel {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-panel {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-panel {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (max-width: 40.0525em) {
  .govuk-panel {
    padding: 25px;
  }
}

.govuk-panel--confirmation {
  color: #ffffff;
  background: #00703c;
}

@media print {
  .govuk-panel--confirmation {
    border-color: currentColor;
    color: #000000;
    background: none;
  }
}

.govuk-panel__title {
  margin-top: 0;
  margin-bottom: 30px;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.09375;
}

@media print {
  .govuk-panel__title {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-panel__title {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.04167;
  }
}

@media print {
  .govuk-panel__title {
    font-size: 32pt;
    line-height: 1.15;
  }
}

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

.govuk-panel__body {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.04167;
}

@media print {
  .govuk-panel__body {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-panel__body {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-panel__body {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-tag {
  display: inline-block;
  outline: 2px solid transparent;
  outline-offset: -2px;
  color: #ffffff;
  background-color: #1d70b8;
  letter-spacing: 1px;
  text-decoration: none;
  text-transform: uppercase;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1;
  padding-top: 5px;
  padding-right: 8px;
  padding-bottom: 4px;
  padding-left: 8px;
}

@media print {
  .govuk-tag {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-tag {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1;
  }
}

@media print {
  .govuk-tag {
    font-size: 14pt;
    line-height: 1;
  }
}

.govuk-tag--inactive {
  background-color: #505a5f;
}

.govuk-tag--grey {
  color: #383f43;
  background: #eeefef;
}

.govuk-tag--purple {
  color: #3d2375;
  background: #dbd5e9;
}

.govuk-tag--turquoise {
  color: #10403c;
  background: #bfe3e0;
}

.govuk-tag--blue {
  color: #144e81;
  background: #d2e2f1;
}

.govuk-tag--yellow {
  color: #594d00;
  background: #fff7bf;
}

.govuk-tag--orange {
  color: #6e3619;
  background: #fcd6c3;
}

.govuk-tag--red {
  color: #942514;
  background: #f6d7d2;
}

.govuk-tag--pink {
  color: #80224d;
  background: #f7d7e6;
}

.govuk-tag--green {
  color: #005a30;
  background: #cce2d8;
}

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

.govuk-phase-banner__content {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  color: #0b0c0c;
  display: table;
  margin: 0;
}

@media print {
  .govuk-phase-banner__content {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-phase-banner__content {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-phase-banner__content {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@media print {
  .govuk-phase-banner__content {
    color: #000000;
  }
}

.govuk-phase-banner__content__tag {
  margin-right: 10px;
}

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

.govuk-tabs {
  margin-top: 5px;
  margin-bottom: 20px;
}

@media (min-width: 40.0625em) {
  .govuk-tabs {
    margin-top: 5px;
  }
}

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

.govuk-tabs__title {
  font-family: "Roboto", 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;
  color: #0b0c0c;
  margin-bottom: 10px;
}

@media print {
  .govuk-tabs__title {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-tabs__title {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-tabs__title {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-tabs__title {
    color: #000000;
  }
}

.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 {
  font-family: "Roboto", 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;
  margin-left: 25px;
}

@media print {
  .govuk-tabs__list-item {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-tabs__list-item {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-tabs__list-item {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-tabs__list-item:before {
  color: #0b0c0c;
  content: "\2014 ";
  margin-left: -25px;
  padding-right: 5px;
}

@media print {
  .govuk-tabs__list-item:before {
    color: #000000;
  }
}

.govuk-tabs__tab {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
  display: inline-block;
  margin-bottom: 10px;
}

@media print {
  .govuk-tabs__tab {
    font-family: sans-serif;
  }
}

.govuk-tabs__tab:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.govuk-tabs__tab:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

.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__panel {
  margin-bottom: 30px;
}

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

@media (min-width: 40.0625em) {
  .js-enabled .govuk-tabs__list {
    margin-bottom: 0;
    border-bottom: 1px solid #b1b4b6;
  }
  .js-enabled .govuk-tabs__list:after {
    content: "";
    display: block;
    clear: both;
  }
  .js-enabled .govuk-tabs__title {
    display: none;
  }
  .js-enabled .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;
  }
  .js-enabled .govuk-tabs__list-item:before {
    content: none;
  }
  .js-enabled .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;
  }
  .js-enabled .govuk-tabs__list-item--selected .govuk-tabs__tab {
    text-decoration: none;
  }
  .js-enabled .govuk-tabs__tab {
    margin-bottom: 0;
  }
  .js-enabled .govuk-tabs__tab:link, .js-enabled .govuk-tabs__tab:visited {
    color: #0b0c0c;
  }
}

@media print and (min-width: 40.0625em) {
  .js-enabled .govuk-tabs__tab:link, .js-enabled .govuk-tabs__tab:visited {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .js-enabled .govuk-tabs__tab:hover {
    color: rgba(11, 12, 12, 0.99);
  }
  .js-enabled .govuk-tabs__tab:active, .js-enabled .govuk-tabs__tab:focus {
    color: #0b0c0c;
  }
}

@media print and (min-width: 40.0625em) {
  .js-enabled .govuk-tabs__tab:active, .js-enabled .govuk-tabs__tab:focus {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .js-enabled .govuk-tabs__tab:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  .js-enabled .govuk-tabs__panel {
    margin-bottom: 0;
    padding: 30px 20px;
    border: 1px solid #b1b4b6;
    border-top: 0;
  }
}

@media (min-width: 40.0625em) and (min-width: 40.0625em) {
  .js-enabled .govuk-tabs__panel {
    margin-bottom: 0;
  }
}

@media (min-width: 40.0625em) {
  .js-enabled .govuk-tabs__panel > :last-child {
    margin-bottom: 0;
  }
  .js-enabled .govuk-tabs__panel--hidden {
    display: none;
  }
}

.govuk-radios__item {
  font-family: "Roboto", 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: 40px;
  clear: left;
}

@media print {
  .govuk-radios__item {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-radios__item {
    font-size: 19px !important;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-radios__item {
    font-size: 14pt;
    line-height: 1.15;
  }
}

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

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

.govuk-radios__label {
  display: inline-block;
  margin-bottom: 0;
  padding: 8px 15px 5px;
  cursor: pointer;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

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

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

.govuk-radios__hint {
  display: block;
  padding-right: 15px;
  padding-left: 15px;
}

.govuk-radios__input:focus + .govuk-radios__label:before {
  border-width: 4px;
  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: default;
}

.govuk-radios__input:disabled + .govuk-radios__label {
  opacity: .5;
}

@media (min-width: 40.0625em) {
  .govuk-radios--inline:after {
    content: "";
    display: block;
    clear: both;
  }
  .govuk-radios--inline .govuk-radios__item {
    margin-right: 20px;
    float: left;
    clear: none;
  }
}

.govuk-radios--inline.govuk-radios--conditional .govuk-radios__item {
  margin-right: 0;
  float: none;
}

.govuk-radios__divider {
  font-family: "Roboto", 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;
  color: #0b0c0c;
  width: 40px;
  margin-bottom: 10px;
  text-align: center;
}

@media print {
  .govuk-radios__divider {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-radios__divider {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-radios__divider {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-radios__divider {
    color: #000000;
  }
}

.govuk-radios__conditional {
  margin-bottom: 15px;
  margin-left: 18px;
  padding-left: 33px;
  border-left: 4px solid #b1b4b6;
}

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

.js-enabled .govuk-radios__conditional--hidden {
  display: none;
}

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

.govuk-radios--small .govuk-radios__item {
  min-height: 0;
  margin-bottom: 0;
  padding-left: 34px;
  float: left;
}

.govuk-radios--small .govuk-radios__item:after {
  content: "";
  display: block;
  clear: both;
}

.govuk-radios--small .govuk-radios__input {
  left: -10px;
}

.govuk-radios--small .govuk-radios__label {
  margin-top: -2px;
  padding: 13px 15px 13px 1px;
  float: left;
}

@media (min-width: 40.0625em) {
  .govuk-radios--small .govuk-radios__label {
    padding: 11px 15px 10px 1px;
  }
}

.govuk-radios--small .govuk-radios__label:before {
  top: 8px;
  width: 24px;
  height: 24px;
}

.govuk-radios--small .govuk-radios__label:after {
  top: 15px;
  left: 7px;
  border-width: 5px;
}

.govuk-radios--small .govuk-radios__hint {
  padding: 0;
  clear: both;
  pointer-events: none;
}

.govuk-radios--small .govuk-radios__conditional {
  margin-left: 10px;
  padding-left: 20px;
  clear: both;
}

.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 {
  box-shadow: 0 0 0 10px #b1b4b6;
}

.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: "Roboto", 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;
  box-sizing: border-box;
  max-width: 100%;
  height: 40px;
  height: 2.5rem;
  padding: 5px;
  border: 2px solid #0b0c0c;
}

@media print {
  .govuk-select {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-select {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-select {
    font-size: 14pt;
    line-height: 1.25;
  }
}

.govuk-select:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px;
}

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

.govuk-select--error {
  border: 2px solid #d4351c;
}

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

.govuk-skip-link {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  display: block;
  padding: 10px 15px;
}

.govuk-skip-link:active, .govuk-skip-link:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: inherit !important;
  overflow: visible !important;
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  white-space: inherit !important;
}

@media print {
  .govuk-skip-link {
    font-family: sans-serif;
  }
}

.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;
  }
}

@media (min-width: 40.0625em) {
  .govuk-skip-link {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-skip-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@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;
  box-shadow: none;
}

.govuk-table {
  font-family: "Roboto", 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;
  color: #0b0c0c;
  width: 100%;
  margin-bottom: 20px;
  border-spacing: 0;
  border-collapse: collapse;
}

@media print {
  .govuk-table {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-table {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-table {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-table {
    color: #000000;
  }
}

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

.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-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-feature-settings: "tnum" 1;
  font-feature-settings: "tnum" 1;
  font-weight: 400;
}

@media print {
  .govuk-table__cell--numeric {
    font-family: sans-serif;
  }
}

@supports (font-variant-numeric: tabular-nums) {
  .govuk-table__cell--numeric {
    -webkit-font-feature-settings: normal;
    font-feature-settings: normal;
    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 {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.09375;
  margin-bottom: 15px;
}

@media print {
  .govuk-table__caption--xl {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-table__caption--xl {
    font-size: 48px;
    font-size: 3rem;
    line-height: 1.04167;
  }
}

@media print {
  .govuk-table__caption--xl {
    font-size: 32pt;
    line-height: 1.15;
  }
}

.govuk-table__caption--l {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 24px;
  font-size: 1.5rem;
  line-height: 1.04167;
  margin-bottom: 15px;
}

@media print {
  .govuk-table__caption--l {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-table__caption--l {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.11111;
  }
}

@media print {
  .govuk-table__caption--l {
    font-size: 24pt;
    line-height: 1.05;
  }
}

.govuk-table__caption--m {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-bottom: 15px;
}

@media print {
  .govuk-table__caption--m {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-table__caption--m {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .govuk-table__caption--m {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-table__caption--s {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}

@media print {
  .govuk-table__caption--s {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-table__caption--s {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-table__caption--s {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.govuk-warning-text {
  position: relative;
  margin-bottom: 20px;
  padding: 10px 0;
}

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

.govuk-warning-text__assistive {
  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;
}

.govuk-warning-text__icon {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  box-sizing: border-box;
  display: inline-block;
  position: absolute;
  left: 0;
  min-width: 35px;
  min-height: 35px;
  margin-top: -7px;
  border: 3px solid #0b0c0c;
  border-radius: 50%;
  color: #ffffff;
  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;
  forced-color-adjust: none;
}

@media print {
  .govuk-warning-text__icon {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-warning-text__icon {
    margin-top: -5px;
  }
}

@media screen and (forced-colors: active) {
  .govuk-warning-text__icon {
    border-color: windowText;
    color: windowText;
    background: transparent;
  }
}

.govuk-warning-text__text {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  display: block;
  padding-left: 45px;
}

@media print {
  .govuk-warning-text__text {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .govuk-warning-text__text {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .govuk-warning-text__text {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media print {
  .govuk-warning-text__text {
    color: #000000;
  }
}

.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;
}

.govuk-visually-hidden-focusable {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  -webkit-clip-path: inset(50%) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.govuk-visually-hidden-focusable:active, .govuk-visually-hidden-focusable:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: inherit !important;
  overflow: visible !important;
  clip: auto !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  white-space: inherit !important;
}

.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;
}

@media (min-width: 40.0625em) {
  .govuk-\!-margin-0 {
    margin: 0 !important;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 40.0625em) {
  .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;
}

@media (min-width: 40.0625em) {
  .govuk-\!-padding-0 {
    padding: 0 !important;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media (min-width: 40.0625em) {
  .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-\!-font-size-80 {
  font-size: 53px !important;
  font-size: 3.3125rem !important;
  line-height: 1.03774 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-80 {
    font-size: 80px !important;
    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: 32px !important;
  font-size: 2rem !important;
  line-height: 1.09375 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-48 {
    font-size: 48px !important;
    font-size: 3rem !important;
    line-height: 1.04167 !important;
  }
}

@media print {
  .govuk-\!-font-size-48 {
    font-size: 32pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-36 {
  font-size: 24px !important;
  font-size: 1.5rem !important;
  line-height: 1.04167 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-36 {
    font-size: 36px !important;
    font-size: 2.25rem !important;
    line-height: 1.11111 !important;
  }
}

@media print {
  .govuk-\!-font-size-36 {
    font-size: 24pt !important;
    line-height: 1.05 !important;
  }
}

.govuk-\!-font-size-27 {
  font-size: 18px !important;
  font-size: 1.125rem !important;
  line-height: 1.11111 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-27 {
    font-size: 27px !important;
    font-size: 1.6875rem !important;
    line-height: 1.11111 !important;
  }
}

@media print {
  .govuk-\!-font-size-27 {
    font-size: 18pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-24 {
  font-size: 18px !important;
  font-size: 1.125rem !important;
  line-height: 1.11111 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-24 {
    font-size: 24px !important;
    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: 16px !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-19 {
    font-size: 19px !important;
    font-size: 1.1875rem !important;
    line-height: 1.31579 !important;
  }
}

@media print {
  .govuk-\!-font-size-19 {
    font-size: 14pt !important;
    line-height: 1.15 !important;
  }
}

.govuk-\!-font-size-16 {
  font-size: 14px !important;
  font-size: 0.875rem !important;
  line-height: 1.14286 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-16 {
    font-size: 16px !important;
    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: 12px !important;
  font-size: 0.75rem !important;
  line-height: 1.25 !important;
}

@media (min-width: 40.0625em) {
  .govuk-\!-font-size-14 {
    font-size: 14px !important;
    font-size: 0.875rem !important;
    line-height: 1.42857 !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-\!-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;
  position: relative;
  padding: 10px;
  background: #f3f2f1;
  border-top: solid 1px #b1b4b6;
  border-bottom: solid 1px #b1b4b6;
}

@media print {
  .app-step-nav-header {
    color: #000000;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav-header {
    padding: 15px;
  }
}

.app-step-nav-header__part-of {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  display: block;
  padding-bottom: .2em;
}

@media print {
  .app-step-nav-header__part-of {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav-header__part-of {
    font-size: 16px;
    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__title {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
}

@media print {
  .app-step-nav-header__title {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav-header__title {
    font-size: 24px;
    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;
}

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

.app-step-nav__button--title {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
  display: inline-block;
  padding: 0;
  text-align: left;
  color: #0b0c0c;
}

@media print {
  .app-step-nav__button--title {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav__button--title {
    font-size: 19px;
    line-height: 1.4;
  }
}

.app-step-nav--large .app-step-nav__button--title {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}

@media print {
  .app-step-nav--large .app-step-nav__button--title {
    font-family: sans-serif;
  }
}

@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: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
  position: relative;
  z-index: 1;
  padding: .5em 0;
}

@media print {
  .app-step-nav__button--controls {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav__button--controls {
    font-size: 14px;
    line-height: 1;
  }
}

@media print {
  .app-step-nav__button--controls {
    font-family: sans-serif;
  }
}

.app-step-nav__button--controls:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.app-step-nav__button--controls:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

.app-step-nav--large .app-step-nav__button--controls {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
}

@media print {
  .app-step-nav--large .app-step-nav__button--controls {
    font-family: sans-serif;
  }
}

@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: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  font-weight: bold;
  line-height: 23px;
  border: solid 2px #b1b4b6;
}

@media print {
  .app-step-nav__circle--number {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav__circle--number {
    font-size: 16px;
    line-height: 23px;
  }
}

.app-step-nav--large .app-step-nav__circle--number {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  font-weight: bold;
  line-height: 23px;
}

@media print {
  .app-step-nav--large .app-step-nav__circle--number {
    font-family: sans-serif;
  }
}

@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: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
}

@media print {
  .app-step-nav__circle--logic {
    font-family: sans-serif;
  }
}

@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: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  font-weight: bold;
  line-height: 28px;
}

@media print {
  .app-step-nav--large .app-step-nav__circle--logic {
    font-family: sans-serif;
  }
}

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

.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;
}

.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;
}

.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 {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

@media print {
  .app-step-nav__header:hover .app-step-nav__toggle-link {
    font-family: sans-serif;
  }
}

.app-step-nav__header:hover .app-step-nav__toggle-link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.app-step-nav__header:hover .app-step-nav__toggle-link:focus {
  outline: 3px solid transparent;
  color: #0b0c0c;
  background-color: #ffdd00;
  box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
  text-decoration: none;
}

@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__header {
    padding: 30px 0;
  }
}

.app-step-nav__title {
  color: #0b0c0c;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
  margin: 0;
}

@media print {
  .app-step-nav__title {
    color: #000000;
  }
}

@media print {
  .app-step-nav__title {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav__title {
    font-size: 19px;
    line-height: 1.4;
  }
}

.app-step-nav--large .app-step-nav__title {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.4;
}

@media print {
  .app-step-nav--large .app-step-nav__title {
    font-family: sans-serif;
  }
}

@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: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
  display: block;
  color: #1d70b8;
  text-transform: capitalize;
}

@media print {
  .app-step-nav__toggle-link {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav__toggle-link {
    font-size: 14px;
    line-height: 1.2;
  }
}

.app-step-nav--large .app-step-nav__toggle-link {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.2;
}

@media print {
  .app-step-nav--large .app-step-nav__toggle-link {
    font-family: sans-serif;
  }
}

@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;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.3;
}

@media print {
  .app-step-nav__panel {
    color: #000000;
  }
}

@media print {
  .app-step-nav__panel {
    font-family: sans-serif;
  }
}

@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: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  font-weight: normal;
  line-height: 1.3;
}

@media print {
  .app-step-nav--large .app-step-nav__panel {
    font-family: sans-serif;
  }
}

@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: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-decoration: underline;
  text-decoration-thickness: max(1px, .0625rem);
  text-underline-offset: 0.1em;
}

@media print {
  .app-step-nav__link {
    font-family: sans-serif;
  }
}

.app-step-nav__link:hover {
  text-decoration-thickness: max(3px, .1875rem, .12em);
}

.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;
}

.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;
}

.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: .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: " \2013\00a0";
}

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

@media print {
  .app-step-nav-related {
    color: #000000;
  }
}

.app-step-nav-related__heading {
  margin-top: 15px;
  margin-bottom: 10px;
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}

@media print {
  .app-step-nav-related__heading {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav-related__heading {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .app-step-nav-related__heading {
    font-size: 14pt;
    line-height: 1.15;
  }
}

.app-step-nav-related__links {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  margin: 0;
  padding: 0;
}

@media print {
  .app-step-nav-related__links {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav-related__links {
    font-size: 16px;
    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--singular {
  margin-bottom: 13px;
}

.app-step-nav-related--singular .app-step-nav-related__heading {
  font-family: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.4;
  margin-top: 20px;
}

@media print {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-size: 19px;
    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;
  }
}

@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: "Roboto", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
}

@media print {
  .app-task-list__section {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-task-list__section {
    font-size: 24px;
    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: "Roboto", 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;
  margin-bottom: 40px;
  list-style: none;
  padding-left: 0;
}

@media print {
  .app-task-list__items {
    font-family: sans-serif;
  }
}

@media (min-width: 40.0625em) {
  .app-task-list__items {
    font-size: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

@media print {
  .app-task-list__items {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .app-task-list__items {
    margin-bottom: 60px;
  }
}

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

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uY3NzIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbGliL2V4dGVuc2lvbnMvX2V4dGVuc2lvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fYXNzZXRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX2NvbXBhdGliaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fZ2xvYmFsLXN0eWxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19pZTguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19jb2xvdXJzLXBhbGV0dGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fY29sb3Vycy1vcmdhbmlzYXRpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX2NvbG91cnMtYXBwbGllZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2NvbG91ci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX21lYXN1cmVtZW50cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL190eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19saW5rcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3Rvb2xzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay90b29scy9fY29tcGF0aWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3Rvb2xzL19leHBvcnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX2ZvbnQtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX2llOC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3Rvb2xzL19pZmYuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay90b29scy9faW1hZ2UtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX3B4LXRvLWVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fZGV2aWNlLXBpeGVscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2ZvY3VzZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9oZWxwZXJzL19mb250LWZhY2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3ZlbmRvci9fc2Fzcy1tcS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX3NoYXBlLWFycm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb3JlL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb3JlL19saW5rcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvcmUvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29yZS9fdGVtcGxhdGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb3JlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29yZS9fc2VjdGlvbi1icmVhay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvcmUvX2dsb2JhbC1zdHlsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vYmplY3RzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vYmplY3RzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vYmplY3RzL19mb3JtLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvb2JqZWN0cy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL29iamVjdHMvX21haW4td3JhcHBlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL29iamVjdHMvX3dpZHRoLWNvbnRhaW5lci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvYWNjb3JkaW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvYmFjay1saW5rL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9idXR0b24vX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9jaGVja2JveGVzL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvZXJyb3ItbWVzc2FnZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2ZpZWxkc2V0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvaGludC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2xhYmVsL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvY2hhcmFjdGVyLWNvdW50L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvdGV4dGFyZWEvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9jb29raWUtYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvc3VtbWFyeS1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2lucHV0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvZGV0YWlscy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2Vycm9yLXN1bW1hcnkvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9maWxlLXVwbG9hZC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2Zvb3Rlci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2hlYWRlci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2luc2V0LXRleHQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9ub3RpZmljYXRpb24tYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvcGFuZWwvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9waGFzZS1iYW5uZXIvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy90YWcvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy90YWJzL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvcmFkaW9zL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvc2VsZWN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvc2tpcC1saW5rL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvdGFibGUvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy93YXJuaW5nLXRleHQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdXRpbGl0aWVzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay91dGlsaXRpZXMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdXRpbGl0aWVzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vdmVycmlkZXMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fd2lkdGguc2NzcyIsInBhdHRlcm5zL19zdGVwLWJ5LXN0ZXAtaGVhZGVyLnNjc3MiLCJwYXR0ZXJucy9fc3RlcC1ieS1zdGVwLW5hdi5zY3NzIiwicGF0dGVybnMvX3N0ZXAtYnktc3RlcC1yZWxhdGVkLnNjc3MiLCJwYXR0ZXJucy9fdGFzay1saXN0LnNjc3MiLCJwYXR0ZXJucy9fcmVsYXRlZC1pdGVtcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGdsb2JhbCBzdHlsZXMgZm9yIDxhPiBhbmQgPHA+IHRhZ3NcbiRnb3Z1ay1nbG9iYWwtc3R5bGVzOiB0cnVlO1xuJGdvdnVrLW5ldy1saW5rLXN0eWxlczogdHJ1ZTtcblxuLy8gV2UgY2FuJ3QgbW91bnQgR09WLlVLIEZyb250ZW5kJ3MgYXNzZXRzIGF0IHJvb3QgYXMgaXQncyBkb25lIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGV4dGVuc2lvbnMgZnJhbWV3b3JrLlxuJGdvdnVrLWFzc2V0cy1wYXRoOiAnL2dvdnVrL2Fzc2V0cy8nO1xuXG4vLyBJbXBvcnQgR09WLlVLIEZyb250ZW5kIGFuZCBhbnkgZXh0ZW5zaW9uIHN0eWxlcyBpZiBleHRlbnNpb25zIGhhdmUgYmVlbiBjb25maWd1cmVkXG5AaW1wb3J0IFwibGliL2V4dGVuc2lvbnMvZXh0ZW5zaW9uc1wiO1xuXG4vLyBQYXR0ZXJucyB0aGF0IGFyZW4ndCBpbiBGcm9udGVuZFxuQGltcG9ydCBcInBhdHRlcm5zL3N0ZXAtYnktc3RlcC1oZWFkZXJcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9zdGVwLWJ5LXN0ZXAtbmF2XCI7XG5AaW1wb3J0IFwicGF0dGVybnMvc3RlcC1ieS1zdGVwLXJlbGF0ZWRcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy90YXNrLWxpc3RcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9yZWxhdGVkLWl0ZW1zXCI7XG5cbi8vIEFkZCBleHRyYSBzdHlsZXMgaGVyZSwgb3IgcmUtb3JnYW5pc2UgdGhlIFNhc3MgZmlsZXMgaW4gd2hpY2hldmVyIHdheSBtYWtlcyBtb3N0IHNlbnNlIHRvIHlvdVxuIiwiJGdvdnVrLWV4dGVuc2lvbnMtdXJsLWNvbnRleHQ6IFwiL2V4dGVuc2lvbi1hc3NldHNcIjsgQGltcG9ydCBcIkM6L1VzZXJzL0JodW1pa2EvRG9jdW1lbnRzL3Byb3RvdHlwZXMvRmlyc3RQVC9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvYWxsLnNjc3NcIjsiLCJAaW1wb3J0IFwiYmFzZVwiO1xuXG5AaW1wb3J0IFwiY29yZS9hbGxcIjtcbkBpbXBvcnQgXCJvYmplY3RzL2FsbFwiO1xuXG5AaW1wb3J0IFwiY29tcG9uZW50cy9hbGxcIjtcblxuQGltcG9ydCBcInV0aWxpdGllcy9hbGxcIjtcbkBpbXBvcnQgXCJvdmVycmlkZXMvYWxsXCI7XG4iLCJAaW1wb3J0IFwic2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwidG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiaGVscGVycy9hbGxcIjtcbiIsIi8vIFRoZSBvcmRlciB3ZSBpbXBvcnQgc2V0dGluZ3MgaW4gaXMgaW1wb3J0YW50LCBhcyBzb21lIHNldHRpbmdzIGZpbGVzIHJlbHkgb25cbi8vIG90aGVyc1xuXG5AaW1wb3J0IFwiYXNzZXRzXCI7XG5cbkBpbXBvcnQgXCJjb21wYXRpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsLXN0eWxlc1wiO1xuQGltcG9ydCBcImllOFwiO1xuXG5AaW1wb3J0IFwibWVkaWEtcXVlcmllc1wiO1xuXG5AaW1wb3J0IFwiY29sb3Vycy1wYWxldHRlXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1vcmdhbmlzYXRpb25zXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1hcHBsaWVkXCI7XG5cbkBpbXBvcnQgXCJzcGFjaW5nXCI7XG5AaW1wb3J0IFwibWVhc3VyZW1lbnRzXCI7XG5cbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnRcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LXJlc3BvbnNpdmVcIjtcblxuQGltcG9ydCBcImxpbmtzXCI7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2Fzc2V0c1xuLy8vL1xuXG4vLy8gUGF0aCB0byB0aGUgYXNzZXRzIGRpcmVjdG9yeSwgd2l0aCB0cmFpbGluZyBzbGFzaC5cbi8vL1xuLy8vIFRoaXMgaXMgdGhlIGRpcmVjdG9yeSB3aGVyZSB0aGUgaW1hZ2VzIGFuZCBmb250cyBzdWJkaXJlY3RvcmllcyBsaXZlLiBZb3Vcbi8vLyB3aWxsIG5lZWQgdG8gbWFrZSB0aGlzIGRpcmVjdG9yeSBhdmFpbGFibGUgdmlhIHlvdXIgYXBwbGljYXRpb24g4oCTIHNlZSB0aGVcbi8vLyBSRUFETUUgZm9yIGRldGFpbHMuXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYXNzZXRzLXBhdGg6IFwiL2Fzc2V0cy9cIiAhZGVmYXVsdDtcblxuLy8vIFBhdGggdG8gdGhlIGltYWdlcyBmb2xkZXIsIHdpdGggdHJhaWxpbmcgc2xhc2guXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW1hZ2VzLXBhdGg6IFwiI3skZ292dWstYXNzZXRzLXBhdGh9aW1hZ2VzL1wiICFkZWZhdWx0O1xuXG4vLy8gUGF0aCB0byB0aGUgZm9udHMgZm9sZGVyLCB3aXRoIHRyYWlsaW5nIHNsYXNoLlxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnRzLXBhdGg6IFwiI3skZ292dWstYXNzZXRzLXBhdGh9Zm9udHMvXCIgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b20gaW1hZ2UgVVJMIGZ1bmN0aW9uXG4vLy9cbi8vLyBJZiB0aGUgYnVpbHQtaW4gaW1hZ2UgVVJMIGhlbHBlciBkb2VzIG5vdCBtZWV0IHlvdXIgbmVlZHMsIHlvdSBjYW4gc3BlY2lmeVxuLy8vIHRoZSBuYW1lIG9mIGEgY3VzdG9tIGhhbmRsZXIg4oCTIGVpdGhlciBidWlsdCBpbiBvciBieSB3cml0aW5nIHlvdXIgb3duXG4vLy8gZnVuY3Rpb24uXG4vLy9cbi8vLyBJZiB5b3UgYXJlIHdyaXRpbmcgeW91ciBvd24gaGFuZGxlciwgZW5zdXJlIHRoYXQgaXQgcmV0dXJucyBhIHN0cmluZyB3cmFwcGVkXG4vLy8gd2l0aCBgdXJsKClgXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBSYWlscyBhc3NldCBoYW5kbGluZ1xuLy8vICAgJGdvdnVrLWltYWdlLXVybC1mdW5jdGlvbjogJ2ltYWdlLXVybCc7XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9tIGFzc2V0IGhhbmRsaW5nXG4vLy9cbi8vLyAgIEBmdW5jdGlvbiBteS11cmwtaGFuZGxlcigkZmlsZW5hbWUpIHtcbi8vLyAgICAgLy8gU29tZSBjdXN0b20gVVJMIGhhbmRsaW5nXG4vLy8gICAgIEByZXR1cm4gdXJsKCdleGFtcGxlLmpwZycpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiAnbXktdXJsLWhhbmRsZXInO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWltYWdlLXVybC1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b20gZm9udCBVUkwgZnVuY3Rpb25cbi8vL1xuLy8vIElmIHRoZSBidWlsdC1pbiBmb250IFVSTCBoZWxwZXIgZG9lcyBub3QgbWVldCB5b3VyIG5lZWRzLCB5b3UgY2FuIHNwZWNpZnlcbi8vLyB0aGUgbmFtZSBvZiBhIGN1c3RvbSBoYW5kbGVyIOKAkyBlaXRoZXIgYnVpbHQgaW4gb3IgYnkgd3JpdGluZyB5b3VyIG93blxuLy8vIGZ1bmN0aW9uLlxuLy8vXG4vLy8gSWYgeW91IGFyZSB3cml0aW5nIHlvdXIgb3duIGhhbmRsZXIsIGVuc3VyZSB0aGF0IGl0IHJldHVybnMgYSBzdHJpbmcgd3JhcHBlZFxuLy8vIHdpdGggYHVybCgpYFxuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gUmFpbHMgYXNzZXQgaGFuZGxpbmdcbi8vLyAgICRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogJ2ZvbnQtdXJsJztcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b20gYXNzZXQgaGFuZGxpbmdcbi8vL1xuLy8vICAgQGZ1bmN0aW9uIG15LXVybC1oYW5kbGVyKCRmaWxlbmFtZSkge1xuLy8vICAgICAvLyBTb21lIGN1c3RvbSBVUkwgaGFuZGxpbmdcbi8vLyAgICAgQHJldHVybiB1cmwoJ2V4YW1wbGUud29mZicpO1xuLy8vICAgfVxuLy8vXG4vLy8gICAkZ292dWstZm9udC11cmwtZnVuY3Rpb246ICdteS11cmwtaGFuZGxlcic7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC11cmwtZnVuY3Rpb246IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vICdDb21wYXRpYmlsaXR5IE1vZGUnXG4vLy9cbi8vLyBFbmFibGluZyB0aGVzZSBmbGFncyBpbXByb3ZlcyBjb21wYXRpYmlsaXR5IGlmIHlvdSBhcmUgdXNpbmcgR09WLlVLIEZyb250ZW5kXG4vLy8gaW4gYW4gYXBwbGljYXRpb24gdGhhdCBhbHNvIHVzZXMgZ292dWtfZWxlbWVudHMsIGdvdnVrX2Zyb250ZW5kX3Rvb2xraXQgb3Jcbi8vLyBnb3Z1a190ZW1wbGF0ZSAodGhlICdsZWdhY3kgcmVwb3MnKS5cbi8vL1xuLy8vIEVuYWJsaW5nIGFueSBvZiB0aGVzZSBzZXR0aW5ncyB3aWxsLCBieSBkZWZhdWx0OlxuLy8vXG4vLy8gLSBzd2l0Y2ggR09WLlVLIEZyb250ZW5kIHRvIHVzaW5nIHRoZSBzYW1lIGNvbG91ciBwYWxldHRlIGFzIHRoZSBsZWdhY3lcbi8vLyAgIHJlcG9zLCBieSBzZXR0aW5nIGAkZ292dWstdXNlLWxlZ2FjeS1wYWxldHRlYCB0byB0cnVlLlxuLy8vXG4vLy8gLSBwcmV2ZW50IEdPVi5VSyBGcm9udGVuZCBmcm9tIHVzaW5nIHJlbSBmb3IgZm9udCBzaXppbmcsIGJ5IHNldHRpbmdcbi8vLyAgIGAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtYCB0byBmYWxzZS5cbi8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb21wYXRpYmlsaXR5XG4vLy8vXG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXRcbi8vL1xuLy8vIFNldCB0aGlzIHRvIHRydWUgaWYgeW91IGFyZSBhbHNvIGluY2x1ZGluZyBhbHBoYWdvdi9nb3Z1a19mcm9udGVuZF90b29sa2l0XG4vLy8gaW4geW91ciBhcHBsaWNhdGlvbi5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX3RlbXBsYXRlXG4vLy9cbi8vLyBFbmFibGluZyB0aGlzIHdpbGw6XG4vLy9cbi8vLyAtIHByZXZlbnQgR09WLlVLIEZyb250ZW5kIGZyb20gaW5jbHVkaW5nIHRoZSBOZXcgVHJhbnNwb3J0IHR5cGVmYWNlLCBhc1xuLy8vICAgaXQnbGwgdXNlIHRoZSB2ZXJzaW9uIG9mIE5ldyBUcmFuc3BvcnQgaW5jbHVkZWQgd2l0aCBHT1YuVUsgVGVtcGxhdGUuXG4vLy9cbi8vLyAtIGFsdGVyIHNvbWUgb2YgdGhlIENTUyBvdXRwdXR0ZWQgYnkgR09WLlVLIEZyb250ZW5kIHRvICdjb3VudGVyJ1xuLy8vICAgc3BlY2lmaWMgQ1NTIHJ1bGVzIGluIEdPVi5VSyBUZW1wbGF0ZS5cbi8vL1xuLy8vIFNldCB0aGlzIHRvIHRydWUgaWYgeW91IGFyZSBhbHNvIGluY2x1ZGluZyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbiB5b3VyXG4vLy8gYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2VsZW1lbnRzXG4vLy9cbi8vLyBFbmFibGluZyB0aGlzIHdpbGw6XG4vLy9cbi8vLyAtIGFsdGVyIHNvbWUgb2YgdGhlIENTUyBvdXRwdXR0ZWQgYnkgR09WLlVLIEZyb250ZW5kIHRvICdjb3VudGVyJ1xuLy8vICAgc3BlY2lmaWMgQ1NTIHJ1bGVzIGluIEdPVi5VSyBFbGVtZW50cy5cbi8vL1xuLy8vIFNldCB0aGlzIHRvIHRydWUgaWYgeW91IGFyZSBhbHNvIGluY2x1ZGluZyBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cyBpbiB5b3VyXG4vLy8gYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWtlbGVtZW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb21wYXRpYmlsaXR5IFByb2R1Y3QgTWFwXG4vLy9cbi8vLyBNYXBzIHByb2R1Y3QgbmFtZXMgdG8gdGhlaXIgc2V0dGluZ3MgdGhhdCB3ZSBjYW4gdXNlIHRvIGxvb2t1cCBzdGF0ZXMgZnJvbVxuLy8vIHdpdGhpbiB0aGUgYEBnb3Z1ay1jb21wYXRpYmlsaXR5YCBtaXhpbi5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX2dvdnVrLWNvbXBhdGliaWxpdHk6IChcbiAgZ292dWtfZnJvbnRlbmRfdG9vbGtpdDogJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWtmcm9udGVuZHRvb2xraXQsXG4gIGdvdnVrX3RlbXBsYXRlOiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a3RlbXBsYXRlLFxuICBnb3Z1a19lbGVtZW50czogJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWtlbGVtZW50cyxcbik7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2dsb2JhbC1zdHlsZXNcbi8vLy9cblxuLy8vIEluY2x1ZGUgJ2dsb2JhbCcgc3R5bGVzXG4vLy9cbi8vLyBXaGV0aGVyIHRvIHN0eWxlIHBhcmFncmFwaHMgKGA8cD5gKSBhbmQgbGlua3MgKGA8YT5gKSB3aXRob3V0IGV4cGxpY2l0bHlcbi8vLyBoYXZpbmcgdG8gYXBwbHkgdGhlIGBnb3Z1ay1ib2R5YCBhbmQgYGdvdnVrLWxpbmtgIGNsYXNzZXMuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWdsb2JhbC1zdHlsZXM6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9pbnRlcm5ldC1leHBsb3Jlci04XG4vLy8vXG5cbi8vLyBXaGV0aGVyIHRoZSBzdHlsZXNoZWV0IGJlaW5nIGJ1aWx0IGlzIHRhcmdldGluZyBJbnRlcm5ldCBFeHBsb3JlciA4LlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pcy1pZTg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgdG8gdXNlIGFzIHRoZSB0YXJnZXQgd2hlbiByYXN0ZXJpemluZyBtZWRpYVxuLy8vIHF1ZXJpZXNcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pZTgtYnJlYWtwb2ludDogZGVza3RvcCAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbWVkaWEtcXVlcmllc1xuLy8vL1xuXG4vLy8gQnJlYWtwb2ludCBkZWZpbml0aW9uc1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJyZWFrcG9pbnRzOiAoXG4gIG1vYmlsZTogIDMyMHB4LFxuICB0YWJsZXQ6ICA2NDFweCxcbiAgZGVza3RvcDogNzY5cHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGFjdGl2ZSBicmVha3BvaW50IGluIHRvcC1yaWdodCBjb3JuZXIuXG4vLy9cbi8vLyBPbmx5IHVzZSB0aGlzIGR1cmluZyBsb2NhbCBkZXZlbG9wbWVudC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc2hvdy1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwiY29tcGF0aWJpbGl0eVwiO1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1saXN0LW1heC1lbXB0eS1saW5lcyAtLSBhbGxvdyBlbXB0eSBsaW5lcyBpbiBsaXN0c1xuLy8gaW4gdGhpcyBmaWxlIHRvIGFsbG93IGdyb3VwaW5nXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvY29sb3Vyc1xuLy8vL1xuXG4vLy8gVXNlICdsZWdhY3knIGNvbG91ciBwYWxldHRlXG4vLy9cbi8vLyBXaGV0aGVyIG9yIG5vdCB0byB1c2UgdGhlIGNvbG91ciBwYWxldHRlIGZyb20gR09WLlVLIEVsZW1lbnRzIC8gRnJvbnRlbmRcbi8vLyBUb29sa2l0LCBmb3IgdGVhbXMgdGhhdCBhcmUgbWlncmF0aW5nIHRvIEdPVi5VSyBGcm9udGVuZCBhbmQgbWF5IGJlIHVzaW5nXG4vLy8gY29tcG9uZW50cyBmcm9tIGJvdGggcGxhY2VzIGluIGEgc2luZ2xlIGFwcGxpY2F0aW9uLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay11c2UtbGVnYWN5LXBhbGV0dGU6IGlmKFxuICAoXG4gICAgJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWtmcm9udGVuZHRvb2xraXQgb3JcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a3RlbXBsYXRlIG9yXG4gICAgJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWtlbGVtZW50c1xuICApLFxuICB0cnVlLFxuICBmYWxzZVxuKSAhZGVmYXVsdDtcblxuLy8vIE1vZGVybiBjb2xvdXIgcGFsZXR0ZVxuLy8vXG4vLy8gVGhpcyBleGlzdHMgb25seSBiZWNhdXNlIHlvdSBjYW5ub3QgZWFzaWx5IHNldCBhICFkZWZhdWx0IHZhcmlhYmxlXG4vLy8gY29uZGl0aW9uYWxseSAodGhhbmtzIHRvIHRoZSB3YXkgc2NvcGUgd29ya3MgaW4gU2Fzcykgc28gd2Ugc2V0XG4vLy8gYCRnb3Z1ay1jb2xvdXItcGFsZXR0ZWAgdXNpbmcgdGhlIGBpZmAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9nb3Z1ay1jb2xvdXItcGFsZXR0ZS1tb2Rlcm46IChcbiAgXCJyZWRcIjogI2Q0MzUxYyxcbiAgXCJ5ZWxsb3dcIjogI2ZmZGQwMCxcbiAgXCJncmVlblwiOiAjMDA3MDNjLFxuICBcImJsdWVcIjogIzFkNzBiOCxcbiAgXCJkYXJrLWJsdWVcIjogIzAwMzA3OCxcbiAgXCJsaWdodC1ibHVlXCI6ICM1Njk0Y2EsXG4gIFwicHVycGxlXCI6ICM0YzJjOTIsXG5cbiAgXCJibGFja1wiOiAjMGIwYzBjLFxuICBcImRhcmstZ3JleVwiOiAjNTA1YTVmLFxuICBcIm1pZC1ncmV5XCI6ICNiMWI0YjYsXG4gIFwibGlnaHQtZ3JleVwiOiAjZjNmMmYxLFxuICBcIndoaXRlXCI6ICNmZmZmZmYsXG5cbiAgXCJsaWdodC1wdXJwbGVcIjogIzZmNzJhZixcbiAgXCJicmlnaHQtcHVycGxlXCI6ICM5MTJiODgsXG4gIFwicGlua1wiOiAjZDUzODgwLFxuICBcImxpZ2h0LXBpbmtcIjogI2Y0OTliZSxcbiAgXCJvcmFuZ2VcIjogI2Y0NzczOCxcbiAgXCJicm93blwiOiAjYjU4ODQwLFxuICBcImxpZ2h0LWdyZWVuXCI6ICM4NTk5NGIsXG4gIFwidHVycXVvaXNlXCI6ICMyOGExOTdcbik7XG5cbi8vLyBMZWdhY3kgY29sb3VyIHBhbGV0dGVcbi8vL1xuLy8vIFRoaXMgZXhpc3RzIG9ubHkgYmVjYXVzZSB5b3UgY2Fubm90IGVhc2lseSBzZXQgYSAhZGVmYXVsdCB2YXJpYWJsZVxuLy8vIGNvbmRpdGlvbmFsbHkgKHRoYW5rcyB0byB0aGUgd2F5IHNjb3BlIHdvcmtzIGluIFNhc3MpIHNvIHdlIHNldFxuLy8vIGAkZ292dWstY29sb3VyLXBhbGV0dGVgIHVzaW5nIHRoZSBgaWZgIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstY29sb3VyLXBhbGV0dGUtbGVnYWN5OiAoXG4gIFwicHVycGxlXCI6ICMyZTM1OGIsXG4gIFwibGlnaHQtcHVycGxlXCI6ICM2ZjcyYWYsXG4gIFwiYnJpZ2h0LXB1cnBsZVwiOiAjOTEyYjg4LFxuICBcInBpbmtcIjogI2Q1Mzg4MCxcbiAgXCJsaWdodC1waW5rXCI6ICNmNDk5YmUsXG4gIFwicmVkXCI6ICNiMTBlMWUsXG4gIFwiYnJpZ2h0LXJlZFwiOiAjZGYzMDM0LFxuICBcIm9yYW5nZVwiOiAjZjQ3NzM4LFxuICBcImJyb3duXCI6ICNiNTg4NDAsXG4gIFwieWVsbG93XCI6ICNmZmJmNDcsXG4gIFwibGlnaHQtZ3JlZW5cIjogIzg1OTk0YixcbiAgXCJncmVlblwiOiAjMDA2NDM1LFxuICBcInR1cnF1b2lzZVwiOiAjMjhhMTk3LFxuICBcImxpZ2h0LWJsdWVcIjogIzJiOGNjNCxcbiAgXCJibHVlXCI6ICMwMDVlYTUsXG5cbiAgXCJibGFja1wiOiAjMGIwYzBjLFxuICBcImdyZXktMVwiOiAjNmY3NzdiLFxuICBcImdyZXktMlwiOiAjYmZjMWMzLFxuICBcImdyZXktM1wiOiAjZGVlMGUyLFxuICBcImdyZXktNFwiOiAjZjhmOGY4LFxuICBcIndoaXRlXCI6ICNmZmZmZmZcbik7XG5cbi8vLyBDb2xvdXIgcGFsZXR0ZVxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCAkY29sb3VyIC0gUmVwcmVzZW50YXRpb24gZm9yIHRoZSBnaXZlbiAkY29sb3VyLCB3aGVyZSAkY29sb3VyIGlzIHRoZVxuLy8vICAgZnJpZW5kbHkgbmFtZSBmb3IgdGhlIGNvbG91ciAoZS5nLiBcInJlZFwiOiAjZmYwMDAwKTtcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzOiBpZihcbiAgJGdvdnVrLXVzZS1sZWdhY3ktcGFsZXR0ZSxcbiAgJF9nb3Z1ay1jb2xvdXItcGFsZXR0ZS1sZWdhY3ksXG4gICRfZ292dWstY29sb3VyLXBhbGV0dGUtbW9kZXJuXG4pICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbi8vLyBPcmdhbmlzYXRpb24gY29sb3Vyc1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCAkb3JnYW5pc2F0aW9uLmNvbG91ciAtIENvbG91ciBmb3IgdGhlIGdpdmVuIGAkb3JnYW5pc2F0aW9uYFxuLy8vIEBwcm9wICRvcmdhbmlzYXRpb24uY29sb3VyLXdlYnNhZmUgLSBXZWJzYWZlIGNvbG91ciBmb3IgdGhlIGdpdmVuXG4vLy8gICBgJG9yZ2FuaXNhdGlvbmAuIFdlIHVzZSBgd2Vic2FmZWAgdG8gbWVhbiBzdHJvbmcgZW5vdWdoIGNvbnRyYXN0IGFnYWluc3Rcbi8vLyAgIHdoaXRlIHRvIGJlIHVzZWQgZm9yIGNvcHkgYW5kIG1lZXQgdGhlIEFBQSAobGFyZ2UgdGV4dCkgYW5kIEFBIChzbWFsbGVyXG4vLy8gICBjb3B5KSBXQ0FHIGd1aWRlbGluZXMuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29sb3Vycy1vcmdhbmlzYXRpb25zOiAoXG4gIFwiYXR0b3JuZXktZ2VuZXJhbHMtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICM5ZjE4ODgsXG4gICAgY29sb3VyLXdlYnNhZmU6ICNhMDNhODhcbiAgKSxcbiAgXCJjYWJpbmV0LW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjMDA1YWJiLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiY2l2aWwtc2VydmljZVwiOiAoXG4gICAgY29sb3VyOiAjYWYyOTJlXG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItYnVzaW5lc3MtaW5ub3ZhdGlvbi1za2lsbHNcIjogKFxuICAgIGNvbG91cjogIzAwMzQ3OSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM0N2RhNFxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWNvbW11bml0aWVzLWFuZC1sb2NhbC1nb3Zlcm5tZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDk5OTksXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNzgzNmVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1jdWx0dXJlLW1lZGlhLXNwb3J0XCI6IChcbiAgICBjb2xvdXI6ICNkNDAwNzIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICNhMDMxNTVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1lZHVjYXRpb25cIjogKFxuICAgIGNvbG91cjogIzAwM2E2OSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM0N2NhOVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWVudmlyb25tZW50LWZvb2QtcnVyYWwtYWZmYWlyc1wiOiAoXG4gICAgY29sb3VyOiAjMDBhMzNiLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMDA4OTM4XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItaW50ZXJuYXRpb25hbC1kZXZlbG9wbWVudFwiOiAoXG4gICAgY29sb3VyOiAjMDAyODc4LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNDA1ZTlhXG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItaW50ZXJuYXRpb25hbC10cmFkZVwiOiAoXG4gICAgY29sb3VyOiAjY2YxMDJkLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMDA1ZWE1XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItdHJhbnNwb3J0XCI6IChcbiAgICBjb2xvdXI6ICMwMDZjNTYsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzOTgzNzNcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci13b3JrLXBlbnNpb25zXCI6IChcbiAgICBjb2xvdXI6ICMwMGJlYjcsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNzgwN2JcbiAgKSxcbiAgXCJkZXBhcnRtZW50LW9mLWVuZXJneS1jbGltYXRlLWNoYW5nZVwiOiAoXG4gICAgY29sb3VyOiAjMDA5ZGRiLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMmI3Y2FjXG4gICksXG4gIFwiZGVwYXJ0bWVudC1vZi1oZWFsdGhcIjogKFxuICAgIGNvbG91cjogIzAwYWQ5MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM5ODM2ZVxuICApLFxuICBcImZvcmVpZ24tY29tbW9ud2VhbHRoLWRldmVsb3BtZW50LW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjMDEyMTY5XG4gICksXG4gIFwiZm9yZWlnbi1jb21tb253ZWFsdGgtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDNlNzQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDZlOTdcbiAgKSxcbiAgXCJnb3Zlcm5tZW50LWVxdWFsaXRpZXMtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICAjOTMyNWIyXG4gICksXG4gIFwiaG0tZ292ZXJubWVudFwiOiAoXG4gICAgY29sb3VyOiAjMDA3NmMwLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiaG0tcmV2ZW51ZS1jdXN0b21zXCI6IChcbiAgICBjb2xvdXI6ICMwMDkzOTAsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg2NzBcbiAgKSxcbiAgXCJobS10cmVhc3VyeVwiOiAoXG4gICAgY29sb3VyOiAjYWYyOTJlLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjODMyMzIyXG4gICksXG4gIFwiaG9tZS1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzkzMjViMixcbiAgICBjb2xvdXItd2Vic2FmZTogIzk0NDBiMlxuICApLFxuICBcIm1pbmlzdHJ5LW9mLWRlZmVuY2VcIjogKFxuICAgIGNvbG91cjogIzRkMjk0MixcbiAgICBjb2xvdXItd2Vic2FmZTogIzVhNWM5MlxuICApLFxuICBcIm1pbmlzdHJ5LW9mLWp1c3RpY2VcIjogKFxuICAgIGNvbG91cjogIzIzMWYyMCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzVhNWM5MlxuICApLFxuICBcIm5vcnRoZXJuLWlyZWxhbmQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDI2NjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzZTU5OGNcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWFkdm9jYXRlLWdlbmVyYWwtZm9yLXNjb3RsYW5kXCI6IChcbiAgICBjb2xvdXI6ICMwMDI2NjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWxlYWRlci1vZi10aGUtaG91c2Utb2YtY29tbW9uc1wiOiAoXG4gICAgY29sb3VyOiAjMzE3MDIzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMDA1ZjhmXG4gICksXG4gIFwib2ZmaWNlLW9mLXRoZS1sZWFkZXItb2YtdGhlLWhvdXNlLW9mLWxvcmRzXCI6IChcbiAgICBjb2xvdXI6ICM5YzEzMmUsXG4gICAgY29sb3VyLXdlYnNhZmU6ICNjMjM5NWRcbiAgKSxcbiAgXCJzY290bGFuZC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNWM4YVxuICApLFxuICBcInVrLWV4cG9ydC1maW5hbmNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDU3NDcsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJ1ay10cmFkZS1pbnZlc3RtZW50XCI6IChcbiAgICBjb2xvdXI6ICNjODA2NTEsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJ3YWxlcy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogI2EzMzAzOCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzdhMjQyYVxuICApXG4pICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2NvbG91clwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdlbmVyaWNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQnJhbmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnJhbmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBDYW52YXMgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgYnkgdGhlIGZvb3RlciBjb21wb25lbnQgYW5kIHRlbXBsYXRlIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZ1xuLy8vIGZvb3Rlci5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb2R5IGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG91ciBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIFVzZSAndHJ1ZSBibGFjaycgdG8gYXZvaWQgcHJpbnRlcnMgdXNpbmcgY29sb3VyIGluayB0byBwcmludCBib2R5IHRleHRcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8vIFNlY29uZGFyeSB0ZXh0IGNvbG91clxuLy8vXG4vLy8gVXNlZCBpbiBmb3IgZXhhbXBsZSAnbXV0ZWQnIHRleHQgYW5kIGhlbHAgdGV4dC5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMVwiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3Igb3V0bGluZSAoYW5kIGJhY2tncm91bmQsIHdoZXJlIGFwcHJvcHJpYXRlKSB3aGVuIGludGVyYWN0aXZlXG4vLy8gZWxlbWVudHMgKGxpbmtzLCBmb3JtIGNvbnRyb2xzKSBoYXZlIGtleWJvYXJkIGZvY3VzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLWNvbG91cjogZ292dWstY29sb3VyKFwieWVsbG93XCIpICFkZWZhdWx0O1xuXG4vLy8gRm9jdXNlZCB0ZXh0IGNvbG91clxuLy8vXG4vLy8gRW5zdXJlIHRoYXQgdGhlIGNvbnRyYXN0IGJldHdlZW4gdGhlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3VyIHBhc3Nlc1xuLy8vIFdDQUcgTGV2ZWwgQUEgY29udHJhc3QgcmVxdWlyZW1lbnRzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIEVycm9yIGNvbG91clxuLy8vXG4vLy8gVXNlZCB0byBoaWdobGlnaHQgZXJyb3IgbWVzc2FnZXMgYW5kIGZvcm0gY29udHJvbHMgaW4gYW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1lcnJvci1jb2xvdXI6IGdvdnVrLWNvbG91cihcInJlZFwiKSAhZGVmYXVsdDtcblxuLy8vIFN1Y2Nlc3MgY29sb3VyXG4vLy9cbi8vLyBVc2VkIHRvIGhpZ2hsaWdodCBzdWNjZXNzIG1lc3NhZ2VzIGFuZCBiYW5uZXJzXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc3VjY2Vzcy1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZWVuXCIpICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBpbiBmb3IgZXhhbXBsZSBib3JkZXJzLCBzZXBhcmF0b3JzLCBydWxlcyBhbmQga2V5bGluZXMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLWNvbG91cjogZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG5cbi8vLyBJbnB1dCBib3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBmb3JtIGlucHV0cyBhbmQgY29udHJvbHNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIElucHV0IGhvdmVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3IgaG92ZXIgc3RhdGVzIG9uIGZvcm0gY29udHJvbHNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0zXCIpO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBMaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVmlzaXRlZCBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcInB1cnBsZVwiLCAkbGVnYWN5OiAjNGMyYzkyKSAhZGVmYXVsdDtcblxuLy8vIExpbmsgaG92ZXIgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImRhcmstYmx1ZVwiLCAkbGVnYWN5OiBcImxpZ2h0LWJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgbGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWFjdGl2ZS1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIsICRsZWdhY3k6IFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb21wYXRpYmlsaXR5XCI7XG5AaW1wb3J0IFwiLi4vc2V0dGluZ3MvY29sb3Vycy1wYWxldHRlXCI7XG5AaW1wb3J0IFwiLi4vc2V0dGluZ3MvY29sb3Vycy1vcmdhbmlzYXRpb25zXCI7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9jb2xvdXJcbi8vLy9cblxuLy8vIEdldCBjb2xvdXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY29sb3VyIC0gTmFtZSBvZiBjb2xvdXIgZnJvbSB0aGUgY29sb3VyIHBhbGV0dGVcbi8vLyAgIChgJGdvdnVrLWNvbG91cnNgKVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbGVnYWN5IC0gRWl0aGVyIHRoZSBuYW1lIG9mIGNvbG91ciBmcm9tIHRoZSBsZWdhY3kgcGFsZXR0ZVxuLy8vICAgb3IgYSBjb2xvdXIgbGl0ZXJhbCwgdG8gcmV0dXJuIGluc3RlYWQgd2hlbiBpbiAnbGVnYWN5IG1vZGUnIC0gbWF0Y2hpbmdcbi8vLyAgIHRoZSBwYWxldHRlIGZyb20gR09WLlVLIFRlbXBsYXRlLCBFbGVtZW50cyBvciBGcm9udGVuZCBUb29sa2l0XG4vLy8gQHJldHVybiB7Q29sb3VyfSBSZXByZXNlbnRhdGlvbiBvZiBuYW1lZCBjb2xvdXJcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2luZyBsZWdhY3kgY29sb3VycyBmcm9tIHRoZSBwYWxldHRlXG4vLy8gIC5mb28ge1xuLy8vICAgIGJhY2tncm91bmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzaW5nIGxlZ2FjeSBjb2xvdXIgbGl0ZXJhbHNcbi8vLyAgLmZvbyB7XG4vLy8gICAgYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZWVuXCIsICRsZWdhY3k6ICNCQURBNTUpO1xuLy8vICB9XG4vLy9cbi8vLyBAdGhyb3cgaWYgYCRjb2xvdXJgIGlzIG5vdCBhIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1jb2xvdXIoJGNvbG91ciwgJGxlZ2FjeTogZmFsc2UpIHtcbiAgQGlmICgkZ292dWstdXNlLWxlZ2FjeS1wYWxldHRlIGFuZCAkbGVnYWN5KSB7XG4gICAgQGlmICh0eXBlLW9mKCRsZWdhY3kpID09IFwiY29sb3JcIikge1xuICAgICAgQHJldHVybiAkbGVnYWN5O1xuICAgIH1cbiAgICAkY29sb3VyOiAkbGVnYWN5O1xuICB9XG5cbiAgJGNvbG91cjogcXVvdGUoJGNvbG91cik7XG5cbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstY29sb3VycywgJGNvbG91cikge1xuICAgIEBlcnJvciBcIlVua25vd24gY29sb3VyIGAjeyRjb2xvdXJ9YFwiO1xuICB9XG5cbiAgQHJldHVybiBtYXAtZ2V0KCRnb3Z1ay1jb2xvdXJzLCAkY29sb3VyKTtcbn1cblxuLy8vIEdldCB0aGUgY29sb3VyIGZvciBhIGdvdmVybm1lbnQgb3JnYW5pc2F0aW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9yZ2FuaXNhdGlvbiAtIE9yZ2FuaXNhdGlvbiBuYW1lLCBsb3dlcmNhc2UsIGh5cGhlbmF0ZWRcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR3ZWJzYWZlIFt0cnVlXSAtIEJ5IGRlZmF1bHQgYSAnd2Vic2FmZScgdmVyc2lvbiBvZiB0aGVcbi8vLyAgIGNvbG91ciB3aWxsIGJlIHJldHVybmVkIHdoaWNoIG1lZXRzIGNvbnRyYXN0IHJlcXVpcmVtZW50cyAuIElmIHlvdSB3YW50IHRvXG4vLy8gICB1c2UgdGhlIG5vbi13ZWJzYWZlIHZlcnNpb24geW91IGNhbiBzZXQgdGhpcyB0byBgZmFsc2VgIGJ1dCB5b3VyIHNob3VsZFxuLy8vICAgZW5zdXJlIHRoYXQgeW91IHN0aWxsIG1lZXRzIGNvbnRyYXN0IHJlcXVpcmVtZW50cyBmb3IgYWNjZXNzaWJpbGl0eSAtIGZvclxuLy8vICAgZXhhbXBsZSwgZG8gbm90IHVzZSB0aGUgbm9uLXdlYnNhZmUgdmVyc2lvbiBmb3IgdGV4dC5cbi8vL1xuLy8vIEByZXR1cm4ge0NvbG91cn0gUmVwcmVzZW50YXRpb24gb2YgY29sb3VyIGZvciBvcmdhbmlzYXRpb25cbi8vLyBAdGhyb3cgaWYgYCRvcmdhbmlzYXRpb25gIGlzIG5vdCBhIGtub3duIG9yZ2FuaXNhdGlvblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1vcmdhbmlzYXRpb24tY29sb3VyKCRvcmdhbmlzYXRpb24sICR3ZWJzYWZlOiB0cnVlKSB7XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLWNvbG91cnMtb3JnYW5pc2F0aW9ucywgJG9yZ2FuaXNhdGlvbikge1xuICAgIEBlcnJvciBcIlVua25vd24gb3JnYW5pc2F0aW9uIGAjeyRvcmdhbmlzYXRpb259YFwiO1xuICB9XG5cbiAgJG9yZy1jb2xvdXI6IG1hcC1nZXQoJGdvdnVrLWNvbG91cnMtb3JnYW5pc2F0aW9ucywgJG9yZ2FuaXNhdGlvbik7XG5cbiAgQGlmICgkd2Vic2FmZSBhbmQgbWFwLWhhcy1rZXkoJG9yZy1jb2xvdXIsIGNvbG91ci13ZWJzYWZlKSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkb3JnLWNvbG91ciwgY29sb3VyLXdlYnNhZmUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG9yZy1jb2xvdXIsIGNvbG91cik7XG4gIH1cbn1cblxuLy8vIE1ha2UgYSBjb2xvdXIgZGFya2VyIGJ5IG1peGluZyBpdCB3aXRoIGJsYWNrXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG91cn0gJGNvbG91ciAtIGNvbG91ciB0byBzaGFkZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyY2VudGFnZSAtIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvdXJgIGluIHJldHVybmVkIGNvbG9yXG4vLy8gQHJldHVybiB7Q29sb3VyfVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1zaGFkZSgkY29sb3VyLCAkcGVyY2VudGFnZSkge1xuICBAcmV0dXJuIG1peCgjMDAwMDAwLCAkY29sb3VyLCAkcGVyY2VudGFnZSk7XG59XG5cbi8vLyBNYWtlIGEgY29sb3VyIGxpZ2h0ZXIgYnkgbWl4aW5nIGl0IHdpdGggd2hpdGVcbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3VyfSAkY29sb3VyIC0gY29sb3VyIHRvIHRpbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcmNlbnRhZ2UgLSBwZXJjZW50YWdlIG9mIGAkY29sb3VyYCBpbiByZXR1cm5lZCBjb2xvclxuLy8vIEByZXR1cm4ge0NvbG91cn1cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstdGludCgkY29sb3VyLCAkcGVyY2VudGFnZSkge1xuICBAcmV0dXJuIG1peChnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKSwgJGNvbG91ciwgJHBlcmNlbnRhZ2UpO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9zcGFjaW5nXG4vLy8vXG5cbi8vLyBTaW5nbGUgcG9pbnQgc3BhY2luZyB2YXJpYWJsZXMuIEFjY2VzcyB1c2luZyBgZ292dWstc3BhY2luZygpYFxuLy8vIChzZWUgYGhlbHBlcnMvc3BhY2luZ2ApLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRnb3Z1ay1zcGFjaW5nLXBvaW50czogKFxuICAwOiAwLFxuICAxOiA1cHgsXG4gIDI6IDEwcHgsXG4gIDM6IDE1cHgsXG4gIDQ6IDIwcHgsXG4gIDU6IDI1cHgsXG4gIDY6IDMwcHgsXG4gIDc6IDQwcHgsXG4gIDg6IDUwcHgsXG4gIDk6IDYwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIHNwYWNpbmcgbWFwc1xuLy8vXG4vLy8gVGhlc2UgZGVmaW5pdGlvbnMgYXJlIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHRoYXQgYWRhcHRzXG4vLy8gYWNjb3JkaW5nIHRvIHRoZSBicmVha3BvaW50cyAoc2VlICdoZWxwZXJzL3NwYWNpbmcnKS4gVGhlc2UgbWFwcyBzaG91bGQgYmVcbi8vLyB1c2VkIHdoZXJldmVyIHBvc3NpYmxlIHRvIHN0YW5kYXJkaXNlIHJlc3BvbnNpdmUgc3BhY2luZy5cbi8vL1xuLy8vIFlvdSBjYW4gZGVmaW5lIGRpZmZlcmVudCBiZWhhdmlvdXIgb24gdGFibGV0IGFuZCBkZXNrdG9wLiBUaGUgJ251bGwnXG4vLy8gYnJlYWtwb2ludCBpcyBmb3IgbW9iaWxlLlxuLy8vXG4vLy8gQWNjZXNzIHJlc3BvbnNpdmUgc3BhY2luZyB3aXRoIGBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbmAgb3Jcbi8vLyBgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nYCBtaXhpbnMgKHNlZSBgaGVscGVycy9zcGFjaW5nYCkuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZTogKFxuICAwOiAoXG4gICAgbnVsbDogMCxcbiAgICB0YWJsZXQ6IDBcbiAgKSxcbiAgMTogKFxuICAgIG51bGw6IDVweCxcbiAgICB0YWJsZXQ6IDVweFxuICApLFxuICAyOiAoXG4gICAgbnVsbDogMTBweCxcbiAgICB0YWJsZXQ6IDEwcHhcbiAgKSxcbiAgMzogKFxuICAgIG51bGw6IDE1cHgsXG4gICAgdGFibGV0OiAxNXB4XG4gICksXG4gIDQ6IChcbiAgICBudWxsOiAxNXB4LFxuICAgIHRhYmxldDogMjBweFxuICApLFxuICA1OiAoXG4gICAgbnVsbDogMTVweCxcbiAgICB0YWJsZXQ6IDI1cHhcbiAgKSxcbiAgNjogKFxuICAgIG51bGw6IDIwcHgsXG4gICAgdGFibGV0OiAzMHB4XG4gICksXG4gIDc6IChcbiAgICBudWxsOiAyNXB4LFxuICAgIHRhYmxldDogNDBweFxuICApLFxuICA4OiAoXG4gICAgbnVsbDogMzBweCxcbiAgICB0YWJsZXQ6IDUwcHhcbiAgKSxcbiAgOTogKFxuICAgIG51bGw6IDQwcHgsXG4gICAgdGFibGV0OiA2MHB4XG4gIClcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL21lYXN1cmVtZW50c1xuLy8vL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhZ2UgbGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFdpZHRoIG9mIG1haW4gY29udGFpbmVyXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcGFnZS13aWR0aDogOTYwcHggIWRlZmF1bHQ7XG5cbi8vLyBNYXAgb2YgZ3JpZCBjb2x1bW4gd2lkdGhzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3JpZC13aWR0aHM6IChcbiAgb25lLXF1YXJ0ZXI6IDI1JSxcbiAgb25lLXRoaXJkOiAzMy4zMzMzJSxcbiAgb25lLWhhbGY6IDUwJSxcbiAgdHdvLXRoaXJkczogNjYuNjY2NiUsXG4gIHRocmVlLXF1YXJ0ZXJzOiA3NSUsXG4gIGZ1bGw6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBoYWxmIHRoZSBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXItaGFsZjogJGdvdnVrLWd1dHRlciAvIDI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQm9yZGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBTdGFuZGFyZCBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGg6IDVweCAhZGVmYXVsdDtcblxuLy8vIFdpZGUgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLXdpZGU6IDEwcHggIWRlZmF1bHQ7XG5cbi8vLyBOYXJyb3cgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLW5hcnJvdzogNHB4ICFkZWZhdWx0O1xuXG4vLy8gRm9ybSBjb250cm9sIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ6IDJweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gY29udHJvbCBib3JkZXIgd2lkdGggd2hlbiBpbiBlcnJvciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZGVwcmVjYXRlZCBVc2UgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgaW5zdGVhZC4gVGhlcmUgc2hvdWxkIGJlIG5vXG4vLy8gICBkaWZmZXJlbmNlIGluIHRoaWNrbmVzcyBmb3IgaW5wdXRzIGluIHRoZSBlcnJvciBzdGF0ZSwgaW4gb3JkZXIgdG9cbi8vLyAgIG1haW50YWluIGEgZGlzdGluY3QgZm9jdXMgc3RhdGUuXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yOiAycHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGdyb3VwIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3I6ICRnb3Z1ay1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggb2YgZm9jdXMgb3V0bGluZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG5cbi8vLyBIb3ZlciB3aWR0aCBmb3IgZm9ybSBjb250cm9scyB3aXRoIGEgaG92ZXIgc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ob3Zlci13aWR0aDogMTBweCAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvdHlwb2dyYXBoeVxuLy8vL1xuXG4vLy8gTGlzdCBvZiBmb250IGZhbWlsaWVzIHRvIHVzZSBpZiB1c2luZyBHRFMgVHJhbnNwb3J0ICh0aGUgZGVmYXVsdCBmb250XG4vLy8gJ3N0YWNrJyBmb3IgR09WLlVLKVxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS1nZHMtdHJhbnNwb3J0OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8vLyBMaXN0IG9mIGZvbnQgZmFtaWxpZXMgdG8gdXNlIGlmIHVzaW5nIE5UQSAob2xkIGZvbnQgJ3N0YWNrJyBmb3Jcbi8vLyBHT1YuVUspXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZGVwcmVjYXRlZCBUbyBiZSByZW1vdmVkIG9uY2Ugc3VwcG9ydCBmb3IgY29tcGF0aWJpbGl0eSBtb2RlIGlzIGRyb3BwZWRcblxuJGdvdnVrLWZvbnQtZmFtaWx5LW50YTogXCJudGFcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8vLyBMaXN0IG9mIGZvbnQgZmFtaWxpZXMgdG8gdXNlIGlmIHVzaW5nIHRoZSAndGFidWxhciBudW1iZXJzJyBzdWJzZXQgb2YgTlRBXG4vLy8gKHRoZSBkZWZhdWx0IGZvbnQgJ3N0YWNrJyBmb3IgR09WLlVLKVxuLy8vXG4vLy8gQmVjYXVzZSBudGF0YWJ1bGFybnVtYmVycyBvbmx5IGluY2x1ZGVzIHRoZSBkaWdpdHMgMC0xMCwgYWxsIG90aGVyIGdseXBoc1xuLy8vIHdpbGwgJ2ZhbGwtdGhyb3VnaCcgdGhlIHN0YWNrIHRvIE5UQS5cbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBkZXByZWNhdGVkIFRvIGJlIHJlbW92ZWQgb25jZSBzdXBwb3J0IGZvciBjb21wYXRpYmlsaXR5IG1vZGUgaXMgZHJvcHBlZFxuXG4kZ292dWstZm9udC1mYW1pbHktbnRhLXRhYnVsYXI6IFwibnRhdGFidWxhcm51bWJlcnNcIiwgJGdvdnVrLWZvbnQtZmFtaWx5LW50YTtcbiIsIkBpbXBvcnQgXCJjb21wYXRpYmlsaXR5XCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeS1mb250LWZhbWlsaWVzXCI7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvdHlwb2dyYXBoeVxuLy8vL1xuXG4vLy8gVXNlICdsZWdhY3knIGZvbnRzXG4vLy9cbi8vLyBXaGV0aGVyIG9yIG5vdCB0byB1c2UgdjEgbnRhIGZvbnQgZnJvbSBHT1YuVUsgRWxlbWVudHMgLyBGcm9udGVuZFxuLy8vIFRvb2xraXQsIGZvciB0ZWFtcyB0aGF0IGFyZSBtaWdyYXRpbmcgdG8gR09WLlVLIEZyb250ZW5kIGFuZCBtYXkgYmUgdXNpbmdcbi8vLyBjb21wb25lbnRzIGZyb20gYm90aCBwbGFjZXMgaW4gYSBzaW5nbGUgYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXVzZS1sZWdhY3ktZm9udDogaWYoXG4gIChcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUgb3JcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzXG4gICksXG4gIHRydWUsXG4gIGZhbHNlXG4pICFkZWZhdWx0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgZmFtaWxpZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2UgZm9yIGFsbCB0eXBvZ3JhcGh5IG9uIHNjcmVlbiBtZWRpYVxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseTogaWYoXG4gICRnb3Z1ay11c2UtbGVnYWN5LWZvbnQsXG4gICRnb3Z1ay1mb250LWZhbWlseS1udGEsXG4gICRnb3Z1ay1mb250LWZhbWlseS1nZHMtdHJhbnNwb3J0XG4pICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2Ugd2hlbiBkaXNwbGF5aW5nIHRhYnVsYXIgbnVtYmVyc1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS10YWJ1bGFyOiBpZihcbiAgJGdvdnVrLXVzZS1sZWdhY3ktZm9udCxcbiAgJGdvdnVrLWZvbnQtZmFtaWx5LW50YS10YWJ1bGFyLFxuICBmYWxzZVxuKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWxpZXMgdG8gdXNlIGZvciBwcmludCBtZWRpYVxuLy8vXG4vLy8gV2UgcmVjb21tZW5kIHRoYXQgeW91IHVzZSBzeXN0ZW0gZm9udHMgd2hlbiBwcmludGluZy4gVGhpcyB3aWxsIGF2b2lkIGlzc3Vlc1xuLy8vIHdpdGggc29tZSBwcmludGVyIGRyaXZlcnMgYW5kIG9wZXJhdGluZyBzeXN0ZW1zLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS1wcmludDogc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIEluY2x1ZGUgdGhlIGRlZmF1bHQgQGZvbnQtZmFjZSBkZWNsYXJhdGlvbnNcbi8vL1xuLy8vIElmIHlvdSBoYXZlIHNldCAkZ292dWstZm9udC1mYW1pbHkgdG8gc29tZXRoaW5nIG90aGVyIHRoYW5cbi8vLyBgJGdvdnVrLWZvbnQtZmFtaWx5LWdkcy10cmFuc3BvcnRgIHRoaXMgb3B0aW9uIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2U6IChcbiAgJGdvdnVrLWZvbnQtZmFtaWx5ID09ICRnb3Z1ay1mb250LWZhbWlseS1nZHMtdHJhbnNwb3J0XG4pICFkZWZhdWx0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgd2VpZ2h0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IHdlaWdodCBmb3IgcmVndWxhciB0eXBvZ3JhcGh5XG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuJGdvdnVrLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBib2xkIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtYm9sZDogNzAwICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcblxuLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBXaGV0aGVyIG9yIG5vdCB0byBkZWZpbmUgZm9udCBzaXplcyBpbiByZW0sIGltcHJvdmluZyBhY2Nlc3NpYmlsaXR5IGJ5XG4vLy8gYWxsb3dpbmcgdXNlcnMgdG8gYWRqdXN0IHRoZSBiYXNlIGZvbnQtc2l6ZS4gVGhpcyBpcyBlbmFibGVkIGJ5IGRlZmF1bHQsXG4vLy8gdW5sZXNzIGFueSBvZiB0aGUgY29tcGF0aWJpbGl0eSBtb2RlIHNldHRpbmdzIGFyZSBlbmFibGVkLlxuLy8vXG4vLy8gWW91IHNob3VsZCBtYWtlIHN1cmUgdGhhdCAkZ292dWstcm9vdC1mb250LXNpemUgaXMgc2V0IGNvcnJlY3RseSBmb3IgeW91clxuLy8vIHByb2plY3QuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXR5cG9ncmFwaHktdXNlLXJlbTogaWYoXG4gIChcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUgb3JcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzXG4gICksXG4gIGZhbHNlLFxuICB0cnVlXG4pICFkZWZhdWx0O1xuXG4vLy8gUm9vdCBmb250IHNpemVcbi8vL1xuLy8vIFRoaXMgaXMgdXNlZCB0byBjYWxjdWxhdGUgcmVtIHNpemVzIGZvciB0aGUgdHlwb2dyYXBoeSwgYW5kIHNob3VsZCBtYXRjaCB0aGVcbi8vLyBfZWZmZWN0aXZlXyBmb250LXNpemUgb2YgeW91ciByb290IChvciBodG1sKSBlbGVtZW50LlxuLy8vXG4vLy8gSWRlYWxseSB5b3Ugc2hvdWxkIG5vdCBiZSBzZXR0aW5nIHRoZSBmb250LXNpemUgb24gdGhlIGh0bWwgb3Igcm9vdCBlbGVtZW50XG4vLy8gaW4gb3JkZXIgdG8gYWxsb3cgaXQgdG8gc2NhbGUgd2l0aCB1c2VyLXByZWZlcmVuY2UsIGluIHdoaWNoIGNhc2UgdGhpc1xuLy8vIHNob3VsZCBiZSBzZXQgdG8gMTZweC5cbi8vL1xuLy8vIElmIHlvdSBhcmUgaW50ZWdyYXRpbmcgRnJvbnRlbmQgaW50byBhbiBleGlzdGluZyBwcm9qZWN0IHRoYXQgYWxzbyB1c2VzXG4vLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgYW5kIHlvdSB3aXNoIHRvIGVuYWJsZSBgJGdvdnVrLXR5cG9ncmFwaHktdXNlLXJlbWBcbi8vLyB0aGVuIHlvdSBzaG91bGQgc2V0IHRoaXMgdG8gMTBweCB0byBtYXRjaCB0aGUgNjIuNSUgKDEwcHgpIGJhc2UgZm9udCBzaXplXG4vLy8gdGhhdCBnb3Z1a190ZW1wbGF0ZSBzZXRzIG9uIHRoZSA8aHRtbD4gZWxlbWVudC5cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1yb290LWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgdHlwb2dyYXBoeSBmb250IG1hcFxuLy8vXG4vLy8gVGhpcyBpcyB1c2VkIHRvIGdlbmVyYXRlIHJlc3BvbnNpdmUgdHlwb2dyYXBoeSB0aGF0IGFkYXB0cyBhY2NvcmRpbmcgdG8gdGhlXG4vLy8gYnJlYWtwb2ludHMuXG4vLy9cbi8vLyBGb250IHNpemUgYW5kIGZvbnQgd2VpZ2h0IGNhbiBiZSBkZWZpbmVkIGZvciBlYWNoIGJyZWFrcG9pbnQuIFlvdSBjYW4gZGVmaW5lXG4vLy8gZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCcgYnJlYWtwb2ludCBpcyBmb3Jcbi8vLyBtb2JpbGUuXG4vLy9cbi8vLyBMaW5lLWhlaWdodHMgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGNvbnZlcnRlZCBmcm9tIHBpeGVsIG1lYXN1cmVtZW50cyBpbnRvXG4vLy8gcmVsYXRpdmUgdmFsdWVzLiBGb3IgZXhhbXBsZSwgd2l0aCBhIGZvbnQtc2l6ZSBvZiAxNnB4IGFuZCBhIGxpbmUtaGVpZ2h0IG9mXG4vLy8gMjRweCwgdGhlIGxpbmUtaGVpZ2h0IHdpbGwgYmUgY29udmVydGVkIHRvIDEuNSBiZWZvcmUgb3V0cHV0LlxuLy8vXG4vLy8gWW91IGNhbiBhbHNvIHNwZWNpZnkgYSBzZXBhcmF0ZSBmb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IGZvciBwcmludCBtZWRpYS5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LiRicmVha3BvaW50LmZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBmb3IgYCRwb2ludGAgYXQgYCRicmVha3BvaW50YFxuLy8vIEBwcm9wIHtOdW1iZXJ9ICRwb2ludC4kYnJlYWtwb2ludC5saW5lLWhlaWdodCAtIExpbmUgaGVpZ2h0IGZvciBgJHBvaW50YCBhdCBgJGJyZWFrcG9pbnRgXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBmb3IgYCRwb2ludGAgd2hlbiBwcmludGluZ1xuLy8vIEBwcm9wIHtOdW1iZXJ9ICRwb2ludC5wcmludC5saW5lLWhlaWdodCAtIExpbmUgaGVpZ2h0IGZvciBgJHBvaW50YCB3aGVuIHByaW50aW5nXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdHlwb2dyYXBoeS1zY2FsZTogKFxuICA4MDogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogNTNweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogODBweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA4MHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiA1M3B0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMVxuICAgIClcbiAgKSxcbiAgNDg6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDMycHgsXG4gICAgICBsaW5lLWhlaWdodDogMzVweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDQ4cHgsXG4gICAgICBsaW5lLWhlaWdodDogNTBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMzJwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAzNjogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMjRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMzZweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAyNHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMDVcbiAgICApXG4gICksXG4gIDI3OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxOHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAyN3B4LFxuICAgICAgbGluZS1oZWlnaHQ6IDMwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE4cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMjQ6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE4cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDI0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMzBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAxOTogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMTZweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTlweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxNHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDE2OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDE2cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4yXG4gICAgKVxuICApLFxuICAxNDogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMTJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxMnB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMlxuICAgIClcbiAgKVxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbGlua3Ncbi8vLy9cblxuLy8vIEVuYWJsZSBuZXcgbGluayBzdHlsZXNcbi8vL1xuLy8vIElmIGVuYWJsZWQsIHRoZSBsaW5rIHN0eWxlcyB3aWxsIGNoYW5nZS4gVW5kZXJsaW5lcyB3aWxsOlxuLy8vXG4vLy8gLSBiZSBjb25zaXN0ZW50bHkgdGhpbm5lciBhbmQgYSBiaXQgZnVydGhlciBhd2F5IGZyb20gdGhlIGxpbmsgdGV4dFxuLy8vIC0gaGF2ZSBhIGNsZWFyZXIgaG92ZXIgc3RhdGUsIHdoZXJlIHRoZSB1bmRlcmxpbmUgZ2V0cyB0aGlja2VyIHRvIG1ha2UgdGhlXG4vLy8gICBsaW5rIHN0YW5kIG91dCB0byB1c2Vyc1xuLy8vXG4vLy8gWW91IHNob3VsZCBvbmx5IGVuYWJsZSB0aGUgbmV3IGxpbmsgc3R5bGVzIGlmIGJvdGg6XG4vLy9cbi8vLyAtIHlvdSd2ZSBtYWRlIHN1cmUgeW91ciB3aG9sZSBzZXJ2aWNlIHdpbGwgdXNlIHRoZSBuZXcgc3R5bGUgY29uc2lzdGVudGx5XG4vLy8gLSB5b3UgZG8gbm90IGhhdmUgbGlua3MgaW4gYSBtdWx0aS1jb2x1bW4gQ1NTIGxheW91dCAtIHRoZXJlJ3MgW2EgQ2hyb21pdW1cbi8vLyAgIGJ1ZyB0aGF0IGFmZmVjdHMgbGlua3NdKGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1ay1mcm9udGVuZC9pc3N1ZXMvMjIwNClcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbmV3LWxpbmstc3R5bGVzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFRoaWNrbmVzcyBvZiBsaW5rIHVuZGVybGluZXNcbi8vL1xuLy8vIFRoZSBkZWZhdWx0IHdpbGwgYmUgZWl0aGVyOlxuLy8vXG4vLy8gIC0gMXB4XG4vLy8gIC0gMC4wNjI1cmVtLCBpZiBpdCdzIHRoaWNrZXIgdGhhbiAxcHggYmVjYXVzZSB0aGUgdXNlciBoYXMgY2hhbmdlZCB0aGUgdGV4dFxuLy8vICAgIHNpemUgaW4gdGhlaXIgYnJvd3NlclxuLy8vXG4vLy8gU2V0IHRoaXMgdmFyaWFibGUgdG8gYGZhbHNlYCB0byBhdm9pZCBzZXR0aW5nIGEgdGhpY2tuZXNzLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzczogdW5xdW90ZShcIm1heCgxcHgsIC4wNjI1cmVtKVwiKSAhZGVmYXVsdDtcblxuLy8vIE9mZnNldCBvZiBsaW5rIHVuZGVybGluZXMgZnJvbSB0ZXh0IGJhc2VsaW5lXG4vLy9cbi8vLyBTZXQgdGhpcyB2YXJpYWJsZSB0byBgZmFsc2VgIHRvIGF2b2lkIHNldHRpbmcgYW4gb2Zmc2V0LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldDogLjFlbSAhZGVmYXVsdDtcblxuLy8vIFRoaWNrbmVzcyBvZiBsaW5rIHVuZGVybGluZXMgaW4gaG92ZXIgc3RhdGVcbi8vL1xuLy8vIFRoZSBkZWZhdWx0IGZvciBlYWNoIGxpbmsgd2lsbCBiZSB0aGUgdGhpY2tlc3Qgb2YgdGhlIGZvbGxvd2luZzpcbi8vL1xuLy8vICAtIDNweFxuLy8vICAtIDAuMTg3NXJlbSwgaWYgaXQncyB0aGlja2VyIHRoYW4gM3B4IGJlY2F1c2UgdGhlIHVzZXIgaGFzIGNoYW5nZWQgdGhlIHRleHRcbi8vLyAgICBzaXplIGluIHRoZWlyIGJyb3dzZXJcbi8vLyAgLSAwLjEyZW0gKHJlbGF0aXZlIHRvIHRoZSBsaW5rJ3MgdGV4dCBzaXplKVxuLy8vXG4vLy8gU2V0IHRoaXMgdmFyaWFibGUgdG8gYGZhbHNlYCB0byBhdm9pZCBzZXR0aW5nIGEgdGhpY2tuZXNzLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzczogdW5xdW90ZShcIm1heCgzcHgsIC4xODc1cmVtLCAuMTJlbSlcIikgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwiY29tcGF0aWJpbGl0eVwiO1xuQGltcG9ydCBcImV4cG9ydHNcIjtcbkBpbXBvcnQgXCJmb250LXVybFwiO1xuQGltcG9ydCBcImllOFwiO1xuQGltcG9ydCBcImlmZlwiO1xuQGltcG9ydCBcImltYWdlLXVybFwiO1xuQGltcG9ydCBcInB4LXRvLWVtXCI7XG5AaW1wb3J0IFwicHgtdG8tcmVtXCI7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzL2NvbXBhdGliaWxpdHktbW9kZVxuLy8vL1xuXG4vLy8gQ29uZGl0aW9uYWwgQ29tcGF0aWJpbGl0eSBNaXhpblxuLy8vXG4vLy8gU2VsZWN0aXZlbHkgb3V0cHV0IGEgYmxvY2sgKGF2YWlsYWJsZSB0byB0aGUgbWl4aW4gYXMgQGNvbnRlbnQpIGlmIGEgZ2l2ZW5cbi8vLyAkcHJvZHVjdCBpcyBhbHNvIGlkZW50aWZpZWQgYXMgYmVpbmcgdXNlZCBpbiB0aGUgcHJvamVjdC5cbi8vL1xuLy8vIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBpbmNsdWRlIHN0eWxlcyB0aGF0IGFyZSBvbmx5IG5lZWRlZCB0byBvdmVycmlkZVxuLy8vIHN0eWxlcyBwcm92aWRlZCBieSB0aG9zZSBvdGhlciBwcm9kdWN0cyAoZS5nLiB3aGVyZSBnb3Z1a190ZW1wbGF0ZSBoYXMgYVxuLy8vIHZlcnkgc3BlY2lmaWMgbGluayBzZWxlY3RvciB0aGF0IG90aGVyd2lzZSBhZmZlY3RzIGJ1dHRvbnMpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gT3ZlcnJpZGUgLm15LWNsYXNzIGlmIEdPVi5VSyBUZW1wbGF0ZSBpcyBhbHNvIGJlaW5nIHVzZWRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbi8vLyAgICAgLm15LWNsYXNzIHtcbi8vLyAgICAgICBjb2xvcjogaW5oZXJpdDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9kdWN0IC0gTmFtZSBvZiBwcm9kdWN0IHRoYXQgd2UgYXJlICdkZWZlbmRpbmcnIGFnYWluc3QuXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb3V0cHV0dGVkIG9ubHkgaWYgRnJvbnRlbmQgaXMgYmVpbmcgdXNlZCB3aXRoXG4vLy8gICB0aGlzIHByb2R1Y3Rcbi8vLyBAdGhyb3cgRXJyb3JzIGlmIHByb2R1Y3QgbmFtZSBpcyBub3QgcmVjb2duaXNlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jb21wYXRpYmlsaXR5KCRwcm9kdWN0KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkX2dvdnVrLWNvbXBhdGliaWxpdHksICRwcm9kdWN0KSB7XG4gICAgQGlmIG1hcC1nZXQoJF9nb3Z1ay1jb21wYXRpYmlsaXR5LCAkcHJvZHVjdCkgPT0gdHJ1ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIk5vbiBleGlzdGVudCBwcm9kdWN0ICcjeyRwcm9kdWN0fSdcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gTGlzdCBvZiBtb2R1bGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGV4cG9ydGVkXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBFeHBvcnQgbW9kdWxlXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgbW9kdWxlcyBvZiBDU1MgdGhhdCB3ZSBkZWZpbmUgdGhyb3VnaG91dCBGcm9udGVuZCBhcmUgb25seVxuLy8vIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5IGFyZVxuLy8vIGltcG9ydGVkIGFjcm9zcyB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBtb2R1bGUgLSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvZGViYXNlXG4vLy8gQGNvbnRlbnQgVGhlIHBhc3NlZCBjb250ZW50IHdpbGwgb25seSBiZSBvdXRwdXR0ZWQgaWYgYSBtb2R1bGUgb2YgdGhlIHNhbWVcbi8vLyAgICRuYW1lIGhhcyBub3QgYWxyZWFkeSBiZWVuIG91dHB1dHRlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1leHBvcnRzKCRuYW1lKSB7XG4gIC8vIElmIHRoZSBtaXhpbiBpcyBub3QgaW4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhbHJlYWR5IGV4cG9ydGVkLi4uXG4gIEBpZiAoaW5kZXgoJF9nb3Z1ay1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSkgPT0gbnVsbCkge1xuICAgIC8vIC4uLiB0aGVuIGFkZCBpdCB0byB0aGUgbGlzdFxuICAgICRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogYXBwZW5kKCRfZ292dWstaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgLy8gLi4uIGFuZCBvdXRwdXQgdGhlIENTUyBmb3IgdGhhdCBtb2R1bGVcbiAgICBAY29udGVudDtcbiAgfVxuICAvLyBUaGUgbmV4dCB0aW1lIGV4cG9ydHMgaXMgY2FsbGVkIGZvciB0aGUgbW9kdWxlIG9mIHRoZSBzYW1lIG5hbWUsIGl0IHdpbGwgYmVcbiAgLy8gZm91bmQgaW4gdGhlIGxpc3QgYW5kIHNvIG5vdGhpbmcgd2lsbCBiZSBvdXRwdXR0ZWQuXG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzL2Fzc2V0c1xuLy8vL1xuXG4vLy8gRm9udCBVUkxcbi8vL1xuLy8vIElmIGEgY3VzdG9tIGZvbnQtdXJsIGhhbmRsZXIgaXMgZGVmaW5lZCAoJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uKSB0aGVuXG4vLy8gaXQgd2lsbCBiZSBjYWxsZWQsIG90aGVyd2lzZSBhIHVybCB3aWxsIGJlIHJldHVybmVkIHdpdGggdGhlIGZpbGVuYW1lXG4vLy8gYXBwZW5kZWQgdG8gdGhlIGZvbnQgcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZmlsZW5hbWUgLSBGb250IGZpbGVuYW1lXG4vLy8gQHJldHVybiB7U3RyaW5nfSBVUkwgZm9yIHRoZSBmaWxlbmFtZSwgd3JhcHBlZCBpbiBgdXJsKClgXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWZvbnQtdXJsKCRmaWxlbmFtZSkge1xuICAkdXNlLWN1c3RvbS1mdW5jdGlvbjogdmFyaWFibGUtZXhpc3RzKFwiZ292dWstZm9udC11cmwtZnVuY3Rpb25cIilcbiAgICBhbmQgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uXG4gICAgYW5kIGZ1bmN0aW9uLWV4aXN0cygkZ292dWstZm9udC11cmwtZnVuY3Rpb24pO1xuXG4gIEBpZiAoJHVzZS1jdXN0b20tZnVuY3Rpb24pIHtcbiAgICBAcmV0dXJuIGNhbGwoZ2V0LWZ1bmN0aW9uKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbiksICRmaWxlbmFtZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsKCRnb3Z1ay1mb250cy1wYXRoICsgJGZpbGVuYW1lKTtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29scy9pbnRlcm5ldC1leHBsb3Jlci04XG4vLy8vXG5cbi8vLyBDb25kaXRpb25hbGx5IGluY2x1ZGUgcnVsZXMgb25seSBmb3IgSUU4XG4vLy9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCBpcyBvbmx5IG91dHB1dHRlZCBpZiB3ZSdyZSBjb21waWxpbmcgYSBzdHlsZXNoZWV0XG4vLy8gICB0aGF0IHRhcmdldHMgSUU4IChpZiBgJGdvdnVrLWlzLWllOGAgaXMgdHJ1ZSlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgbWluLXdpZHRoOiAxMDBweDtcbi8vLyAgICAgLy8gU3BlY2lmeSB3aWR0aCBmb3IgSUU4IG9ubHlcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbi8vLyAgICAgICB3aWR0aDogMTAwcHg7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1pZi1pZTgge1xuICBAaWYgJGdvdnVrLWlzLWllOCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIENvbmRpdGlvbmFsbHkgZXhjbHVkZSBydWxlcyBmb3IgSUU4XG4vLy9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCBpcyBvbmx5IG91dHB1dHRlZCBpZiB3ZSdyZSBub3QgY29tcGlsaW5nIGFcbi8vLyAgIHN0eWxlc2hlZXQgdGhhdCB0YXJnZXRzIElFOCAoaWYgYCRnb3Z1ay1pcy1pZThgIGlzIGZhbHNlKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBmb250LXdlaWdodDogYm9sZDtcbi8vL1xuLy8vICAgICAvLyBFbmhhbmNlIGZvbyBvbmx5IGZvciBtb2Rlcm4gYnJvd3NlcnMgKG5vdCBJRTgpXG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuLy8vICAgICAgIGZvbnQtZmFtaWx5OiBcIkNvbWljIFNhbnMgTVNcIiwgXCJDdXJseiBNVFwiIGN1cnNpdmUsIHNhbnMtc2VyaWY7XG4vLy8gICAgICAgY29sb3I6ICNGRjY5QjQ7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1ub3QtaWU4IHtcbiAgQGlmIG5vdCAkZ292dWstaXMtaWU4IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gU3ludGFjdGljIHN1Z2FyIGFyb3VuZCBTYXNzJyBidWlsdC1pbiBgaWZgIGZ1bmN0aW9uIHRoYXQgZG9lcyBub3QgcmVxdWlyZVxuLy8vIHlvdSB0byBwYXNzIGEgdmFsdWUgZm9yIGAkaWYtZmFsc2VgLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY29uZGl0aW9uIC0gV2hldGhlciB0byByZXR1cm4gdGhlIHZhbHVlIG9mIGAkaWYtdHJ1ZWBcbi8vLyBAcGFyYW0ge01peGVkfSAkaWYtdHJ1ZSAtIFZhbHVlIHRvIHJldHVybiBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5XG4vLy8gQHJldHVybiB7TWl4ZWR9IFZhbHVlIG9mIGAkaWYtdHJ1ZWAgaWYgYCRjb25kaXRpb25gIGlzIHRydXRoeSwgZWxzZSBudWxsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGRlcHJlY2F0ZWQgV2Ugd2lsbCBiZSByZW1vdmluZyB0aGlzIGZ1bmN0aW9uIGluIGEgZnV0dXJlIHJlbGVhc2UsIHVzZSBgaWYoJGNvbmRpdGlvbiwgJGlmLXRydWUsIG51bGwpO2AgaW5zdGVhZC5cblxuQGZ1bmN0aW9uIGlmZigkY29uZGl0aW9uLCAkaWYtdHJ1ZSkge1xuICBAd2FybiBcIlRoZSBgaWZmYCBmdW5jdGlvbiB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZSwgdXNlIGBpZigkY29uZGl0aW9uLCAkaWYtdHJ1ZSwgbnVsbCk7YCBpbnN0ZWFkLlwiO1xuICBAcmV0dXJuIGlmKCRjb25kaXRpb24sICRpZi10cnVlLCBudWxsKTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHMvYXNzZXRzXG4vLy8vXG5cbi8vLyBJbWFnZSBVUkxcbi8vL1xuLy8vIElmIGEgY3VzdG9tIGltYWdlLXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pIHRoZW5cbi8vLyBpdCB3aWxsIGJlIGNhbGxlZCwgb3RoZXJ3aXNlIGEgdXJsIHdpbGwgYmUgcmV0dXJuZWQgd2l0aCB0aGUgZmlsZW5hbWVcbi8vLyBhcHBlbmRlZCB0byB0aGUgaW1hZ2UgcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSBGaWxlbmFtZSBmb3IgdGhlIGltYWdlIHRvIGxvYWRcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IFVSTCBmb3IgdGhlIGZpbGVuYW1lLCB3cmFwcGVkIGluIGB1cmwoKWBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstaW1hZ2UtdXJsKCRmaWxlbmFtZSkge1xuICAkdXNlLWN1c3RvbS1mdW5jdGlvbjogdmFyaWFibGUtZXhpc3RzKFwiZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb25cbiAgICBhbmQgZnVuY3Rpb24tZXhpc3RzKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pO1xuXG4gIEBpZiAoJHVzZS1jdXN0b20tZnVuY3Rpb24pIHtcbiAgICBAcmV0dXJuIGNhbGwoZ2V0LWZ1bmN0aW9uKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstaW1hZ2VzLXBhdGggKyAkZmlsZW5hbWUpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzL3VuaXQtY29udmVyc2lvblxuLy8vL1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBMZW5ndGggaW4gcGl4ZWxzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb250ZXh0LWZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBvZiBlbGVtZW50XG4vLy8gQHJldHVybiB7TnVtYmVyfSBMZW5ndGggaW4gZW1zXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWVtKCR2YWx1ZSwgJGNvbnRleHQtZm9udC1zaXplKSB7XG4gIEBpZiAodW5pdGxlc3MoJHZhbHVlKSkge1xuICAgICR2YWx1ZTogJHZhbHVlICogMXB4O1xuICB9XG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQtZm9udC1zaXplKSkge1xuICAgICRjb250ZXh0LWZvbnQtc2l6ZTogJGNvbnRleHQtZm9udC1zaXplICogMXB4O1xuICB9XG4gIEByZXR1cm4gJHZhbHVlIC8gJGNvbnRleHQtZm9udC1zaXplICogMWVtO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29scy91bml0LWNvbnZlcnNpb25cbi8vLy9cblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbVxuLy8vXG4vLy8gVGhlICRnb3Z1ay1yb290LWZvbnQtc2l6ZSAoZGVmaW5lZCBpbiBzZXR0aW5ncy9fdHlwb2dyYXBoeS1yZXNwb25zaXZlLnNjc3MpXG4vLy8gbXVzdCBiZSBjb25maWd1cmVkIHRvIG1hdGNoIHRoZSBmb250LXNpemUgb2YgeW91ciByb290IChodG1sKSBlbGVtZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gTGVuZ3RoIGluIHBpeGVsc1xuLy8vIEByZXR1cm4ge051bWJlcn0gTGVuZ3RoIGluIHJlbXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstcHgtdG8tcmVtKCR2YWx1ZSkge1xuICBAaWYgKHVuaXRsZXNzKCR2YWx1ZSkpIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAqIDFweDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlIC8gJGdvdnVrLXJvb3QtZm9udC1zaXplICogMXJlbTtcbn1cbiIsIkBpbXBvcnQgXCJjbGVhcmZpeFwiO1xuQGltcG9ydCBcImNvbG91clwiO1xuQGltcG9ydCBcImRldmljZS1waXhlbHNcIjtcbkBpbXBvcnQgXCJmb2N1c2VkXCI7XG5AaW1wb3J0IFwiZm9udC1mYWNlc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcIm1lZGlhLXF1ZXJpZXNcIjtcbkBpbXBvcnQgXCJzaGFwZS1hcnJvd1wiO1xuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidmlzdWFsbHktaGlkZGVuXCI7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvbGF5b3V0XG4vLy8vXG5cbi8vLyBDbGVhciBmbG9hdGVkIGNvbnRlbnQgd2l0aGluIGEgY29udGFpbmVyIHVzaW5nIGEgcHNldWRvIGVsZW1lbnRcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jbGVhcmZpeCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gTWVkaWEgcXVlcnkgZm9yIHJldGluYSBpbWFnZXMgKGRldmljZS1waXhlbC1yYXRpbylcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmF0aW8gWzJdIC0gRGV2aWNlIHBpeGVsIHJhdGlvXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgd2lsbCBiZSBvdXRwdXR0ZWQgd2l0aGluIHRoZSBtZWRpYSBxdWVyeVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFByb3ZpZGluZyBhIEAyeCBpbWFnZSBmb3Igc2NyZWVucyB0aGF0IHN1cHBvcnQgaXRcbi8vLyAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLnBuZ1wiKTtcbi8vL1xuLy8vICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbi8vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UtMngucG5nXCIpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzaW5nIGEgY3VzdG9tIHJhdGlvXG4vLy8gICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS5wbmdcIik7XG4vLy9cbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbyB7XG4vLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLTJ4LnBuZ1wiKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvKDMpIHtcbi8vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UtM3gucG5nXCIpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbygkcmF0aW86IDIpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgaW5kZW50YXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7KCRyYXRpbyAqIDk2KX1kcGkpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7JHJhdGlvfWRwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9hY2Nlc3NpYmlsaXR5XG4vLy8vXG5cbi8vLyBGb2N1c2VkIHRleHRcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpcyBmb2N1c2VkLlxuLy8vIFVzZWQgZm9yIGludGVyYWN0aXZlIHRleHQtYmFzZWQgZWxlbWVudHMuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9jdXNlZC10ZXh0IHtcbiAgLy8gV2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuLCBmb3IgZXhhbXBsZSB3aGVuIHVzZXJzIGhhdmUgYSBkYXJrIG1vZGUsXG4gIC8vIGJhY2tncm91bmRzIGFuZCBib3gtc2hhZG93cyBkaXNhcHBlYXIsIHNvIHdlIG5lZWQgdG8gZW5zdXJlIHRoZXJlJ3MgYVxuICAvLyB0cmFuc3BhcmVudCBvdXRsaW5lIHdoaWNoIHdpbGwgYmUgc2V0IHRvIGEgdmlzaWJsZSBjb2xvdXIuXG5cbiAgLy8gU2luY2UgSW50ZXJuZXQgRXhwbG9yZXIgOCBkb2VzIG5vdCBzdXBwb3J0IGJveC1zaGFkb3csIHdlIHdhbnQgdG8gZm9yY2UgdGhlXG4gIC8vIHVzZXItYWdlbnQgb3V0bGluZXNcbiAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG4gIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIGJveC1zaGFkb3c6IDAgLTJweCAkZ292dWstZm9jdXMtY29sb3VyLCAwIDRweCAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIC8vIFdoZW4gbGluayBpcyBmb2N1c3NlZCwgaGlkZSB0aGUgZGVmYXVsdCB1bmRlcmxpbmUgc2luY2UgdGhlXG4gIC8vIGJveCBzaGFkb3cgYWRkcyB0aGUgXCJ1bmRlcmxpbmVcIlxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL3Rvb2xzL2V4cG9ydHNcIjtcblxuLy8vIEZvbnQgRmFjZSAtIEdEUyBUcmFuc3BvcnRcbi8vL1xuLy8vIE91dHB1dHMgdGhlIGZvbnQtZmFjZSBkZWNsYXJhdGlvbiBmb3IgR0RTIFRyYW5zcG9ydCBhdCB0aGUgcm9vdCBvZiB0aGUgQ1NTIGRvY3VtZW50XG4vLy8gdGhlIGZpcnN0IHRpbWUgaXQgaXMgY2FsbGVkLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstZm9udC1mYWNlLWdkcy10cmFuc3BvcnQge1xuICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHsgLy8gSW4gSUU4LCB3aGljaCBjYW5ub3QgcmVuZGVyIFdPRkYgZm9ybWF0LCB3ZSBmYWxsIGJhY2sgdG8gc3lzdGVtIGZvbnRzXG4gICAgQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2hlbHBlcnMvZm9udC1mYWNlc1wiKSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgIC8qISBDb3B5cmlnaHQgKGMpIDIwMTEgYnkgTWFyZ2FyZXQgQ2FsdmVydCAmIEhlbnJpayBLdWJlbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhlIGZvbnQgaGFzIGJlZW4gY3VzdG9taXNlZCBmb3IgZXhjbHVzaXZlIHVzZSBvbiBnb3YudWsuIFRoaXMgY3V0IGlzIG5vdCBjb21tZXJjaWFsbHkgYXZhaWxhYmxlLiAqLyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNjc3MvY29tbWVudC1uby1sb3VkICAqL1xuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCI7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgc3JjOlxuICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC05NGEwN2UwNmExLXYyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC1mNTkxYjEzZjdkLXYyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBzcmM6XG4gICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtYjU0MmJlYjI3NC12Mi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1hZmZhOTY1NzFkLXYyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvbGF5b3V0XG4vLy8vXG5cbi8vLyBHcmlkIHdpZHRoIHBlcmNlbnRhZ2Vcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiBncmlkIHdpZHRoIChlLmcuIHR3by10aGlyZHMpXG4vLy8gQHJldHVybiB7TnVtYmVyfSBQZXJjZW50YWdlIHdpZHRoXG4vLy8gQHRocm93IGlmIGAka2V5YCBpcyBub3QgYSB2YWxpZCBncmlkIHdpZHRoXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWdyaWQtd2lkdGgoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGdvdnVrLWdyaWQtd2lkdGhzLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRnb3Z1ay1ncmlkLXdpZHRocywgJGtleSk7XG4gIH1cblxuICBAZXJyb3IgXCJVbmtub3duIGdyaWQgd2lkdGggYCN7JGtleX1gXCI7XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIGNvbHVtbiBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiB3aXRoIHN0YW5kYXJkIGd1dHRlciBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuLy8vXG4vLy8gR3JpZCB3aWR0aHMgYXJlIGRlZmluZWQgaW4gdGhlIGAkZ292dWstZ3JpZC13aWR0aHNgIG1hcC5cbi8vL1xuLy8vIEJ5IGRlZmF1bHQgdGhlIGNvbHVtbiB3aWR0aCBjaGFuZ2VzIGZyb20gMTAwJSB0byBzcGVjaWZpZWQgd2lkdGggYXQgdGhlXG4vLy8gJ3RhYmxldCcgYnJlYWtwb2ludCwgYnV0IG90aGVyIGJyZWFrcG9pbnRzIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlIGAkYXRgXG4vLy8gcGFyYW1ldGVyLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCBbZnVsbF0gbmFtZSBvZiBhIGdyaWQgd2lkdGggZnJvbSAkZ292dWstZ3JpZC13aWR0aHNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZsb2F0IFtsZWZ0XSBsZWZ0IHwgcmlnaHRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGF0IFt0YWJsZXRdIC0gbW9iaWxlIHwgdGFibGV0IHwgZGVza3RvcCB8IGFueSBjdXN0b20gYnJlYWtwb2ludFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERlZmF1bHRcbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi10d28tdGhpcmRzIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4odHdvLXRoaXJkcylcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b21pc2luZyB0aGUgYnJlYWtwb2ludCB3aGVyZSB3aWR0aCBwZXJjZW50YWdlIGlzIGFwcGxpZWRcbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZi1hdC1kZXNrdG9wIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRhdDogZGVza3RvcCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGZsb2F0IGRpcmVjdGlvblxuLy8vICAgLmdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmLXJpZ2h0IHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4odHdvLXRoaXJkcywgJGZsb2F0OiByaWdodCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoOiBmdWxsLCAkZmxvYXQ6IGxlZnQsICRhdDogdGFibGV0KSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIEBpZiAkYXQgIT0gZGVza3RvcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgcGFkZGluZzogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYXQpIHtcbiAgICB3aWR0aDogZ292dWstZ3JpZC13aWR0aCgkd2lkdGgpO1xuICAgIGZsb2F0OiAkZmxvYXQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9saW5rc1xuLy8vL1xuXG4vLy8gQ29tbW9uIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICB9XG59XG5cbi8vLyBMaW5rIGRlY29yYXRpb25cbi8vL1xuLy8vIFByb3ZpZGVzIHRoZSB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLCBpbmNsdWRpbmcgdGhpY2tuZXNzIGFuZCB1bmRlcmxpbmVcbi8vLyBvZmZzZXQuIFVzZSB0aGlzIG1peGluIG9ubHkgaWYgeW91IGNhbm5vdCB1c2UgdGhlIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4uXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuQG1peGluIGdvdnVrLWxpbmstZGVjb3JhdGlvbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIEBpZiAoJGdvdnVrLW5ldy1saW5rLXN0eWxlcykge1xuICAgIEBpZiAoJGdvdnVrLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcykge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogJGdvdnVrLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgICB9XG5cbiAgICBAaWYgKCRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQpIHtcbiAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIExpbmsgaG92ZXIgZGVjb3JhdGlvblxuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MgaW4gdGhlaXIgaG92ZXIgc3RhdGUsIGZvciB5b3UgdG8gdXNlXG4vLy8gd2l0aGluIGEgYDpob3ZlcmAgcHNldWRvLXNlbGVjdG9yLiBVc2UgdGhpcyBtaXhpbiBvbmx5IGlmIHlvdSBjYW5ub3QgdXNlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4uXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uIHtcbiAgQGlmICgkZ292dWstbmV3LWxpbmstc3R5bGVzIGFuZCAkZ292dWstbGluay1ob3Zlci11bmRlcmxpbmUtdGhpY2tuZXNzKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgfVxufVxuXG4vLy8gRGVmYXVsdCBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBkZWZhdWx0IHVudmlzaXRlZCwgdmlzaXRlZCwgaG92ZXIgYW5kIGFjdGl2ZSBjb2xvdXJzLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdCB7XG4gICY6bGluayB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmsgIHMgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMgc29cbiAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEVycm9yIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB1c2UgdGhlIGVycm9yIGNvbG91ci4gVGhlIGxpbmsgd2lsbCBkYXJrZW4gaWYgaXQncyBhY3RpdmUgb3IgYVxuLy8vIHVzZXIgaG92ZXJzIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1lcnJvcjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLWVycm9yIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHNjYWxlLWNvbG9yKCRnb3Z1ay1lcnJvci1jb2xvdXIsICRsaWdodG5lc3M6IC0zMCUpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGluayAgcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycyBzb1xuICAvLyBzbyB0aGF0IHVudmlzaXRlZCBsaW5rcyBzdHlsZWQgYXMgYnV0dG9ucyBkbyBub3QgZW5kIHVwIHdpdGggZGFyayBibHVlXG4gIC8vIHRleHQgd2hlbiBmb2N1c3NlZC5cbiAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICY6bGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU3VjY2VzcyBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBzdWNjZXNzIGNvbG91ci4gVGhlIGxpbmsgd2lsbCBkYXJrZW4gaWYgaXQncyBhY3RpdmUgb3IgYVxuLy8vIHVzZXIgaG92ZXJzIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1zdWNjZXNzO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtc3VjY2VzcyB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLXN1Y2Nlc3MtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHNjYWxlLWNvbG9yKCRnb3Z1ay1zdWNjZXNzLWNvbG91ciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmsgIHMgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMgc29cbiAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIE11dGVkIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB1c2UgdGhlIHNlY29uZGFyeSB0ZXh0IGNvbG91ci4gVGhlIGxpbmsgd2lsbCBkYXJrZW4gaWYgaXQnc1xuLy8vIGFjdGl2ZSBvciBhIHVzZXIgaG92ZXJzIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW11dGVkIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvciBkZXNpZ25lZFxuICAvLyB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvIHdlIG5lZWQgdG9cbiAgLy8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICY6bGluazpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFRleHQgbGluayBzdHlsZXNcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgcHJpbWFyeSB0ZXh0IGNvbG91ciwgaW4gYWxsIHN0YXRlcy4gVXNlIHRoaXMgbWl4aW4gZm9yXG4vLy8gbmF2aWdhdGlvbiBjb21wb25lbnRzLCBzdWNoIGFzIGJyZWFkY3J1bWJzIG9yIHRoZSBiYWNrIGxpbmsuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS10ZXh0IHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gRm9yY2UgYSBjb2xvdXIgY2hhbmdlIG9uIGhvdmVyIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIFNhZmFyaVxuICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NDgzXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKCRnb3Z1ay10ZXh0LWNvbG91ciwgLjk5KTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yIGRlc2lnbmVkXG4gIC8vIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc28gd2UgbmVlZCB0b1xuICAvLyBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJzZSBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3Mgd2hpdGUsIGluIGFsbCBzdGF0ZXMuIFVzZSB0aGlzIG1peGluIGlmIHlvdSdyZSBkaXNwbGF5aW5nIGxpbmtzXG4vLy8gYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZC5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2Uge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLy8gRm9yY2UgYSBjb2xvdXIgY2hhbmdlIG9uIGhvdmVyIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIFNhZmFyaVxuICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NDgzXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYShnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKSwgLjk5KTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvciBkZXNpZ25lZFxuICAvLyB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvIHdlIG5lZWQgdG9cbiAgLy8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICY6bGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gRGVmYXVsdCBsaW5rIHN0eWxlcywgd2l0aG91dCBhIHZpc2l0ZWQgc3RhdGVcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgZGVmYXVsdCB1bnZpc2l0ZWQsIGhvdmVyIGFuZCBhY3RpdmUgY29sb3Vycywgd2l0aCBub1xuLy8vIGRpc3RpbmN0IHZpc2l0ZWQgc3RhdGUuXG4vLy9cbi8vLyBVc2UgdGhpcyBtaXhpbiB3aGVuIGl0J3Mgbm90IGhlbHBmdWwgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB2aXNpdGVkIGFuZFxuLy8vIG5vbi12aXNpdGVkIGxpbmtzLiBGb3IgZXhhbXBsZSwgd2hlbiB5b3UgbGluayB0byBwYWdlcyB3aXRoXG4vLy8gZnJlcXVlbnRseS1jaGFuZ2luZyBjb250ZW50LCBzdWNoIGFzIHRoZSBkYXNoYm9hcmQgZm9yIGFuIGFkbWluIGludGVyZmFjZS5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBSZW1vdmUgdW5kZXJsaW5lIGZyb20gbGlua3Ncbi8vL1xuLy8vIFJlbW92ZSB1bmRlcmxpbmVzIGZyb20gbGlua3MgdW5sZXNzIHRoZSBsaW5rIGlzIGFjdGl2ZSBvciBhIHVzZXIgaG92ZXJzXG4vLy8gdGhlaXIgY3Vyc29yIG92ZXIgaXQuIFRoaXMgaGFzIG5vIGVmZmVjdCBpbiBJbnRlcm5ldCBFeHBsb3JlciA4IChJRTgpLFxuLy8vIGJlY2F1c2UgSUU4IGRvZXMgbm90IHN1cHBvcnQgYDpub3RgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lIHtcbiAgJjpub3QoOmhvdmVyKTpub3QoOmFjdGl2ZSkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLy8gSW5jbHVkZSBsaW5rIGRlc3RpbmF0aW9uIHdoZW4gcHJpbnRpbmcgdGhlIHBhZ2Vcbi8vL1xuLy8vIElmIHRoZSB1c2VyIHByaW50cyB0aGUgcGFnZSwgYWRkIHRoZSBkZXN0aW5hdGlvbiBVUkwgYWZ0ZXIgdGhlIGxpbmsgdGV4dCwgaWZcbi8vLyB0aGUgVVJMIHN0YXJ0cyB3aXRoIGAvYCwgYGh0dHA6Ly9gIG9yIGBodHRwczovL2AuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1wcmludC1mcmllbmRseSB7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICZbaHJlZl49XCIvXCJdLFxuICAgICZbaHJlZl49XCJodHRwOi8vXCJdLFxuICAgICZbaHJlZl49XCJodHRwczovL1wiXSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuXG4gICAgICAgIC8vIEJlY2F1c2UgdGhlIFVSTHMgbWF5IGJlIHZlcnkgbG9uZywgZW5zdXJlIHRoYXQgdGhleSBtYXkgYmUgYnJva2VuXG4gICAgICAgIC8vIGF0IGFyYml0cmFyeSBwb2ludHMgaWYgdGhlcmUgYXJlIG5vIG90aGVyd2lzZSBhY2NlcHRhYmxlIGJyZWFrXG4gICAgICAgIC8vIHBvaW50cyBpbiB0aGUgbGluZVxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvbGF5b3V0XG4vLy8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV3JhbmdsZSBzYXNzLW1xIGNvbmZpZy4uLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFBhc3Mgb3VyIGJyZWFrcG9pbnRzIGFuZCBzdGF0aWMgYnJlYWtwb2ludCBkZWZpbml0aW9ucyB0aHJvdWdoIHRvIHNhc3MtbXEuXG4kbXEtYnJlYWtwb2ludHM6IGlmKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1icmVha3BvaW50cyksICRnb3Z1ay1icmVha3BvaW50cywgKCkpO1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBpZih2YXJpYWJsZS1leGlzdHMoZ292dWstaWU4LWJyZWFrcG9pbnQpLCAkZ292dWstaWU4LWJyZWFrcG9pbnQsIGRlc2t0b3ApO1xuXG4kbXEtc2hvdy1icmVha3BvaW50czogKCk7XG5cbkBpZiAodmFyaWFibGUtZXhpc3RzKGdvdnVrLXNob3ctYnJlYWtwb2ludHMpIGFuZCAkZ292dWstc2hvdy1icmVha3BvaW50cykge1xuICAkbXEtc2hvdy1icmVha3BvaW50czogbWFwLWtleXMoJGdvdnVrLWJyZWFrcG9pbnRzKTtcbn1cblxuLy8gV2hlbiBidWlsZGluZyBhIHN0eWxlc2hlZXQgZm9yIElFOCwgc2V0ICRtcS1yZXNwb25zaXZlIHRvIGZhbHNlIGluIG9yZGVyIHRvXG4vLyAncmFzdGVyaXplJyBhbnkgbWVkaWEgcXVlcmllcy5cblxuJG1xLXJlc3BvbnNpdmU6IHRydWU7XG5AaWYgKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1pcy1pZTgpIGFuZCAkZ292dWstaXMtaWU4KSB7XG4gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbn1cblxuLy8gVGhpcyBpcyBhIGhvcnJpYmxlLCBob3JyaWJsZSBoYWNrIHRvIHByZXZlbnQgdGhlICdkZXYgbW9kZScgQ1NTIHRvIGRpc3BsYXlcbi8vIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgZnJvbSBiZWluZyBpbmNsdWRlZCBtdWx0aXBsZSB0aW1lcy5cbi8vXG4vLyBXZSBjYW4ndCB1c2UgdGhlIGBleHBvcnRzYCBtaXhpbiBmb3IgdGhpcyBiZWNhdXNlIGltcG9ydCBkaXJlY3RpdmVzIGNhbm5vdCBiZVxuLy8gdXNlZCB3aXRoaW4gY29udHJvbCBkaXJlY3RpdmVzIPCfmKBcbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgJHNhc3MtbXEtYWxyZWFkeS1pbmNsdWRlZCB7XG4gICRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKTtcbn1cblxuQGltcG9ydCBcIi4uL3ZlbmRvci9zYXNzLW1xXCI7XG5cbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IHRydWU7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBNZWRpYSBRdWVyeVxuLy8vXG4vLy8gVGhpcyBpcyBhIGN1cnJlbnRseSBhIHdyYXBwZXIgZm9yIHNhc3MtbXEgLSBhYnN0cmFjdGVkIHNvIHRoYXQgd2UgY2FuXG4vLy8gcmVwbGFjZSBpdCBpbiB0aGUgZnV0dXJlIGlmIHdlIHNvIGNob29zZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gW2ZhbHNlXSAtIE9uZSBvZiAkZ292dWstYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCBbZmFsc2VdIC0gT25lIG9mICRnb3Z1ay1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCBbZmFsc2VdIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlIFthbGxdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgbXEgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskZ292dWstYnJlYWtwb2ludHNdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50IFskZ292dWstaWU4LWJyZWFrcG9pbnRdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge0Jvb2xlYW59ICRyZXNwb25zaXZlIFskZ292dWstaXMtaWU4XVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1tZWRpYS1xdWVyeSgkYXJncy4uLikge1xuICBAaW5jbHVkZSBtcSgkYXJncy4uLikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBtcSgpIHY0LjAuMlxuLy8gc2Fzcy1tcS9zYXNzLW1xXG5cbkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGFuZCAkbWVkaWEtdHlwZSAhPSAncHJpbnQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xuICAgICRsZXNzOiAgKCk7XG4gICAgJGVxdWFsOiAoKTtcbiAgICAkbGFyZ2U6ICgpO1xuXG4gICAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xuXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxhcmdlOiBhcHBlbmQoJGxhcmdlLCAkaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAgICRrZXk6IG50aCgkbWFwLWtleXMsICRpbmRleCk7XG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcblxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcbn1cblxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgKCRtcS1zaG93LWJyZWFrcG9pbnRzKSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbi8vL1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBib2R5OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9zaGFwZXNcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlXG4vLy9cbi8vLyBNdWx0aXBseWluZyBoYWxmIHRoZSBsZW5ndGggb2YgdGhlIGJhc2Ugb2YgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGUgYnkgdGhlXG4vLy8gc3F1YXJlIHJvb3Qgb2YgdGhyZWUgZ2l2ZXMgdXMgaXRzIGhlaWdodC4gV2UgdXNlIDEuNzMyIGFzIGFuIGFwcHJveGltYXRpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIGJhc2Ugb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQHJldHVybiB7TnVtYmVyfSBDYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgdHJpYW5nbGVcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpIHtcbiAgJHNxdWFyZS1yb290LW9mLXRocmVlOiAxLjczMjtcblxuICBAcmV0dXJuICgkYmFzZSAvIDIpICogJHNxdWFyZS1yb290LW9mLXRocmVlO1xufVxuXG4vLy8gQXJyb3cgbWl4aW5cbi8vL1xuLy8vIEdlbmVyYXRlIEFycm93cyAodHJpYW5nbGVzKSBieSB1c2luZyBhIG1peCBvZiB0cmFuc3BhcmVudCAoMSkgYW5kIGNvbG91cmVkXG4vLy8gYm9yZGVycy4gVGhlIGNvbG91cmVkIGJvcmRlcnMgaW5oZXJpdCB0aGUgdGV4dCBjb2xvdXIgb2YgdGhlIGVsZW1lbnQgKDIpLlxuLy8vXG4vLy8gRW5zdXJlIHRoZSBhcnJvdyBpcyByZW5kZXJlZCBjb3JyZWN0bHkgaWYgYnJvd3NlciBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGJ5XG4vLy8gcHJvdmlkaW5nIGEgY2xpcCBwYXRoICgzKS4gV2l0aG91dCB0aGlzIHRoZSB0cmFuc3BhcmVudCBib3JkZXJzIGFyZVxuLy8vIG92ZXJyaWRkZW4gdG8gYmVjb21lIHZpc2libGUgd2hpY2ggcmVzdWx0cyBpbiBhIHNxdWFyZS5cbi8vL1xuLy8vIFdlIG5lZWQgYm90aCBiZWNhdXNlIG9sZGVyIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGNsaXAtcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIC0gRGlyZWN0aW9uIGZvciBhcnJvdzogdXAsIHJpZ2h0LCBkb3duLCBsZWZ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIExlbmd0aCBvZiB0aGUgdHJpYW5nbGUgJ2Jhc2UnIHNpZGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbbnVsbF0gLSBIZWlnaHQgb2YgdHJpYW5nbGUuIE9taXQgZm9yIGVxdWlsYXRlcmFsLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdIC0gQ1NTIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGFycm93XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbiwgJGJhc2UsICRoZWlnaHQ6IG51bGwsICRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIDFcblxuICAkcGVycGVuZGljdWxhcjogJGJhc2UgLyAyO1xuXG4gIEBpZiAoJGhlaWdodCA9PSBudWxsKSB7XG4gICAgJGhlaWdodDogX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSA1MCUsIDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDUwJSAxMDAlLCAxMDAlIDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXI7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAxMDAlLCAxMDAlIDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJHBlcnBlbmRpY3VsYXIgJGhlaWdodCAkcGVycGVuZGljdWxhciAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGFycm93IGRpcmVjdGlvbjogZXhwZWN0ZWQgYHVwYCwgYHJpZ2h0YCwgYGRvd25gIG9yIGBsZWZ0YCwgZ290IGAjeyRkaXJlY3Rpb259YFwiO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvc3BhY2luZ1xuLy8vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvblxuXG4vLy8gU2luZ2xlIHBvaW50IHNwYWNpbmdcbi8vL1xuLy8vIFJldHVybnMgbWVhc3VyZW1lbnQgY29ycmVzcG9uZGluZyB0byB0aGUgc3BhY2luZyBwb2ludCByZXF1ZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgc3BhY2luZyBzY2FsZSAoc2V0IGluIGBzZXR0aW5ncy9fc3BhY2luZy5zY2NzYClcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IFNwYWNpbmcgTWVhc3VyZW1lbnQgZWcuIDEwcHhcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg1KTtcbi8vLyAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpICFpbXBvcnRhbnQ7IC8vIGlmIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZFxuLy8vICAgfVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1zcGFjaW5nKCRzcGFjaW5nLXBvaW50KSB7XG5cbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRzcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICsgXCIjeyRhY3R1YWwtaW5wdXQtdHlwZX0uXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgdmFyaWFibGUgYCN7JHNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSBzcGFjaW5nIHNjYWxlIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYC5cIjtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLWdldCgkZ292dWstc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KTtcbn1cblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIHNwYWNpbmcgKGVpdGhlciBwYWRkaW5nIG9yIG1hcmdpbiwgZGVwZW5kaW5nIG9uIGAkcHJvcGVydHlgKVxuLy8vIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXNcbi8vLyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50IGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gVG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nLCB1c2UgJ2dvdnVrLXJlc3BvbnNpdmUtbWFyZ2luJyBvclxuLy8vICdnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcnIG1peGluc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nIGJ5XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJHByb3BlcnR5LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG5cbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICBAaWYgJGFjdHVhbC1pbnB1dC10eXBlICE9IFwibnVtYmVyXCIge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhIFwiICsgXCIjeyRhY3R1YWwtaW5wdXQtdHlwZX0uXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgcG9pbnQgYCN7JHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlIFwiXG4gICAgKyBcInJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuXCI7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgcmV0dXJuIHZhbHVlIGZyb20gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgIGlzIGEgbWFwLlxuICAkc2NhbGUtbWFwOiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICAkYWN0dWFsLW1hcC10eXBlOiB0eXBlLW9mKCRzY2FsZS1tYXApO1xuICBAaWYgJGFjdHVhbC1tYXAtdHlwZSAhPSBcIm1hcFwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICsgXCIjeyRhY3R1YWwtbWFwLXR5cGV9LiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIG1hcCB0byBzZXQgdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2ApXCI7XG4gIH1cblxuICAvLyBMb29wIHRocm91Z2ggZWFjaCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LXZhbHVlIGluICRzY2FsZS1tYXAge1xuXG4gICAgQGlmICgkYWRqdXN0bWVudCkge1xuICAgICAgJGJyZWFrcG9pbnQtdmFsdWU6ICRicmVha3BvaW50LXZhbHVlICsgJGFkanVzdG1lbnQ7XG4gICAgfVxuXG4gICAgLy8gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4gICAgQGlmICRicmVha3BvaW50ID09IG51bGwge1xuXG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVzcG9uc2l2ZSBtYXJnaW5cbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBtYXJnaW4gYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmVcbi8vLyBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnRcbi8vLyBicmVha3BvaW50cy4gV3JhcHBlciBmb3IgdGhlIGBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nYCBtaXhpbi5cbi8vL1xuLy8vIEBzZWUge21peGlufSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vLyBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmcgYnlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwibGVmdFwiLCAkYWRqdXN0bWVudDogMXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgXCJtYXJnaW5cIiwgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xufVxuXG4vLy8gUmVzcG9uc2l2ZSBwYWRkaW5nXG4vLy9cbi8vLyBBZGRzIHJlc3BvbnNpdmUgcGFkZGluZyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgXCJwYWRkaW5nXCIsICRkaXJlY3Rpb24sICRpbXBvcnRhbnQsICRhZGp1c3RtZW50KTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy90eXBvZ3JhcGh5XG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9weC10by1yZW1cIjtcblxuLy8vICdDb21tb24gdHlwb2dyYXBoeScgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSBmb250IGZhbWlseSBhbmQgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzLCBzdWNoIGFzIGZvbnQgc21vb3RoaW5nLiBBbHNvXG4vLy8gb3ZlcnJpZGVzIHRoZSBmb250IGZvciBwcmludC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGZvbnQtZmFtaWx5IFskZ292dWstZm9udC1mYW1pbHldIEZvbnQgZmFtaWx5IHRvIHVzZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigkZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseSkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAvLyBJZiB0aGUgdXNlciBpcyB1c2luZyB0aGUgZGVmYXVsdCBHRFMgVHJhbnNwb3J0IGZvbnQgd2UgbmVlZCB0byBpbmNsdWRlXG4gIC8vIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb25zLlxuICAvL1xuICAvLyBXZSBkbyBub3QgbmVlZCB0byBpbmNsdWRlIHRoZSBHRFMgVHJhbnNwb3J0IGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMgaWZcbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaXMgYmVpbmcgdXNlZCBzaW5jZSBudGEgd2lsbCBhbHJlYWR5IGJlIGluY2x1ZGVkIGJ5XG4gIC8vIGRlZmF1bHQuXG4gIEBpZiAoJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2UpIHtcbiAgICBAaW5jbHVkZSBfZ292dWstZm9udC1mYWNlLWdkcy10cmFuc3BvcnQ7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LXByaW50O1xuICB9XG59XG5cbi8vLyBUZXh0IGNvbG91ciBoZWxwZXJcbi8vL1xuLy8vIFNldHMgdGhlIHRleHQgY29sb3VyLCBpbmNsdWRpbmcgYSBzdWl0YWJsZSBvdmVycmlkZSBmb3IgcHJpbnQuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdGV4dC1jb2xvdXIge1xuICBjb2xvcjogJGdvdnVrLXRleHQtY29sb3VyO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGNvbG9yOiAkZ292dWstcHJpbnQtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIFJlZ3VsYXIgZm9udCB3ZWlnaHQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXIoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgZm9udC13ZWlnaHQ6ICRnb3Z1ay1mb250LXdlaWdodC1yZWd1bGFyIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xufVxuXG4vLy8gQm9sZCBmb250IHdlaWdodCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJGdvdnVrLWZvbnQtd2VpZ2h0LWJvbGQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBDb252ZXJ0IGxpbmUtaGVpZ2h0cyBzcGVjaWZpZWQgaW4gcGl4ZWxzIGludG8gYSByZWxhdGl2ZSB2YWx1ZSwgdW5sZXNzXG4vLy8gdGhleSBhcmUgYWxyZWFkeSB1bml0LWxlc3MgKGFuZCB0aHVzIGFscmVhZHkgdHJlYXRlZCBhcyByZWxhdGl2ZSB2YWx1ZXMpXG4vLy8gb3IgdGhlIHVuaXRzIGRvIG5vdCBtYXRjaCB0aGUgdW5pdHMgdXNlZCBmb3IgdGhlIGZvbnQgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgTGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBGb250IHNpemVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBsaW5lIGhlaWdodCBhcyBlaXRoZXIgYSByZWxhdGl2ZSB2YWx1ZSBvciB1bm1vZGlmaWVkXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkbGluZS1oZWlnaHQpIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gdW5pdCgkZm9udC1zaXplKSB7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplO1xuICB9XG5cbiAgQHJldHVybiAkbGluZS1oZWlnaHQ7XG59XG5cbi8vLyBSZXNwb25zaXZlIHR5cG9ncmFwaHkgaGVscGVyXG4vLy9cbi8vLyBUYWtlcyBhICdmb250IG1hcCcgYXMgYW4gYXJndW1lbnQgYW5kIHVzZXMgaXQgdG8gY3JlYXRlIGZvbnQtc2l6ZSBhbmRcbi8vLyBsaW5lLWhlaWdodCBkZWNsYXJhdGlvbnMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50cywgYW5kIGZvciBwcmludC5cbi8vL1xuLy8vIEV4YW1wbGUgZm9udCBtYXA6XG4vLy9cbi8vLyAkbXktZm9udC1tYXA6IChcbi8vLyAgIG51bGw6IChcbi8vLyAgICAgZm9udC1zaXplOiAxNnB4LFxuLy8vICAgICBsaW5lLWhlaWdodDogMjBweFxuLy8vICAgKSxcbi8vLyAgIHRhYmxldDogKFxuLy8vICAgICBmb250LXNpemU6IDE5cHgsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAyNXB4XG4vLy8gICApLFxuLy8vICAgcHJpbnQ6IChcbi8vLyAgICAgZm9udC1zaXplOiAxNHB0LFxuLy8vICAgICBsaW5lLWhlaWdodDogMS4xNVxuLy8vICAgKVxuLy8vICk7XG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJGZvbnQtbWFwIC0gRm9udCBtYXBcbi8vLyBAcGFyYW0ge051bWJlcn0gJG92ZXJyaWRlLWxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBOb24gcmVzcG9uc2l2ZSBjdXN0b20gbGluZVxuLy8vICAgaGVpZ2h0LiBPbWl0IHRvIHVzZSB0aGUgbGluZSBoZWlnaHQgZnJvbSB0aGUgZm9udCBtYXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IGZhbHNlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUsICRzaXplKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBmb250IHNpemUgYCN7JHNpemV9YCAtIGV4cGVjdGVkIGEgcG9pbnQgZnJvbSB0aGUgdHlwb2dyYXBoeSBzY2FsZS5cIjtcbiAgfVxuXG4gICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC1tYXAgaW4gJGZvbnQtbWFwIHtcbiAgICAkZm9udC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJmb250LXNpemVcIik7XG4gICAgJGZvbnQtc2l6ZS1yZW06IGdvdnVrLXB4LXRvLXJlbSgkZm9udC1zaXplKTtcblxuICAgICRsaW5lLWhlaWdodDogX2dvdnVrLWxpbmUtaGVpZ2h0KFxuICAgICAgJGxpbmUtaGVpZ2h0OiBpZihcbiAgICAgICAgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAkb3ZlcnJpZGUtbGluZS1oZWlnaHQsXG4gICAgICAgIG1hcC1nZXQoJGJyZWFrcG9pbnQtbWFwLCBcImxpbmUtaGVpZ2h0XCIpXG4gICAgICApLFxuICAgICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZVxuICAgICk7XG5cbiAgICAvLyBNYXJrIHJ1bGVzIGFzICFpbXBvcnRhbnQgaWYgJGltcG9ydGFudCBpcyB0cnVlIC0gdGhpcyB3aWxsIHJlc3VsdCBpblxuICAgIC8vIHRoZXNlIHZhcmlhYmxlcyBiZWNvbWluZyBzdHJpbmdzLCBzbyB0aGlzIG5lZWRzIHRvIGhhcHBlbiAqYWZ0ZXIqIHRoZXlcbiAgICAvLyBhcmUgdXNlZCBpbiBjYWxjdWxhdGlvbnNcbiAgICAkZm9udC1zaXplOiAkZm9udC1zaXplIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICRmb250LXNpemUtcmVtOiAkZm9udC1zaXplLXJlbSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAkbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcbiAgICAgIH1cbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfSBAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBcInByaW50XCIge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcmVtO1xuICAgICAgICB9XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBGb250IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gU2l6ZSBvZiB0aGUgZm9udCBhcyBpdCB3b3VsZCBhcHBlYXIgb24gZGVza3RvcCAtXG4vLy8gICB1c2VzIHRoZSByZXNwb25zaXZlIGZvbnQgc2l6ZSBtYXBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdlaWdodCBbcmVndWxhcl0gLSBXZWlnaHQ6IGBib2xkYCBvciBgcmVndWxhcmBcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR0YWJ1bGFyIFtmYWxzZV0gLSBXaGV0aGVyIHRvIHVzZSB0YWJ1bGFyIG51bWJlcnMgb3Igbm90XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCBbZmFsc2VdIC0gTGluZS1oZWlnaHQsIGlmIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHRcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb250KCRzaXplLCAkd2VpZ2h0OiByZWd1bGFyLCAkdGFidWxhcjogZmFsc2UsICRsaW5lLWhlaWdodDogZmFsc2UpIHtcbiAgQGlmICR0YWJ1bGFyIHtcbiAgICAvLyBpZiBnb3Z1ay1mb250LWZhbWlseS10YWJ1bGFyIGlzIHNldCB1c2UgJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXJcbiAgICBAaWYgJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb24oJGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktdGFidWxhcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInRudW1cIiAxO1xuICAgICAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwidG51bVwiIDE7XG5cbiAgICAgIEBzdXBwb3J0cyAoZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcykge1xuICAgICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb247XG4gIH1cblxuICBAaWYgJHdlaWdodCA9PSByZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICB9IEBlbHNlIGlmICR3ZWlnaHQgPT0gYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIEBpZiAkc2l6ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9hY2Nlc3NpYmlsaXR5XG4vLy8vXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4vLy8gICAtIEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5LCBKb25hdGhhbiBTbm9vaywgRmVicnVhcnkgMjAxMVxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvOWYxMzY5NWQyMWZmOTJjNTVjNzhkZmE5ZjE2YmIwMmExYjZlOTExZi9zcmMvY3NzL21haW4uY3NzI0wxMjEtTDE1OFxuLy8vICAgLSBoNWJwL2h0bWw1LWJvaWxlcnBsYXRlIC0gVGhhbmtzIVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4oJGltcG9ydGFudDogdHJ1ZSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgd2lkdGg6IDFweCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgaGVpZ2h0OiAxcHggaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIC8vIElmIG1hcmdpbiBpcyBzZXQgdG8gYSBuZWdhdGl2ZSB2YWx1ZSBpdCBjYW4gY2F1c2UgdGV4dCB0byBiZSBhbm5vdW5jZWQgaW5cbiAgLy8gdGhlIHdyb25nIG9yZGVyIGluIFZvaWNlT3ZlciBmb3IgT1NYXG4gIG1hcmdpbjogMCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgcGFkZGluZzogMCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICBvdmVyZmxvdzogaGlkZGVuIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICBjbGlwOiByZWN0KDAgMCAwIDApIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgYm9yZGVyOiAwIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnMgd2hpbHN0XG4vLy8gYWxsb3dpbmcgdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNlZCB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkIChlLmcuXG4vLy8gZm9yIHRoZSBza2lwIGxpbmspXG4vLy9cbi8vLyBUaGlzIGlzIHNsaWdodGx5IGxlc3Mgb3BpbmlvbmF0ZWQgYWJvdXQgYm9yZGVycyBhbmQgcGFkZGluZyB0byBtYWtlIGl0XG4vLy8gZWFzaWVyIHRvIHN0eWxlIHRoZSBmb2N1c3NlZCBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIHdpZHRoOiAxcHggaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIGhlaWdodDogMXB4IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAvLyBJZiBtYXJnaW4gaXMgc2V0IHRvIGEgbmVnYXRpdmUgdmFsdWUgaXQgY2FuIGNhdXNlIHRleHQgdG8gYmUgYW5ub3VuY2VkIGluXG4gIC8vIHRoZSB3cm9uZyBvcmRlciBpbiBWb2ljZU92ZXIgZm9yIE9TWFxuICBtYXJnaW46IDAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbiBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgICB3aWR0aDogYXV0byBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICBoZWlnaHQ6IGF1dG8gaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgbWFyZ2luOiBpbmhlcml0IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgb3ZlcmZsb3c6IHZpc2libGUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgY2xpcDogYXV0byBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogbm9uZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwibGlua3NcIjtcbkBpbXBvcnQgXCJsaXN0c1wiO1xuQGltcG9ydCBcInRlbXBsYXRlXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcInNlY3Rpb24tYnJlYWtcIjtcbkBpbXBvcnQgXCJnbG9iYWwtc3R5bGVzXCI7XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBjb3JlIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuXG4gICVnb3Z1ay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1wcmludC1mcmllbmRseTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgLy8gVmFyaWFudCBjbGFzc2VzIHNob3VsZCBhbHdheXMgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAuZ292dWstbGlua1xuICAvLyBjbGFzcywgc28gd2UgZG8gbm90IG5lZWQgdGhlIGNvbW1vbiBsaW5rIHN0eWxlcyBhcyB0aGV5IHdpbGwgYmUgaW5oZXJpdGVkLlxuXG4gIC5nb3Z1ay1saW5rLS1tdXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS10ZXh0LWNvbG91ciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLWludmVyc2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS1uby11bmRlcmxpbmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lO1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgY29yZSBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpc3RzXCIpIHtcblxuICAlZ292dWstbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIC8vIEFkZCBhIHRvcCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICAgICVnb3Z1ay1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QgPiBsaSB7XG4gICAgLy8gTGlzdHMgd2l0aG91dCBudW1iZXJzIG9yIGJ1bGxldHMgc2hvdWxkIGFsd2F5cyBoYXZlIGV4dHJhIHNwYWNlIGJldHdlZW5cbiAgICAvLyBsaXN0IGl0ZW1zLiBMaXN0cyB3aXRoIG51bWJlcnMgb3IgYnVsbGV0cyBvbmx5IGhhdmUgdGhpcyBleHRyYSBzcGFjZSBvblxuICAgIC8vIHRhYmxldCBhbmQgYWJvdmVcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWxpc3Qge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3Q7XG4gIH1cblxuICAlZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLW51bWJlciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1idWxsZXQgPiBsaSxcbiAgJWdvdnVrLWxpc3QtLW51bWJlciA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstbGlzdC0tc3BhY2VkID4gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLWJ1bGxldDtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLW51bWJlcjtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1zcGFjZWQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLXNwYWNlZDtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgY29yZSBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3RlbXBsYXRlXCIpIHtcblxuICAvLyBBcHBsaWVkIHRvIHRoZSA8aHRtbD4gZWxlbWVudFxuICAuZ292dWstdGVtcGxhdGUge1xuICAgIC8vIFNldCB0aGUgb3ZlcmFsbCBwYWdlIGJhY2tncm91bmQgY29sb3VyIHRvIHRoZSBzYW1lIGNvbG91ciBhcyB1c2VkIGJ5IHRoZVxuICAgIC8vIGZvb3RlciB0byBnaXZlIHRoZSBpbGx1c2lvbiBvZiBhIGxvbmcgZm9vdGVyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICAvLyBQcmV2ZW50IGF1dG9tYXRpYyB0ZXh0IHNpemluZywgYXMgd2UgYWxyZWFkeSBjYXRlciBmb3Igc21hbGwgZGV2aWNlcyBhbmRcbiAgICAvLyB3b3VsZCBsaWtlIHRoZSBicm93c2VyIHRvIHN0YXkgb24gMTAwJSB0ZXh0IHpvb20gYnkgZGVmYXVsdC5cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgICAgLW1vei10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG5cbiAgICAvLyBGb3JjZSB0aGUgc2Nyb2xsYmFyIHRvIGFsd2F5cyBkaXNwbGF5IGluIElFLCB0byBwcmV2ZW50IGhvcml6b250YWwgcGFnZVxuICAgIC8vIGp1bXBzIGFzIGNvbnRlbnQgaGVpZ2h0IGNoYW5nZXMgKGUuZy4gYXV0b2NvbXBsZXRlIHJlc3VsdHMgb3BlbikuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxib2R5PiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZV9fYm9keSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgbWFyZ2lucyBzZXQgYnkgdXNlci1hZ2VudHMgYXJlIG5vdCByZXF1aXJlZCBzaW5jZSB3ZSBoYXZlIG91clxuICAgIC8vIG93biBjb250YWluZXJzLlxuICAgIG1hcmdpbjogMDtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgYm9keSBvZiB0aGUgcGFnZSBiYWNrIHRvIHRoZSB0eXBpY2FsIGJhY2tncm91bmQgY29sb3VyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuICB9XG59XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBjb3JlIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvdHlwb2dyYXBoeVwiKSB7XG5cbiAgLy8gSGVhZGluZ3NcblxuICAlZ292dWstaGVhZGluZy14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmcteGw7XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLWw7XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLW07XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1zIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXM7XG4gIH1cblxuICAvLyBDYXB0aW9ucyB0byBiZSB1c2VkIGluc2lkZSBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1jYXB0aW9uLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNyk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNhcHRpb24tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIEJvZHkgKHBhcmFncmFwaHMpXG5cbiAgJWdvdnVrLWJvZHktbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LWwge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbDtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cblxuICAlZ292dWstYm9keS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktcyB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1zO1xuICB9XG5cbiAgJWdvdnVrLWJvZHkteHMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS14cyB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS14cztcbiAgfVxuXG4gIC8vIFVzYWdlIGFsaWFzZXNcblxuICAvLyBVc2luZyBleHRlbmQgdG8gYWxpYXMgbWVhbnMgd2UgYWxzbyBpbmhlcml0IGFueSBjb250ZXh0dWFsIGFkanVzdG1lbnRzIHRoYXRcbiAgLy8gcmVmZXIgdG8gdGhlICdvcmlnaW5hbCcgY2xhc3MgbmFtZVxuXG4gIC5nb3Z1ay1ib2R5LWxlYWQge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbDtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cblxuICAvLyBDb250ZXh0dWFsIGFkanVzdG1lbnRzXG4gIC8vIEFkZCB0b3AgcGFkZGluZyB0byBoZWFkaW5ncyB0aGF0IGFwcGVhciBkaXJlY3RseSBhZnRlciBwYXJhZ3JhcGhzLlxuXG4gICVnb3Z1ay1ib2R5LWwgICsgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstYm9keS1tICArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1ib2R5LXMgICsgJWdvdnVrLWhlYWRpbmctbCxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNCwgXCJ0b3BcIik7XG4gIH1cblxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLXMsXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1zLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLXMge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBjb3JlIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvc2VjdGlvbi1icmVha1wiKSB7XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAvLyBmaXggZG91YmxlLXdpZHRoIHNlY3Rpb24gYnJlYWsgYW5kIGZvcmNlZCB2aXNpYmxlIHNlY3Rpb24gYnJlYWtcbiAgICAvLyB3aGVuIGNvbWJpbmVkIHdpdGggc3R5bGVzIGZyb20gYWxwaGFnb3YvZWxlbWVudHNcbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX2VsZW1lbnRzKSB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWs7XG4gIH1cblxuICAvLyBTaXplc1xuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXhsO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWw7XG4gIH1cblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tbTtcbiAgfVxuXG4gIC8vIFZpc2libGUgdmFyaWFudFxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZTtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgY29yZSBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcblxuQG1peGluIGdvdnVrLWdsb2JhbC1zdHlsZXMge1xuICBhIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2dsb2JhbC1zdHlsZXNcIikge1xuXG4gIEBpZiAkZ292dWstZ2xvYmFsLXN0eWxlcyA9PSB0cnVlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1nbG9iYWwtc3R5bGVzO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiZm9ybS1ncm91cFwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJtYWluLXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJ3aWR0aC1jb250YWluZXJcIjtcbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2J1dHRvbi1ncm91cFwiKSB7XG4gIC8vIEJ1dHRvbiBncm91cHMgY2FuIGJlIHVzZWQgdG8gZ3JvdXAgYnV0dG9ucyBhbmQgbGlua3MgdG9nZXRoZXIgYXMgYSBncm91cC5cbiAgLy9cbiAgLy8gV2l0aGluIGEgYnV0dG9uIGdyb3VwOlxuICAvL1xuICAvLyAtIGxpbmtzIGFyZSBzdHlsZWQgdG8gbGluZSB1cCB2aXN1YWxseSB3aXRoIHRoZSBidXR0b25zLCBpbmNsdWRpbmcgYmVpbmdcbiAgLy8gICBjZW50cmUtYWxpZ25lZCBvbiBtb2JpbGVcbiAgLy8gLSBzcGFjaW5nIGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSwgaW5jbHVkaW5nXG4gIC8vICAgd2hlbiB0aGV5IHdyYXAgYWNyb3NzIG11bHRpcGxlIGxpbmVzXG4gIC5nb3Z1ay1idXR0b24tZ3JvdXAge1xuICAgICRob3Jpem9udGFsLWdhcDogZ292dWstc3BhY2luZygzKTtcbiAgICAkdmVydGljYWwtZ2FwOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gVGhlc2UgbmVlZCB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgYnV0dG9uIGNvbXBvbmVudCdzIHN0eWxlc1xuICAgICRidXR0b24tcGFkZGluZzogZ292dWstc3BhY2luZygyKTtcbiAgICAkYnV0dG9uLXNoYWRvdy1zaXplOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAgICRsaW5rLXNwYWNpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiLCAkYWRqdXN0bWVudDogJHZlcnRpY2FsLWdhcCAqIC0xKTtcblxuICAgIC8vIEZsZXhib3ggaXMgdXNlZCB0byBjZW50ZXItYWxpZ24gbGlua3Mgb24gbW9iaWxlLCBhbGlnbiBldmVyeXRoaW5nIGFsb25nXG4gICAgLy8gdGhlIGJhc2VsaW5lIG9uIHRhYmxldCBhbmQgYWJvdmUsIGFuZCB0byByZW1vdmVzIGV4dHJhIHdoaXRlc3BhY2UgdGhhdFxuICAgIC8vIHdlJ2QgZ2V0IGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGJlY2F1c2UgdGhleSdyZSBpbmxpbmUtYmxvY2tzLlxuICAgIC8vXG4gICAgLy8gSWRlYWxseSB3ZSdkIHVzZSBgZ2FwYCB3aXRoIGZsZXhib3ggcmF0aGVyIHRoYW4gaGF2aW5nIHRvIGRvIGl0IGFsbCB3aXRoXG4gICAgLy8gbWFyZ2lucywgYnV0IHVuZm9ydHVuYXRlbHkgdGhlIHN1cHBvcnQgaXNuJ3QgdGhlcmUgKHlldCkgYW5kIEBzdXBwb3J0c1xuICAgIC8vIGRvZXNuJ3QgcGxheSBuaWNlbHkgd2l0aCBpdFxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMzU1OSlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC8vIEdpdmUgbGlua3Mgd2l0aGluIHRoZSBidXR0b24gZ3JvdXAgdGhlIHNhbWUgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICAgIC8vIGFzIGJ1dHRvbnMuXG4gICAgLy9cbiAgICAvLyBCZWNhdXNlIHdlIHdhbnQgdGhlIGZvY3VzIHN0YXRlIHRvIGJlIHRpZ2h0IGFyb3VuZCB0aGUgbGluayB0ZXh0LCB3ZSB1c2VcbiAgICAvLyBtYXJnaW5zIHdoZXJlIHRoZSBidXR0b25zIHdvdWxkIHVzZSBwYWRkaW5nLlxuICAgIC5nb3Z1ay1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLy8gUHJldmVudCBsaW5rcyBvdmVyZmxvd2luZyB0aGVpciBjb250YWluZXIgaW4gSUUxMC8xMSBiZWNhdXNlIG9mIGJ1Z1xuICAgICAgLy8gd2l0aCBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAkbGluay1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGxpbmstc3BhY2luZyArICR2ZXJ0aWNhbC1nYXA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gUmVkdWNlIHRoZSBib3R0b20gbWFyZ2luIHRvIHRoZSBzaXplIG9mIHRoZSB2ZXJ0aWNhbCBnYXAgKGFjY29tbW9kYXRpbmdcbiAgICAvLyB0aGUgYnV0dG9uIHNoYWRvdykg4oCTIHRoZSAnbG9zdCcgbWFyZ2luIGlzIG1vdmVkIHRvIHRoZSBidXR0b24tZ3JvdXAuXG4gICAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtZ2FwICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAvLyBPbiB0YWJsZXQgYW5kIGFib3ZlLCB3ZSBhbHNvIGludHJvZHVjZSBhICdjb2x1bW4gZ2FwJyBiZXR3ZWVuIHRoZVxuICAgIC8vIGJ1dHRvbnMgYW5kIGxpbmtzIGluIGVhY2ggcm93IGFuZCBsZWZ0IGFsaWduIGxpbmtzXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLy8gQ2FuY2VsIG91dCB0aGUgY29sdW1uIGdhcCBmb3IgdGhlIGxhc3QgaXRlbSBpbiBlYWNoIHJvd1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoJGhvcml6b250YWwtZ2FwICogLTEpO1xuXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG5cbiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuXG4gICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAuZ292dWstYnV0dG9uLFxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpem9udGFsLWdhcDtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvZm9ybS1ncm91cFwiKSB7XG4gIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmUgbWFyZ2luIGZyb20gbGFzdCBpdGVtIGluIG5lc3RlZCBncm91cHNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9ybS1ncm91cC0tZXJyb3Ige1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWdyb3VwLWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAuZ292dWstZm9ybS1ncm91cCB7XG4gICAgICAvLyBSZXNldCBlcnJvciBzdHlsZXMgaW4gbmVzdGVkIGZvcm0gZ3JvdXBzIHRoYXQgbWlnaHQgaGF2ZSBlcnJvciBjbGFzc1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2dyaWRcIikge1xuICAuZ292dWstZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSAoJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgICBtYXJnaW4tbGVmdDogLSAoJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgfVxuXG4gIEBlYWNoICR3aWR0aCBpbiBtYXAta2V5cygkZ292dWstZ3JpZC13aWR0aHMpIHtcbiAgICAuZ292dWstZ3JpZC1jb2x1bW4tI3skd2lkdGh9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aCk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2UgKm11c3QqIGJlIGRlZmluZWQgaW4gYSBzZXBhcmF0ZSBsb29wIGFzIHRoZXkgaGF2ZSB0aGUgc2FtZVxuICAvLyBzcGVjaWZpY2l0eSBhcyB0aGUgbm9uLWJyZWFrcG9pbnQgc3BlY2lmaWMgY2xhc3Nlcywgc28gbmVlZCB0byBhcHBlYXIgYWZ0ZXJcbiAgLy8gdGhlbSBpbiB0aGUgb3V0cHV0dGVkIENTU1xuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofS1mcm9tLWRlc2t0b3Age1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkYXQ6IGRlc2t0b3ApO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuLy8vL1xuLy8vIEBncm91cCBvYmplY3RzL2xheW91dFxuLy8vL1xuXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGggQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDwhLS0gQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3MgYXJlIHBsYWNlZCBpbiBoZXJlLiAtLT5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlclwiPlxuLy8gICAgICAgPCEtLSBXcmFwcGVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHlvdXIgcGFnZSB3aGljaCBhcHBsaWVzIHBhZGRpbmdcbi8vICAgICAgICAgICAgdG8gdGhlIHRvcCAvIGJvdHRvbSAtLT5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGhvdXQgQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuXG4vLy8gQGRlcHJlY2F0ZWQgUmVwbGFjZSB0aGlzIG1peGluIHdpdGggbW9yZSBkaXJlY3QgcmVmZXJlbmNlcyB0byB0aGUgW3NwYWNpbmdcbi8vLyBtaXhpbnNdKGh0dHBzOi8vZGVzaWduLXN5c3RlbS5zZXJ2aWNlLmdvdi51ay9zdHlsZXMvc3BhY2luZy8jc3BhY2luZy1vbi1jdXN0b20tY29tcG9uZW50cykuXG5AbWl4aW4gZ292dWstbWFpbi13cmFwcGVyIHtcbiAgLy8gSW4gSUUxMSB0aGUgYG1haW5gIGVsZW1lbnQgY2FuIGJlIHVzZWQsIGJ1dCBpcyBub3QgcmVjb2duaXplZCAg4oCTXG4gIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gIC8vIHNvIGl0IHVzZXMgQ1NTIGluaXRpYWwgdmFsdWUsIHdoaWNoIGlzIGlubGluZS5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgLy8gVGhpcyBzcGFjaW5nIGlzIG1hbnVhbGx5IGFkanVzdGVkIHRvIHJlcGxpY2F0ZSB0aGUgbWFyZ2luIG9mXG4gICAgLy8gZ292dWstaGVhZGluZy14bCAoNTBweCkgbWludXMgdGhlIHNwYWNpbmcgb2YgYmFjayBsaW5rIGFuZFxuICAgIC8vIGJyZWFkY3J1bWJzICgxMHB4KVxuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICB9XG59XG5cbi8vLyBVc2UgZ292dWstbWFpbi13cmFwcGVyLS1sIHdoZW4geW91IHBhZ2UgZG9lcyBub3QgaGF2ZSBCcmVhZGNydW1icywgcGhhc2Vcbi8vLyBiYW5uZXJzIG9yIGJhY2sgbGlua3MuXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCBSZXBsYWNlIHRoaXMgbWl4aW4gd2l0aCBtb3JlIGRpcmVjdCByZWZlcmVuY2VzIHRvIHRoZSBbc3BhY2luZ1xuLy8vIG1peGluc10oaHR0cHM6Ly9kZXNpZ24tc3lzdGVtLnNlcnZpY2UuZ292LnVrL3N0eWxlcy9zcGFjaW5nLyNzcGFjaW5nLW9uLWN1c3RvbS1jb21wb25lbnRzKS5cbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoOCwgXCJ0b3BcIik7XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlcjtcbiAgfVxuXG4gIC8vIFVzaW5nIHRoZSBgLmdvdnVrLW1haW4td3JhcHBlci0tYXV0by1zcGFjaW5nYCBtb2RpZmllciBzaG91bGQgYXBwbHkgdGhlXG4gIC8vIGNvcnJlY3Qgc3BhY2luZyBkZXBlbmRpbmcgb24gd2hldGhlciB0aGVyZSBhcmUgYW55IGVsZW1lbnRzXG4gIC8vIChzdWNoIHRoZSBiYWNrIGxpbmssIGJyZWFkY3J1bWJzIG9yIHBoYXNlIGJhbm5lciBjb21wb25lbnRzKSBiZWZvcmUgdGhlXG4gIC8vIGAuZ292dWstbWFpbi13cmFwcGVyYCBpbiB0aGUgYGdvdnVrLXdpZHRoLWNvbnRhaW5lcmAuXG4gIC8vXG4gIC8vIElmIHlvdSBuZWVkIHRvIGNvbnRyb2wgdGhlIHNwYWNpbmcgbWFudWFsbHksIHVzZSB0aGVcbiAgLy8gYGdvdnVrLW1haW4td3JhcHBlci0tbGAgbW9kaWZpZXIgaW5zdGVhZC5cbiAgLmdvdnVrLW1haW4td3JhcHBlci0tYXV0by1zcGFjaW5nOmZpcnN0LWNoaWxkLFxuICAuZ292dWstbWFpbi13cmFwcGVyLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tYWluLXdyYXBwZXItLWw7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2JqZWN0cy9sYXlvdXRcbi8vLy9cblxuLy8vIFdpZHRoIGNvbnRhaW5lciBtaXhpblxuLy8vXG4vLy8gVXNlZCB0byBjcmVhdGUgcGFnZSB3aWR0aCBhbmQgY3VzdG9tIHdpZHRoIGNvbnRhaW5lciBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCBbJGdvdnVrLXBhZ2Utd2lkdGhdIC0gV2lkdGggaW4gcGl4ZWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRpbmcgYSAxMjAwcHggd2lkZSBjb250YWluZXIgY2xhc3Ncbi8vLyAgLmFwcC13aWR0aC1jb250YWluZXItLXdpZGUge1xuLy8vICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcigxMjAwcHgpO1xuLy8vICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstd2lkdGgtY29udGFpbmVyKCR3aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGgpIHtcblxuICAvLyBCeSBkZWZhdWx0LCBsaW1pdCB0aGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciB0byB0aGUgcGFnZSB3aWR0aFxuICBtYXgtd2lkdGg6ICR3aWR0aDtcblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG5cbiAgLy8gUmVzcGVjdCAnZGlzcGxheSBjdXRvdXQnIHNhZmUgYXJlYSAoYXZvaWRzIG5vdGNoZXMgYW5kIHJvdW5kZWQgY29ybmVycylcbiAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAkZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAvLyBFc2NhcGVkIGR1ZSB0byBTYXNzIG1heCgpIHZzLiBDU1MgbmF0aXZlIG1heCgpXG4gICAgbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1yaWdodH0pXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gIH1cblxuICAvLyBPbiB0YWJsZXQsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlcjtcblxuICAgIC8vIFJlc3BlY3QgJ2Rpc3BsYXkgY3V0b3V0JyBzYWZlIGFyZWEgKGF2b2lkcyBub3RjaGVzIGFuZCByb3VuZGVkIGNvcm5lcnMpXG4gICAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtbGVmdDogY2FsYygjeyRnb3Z1ay1ndXR0ZXItaGFsZn0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcblxuICAgICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICAgIG1hcmdpbi1yaWdodDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgICBtYXJnaW4tbGVmdDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLWxlZnR9KVwiKTtcbiAgICB9XG4gIH1cblxuICAvLyBBcyBzb29uIGFzIHRoZSB2aWV3cG9ydCBpcyBncmVhdGVyIHRoYW4gdGhlIHdpZHRoIG9mIHRoZSBwYWdlIHBsdXMgdGhlXG4gIC8vIGd1dHRlcnMsIGp1c3QgY2VudHJlIHRoZSBjb250ZW50IGluc3RlYWQgb2YgYWRkaW5nIGd1dHRlcnMuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhbmQ6IFwiKG1pbi13aWR0aDogI3soJHdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgIC8vIFNpbmNlIGEgc2FmZSBhcmVhIG1heSBoYXZlIHByZXZpb3VzbHkgYmVlbiBzZXQgYWJvdmUsXG4gICAgLy8gd2UgbmVlZCB0byBkdXBsaWNhdGUgdGhpcyBtYXJnaW4gdGhhdCBjZW50ZXJzIHRoZSBwYWdlLlxuICAgIEBzdXBwb3J0cyAobWFyZ2luOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICAvLyBTaW5jZSBtZWRpYSBxdWVyaWVzIGFyZSBub3Qgc3VwcG9ydGVkIGluIElFOCxcbiAgICAvLyB3ZSBuZWVkIHRvIGR1cGxpY2F0ZSB0aGlzIG1hcmdpbiB0aGF0IGNlbnRlcnMgdGhlIHBhZ2UuXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL3dpZHRoLWNvbnRhaW5lclwiKSB7XG4gIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGltcG9ydCBcImFjY29yZGlvbi9pbmRleFwiO1xuQGltcG9ydCBcImJhY2stbGluay9pbmRleFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJzL2luZGV4XCI7XG5AaW1wb3J0IFwiYnV0dG9uL2luZGV4XCI7XG5AaW1wb3J0IFwiY2hlY2tib3hlcy9pbmRleFwiO1xuQGltcG9ydCBcImNoYXJhY3Rlci1jb3VudC9pbmRleFwiO1xuQGltcG9ydCBcImNvb2tpZS1iYW5uZXIvaW5kZXhcIjtcbkBpbXBvcnQgXCJzdW1tYXJ5LWxpc3QvaW5kZXhcIjtcbkBpbXBvcnQgXCJkYXRlLWlucHV0L2luZGV4XCI7XG5AaW1wb3J0IFwiZGV0YWlscy9pbmRleFwiO1xuQGltcG9ydCBcImVycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCJlcnJvci1zdW1tYXJ5L2luZGV4XCI7XG5AaW1wb3J0IFwiZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCJmaWxlLXVwbG9hZC9pbmRleFwiO1xuQGltcG9ydCBcImZvb3Rlci9pbmRleFwiO1xuQGltcG9ydCBcImhpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCJoZWFkZXIvaW5kZXhcIjtcbkBpbXBvcnQgXCJpbnB1dC9pbmRleFwiO1xuQGltcG9ydCBcImluc2V0LXRleHQvaW5kZXhcIjtcbkBpbXBvcnQgXCJsYWJlbC9pbmRleFwiO1xuQGltcG9ydCBcIm5vdGlmaWNhdGlvbi1iYW5uZXIvaW5kZXhcIjtcbkBpbXBvcnQgXCJwYW5lbC9pbmRleFwiO1xuQGltcG9ydCBcInBoYXNlLWJhbm5lci9pbmRleFwiO1xuQGltcG9ydCBcInRhYnMvaW5kZXhcIjtcbkBpbXBvcnQgXCJ0YWcvaW5kZXhcIjtcbkBpbXBvcnQgXCJyYWRpb3MvaW5kZXhcIjtcbkBpbXBvcnQgXCJzZWxlY3QvaW5kZXhcIjtcbkBpbXBvcnQgXCJza2lwLWxpbmsvaW5kZXhcIjtcbkBpbXBvcnQgXCJ0YWJsZS9pbmRleFwiO1xuQGltcG9ydCBcInRleHRhcmVhL2luZGV4XCI7XG5AaW1wb3J0IFwid2FybmluZy10ZXh0L2luZGV4XCI7XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2FjY29yZGlvblwiKSB7XG4gIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gQm9yZGVycyBiZXR3ZWVuIGFjY29yZGlvbiBzZWN0aW9uc1xuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZyB7XG4gICAgLy8gT3ZlcnJpZGUgYnJvd3NlciBkZWZhdWx0cyB0byBlbnN1cmUgY29uc2lzdGVudCBlbGVtZW50IGhlaWdodFxuICAgIC8vIEZvbnQgc2l6ZSBpcyBzZXQgaW4gLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b25cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDI0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7IC8vIE92ZXJyaWRlIGJyb3dzZXIgZGVmYXVsdFxuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGJyb3dzZXIgZGVmYXVsdFxuICB9XG5cbiAgLy8gQnV0dG9ucyB3aXRoaW4gdGhlIHNlY3Rpb25zIGRvbuKAmXQgbmVlZCBkZWZhdWx0IHN0eWxpbmdcbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tc3VtbWFyeSB7XG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3R0b20gbWFyZ2luIGZyb20gdGhlIGxhc3QgaXRlbSBpbnNpZGUgdGhlIGNvbnRlbnRcbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBKYXZhU2NyaXB0IGVuYWJsZWRcbiAgLmpzLWVuYWJsZWQge1xuICAgIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgICAgLy8gQm9yZGVyIGF0IHRoZSBib3R0b20gb2YgdGhlIHdob2xlIGFjY29yZGlvblxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIEJvcmRlcnMgYmV0d2VlbiBhY2NvcmRpb24gc2VjdGlvbnNcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGJvZHkgb2YgY29sbGFwc2VkIHNlY3Rpb25zXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJ0b3BcIik7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJib3R0b21cIik7XG4gICAgfVxuXG4gICAgLy8gU2hvdyB0aGUgYm9keSBvZiBleHBhbmRlZCBzZWN0aW9uc1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tLWV4cGFuZGVkIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIHN0eWxlZCB0byBsb29rIGxpa2UgYSBsaW5rIG5vdCBhIGJ1dHRvblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX29wZW4tYWxsIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuXG4gICAgICAvLyBSZW1vdmUgZGVmYXVsdCBidXR0b24gZm9jdXMgb3V0bGluZSBpbiBGaXJlZm94XG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlY3Rpb24gaGVhZGVycyBoYXZlIGEgcG9pbnRlciBjdXJzb3IgYXMgYW4gYWRkaXRpb25hbCBhZmZvcmRhbmNlXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gU2FmZSBhcmVhIG9uIHRoZSByaWdodCB0byBhdm9pZCBjbGFzaGluZyB3aXRoIGljb25cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9ucyB3aXRoaW4gdGhlIGhlYWRlcnMgZG9u4oCZdCBuZWVkIGRlZmF1bHQgc3R5bGluZ1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBmb2N1cyBvdXRsaW5lIGluIEZpcmVmb3hcbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXh0ZW5kIHRoZSB0b3VjaCBhcmVhIG9mIHRoZSBidXR0b24gdG8gc3BhbiB0aGUgc2VjdGlvbiBoZWFkZXJcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgLy8gVGhpcyBuZWVkcyB0byBjb21lIGFmdGVyIHRoZSB0ZXh0LWRlY29yYXRpb24gcHJvcGVydHkgb3RoZXJ3aXNlXG4gICAgICAvLyB0ZXh0LWRlY29yYXRpb24sIGFzIGEgc2hvcnRoYW5kIHByb3BlcnR5LCByZXNldHMgaXQgdG8gYXV0b1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICAgIH1cblxuICAgIC8vIEZvciBkZXZpY2VzIHRoYXQgY2FuJ3QgaG92ZXIgc3VjaCBhcyB0b3VjaCBkZXZpY2VzLFxuICAgIC8vIHJlbW92ZSBob3ZlciBzdGF0ZSBhcyBpdCBjYW4gYmUgc3R1Y2sgaW4gdGhhdCBzdGF0ZSAoaU9TKS5cbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19jb250cm9scyB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAvLyBEaXNwbGF5IGFuIGljb24gdG8gdGhlIHJpZ2h0IG9mIGVhY2ggaGVhZGVyIHRvIGluZGljYXRlIG9wZW4vY2xvc2VkIHN0YXR1cyxcbiAgICAvLyBhbmQgYXMgYW4gYWRkaXRpb25hbCBhZmZvcmRhbmNlLlxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19pY29uOmFmdGVyLFxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGhlaWdodDogMjUlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19pY29uOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19pY29uOmFmdGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBiYXIgc2hvdWxkIGJlIGhpZGRlbiB3aGVuIHNlY3Rpb24gaXMgb3BlbiwgdG8gZGlzcGxheSBhICctJyBpY29uXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi0tZXhwYW5kZWQgLmdvdnVrLWFjY29yZGlvbl9faWNvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JhY2stbGlua1wiKSB7XG5cbiAgLy8gU2l6ZSBvZiBjaGV2cm9uIChleGNsdWRpbmcgYm9yZGVyKVxuICAkY2hldnJvbi1zaXplOiA3cHg7XG5cbiAgLy8gU2l6ZSBvZiBjaGV2cm9uIGJvcmRlclxuICAkY2hldnJvbi1ib3JkZXItd2lkdGg6IDFweDtcblxuICAvLyBDb2xvdXIgb2YgY2hldnJvblxuICAkY2hldnJvbi1ib3JkZXItY29sb3VyOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gIC5nb3Z1ay1iYWNrLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICAvLyBBbGxvdyBzcGFjZSBmb3IgdGhlIGFycm93XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICB9XG5cbiAgLy8gUHJlcGVuZCBsZWZ0IHBvaW50aW5nIGNoZXZyb25cbiAgLmdvdnVrLWJhY2stbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBWZXJ0aWNhbGx5IGFsaWduIHdpdGggdGhlIHBhcmVudCBlbGVtZW50XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgQGlmICRnb3Z1ay11c2UtbGVnYWN5LWZvbnQge1xuICAgICAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gICAgICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIGxlZ2FjeSBmb250IHN1cHBvcnQgaXMgZHJvcHBlZFxuICAgICAgdG9wOiAtMXB4O1xuICAgICAgYm90dG9tOiAxcHg7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgbGVmdDogM3B4O1xuXG4gICAgd2lkdGg6ICRjaGV2cm9uLXNpemU7XG4gICAgaGVpZ2h0OiAkY2hldnJvbi1zaXplO1xuXG4gICAgbWFyZ2luOiBhdXRvIDA7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG5cbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG5cbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGNoZXZyb24tYm9yZGVyLXdpZHRoICRjaGV2cm9uLWJvcmRlci13aWR0aCAwIDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgLy8gRmFsbCBiYWNrIHRvIGEgbGVzcyB0aGFuIHNpZ24gZm9yIElFOFxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICBjb250ZW50OiBcIlxcMDAzY1wiOyAvLyBMZXNzIHRoYW4gc2lnbiAoPClcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIC8vIElFOCBkb2Vzbid0IHNlZW0gdG8gbGlrZSByZW5kZXJpbmcgcHNldWRvLWVsZW1lbnRzIHVzaW5nIEBmb250LWZhY2VzLFxuICAgICAgLy8gc28gZmFsbCBiYWNrIHRvIHVzaW5nIGFub3RoZXIgc2Fucy1zZXJpZiBmb250IHRvIHJlbmRlciB0aGUgY2hldnJvbi5cbiAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstYmFjay1saW5rOmZvY3VzOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstYmFjay1saW5rOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTE0cHg7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIEBpZiAkZ292dWstdXNlLWxlZ2FjeS1mb250IHtcbiAgICAvLyBCZWdpbiBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcbiAgICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIGxlZ2FjeSBmb250IHN1cHBvcnQgaXMgZHJvcHBlZFxuICAgIC5nb3Z1ay1iYWNrLWxpbms6YmVmb3JlIHtcbiAgICAgICRvZmZzZXQ6IDFweDtcblxuICAgICAgdG9wOiAkb2Zmc2V0ICogLTE7XG4gICAgICBib3R0b206ICRvZmZzZXQ7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JyZWFkY3J1bWJzXCIpIHtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gKGV4Y2x1ZGluZyBib3JkZXIpXG4gICRjaGV2cm9uLXNpemU6IDdweDtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci13aWR0aDogMXB4O1xuXG4gIC8vIENvbG91ciBvZiBjaGV2cm9uXG4gICRjaGV2cm9uLWJvcmRlci1jb2xvdXI6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgLy8gQ2FsY3VsYXRlZCBhbHRpdHVkZSAo4paz4oaVKSBvZiB0aGUgcmlnaHQtYW5nbGVkIGlzb3NjZWxlcyBjaGV2cm9uIHdpdGggc2lkZXNcbiAgLy8gb2YgbGVuZ3RoIDggKDdweCArIDFweCBib3JkZXIpOlxuICAvL1xuICAvLyDiiJooOMKyICsgOMKyKSAqIDAuNSDiiYUgNS42NTVcbiAgJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZDogNS42NTVweDtcblxuICAuZ292dWstYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbSB7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIEFkZCBib3RoIG1hcmdpbiBhbmQgcGFkZGluZyBzdWNoIHRoYXQgdGhlIGNoZXZyb24gYXBwZWFycyBjZW50cmFsbHlcbiAgICAvLyBiZXR3ZWVuIGVhY2ggYnJlYWRjcnVtYiBpdGVtXG4gICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpICsgJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZDtcblxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gQ3JlYXRlIGEgY2hldnJvbiB1c2luZyBhIGJveCB3aXRoIGJvcmRlcnMgb24gdHdvIHNpZGVzLCByb3RhdGVkIDQ1ZGVnLlxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICBAaWYgJGdvdnVrLXVzZS1sZWdhY3ktZm9udCB7XG4gICAgICAgIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAgICAgICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIGxlZ2FjeSBmb250IHN1cHBvcnQgaXMgZHJvcHBlZFxuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXQgYnkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgd2lkdGggb2YgdGhlIG5vbi1yb3RhdGVkIHNxdWFyZVxuICAgICAgLy8gYW5kIGl0cyB3aWR0aCB3aGVuIHJvdGF0ZWRcbiAgICAgIGxlZnQ6ICgoJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZCAqIC0yKSArICRjaGV2cm9uLXNpemUgKyAkY2hldnJvbi1ib3JkZXItd2lkdGgpO1xuXG4gICAgICB3aWR0aDogJGNoZXZyb24tc2l6ZTtcbiAgICAgIGhlaWdodDogJGNoZXZyb24tc2l6ZTtcblxuICAgICAgbWFyZ2luOiBhdXRvIDA7XG5cbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgIGJvcmRlcjogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6ICRjaGV2cm9uLWJvcmRlci13aWR0aCAkY2hldnJvbi1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICAvLyBGYWxsIGJhY2sgdG8gYSBncmVhdGVyIHRoYW4gc2lnbiBmb3IgSUU4XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBjb250ZW50OiBcIlxcMDAzZVwiOyAvLyBHcmVhdGVyIHRoYW4gc2lnbiAoPilcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJGNoZXZyb24tYm9yZGVyLWNvbG91cjtcblxuICAgICAgICAvLyBJRTggZG9lc24ndCBzZWVtIHRvIGxpa2UgcmVuZGVyaW5nIHBzZXVkby1lbGVtZW50cyB1c2luZyBAZm9udC1mYWNlcyxcbiAgICAgICAgLy8gc28gZmFsbCBiYWNrIHRvIHVzaW5nIGFub3RoZXIgc2Fucy1zZXJpZiBmb250IHRvIHJlbmRlciB0aGUgY2hldnJvbi5cbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1icy0tY29sbGFwc2Utb24tbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2J1dHRvblwiKSB7XG4gICRnb3Z1ay1idXR0b24tY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmVlblwiLCAkbGVnYWN5OiAjMDA4MjNiKTtcbiAgJGdvdnVrLWJ1dHRvbi1ob3Zlci1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1idXR0b24tY29sb3VyLCAyMCUpO1xuICAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1idXR0b24tY29sb3VyLCA2MCUpO1xuICAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAvLyBTZWNvbmRhcnkgYnV0dG9uIHZhcmlhYmxlc1xuICAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIik7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWhvdmVyLWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyLCAxMCUpO1xuICAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsIDQwJSk7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAvLyBXYXJuaW5nIGJ1dHRvbiB2YXJpYWJsZXNcbiAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91cjogZ292dWstY29sb3VyKFwicmVkXCIpO1xuICAkZ292dWstd2FybmluZy1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyLCAyMCUpO1xuICAkZ292dWstd2FybmluZy1idXR0b24tc2hhZG93LWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91ciwgNjAlKTtcbiAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAvLyBCZWNhdXNlIHRoZSBzaGFkb3cgKHMwKSBpcyB2aXN1YWxseSAncGFydCBvZicgdGhlIGJ1dHRvbiwgd2UgbmVlZCB0byByZWR1Y2VcbiAgLy8gdGhlIGhlaWdodCBvZiB0aGUgYnV0dG9uIHRvIGNvbXBlbnNhdGUgYnkgYWRqdXN0aW5nIGl0cyBwYWRkaW5nIChzMSkgYW5kXG4gIC8vIGluY3JlYXNlIHRoZSBib3R0b20gbWFyZ2luIHRvIGluY2x1ZGUgaXQgKHMyKS5cbiAgJGJ1dHRvbi1zaGFkb3ctc2l6ZTogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMTlweCk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIiwgJGFkanVzdG1lbnQ6ICRidXR0b24tc2hhZG93LXNpemUpOyAvLyBzMlxuICAgIHBhZGRpbmc6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQpIGdvdnVrLXNwYWNpbmcoMikgKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikpOyAvLyBzMVxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXNoYWRvdy1zaXplIHNvbGlkICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhhdCBhbnkgZ2xvYmFsIGxpbmsgc3R5bGVzIGFyZSBvdmVycmlkZGVuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIEZpeCB1bndhbnRlZCBidXR0b24gcGFkZGluZyBpbiBGaXJlZm94XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgLy8gQnVtcCB0aGUgYnV0dG9uIGRvd24gc28gaXQgbG9va3MgbGlrZSBpdHMgYmVpbmcgcHJlc3NlZCBpblxuICAgICAgdG9wOiAkYnV0dG9uLXNoYWRvdy1zaXplO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gV2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuLCBmb3IgZXhhbXBsZSB3aGVuIHVzZXJzIGhhdmUgYSBkYXJrIG1vZGUsXG4gICAgICAvLyBiYWNrZ3JvdW5kcyBhbmQgYm94LXNoYWRvd3MgZGlzYXBwZWFyLCBzbyB3ZSBuZWVkIHRvIGVuc3VyZSB0aGVyZSdzIGFcbiAgICAgIC8vIHRyYW5zcGFyZW50IG91dGxpbmUgd2hpY2ggd2lsbCBiZSBzZXQgdG8gYSB2aXNpYmxlIGNvbG91ci5cbiAgICAgIC8vIFNpbmNlIEludGVybmV0IEV4cGxvcmVyIDggZG9lcyBub3Qgc3VwcG9ydCBib3gtc2hhZG93LCB3ZSB3YW50IHRvIGZvcmNlIHRoZSB1c2VyLWFnZW50IG91dGxpbmVzXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgICAgLy8gU2luY2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lcyBub3Qgc3VwcG9ydCBgOm5vdCgpYCB3ZSBzZXQgYSBjbGVhcmVyIGZvY3VzIHN0eWxlIHRvIG1hdGNoIHVzZXItYWdlbnQgb3V0bGluZXMuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzIHNvXG4gICAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAgIC8vIHRleHQgd2hlbiBmb2N1c3NlZC5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzOm5vdCg6YWN0aXZlKTpub3QoOmhvdmVyKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIFRoZSBmb2xsb3dpbmcgYWRqdXN0bWVudHMgZG8gbm90IHdvcmsgZm9yIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCI+IGFzXG4gICAgLy8gbm9uLWNvbnRhaW5lciBlbGVtZW50cyBjYW5ub3QgaW5jbHVkZSBwc2V1ZG8gZWxlbWVudHMgKGkuZS4gOjpiZWZvcmUpLlxuXG4gICAgLy8gVXNlIGEgcHNldWRvIGVsZW1lbnQgdG8gZXhwYW5kIHRoZSBjbGljayB0YXJnZXQgYXJlYSB0byBpbmNsdWRlIHRoZVxuICAgIC8vIGJ1dHRvbidzIHNoYWRvdyBhcyB3ZWxsLCBpbiBjYXNlIHVzZXJzIHRyeSB0byBjbGljayBpdC5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgICByaWdodDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgYm90dG9tOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgICBsZWZ0OiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGJ1dHRvbiBpcyBhY3RpdmUgaXQgaXMgc2hpZnRlZCBkb3duIGJ5ICRidXR0b24tc2hhZG93LXNpemUgdG9cbiAgICAvLyBkZW5vdGUgYSAncHJlc3NlZCcgc3RhdGUuIElmIHRoZSB1c2VyIGhhcHBlbmVkIHRvIGNsaWNrIGF0IHRoZSB2ZXJ5IHRvcFxuICAgIC8vIG9mIHRoZSBidXR0b24sIHRoZWlyIG1vdXNlIGlzIG5vIGxvbmdlciBvdmVyIHRoZSBidXR0b24gKGJlY2F1c2UgaXQgaGFzXG4gICAgLy8gJ21vdmVkIGJlbmVhdGggdGhlbScpIGFuZCBzbyB0aGUgY2xpY2sgZXZlbnQgaXMgbm90IGZpcmVkLlxuICAgIC8vXG4gICAgLy8gVGhpcyBjb3JyZWN0cyB0aGF0IGJ5IHNoaWZ0aW5nIHRoZSB0b3Agb2YgdGhlIHBzZXVkbyBlbGVtZW50IHNvIHRoYXQgaXRcbiAgICAvLyBjb250aW51ZXMgdG8gY292ZXIgdGhlIGFyZWEgdGhhdCB0aGUgdXNlciBvcmlnaW5hbGx5IGNsaWNrZWQsIHdoaWNoIG1lYW5zXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIHN0aWxsIGZpcmVkLlxuICAgIC8vXG4gICAgLy8g8J+OiVxuICAgICY6YWN0aXZlOmJlZm9yZSB7XG4gICAgICB0b3A6IC0oJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgKyAkYnV0dG9uLXNoYWRvdy1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstYnV0dG9uLS1kaXNhYmxlZCxcbiAgLmdvdnVrLWJ1dHRvbltkaXNhYmxlZD1cImRpc2FibGVkXCJdLFxuICAuZ292dWstYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogKC41KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1jb2xvdXI7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRidXR0b24tc2hhZG93LXNpemUgc29saWQgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyO1xuICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzIHNvXG4gICAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAgIC8vIHRleHQgd2hlbiBmb2N1c3NlZC5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG5cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycyBzb1xuICAgIC8vIHNvIHRoYXQgdW52aXNpdGVkIGxpbmtzIHN0eWxlZCBhcyBidXR0b25zIGRvIG5vdCBlbmQgdXAgd2l0aCBkYXJrIGJsdWVcbiAgICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG5cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnV0dG9uLS1zdGFydCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDI0LCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IDEpO1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcblxuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbl9fc3RhcnQtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgQGlmICRnb3Z1ay11c2UtbGVnYWN5LWZvbnQge1xuICAgIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldCB3aGVuIHVzaW5nIHYxIG9mIG50YVxuICAgICRvZmZzZXQ6IDI7XG5cbiAgICAuZ292dWstYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSArICRvZmZzZXQpOyAvLyBzMVxuICAgICAgcGFkZGluZy1ib3R0b206IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpIC0gJG9mZnNldCArIDEpOyAvLyBzMVxuICAgIH1cblxuICAgIC5nb3Z1ay1idXR0b25fX3N0YXJ0LWljb24ge1xuICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGVja2JveGVzXCIpIHtcblxuICAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU6IDQ0cHg7XG4gICRnb3Z1ay1jaGVja2JveGVzLXNpemU6IDQwcHg7XG4gICRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemU6IDI0cHg7XG4gICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWluLWhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuXG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQge1xuICAgICRpbnB1dC1vZmZzZXQ6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkZ292dWstY2hlY2tib3hlcy1zaXplKSAvIDI7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTggZG9lc27igJl0IHN1cHBvcnQgcHNldWRvLWVsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmVcbiAgICAvLyBlbGVtZW50cyB0aGVyZS5cbiAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogJGlucHV0LW9mZnNldCAqIC0xO1xuICAgICAgbGVmdDogJGlucHV0LW9mZnNldCAqIC0xO1xuXG4gICAgICB3aWR0aDogJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplO1xuICAgICAgaGVpZ2h0OiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLXNpemUgLyAtMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZ292dWstY2hlY2tib3hlcy1zaXplIC8gLTI7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgLy8gYWRkIGZvY3VzIG91dGxpbmUgdG8gaW5wdXRcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDhweCAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgZ292dWstc3BhY2luZygxKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gcmVtb3ZlIDMwMG1zIHBhdXNlIG9uIG1vYmlsZVxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAvLyBbIF0gQ2hlY2sgYm94XG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8g4pyUIENoZWNrIG1hcmtcbiAgLy9cbiAgLy8gVGhlIGNoZWNrIG1hcmsgaXMgYSBib3ggd2l0aCBhIGJvcmRlciBvbiB0aGUgbGVmdCBhbmQgYm90dG9tIHNpZGUgKOKUlOKUgOKUgCksXG4gIC8vIHJvdGF0ZWQgNDUgZGVncmVlc1xuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDExcHg7XG4gICAgbGVmdDogOXB4O1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGhlaWdodDogMTJweDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDVweCA1cHg7XG4gICAgLy8gRml4IGJ1ZyBpbiBJRTExIGNhdXNlZCBieSB0cmFuc2Zvcm0gcm90YXRlICgtNDVkZWcpLlxuICAgIC8vIFNlZTogYWxwaGFnb3YvZ292dWtfZWxlbWVudHMvaXNzdWVzLzUxOFxuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgb3BhY2l0eTogMDtcblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgc3RhdGVcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmZvY3VzICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbmRpdGlvbmFsIHJldmVhbHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gVGhlIG5hcnJvdyBib3JkZXIgaXMgdXNlZCBpbiB0aGUgY29uZGl0aW9uYWwgcmV2ZWFscyBiZWNhdXNlIHRoZSBib3JkZXIgaGFzXG4gIC8vIHRvIGJlIGFuIGV2ZW4gbnVtYmVyIGluIG9yZGVyIHRvIGJlIGNlbnRyZWQgdW5kZXIgdGhlIDQwcHggY2hlY2tib3ggb3IgcmFkaW8uXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93O1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgY2hlY2tib3guXG4gICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZzogKCRnb3Z1ay1jaGVja2JveGVzLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSBjaGVja2JveFxuICAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZztcbiAgLy8gTW92ZSB0aGUgY29udGVudHMgb2YgdGhlIGNvbmRpdGlvbmFsIGlubGluZSB3aXRoIHRoZSBsYWJlbFxuICAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmcgKyAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2NvbmRpdGlvbmFsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBtYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDtcbiAgICBib3JkZXItbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgIC5qcy1lbmFibGVkICYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTbWFsbCBjaGVja2JveGVzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzLS1zbWFsbCB7XG5cbiAgICAkaW5wdXQtb2Zmc2V0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplIC0gJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZSkgLyAyO1xuICAgICRsYWJlbC1vZmZzZXQ6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRpbnB1dC1vZmZzZXQ7XG5cbiAgICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkbGFiZWwtb2Zmc2V0O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLy8gU2hpZnQgdGhlIHRvdWNoIHRhcmdldCBpbnRvIHRoZSBsZWZ0IG1hcmdpbiBzbyB0aGF0IHRoZSB2aXNpYmxlIGVkZ2Ugb2ZcbiAgICAvLyB0aGUgY29udHJvbCBpcyBhbGlnbmVkXG4gICAgLy9cbiAgICAvLyAgIOKUhldoYXQgY29sb3VycyBkbyB5b3UgbGlrZT9cbiAgICAvLyAg4pSM4pSG4pSA4pSA4pSA4pSQXG4gICAgLy8gIOKUguKUhltdIOKUgiBQdXJwbGVcbiAgICAvLyAg4pSU4pSG4pay4pSA4pSA4pSYXG4gICAgLy8gIOKWsuKUhuKUlOKUgCBDaGVjayBib3ggcHNldWRvIGVsZW1lbnQsIGFsaWduZWQgd2l0aCBtYXJnaW5cbiAgICAvLyAg4pSU4pSA4pSA4pSAIFRvdWNoIHRhcmdldCAoaW52aXNpYmxlIGlucHV0KSwgc2hpZnRlZCBpbnRvIHRoZSBtYXJnaW5cbiAgICAuZ292dWstY2hlY2tib3hlc19faW5wdXQge1xuICAgICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICAgIGxlZnQ6ICRpbnB1dC1vZmZzZXQgKiAtMTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemUgKiAtMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGp1c3QgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBsYWJlbC5cbiAgICAvL1xuICAgIC8vIFVubGlrZSBsYXJnZXIgY2hlY2tib3hlcywgd2UgYWxzbyBoYXZlIHRvIGZsb2F0IHRoZSBsYWJlbCBpbiBvcmRlciB0b1xuICAgIC8vICdzaHJpbmsnIGl0LCBwcmV2ZW50aW5nIHRoZSBob3ZlciBzdGF0ZSBmcm9tIGtpY2tpbmcgaW4gYWNyb3NzIHRoZSBmdWxsXG4gICAgLy8gd2lkdGggb2YgdGhlIHBhcmVudCBlbGVtZW50LlxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgcGFkZGluZzogMTNweCBnb3Z1ay1zcGFjaW5nKDMpIDEzcHggMXB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogMTFweCBnb3Z1ay1zcGFjaW5nKDMpIDEwcHggMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFsgXSBDaGVjayBib3hcbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY2hlY2sgYm94IFsxXSwgdmVydGljYWxseSBjZW50ZXIgaXQgd2l0aGluIHRoZVxuICAgIC8vIHRvdWNoIHRhcmdldCBbMl1cbiAgICAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6YmVmb3JlIHtcbiAgICAgIHRvcDogJGlucHV0LW9mZnNldCAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50OyAvLyAyXG4gICAgICB3aWR0aDogJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZTsgLy8gMVxuICAgICAgaGVpZ2h0OiAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplOyAvLyAxXG4gICAgfVxuXG4gICAgLy8g4pyUIENoZWNrIG1hcmtcbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY2hlY2sgbWFyayBhbmQgcmUtYWxpZ24gd2l0aGluIHRoZSBjaGVja2JveFxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDphZnRlciB7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICBsZWZ0OiA2cHg7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogNi41cHg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAzcHggM3B4O1xuICAgIH1cblxuICAgIC8vIEZpeCBwb3NpdGlvbiBvZiBoaW50IHdpdGggc21hbGwgY2hlY2tib3hlc1xuICAgIC8vXG4gICAgLy8gRG8gbm90IHVzZSBoaW50cyB3aXRoIHNtYWxsIGNoZWNrYm94ZXMg4oCTIGJlY2F1c2UgdGhleSdyZSB3aXRoaW4gdGhlIGlucHV0XG4gICAgLy8gd3JhcHBlciB0aGV5IHRyaWdnZXIgdGhlIGhvdmVyIHN0YXRlLCBidXQgY2xpY2tpbmcgdGhlbSBkb2Vzbid0IGFjdHVhbGx5XG4gICAgLy8gYWN0aXZhdGUgdGhlIGNvbnRyb2wuXG4gICAgLy9cbiAgICAvLyAoSWYgeW91IGRvIHVzZSB0aGVtLCB0aGV5IHdvbid0IGxvb2sgY29tcGxldGVseSBicm9rZW4uLi4gYnV0IHNlcmlvdXNseSxcbiAgICAvLyBkb24ndCB1c2UgdGhlbSlcbiAgICAuZ292dWstY2hlY2tib3hlc19faGludCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY29uZGl0aW9uYWwgcmV2ZWFscyB3aXRoIHNtYWxsIGNoZWNrYm94ZXNcbiAgICAuZ292dWstY2hlY2tib3hlc19fY29uZGl0aW9uYWwge1xuICAgICAgJG1hcmdpbi1sZWZ0OiAoJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZSAvIDIpIC0gKCRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggLyAyKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRsYWJlbC1vZmZzZXQgLSAoJG1hcmdpbi1sZWZ0ICsgJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCk7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBzdGF0ZSBmb3Igc21hbGwgY2hlY2tib3hlcy5cbiAgICAvL1xuICAgIC8vIFdlIHVzZSBhIGhvdmVyIHN0YXRlIGZvciBzbWFsbCBjaGVja2JveGVzIGJlY2F1c2UgdGhlIHRvdWNoIHRhcmdldCBzaXplXG4gICAgLy8gaXMgc28gbXVjaCBsYXJnZXIgdGhhbiB0aGVpciB2aXNpYmxlIHNpemUsIGFuZCBzbyB3ZSBuZWVkIHRvIHByb3ZpZGVcbiAgICAvLyBmZWVkYmFjayB0byB0aGUgdXNlciBhcyB0byB3aGljaCBjaGVja2JveCB0aGV5IHdpbGwgc2VsZWN0IHdoZW4gdGhlaXJcbiAgICAvLyBjdXJzb3IgaXMgb3V0c2lkZSBvZiB0aGUgdmlzaWJsZSBhcmVhLlxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQmVjYXVzZSB3ZSd2ZSBvdmVycmlkZGVuIHRoZSBib3JkZXItc2hhZG93IHByb3ZpZGVkIGJ5IHRoZSBmb2N1cyBzdGF0ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIHJlZGVmaW5lIHRoYXQgdG9vLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIHR3byBib3ggc2hhZG93cywgb25lIHRoYXQgcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGZvY3VzIHN0YXRlIFsxXVxuICAgIC8vIGFuZCBhbm90aGVyIHRoYXQgdGhlbiBhcHBsaWVzIHRoZSBob3ZlciBzdGF0ZSBbMl0uXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06aG92ZXIgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmZvY3VzICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDAgMCAkZ292dWstZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91ciwgLy8gMVxuICAgICAgICAwIDAgMCAkZ292dWstaG92ZXItd2lkdGggJGdvdnVrLWhvdmVyLWNvbG91cjsgLy8gMlxuICAgIH1cblxuICAgIC8vIEZvciBkZXZpY2VzIHRoYXQgZXhwbGljaXRseSBkb24ndCBzdXBwb3J0IGhvdmVyLCBkb24ndCBwcm92aWRlIGEgaG92ZXJcbiAgICAvLyBzdGF0ZSAoZS5nLiBvbiB0b3VjaCBkZXZpY2VzIGxpa2UgaU9TKS5cbiAgICAvL1xuICAgIC8vIFdlIGNhbid0IHVzZSBgQG1lZGlhIChob3ZlcjogaG92ZXIpYCBiZWNhdXNlIHdlIHdvdWxkbid0IGdldCB0aGUgaG92ZXJcbiAgICAvLyBzdGF0ZSBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYEBtZWRpYSAoaG92ZXIpYCAobGlrZSBJbnRlcm5ldFxuICAgIC8vIEV4cGxvcmVyKSDigJMgc28gd2UgaGF2ZSB0byAndW5kbycgdGhlIGhvdmVyIHN0YXRlIGluc3RlYWQuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSksIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstY2hlY2tib3hlc19faXRlbTpob3ZlciAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Vycm9yLW1lc3NhZ2VcIikge1xuICAuZ292dWstZXJyb3ItbWVzc2FnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2ZpZWxkc2V0XCIpIHtcbiAgLmdvdnVrLWZpZWxkc2V0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG5cbiAgLy8gRml4IGZvciBGaXJlZm94IDwgNTNcbiAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA0NjIyXG4gIEBzdXBwb3J0cyBub3QgKGNhcmV0LWNvbG9yOiBhdXRvKSB7XG4gICAgLmdvdnVrLWZpZWxkc2V0LFxuICAgIHg6LW1vei1hbnktbGluayB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3ItdHlwZS1uby11bmtub3duXG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICAvLyBGaXggbGVnZW5kIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUVcbiAgICAvLyAxLiBJRTktMTEgJiBFZGdlIDEyLTEzXG4gICAgLy8gMi4gSUU4LTExXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAgICAgICAgIC8vIDJcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgICAgICAvLyAxXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgICAgLy8gMVxuICB9XG5cbiAgLy8gTW9kaWZpZXJzIHRoYXQgbWFrZSBsZWdlbmRzIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC8vIFdoZW4gdGhlIGxlZ2VuZCBjb250YWlucyBhbiBIMSwgd2Ugd2FudCB0aGUgSDEgdG8gaW5oZXJpdCBhbGwgc3R5bGVzIGZyb21cbiAgLy8gdGhlIGxlZ2VuZC4gRWZmZWN0aXZlbHkgd2Ugd2FudCB0byBiZSBhYmxlIHRvIHRyZWF0IHRoZSBoZWFkaW5nIGFzIGlmIGl0IGlzXG4gIC8vIG5vdCB0aGVyZS5cbiAgLmdvdnVrLWZpZWxkc2V0X19oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hpbnRcIikge1xuICAuZ292dWstaGludCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGFiZWwgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1sYWJlbC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsYWJlbCBpcyBpbnNpZGUgdGhlIDxoMT4sIGhvd2V2ZXIgaXRcbiAgLy8gaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1sYWJlbC0tcyBjbGFzcyB3b3VsZCBiZSB1c2VkIGluIHRoaXNcbiAgLy8gY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKS5cbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyBtYXJnaW4tYm90dG9tIG9mIGhpbnQgd2hlbiB1c2VkIGFmdGVyIHRoZSBkZWZhdWx0IGxlZ2VuZCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMgZm9yIGJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5cbiAgLy8gVGhpcyBhZGp1c3RtZW50IHdpbGwgbm90IHdvcmsgd2hlbiB0aGUgbGVnZW5kIGlzIG91dHNpZGUgdGhlIDxoMT4sIGhvd2V2ZXJcbiAgLy8gaXQgaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGNsYXNzIHdvdWxkIGJlXG4gIC8vIHVzZWQgaW4gdGhpcyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLlxuICAvLyBVc2VycyB3aXRoIHRoZXNlIGJyb3dzZXJzIHdpbGwgc2VlIHRoZSBkZWZhdWx0IHNpemUgbWFyZ2luICg1cHggbGFyZ2VyKS5cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZDpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW0pOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbCk6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS14bCkgKyAuZ292dWstaGludCB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC8vIFJlZHVjZXMgdmlzdWFsIHNwYWNpbmcgb2YgbGVnZW5kIHdoZW4gdGhlcmUgaXMgYSBoaW50XG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi10b3A6IC0oZ292dWstc3BhY2luZygxKSk7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvbGFiZWxcIikge1xuICAuZ292dWstbGFiZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGFiZWxzIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcblxuICAuZ292dWstbGFiZWwtLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsYWJlbCBpcyBuZXN0ZWQgaW5zaWRlIGEgaGVhZGluZywgb3ZlcnJpZGUgdGhlIGhlYWRpbmcgc28gdGhhdCBpdFxuICAvLyBkb2VzIG5vdCBoYXZlIGEgbWFyZ2luLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmdcbiAgLy8gYXMgaWYgaXQgaXMgbm90IHRoZXJlLlxuICAvL1xuICAvLyBUaGlzIGJyZWFrcyBCRU0gY29udmVudGlvbnMgYmVjYXVzZSBpdCBleGlzdHMgYXMgYSBwYXJlbnQgb2YgdGhlICdibG9jaycsXG4gIC8vIHNvIHdlIGNhbid0IHJlYWxseSBjb25zaWRlciBhbiBlbGVtZW50LlxuICAuZ292dWstbGFiZWwtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL3RleHRhcmVhL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvY2hhcmFjdGVyLWNvdW50XCIpIHtcbiAgLmdvdnVrLWNoYXJhY3Rlci1jb3VudCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICAuZ292dWstZm9ybS1ncm91cCxcbiAgICAuZ292dWstdGV4dGFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBmYWxzZSwgJHRhYnVsYXI6IHRydWUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2UtLWRpc2FibGVkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGV4dGFyZWFcIikge1xuICAuZ292dWstdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gc2hvdWxkIHRoaXMgYmUgZ2xvYmFsP1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAgIHJlc2l6ZTogdmVydGljYWw7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gRW5zdXJlIG91dGxpbmUgYXBwZWFycyBvdXRzaWRlIG9mIHRoZSBlbGVtZW50XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIC8vIERvdWJsZSB0aGUgYm9yZGVyIGJ5IGFkZGluZyBpdHMgd2lkdGggYWdhaW4uIFVzZSBgYm94LXNoYWRvd2AgdG8gZG9cbiAgICAgIC8vIHRoaXMgaW5zdGVhZCBvZiBjaGFuZ2luZyBgYm9yZGVyLXdpZHRoYCAod2hpY2ggY2hhbmdlcyBlbGVtZW50IHNpemUpIGFuZFxuICAgICAgLy8gc2luY2UgYG91dGxpbmVgIGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICAvLyBJRTggZG9lc24ndCBzdXBwb3J0IGBib3gtc2hhZG93YCBzbyBkb3VibGUgdGhlIGJvcmRlciB3aXRoXG4gICAgICAgIC8vIGBib3JkZXItd2lkdGhgLlxuICAgICAgICBib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICogMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstdGV4dGFyZWEtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Nvb2tpZS1iYW5uZXJcIikge1xuXG4gIC8vIFRoaXMgbmVlZHMgdG8gYmUga2VwdCBpbiBzeW5jIHdpdGggdGhlIGhlYWRlciBjb21wb25lbnQncyBzdHlsZXNcbiAgJGJvcmRlci1ib3R0b20td2lkdGg6IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgLmdvdnVrLWNvb2tpZS1iYW5uZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIC8vIFRoZSBjb21wb25lbnQgZG9lcyBub3Qgc2V0IGJvdHRvbSBzcGFjaW5nLlxuICAgIC8vIFRoZSBib3R0b20gc3BhY2luZyBzaG91bGQgYmUgY3JlYXRlZCBieSB0aGUgaXRlbXMgaW5zaWRlIHRoZSBjb21wb25lbnQuXG5cbiAgICAvLyBWaXN1YWxseSBzZXBhcmF0ZSB0aGUgY29va2llIGJhbm5lciBmcm9tIGNvbnRlbnQgdW5kZXJuZWF0aFxuICAgIC8vIHdoZW4gdXNlciBjaGFuZ2VzIGNvbG91cnMgaW4gdGhlaXIgYnJvd3Nlci5cbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLWJvdHRvbS13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIik7XG4gIH1cblxuICAvLyBTdXBwb3J0IG9sZGVyIGJyb3dzZXJzIHdoaWNoIGRvbid0IGhpZGUgZWxlbWVudHMgd2l0aCB0aGUgYGhpZGRlbmAgYXR0cmlidXRlXG4gIC8vIHdoZW4gdXNlciBoaWRlcyB0aGUgd2hvbGUgY29va2llIGJhbm5lciB3aXRoIGEgJ0hpZGUnIGJ1dHRvbi5cbiAgLmdvdnVrLWNvb2tpZS1iYW5uZXJbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1jb29raWUtYmFubmVyX19tZXNzYWdlIHtcbiAgICAvLyBSZW1vdmUgdGhlIGV4dHJhIGhlaWdodCBhZGRlZCBieSB0aGUgc2VwYXJhdG9yIGJvcmRlci5cbiAgICBtYXJnaW4tYm90dG9tOiAtJGJvcmRlci1ib3R0b20td2lkdGg7XG5cbiAgICAmW2hpZGRlbl0ge1xuICAgICAgLy8gU3VwcG9ydCBvbGRlciBicm93c2VycyB3aGljaCBkb24ndCBoaWRlIGVsZW1lbnRzIHdpdGggdGhlIGBoaWRkZW5gIGF0dHJpYnV0ZVxuICAgICAgLy8gd2hlbiB0aGUgdmlzaWJpbGl0eSBvZiBjb29raWUgYW5kIHJlcGxhY2VtZW50IG1lc3NhZ2VzIGlzIHRvZ2dsZWQuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUmVtb3ZlIHRoZSBuYXRpdmUgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgZWxlbWVudCBpcyBwcm9ncmFtbWF0aWNhbGx5IGZvY3VzZWQuXG4gICAgICAvL1xuICAgICAgLy8gVGhlIGZvY3VzZWQgY29va2llIGJhbm5lciBpcyB0aGUgZmlyc3QgZWxlbWVudCBvbiB0aGUgcGFnZSBhbmQgdGhlIGxhc3QgdGhpbmcgdGhlIHVzZXJcbiAgICAgIC8vIGludGVyYWN0ZWQgd2l0aCBwcmlvciB0byBpdCBnYWluaW5nIGZvY3VzLlxuICAgICAgLy8gV2UgdGhlcmVmb3JlIGFzc3VtZSB0aGF0IG1vdmluZyBmb2N1cyB0byBpdCBpcyBub3QgZ29pbmcgdG8gc3VycHJpc2UgdXNlcnMsIGFuZCB0aGF0IGdpdmluZ1xuICAgICAgLy8gaXQgYSB2aXNpYmxlIGZvY3VzIGluZGljYXRvciBjb3VsZCBiZSBtb3JlIGNvbmZ1c2luZyB0aGFuIGhlbHBmdWwsIGVzcGVjaWFsbHkgYXMgdGhlXG4gICAgICAvLyBlbGVtZW50IGlzIG5vdCBub3JtYWxseSBrZXlib2FyZCBvcGVyYWJsZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBoYXZlIGZsYWdnZWQgdGhpcyBpbiB0aGUgcmVzZWFyY2ggc2VjdGlvbiBvZiB0aGUgZ3VpZGFuY2UgYXMgc29tZXRoaW5nIHRvIG1vbml0b3IuXG4gICAgICAvL1xuICAgICAgLy8gQSByZWxhdGVkIGRpc2N1c3Npb246IGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2NhZy9pc3N1ZXMvMTAwMVxuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc3VtbWFyeS1saXN0XCIpIHtcbiAgLmdvdnVrLXN1bW1hcnktbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyAvLyBSZXF1aXJlZCB0byBhbGxvdyB1cyB0byB3cmFwIHdvcmRzIHRoYXQgb3ZlcmZsb3cuXG4gICAgfVxuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB9XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUsXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIHtcbiAgICAvLyBBdXRvbWF0aWMgd3JhcHBpbmcgZm9yIHVuYnJlYWthYmxlIHRleHQgKGUuZy4gVVJMcylcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC8vIEZhbGxiYWNrIGZvciBvbGRlciBicm93c2VycyBvbmx5XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEV4cGFuZCB3aWR0aCB3aGVuIHZhbHVlIGlzIGxhc3QgY29sdW1uIChubyBhY3Rpb24pXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA3MCU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgPiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gICAgcGFkZGluZzogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC8vIEluIG9sZGVyIGJyb3dzZXJzIHN1Y2ggYXMgSUU4LCA6bGFzdC1jaGlsZCBpcyBub3QgYXZhaWxhYmxlLFxuICAvLyBzbyBvbmx5IHNob3cgdGhlIGJvcmRlciBkaXZpZGVyIHdoZXJlIGl0IGlzIGF2YWlsYWJsZS5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBObyBib3JkZXIgb24gZW50aXJlIHN1bW1hcnkgbGlzdFxuICAuZ292dWstc3VtbWFyeS1saXN0LS1uby1ib3JkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUsXG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zIHtcbiAgICAgICAgLy8gUmVtb3ZlIDFweCBib3JkZXIsIGFkZCAxcHggaGVpZ2h0IGJhY2sgb25cbiAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgKyAxcHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBObyBib3JkZXIgb24gc3BlY2lmaWMgcm93c1xuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3ctLW5vLWJvcmRlciB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgICAgICAvLyBSZW1vdmUgMXB4IGJvcmRlciwgYWRkIDFweCBoZWlnaHQgYmFjayBvblxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKSArIDFweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RhdGUtaW5wdXRcIikge1xuICAuZ292dWstZGF0ZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgLy8gZm9udC1zaXplOiAwIHJlbW92ZXMgd2hpdGVzcGFjZSBjYXVzZWQgYnkgaW5saW5lLWJsb2NrXG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9faW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5wdXRcIikge1xuICAuZ292dWstaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgIGhlaWdodDogZ292dWstcHgtdG8tcmVtKDQwcHgpO1xuICAgIH1cbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcbiAgICAvLyBzZXR0aW5nIGFueSBiYWNrZ3JvdW5kLWNvbG9yIG1ha2VzIHRleHQgaW52aXNpYmxlIHdoZW4gY2hhbmdpbmcgY29sb3VycyB0byBkYXJrIGJhY2tncm91bmRzIGluIEZpcmVmb3ggKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzU0NzYpXG4gICAgLy8gYXMgYmFja2dyb3VuZC1jb2xvciBhbmQgY29sb3IgbmVlZCB0byBhbHdheXMgYmUgc2V0IHRvZ2V0aGVyLCBjb2xvciBzaG91bGQgbm90IGJlIHNldCBlaXRoZXJcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAvLyBEaXNhYmxlIGlubmVyIHNoYWRvdyBhbmQgcmVtb3ZlIHJvdW5kZWQgY29ybmVyc1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIEVuc3VyZSBvdXRsaW5lIGFwcGVhcnMgb3V0c2lkZSBvZiB0aGUgZWxlbWVudFxuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICAvLyBEb3VibGUgdGhlIGJvcmRlciBieSBhZGRpbmcgaXRzIHdpZHRoIGFnYWluLiBVc2UgYGJveC1zaGFkb3dgIGZvciB0aGlzIC8vIGluc3RlYWQgb2YgY2hhbmdpbmcgYGJvcmRlci13aWR0aGAgLSB0aGlzIGlzIGZvciBjb25zaXN0ZW5jeSB3aXRoXG4gICAgICAvLyBjb21wb25lbnRzIHN1Y2ggYXMgdGV4dGFyZWEgd2hlcmUgd2UgYXZvaWQgY2hhbmdpbmcgYGJvcmRlci13aWR0aGAgYXNcbiAgICAgIC8vIGl0IHdpbGwgY2hhbmdlIHRoZSBlbGVtZW50IHNpemUuIEFsc28sIGBvdXRsaW5lYCBjYW5ub3QgYmUgdXRpbGlzZWRcbiAgICAgIC8vIGhlcmUgYXMgaXQgaXMgYWxyZWFkeSB1c2VkIGZvciB0aGUgeWVsbG93IGZvY3VzIHN0YXRlLlxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgYGJveC1zaGFkb3dgIHNvIGRvdWJsZSB0aGUgYm9yZGVyIHdpdGhcbiAgICAgICAgLy8gYGJvcmRlci13aWR0aGAuXG4gICAgICAgIGJvcmRlci13aWR0aDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgKiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSBleCBtZWFzdXJlbWVudHMgYXJlIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgVydzIHRoYXQgY2FuIGZpdCBpbnNpZGUgdGhlIGlucHV0XG4gIC8vIEV4dHJhIHNwYWNlIGlzIGxlZnQgb24gdGhlIHJpZ2h0IGhhbmQgc2lkZSB0byBhbGxvdyBmb3IgdGhlIFNhZmFyaSBwcmVmaWxsIGljb25cbiAgLy8gTGluZWFyIHJlZ3Jlc3Npb24gZXN0aW1hdGlvbiBiYXNlZCBvbiB2aXN1YWwgdGVzdHM6IHkgPSAxLjc2ICsgMS44MXhcblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMwIHtcbiAgICBtYXgtd2lkdGg6IDU2ZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTIwIHtcbiAgICBtYXgtd2lkdGg6IDM4ZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTEwIHtcbiAgICBtYXgtd2lkdGg6IDIwZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTUge1xuICAgIG1heC13aWR0aDogMTAuOGV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC00IHtcbiAgICBtYXgtd2lkdGg6IDlleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMyB7XG4gICAgbWF4LXdpZHRoOiA3LjJleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMiB7XG4gICAgbWF4LXdpZHRoOiA1LjRleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5nb3Z1ay1pbnB1dCB7XG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgIC1tcy1mbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuXG4gICAgLmdvdnVrLWlucHV0OmZvY3VzIHtcbiAgICAgIC8vIEhhY2sgdG8gc3RvcCBmb2N1cyBzdHlsZSBiZWluZyBvdmVybGFwcGVkIGJ5IHRoZSBzdWZmaXhcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLy8gU3BsaXQgcHJlZml4L3N1ZmZpeCBvbnRvIHNlcGFyYXRlIGxpbmVzIG9uIG5hcnJvdyBzY3JlZW5zXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiBtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAuZ292dWstaW5wdXQge1xuICAgICAgICAvLyBTZXQgbWF4LXdpZHRoIHRvIG92ZXJyaWRlIHBvdGVudGlhbCB3aWR0aCBvdmVycmlkZSBjbGFzcyBvbiB0aGUgaW5wdXRcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dF9fcHJlZml4LFxuICAuZ292dWstaW5wdXRfX3N1ZmZpeCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiA0MHB4O1xuICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgIG1pbi13aWR0aDogZ292dWstcHgtdG8tcmVtKDQwcHgpO1xuICAgIH1cbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgQGlmICRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW0ge1xuICAgICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgfVxuXG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIik7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgfVxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAvLyBFbXBoYXNpc2Ugbm9uLWVkaXRhYmxlIHN0YXR1cyBvZiBwcmVmaXhlcyBhbmQgc3VmZml4ZXNcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAvLyBTcGxpdCBwcmVmaXgvc3VmZml4IG9udG8gc2VwYXJhdGUgbGluZXMgb24gbmFycm93IHNjcmVlbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dF9fcHJlZml4IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTcGxpdCBwcmVmaXgvc3VmZml4IG9udG8gc2VwYXJhdGUgbGluZXMgb24gbmFycm93IHNjcmVlbnNcbiAgLmdvdnVrLWlucHV0X19zdWZmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RldGFpbHNcIikge1xuICAuZ292dWstZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeSB7XG4gICAgLy8gTWFrZSB0aGUgZm9jdXMgb3V0bGluZSBzaHJpbmstd3JhcCB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBzdW1tYXJ5XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLy8gQWJzb2x1dGVseSBwb3NpdGlvbiB0aGUgbWFya2VyIGFnYWluc3QgdGhpcyBlbGVtZW50XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIEFsbG93IGZvciBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgbWFya2VyIGFuZCBhbGlnbiB3aXRoIGRpc2Nsb3NlZCB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpICsgJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgIC8vIFN0eWxlIHRoZSBzdW1tYXJ5IHRvIGxvb2sgbGlrZSBhIGxpbmsuLi5cbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICB9XG4gIH1cblxuICAvLyAuLi5idXQgb25seSB1bmRlcmxpbmUgdGhlIHRleHQsIG5vdCB0aGUgYXJyb3dcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6aG92ZXIgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSB1bmRlcmxpbmUgd2hlbiBmb2N1c3NlZCB0byBhdm9pZCBkdXBsaWNhdGUgYm9yZGVyc1xuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpmb2N1cyAuZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgZGV0YWlscyBtYXJrZXIgc28gd2UgY2FuIHN0eWxlIG91ciBvd24gY29uc2lzdGVudGx5IGFuZFxuICAvLyBlbnN1cmUgaXQgZGlzcGxheXMgaW4gRmlyZWZveCAoc2VlIGltcGxlbWVudGF0aW9uLm1kIGZvciBkZXRhaWxzKVxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFwcGVuZCBvdXIgb3duIG9wZW4gLyBjbG9zZWQgbWFya2VyIHVzaW5nIGEgcHNldWRvLWVsZW1lbnRcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHRvcDogLTFweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcblxuICAgIG1hcmdpbjogYXV0bztcblxuICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IHJpZ2h0LCAkYmFzZTogMTRweCk7XG5cbiAgICAuZ292dWstZGV0YWlsc1tvcGVuXSA+ICYge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogZG93biwgJGJhc2U6IDE0cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9jb3JlL2xpc3RzXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZXJyb3Itc3VtbWFyeVwiKSB7XG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNCk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHkge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENyb3NzLWNvbXBvbmVudCBjbGFzcyAtIGFkanVzdHMgc3R5bGluZyBvZiBsaXN0IGNvbXBvbmVudFxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3QgYSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWVycm9yO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2ZpbGUtdXBsb2FkXCIpIHtcbiAgJGNvbXBvbmVudC1wYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gIC5nb3Z1ay1maWxlLXVwbG9hZCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNvbXBvbmVudC1wYWRkaW5nO1xuICAgIHBhZGRpbmc6ICRjb21wb25lbnQtcGFkZGluZztcblxuICAgIC8vIFRoZSBkZWZhdWx0IGZpbGUgdXBsb2FkIGJ1dHRvbiBpbiBTYWZhcmkgZG9lcyBub3RcbiAgICAvLyBzdXBwb3J0IHNldHRpbmcgYSBjdXN0b20gZm9udC1zaXplLiBTZXQgYC13ZWJraXQtYXBwZWFyYW5jZWBcbiAgICAvLyB0byBgYnV0dG9uYCB0byBkcm9wIG91dCBvZiB0aGUgbmF0aXZlIGFwcGVhcmFuY2Ugc28gdGhlXG4gICAgLy8gZm9udC1zaXplIGlzIHNldCB0byAxOXB4XG4gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDc0NlxuICAgICY6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICAvLyBVc2UgYGJveC1zaGFkb3dgIHRvIGFkZCBib3JkZXIgaW5zdGVhZCBvZiBjaGFuZ2luZyBgYm9yZGVyLXdpZHRoYFxuICAgICAgLy8gKHdoaWNoIGNoYW5nZXMgZWxlbWVudCBzaXplKSBhbmQgc2luY2UgYG91dGxpbmVgIGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlXG4gICAgICAvLyB5ZWxsb3cgZm9jdXMgc3RhdGUuXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgYGJveC1zaGFkb3dgIHNvIGFkZCBhbiBhY3R1YWwgYm9yZGVyXG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldCBcImZvY3VzLXdpdGhpblwiIHRvIGZpeCBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwMTk2XG4gICAgLy8gc28gdGhhdCBjb21wb25lbnQgcmVjZWl2ZXMgZm9jdXMgaW4gRmlyZWZveC5cbiAgICAvLyBUaGlzIGNhbid0IGJlIHNldCB0b2dldGhlciB3aXRoIGA6Zm9jdXNgIGFzIGFsbCB2ZXJzaW9ucyBvZiBJRSBmYWlsXG4gICAgLy8gdG8gcmVjb2duaXNlIGBmb2N1cy13aXRoaW5gIGFuZCBkb24ndCBzZXQgYW55IHN0eWxlcyBmcm9tIHRoZSBibG9ja1xuICAgIC8vIHdoZW4gaXQncyBhIHNlbGVjdG9yLlxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Zvb3RlclwiKSB7XG5cbiAgJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuICAkZ292dWstZm9vdGVyLWJvcmRlcjogJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIC8vIFRoaXMgdmFyaWFibGUgY2FuIGJlIHJlbW92ZWQgZW50aXJlbHkgb25jZSB0aGUgbGVnYWN5IHBhbGV0dGUgZ29lcyBhd2F5LFxuICAvLyBhcyBpdCdsbCBqdXN0IGJlIHRoZSBzYW1lIGFzICRnb3Z1ay1mb290ZXItYm9yZGVyLlxuICAkZ292dWstZm9vdGVyLWJvcmRlci10b3A6ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAkZ292dWstZm9vdGVyLXRleHQ6ICRnb3Z1ay10ZXh0LWNvbG91cjtcbiAgJGdvdnVrLWZvb3Rlci1saW5rLWhvdmVyLWNvbG91cjogbnVsbDsgLy8gT25seSB1c2VkIHdpdGggdGhlIGxlZ2FjeSBwYWxldHRlXG5cbiAgQGlmICgkZ292dWstdXNlLWxlZ2FjeS1wYWxldHRlKSB7XG4gICAgJGdvdnVrLWZvb3Rlci1ib3JkZXItdG9wOiAjYTFhY2IyO1xuICAgICRnb3Z1ay1mb290ZXItYm9yZGVyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTJcIik7XG4gICAgJGdvdnVrLWZvb3Rlci10ZXh0OiAjNDU0YTRjO1xuICAgICRnb3Z1ay1mb290ZXItbGluay1ob3Zlci1jb2xvdXI6ICMxNzE4MTk7XG4gIH1cblxuICAvLyBCYXNlZCBvbiB0aGUgZ292dWstY3Jlc3QtMngucG5nIGltYWdlIGRpbWVuc2lvbnMuXG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGgtMng6IDI1MHB4O1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodC0yeDogMjA0cHg7XG4gIC8vIEhhbGYgdGhlIDJ4IGltYWdlIHNvIHRoYXQgaXQgZml0cyB0aGUgcmVndWxhciAxeCBzaXplLlxuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoOiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aC0yeCAvIDIpO1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodDogKCRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0LTJ4IC8gMik7XG5cbiAgLmdvdnVrLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg3LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNSwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXItdG9wO1xuICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG5cbiAgICBAaWYgKCRnb3Z1ay11c2UtbGVnYWN5LXBhbGV0dGUpIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLXRleHQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbmstaG92ZXItY29sb3VyO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IG1hcmdpbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBib3JkZXI6IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IGJvcmRlcnNcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbS0tZ3JvdyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzIwcHg7XG4gICAgICAgICAgZmxleC1iYXNpczogMzIwcHg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saWNlbmNlLWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpY2VuY2UtZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2NvcHlyaWdodC1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQgKyBnb3Z1ay1zcGFjaW5nKDIpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJnb3Z1ay1jcmVzdC5wbmdcIik7XG4gICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImdvdnVrLWNyZXN0LTJ4LnBuZ1wiKTtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbWV0YS1jdXN0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig3LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gU3VwcG9ydDogRmxleGJveFxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fc2VjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206ICRnb3Z1ay1ndXR0ZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIC8vIEVuc3VyZSBjb2x1bW5zIHRha2UgdXAgZXF1YWwgd2lkdGggKHR5cGljYWxseSBvbmUtaGFsZjpvbmUtaGFsZilcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxO1xuICAgICAgICBmbGV4LXNocmluazogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIC8vIE1ha2Ugc3VyZSBjb2x1bW5zIGRvIG5vdCBkcm9wIGJlbG93IDIwMHB4IGluIHdpZHRoXG4gICAgICAvLyBXaWxsIHR5cGljYWxseSByZXN1bHQgaW4gd3JhcHBpbmcsIGFuZCBlbmQgdXAgaW4gYSBzaW5nbGUgY29sdW1uIG9uIHNtYWxsZXIgc2NyZWVucy5cbiAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyMDBweDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAyMDBweDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRoZXJlIGFyZSBvbmx5IHR3byBzZWN0aW9ucywgc2V0IHRoZSBsYXlvdXQgdG8gYmUgdHdvLXRoaXJkOm9uZS10aGlyZCBvbiBkZXNrdG9wXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogZGVza3RvcCkge1xuICAgIC8vIFdlIG1hdGNoIHRoZSBmaXJzdCBzZWN0aW9uIHdpdGggYDpmaXJzdC1jaGlsZGAuXG4gICAgLy8gVG8gZW5zdXJlIHRoZSBzZWN0aW9uIGlzIG9uZSBvZiB0d28sIHdlIGNhbiBjb3VudCBiYWNrd2FyZHMgdXNpbmcgYDpudGgtbGFzdC1jaGlsZCgyKWAuXG4gICAgLmdvdnVrLWZvb3Rlcl9fc2VjdGlvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAyO1xuICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAyO1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGdvdnVrLWd1dHRlcjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7IC8vIFN1cHBvcnQ6IENvbHVtbnNcblxuICAgIC8vIERpc2FibGUgdGhpY2tlciB1bmRlcmxpbmVzIG9uIGhvdmVyIGJlY2F1c2Ugb2YgYSBidWcgaW4gQ2hyb21pdW1cbiAgICAvLyBhZmZlY3RpbmcgbGlua3Mgd2l0aGluIGNvbHVtbnNcbiAgICAvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMTkwOTg3XG4gICAgLmdvdnVrLWZvb3Rlcl9fbGluazpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogZGVza3RvcCkge1xuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMiB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuXG4gICAgLmdvdnVrLWZvb3Rlcl9fbGlzdC0tY29sdW1ucy0zIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGVhZGVyXCIpIHtcblxuICAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjogJGdvdnVrLWJyYW5kLWNvbG91cjtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGg6IGdvdnVrLXNwYWNpbmcoMik7XG4gICRnb3Z1ay1oZWFkZXItdGV4dDogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluay1hY3RpdmU6ICMxZDhmZWI7XG4gICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yOiAjMmUzMTMzO1xuICAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzczogM3B4O1xuXG4gIC5nb3Z1ay1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcblxuICAgIGJvcmRlci1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgc29saWQgZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250YWluZXItLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmc6IDAgZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1ib3R0b206ICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC8vIEFkZCBhIGdhcCBiZXR3ZWVuIGxvZ28gYW5kIGFueSBwcm9kdWN0IG5hbWVcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAvLyBQcmV2ZW50IHJlYWRhYmlsaXR5IGJhY2twbGF0ZSBmcm9tIG9ic2N1cmluZyB1bmRlcmxpbmUgaW4gV2luZG93c1xuICAgIC8vIEhpZ2ggQ29udHJhc3QgTW9kZVxuICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IG5vbmU7XG5cbiAgICAvLyBCdXQgcmVtb3ZlIGl0IGlmIHRoZXJlJ3Mgbm90aGluZyBhZnRlciB0aGUgbG9nbyB0byBrZWVwIGhvdmVyIGFuZCBmb2N1c1xuICAgIC8vIHN0YXRlcyBuZWF0XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duLWZhbGxiYWNrLWltYWdlIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19wcm9kdWN0LW5hbWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkbGluZS1oZWlnaHQ6IDEpO1xuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgIC8vIEF2b2lkIHVzaW5nIHRoZSBgZ292dWstbGluay1jb21tb25gIG1peGluIGJlY2F1c2UgdGhlIGxpbmtzIGluIHRoZSBoZWFkZXJcbiAgICAvLyBnZXQgYSBzcGVjaWFsIHRyZWF0bWVudCwgYmVjYXVzZTpcbiAgICAvL1xuICAgIC8vIC0gdW5kZXJsaW5lcyBhcmUgb25seSB2aXNpYmxlIG9uIGhvdmVyXG4gICAgLy8gLSBhbGwgbGlua3MgZ2V0IGEgM3B4IHVuZGVybGluZSByZWdhcmRsZXNzIG9mIHRleHQgc2l6ZSwgYXMgdGhlcmUgYXJlXG4gICAgLy8gICBtdWx0aXBsZSBncm91cGVkIGVsZW1lbnRzIGNsb3NlIHRvIG9uZSBhbm90aGVyIGFuZCBoYXZpbmcgc2xpZ2h0bHlcbiAgICAvLyAgIGRpZmZlcmVudCB1bmRlcmxpbmUgd2lkdGhzIGxvb2tzIHVuYmFsYW5jZWRcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2U7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3M7XG5cbiAgICAgIEBpZiAoJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldCkge1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0taG9tZXBhZ2Uge1xuICAgIC8vIEZvbnQgc2l6ZSBuZWVkcyB0byBiZSBzZXQgb24gdGhlIGxpbmsgc28gdGhhdCB0aGUgYm94IHNpemluZyBpcyBjb3JyZWN0XG4gICAgLy8gaW4gRmlyZWZveFxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgZm9udC1zaXplOiAzMHB4OyAvLyBXZSBkb24ndCBoYXZlIGEgbWl4aW4gdGhhdCBwcm9kdWNlcyAzMHB4IGZvbnQgc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAvLyBOZWdhdGUgdGhlIGFkZGVkIGJvcmRlclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3MgKiAtMTtcbiAgICAgIC8vIE9taXR0aW5nIGNvbG91ciB3aWxsIHVzZSBkZWZhdWx0IHZhbHVlIG9mIGN1cnJlbnRDb2xvciDigJMgaWYgd2VcbiAgICAgIC8vIHNwZWNpZmllZCBjdXJyZW50Q29sb3IgZXhwbGljaXRseSBJRTggd291bGQgaWdub3JlIHRoaXMgcnVsZS5cbiAgICAgIGJvcmRlci1ib3R0b206ICRnb3Z1ay1oZWFkZXItbGluay11bmRlcmxpbmUtdGhpY2tuZXNzIHNvbGlkO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBhbnkgYm9yZGVycyB0aGF0IHNob3cgd2hlbiBmb2N1c2VkIGFuZCBob3ZlcmVkLlxuICAgICY6Zm9jdXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0tc2VydmljZS1uYW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvLFxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg4KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiA2Ni42NiU7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiBzb2xpZCB1bmRlcmxpbmUgJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3M7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogc29saWQgdW5kZXJsaW5lICRnb3Z1ay1oZWFkZXItbGluay11bmRlcmxpbmUtdGhpY2tuZXNzO1xuXG4gICAgICBAaWYgKCRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQpIHtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogZG93biwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogdGFibGV0KSB7XG4gICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24tLW9wZW4ge1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogdXAsICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigyLCBcImJvdHRvbVwiKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLmpzLWVuYWJsZWQge1xuICAgIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLW9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLW5vLXNlcnZpY2UtbmFtZSB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNyk7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0ge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWhlYWRlci1uYXYtaXRlbS1ib3JkZXItY29sb3I7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2LCAkd2VpZ2h0OiBib2xkKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtLS1hY3RpdmUge1xuICAgIGEge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlO1xuICAgICAgfVxuXG4gICAgICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAgICAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIC5nb3Z1ay1oZWFkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGludmVydGVkIGNyb3duIHdoZW4gcHJpbnRpbmcgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IFNWRy5cbiAgICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgICAgfVxuXG4gICAgICAvLyBEbyBub3QgYXBwZW5kIGxpbmsgaHJlZiB0byBHT1YuVUsgbGluayB3aGVuIHByaW50aW5nIChlLmcuICcoLyknKVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRnb3Z1ay11c2UtbGVnYWN5LWZvbnQge1xuICAgIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAgIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhc2VsaW5lXG4gICAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24sXG4gICAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgICRvZmZzZXQ6IDNweDtcbiAgICAgIHBhZGRpbmctdG9wOiAkb2Zmc2V0O1xuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX2xpbmstLWhvbWVwYWdlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICAvLyBFbmQgYWRqdXN0bWVudHNcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9pbnNldC10ZXh0XCIpIHtcbiAgLmdvdnVrLWluc2V0LXRleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIC8vIE1hcmdpbiB0b3AgaW50ZW5kZWQgdG8gY29sbGFwc2VcbiAgICAvLyBUaGlzIGFkZHMgYW4gYWRkaXRpb25hbCAxMHB4IHRvIHRoZSBwYXJhZ3JhcGggYWJvdmVcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgYm9yZGVyLWxlZnQ6ICRnb3Z1ay1ib3JkZXItd2lkdGgtd2lkZSBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgPiA6b25seS1jaGlsZCxcbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L25vdGlmaWNhdGlvbi1iYW5uZXJcIikge1xuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1icmFuZC1jb2xvdXI7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnJhbmQtY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAycHggZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gRW5zdXJlcyB0aGUgbm90aWZpY2F0aW9uIGhlYWRlciBhcHBlYXJzIHNlcGFyYXRlIHRvIHRoZSBub3RpZmljYXRpb24gYm9keSB0ZXh0IGluIGhpZ2ggY29udHJhc3QgbW9kZVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDJweCBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBtYXJnaW46IDA7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2NvbnRlbnQge1xuICAgICRwYWRkaW5nLXRhYmxldDogZ292dWstc3BhY2luZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy10YWJsZXQ7XG4gICAgfVxuXG4gICAgLy8gV3JhcCBjb250ZW50IGF0IHRoZSBzYW1lIHBsYWNlIHRoYXQgYSAyLzMgZ3JpZCBjb2x1bW4gZW5kcywgdG8gbWFpbnRhaW5cbiAgICAvLyBzaG9ydGVyIGxpbmUtbGVuZ3RocyB3aGVuIHRoZSBub3RpZmljYXRpb24gYmFubmVyIGlzIGZ1bGwgd2lkdGhcbiAgICA+ICoge1xuICAgICAgLy8gV2hlbiBlbGVtZW50cyBoYXZlIHRoZWlyIG93biBwYWRkaW5nIChsaWtlIGxpc3RzKSwgaW5jbHVkZSB0aGUgcGFkZGluZ1xuICAgICAgLy8gaW4gdGhlIG1heC13aWR0aCBjYWxjdWxhdGlvblxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBpbnRlcm5hbCB3aWR0aCBvZiBhIHR3by10aGlyZHMgY29sdW1uLi4uXG4gICAgICAkdHdvLWNvbC13aWR0aDogKCRnb3Z1ay1wYWdlLXdpZHRoICogMiAvIDMpIC0gKCRnb3Z1ay1ndXR0ZXIgKiAxIC8gMyk7XG5cbiAgICAgIC8vIC4uLmFuZCB0aGVuIGZhY3RvciBpbiB0aGUgbGVmdCBib3JkZXIgYW5kIHBhZGRpbmdcbiAgICAgICRiYW5uZXItZXh0ZXJpb3I6ICgkcGFkZGluZy10YWJsZXQgKyAkZ292dWstYm9yZGVyLXdpZHRoKTtcbiAgICAgIG1heC13aWR0aDogJHR3by1jb2wtd2lkdGggLSAkYmFubmVyLWV4dGVyaW9yO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgbWFyZ2luOiAwIDAgZ292dWstc3BhY2luZygzKSAwO1xuXG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGU7XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lci0tc3VjY2VzcyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstc3VjY2Vzcy1jb2xvdXI7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc3VjY2Vzcy1jb2xvdXI7XG5cbiAgICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fbGluayB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXN1Y2Nlc3M7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BhbmVsXCIpIHtcbiAgLmdvdnVrLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDcpIC0gJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDYpIC0gJGdvdnVrLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFuZWwtLWNvbmZpcm1hdGlvbiB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImdyZWVuXCIsICRsZWdhY3k6IFwidHVycXVvaXNlXCIpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIGNvbG9yOiAkZ292dWstcHJpbnQtdGV4dC1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fdGl0bGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fYm9keSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vdGFnL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGhhc2UtYmFubmVyXCIpIHtcbiAgLmdvdnVrLXBoYXNlLWJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50X190YWcge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWdcIikge1xuICAuZ292dWstdGFnIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC8vIFdoZW4gYSB1c2VyIGN1c3RvbWlzZXMgdGhlaXIgY29sb3VycyBvZnRlbiB0aGUgYmFja2dyb3VuZCBpcyByZW1vdmVkLFxuICAgIC8vIGJ5IGFkZGluZyBhIG91dGxpbmUgd2UgZW5zdXJlIHRoYXQgdGhlIHRhZyBjb21wb25lbnQgc3RpbGwga2VlcHMgaXQncyBtZWFuaW5nLlxuICAgIC8vIGh0dHBzOi8vYWNjZXNzaWJpbGl0eS5ibG9nLmdvdi51ay8yMDE3LzAzLzI3L2hvdy11c2Vycy1jaGFuZ2UtY29sb3Vycy1vbi13ZWJzaXRlcy9cbiAgICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG5cbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaWYgJGdvdnVrLXVzZS1sZWdhY3ktZm9udCB7XG4gICAgICAvLyBTaW5jZSBOZXcgVHJhbnNwb3J0IHNpdHMgc2xpZ2h0bHkgaGlnaGVyIHRoYW4gb3RoZXIgY29tbW9uIGZvbnRzLlxuICAgICAgLy8gV2UgdXNlIGludGVudGlvbmFsbHkgdW5ldmVuIHBhZGRpbmcgdG8gbWFrZSBpdCBiYWxhbmNlZCwgdGhpcyBjYW4gYmVcbiAgICAgIC8vIHJlbW92ZWQgdXNpbmcgdGhlIHZlcnNpb24gb2YgdGhlIGZvbnQgdGhhdCBoYXMgYSBtb3JlIGNvbW1vbiB2ZXJ0aWNhbCBzcGFjaW5nLlxuICAgICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS4yNSk7XG4gICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMSk7XG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIERlcHJlY2F0ZWQuIFdlJ2xsIHJlbW92ZSB0aGlzIGNsYXNzIGluIGEgZnV0dXJlIHJlbGVhc2UuIFVzZSBgLmdvdnVrLXRhZy0tZ3JleWAgaW5zdGVhZC5cbiAgLmdvdnVrLXRhZy0taW5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLWdyZXkge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJkYXJrLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTFcIiksIDMwKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMVwiKSwgOTApO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcHVycGxlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwicHVycGxlXCIpLCAyMCk7XG4gICAgYmFja2dyb3VuZDogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJwdXJwbGVcIiksIDgwKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLXR1cnF1b2lzZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcInR1cnF1b2lzZVwiKSwgNjApO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpLCA3MCk7XG4gIH1cblxuICAuZ292dWstdGFnLS1ibHVlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiYmx1ZVwiKSwgMzApO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwiYmx1ZVwiKSwgODApO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0teWVsbG93IHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwieWVsbG93XCIpLCA2NSk7XG4gICAgYmFja2dyb3VuZDogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJ5ZWxsb3dcIiksIDc1KTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLW9yYW5nZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcIm9yYW5nZVwiKSwgNTUpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwib3JhbmdlXCIpLCA3MCk7XG4gIH1cblxuICAuZ292dWstdGFnLS1yZWQge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJyZWRcIiksIDMwKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcInJlZFwiKSwgODApO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcGluayB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcInBpbmtcIiksIDQwKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcInBpbmtcIiksIDgwKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLWdyZWVuIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiZ3JlZW5cIiksIDIwKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImdyZWVuXCIpLCA4MCk7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFic1wiKSB7XG4gIC5nb3Z1ay10YWJzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigxLCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstdGFic19fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZyg1KTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgICAgY29udGVudDogXCJcXDIwMTQgXCI7IC8vIFwi4oCUIFwiXG4gICAgICBtYXJnaW4tbGVmdDogLSBnb3Z1ay1zcGFjaW5nKDUpO1xuICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFic19fdGFiIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19wYW5lbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAvLyBKYXZhU2NyaXB0IGVuYWJsZWRcbiAgLmpzLWVuYWJsZWQge1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZyg0KTtcblxuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktNFwiKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0tLXNlbGVjdGVkIHtcbiAgICAgICAgJGJvcmRlci13aWR0aDogMXB4O1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBtYXJnaW4tdG9wOiAtIGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAgICAgLy8gQ29tcGVuc2F0aW9uIGZvciBib3JkZXIgKG90aGVyd2lzZSB3ZSBnZXQgYSBzaGlmdClcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRib3JkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpIC0gJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KSAtICRib3JkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpICsgJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpIC0gJGJvcmRlci13aWR0aDtcblxuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICAgICAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190YWIge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX3BhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMCwgXCJib3R0b21cIik7XG4gICAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNikgZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19wYW5lbC0taGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9yYWRpb3NcIikge1xuXG4gICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTogNDRweDtcbiAgJGdvdnVrLXJhZGlvcy1zaXplOiA0MHB4O1xuICAkZ292dWstc21hbGwtcmFkaW9zLXNpemU6IDI0cHg7XG4gICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAvLyBXaGVuIHRoZSBkZWZhdWx0IGZvY3VzIHdpZHRoIGlzIHVzZWQgb24gYSBjdXJ2ZWQgZWRnZSBpdCBsb29rcyB2aXN1YWxseSBzbWFsbGVyLlxuICAvLyBTbyBmb3IgdGhlIGNpcmN1bGFyIHJhZGlvcyB3ZSBidW1wIHRoZSBkZWZhdWx0IHRvIG1ha2UgaXQgbG9vayB2aXN1YWxseSBjb25zaXN0ZW50LlxuICAkZ292dWstcmFkaW9zLWZvY3VzLXdpZHRoOiAkZ292dWstZm9jdXMtd2lkdGggKyAxcHg7XG5cbiAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWluLWhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcblxuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0IHtcbiAgICAkaW5wdXQtb2Zmc2V0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplIC0gJGdvdnVrLXJhZGlvcy1zaXplKSAvIDI7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTggZG9lc27igJl0IHN1cHBvcnQgcHNldWRvLWVsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmVcbiAgICAvLyBlbGVtZW50cyB0aGVyZS5cbiAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogJGlucHV0LW9mZnNldCAqIC0xO1xuICAgICAgbGVmdDogJGlucHV0LW9mZnNldCAqIC0xO1xuXG4gICAgICB3aWR0aDogJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplO1xuICAgICAgaGVpZ2h0OiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZSAvIC0yO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZSAvIC0yO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIC8vIGFkZCBmb2N1cyBvdXRsaW5lIHRvIGlucHV0XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDhweCAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC8vICggKSBSYWRpbyByaW5nXG4gIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAkZ292dWstcmFkaW9zLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstcmFkaW9zLXNpemU7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAg4oCiICBSYWRpbyBidXR0b25cbiAgLy9cbiAgLy8gV2UgY3JlYXRlIHRoZSAnYnV0dG9uJyBlbnRpcmVseSBvdXQgb2YgJ2JvcmRlcicgc28gdGhhdCB0aGV5IHJlbWFpblxuICAvLyAnZmlsbGVkJyBldmVuIHdoZW4gY29sb3VycyBhcmUgb3ZlcnJpZGRlbiBpbiB0aGUgYnJvd3Nlci5cbiAgLmdvdnVrLXJhZGlvc19fbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICBib3JkZXI6IGdvdnVrLXNwYWNpbmcoMikgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6YmVmb3JlIHtcbiAgICBib3JkZXItd2lkdGg6IDRweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstcmFkaW9zLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpjaGVja2VkICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gSW5saW5lIHJhZGlvc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstcmFkaW9zLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXZlbnQgaW5saW5lIG1vZGlmaWVyIGJlaW5nIHVzZWQgd2l0aCBjb25kaXRpb25hbCByZXZlYWxzXG4gICAgJi5nb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsIHtcbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBEaXZpZGVycyAoJ29yJylcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLmdvdnVrLXJhZGlvc19fZGl2aWRlciB7XG4gICAgJGdvdnVrLWRpdmlkZXItc2l6ZTogJGdvdnVrLXJhZGlvcy1zaXplICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB3aWR0aDogJGdvdnVrLWRpdmlkZXItc2l6ZTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBDb25kaXRpb25hbCByZXZlYWxzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFRoZSBuYXJyb3cgYm9yZGVyIGlzIHVzZWQgaW4gdGhlIGNvbmRpdGlvbmFsIHJldmVhbHMgYmVjYXVzZSB0aGUgYm9yZGVyIGhhc1xuICAvLyB0byBiZSBhbiBldmVuIG51bWJlciBpbiBvcmRlciB0byBiZSBjZW50cmVkIHVuZGVyIHRoZSA0MHB4IGNoZWNrYm94IG9yIHJhZGlvLlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLW5hcnJvdztcbiAgLy8gQ2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgcGFkZGluZyBuZWVkZWQgdG8ga2VlcCB0aGUgYm9yZGVyIGNlbnRlcmVkIGFnYWluc3QgdGhlIHJhZGlvcy5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nOiAoJGdvdnVrLXJhZGlvcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAvLyBNb3ZlIHRoZSBib3JkZXIgY2VudGVyZWQgd2l0aCB0aGUgcmFkaW9zXG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBtYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDtcbiAgICBib3JkZXItbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgIC5qcy1lbmFibGVkICYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTbWFsbCBjaGVja2JveGVzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC5nb3Z1ay1yYWRpb3MtLXNtYWxsIHtcblxuICAgICRpbnB1dC1vZmZzZXQ6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkZ292dWstc21hbGwtcmFkaW9zLXNpemUpIC8gMjtcbiAgICAkbGFiZWwtb2Zmc2V0OiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkaW5wdXQtb2Zmc2V0O1xuXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkbGFiZWwtb2Zmc2V0O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLy8gU2hpZnQgdGhlIHRvdWNoIHRhcmdldCBpbnRvIHRoZSBsZWZ0IG1hcmdpbiBzbyB0aGF0IHRoZSB2aXNpYmxlIGVkZ2Ugb2ZcbiAgICAvLyB0aGUgY29udHJvbCBpcyBhbGlnbmVkXG4gICAgLy9cbiAgICAvLyAgIOKUhldoaWNoIGNvbG91ciBpcyB5b3VyIGZhdm91cml0ZT9cbiAgICAvLyAg4pSM4pSG4pSA4pSA4pSA4pSQXG4gICAgLy8gIOKUguKUhigpIOKUgiBQdXJwbGVcbiAgICAvLyAg4pSU4pSG4pay4pSA4pSA4pSYXG4gICAgLy8gIOKWsuKUhuKUlOKUgCBSYWRpbyBwc2V1ZG8gZWxlbWVudCwgYWxpZ25lZCB3aXRoIG1hcmdpblxuICAgIC8vICDilJTilIDilIDilIAgVG91Y2ggdGFyZ2V0IChpbnZpc2libGUgaW5wdXQpLCBzaGlmdGVkIGludG8gdGhlIG1hcmdpblxuICAgIC5nb3Z1ay1yYWRpb3NfX2lucHV0IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgICBsZWZ0OiAkaW5wdXQtb2Zmc2V0ICogLTE7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ292dWstc21hbGwtcmFkaW9zLXNpemUgKiAtMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGp1c3QgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBsYWJlbC5cbiAgICAvL1xuICAgIC8vIFVubGlrZSBsYXJnZXIgcmFkaW9zLCB3ZSBhbHNvIGhhdmUgdG8gZmxvYXQgdGhlIGxhYmVsIGluIG9yZGVyIHRvXG4gICAgLy8gJ3NocmluaycgaXQsIHByZXZlbnRpbmcgdGhlIGhvdmVyIHN0YXRlIGZyb20ga2lja2luZyBpbiBhY3Jvc3MgdGhlIGZ1bGxcbiAgICAvLyB3aWR0aCBvZiB0aGUgcGFyZW50IGVsZW1lbnQuXG4gICAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIHBhZGRpbmc6IDEzcHggZ292dWstc3BhY2luZygzKSAxM3B4IDFweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggZ292dWstc3BhY2luZygzKSAxMHB4IDFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAoICkgUmFkaW8gcmluZ1xuICAgIC8vXG4gICAgLy8gUmVkdWNlIHRoZSBzaXplIG9mIHRoZSBjb250cm9sIFsxXSwgdmVydGljYWxseSBjZW50ZXJpbmcgaXQgd2l0aGluIHRoZVxuICAgIC8vIHRvdWNoIHRhcmdldCBbMl1cbiAgICAuZ292dWstcmFkaW9zX19sYWJlbDpiZWZvcmUge1xuICAgICAgdG9wOiAkaW5wdXQtb2Zmc2V0IC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7IC8vIDJcbiAgICAgIHdpZHRoOiAkZ292dWstc21hbGwtcmFkaW9zLXNpemU7IC8vIDFcbiAgICAgIGhlaWdodDogJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplOyAvLyAxXG4gICAgfVxuXG4gICAgLy8gIOKAoiAgUmFkaW8gYnV0dG9uXG4gICAgLy9cbiAgICAvLyBSZWR1Y2UgdGhlIHNpemUgb2YgdGhlICdidXR0b24nIGFuZCBjZW50ZXIgaXQgd2l0aGluIHRoZSByaW5nXG4gICAgLmdvdnVrLXJhZGlvc19fbGFiZWw6YWZ0ZXIge1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgbGVmdDogN3B4O1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgfVxuXG4gICAgLy8gRml4IHBvc2l0aW9uIG9mIGhpbnQgd2l0aCBzbWFsbCByYWRpb3NcbiAgICAvL1xuICAgIC8vIERvIG5vdCB1c2UgaGludHMgd2l0aCBzbWFsbCByYWRpb3Mg4oCTIGJlY2F1c2UgdGhleSdyZSB3aXRoaW4gdGhlIGlucHV0XG4gICAgLy8gd3JhcHBlciB0aGV5IHRyaWdnZXIgdGhlIGhvdmVyIHN0YXRlLCBidXQgY2xpY2tpbmcgdGhlbSBkb2Vzbid0IGFjdHVhbGx5XG4gICAgLy8gYWN0aXZhdGUgdGhlIGNvbnRyb2wuXG4gICAgLy9cbiAgICAvLyAoSWYgeW91IGRvIHVzZSB0aGVtLCB0aGV5IHdvbid0IGxvb2sgY29tcGxldGVseSBicm9rZW4uLi4gYnV0IHNlcmlvdXNseSxcbiAgICAvLyBkb24ndCB1c2UgdGhlbSlcbiAgICAuZ292dWstcmFkaW9zX19oaW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIEFsaWduIGNvbmRpdGlvbmFsIHJldmVhbHMgd2l0aCBzbWFsbCByYWRpb3NcbiAgICAuZ292dWstcmFkaW9zX19jb25kaXRpb25hbCB7XG4gICAgICAkbWFyZ2luLWxlZnQ6ICgkZ292dWstc21hbGwtcmFkaW9zLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbi1sZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAkbGFiZWwtb2Zmc2V0IC0gKCRtYXJnaW4tbGVmdCArICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGgpO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLmdvdnVrLXJhZGlvc19fZGl2aWRlciB7XG4gICAgICB3aWR0aDogJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplO1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBzdGF0ZSBmb3Igc21hbGwgcmFkaW9zLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIGEgaG92ZXIgc3RhdGUgZm9yIHNtYWxsIHJhZGlvcyBiZWNhdXNlIHRoZSB0b3VjaCB0YXJnZXQgc2l6ZVxuICAgIC8vIGlzIHNvIG11Y2ggbGFyZ2VyIHRoYW4gdGhlaXIgdmlzaWJsZSBzaXplLCBhbmQgc28gd2UgbmVlZCB0byBwcm92aWRlXG4gICAgLy8gZmVlZGJhY2sgdG8gdGhlIHVzZXIgYXMgdG8gd2hpY2ggcmFkaW8gdGhleSB3aWxsIHNlbGVjdCB3aGVuIHRoZWlyXG4gICAgLy8gY3Vyc29yIGlzIG91dHNpZGUgb2YgdGhlIHZpc2libGUgYXJlYS5cbiAgICAuZ292dWstcmFkaW9zX19pdGVtOmhvdmVyIC5nb3Z1ay1yYWRpb3NfX2lucHV0Om5vdCg6ZGlzYWJsZWQpICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1ob3Zlci13aWR0aCAkZ292dWstaG92ZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIEJlY2F1c2Ugd2UndmUgb3ZlcnJpZGRlbiB0aGUgYm9yZGVyLXNoYWRvdyBwcm92aWRlZCBieSB0aGUgZm9jdXMgc3RhdGUsXG4gICAgLy8gd2UgbmVlZCB0byByZWRlZmluZSB0aGF0IHRvby5cbiAgICAvL1xuICAgIC8vIFdlIHVzZSB0d28gYm94IHNoYWRvd3MsIG9uZSB0aGF0IHJlc3RvcmVzIHRoZSBvcmlnaW5hbCBmb2N1cyBzdGF0ZSBbMV1cbiAgICAvLyBhbmQgYW5vdGhlciB0aGF0IHRoZW4gYXBwbGllcyB0aGUgaG92ZXIgc3RhdGUgWzJdLlxuICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW06aG92ZXIgLmdvdnVrLXJhZGlvc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstcmFkaW9zX19sYWJlbDpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyLCAvLyAxXG4gICAgICAgIDAgMCAwICRnb3Z1ay1ob3Zlci13aWR0aCAgICAgICAgJGdvdnVrLWhvdmVyLWNvbG91cjsgLy8gMlxuICAgIH1cblxuICAgIC8vIEZvciBkZXZpY2VzIHRoYXQgZXhwbGljaXRseSBkb24ndCBzdXBwb3J0IGhvdmVyLCBkb24ndCBwcm92aWRlIGEgaG92ZXJcbiAgICAvLyBzdGF0ZSAoZS5nLiBvbiB0b3VjaCBkZXZpY2VzIGxpa2UgaU9TKS5cbiAgICAvL1xuICAgIC8vIFdlIGNhbid0IHVzZSBgQG1lZGlhIChob3ZlcjogaG92ZXIpYCBiZWNhdXNlIHdlIHdvdWxkbid0IGdldCB0aGUgaG92ZXJcbiAgICAvLyBzdGF0ZSBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYEBtZWRpYSAoaG92ZXIpYCAobGlrZSBJbnRlcm5ldFxuICAgIC8vIEV4cGxvcmVyKSDigJMgc28gd2UgaGF2ZSB0byAndW5kbycgdGhlIGhvdmVyIHN0YXRlIGluc3RlYWQuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSksIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW06aG92ZXIgLmdvdnVrLXJhZGlvc19faW5wdXQ6bm90KDpkaXNhYmxlZCkgKyAuZ292dWstcmFkaW9zX19sYWJlbDpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstcmFkaW9zX19pdGVtOmhvdmVyIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zZWxlY3RcIikge1xuICAuZ292dWstc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgIGhlaWdodDogZ292dWstcHgtdG8tcmVtKDQwcHgpO1xuICAgIH1cbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpOyAvLyB3YXMgNXB4IDRweCA0cHggLSBzaXplIG9mIGl0IHNob3VsZCBiZSBhZGp1c3RlZCB0byBtYXRjaCBvdGhlciBmb3JtIGVsZW1lbnRzXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICAvLyBFbnN1cmUgb3V0bGluZSBhcHBlYXJzIG91dHNpZGUgb2YgdGhlIGVsZW1lbnRcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgLy8gRG91YmxlIHRoZSBib3JkZXIgYnkgYWRkaW5nIGl0cyB3aWR0aCBhZ2Fpbi4gVXNlIGBib3gtc2hhZG93YCB0byBkb1xuICAgICAgLy8gdGhpcyBpbnN0ZWFkIG9mIGNoYW5naW5nIGBib3JkZXItd2lkdGhgICh3aGljaCBjaGFuZ2VzIGVsZW1lbnQgc2l6ZSkgYW5kXG4gICAgICAvLyBzaW5jZSBgb3V0bGluZWAgaXMgYWxyZWFkeSB1c2VkIGZvciB0aGUgeWVsbG93IGZvY3VzIHN0YXRlLlxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgYGJveC1zaGFkb3dgIHNvIGRvdWJsZSB0aGUgYm9yZGVyIHdpdGhcbiAgICAgICAgLy8gYGJvcmRlci13aWR0aGAuXG4gICAgICAgIGJvcmRlci13aWR0aDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgKiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZWxlY3Qgb3B0aW9uOmFjdGl2ZSxcbiAgLmdvdnVrLXNlbGVjdCBvcHRpb246Y2hlY2tlZCxcbiAgLmdvdnVrLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWxlY3QtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NraXAtbGlua1wiKSB7XG4gIC5nb3Z1ay1za2lwLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDE2KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZygzKTtcblxuICAgIC8vIFJlc3BlY3QgJ2Rpc3BsYXkgY3V0b3V0JyBzYWZlIGFyZWEgKGF2b2lkcyBub3RjaGVzIGFuZCByb3VuZGVkIGNvcm5lcnMpXG4gICAgQHN1cHBvcnRzIChwYWRkaW5nOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgICRwYWRkaW5nLXNhZmUtYXJlYS1yaWdodDogY2FsYygje2dvdnVrLXNwYWNpbmcoMyl9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICAgJHBhZGRpbmctc2FmZS1hcmVhLWxlZnQ6IGNhbGMoI3tnb3Z1ay1zcGFjaW5nKDMpfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgICAvLyBVc2UgbWF4KCkgdG8gcGljayBsYXJnZXN0IHBhZGRpbmcsIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVucXVvdGUoXCJtYXgoI3tnb3Z1ay1zcGFjaW5nKDMpfSwgI3skcGFkZGluZy1zYWZlLWFyZWEtcmlnaHR9KVwiKTtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5xdW90ZShcIm1heCgje2dvdnVrLXNwYWNpbmcoMyl9LCAjeyRwYWRkaW5nLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcblxuICAgICAgLy8gVW5kbyB1bndhbnRlZCBjaGFuZ2VzIHdoZW4gZ2xvYmFsIHN0eWxlcyBhcmUgZW5hYmxlZFxuICAgICAgQGlmICgkZ292dWstZ2xvYmFsLXN0eWxlcykge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWJsZVwiKSB7XG4gIC5nb3Z1ay10YWJsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIC8vIEdPVi5VSyBFbGVtZW50cyBzZXRzIHRoZSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0IGZvciBhbGwgaGVhZGVycyBhbmQgY2VsbHNcbiAgICAvLyBpbiB0YWJsZXMuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a19lbGVtZW50cykge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBmYWxzZSwgJHRhYnVsYXI6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXItLW51bWVyaWMsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbC0tbnVtZXJpYyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlcjpsYXN0LWNoaWxkLFxuICAuZ292dWstdGFibGVfX2NlbGw6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgY2FwdGlvbnMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC93YXJuaW5nLXRleHRcIikge1xuICAuZ292dWstd2FybmluZy10ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSAwO1xuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9fYXNzaXN0aXZlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW47XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X19pY29uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBmYWxzZSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBtaW4td2lkdGg6IDM1cHg7XG4gICAgbWluLWhlaWdodDogMzVweDtcbiAgICBtYXJnaW4tdG9wOiAtN3B4O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICB9XG5cbiAgICAvLyBXaGVuIGEgdXNlciBjdXN0b21pc2VzIHRoZWlyIGNvbG91cnMgdGhlIGJhY2tncm91bmQgY29sb3VyIHdpbGwgb2Z0ZW4gYmUgcmVtb3ZlZC5cbiAgICAvLyBBZGRpbmcgYSBib3JkZXIgdG8gdGhlIGNvbXBvbmVudCBrZWVwcyBpdCdzIHNoYXBlIGFzIGEgY2lyY2xlLlxuICAgIGJvcmRlcjogM3B4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC8vIFByZXZlbnQgdGhlIGV4Y2xhbWF0aW9uIG1hcmsgZnJvbSBiZWluZyBpbmNsdWRlZCB3aGVuIHRoZSB3YXJuaW5nIHRleHRcbiAgICAvLyBpcyBjb3BpZWQsIGZvciBleGFtcGxlLlxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAvLyBJbXByb3ZlIHJlbmRlcmluZyBpbiBXaW5kb3dzIEhpZ2ggQ29udHJhc3QgTW9kZSAoRWRnZSksIHdoZXJlIGFcbiAgICAvLyByZWFkYWJpbGl0eSBiYWNrcGxhdGUgYmVoaW5kIHRoZSBleGNsYW1hdGlvbiBtYXJrIG9ic2N1cmVzIHRoZSBjaXJjbGVcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBub25lO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB3aW5kb3dUZXh0O1xuICAgICAgY29sb3I6IHdpbmRvd1RleHQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X190ZXh0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJ2aXN1YWxseS1oaWRkZW5cIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay91dGlsaXRpZXMvY2xlYXJmaXhcIikge1xuICAuZ292dWstY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvdXRpbGl0aWVzL3Zpc3VhbGx5LWhpZGRlblwiKSB7XG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiZGlzcGxheVwiO1xuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwid2lkdGhcIjtcbiIsIkBpZiBub3QgbWl4aW4tZXhpc3RzKFwiZ292dWstZXhwb3J0c1wiKSB7XG4gIEB3YXJuIFwiSW1wb3J0aW5nIGl0ZW1zIGZyb20gdGhlIG92ZXJyaWRlcyBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9kaXNwbGF5XCIpIHtcbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLWRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAuZ292dWstXFwhLWRpc3BsYXktbm9uZS1wcmludCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBvdmVycmlkZXMgbGF5ZXIgd2l0aG91dCBmaXJzdCBpbXBvcnRpbmcgYGJhc2VgIGlzIGRlcHJlY2F0ZWQsIGFuZCB3aWxsIG5vIGxvbmdlciB3b3JrIGFzIG9mIEdPVi5VSyBGcm9udGVuZCB2NC4wLlwiO1xufVxuXG5AaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG4vLy8vXG4vLy8gQGdyb3VwIG92ZXJyaWRlc1xuLy8vL1xuXG4vLy8gRGlyZWN0aW9ucyBmb3Igc3BhY2luZ1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfc3BhY2luZy1kaXJlY3Rpb25zOiAoXG4gIFwidG9wXCIsXG4gIFwicmlnaHRcIixcbiAgXCJib3R0b21cIixcbiAgXCJsZWZ0XCJcbikgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXNcbi8vL1xuLy8vIEdlbmVyYXRlIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IChlLmcuIG1hcmdpbilcbi8vLyBmb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1cXCEtbWFyZ2luLTAge1xuLy8vICAgICAgbWFyZ2luOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gIC5nb3Z1ay1cXCEtbWFyZ2luLXRvcC0xIHtcbi8vLyAgICAgbWFyZ2luLXRvcDogW3doYXRldmVyIHNwYWNpbmcgcG9pbnQgMSBpcy4uLl1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKCRwcm9wZXJ0eSkge1xuICAvLyBGb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZSAoZGVmaW5lZCBpbiBzZXR0aW5ncyksIGNyZWF0ZSBhblxuICAvLyBvdmVycmlkZSB0aGF0IGFmZmVjdHMgYWxsIGRpcmVjdGlvbnMuLi5cbiAgQGVhY2ggJHNjYWxlLXBvaW50LCAkc2NhbGUtbWFwIGluICRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUge1xuXG4gICAgLmdvdnVrLVxcIS0jeyRwcm9wZXJ0eX0tI3skc2NhbGUtcG9pbnR9IHtcblxuICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgXCJhbGxcIiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0aGVuIGFuIG92ZXJyaWRlIGZvciBlYWNoIGluZGl2aWR1YWwgZGlyZWN0aW9uXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG5cbiAgICAgIC5nb3Z1ay1cXCEtI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn0tI3skc2NhbGUtcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbiwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvc3BhY2luZ1wiKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKFwicGFkZGluZ1wiKTtcbn1cbiIsIkBpZiBub3QgbWl4aW4tZXhpc3RzKFwiZ292dWstZXhwb3J0c1wiKSB7XG4gIEB3YXJuIFwiSW1wb3J0aW5nIGl0ZW1zIGZyb20gdGhlIG92ZXJyaWRlcyBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHRcblxuICAvLyBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcbiAgLy8gdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ292dWstXFwhLWZvbnQtc2l6ZS04MFxuICBAZWFjaCAkc2l6ZSBpbiBtYXAta2V5cygkZ292dWstdHlwb2dyYXBoeS1zY2FsZSkge1xuICAgIC5nb3Z1ay1cXCEtZm9udC1zaXplLSN7JHNpemV9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2VpZ2h0c1xuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgb3ZlcnJpZGVzIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3dpZHRoXCIpIHtcbiAgLmdvdnVrLVxcIS13aWR0aC1mdWxsIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10aHJlZS1xdWFydGVycyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLXR3by10aGlyZHMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNjYuNjYlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtaGFsZiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS10aGlyZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAzMy4zMyUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS1xdWFydGVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9ibG9iL3YyMi4wLjAvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvY29tcG9uZW50cy9fc3RlcC1ieS1zdGVwLW5hdi1oZWFkZXIuc2Nzc1xuLy8gTm90ZSAtIHRoaXMgY29kZSBmb3IgcHJvdG90eXBlIHB1cnBvc2VzIG9ubHkuIEl0IGlzIG5vdCBwcm9kdWN0aW9uIGNvZGUuXG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyIHtcbiAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktNFwiKTtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cbn1cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgU2VsZWN0b3JGb3JtYXRcblxuLmFwcC1zdGVwLW5hdi1oZWFkZXJfX3BhcnQtb2Yge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2LCAkd2VpZ2h0OiBib2xkKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IC4yZW07XG59XG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyX190aXRsZSB7XG4gIEBleHRlbmQgJWdvdnVrLWxpbms7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMjQsICR3ZWlnaHQ6IGJvbGQpO1xufVxuXG4vLyBzY3NzLWxpbnQ6ZW5hYmxlIFNlbGVjdG9yRm9ybWF0XG4iLCIvLyBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2Jsb2IvdjIyLjAuMC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9jb21wb25lbnRzL19zdGVwLWJ5LXN0ZXAtbmF2LnNjc3Ncbi8vIE5vdGUgLSB0aGlzIGNvZGUgZm9yIHByb3RvdHlwZSBwdXJwb3NlcyBvbmx5LiBJdCBpcyBub3QgcHJvZHVjdGlvbiBjb2RlLlxuXG4kc3Ryb2tlLXdpZHRoOiAycHg7XG4kc3Ryb2tlLXdpZHRoLWxhcmdlOiAzcHg7XG4kbnVtYmVyLWNpcmNsZS1zaXplOiAyNnB4O1xuJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTogMzVweDtcbiR0b3AtYm9yZGVyOiBzb2xpZCAycHggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIik7XG5cbkBtaXhpbiBzdGVwLW5hdi12ZXJ0aWNhbC1saW5lICgkbGluZS1zdHlsZTogc29saWQpIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItbGVmdDogJGxpbmUtc3R5bGUgJHN0cm9rZS13aWR0aCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcbiAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG59XG5cbkBtaXhpbiBzdGVwLW5hdi1saW5lLXBvc2l0aW9uIHtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6ICgkbnVtYmVyLWNpcmNsZS1zaXplIC8gMikgLSAoJHN0cm9rZS13aWR0aCAvIDIpO1xufVxuXG5AbWl4aW4gc3RlcC1uYXYtbGluZS1wb3NpdGlvbi1sYXJnZSB7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAoJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZSAvIDIpIC0gKCRzdHJva2Utd2lkdGgtbGFyZ2UgLyAyKTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Ryb2tlLXdpZHRoLWxhcmdlO1xufVxuXG4vLyBjdXN0b20gbWl4aW4gYXMgZ292dWstZm9udCBkb2VzIHVuZGVzaXJhYmxlIHRoaW5ncyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHNcbi8vIHdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgYm90aCBsYXJnZSBhbmQgc21hbGwgc3RlcCBuYXZzIGhhdmUgdGhlIHNhbWUgc2l6ZSBmb250IG9uIG1vYmlsZVxuLy8gdGhpcyB3aWxsIHN0b3AgdGV4dCByZXNpemluZyBpZiBjb21wYXRpYmlsaXR5IG1vZGUgaXMgdHVybmVkIG9mZlxuQG1peGluIHN0ZXAtbmF2LWZvbnQoJHNpemUsICR0YWJsZXQtc2l6ZTogJHNpemUsICR3ZWlnaHQ6IG5vcm1hbCwgJGxpbmUtaGVpZ2h0OiAxLjMsICR0YWJsZXQtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCkge1xuICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigpO1xuICBmb250LXNpemU6ICRzaXplICsgcHg7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBmb250LXNpemU6ICR0YWJsZXQtc2l6ZSArIHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkdGFibGV0LWxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuXG4gICYuYXBwLXN0ZXAtbmF2LS1sYXJnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg5KTtcbiAgICB9XG4gIH1cblxuICAuanMtZW5hYmxlZCAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jb250cm9scyB7XG4gIHBhZGRpbmc6IDNweCAzcHggMCAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fYnV0dG9uIHtcbiAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gIH1cbn1cblxuLy8gcmVtb3ZlcyBleHRyYSBkb3R0ZWQgb3V0bGluZSBmcm9tIGJ1dHRvbnMgaW4gRmlyZWZveFxuLy8gb24gZm9jdXMgKHN0YW5kYXJkIHllbGxvdyBvdXRsaW5lIHVuYWZmZWN0ZWQpXG4uYXBwLXN0ZXAtbmF2X19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2J1dHRvbi0tdGl0bGUge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR0YWJsZXQtc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19idXR0b24tLWNvbnRyb2xzIHtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNCwgJGxpbmUtaGVpZ2h0OiAxKTtcbiAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgLy8gdGhpcyBhbmQgcmVsYXRpdmUgcG9zaXRpb24gc3RvcHMgZm9jdXMgb3V0bGluZSB1bmRlcmxhcCB3aXRoIGJvcmRlciBvZiBhY2NvcmRpb25cbiAgcGFkZGluZzogLjVlbSAwO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTQsICR0YWJsZXQtc2l6ZTogMTYsICRsaW5lLWhlaWdodDogMSk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcHMge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg2KSArIGdvdnVrLXNwYWNpbmcoMyk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gbGluZSBkb3duIHRoZSBzaWRlIG9mIGEgc3RlcFxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi12ZXJ0aWNhbC1saW5lO1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb247XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDkpO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3RlcC1uYXYtbGluZS1wb3NpdGlvbi1sYXJnZTtcbiAgICAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwOmxhc3QtY2hpbGQge1xuICAvLyBsaXR0bGUgZGFzaCBhdCB0aGUgYm90dG9tIG9mIHRoZSBsaW5lXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA2O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkbnVtYmVyLWNpcmNsZS1zaXplIC8gNDtcbiAgICB3aWR0aDogJG51bWJlci1jaXJjbGUtc2l6ZSAvIDI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZygzKX0pOyAvLyBmYWxsYmFjayBmb3IgaXBob25lIDRcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZygzKX0pO1xuICAgIC8vIHNhc3MtbGludDplbmFibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19oZWxwOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlIC8gNDtcbiAgICAgICAgd2lkdGg6ICRudW1iZXItY2lyY2xlLXNpemUtbGFyZ2UgLyAyO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzdHJva2Utd2lkdGgtbGFyZ2U7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZyg2KX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmUge1xuICAmOmxhc3QtY2hpbGQ6YmVmb3JlLFxuICAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlcixcbiAgJjphZnRlcixcbiAgLmFwcC1zdGVwLW5hdl9faGVscDphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6ICRudW1iZXItY2lyY2xlLXNpemU7XG4gIGhlaWdodDogJG51bWJlci1jaXJjbGUtc2l6ZTtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICB3aWR0aDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTtcbiAgICAgIGhlaWdodDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDIzcHgpO1xuICBib3JkZXI6IHNvbGlkICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyM3B4LCAkdGFibGV0LWxpbmUtaGVpZ2h0OiAzMHB4KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGJvcmRlci13aWR0aDogJHN0cm9rZS13aWR0aC1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1sb2dpYyB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMjhweCk7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyOHB4LCAkdGFibGV0LWxpbmUtaGVpZ2h0OiAzNHB4KTtcbiAgfVxufVxuXG4vLyBtYWtlcyBzdXJlIGxvZ2ljIHRleHQgZXhwYW5kcyB0byB0aGUgbGVmdCBpZiB0ZXh0IHNpemUgaXMgem9vbWVkLCBwcmV2ZW50aW5nIG92ZXJsYXBcbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1pbm5lciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtYmFja2dyb3VuZCB7XG4gICRzaGFkb3ctb2Zmc2V0OiAuMWVtO1xuICAkc2hhZG93LWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgLy8gdG8gbWFrZSBudW1iZXJzIHJlYWRhYmxlIGZvciB1c2VycyB6b29taW5nIHRleHQgb25seSBpbiBicm93c2VycyBzdWNoIGFzIEZpcmVmb3hcbiAgdGV4dC1zaGFkb3c6IDAgLSN7JHNoYWRvdy1vZmZzZXR9IDAgJHNoYWRvdy1jb2xvdXIsICRzaGFkb3ctb2Zmc2V0IDAgMCAkc2hhZG93LWNvbG91ciwgMCAkc2hhZG93LW9mZnNldCAwICRzaGFkb3ctY29sb3VyLCAtI3skc2hhZG93LW9mZnNldH0gMCAwICRzaGFkb3ctY29sb3VyO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtc3RlcC1sYWJlbCxcbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1zdGVwLWNvbG9uIHtcbiAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19oZWFkZXIge1xuICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpIDA7XG4gIGJvcmRlci10b3A6ICR0b3AtYm9yZGVyO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWFjdGl2ZSAmIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19idXR0b24ge1xuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuXG4gICAgICAuYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuYXBwLXN0ZXAtbmF2X19idXR0b246bm90KDpmb2N1cyksXG4gICAgLmFwcC1zdGVwLW5hdl9fY2lyY2xlIHtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgfVxuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg2KSAwO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X190aXRsZSB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIG1hcmdpbjogMDtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkdGFibGV0LXNpemU6IDI0LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkbGluZS1oZWlnaHQ6IDEuMik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkdGFibGV0LXNpemU6IDE2LCAkbGluZS1oZWlnaHQ6IDEuMik7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fcGFuZWwge1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSk7XG4gIH1cblxuICAuanMtZW5hYmxlZCAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBjb250ZW50cyBvZiB0aGUgc3RlcHMsIHN1Y2ggYXMgcGFyYWdyYXBocyBhbmQgbGlua3NcblxuLmFwcC1zdGVwLW5hdl9fcGFyYWdyYXBoIHtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuXG4gICsgLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcblxuICAgIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtZ292dWstc3BhY2luZygzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LS1jaG9pY2Uge1xuICAkbGlua3MtbWFyZ2luOiAyMHB4O1xuXG4gIG1hcmdpbi1sZWZ0OiAkbGlua3MtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBkaXNjO1xuXG4gIC5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlOmJlZm9yZSB7XG4gICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDYpICsgZ292dWstc3BhY2luZygzKSkgLSAkbGlua3MtbWFyZ2luO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDkpKSAtICRsaW5rcy1tYXJnaW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpbmsge1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saW5rLWFjdGl2ZS1jb250ZXh0IHtcbiAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHRvcDogLjZlbTsgLy8gcG9zaXRpb24gdGhlIGRvdCB0byBhbGlnbiB3aXRoIHRoZSBmaXJzdCByb3cgb2YgdGV4dCBpbiB0aGUgbGlua1xuICAgIGxlZnQ6IC0oZ292dWstc3BhY2luZyg2KSArIGdvdnVrLXNwYWNpbmcoMykpO1xuICAgIG1hcmdpbi10b3A6IC0oJHN0cm9rZS13aWR0aCAvIDIpO1xuICAgIG1hcmdpbi1sZWZ0OiAoJG51bWJlci1jaXJjbGUtc2l6ZSAvIDIpO1xuICAgIHdpZHRoOiAkbnVtYmVyLWNpcmNsZS1zaXplIC8gMjtcbiAgICBoZWlnaHQ6ICRzdHJva2Utd2lkdGg7XG4gICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0oZ292dWstc3BhY2luZyg5KSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZSAvIDIpO1xuICAgICAgICBoZWlnaHQ6ICRzdHJva2Utd2lkdGgtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFwcC1zdGVwLW5hdl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NvbnRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJkYXJrLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTFcIik7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFxcMjAxM1xcMDBhMFwiOyAvLyBkYXNoIGZvbGxvd2VkIGJ5ICZuYnNwO1xuICB9XG59XG4iLCIvLyBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2Jsb2IvdjIyLjAuMC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9jb21wb25lbnRzL19zdGVwLWJ5LXN0ZXAtcmVsYXRlZC5zY3NzXG4vLyBOb3RlIC0gdGhpcyBjb2RlIGZvciBwcm90b3R5cGUgcHVycG9zZXMgb25seS4gSXQgaXMgbm90IHByb2R1Y3Rpb24gY29kZS5cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkIHtcbiAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2hlYWRpbmcge1xuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5LCAkd2VpZ2h0OiBib2xkKTtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rcyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZC0tc2luZ3VsYXIge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpICsgMztcblxuICAuYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICB9XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX3ByZXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpIC8gNDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX3ByZXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fbGluay1pdGVtIHtcbiAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmsge1xuICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xufVxuIiwiLy8gVGFzayBsaXN0IHBhdHRlcm5cblxuLmFwcC10YXNrLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1pbi13aWR0aDogNTUwcHg7XG4gIH1cbn1cblxuLmFwcC10YXNrLWxpc3RfX3NlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZToyNCwgJHdlaWdodDogYm9sZCk7XG59XG5cbi5hcHAtdGFzay1saXN0X19zZWN0aW9uLW51bWJlciB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1pbi13aWR0aDogZ292dWstc3BhY2luZyg2KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtcyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOSwgXCJib3R0b21cIik7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg2KTtcbiAgfVxufVxuXG4uYXBwLXRhc2stbGlzdF9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xufVxuXG4uYXBwLXRhc2stbGlzdF9faXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbn1cblxuLmFwcC10YXNrLWxpc3RfX3Rhc2stbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogNDUwcHgpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG4vLyBUaGUgYGFwcC10YXNrLWxpc3RfX3Rhc2stY29tcGxldGVkYCBjbGFzcyB3YXMgcHJldmlvdXNseSB1c2VkIG9uIHRoZSB0YXNrXG4vLyBsaXN0IGZvciB0aGUgY29tcGxldGVkIHRhZyAoY2hhbmdlZCBpbiA4NmM5MGVjKSDigJMgaXQncyBzdGlsbCBpbmNsdWRlZCBoZXJlIHRvXG4vLyBhdm9pZCBicmVha2luZyB0YXNrIGxpc3RzIGluIGV4aXN0aW5nIHByb3RvdHlwZXMuXG4uYXBwLXRhc2stbGlzdF9fdGFnLFxuLmFwcC10YXNrLWxpc3RfX3Rhc2stY29tcGxldGVkIHtcbiAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogNDUwcHgpIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIvLyBUaGlzIGlzIGEgR09WLlVLIFB1Ymxpc2hpbmcgc3BlY2lmaWMgY29tcG9uZW50IHRoYXRcbi8vIGNhbiBiZSBzZWVuIGF0IGh0dHA6Ly9nb3Z1ay1zdGF0aWMuaGVyb2t1YXBwLmNvbS9jb21wb25lbnQtZ3VpZGUvcmVsYXRlZF9pdGVtc1xuXG4uYXBwLXJlbGF0ZWQtaXRlbXMge1xuICBib3JkZXItdG9wOiAycHggc29saWQgZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG59XG5cbi5hcHAtcmVsYXRlZC1pdGVtcyAuZ292dWstbGlzdCA+IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQTJDY0UsQUFOQSxXQU1XLEVLSlgsQ0FBQyxFK0NlSCwyQkFBMkIsRUVrQzNCLDJCQUEyQixDdERuRGI7RUhPWixXQUFXLEV4QkxxQixlQUFlLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXdCTWxFLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFTGFsQyxlQUFlLEVBQUUsU0FBUztFQUl0Qix5QkFBeUIsRWhCRUUsa0JBQTZCO0VnQkV4RCxxQkFBcUIsRWhCT0csS0FBSTtDd0JqQy9COztBVktLLG9MQUFvTDtBQUFDLGtEQUFrRDtBQUN2TyxVQUFVO0VBQ1IsV0FBVyxFQUFFLGVBQWU7RUFDNUIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsR0FBRyxFVkFELG9EQUFrQyxDVUNVLGVBQWUsRVZEM0QsbURBQWtDLENVRVMsY0FBYztFQUMzRCxZQUFZLEVBQUUsUUFBUTs7O0FBR3hCLFVBQVU7RUFDUixXQUFXLEVBQUUsZUFBZTtFQUM1QixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixHQUFHLEVWVkQsbURB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 */
