.govuk-link, a, .app-step-nav-header__title, .app-step-nav-related__link {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*! Copyright (c) 2011 by Margaret Calvert & Henrik Kubel. All rights reserved. The font has been customised for exclusive use on gov.uk. This cut is not commercially available. */
/* stylelint-disable-line scss/comment-no-loud  */
@font-face {
  font-family: "GDS Transport";
  font-style: normal;
  font-weight: normal;
  src: url("/assets/fonts/light-94a07e06a1-v2.woff2") format("woff2"), url("/assets/fonts/light-f591b13f7d-v2.woff") format("woff");
  font-display: fallback;
}

@font-face {
  font-family: "GDS Transport";
  font-style: normal;
  font-weight: bold;
  src: url("/assets/fonts/bold-b542beb274-v2.woff2") format("woff2"), url("/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: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, .govuk-link--muted:hover, .govuk-link--muted:active {
  color: #505a5f;
}

.govuk-link--muted:focus {
  color: #0b0c0c;
}

.govuk-link--text-colour:link, .govuk-link--text-colour:visited, .govuk-link--text-colour:hover, .govuk-link--text-colour:active, .govuk-link--text-colour:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-link--text-colour:link, .govuk-link--text-colour:visited, .govuk-link--text-colour:hover, .govuk-link--text-colour:active, .govuk-link--text-colour:focus {
    color: #000000;
  }
}

.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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: #ffffff;
  -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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@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: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;
  color: #1d70b8;
  cursor: pointer;
}

@media (hover: none) {
  .js-enabled .govuk-accordion__section-header:hover {
    border-top-color: #1d70b8;
    box-shadow: inset 0 3px 0 0 #1d70b8;
  }
}

.js-enabled .govuk-accordion__section-button {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: inherit;
  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) {
  text-decoration: underline;
}

@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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  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: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, .govuk-back-link:hover, .govuk-back-link:active, .govuk-back-link:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-back-link:link, .govuk-back-link:visited, .govuk-back-link:hover, .govuk-back-link:active, .govuk-back-link:focus {
    color: #000000;
  }
}

.govuk-back-link[href] {
  text-decoration: underline;
}

.govuk-back-link[href]:focus {
  text-decoration: none;
}

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

.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:after {
  content: "";
  position: absolute;
  top: -14px;
  right: 0;
  bottom: -14px;
  left: 0;
}

.govuk-breadcrumbs {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

.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, .govuk-breadcrumbs__link:hover, .govuk-breadcrumbs__link:active, .govuk-breadcrumbs__link:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-breadcrumbs__link:link, .govuk-breadcrumbs__link:visited, .govuk-breadcrumbs__link:hover, .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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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;
  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;
    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;
}

.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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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;
}

.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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

.govuk-error-summary__list a: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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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-top: 5px;
  padding-bottom: 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:focus {
  margin-right: -5px;
  margin-left: -5px;
  padding-right: 5px;
  padding-left: 5px;
  outline: 3px solid #ffdd00;
  box-shadow: inset 0 0 0 4px #0b0c0c;
}

.govuk-file-upload:focus-within {
  margin-right: -5px;
  margin-left: -5px;
  padding-right: 5px;
  padding-left: 5px;
  outline: 3px solid #ffdd00;
  box-shadow: inset 0 0 0 4px #0b0c0c;
}

.govuk-footer {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: #ffffff;
}

@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:link, .govuk-footer__link:visited, .govuk-footer__link:hover, .govuk-footer__link:active {
  color: #0b0c0c;
}

.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__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("/assets/images/govuk-crest.png");
  background-repeat: no-repeat;
  background-position: 50% 0%;
  background-size: 125px 102px;
  text-align: center;
  text-decoration: none;
  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("/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;
}

@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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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;
}

.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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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;
  padding-right: 10px;
}

@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 {
  text-decoration: none;
}

.govuk-header__link:link, .govuk-header__link:visited {
  color: #ffffff;
}

.govuk-header__link:hover {
  text-decoration: underline;
}

.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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  display: inline-block;
  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: -1px;
  border-bottom: 1px 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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;
}

@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 {
  text-decoration: underline;
}

.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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: 19px;
    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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

.govuk-notification-banner__link: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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: baseline;
}

.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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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 {
  display: inline-block;
  margin-bottom: 10px;
}

.govuk-tabs__tab:link {
  color: #1d70b8;
}

.govuk-tabs__tab:visited {
  color: #4c2c92;
}

.govuk-tabs__tab:hover {
  color: #003078;
}

.govuk-tabs__tab:active {
  color: #0b0c0c;
}

.govuk-tabs__tab:focus {
  color: #0b0c0c;
}

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

.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, .js-enabled .govuk-tabs__tab:hover, .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:link, .js-enabled .govuk-tabs__tab:visited, .js-enabled .govuk-tabs__tab:hover, .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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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;
    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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  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, .govuk-skip-link:hover, .govuk-skip-link:active, .govuk-skip-link:focus {
  color: #0b0c0c;
}

@media print {
  .govuk-skip-link:link, .govuk-skip-link:visited, .govuk-skip-link:hover, .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;
  text-decoration: underline;
}

.govuk-table {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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;
}

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

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

.govuk-warning-text__text {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  position: relative;
  z-index: 1;
  padding: .5em 0;
  text-decoration: underline;
}

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

.app-step-nav--large .app-step-nav__button--controls {
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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 {
  text-decoration: underline;
}

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

.app-step-nav__title {
  color: #0b0c0c;
  font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

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

.app-step-nav__link: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, .app-step-nav__list-item--active .app-step-nav__link:hover, .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:link, .app-step-nav__list-item--active .app-step-nav__link:visited, .app-step-nav__list-item--active .app-step-nav__link:hover, .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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5icmFuZGVkLmNzcyIsInNvdXJjZXMiOlsidW5icmFuZGVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19hc3NldHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fY29tcGF0aWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19nbG9iYWwtc3R5bGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX2llOC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19tZWRpYS1xdWVyaWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX2NvbG91cnMtcGFsZXR0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19jb2xvdXJzLW9yZ2FuaXNhdGlvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fY29sb3Vycy1hcHBsaWVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fY29sb3VyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fbWVhc3VyZW1lbnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX3R5cG9ncmFwaHktZm9udC1mYW1pbGllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL190eXBvZ3JhcGh5LWZvbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fdHlwb2dyYXBoeS1yZXNwb25zaXZlLnNjc3MiLCJhcHBsaWNhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbGliL2V4dGVuc2lvbnMvX2V4dGVuc2lvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3Rvb2xzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay90b29scy9fY29tcGF0aWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3Rvb2xzL19leHBvcnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX2ZvbnQtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX2llOC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3Rvb2xzL19pZmYuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay90b29scy9faW1hZ2UtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX3B4LXRvLWVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fZGV2aWNlLXBpeGVscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2ZvY3VzZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9oZWxwZXJzL19mb250LWZhY2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3ZlbmRvci9fc2Fzcy1tcS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX3NoYXBlLWFycm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb3JlL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb3JlL19saW5rcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvcmUvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29yZS9fdGVtcGxhdGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb3JlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29yZS9fc2VjdGlvbi1icmVhay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvcmUvX2dsb2JhbC1zdHlsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vYmplY3RzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vYmplY3RzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vYmplY3RzL19mb3JtLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvb2JqZWN0cy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL29iamVjdHMvX21haW4td3JhcHBlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL29iamVjdHMvX3dpZHRoLWNvbnRhaW5lci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvYWNjb3JkaW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvYmFjay1saW5rL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9idXR0b24vX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9jaGVja2JveGVzL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvZXJyb3ItbWVzc2FnZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2ZpZWxkc2V0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvaGludC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2xhYmVsL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvY2hhcmFjdGVyLWNvdW50L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvdGV4dGFyZWEvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9jb29raWUtYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvc3VtbWFyeS1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2lucHV0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvZGV0YWlscy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2Vycm9yLXN1bW1hcnkvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9maWxlLXVwbG9hZC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2Zvb3Rlci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2hlYWRlci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2luc2V0LXRleHQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9ub3RpZmljYXRpb24tYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvcGFuZWwvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9waGFzZS1iYW5uZXIvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy90YWcvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy90YWJzL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvcmFkaW9zL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvc2VsZWN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvc2tpcC1saW5rL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvdGFibGUvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy93YXJuaW5nLXRleHQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdXRpbGl0aWVzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay91dGlsaXRpZXMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdXRpbGl0aWVzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vdmVycmlkZXMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fd2lkdGguc2NzcyIsInBhdHRlcm5zL19zdGVwLWJ5LXN0ZXAtaGVhZGVyLnNjc3MiLCJwYXR0ZXJucy9fc3RlcC1ieS1zdGVwLW5hdi5zY3NzIiwicGF0dGVybnMvX3N0ZXAtYnktc3RlcC1yZWxhdGVkLnNjc3MiLCJwYXR0ZXJucy9fdGFzay1saXN0LnNjc3MiLCJwYXR0ZXJucy9fcmVsYXRlZC1pdGVtcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZSB1bmJyYW5kZWQgc3R5bGVzaGVldCBpcyB1c2VkIGlmIHlvdSBuZWVkIHRvIGNyZWF0ZSBwYWdlcyBpbiB5b3VyXG4vLyBwcm90b3R5cGUgd2l0aG91dCB0aGUgR09WLlVLIGJyYW5kaW5nLlxuLy9cbi8vIFNlZSBsb2NhbGhvc3Q6MzAwMC9kb2NzL3RlbXBsYXRlcy9ibGFuay11bmJyYW5kZWRcblxuLy8gSW1wb3J0IHNldHRpbmdzIGZpcnN0IHNvIHdlIGNhbiBvdmVycmlkZSB0aGVtIGJlZm9yZSBpbXBvcnRpbmcgYWxsIG9mIEdPVi5VSyBGcm9udGVuZFxuLy8gSWYgeW91IG5lZWQgdG8gZW5hYmxlIGNvbXBhdGliaWxpdHkgbW9kZSBvciB0aGUgbGVnYWN5IHBhbGV0dGUsIGRvIHRoYXQgKmJlZm9yZSogdGhpcyBpbXBvcnQuXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL2FsbFwiO1xuXG4vLyBPdmVycmlkZSB0aGUgZGVmYXVsdCBHT1YuVUsgRnJvbnRlbmQgZm9udCBzdGFja1xuJGdvdnVrLWZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG5cbi8vIE92ZXJyaWRlIHRoZSBjYW52YXMgYmFja2dyb3VuZCBjb2xvdXIsIHdoaWNoIGlzIG5vcm1hbGx5IGdyZXkgdG8gYmxlbmQgd2l0aCB0aGUgR09WLlVLIGZvb3Rlci5cbiRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuXG5AaW1wb3J0IFwiYXBwbGljYXRpb25cIjtcbiIsIi8vIFRoZSBvcmRlciB3ZSBpbXBvcnQgc2V0dGluZ3MgaW4gaXMgaW1wb3J0YW50LCBhcyBzb21lIHNldHRpbmdzIGZpbGVzIHJlbHkgb25cbi8vIG90aGVyc1xuXG5AaW1wb3J0IFwiYXNzZXRzXCI7XG5cbkBpbXBvcnQgXCJjb21wYXRpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsLXN0eWxlc1wiO1xuQGltcG9ydCBcImllOFwiO1xuXG5AaW1wb3J0IFwibWVkaWEtcXVlcmllc1wiO1xuXG5AaW1wb3J0IFwiY29sb3Vycy1wYWxldHRlXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1vcmdhbmlzYXRpb25zXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1hcHBsaWVkXCI7XG5cbkBpbXBvcnQgXCJzcGFjaW5nXCI7XG5AaW1wb3J0IFwibWVhc3VyZW1lbnRzXCI7XG5cbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnRcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LXJlc3BvbnNpdmVcIjtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvYXNzZXRzXG4vLy8vXG5cbi8vLyBQYXRoIHRvIHRoZSBhc3NldHMgZGlyZWN0b3J5LCB3aXRoIHRyYWlsaW5nIHNsYXNoLlxuLy8vXG4vLy8gVGhpcyBpcyB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBpbWFnZXMgYW5kIGZvbnRzIHN1YmRpcmVjdG9yaWVzIGxpdmUuIFlvdVxuLy8vIHdpbGwgbmVlZCB0byBtYWtlIHRoaXMgZGlyZWN0b3J5IGF2YWlsYWJsZSB2aWEgeW91ciBhcHBsaWNhdGlvbiDigJMgc2VlIHRoZVxuLy8vIFJFQURNRSBmb3IgZGV0YWlscy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1hc3NldHMtcGF0aDogXCIvYXNzZXRzL1wiICFkZWZhdWx0O1xuXG4vLy8gUGF0aCB0byB0aGUgaW1hZ2VzIGZvbGRlciwgd2l0aCB0cmFpbGluZyBzbGFzaC5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbWFnZXMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1pbWFnZXMvXCIgIWRlZmF1bHQ7XG5cbi8vLyBQYXRoIHRvIHRoZSBmb250cyBmb2xkZXIsIHdpdGggdHJhaWxpbmcgc2xhc2guXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udHMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1mb250cy9cIiAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBpbWFnZSBVUkwgZnVuY3Rpb25cbi8vL1xuLy8vIElmIHRoZSBidWlsdC1pbiBpbWFnZSBVUkwgaGVscGVyIGRvZXMgbm90IG1lZXQgeW91ciBuZWVkcywgeW91IGNhbiBzcGVjaWZ5XG4vLy8gdGhlIG5hbWUgb2YgYSBjdXN0b20gaGFuZGxlciDigJMgZWl0aGVyIGJ1aWx0IGluIG9yIGJ5IHdyaXRpbmcgeW91ciBvd25cbi8vLyBmdW5jdGlvbi5cbi8vL1xuLy8vIElmIHlvdSBhcmUgd3JpdGluZyB5b3VyIG93biBoYW5kbGVyLCBlbnN1cmUgdGhhdCBpdCByZXR1cm5zIGEgc3RyaW5nIHdyYXBwZWRcbi8vLyB3aXRoIGB1cmwoKWBcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFJhaWxzIGFzc2V0IGhhbmRsaW5nXG4vLy8gICAkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiAnaW1hZ2UtdXJsJztcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b20gYXNzZXQgaGFuZGxpbmdcbi8vL1xuLy8vICAgQGZ1bmN0aW9uIG15LXVybC1oYW5kbGVyKCRmaWxlbmFtZSkge1xuLy8vICAgICAvLyBTb21lIGN1c3RvbSBVUkwgaGFuZGxpbmdcbi8vLyAgICAgQHJldHVybiB1cmwoJ2V4YW1wbGUuanBnJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246ICdteS11cmwtaGFuZGxlcic7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBmb250IFVSTCBmdW5jdGlvblxuLy8vXG4vLy8gSWYgdGhlIGJ1aWx0LWluIGZvbnQgVVJMIGhlbHBlciBkb2VzIG5vdCBtZWV0IHlvdXIgbmVlZHMsIHlvdSBjYW4gc3BlY2lmeVxuLy8vIHRoZSBuYW1lIG9mIGEgY3VzdG9tIGhhbmRsZXIg4oCTIGVpdGhlciBidWlsdCBpbiBvciBieSB3cml0aW5nIHlvdXIgb3duXG4vLy8gZnVuY3Rpb24uXG4vLy9cbi8vLyBJZiB5b3UgYXJlIHdyaXRpbmcgeW91ciBvd24gaGFuZGxlciwgZW5zdXJlIHRoYXQgaXQgcmV0dXJucyBhIHN0cmluZyB3cmFwcGVkXG4vLy8gd2l0aCBgdXJsKClgXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBSYWlscyBhc3NldCBoYW5kbGluZ1xuLy8vICAgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiAnZm9udC11cmwnO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbSBhc3NldCBoYW5kbGluZ1xuLy8vXG4vLy8gICBAZnVuY3Rpb24gbXktdXJsLWhhbmRsZXIoJGZpbGVuYW1lKSB7XG4vLy8gICAgIC8vIFNvbWUgY3VzdG9tIFVSTCBoYW5kbGluZ1xuLy8vICAgICBAcmV0dXJuIHVybCgnZXhhbXBsZS53b2ZmJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogJ215LXVybC1oYW5kbGVyJztcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gJ0NvbXBhdGliaWxpdHkgTW9kZSdcbi8vL1xuLy8vIEVuYWJsaW5nIHRoZXNlIGZsYWdzIGltcHJvdmVzIGNvbXBhdGliaWxpdHkgaWYgeW91IGFyZSB1c2luZyBHT1YuVUsgRnJvbnRlbmRcbi8vLyBpbiBhbiBhcHBsaWNhdGlvbiB0aGF0IGFsc28gdXNlcyBnb3Z1a19lbGVtZW50cywgZ292dWtfZnJvbnRlbmRfdG9vbGtpdCBvclxuLy8vIGdvdnVrX3RlbXBsYXRlICh0aGUgJ2xlZ2FjeSByZXBvcycpLlxuLy8vXG4vLy8gRW5hYmxpbmcgYW55IG9mIHRoZXNlIHNldHRpbmdzIHdpbGwsIGJ5IGRlZmF1bHQ6XG4vLy9cbi8vLyAtIHN3aXRjaCBHT1YuVUsgRnJvbnRlbmQgdG8gdXNpbmcgdGhlIHNhbWUgY29sb3VyIHBhbGV0dGUgYXMgdGhlIGxlZ2FjeVxuLy8vICAgcmVwb3MsIGJ5IHNldHRpbmcgYCRnb3Z1ay11c2UtbGVnYWN5LXBhbGV0dGVgIHRvIHRydWUuXG4vLy9cbi8vLyAtIHByZXZlbnQgR09WLlVLIEZyb250ZW5kIGZyb20gdXNpbmcgcmVtIGZvciBmb250IHNpemluZywgYnkgc2V0dGluZ1xuLy8vICAgYCRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW1gIHRvIGZhbHNlLlxuLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbXBhdGliaWxpdHlcbi8vLy9cblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfZnJvbnRlbmRfdG9vbGtpdFxuLy8vXG4vLy8gU2V0IHRoaXMgdG8gdHJ1ZSBpZiB5b3UgYXJlIGFsc28gaW5jbHVkaW5nIGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXRcbi8vLyBpbiB5b3VyIGFwcGxpY2F0aW9uLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZnJvbnRlbmR0b29sa2l0OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfdGVtcGxhdGVcbi8vL1xuLy8vIEVuYWJsaW5nIHRoaXMgd2lsbDpcbi8vL1xuLy8vIC0gcHJldmVudCBHT1YuVUsgRnJvbnRlbmQgZnJvbSBpbmNsdWRpbmcgdGhlIE5ldyBUcmFuc3BvcnQgdHlwZWZhY2UsIGFzXG4vLy8gICBpdCdsbCB1c2UgdGhlIHZlcnNpb24gb2YgTmV3IFRyYW5zcG9ydCBpbmNsdWRlZCB3aXRoIEdPVi5VSyBUZW1wbGF0ZS5cbi8vL1xuLy8vIC0gYWx0ZXIgc29tZSBvZiB0aGUgQ1NTIG91dHB1dHRlZCBieSBHT1YuVUsgRnJvbnRlbmQgdG8gJ2NvdW50ZXInXG4vLy8gICBzcGVjaWZpYyBDU1MgcnVsZXMgaW4gR09WLlVLIFRlbXBsYXRlLlxuLy8vXG4vLy8gU2V0IHRoaXMgdG8gdHJ1ZSBpZiB5b3UgYXJlIGFsc28gaW5jbHVkaW5nIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluIHlvdXJcbi8vLyBhcHBsaWNhdGlvbi5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a3RlbXBsYXRlOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfZWxlbWVudHNcbi8vL1xuLy8vIEVuYWJsaW5nIHRoaXMgd2lsbDpcbi8vL1xuLy8vIC0gYWx0ZXIgc29tZSBvZiB0aGUgQ1NTIG91dHB1dHRlZCBieSBHT1YuVUsgRnJvbnRlbmQgdG8gJ2NvdW50ZXInXG4vLy8gICBzcGVjaWZpYyBDU1MgcnVsZXMgaW4gR09WLlVLIEVsZW1lbnRzLlxuLy8vXG4vLy8gU2V0IHRoaXMgdG8gdHJ1ZSBpZiB5b3UgYXJlIGFsc28gaW5jbHVkaW5nIGFscGhhZ292L2dvdnVrX2VsZW1lbnRzIGluIHlvdXJcbi8vLyBhcHBsaWNhdGlvbi5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgUHJvZHVjdCBNYXBcbi8vL1xuLy8vIE1hcHMgcHJvZHVjdCBuYW1lcyB0byB0aGVpciBzZXR0aW5ncyB0aGF0IHdlIGNhbiB1c2UgdG8gbG9va3VwIHN0YXRlcyBmcm9tXG4vLy8gd2l0aGluIHRoZSBgQGdvdnVrLWNvbXBhdGliaWxpdHlgIG1peGluLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstY29tcGF0aWJpbGl0eTogKFxuICBnb3Z1a19mcm9udGVuZF90b29sa2l0OiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCxcbiAgZ292dWtfdGVtcGxhdGU6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUsXG4gIGdvdnVrX2VsZW1lbnRzOiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzLFxuKTtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvZ2xvYmFsLXN0eWxlc1xuLy8vL1xuXG4vLy8gSW5jbHVkZSAnZ2xvYmFsJyBzdHlsZXNcbi8vL1xuLy8vIFdoZXRoZXIgdG8gc3R5bGUgcGFyYWdyYXBocyAoYDxwPmApIGFuZCBsaW5rcyAoYDxhPmApIHdpdGhvdXQgZXhwbGljaXRseVxuLy8vIGhhdmluZyB0byBhcHBseSB0aGUgYGdvdnVrLWJvZHlgIGFuZCBgZ292dWstbGlua2AgY2xhc3Nlcy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ2xvYmFsLXN0eWxlczogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2ludGVybmV0LWV4cGxvcmVyLThcbi8vLy9cblxuLy8vIFdoZXRoZXIgdGhlIHN0eWxlc2hlZXQgYmVpbmcgYnVpbHQgaXMgdGFyZ2V0aW5nIEludGVybmV0IEV4cGxvcmVyIDguXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWlzLWllODogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCB0byB1c2UgYXMgdGhlIHRhcmdldCB3aGVuIHJhc3Rlcml6aW5nIG1lZGlhXG4vLy8gcXVlcmllc1xuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWllOC1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9tZWRpYS1xdWVyaWVzXG4vLy8vXG5cbi8vLyBCcmVha3BvaW50IGRlZmluaXRpb25zXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnJlYWtwb2ludHM6IChcbiAgbW9iaWxlOiAgMzIwcHgsXG4gIHRhYmxldDogIDY0MXB4LFxuICBkZXNrdG9wOiA3NjlweFxuKSAhZGVmYXVsdDtcblxuLy8vIFNob3cgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdG9wLXJpZ2h0IGNvcm5lci5cbi8vL1xuLy8vIE9ubHkgdXNlIHRoaXMgZHVyaW5nIGxvY2FsIGRldmVsb3BtZW50LlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zaG93LWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCJjb21wYXRpYmlsaXR5XCI7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWxpc3QtbWF4LWVtcHR5LWxpbmVzIC0tIGFsbG93IGVtcHR5IGxpbmVzIGluIGxpc3RzXG4vLyBpbiB0aGlzIGZpbGUgdG8gYWxsb3cgZ3JvdXBpbmdcblxuLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbi8vLyBVc2UgJ2xlZ2FjeScgY29sb3VyIHBhbGV0dGVcbi8vL1xuLy8vIFdoZXRoZXIgb3Igbm90IHRvIHVzZSB0aGUgY29sb3VyIHBhbGV0dGUgZnJvbSBHT1YuVUsgRWxlbWVudHMgLyBGcm9udGVuZFxuLy8vIFRvb2xraXQsIGZvciB0ZWFtcyB0aGF0IGFyZSBtaWdyYXRpbmcgdG8gR09WLlVLIEZyb250ZW5kIGFuZCBtYXkgYmUgdXNpbmdcbi8vLyBjb21wb25lbnRzIGZyb20gYm90aCBwbGFjZXMgaW4gYSBzaW5nbGUgYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXVzZS1sZWdhY3ktcGFsZXR0ZTogaWYoXG4gIChcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUgb3JcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzXG4gICksXG4gIHRydWUsXG4gIGZhbHNlXG4pICFkZWZhdWx0O1xuXG4vLy8gTW9kZXJuIGNvbG91ciBwYWxldHRlXG4vLy9cbi8vLyBUaGlzIGV4aXN0cyBvbmx5IGJlY2F1c2UgeW91IGNhbm5vdCBlYXNpbHkgc2V0IGEgIWRlZmF1bHQgdmFyaWFibGVcbi8vLyBjb25kaXRpb25hbGx5ICh0aGFua3MgdG8gdGhlIHdheSBzY29wZSB3b3JrcyBpbiBTYXNzKSBzbyB3ZSBzZXRcbi8vLyBgJGdvdnVrLWNvbG91ci1wYWxldHRlYCB1c2luZyB0aGUgYGlmYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX2dvdnVrLWNvbG91ci1wYWxldHRlLW1vZGVybjogKFxuICBcInJlZFwiOiAjZDQzNTFjLFxuICBcInllbGxvd1wiOiAjZmZkZDAwLFxuICBcImdyZWVuXCI6ICMwMDcwM2MsXG4gIFwiYmx1ZVwiOiAjMWQ3MGI4LFxuICBcImRhcmstYmx1ZVwiOiAjMDAzMDc4LFxuICBcImxpZ2h0LWJsdWVcIjogIzU2OTRjYSxcbiAgXCJwdXJwbGVcIjogIzRjMmM5MixcblxuICBcImJsYWNrXCI6ICMwYjBjMGMsXG4gIFwiZGFyay1ncmV5XCI6ICM1MDVhNWYsXG4gIFwibWlkLWdyZXlcIjogI2IxYjRiNixcbiAgXCJsaWdodC1ncmV5XCI6ICNmM2YyZjEsXG4gIFwid2hpdGVcIjogI2ZmZmZmZixcblxuICBcImxpZ2h0LXB1cnBsZVwiOiAjNmY3MmFmLFxuICBcImJyaWdodC1wdXJwbGVcIjogIzkxMmI4OCxcbiAgXCJwaW5rXCI6ICNkNTM4ODAsXG4gIFwibGlnaHQtcGlua1wiOiAjZjQ5OWJlLFxuICBcIm9yYW5nZVwiOiAjZjQ3NzM4LFxuICBcImJyb3duXCI6ICNiNTg4NDAsXG4gIFwibGlnaHQtZ3JlZW5cIjogIzg1OTk0YixcbiAgXCJ0dXJxdW9pc2VcIjogIzI4YTE5N1xuKTtcblxuLy8vIExlZ2FjeSBjb2xvdXIgcGFsZXR0ZVxuLy8vXG4vLy8gVGhpcyBleGlzdHMgb25seSBiZWNhdXNlIHlvdSBjYW5ub3QgZWFzaWx5IHNldCBhICFkZWZhdWx0IHZhcmlhYmxlXG4vLy8gY29uZGl0aW9uYWxseSAodGhhbmtzIHRvIHRoZSB3YXkgc2NvcGUgd29ya3MgaW4gU2Fzcykgc28gd2Ugc2V0XG4vLy8gYCRnb3Z1ay1jb2xvdXItcGFsZXR0ZWAgdXNpbmcgdGhlIGBpZmAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9nb3Z1ay1jb2xvdXItcGFsZXR0ZS1sZWdhY3k6IChcbiAgXCJwdXJwbGVcIjogIzJlMzU4YixcbiAgXCJsaWdodC1wdXJwbGVcIjogIzZmNzJhZixcbiAgXCJicmlnaHQtcHVycGxlXCI6ICM5MTJiODgsXG4gIFwicGlua1wiOiAjZDUzODgwLFxuICBcImxpZ2h0LXBpbmtcIjogI2Y0OTliZSxcbiAgXCJyZWRcIjogI2IxMGUxZSxcbiAgXCJicmlnaHQtcmVkXCI6ICNkZjMwMzQsXG4gIFwib3JhbmdlXCI6ICNmNDc3MzgsXG4gIFwiYnJvd25cIjogI2I1ODg0MCxcbiAgXCJ5ZWxsb3dcIjogI2ZmYmY0NyxcbiAgXCJsaWdodC1ncmVlblwiOiAjODU5OTRiLFxuICBcImdyZWVuXCI6ICMwMDY0MzUsXG4gIFwidHVycXVvaXNlXCI6ICMyOGExOTcsXG4gIFwibGlnaHQtYmx1ZVwiOiAjMmI4Y2M0LFxuICBcImJsdWVcIjogIzAwNWVhNSxcblxuICBcImJsYWNrXCI6ICMwYjBjMGMsXG4gIFwiZ3JleS0xXCI6ICM2Zjc3N2IsXG4gIFwiZ3JleS0yXCI6ICNiZmMxYzMsXG4gIFwiZ3JleS0zXCI6ICNkZWUwZTIsXG4gIFwiZ3JleS00XCI6ICNmOGY4ZjgsXG4gIFwid2hpdGVcIjogI2ZmZmZmZlxuKTtcblxuLy8vIENvbG91ciBwYWxldHRlXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRjb2xvdXIgLSBSZXByZXNlbnRhdGlvbiBmb3IgdGhlIGdpdmVuICRjb2xvdXIsIHdoZXJlICRjb2xvdXIgaXMgdGhlXG4vLy8gICBmcmllbmRseSBuYW1lIGZvciB0aGUgY29sb3VyIChlLmcuIFwicmVkXCI6ICNmZjAwMDApO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbG91cnM6IGlmKFxuICAkZ292dWstdXNlLWxlZ2FjeS1wYWxldHRlLFxuICAkX2dvdnVrLWNvbG91ci1wYWxldHRlLWxlZ2FjeSxcbiAgJF9nb3Z1ay1jb2xvdXItcGFsZXR0ZS1tb2Rlcm5cbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuLy8vIE9yZ2FuaXNhdGlvbiBjb2xvdXJzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRvcmdhbmlzYXRpb24uY29sb3VyIC0gQ29sb3VyIGZvciB0aGUgZ2l2ZW4gYCRvcmdhbmlzYXRpb25gXG4vLy8gQHByb3AgJG9yZ2FuaXNhdGlvbi5jb2xvdXItd2Vic2FmZSAtIFdlYnNhZmUgY29sb3VyIGZvciB0aGUgZ2l2ZW5cbi8vLyAgIGAkb3JnYW5pc2F0aW9uYC4gV2UgdXNlIGB3ZWJzYWZlYCB0byBtZWFuIHN0cm9uZyBlbm91Z2ggY29udHJhc3QgYWdhaW5zdFxuLy8vICAgd2hpdGUgdG8gYmUgdXNlZCBmb3IgY29weSBhbmQgbWVldCB0aGUgQUFBIChsYXJnZSB0ZXh0KSBhbmQgQUEgKHNtYWxsZXJcbi8vLyAgIGNvcHkpIFdDQUcgZ3VpZGVsaW5lcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnM6IChcbiAgXCJhdHRvcm5leS1nZW5lcmFscy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzlmMTg4OCxcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwM2E4OFxuICApLFxuICBcImNhYmluZXQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDVhYmIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJjaXZpbC1zZXJ2aWNlXCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1idXNpbmVzcy1pbm5vdmF0aW9uLXNraWxsc1wiOiAoXG4gICAgY29sb3VyOiAjMDAzNDc5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItY29tbXVuaXRpZXMtYW5kLWxvY2FsLWdvdmVybm1lbnRcIjogKFxuICAgIGNvbG91cjogIzAwOTk5OSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODM2ZVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWN1bHR1cmUtbWVkaWEtc3BvcnRcIjogKFxuICAgIGNvbG91cjogI2Q0MDA3MixcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwMzE1NVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWVkdWNhdGlvblwiOiAoXG4gICAgY29sb3VyOiAjMDAzYTY5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3Y2E5XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItZW52aXJvbm1lbnQtZm9vZC1ydXJhbC1hZmZhaXJzXCI6IChcbiAgICBjb2xvdXI6ICMwMGEzM2IsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg5MzhcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLWRldmVsb3BtZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDI4NzgsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDVlOWFcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLXRyYWRlXCI6IChcbiAgICBjb2xvdXI6ICNjZjEwMmQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci10cmFuc3BvcnRcIjogKFxuICAgIGNvbG91cjogIzAwNmM1NixcbiAgICBjb2xvdXItd2Vic2FmZTogIzM5ODM3M1xuICApLFxuICBcImRlcGFydG1lbnQtZm9yLXdvcmstcGVuc2lvbnNcIjogKFxuICAgIGNvbG91cjogIzAwYmViNyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODA3YlxuICApLFxuICBcImRlcGFydG1lbnQtb2YtZW5lcmd5LWNsaW1hdGUtY2hhbmdlXCI6IChcbiAgICBjb2xvdXI6ICMwMDlkZGIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMyYjdjYWNcbiAgKSxcbiAgXCJkZXBhcnRtZW50LW9mLWhlYWx0aFwiOiAoXG4gICAgY29sb3VyOiAjMDBhZDkzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzk4MzZlXG4gICksXG4gIFwiZm9yZWlnbi1jb21tb253ZWFsdGgtZGV2ZWxvcG1lbnQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMTIxNjlcbiAgKSxcbiAgXCJmb3JlaWduLWNvbW1vbndlYWx0aC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwM2U3NCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNmU5N1xuICApLFxuICBcImdvdmVybm1lbnQtZXF1YWxpdGllcy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogICM5MzI1YjJcbiAgKSxcbiAgXCJobS1nb3Zlcm5tZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDc2YzAsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJobS1yZXZlbnVlLWN1c3RvbXNcIjogKFxuICAgIGNvbG91cjogIzAwOTM5MCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwODY3MFxuICApLFxuICBcImhtLXRyZWFzdXJ5XCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmUsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM4MzIzMjJcbiAgKSxcbiAgXCJob21lLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjOTMyNWIyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjOTQ0MGIyXG4gICksXG4gIFwibWluaXN0cnktb2YtZGVmZW5jZVwiOiAoXG4gICAgY29sb3VyOiAjNGQyOTQyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNWE1YzkyXG4gICksXG4gIFwibWluaXN0cnktb2YtanVzdGljZVwiOiAoXG4gICAgY29sb3VyOiAjMjMxZjIwLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNWE1YzkyXG4gICksXG4gIFwibm9ydGhlcm4taXJlbGFuZC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzNlNTk4Y1xuICApLFxuICBcIm9mZmljZS1vZi10aGUtYWR2b2NhdGUtZ2VuZXJhbC1mb3Itc2NvdGxhbmRcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcIm9mZmljZS1vZi10aGUtbGVhZGVyLW9mLXRoZS1ob3VzZS1vZi1jb21tb25zXCI6IChcbiAgICBjb2xvdXI6ICMzMTcwMjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVmOGZcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWxlYWRlci1vZi10aGUtaG91c2Utb2YtbG9yZHNcIjogKFxuICAgIGNvbG91cjogIzljMTMyZSxcbiAgICBjb2xvdXItd2Vic2FmZTogI2MyMzk1ZFxuICApLFxuICBcInNjb3RsYW5kLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjMDAyNjYzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNDA1YzhhXG4gICksXG4gIFwidWstZXhwb3J0LWZpbmFuY2VcIjogKFxuICAgIGNvbG91cjogIzAwNTc0NyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcInVrLXRyYWRlLWludmVzdG1lbnRcIjogKFxuICAgIGNvbG91cjogI2M4MDY1MSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcIndhbGVzLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjYTMzMDM4LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjN2EyNDJhXG4gIClcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL2hlbHBlcnMvY29sb3VyXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2VuZXJpY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBCcmFuZCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1icmFuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIENhbnZhcyBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gVXNlZCBieSB0aGUgZm9vdGVyIGNvbXBvbmVudCBhbmQgdGVtcGxhdGUgdG8gZ2l2ZSB0aGUgaWxsdXNpb24gb2YgYSBsb25nXG4vLy8gZm9vdGVyLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktM1wiKSAhZGVmYXVsdDtcblxuLy8vIEJvZHkgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3VyIGZvciBwcmludCBtZWRpYVxuLy8vXG4vLy8gVXNlICd0cnVlIGJsYWNrJyB0byBhdm9pZCBwcmludGVycyB1c2luZyBjb2xvdXIgaW5rIHRvIHByaW50IGJvZHkgdGV4dFxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXByaW50LXRleHQtY29sb3VyOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4vLy8gU2Vjb25kYXJ5IHRleHQgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGluIGZvciBleGFtcGxlICdtdXRlZCcgdGV4dCBhbmQgaGVscCB0ZXh0LlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiZGFyay1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0xXCIpICFkZWZhdWx0O1xuXG4vLy8gRm9jdXMgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBvdXRsaW5lIChhbmQgYmFja2dyb3VuZCwgd2hlcmUgYXBwcm9wcmlhdGUpIHdoZW4gaW50ZXJhY3RpdmVcbi8vLyBlbGVtZW50cyAobGlua3MsIGZvcm0gY29udHJvbHMpIGhhdmUga2V5Ym9hcmQgZm9jdXMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9jdXMtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ5ZWxsb3dcIikgIWRlZmF1bHQ7XG5cbi8vLyBGb2N1c2VkIHRleHQgY29sb3VyXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgY29udHJhc3QgYmV0d2VlbiB0aGUgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvdXIgcGFzc2VzXG4vLy8gV0NBRyBMZXZlbCBBQSBjb250cmFzdCByZXF1aXJlbWVudHMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9jdXMtdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG4vLy8gRXJyb3IgY29sb3VyXG4vLy9cbi8vLyBVc2VkIHRvIGhpZ2hsaWdodCBlcnJvciBtZXNzYWdlcyBhbmQgZm9ybSBjb250cm9scyBpbiBhbiBlcnJvciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWVycm9yLWNvbG91cjogZ292dWstY29sb3VyKFwicmVkXCIpICFkZWZhdWx0O1xuXG4vLy8gU3VjY2VzcyBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgdG8gaGlnaGxpZ2h0IHN1Y2Nlc3MgbWVzc2FnZXMgYW5kIGJhbm5lcnNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zdWNjZXNzLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JlZW5cIikgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGluIGZvciBleGFtcGxlIGJvcmRlcnMsIHNlcGFyYXRvcnMsIHJ1bGVzIGFuZCBrZXlsaW5lcy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcblxuLy8vIElucHV0IGJvcmRlciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIGZvcm0gaW5wdXRzIGFuZCBjb250cm9sc1xuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG4vLy8gSW5wdXQgaG92ZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBob3ZlciBzdGF0ZXMgb24gZm9ybSBjb250cm9sc1xuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIExpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBWaXNpdGVkIGxpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay12aXNpdGVkLWNvbG91cjogZ292dWstY29sb3VyKFwicHVycGxlXCIsICRsZWdhY3k6ICM0YzJjOTIpICFkZWZhdWx0O1xuXG4vLy8gTGluayBob3ZlciBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwiZGFyay1ibHVlXCIsICRsZWdhY3k6IFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIiwgJGxlZ2FjeTogXCJsaWdodC1ibHVlXCIpICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2NvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLXBhbGV0dGVcIjtcbkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLW9yZ2FuaXNhdGlvbnNcIjtcblxuLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2NvbG91clxuLy8vL1xuXG4vLy8gR2V0IGNvbG91clxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjb2xvdXIgLSBOYW1lIG9mIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vICAgKGAkZ292dWstY29sb3Vyc2ApXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRsZWdhY3kgLSBFaXRoZXIgdGhlIG5hbWUgb2YgY29sb3VyIGZyb20gdGhlIGxlZ2FjeSBwYWxldHRlXG4vLy8gICBvciBhIGNvbG91ciBsaXRlcmFsLCB0byByZXR1cm4gaW5zdGVhZCB3aGVuIGluICdsZWdhY3kgbW9kZScgLSBtYXRjaGluZ1xuLy8vICAgdGhlIHBhbGV0dGUgZnJvbSBHT1YuVUsgVGVtcGxhdGUsIEVsZW1lbnRzIG9yIEZyb250ZW5kIFRvb2xraXRcbi8vLyBAcmV0dXJuIHtDb2xvdXJ9IFJlcHJlc2VudGF0aW9uIG9mIG5hbWVkIGNvbG91clxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzaW5nIGxlZ2FjeSBjb2xvdXJzIGZyb20gdGhlIHBhbGV0dGVcbi8vLyAgLmZvbyB7XG4vLy8gICAgYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNpbmcgbGVnYWN5IGNvbG91ciBsaXRlcmFsc1xuLy8vICAuZm9vIHtcbi8vLyAgICBiYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JlZW5cIiwgJGxlZ2FjeTogI0JBREE1NSk7XG4vLy8gIH1cbi8vL1xuLy8vIEB0aHJvdyBpZiBgJGNvbG91cmAgaXMgbm90IGEgY29sb3VyIGZyb20gdGhlIGNvbG91ciBwYWxldHRlXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWNvbG91cigkY29sb3VyLCAkbGVnYWN5OiBmYWxzZSkge1xuICBAaWYgKCRnb3Z1ay11c2UtbGVnYWN5LXBhbGV0dGUgYW5kICRsZWdhY3kpIHtcbiAgICBAaWYgKHR5cGUtb2YoJGxlZ2FjeSkgPT0gXCJjb2xvclwiKSB7XG4gICAgICBAcmV0dXJuICRsZWdhY3k7XG4gICAgfVxuICAgICRjb2xvdXI6ICRsZWdhY3k7XG4gIH1cblxuICAkY29sb3VyOiBxdW90ZSgkY29sb3VyKTtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBjb2xvdXIgYCN7JGNvbG91cn1gXCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWNvbG91cnMsICRjb2xvdXIpO1xufVxuXG4vLy8gR2V0IHRoZSBjb2xvdXIgZm9yIGEgZ292ZXJubWVudCBvcmdhbmlzYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3JnYW5pc2F0aW9uIC0gT3JnYW5pc2F0aW9uIG5hbWUsIGxvd2VyY2FzZSwgaHlwaGVuYXRlZFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdlYnNhZmUgW3RydWVdIC0gQnkgZGVmYXVsdCBhICd3ZWJzYWZlJyB2ZXJzaW9uIG9mIHRoZVxuLy8vICAgY29sb3VyIHdpbGwgYmUgcmV0dXJuZWQgd2hpY2ggbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIC4gSWYgeW91IHdhbnQgdG9cbi8vLyAgIHVzZSB0aGUgbm9uLXdlYnNhZmUgdmVyc2lvbiB5b3UgY2FuIHNldCB0aGlzIHRvIGBmYWxzZWAgYnV0IHlvdXIgc2hvdWxkXG4vLy8gICBlbnN1cmUgdGhhdCB5b3Ugc3RpbGwgbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIGZvciBhY2Nlc3NpYmlsaXR5IC0gZm9yXG4vLy8gICBleGFtcGxlLCBkbyBub3QgdXNlIHRoZSBub24td2Vic2FmZSB2ZXJzaW9uIGZvciB0ZXh0LlxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3VyfSBSZXByZXNlbnRhdGlvbiBvZiBjb2xvdXIgZm9yIG9yZ2FuaXNhdGlvblxuLy8vIEB0aHJvdyBpZiBgJG9yZ2FuaXNhdGlvbmAgaXMgbm90IGEga25vd24gb3JnYW5pc2F0aW9uXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLW9yZ2FuaXNhdGlvbi1jb2xvdXIoJG9yZ2FuaXNhdGlvbiwgJHdlYnNhZmU6IHRydWUpIHtcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstY29sb3Vycy1vcmdhbmlzYXRpb25zLCAkb3JnYW5pc2F0aW9uKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBvcmdhbmlzYXRpb24gYCN7JG9yZ2FuaXNhdGlvbn1gXCI7XG4gIH1cblxuICAkb3JnLWNvbG91cjogbWFwLWdldCgkZ292dWstY29sb3Vycy1vcmdhbmlzYXRpb25zLCAkb3JnYW5pc2F0aW9uKTtcblxuICBAaWYgKCR3ZWJzYWZlIGFuZCBtYXAtaGFzLWtleSgkb3JnLWNvbG91ciwgY29sb3VyLXdlYnNhZmUpKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRvcmctY29sb3VyLCBjb2xvdXItd2Vic2FmZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkb3JnLWNvbG91ciwgY29sb3VyKTtcbiAgfVxufVxuXG4vLy8gTWFrZSBhIGNvbG91ciBkYXJrZXIgYnkgbWl4aW5nIGl0IHdpdGggYmxhY2tcbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3VyfSAkY29sb3VyIC0gY29sb3VyIHRvIHNoYWRlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJjZW50YWdlIC0gcGVyY2VudGFnZSBvZiBgJGNvbG91cmAgaW4gcmV0dXJuZWQgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvdXJ9XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXNoYWRlKCRjb2xvdXIsICRwZXJjZW50YWdlKSB7XG4gIEByZXR1cm4gbWl4KCMwMDAwMDAsICRjb2xvdXIsICRwZXJjZW50YWdlKTtcbn1cblxuLy8vIE1ha2UgYSBjb2xvdXIgbGlnaHRlciBieSBtaXhpbmcgaXQgd2l0aCB3aGl0ZVxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvdXJ9ICRjb2xvdXIgLSBjb2xvdXIgdG8gdGludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyY2VudGFnZSAtIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvdXJgIGluIHJldHVybmVkIGNvbG9yXG4vLy8gQHJldHVybiB7Q29sb3VyfVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay10aW50KCRjb2xvdXIsICRwZXJjZW50YWdlKSB7XG4gIEByZXR1cm4gbWl4KGdvdnVrLWNvbG91cihcIndoaXRlXCIpLCAkY29sb3VyLCAkcGVyY2VudGFnZSk7XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3NwYWNpbmdcbi8vLy9cblxuLy8vIFNpbmdsZSBwb2ludCBzcGFjaW5nIHZhcmlhYmxlcy4gQWNjZXNzIHVzaW5nIGBnb3Z1ay1zcGFjaW5nKClgXG4vLy8gKHNlZSBgaGVscGVycy9zcGFjaW5nYCkuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJGdvdnVrLXNwYWNpbmctcG9pbnRzOiAoXG4gIDA6IDAsXG4gIDE6IDVweCxcbiAgMjogMTBweCxcbiAgMzogMTVweCxcbiAgNDogMjBweCxcbiAgNTogMjVweCxcbiAgNjogMzBweCxcbiAgNzogNDBweCxcbiAgODogNTBweCxcbiAgOTogNjBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZyBtYXBzXG4vLy9cbi8vLyBUaGVzZSBkZWZpbml0aW9ucyBhcmUgdXNlZCB0byBnZW5lcmF0ZSByZXNwb25zaXZlIHNwYWNpbmcgdGhhdCBhZGFwdHNcbi8vLyBhY2NvcmRpbmcgdG8gdGhlIGJyZWFrcG9pbnRzIChzZWUgJ2hlbHBlcnMvc3BhY2luZycpLiBUaGVzZSBtYXBzIHNob3VsZCBiZVxuLy8vIHVzZWQgd2hlcmV2ZXIgcG9zc2libGUgdG8gc3RhbmRhcmRpc2UgcmVzcG9uc2l2ZSBzcGFjaW5nLlxuLy8vXG4vLy8gWW91IGNhbiBkZWZpbmUgZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCdcbi8vLyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4vLy9cbi8vLyBBY2Nlc3MgcmVzcG9uc2l2ZSBzcGFjaW5nIHdpdGggYGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luYCBvclxuLy8vIGBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmdgIG1peGlucyAoc2VlIGBoZWxwZXJzL3NwYWNpbmdgKS5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlOiAoXG4gIDA6IChcbiAgICBudWxsOiAwLFxuICAgIHRhYmxldDogMFxuICApLFxuICAxOiAoXG4gICAgbnVsbDogNXB4LFxuICAgIHRhYmxldDogNXB4XG4gICksXG4gIDI6IChcbiAgICBudWxsOiAxMHB4LFxuICAgIHRhYmxldDogMTBweFxuICApLFxuICAzOiAoXG4gICAgbnVsbDogMTVweCxcbiAgICB0YWJsZXQ6IDE1cHhcbiAgKSxcbiAgNDogKFxuICAgIG51bGw6IDE1cHgsXG4gICAgdGFibGV0OiAyMHB4XG4gICksXG4gIDU6IChcbiAgICBudWxsOiAxNXB4LFxuICAgIHRhYmxldDogMjVweFxuICApLFxuICA2OiAoXG4gICAgbnVsbDogMjBweCxcbiAgICB0YWJsZXQ6IDMwcHhcbiAgKSxcbiAgNzogKFxuICAgIG51bGw6IDI1cHgsXG4gICAgdGFibGV0OiA0MHB4XG4gICksXG4gIDg6IChcbiAgICBudWxsOiAzMHB4LFxuICAgIHRhYmxldDogNTBweFxuICApLFxuICA5OiAoXG4gICAgbnVsbDogNDBweCxcbiAgICB0YWJsZXQ6IDYwcHhcbiAgKVxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbWVhc3VyZW1lbnRzXG4vLy8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGFnZSBsYXlvdXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gV2lkdGggb2YgbWFpbiBjb250YWluZXJcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1wYWdlLXdpZHRoOiA5NjBweCAhZGVmYXVsdDtcblxuLy8vIE1hcCBvZiBncmlkIGNvbHVtbiB3aWR0aHNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ncmlkLXdpZHRoczogKFxuICBvbmUtcXVhcnRlcjogMjUlLFxuICBvbmUtdGhpcmQ6IDMzLjMzMzMlLFxuICBvbmUtaGFsZjogNTAlLFxuICB0d28tdGhpcmRzOiA2Ni42NjY2JSxcbiAgdGhyZWUtcXVhcnRlcnM6IDc1JSxcbiAgZnVsbDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGd1dHRlciBiZXR3ZWVuIGdyaWQgY29sdW1uc1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWd1dHRlcjogMzBweCAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGhhbGYgdGhlIGd1dHRlciBiZXR3ZWVuIGdyaWQgY29sdW1uc1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWd1dHRlci1oYWxmOiAkZ292dWstZ3V0dGVyIC8gMjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCb3JkZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFN0YW5kYXJkIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aDogNXB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkZSBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtd2lkZTogMTBweCAhZGVmYXVsdDtcblxuLy8vIE5hcnJvdyBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93OiA0cHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGNvbnRyb2wgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDogMnB4ICFkZWZhdWx0O1xuXG4vLy8gRm9ybSBjb250cm9sIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBkZXByZWNhdGVkIFVzZSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBpbnN0ZWFkLiBUaGVyZSBzaG91bGQgYmUgbm9cbi8vLyAgIGRpZmZlcmVuY2UgaW4gdGhpY2tuZXNzIGZvciBpbnB1dHMgaW4gdGhlIGVycm9yIHN0YXRlLCBpbiBvcmRlciB0b1xuLy8vICAgbWFpbnRhaW4gYSBkaXN0aW5jdCBmb2N1cyBzdGF0ZS5cblxuJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3I6IDJweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gZ3JvdXAgYm9yZGVyIHdpZHRoIHdoZW4gaW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1ncm91cC1lcnJvcjogJGdvdnVrLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBvZiBmb2N1cyBvdXRsaW5lXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9jdXMtd2lkdGg6IDNweCAhZGVmYXVsdDtcblxuLy8vIEhvdmVyIHdpZHRoIGZvciBmb3JtIGNvbnRyb2xzIHdpdGggYSBob3ZlciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWhvdmVyLXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBMaXN0IG9mIGZvbnQgZmFtaWxpZXMgdG8gdXNlIGlmIHVzaW5nIEdEUyBUcmFuc3BvcnQgKHRoZSBkZWZhdWx0IGZvbnRcbi8vLyAnc3RhY2snIGZvciBHT1YuVUspXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LWdkcy10cmFuc3BvcnQ6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuLy8vIExpc3Qgb2YgZm9udCBmYW1pbGllcyB0byB1c2UgaWYgdXNpbmcgTlRBIChvbGQgZm9udCAnc3RhY2snIGZvclxuLy8vIEdPVi5VSylcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBkZXByZWNhdGVkIFRvIGJlIHJlbW92ZWQgb25jZSBzdXBwb3J0IGZvciBjb21wYXRpYmlsaXR5IG1vZGUgaXMgZHJvcHBlZFxuXG4kZ292dWstZm9udC1mYW1pbHktbnRhOiBcIm50YVwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuLy8vIExpc3Qgb2YgZm9udCBmYW1pbGllcyB0byB1c2UgaWYgdXNpbmcgdGhlICd0YWJ1bGFyIG51bWJlcnMnIHN1YnNldCBvZiBOVEFcbi8vLyAodGhlIGRlZmF1bHQgZm9udCAnc3RhY2snIGZvciBHT1YuVUspXG4vLy9cbi8vLyBCZWNhdXNlIG50YXRhYnVsYXJudW1iZXJzIG9ubHkgaW5jbHVkZXMgdGhlIGRpZ2l0cyAwLTEwLCBhbGwgb3RoZXIgZ2x5cGhzXG4vLy8gd2lsbCAnZmFsbC10aHJvdWdoJyB0aGUgc3RhY2sgdG8gTlRBLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGRlcHJlY2F0ZWQgVG8gYmUgcmVtb3ZlZCBvbmNlIHN1cHBvcnQgZm9yIGNvbXBhdGliaWxpdHkgbW9kZSBpcyBkcm9wcGVkXG5cbiRnb3Z1ay1mb250LWZhbWlseS1udGEtdGFidWxhcjogXCJudGF0YWJ1bGFybnVtYmVyc1wiLCAkZ292dWstZm9udC1mYW1pbHktbnRhO1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXNcIjtcblxuLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBVc2UgJ2xlZ2FjeScgZm9udHNcbi8vL1xuLy8vIFdoZXRoZXIgb3Igbm90IHRvIHVzZSB2MSBudGEgZm9udCBmcm9tIEdPVi5VSyBFbGVtZW50cyAvIEZyb250ZW5kXG4vLy8gVG9vbGtpdCwgZm9yIHRlYW1zIHRoYXQgYXJlIG1pZ3JhdGluZyB0byBHT1YuVUsgRnJvbnRlbmQgYW5kIG1heSBiZSB1c2luZ1xuLy8vIGNvbXBvbmVudHMgZnJvbSBib3RoIHBsYWNlcyBpbiBhIHNpbmdsZSBhcHBsaWNhdGlvbi5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdXNlLWxlZ2FjeS1mb250OiBpZihcbiAgKFxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZnJvbnRlbmR0b29sa2l0IG9yXG4gICAgJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZSBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZWxlbWVudHNcbiAgKSxcbiAgdHJ1ZSxcbiAgZmFsc2VcbikgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBmYW1pbGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgYWxsIHR5cG9ncmFwaHkgb24gc2NyZWVuIG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5OiBpZihcbiAgJGdvdnVrLXVzZS1sZWdhY3ktZm9udCxcbiAgJGdvdnVrLWZvbnQtZmFtaWx5LW50YSxcbiAgJGdvdnVrLWZvbnQtZmFtaWx5LWdkcy10cmFuc3BvcnRcbikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSB3aGVuIGRpc3BsYXlpbmcgdGFidWxhciBudW1iZXJzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXI6IGlmKFxuICAkZ292dWstdXNlLWxlZ2FjeS1mb250LFxuICAkZ292dWstZm9udC1mYW1pbHktbnRhLXRhYnVsYXIsXG4gIGZhbHNlXG4pICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2UgZm9yIHByaW50IG1lZGlhXG4vLy9cbi8vLyBXZSByZWNvbW1lbmQgdGhhdCB5b3UgdXNlIHN5c3RlbSBmb250cyB3aGVuIHByaW50aW5nLiBUaGlzIHdpbGwgYXZvaWQgaXNzdWVzXG4vLy8gd2l0aCBzb21lIHByaW50ZXIgZHJpdmVycyBhbmQgb3BlcmF0aW5nIHN5c3RlbXMuXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LXByaW50OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gSW5jbHVkZSB0aGUgZGVmYXVsdCBAZm9udC1mYWNlIGRlY2xhcmF0aW9uc1xuLy8vXG4vLy8gSWYgeW91IGhhdmUgc2V0ICRnb3Z1ay1mb250LWZhbWlseSB0byBzb21ldGhpbmcgb3RoZXIgdGhhblxuLy8vIGAkZ292dWstZm9udC1mYW1pbHktZ2RzLXRyYW5zcG9ydGAgdGhpcyBvcHRpb24gaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW5jbHVkZS1kZWZhdWx0LWZvbnQtZmFjZTogKFxuICAkZ292dWstZm9udC1mYW1pbHkgPT0gJGdvdnVrLWZvbnQtZmFtaWx5LWdkcy10cmFuc3BvcnRcbikgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCB3ZWlnaHRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEZvbnQgd2VpZ2h0IGZvciByZWd1bGFyIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtcmVndWxhcjogNDAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJvbGQgdHlwb2dyYXBoeVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbiRnb3Z1ay1mb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwiY29tcGF0aWJpbGl0eVwiO1xuXG4vLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuLy8vIFdoZXRoZXIgb3Igbm90IHRvIGRlZmluZSBmb250IHNpemVzIGluIHJlbSwgaW1wcm92aW5nIGFjY2Vzc2liaWxpdHkgYnlcbi8vLyBhbGxvd2luZyB1c2VycyB0byBhZGp1c3QgdGhlIGJhc2UgZm9udC1zaXplLiBUaGlzIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCxcbi8vLyB1bmxlc3MgYW55IG9mIHRoZSBjb21wYXRpYmlsaXR5IG1vZGUgc2V0dGluZ3MgYXJlIGVuYWJsZWQuXG4vLy9cbi8vLyBZb3Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0ICRnb3Z1ay1yb290LWZvbnQtc2l6ZSBpcyBzZXQgY29ycmVjdGx5IGZvciB5b3VyXG4vLy8gcHJvamVjdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdHlwb2dyYXBoeS11c2UtcmVtOiBpZihcbiAgKFxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZnJvbnRlbmR0b29sa2l0IG9yXG4gICAgJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZSBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZWxlbWVudHNcbiAgKSxcbiAgZmFsc2UsXG4gIHRydWVcbikgIWRlZmF1bHQ7XG5cbi8vLyBSb290IGZvbnQgc2l6ZVxuLy8vXG4vLy8gVGhpcyBpcyB1c2VkIHRvIGNhbGN1bGF0ZSByZW0gc2l6ZXMgZm9yIHRoZSB0eXBvZ3JhcGh5LCBhbmQgc2hvdWxkIG1hdGNoIHRoZVxuLy8vIF9lZmZlY3RpdmVfIGZvbnQtc2l6ZSBvZiB5b3VyIHJvb3QgKG9yIGh0bWwpIGVsZW1lbnQuXG4vLy9cbi8vLyBJZGVhbGx5IHlvdSBzaG91bGQgbm90IGJlIHNldHRpbmcgdGhlIGZvbnQtc2l6ZSBvbiB0aGUgaHRtbCBvciByb290IGVsZW1lbnRcbi8vLyBpbiBvcmRlciB0byBhbGxvdyBpdCB0byBzY2FsZSB3aXRoIHVzZXItcHJlZmVyZW5jZSwgaW4gd2hpY2ggY2FzZSB0aGlzXG4vLy8gc2hvdWxkIGJlIHNldCB0byAxNnB4LlxuLy8vXG4vLy8gSWYgeW91IGFyZSBpbnRlZ3JhdGluZyBGcm9udGVuZCBpbnRvIGFuIGV4aXN0aW5nIHByb2plY3QgdGhhdCBhbHNvIHVzZXNcbi8vLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBhbmQgeW91IHdpc2ggdG8gZW5hYmxlIGAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtYFxuLy8vIHRoZW4geW91IHNob3VsZCBzZXQgdGhpcyB0byAxMHB4IHRvIG1hdGNoIHRoZSA2Mi41JSAoMTBweCkgYmFzZSBmb250IHNpemVcbi8vLyB0aGF0IGdvdnVrX3RlbXBsYXRlIHNldHMgb24gdGhlIDxodG1sPiBlbGVtZW50LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXJvb3QtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGZvbnQgbWFwXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IHRoYXQgYWRhcHRzIGFjY29yZGluZyB0byB0aGVcbi8vLyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEZvbnQgc2l6ZSBhbmQgZm9udCB3ZWlnaHQgY2FuIGJlIGRlZmluZWQgZm9yIGVhY2ggYnJlYWtwb2ludC4gWW91IGNhbiBkZWZpbmVcbi8vLyBkaWZmZXJlbnQgYmVoYXZpb3VyIG9uIHRhYmxldCBhbmQgZGVza3RvcC4gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvclxuLy8vIG1vYmlsZS5cbi8vL1xuLy8vIExpbmUtaGVpZ2h0cyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29udmVydGVkIGZyb20gcGl4ZWwgbWVhc3VyZW1lbnRzIGludG9cbi8vLyByZWxhdGl2ZSB2YWx1ZXMuIEZvciBleGFtcGxlLCB3aXRoIGEgZm9udC1zaXplIG9mIDE2cHggYW5kIGEgbGluZS1oZWlnaHQgb2Zcbi8vLyAyNHB4LCB0aGUgbGluZS1oZWlnaHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMS41IGJlZm9yZSBvdXRwdXQuXG4vLy9cbi8vLyBZb3UgY2FuIGFsc28gc3BlY2lmeSBhIHNlcGFyYXRlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgZm9yIHByaW50IG1lZGlhLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCBhdCBgJGJyZWFrcG9pbnRgXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LiRicmVha3BvaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQucHJpbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCB3aGVuIHByaW50aW5nXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIHdoZW4gcHJpbnRpbmdcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlOiAoXG4gIDgwOiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiA1M3B4LFxuICAgICAgbGluZS1oZWlnaHQ6IDU1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiA4MHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDgwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDUzcHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xXG4gICAgKVxuICApLFxuICA0ODogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMzJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogNDhweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAzMnB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDM2OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAyNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAzNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDI0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4wNVxuICAgIClcbiAgKSxcbiAgMjc6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE4cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDI3cHgsXG4gICAgICBsaW5lLWhlaWdodDogMzBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAyNDogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxOHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDE5OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxOXB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMTY6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMTZweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJcbiAgICApXG4gICksXG4gIDE0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDE1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDEycHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4yXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuIiwiLy8gZ2xvYmFsIHN0eWxlcyBmb3IgPGE+IGFuZCA8cD4gdGFnc1xuJGdvdnVrLWdsb2JhbC1zdHlsZXM6IHRydWU7XG5cbi8vIFdlIGNhbid0IG1vdW50IEdPVi5VSyBGcm9udGVuZCdzIGFzc2V0cyBhdCByb290IGFzIGl0J3MgZG9uZSBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBleHRlbnNpb25zIGZyYW1ld29yay5cbiRnb3Z1ay1hc3NldHMtcGF0aDogJy9nb3Z1ay9hc3NldHMvJztcblxuLy8gSW1wb3J0IEdPVi5VSyBGcm9udGVuZCBhbmQgYW55IGV4dGVuc2lvbiBzdHlsZXMgaWYgZXh0ZW5zaW9ucyBoYXZlIGJlZW4gY29uZmlndXJlZFxuQGltcG9ydCBcImxpYi9leHRlbnNpb25zL2V4dGVuc2lvbnNcIjtcblxuLy8gUGF0dGVybnMgdGhhdCBhcmVuJ3QgaW4gRnJvbnRlbmRcbkBpbXBvcnQgXCJwYXR0ZXJucy9zdGVwLWJ5LXN0ZXAtaGVhZGVyXCI7XG5AaW1wb3J0IFwicGF0dGVybnMvc3RlcC1ieS1zdGVwLW5hdlwiO1xuQGltcG9ydCBcInBhdHRlcm5zL3N0ZXAtYnktc3RlcC1yZWxhdGVkXCI7XG5AaW1wb3J0IFwicGF0dGVybnMvdGFzay1saXN0XCI7XG5AaW1wb3J0IFwicGF0dGVybnMvcmVsYXRlZC1pdGVtc1wiO1xuXG4vLyBBZGQgZXh0cmEgc3R5bGVzIGhlcmUsIG9yIHJlLW9yZ2FuaXNlIHRoZSBTYXNzIGZpbGVzIGluIHdoaWNoZXZlciB3YXkgbWFrZXMgbW9zdCBzZW5zZSB0byB5b3VcbiIsIiRnb3Z1ay1leHRlbnNpb25zLXVybC1jb250ZXh0OiBcIi9leHRlbnNpb24tYXNzZXRzXCI7IEBpbXBvcnQgXCJEOi9Db2RlIFByb2plY3RzL2dvdnVrLXByb3RvdHlwZS1raXQtOS4xMi4xL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9hbGwuc2Nzc1wiOyIsIkBpbXBvcnQgXCJiYXNlXCI7XG5cbkBpbXBvcnQgXCJjb3JlL2FsbFwiO1xuQGltcG9ydCBcIm9iamVjdHMvYWxsXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2FsbFwiO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzL2FsbFwiO1xuQGltcG9ydCBcIm92ZXJyaWRlcy9hbGxcIjtcbiIsIkBpbXBvcnQgXCJzZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCJ0b29scy9hbGxcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2FsbFwiO1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJleHBvcnRzXCI7XG5AaW1wb3J0IFwiZm9udC11cmxcIjtcbkBpbXBvcnQgXCJpZThcIjtcbkBpbXBvcnQgXCJpZmZcIjtcbkBpbXBvcnQgXCJpbWFnZS11cmxcIjtcbkBpbXBvcnQgXCJweC10by1lbVwiO1xuQGltcG9ydCBcInB4LXRvLXJlbVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCB0b29scy9jb21wYXRpYmlsaXR5LW1vZGVcbi8vLy9cblxuLy8vIENvbmRpdGlvbmFsIENvbXBhdGliaWxpdHkgTWl4aW5cbi8vL1xuLy8vIFNlbGVjdGl2ZWx5IG91dHB1dCBhIGJsb2NrIChhdmFpbGFibGUgdG8gdGhlIG1peGluIGFzIEBjb250ZW50KSBpZiBhIGdpdmVuXG4vLy8gJHByb2R1Y3QgaXMgYWxzbyBpZGVudGlmaWVkIGFzIGJlaW5nIHVzZWQgaW4gdGhlIHByb2plY3QuXG4vLy9cbi8vLyBUaGlzIGNhbiB0aGVuIGJlIHVzZWQgdG8gaW5jbHVkZSBzdHlsZXMgdGhhdCBhcmUgb25seSBuZWVkZWQgdG8gb3ZlcnJpZGVcbi8vLyBzdHlsZXMgcHJvdmlkZWQgYnkgdGhvc2Ugb3RoZXIgcHJvZHVjdHMgKGUuZy4gd2hlcmUgZ292dWtfdGVtcGxhdGUgaGFzIGFcbi8vLyB2ZXJ5IHNwZWNpZmljIGxpbmsgc2VsZWN0b3IgdGhhdCBvdGhlcndpc2UgYWZmZWN0cyBidXR0b25zKS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC8vIE92ZXJyaWRlIC5teS1jbGFzcyBpZiBHT1YuVUsgVGVtcGxhdGUgaXMgYWxzbyBiZWluZyB1c2VkXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4vLy8gICAgIC5teS1jbGFzcyB7XG4vLy8gICAgICAgY29sb3I6IGluaGVyaXQ7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvZHVjdCAtIE5hbWUgb2YgcHJvZHVjdCB0aGF0IHdlIGFyZSAnZGVmZW5kaW5nJyBhZ2FpbnN0LlxuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG91dHB1dHRlZCBvbmx5IGlmIEZyb250ZW5kIGlzIGJlaW5nIHVzZWQgd2l0aFxuLy8vICAgdGhpcyBwcm9kdWN0XG4vLy8gQHRocm93IEVycm9ycyBpZiBwcm9kdWN0IG5hbWUgaXMgbm90IHJlY29nbmlzZWRcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstY29tcGF0aWJpbGl0eSgkcHJvZHVjdCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJF9nb3Z1ay1jb21wYXRpYmlsaXR5LCAkcHJvZHVjdCkge1xuICAgIEBpZiBtYXAtZ2V0KCRfZ292dWstY29tcGF0aWJpbGl0eSwgJHByb2R1Y3QpID09IHRydWUge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJOb24gZXhpc3RlbnQgcHJvZHVjdCAnI3skcHJvZHVjdH0nXCI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIExpc3Qgb2YgbW9kdWxlcyB3aGljaCBoYXZlIGFscmVhZHkgYmVlbiBleHBvcnRlZFxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX2dvdnVrLWltcG9ydGVkLW1vZHVsZXM6ICgpICFkZWZhdWx0O1xuXG4vLy8gRXhwb3J0IG1vZHVsZVxuLy8vXG4vLy8gRW5zdXJlIHRoYXQgdGhlIG1vZHVsZXMgb2YgQ1NTIHRoYXQgd2UgZGVmaW5lIHRocm91Z2hvdXQgRnJvbnRlbmQgYXJlIG9ubHlcbi8vLyBpbmNsdWRlZCBpbiB0aGUgZ2VuZXJhdGVkIENTUyBvbmNlLCBubyBtYXR0ZXIgaG93IG1hbnkgdGltZXMgdGhleSBhcmVcbi8vLyBpbXBvcnRlZCBhY3Jvc3MgdGhlIGluZGl2aWR1YWwgY29tcG9uZW50cy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgbW9kdWxlIC0gbXVzdCBiZSB1bmlxdWUgd2l0aGluIHRoZSBjb2RlYmFzZVxuLy8vIEBjb250ZW50IFRoZSBwYXNzZWQgY29udGVudCB3aWxsIG9ubHkgYmUgb3V0cHV0dGVkIGlmIGEgbW9kdWxlIG9mIHRoZSBzYW1lXG4vLy8gICAkbmFtZSBoYXMgbm90IGFscmVhZHkgYmVlbiBvdXRwdXR0ZWRcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZXhwb3J0cygkbmFtZSkge1xuICAvLyBJZiB0aGUgbWl4aW4gaXMgbm90IGluIHRoZSBsaXN0IG9mIG1vZHVsZXMgYWxyZWFkeSBleHBvcnRlZC4uLlxuICBAaWYgKGluZGV4KCRfZ292dWstaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpID09IG51bGwpIHtcbiAgICAvLyAuLi4gdGhlbiBhZGQgaXQgdG8gdGhlIGxpc3RcbiAgICAkX2dvdnVrLWltcG9ydGVkLW1vZHVsZXM6IGFwcGVuZCgkX2dvdnVrLWltcG9ydGVkLW1vZHVsZXMsICRuYW1lKSAhZ2xvYmFsO1xuICAgIC8vIC4uLiBhbmQgb3V0cHV0IHRoZSBDU1MgZm9yIHRoYXQgbW9kdWxlXG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgLy8gVGhlIG5leHQgdGltZSBleHBvcnRzIGlzIGNhbGxlZCBmb3IgdGhlIG1vZHVsZSBvZiB0aGUgc2FtZSBuYW1lLCBpdCB3aWxsIGJlXG4gIC8vIGZvdW5kIGluIHRoZSBsaXN0IGFuZCBzbyBub3RoaW5nIHdpbGwgYmUgb3V0cHV0dGVkLlxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29scy9hc3NldHNcbi8vLy9cblxuLy8vIEZvbnQgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBmb250LXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbikgdGhlblxuLy8vIGl0IHdpbGwgYmUgY2FsbGVkLCBvdGhlcndpc2UgYSB1cmwgd2lsbCBiZSByZXR1cm5lZCB3aXRoIHRoZSBmaWxlbmFtZVxuLy8vIGFwcGVuZGVkIHRvIHRoZSBmb250IHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZpbGVuYW1lIC0gRm9udCBmaWxlbmFtZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gVVJMIGZvciB0aGUgZmlsZW5hbWUsIHdyYXBwZWQgaW4gYHVybCgpYFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1mb250LXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1mb250LXVybC1mdW5jdGlvblxuICAgIGFuZCBmdW5jdGlvbi1leGlzdHMoJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKGdldC1mdW5jdGlvbigkZ292dWstZm9udC11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstZm9udHMtcGF0aCArICRmaWxlbmFtZSk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHMvaW50ZXJuZXQtZXhwbG9yZXItOFxuLy8vL1xuXG4vLy8gQ29uZGl0aW9uYWxseSBpbmNsdWRlIHJ1bGVzIG9ubHkgZm9yIElFOFxuLy8vXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb25seSBvdXRwdXR0ZWQgaWYgd2UncmUgY29tcGlsaW5nIGEgc3R5bGVzaGVldFxuLy8vICAgdGhhdCB0YXJnZXRzIElFOCAoaWYgYCRnb3Z1ay1pcy1pZThgIGlzIHRydWUpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIG1pbi13aWR0aDogMTAwcHg7XG4vLy8gICAgIC8vIFNwZWNpZnkgd2lkdGggZm9yIElFOCBvbmx5XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4vLy8gICAgICAgd2lkdGg6IDEwMHB4O1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstaWYtaWU4IHtcbiAgQGlmICRnb3Z1ay1pcy1pZTgge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vLyBDb25kaXRpb25hbGx5IGV4Y2x1ZGUgcnVsZXMgZm9yIElFOFxuLy8vXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb25seSBvdXRwdXR0ZWQgaWYgd2UncmUgbm90IGNvbXBpbGluZyBhXG4vLy8gICBzdHlsZXNoZWV0IHRoYXQgdGFyZ2V0cyBJRTggKGlmIGAkZ292dWstaXMtaWU4YCBpcyBmYWxzZSlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLy9cbi8vLyAgICAgLy8gRW5oYW5jZSBmb28gb25seSBmb3IgbW9kZXJuIGJyb3dzZXJzIChub3QgSUU4KVxuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbi8vLyAgICAgICBmb250LWZhbWlseTogXCJDb21pYyBTYW5zIE1TXCIsIFwiQ3VybHogTVRcIiBjdXJzaXZlLCBzYW5zLXNlcmlmO1xuLy8vICAgICAgIGNvbG9yOiAjRkY2OUI0O1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbm90LWllOCB7XG4gIEBpZiBub3QgJGdvdnVrLWlzLWllOCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIFN5bnRhY3RpYyBzdWdhciBhcm91bmQgU2FzcycgYnVpbHQtaW4gYGlmYCBmdW5jdGlvbiB0aGF0IGRvZXMgbm90IHJlcXVpcmVcbi8vLyB5b3UgdG8gcGFzcyBhIHZhbHVlIGZvciBgJGlmLWZhbHNlYC5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGNvbmRpdGlvbiAtIFdoZXRoZXIgdG8gcmV0dXJuIHRoZSB2YWx1ZSBvZiBgJGlmLXRydWVgXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGlmLXRydWUgLSBWYWx1ZSB0byByZXR1cm4gaWYgYCRjb25kaXRpb25gIGlzIHRydXRoeVxuLy8vIEByZXR1cm4ge01peGVkfSBWYWx1ZSBvZiBgJGlmLXRydWVgIGlmIGAkY29uZGl0aW9uYCBpcyB0cnV0aHksIGVsc2UgbnVsbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBkZXByZWNhdGVkIFdlIHdpbGwgYmUgcmVtb3ZpbmcgdGhpcyBmdW5jdGlvbiBpbiBhIGZ1dHVyZSByZWxlYXNlLCB1c2UgYGlmKCRjb25kaXRpb24sICRpZi10cnVlLCBudWxsKTtgIGluc3RlYWQuXG5cbkBmdW5jdGlvbiBpZmYoJGNvbmRpdGlvbiwgJGlmLXRydWUpIHtcbiAgQHdhcm4gXCJUaGUgYGlmZmAgZnVuY3Rpb24gd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UsIHVzZSBgaWYoJGNvbmRpdGlvbiwgJGlmLXRydWUsIG51bGwpO2AgaW5zdGVhZC5cIjtcbiAgQHJldHVybiBpZigkY29uZGl0aW9uLCAkaWYtdHJ1ZSwgbnVsbCk7XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzL2Fzc2V0c1xuLy8vL1xuXG4vLy8gSW1hZ2UgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBpbWFnZS11cmwgaGFuZGxlciBpcyBkZWZpbmVkICgkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uKSB0aGVuXG4vLy8gaXQgd2lsbCBiZSBjYWxsZWQsIG90aGVyd2lzZSBhIHVybCB3aWxsIGJlIHJldHVybmVkIHdpdGggdGhlIGZpbGVuYW1lXG4vLy8gYXBwZW5kZWQgdG8gdGhlIGltYWdlIHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gRmlsZW5hbWUgZm9yIHRoZSBpbWFnZSB0byBsb2FkXG4vLy8gQHJldHVybiB7U3RyaW5nfSBVUkwgZm9yIHRoZSBmaWxlbmFtZSwgd3JhcHBlZCBpbiBgdXJsKClgXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWltYWdlLXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWltYWdlLXVybC1mdW5jdGlvblwiKVxuICAgIGFuZCAkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uXG4gICAgYW5kIGZ1bmN0aW9uLWV4aXN0cygkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKGdldC1mdW5jdGlvbigkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uKSwgJGZpbGVuYW1lKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiB1cmwoJGdvdnVrLWltYWdlcy1wYXRoICsgJGZpbGVuYW1lKTtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29scy91bml0LWNvbnZlcnNpb25cbi8vLy9cblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gTGVuZ3RoIGluIHBpeGVsc1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29udGV4dC1mb250LXNpemUgLSBGb250IHNpemUgb2YgZWxlbWVudFxuLy8vIEByZXR1cm4ge051bWJlcn0gTGVuZ3RoIGluIGVtc1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1lbSgkdmFsdWUsICRjb250ZXh0LWZvbnQtc2l6ZSkge1xuICBAaWYgKHVuaXRsZXNzKCR2YWx1ZSkpIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAqIDFweDtcbiAgfVxuICBAaWYgKHVuaXRsZXNzKCRjb250ZXh0LWZvbnQtc2l6ZSkpIHtcbiAgICAkY29udGV4dC1mb250LXNpemU6ICRjb250ZXh0LWZvbnQtc2l6ZSAqIDFweDtcbiAgfVxuICBAcmV0dXJuICR2YWx1ZSAvICRjb250ZXh0LWZvbnQtc2l6ZSAqIDFlbTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHMvdW5pdC1jb252ZXJzaW9uXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byByZW1cbi8vL1xuLy8vIFRoZSAkZ292dWstcm9vdC1mb250LXNpemUgKGRlZmluZWQgaW4gc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzKVxuLy8vIG11c3QgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGUgZm9udC1zaXplIG9mIHlvdXIgcm9vdCAoaHRtbCkgZWxlbWVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiByZW1zXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXB4LXRvLXJlbSgkdmFsdWUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAvICRnb3Z1ay1yb290LWZvbnQtc2l6ZSAqIDFyZW07XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJjb2xvdXJcIjtcbkBpbXBvcnQgXCJkZXZpY2UtcGl4ZWxzXCI7XG5AaW1wb3J0IFwiZm9jdXNlZFwiO1xuQGltcG9ydCBcImZvbnQtZmFjZXNcIjtcbkBpbXBvcnQgXCJncmlkXCI7XG5AaW1wb3J0IFwibGlua3NcIjtcbkBpbXBvcnQgXCJtZWRpYS1xdWVyaWVzXCI7XG5AaW1wb3J0IFwic2hhcGUtYXJyb3dcIjtcbkBpbXBvcnQgXCJzcGFjaW5nXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcInZpc3VhbGx5LWhpZGRlblwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2xheW91dFxuLy8vL1xuXG4vLy8gQ2xlYXIgZmxvYXRlZCBjb250ZW50IHdpdGhpbiBhIGNvbnRhaW5lciB1c2luZyBhIHBzZXVkbyBlbGVtZW50XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIE1lZGlhIHF1ZXJ5IGZvciByZXRpbmEgaW1hZ2VzIChkZXZpY2UtcGl4ZWwtcmF0aW8pXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJhdGlvIFsyXSAtIERldmljZSBwaXhlbCByYXRpb1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IHdpbGwgYmUgb3V0cHV0dGVkIHdpdGhpbiB0aGUgbWVkaWEgcXVlcnlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBQcm92aWRpbmcgYSBAMnggaW1hZ2UgZm9yIHNjcmVlbnMgdGhhdCBzdXBwb3J0IGl0XG4vLy8gICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS5wbmdcIik7XG4vLy9cbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbyB7XG4vLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLTJ4LnBuZ1wiKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2luZyBhIGN1c3RvbSByYXRpb1xuLy8vICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UucG5nXCIpO1xuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0yeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbygzKSB7XG4vLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLTN4LnBuZ1wiKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8oJHJhdGlvOiAyKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIGluZGVudGF0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAjeygkcmF0aW8gKiA5Nil9ZHBpKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAjeyRyYXRpb31kcHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvYWNjZXNzaWJpbGl0eVxuLy8vL1xuXG4vLy8gRm9jdXNlZCB0ZXh0XG4vLy9cbi8vLyBQcm92aWRlcyBhbiBvdXRsaW5lIHRvIGNsZWFybHkgaW5kaWNhdGUgd2hlbiB0aGUgdGFyZ2V0IGVsZW1lbnQgaXMgZm9jdXNlZC5cbi8vLyBVc2VkIGZvciBpbnRlcmFjdGl2ZSB0ZXh0LWJhc2VkIGVsZW1lbnRzLlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvY3VzZWQtdGV4dCB7XG4gIC8vIFdoZW4gY29sb3VycyBhcmUgb3ZlcnJpZGRlbiwgZm9yIGV4YW1wbGUgd2hlbiB1c2VycyBoYXZlIGEgZGFyayBtb2RlLFxuICAvLyBiYWNrZ3JvdW5kcyBhbmQgYm94LXNoYWRvd3MgZGlzYXBwZWFyLCBzbyB3ZSBuZWVkIHRvIGVuc3VyZSB0aGVyZSdzIGFcbiAgLy8gdHJhbnNwYXJlbnQgb3V0bGluZSB3aGljaCB3aWxsIGJlIHNldCB0byBhIHZpc2libGUgY29sb3VyLlxuXG4gIC8vIFNpbmNlIEludGVybmV0IEV4cGxvcmVyIDggZG9lcyBub3Qgc3VwcG9ydCBib3gtc2hhZG93LCB3ZSB3YW50IHRvIGZvcmNlIHRoZVxuICAvLyB1c2VyLWFnZW50IG91dGxpbmVzXG4gIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICBib3gtc2hhZG93OiAwIC0ycHggJGdvdnVrLWZvY3VzLWNvbG91ciwgMCA0cHggJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAvLyBXaGVuIGxpbmsgaXMgZm9jdXNzZWQsIGhpZGUgdGhlIGRlZmF1bHQgdW5kZXJsaW5lIHNpbmNlIHRoZVxuICAvLyBib3ggc2hhZG93IGFkZHMgdGhlIFwidW5kZXJsaW5lXCJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9leHBvcnRzXCI7XG5cbi8vLyBGb250IEZhY2UgLSBHRFMgVHJhbnNwb3J0XG4vLy9cbi8vLyBPdXRwdXRzIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb24gZm9yIEdEUyBUcmFuc3BvcnQgYXQgdGhlIHJvb3Qgb2YgdGhlIENTUyBkb2N1bWVudFxuLy8vIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWZvbnQtZmFjZS1nZHMtdHJhbnNwb3J0IHtcbiAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7IC8vIEluIElFOCwgd2hpY2ggY2Fubm90IHJlbmRlciBXT0ZGIGZvcm1hdCwgd2UgZmFsbCBiYWNrIHRvIHN5c3RlbSBmb250c1xuICAgIEBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9oZWxwZXJzL2ZvbnQtZmFjZXNcIikge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAvKiEgQ29weXJpZ2h0IChjKSAyMDExIGJ5IE1hcmdhcmV0IENhbHZlcnQgJiBIZW5yaWsgS3ViZWwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoZSBmb250IGhhcyBiZWVuIGN1c3RvbWlzZWQgZm9yIGV4Y2x1c2l2ZSB1c2Ugb24gZ292LnVrLiBUaGlzIGN1dCBpcyBub3QgY29tbWVyY2lhbGx5IGF2YWlsYWJsZS4gKi8gLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSBzY3NzL2NvbW1lbnQtbm8tbG91ZCAgKi9cbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIHNyYzpcbiAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtOTRhMDdlMDZhMS12Mi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwibGlnaHQtZjU5MWIxM2Y3ZC12Mi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBmb250LWZhY2Uge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIjtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgc3JjOlxuICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWI1NDJiZWIyNzQtdjIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtYWZmYTk2NTcxZC12Mi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2xheW91dFxuLy8vL1xuXG4vLy8gR3JpZCB3aWR0aCBwZXJjZW50YWdlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIE5hbWUgb2YgZ3JpZCB3aWR0aCAoZS5nLiB0d28tdGhpcmRzKVxuLy8vIEByZXR1cm4ge051bWJlcn0gUGVyY2VudGFnZSB3aWR0aFxuLy8vIEB0aHJvdyBpZiBgJGtleWAgaXMgbm90IGEgdmFsaWQgZ3JpZCB3aWR0aFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1ncmlkLXdpZHRoKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRnb3Z1ay1ncmlkLXdpZHRocywgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZ292dWstZ3JpZC13aWR0aHMsICRrZXkpO1xuICB9XG5cbiAgQGVycm9yIFwiVW5rbm93biBncmlkIHdpZHRoIGAjeyRrZXl9YFwiO1xufVxuXG4vLy8gR2VuZXJhdGUgZ3JpZCBjb2x1bW4gc3R5bGVzXG4vLy9cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gd2l0aCBzdGFuZGFyZCBndXR0ZXIgYmV0d2VlbiB0aGUgY29sdW1ucy5cbi8vL1xuLy8vIEdyaWQgd2lkdGhzIGFyZSBkZWZpbmVkIGluIHRoZSBgJGdvdnVrLWdyaWQtd2lkdGhzYCBtYXAuXG4vLy9cbi8vLyBCeSBkZWZhdWx0IHRoZSBjb2x1bW4gd2lkdGggY2hhbmdlcyBmcm9tIDEwMCUgdG8gc3BlY2lmaWVkIHdpZHRoIGF0IHRoZVxuLy8vICd0YWJsZXQnIGJyZWFrcG9pbnQsIGJ1dCBvdGhlciBicmVha3BvaW50cyBjYW4gYmUgc3BlY2lmaWVkIHVzaW5nIHRoZSBgJGF0YFxuLy8vIHBhcmFtZXRlci5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggW2Z1bGxdIG5hbWUgb2YgYSBncmlkIHdpZHRoIGZyb20gJGdvdnVrLWdyaWQtd2lkdGhzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRmbG9hdCBbbGVmdF0gbGVmdCB8IHJpZ2h0XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRhdCBbdGFibGV0XSAtIG1vYmlsZSB8IHRhYmxldCB8IGRlc2t0b3AgfCBhbnkgY3VzdG9tIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEZWZhdWx0XG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcyB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMpXG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGJyZWFrcG9pbnQgd2hlcmUgd2lkdGggcGVyY2VudGFnZSBpcyBhcHBsaWVkXG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGYtYXQtZGVza3RvcCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkYXQ6IGRlc2t0b3ApO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBmbG9hdCBkaXJlY3Rpb25cbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZi1yaWdodCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRmbG9hdDogcmlnaHQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aDogZnVsbCwgJGZsb2F0OiBsZWZ0LCAkYXQ6IHRhYmxldCkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBAaWYgJGF0ICE9IGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIHBhZGRpbmc6IDAgJGdvdnVrLWd1dHRlci1oYWxmO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGF0KSB7XG4gICAgd2lkdGg6IGdvdnVrLWdyaWQtd2lkdGgoJHdpZHRoKTtcbiAgICBmbG9hdDogJGZsb2F0O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvbGlua3Ncbi8vLy9cblxuLy8vIENvbW1vbiBsaW5rIG1peGluXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgfVxufVxuXG4vLy8gRGVmYXVsdCBsaW5rIHN0eWxlIG1peGluXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgZGVmYXVsdCB1bnZpc2l0ZWQsIHZpc2l0ZWQsIGhvdmVyIGFuZCBhY3RpdmUgc3RhdGVzIGZvciBsaW5rcy5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdCB7XG4gICY6bGluayB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmsgIHMgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMgc29cbiAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEVycm9yIGxpbmsgc3R5bGUgbWl4aW5cbi8vL1xuLy8vIFByb3ZpZGVzIHRoZSBlcnJvciB1bnZpc2l0ZWQsIHZpc2l0ZWQsIGhvdmVyIGFuZCBhY3RpdmUgc3RhdGVzIGZvciBsaW5rcy5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1lcnJvcjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLWVycm9yIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHNjYWxlLWNvbG9yKCRnb3Z1ay1lcnJvci1jb2xvdXIsICRsaWdodG5lc3M6IC0zMCUpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGluayAgcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycyBzb1xuICAvLyBzbyB0aGF0IHVudmlzaXRlZCBsaW5rcyBzdHlsZWQgYXMgYnV0dG9ucyBkbyBub3QgZW5kIHVwIHdpdGggZGFyayBibHVlXG4gIC8vIHRleHQgd2hlbiBmb2N1c3NlZC5cbiAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICY6bGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU3VjY2VzcyBsaW5rIHN0eWxlIG1peGluXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgc3VjY2VzcyB1bnZpc2l0ZWQsIHZpc2l0ZWQsIGhvdmVyIGFuZCBhY3RpdmUgc3RhdGVzIGZvciBsaW5rcy5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1zdWNjZXNzO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtc3VjY2VzcyB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLXN1Y2Nlc3MtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHNjYWxlLWNvbG9yKCRnb3Z1ay1zdWNjZXNzLWNvbG91ciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmsgIHMgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMgc29cbiAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIE11dGVkIHN0eWxlIGxpbmsgbWl4aW5cbi8vL1xuLy8vIFVzZWQgZm9yIHNlY29uZGFyeSBsaW5rcyBvbiBhIHBhZ2UgLSB0aGUgbGluayB3aWxsIGFwcGVhciBpbiBtdXRlZCBjb2xvdXJzXG4vLy8gcmVnYXJkbGVzcyBvZiB2aXNpdGVkIHN0YXRlLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50IHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBnb3Z1ay1saW5rLWNvbW1vbiBtaXhpbiBpbiBvcmRlciB0byBnZXQgdGhlIGZvY3VzIHN0YXRlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW11dGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCxcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3IgZGVzaWduZWRcbiAgLy8gdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzbyB3ZSBuZWVkIHRvXG4gIC8vIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBUZXh0IHN0eWxlIGxpbmsgbWl4aW5cbi8vL1xuLy8vIE92ZXJyaWRlcyB0aGUgY29sb3VyIG9mIGxpbmtzIHRvIG1hdGNoIHRoZSB0ZXh0IGNvbG91ci4gR2VuZXJhbGx5IHVzZWQgYnlcbi8vLyBuYXZpZ2F0aW9uIGNvbXBvbmVudHMsIHN1Y2ggYXMgYnJlYWRjcnVtYnMgb3IgdGhlIGJhY2sgbGluay5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtdGV4dCB7XG4gIC8vIE92ZXJyaWRlIGxpbmsgY29sb3VyIHRvIHVzZSB0ZXh0IGNvbG91clxuICAmOmxpbmssXG4gICY6dmlzaXRlZCxcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3IgZGVzaWduZWRcbiAgLy8gdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzbyB3ZSBuZWVkIHRvXG4gIC8vIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBObyB2aXNpdGVkIHN0YXRlIGxpbmsgbWl4aW5cbi8vL1xuLy8vIFVzZWQgaW4gY2FzZXMgd2hlcmUgaXQgaXMgbm90IGhlbHBmdWwgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB2aXNpdGVkIGFuZFxuLy8vIG5vbi12aXNpdGVkIGxpbmtzLlxuLy8vXG4vLy8gRm9yIGV4YW1wbGUsIG5hdmlnYXRpb24gbGlua3MgdG8gcGFnZXMgd2l0aCBkeW5hbWljIGNvbnRlbnQgbGlrZSBhZG1pblxuLy8vIGRhc2hib2FyZHMuIFRoZSBjb250ZW50IG9uIHRoZSBwYWdlIGlzIGNoYW5naW5nIGFsbCB0aGUgdGltZSwgc28gdGhlIGZhY3Rcbi8vLyB0aGF0IHlvdeKAmXZlIHZpc2l0ZWQgaXQgYmVmb3JlIGlzIG5vdCBpbXBvcnRhbnQuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBQcmludCBmcmllbmRseSBsaW5rIG1peGluXG4vLy9cbi8vLyBXaGVuIHByaW50aW5nLCBhcHBlbmQgdGhlIHRoZSBkZXN0aW5hdGlvbiBVUkwgdG8gdGhlIGxpbmsgdGV4dCwgYXMgbG9uZ1xuLy8vIGFzIHRoZSBVUkwgc3RhcnRzIHdpdGggZWl0aGVyIGAvYCwgYGh0dHA6Ly9gIG9yIGBodHRwczovL2AuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1wcmludC1mcmllbmRseSB7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICZbaHJlZl49XCIvXCJdLFxuICAgICZbaHJlZl49XCJodHRwOi8vXCJdLFxuICAgICZbaHJlZl49XCJodHRwczovL1wiXSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuXG4gICAgICAgIC8vIEJlY2F1c2UgdGhlIFVSTHMgbWF5IGJlIHZlcnkgbG9uZywgZW5zdXJlIHRoYXQgdGhleSBtYXkgYmUgYnJva2VuXG4gICAgICAgIC8vIGF0IGFyYml0cmFyeSBwb2ludHMgaWYgdGhlcmUgYXJlIG5vIG90aGVyd2lzZSBhY2NlcHRhYmxlIGJyZWFrXG4gICAgICAgIC8vIHBvaW50cyBpbiB0aGUgbGluZVxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvbGF5b3V0XG4vLy8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV3JhbmdsZSBzYXNzLW1xIGNvbmZpZy4uLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFBhc3Mgb3VyIGJyZWFrcG9pbnRzIGFuZCBzdGF0aWMgYnJlYWtwb2ludCBkZWZpbml0aW9ucyB0aHJvdWdoIHRvIHNhc3MtbXEuXG4kbXEtYnJlYWtwb2ludHM6IGlmKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1icmVha3BvaW50cyksICRnb3Z1ay1icmVha3BvaW50cywgKCkpO1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBpZih2YXJpYWJsZS1leGlzdHMoZ292dWstaWU4LWJyZWFrcG9pbnQpLCAkZ292dWstaWU4LWJyZWFrcG9pbnQsIGRlc2t0b3ApO1xuXG4kbXEtc2hvdy1icmVha3BvaW50czogKCk7XG5cbkBpZiAodmFyaWFibGUtZXhpc3RzKGdvdnVrLXNob3ctYnJlYWtwb2ludHMpIGFuZCAkZ292dWstc2hvdy1icmVha3BvaW50cykge1xuICAkbXEtc2hvdy1icmVha3BvaW50czogbWFwLWtleXMoJGdvdnVrLWJyZWFrcG9pbnRzKTtcbn1cblxuLy8gV2hlbiBidWlsZGluZyBhIHN0eWxlc2hlZXQgZm9yIElFOCwgc2V0ICRtcS1yZXNwb25zaXZlIHRvIGZhbHNlIGluIG9yZGVyIHRvXG4vLyAncmFzdGVyaXplJyBhbnkgbWVkaWEgcXVlcmllcy5cblxuJG1xLXJlc3BvbnNpdmU6IHRydWU7XG5AaWYgKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1pcy1pZTgpIGFuZCAkZ292dWstaXMtaWU4KSB7XG4gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbn1cblxuLy8gVGhpcyBpcyBhIGhvcnJpYmxlLCBob3JyaWJsZSBoYWNrIHRvIHByZXZlbnQgdGhlICdkZXYgbW9kZScgQ1NTIHRvIGRpc3BsYXlcbi8vIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgZnJvbSBiZWluZyBpbmNsdWRlZCBtdWx0aXBsZSB0aW1lcy5cbi8vXG4vLyBXZSBjYW4ndCB1c2UgdGhlIGBleHBvcnRzYCBtaXhpbiBmb3IgdGhpcyBiZWNhdXNlIGltcG9ydCBkaXJlY3RpdmVzIGNhbm5vdCBiZVxuLy8gdXNlZCB3aXRoaW4gY29udHJvbCBkaXJlY3RpdmVzIPCfmKBcbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgJHNhc3MtbXEtYWxyZWFkeS1pbmNsdWRlZCB7XG4gICRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKTtcbn1cblxuQGltcG9ydCBcIi4uL3ZlbmRvci9zYXNzLW1xXCI7XG5cbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IHRydWU7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBNZWRpYSBRdWVyeVxuLy8vXG4vLy8gVGhpcyBpcyBhIGN1cnJlbnRseSBhIHdyYXBwZXIgZm9yIHNhc3MtbXEgLSBhYnN0cmFjdGVkIHNvIHRoYXQgd2UgY2FuXG4vLy8gcmVwbGFjZSBpdCBpbiB0aGUgZnV0dXJlIGlmIHdlIHNvIGNob29zZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gW2ZhbHNlXSAtIE9uZSBvZiAkZ292dWstYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCBbZmFsc2VdIC0gT25lIG9mICRnb3Z1ay1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCBbZmFsc2VdIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlIFthbGxdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgbXEgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskZ292dWstYnJlYWtwb2ludHNdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50IFskZ292dWstaWU4LWJyZWFrcG9pbnRdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge0Jvb2xlYW59ICRyZXNwb25zaXZlIFskZ292dWstaXMtaWU4XVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1tZWRpYS1xdWVyeSgkYXJncy4uLikge1xuICBAaW5jbHVkZSBtcSgkYXJncy4uLikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBtcSgpIHY0LjAuMlxuLy8gc2Fzcy1tcS9zYXNzLW1xXG5cbkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGFuZCAkbWVkaWEtdHlwZSAhPSAncHJpbnQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xuICAgICRsZXNzOiAgKCk7XG4gICAgJGVxdWFsOiAoKTtcbiAgICAkbGFyZ2U6ICgpO1xuXG4gICAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xuXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxhcmdlOiBhcHBlbmQoJGxhcmdlLCAkaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAgICRrZXk6IG50aCgkbWFwLWtleXMsICRpbmRleCk7XG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcblxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcbn1cblxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgKCRtcS1zaG93LWJyZWFrcG9pbnRzKSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbi8vL1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBib2R5OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9zaGFwZXNcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlXG4vLy9cbi8vLyBNdWx0aXBseWluZyBoYWxmIHRoZSBsZW5ndGggb2YgdGhlIGJhc2Ugb2YgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGUgYnkgdGhlXG4vLy8gc3F1YXJlIHJvb3Qgb2YgdGhyZWUgZ2l2ZXMgdXMgaXRzIGhlaWdodC4gV2UgdXNlIDEuNzMyIGFzIGFuIGFwcHJveGltYXRpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIGJhc2Ugb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQHJldHVybiB7TnVtYmVyfSBDYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgdHJpYW5nbGVcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpIHtcbiAgJHNxdWFyZS1yb290LW9mLXRocmVlOiAxLjczMjtcblxuICBAcmV0dXJuICgkYmFzZSAvIDIpICogJHNxdWFyZS1yb290LW9mLXRocmVlO1xufVxuXG4vLy8gQXJyb3cgbWl4aW5cbi8vL1xuLy8vIEdlbmVyYXRlIEFycm93cyAodHJpYW5nbGVzKSBieSB1c2luZyBhIG1peCBvZiB0cmFuc3BhcmVudCAoMSkgYW5kIGNvbG91cmVkXG4vLy8gYm9yZGVycy4gVGhlIGNvbG91cmVkIGJvcmRlcnMgaW5oZXJpdCB0aGUgdGV4dCBjb2xvdXIgb2YgdGhlIGVsZW1lbnQgKDIpLlxuLy8vXG4vLy8gRW5zdXJlIHRoZSBhcnJvdyBpcyByZW5kZXJlZCBjb3JyZWN0bHkgaWYgYnJvd3NlciBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGJ5XG4vLy8gcHJvdmlkaW5nIGEgY2xpcCBwYXRoICgzKS4gV2l0aG91dCB0aGlzIHRoZSB0cmFuc3BhcmVudCBib3JkZXJzIGFyZVxuLy8vIG92ZXJyaWRkZW4gdG8gYmVjb21lIHZpc2libGUgd2hpY2ggcmVzdWx0cyBpbiBhIHNxdWFyZS5cbi8vL1xuLy8vIFdlIG5lZWQgYm90aCBiZWNhdXNlIG9sZGVyIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGNsaXAtcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIC0gRGlyZWN0aW9uIGZvciBhcnJvdzogdXAsIHJpZ2h0LCBkb3duLCBsZWZ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIExlbmd0aCBvZiB0aGUgdHJpYW5nbGUgJ2Jhc2UnIHNpZGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbbnVsbF0gLSBIZWlnaHQgb2YgdHJpYW5nbGUuIE9taXQgZm9yIGVxdWlsYXRlcmFsLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdIC0gQ1NTIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGFycm93XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbiwgJGJhc2UsICRoZWlnaHQ6IG51bGwsICRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIDFcblxuICAkcGVycGVuZGljdWxhcjogJGJhc2UgLyAyO1xuXG4gIEBpZiAoJGhlaWdodCA9PSBudWxsKSB7XG4gICAgJGhlaWdodDogX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSA1MCUsIDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDUwJSAxMDAlLCAxMDAlIDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXI7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAxMDAlLCAxMDAlIDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJHBlcnBlbmRpY3VsYXIgJGhlaWdodCAkcGVycGVuZGljdWxhciAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGFycm93IGRpcmVjdGlvbjogZXhwZWN0ZWQgYHVwYCwgYHJpZ2h0YCwgYGRvd25gIG9yIGBsZWZ0YCwgZ290IGAjeyRkaXJlY3Rpb259YFwiO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvc3BhY2luZ1xuLy8vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvblxuXG4vLy8gU2luZ2xlIHBvaW50IHNwYWNpbmdcbi8vL1xuLy8vIFJldHVybnMgbWVhc3VyZW1lbnQgY29ycmVzcG9uZGluZyB0byB0aGUgc3BhY2luZyBwb2ludCByZXF1ZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgc3BhY2luZyBzY2FsZSAoc2V0IGluIGBzZXR0aW5ncy9fc3BhY2luZy5zY2NzYClcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IFNwYWNpbmcgTWVhc3VyZW1lbnQgZWcuIDEwcHhcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg1KTtcbi8vLyAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpICFpbXBvcnRhbnQ7IC8vIGlmIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZFxuLy8vICAgfVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1zcGFjaW5nKCRzcGFjaW5nLXBvaW50KSB7XG5cbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRzcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICsgXCIjeyRhY3R1YWwtaW5wdXQtdHlwZX0uXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgdmFyaWFibGUgYCN7JHNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSBzcGFjaW5nIHNjYWxlIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYC5cIjtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLWdldCgkZ292dWstc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KTtcbn1cblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIHNwYWNpbmcgKGVpdGhlciBwYWRkaW5nIG9yIG1hcmdpbiwgZGVwZW5kaW5nIG9uIGAkcHJvcGVydHlgKVxuLy8vIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXNcbi8vLyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50IGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gVG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nLCB1c2UgJ2dvdnVrLXJlc3BvbnNpdmUtbWFyZ2luJyBvclxuLy8vICdnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcnIG1peGluc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nIGJ5XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJHByb3BlcnR5LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG5cbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICBAaWYgJGFjdHVhbC1pbnB1dC10eXBlICE9IFwibnVtYmVyXCIge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhIFwiICsgXCIjeyRhY3R1YWwtaW5wdXQtdHlwZX0uXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgcG9pbnQgYCN7JHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlIFwiXG4gICAgKyBcInJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuXCI7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgcmV0dXJuIHZhbHVlIGZyb20gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgIGlzIGEgbWFwLlxuICAkc2NhbGUtbWFwOiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICAkYWN0dWFsLW1hcC10eXBlOiB0eXBlLW9mKCRzY2FsZS1tYXApO1xuICBAaWYgJGFjdHVhbC1tYXAtdHlwZSAhPSBcIm1hcFwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICsgXCIjeyRhY3R1YWwtbWFwLXR5cGV9LiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIG1hcCB0byBzZXQgdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2ApXCI7XG4gIH1cblxuICAvLyBMb29wIHRocm91Z2ggZWFjaCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LXZhbHVlIGluICRzY2FsZS1tYXAge1xuXG4gICAgQGlmICgkYWRqdXN0bWVudCkge1xuICAgICAgJGJyZWFrcG9pbnQtdmFsdWU6ICRicmVha3BvaW50LXZhbHVlICsgJGFkanVzdG1lbnQ7XG4gICAgfVxuXG4gICAgLy8gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4gICAgQGlmICRicmVha3BvaW50ID09IG51bGwge1xuXG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVzcG9uc2l2ZSBtYXJnaW5cbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBtYXJnaW4gYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmVcbi8vLyBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnRcbi8vLyBicmVha3BvaW50cy4gV3JhcHBlciBmb3IgdGhlIGBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nYCBtaXhpbi5cbi8vL1xuLy8vIEBzZWUge21peGlufSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vLyBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmcgYnlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwibGVmdFwiLCAkYWRqdXN0bWVudDogMXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgXCJtYXJnaW5cIiwgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xufVxuXG4vLy8gUmVzcG9uc2l2ZSBwYWRkaW5nXG4vLy9cbi8vLyBBZGRzIHJlc3BvbnNpdmUgcGFkZGluZyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgXCJwYWRkaW5nXCIsICRkaXJlY3Rpb24sICRpbXBvcnRhbnQsICRhZGp1c3RtZW50KTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy90eXBvZ3JhcGh5XG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9weC10by1yZW1cIjtcblxuLy8vICdDb21tb24gdHlwb2dyYXBoeScgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSBmb250IGZhbWlseSBhbmQgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzLCBzdWNoIGFzIGZvbnQgc21vb3RoaW5nLiBBbHNvXG4vLy8gb3ZlcnJpZGVzIHRoZSBmb250IGZvciBwcmludC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGZvbnQtZmFtaWx5IFskZ292dWstZm9udC1mYW1pbHldIEZvbnQgZmFtaWx5IHRvIHVzZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigkZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseSkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAvLyBJZiB0aGUgdXNlciBpcyB1c2luZyB0aGUgZGVmYXVsdCBHRFMgVHJhbnNwb3J0IGZvbnQgd2UgbmVlZCB0byBpbmNsdWRlXG4gIC8vIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb25zLlxuICAvL1xuICAvLyBXZSBkbyBub3QgbmVlZCB0byBpbmNsdWRlIHRoZSBHRFMgVHJhbnNwb3J0IGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMgaWZcbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaXMgYmVpbmcgdXNlZCBzaW5jZSBudGEgd2lsbCBhbHJlYWR5IGJlIGluY2x1ZGVkIGJ5XG4gIC8vIGRlZmF1bHQuXG4gIEBpZiAoJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2UpIHtcbiAgICBAaW5jbHVkZSBfZ292dWstZm9udC1mYWNlLWdkcy10cmFuc3BvcnQ7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LXByaW50O1xuICB9XG59XG5cbi8vLyBUZXh0IGNvbG91ciBoZWxwZXJcbi8vL1xuLy8vIFNldHMgdGhlIHRleHQgY29sb3VyLCBpbmNsdWRpbmcgYSBzdWl0YWJsZSBvdmVycmlkZSBmb3IgcHJpbnQuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdGV4dC1jb2xvdXIge1xuICBjb2xvcjogJGdvdnVrLXRleHQtY29sb3VyO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGNvbG9yOiAkZ292dWstcHJpbnQtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIFJlZ3VsYXIgZm9udCB3ZWlnaHQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXIoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgZm9udC13ZWlnaHQ6ICRnb3Z1ay1mb250LXdlaWdodC1yZWd1bGFyIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xufVxuXG4vLy8gQm9sZCBmb250IHdlaWdodCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJGdvdnVrLWZvbnQtd2VpZ2h0LWJvbGQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBDb252ZXJ0IGxpbmUtaGVpZ2h0cyBzcGVjaWZpZWQgaW4gcGl4ZWxzIGludG8gYSByZWxhdGl2ZSB2YWx1ZSwgdW5sZXNzXG4vLy8gdGhleSBhcmUgYWxyZWFkeSB1bml0LWxlc3MgKGFuZCB0aHVzIGFscmVhZHkgdHJlYXRlZCBhcyByZWxhdGl2ZSB2YWx1ZXMpXG4vLy8gb3IgdGhlIHVuaXRzIGRvIG5vdCBtYXRjaCB0aGUgdW5pdHMgdXNlZCBmb3IgdGhlIGZvbnQgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgTGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBGb250IHNpemVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBsaW5lIGhlaWdodCBhcyBlaXRoZXIgYSByZWxhdGl2ZSB2YWx1ZSBvciB1bm1vZGlmaWVkXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkbGluZS1oZWlnaHQpIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gdW5pdCgkZm9udC1zaXplKSB7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplO1xuICB9XG5cbiAgQHJldHVybiAkbGluZS1oZWlnaHQ7XG59XG5cbi8vLyBSZXNwb25zaXZlIHR5cG9ncmFwaHkgaGVscGVyXG4vLy9cbi8vLyBUYWtlcyBhICdmb250IG1hcCcgYXMgYW4gYXJndW1lbnQgYW5kIHVzZXMgaXQgdG8gY3JlYXRlIGZvbnQtc2l6ZSBhbmRcbi8vLyBsaW5lLWhlaWdodCBkZWNsYXJhdGlvbnMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50cywgYW5kIGZvciBwcmludC5cbi8vL1xuLy8vIEV4YW1wbGUgZm9udCBtYXA6XG4vLy9cbi8vLyAkbXktZm9udC1tYXA6IChcbi8vLyAgIG51bGw6IChcbi8vLyAgICAgZm9udC1zaXplOiAxNnB4LFxuLy8vICAgICBsaW5lLWhlaWdodDogMjBweFxuLy8vICAgKSxcbi8vLyAgIHRhYmxldDogKFxuLy8vICAgICBmb250LXNpemU6IDE5cHgsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAyNXB4XG4vLy8gICApLFxuLy8vICAgcHJpbnQ6IChcbi8vLyAgICAgZm9udC1zaXplOiAxNHB0LFxuLy8vICAgICBsaW5lLWhlaWdodDogMS4xNVxuLy8vICAgKVxuLy8vICk7XG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJGZvbnQtbWFwIC0gRm9udCBtYXBcbi8vLyBAcGFyYW0ge051bWJlcn0gJG92ZXJyaWRlLWxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBOb24gcmVzcG9uc2l2ZSBjdXN0b20gbGluZVxuLy8vICAgaGVpZ2h0LiBPbWl0IHRvIHVzZSB0aGUgbGluZSBoZWlnaHQgZnJvbSB0aGUgZm9udCBtYXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IGZhbHNlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUsICRzaXplKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBmb250IHNpemUgYCN7JHNpemV9YCAtIGV4cGVjdGVkIGEgcG9pbnQgZnJvbSB0aGUgdHlwb2dyYXBoeSBzY2FsZS5cIjtcbiAgfVxuXG4gICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC1tYXAgaW4gJGZvbnQtbWFwIHtcbiAgICAkZm9udC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJmb250LXNpemVcIik7XG4gICAgJGZvbnQtc2l6ZS1yZW06IGdvdnVrLXB4LXRvLXJlbSgkZm9udC1zaXplKTtcblxuICAgICRsaW5lLWhlaWdodDogX2dvdnVrLWxpbmUtaGVpZ2h0KFxuICAgICAgJGxpbmUtaGVpZ2h0OiBpZihcbiAgICAgICAgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAkb3ZlcnJpZGUtbGluZS1oZWlnaHQsXG4gICAgICAgIG1hcC1nZXQoJGJyZWFrcG9pbnQtbWFwLCBcImxpbmUtaGVpZ2h0XCIpXG4gICAgICApLFxuICAgICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZVxuICAgICk7XG5cbiAgICAvLyBNYXJrIHJ1bGVzIGFzICFpbXBvcnRhbnQgaWYgJGltcG9ydGFudCBpcyB0cnVlIC0gdGhpcyB3aWxsIHJlc3VsdCBpblxuICAgIC8vIHRoZXNlIHZhcmlhYmxlcyBiZWNvbWluZyBzdHJpbmdzLCBzbyB0aGlzIG5lZWRzIHRvIGhhcHBlbiAqYWZ0ZXIqIHRoZXlcbiAgICAvLyBhcmUgdXNlZCBpbiBjYWxjdWxhdGlvbnNcbiAgICAkZm9udC1zaXplOiAkZm9udC1zaXplIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICRmb250LXNpemUtcmVtOiAkZm9udC1zaXplLXJlbSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAkbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcbiAgICAgIH1cbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfSBAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBcInByaW50XCIge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcmVtO1xuICAgICAgICB9XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBGb250IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gU2l6ZSBvZiB0aGUgZm9udCBhcyBpdCB3b3VsZCBhcHBlYXIgb24gZGVza3RvcCAtXG4vLy8gICB1c2VzIHRoZSByZXNwb25zaXZlIGZvbnQgc2l6ZSBtYXBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdlaWdodCBbcmVndWxhcl0gLSBXZWlnaHQ6IGBib2xkYCBvciBgcmVndWxhcmBcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR0YWJ1bGFyIFtmYWxzZV0gLSBXaGV0aGVyIHRvIHVzZSB0YWJ1bGFyIG51bWJlcnMgb3Igbm90XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCBbZmFsc2VdIC0gTGluZS1oZWlnaHQsIGlmIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHRcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb250KCRzaXplLCAkd2VpZ2h0OiByZWd1bGFyLCAkdGFidWxhcjogZmFsc2UsICRsaW5lLWhlaWdodDogZmFsc2UpIHtcbiAgQGlmICR0YWJ1bGFyIHtcbiAgICAvLyBpZiBnb3Z1ay1mb250LWZhbWlseS10YWJ1bGFyIGlzIHNldCB1c2UgJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXJcbiAgICBAaWYgJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb24oJGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktdGFidWxhcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInRudW1cIiAxO1xuICAgICAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwidG51bVwiIDE7XG5cbiAgICAgIEBzdXBwb3J0cyAoZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcykge1xuICAgICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb247XG4gIH1cblxuICBAaWYgJHdlaWdodCA9PSByZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICB9IEBlbHNlIGlmICR3ZWlnaHQgPT0gYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIEBpZiAkc2l6ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9hY2Nlc3NpYmlsaXR5XG4vLy8vXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4vLy8gICAtIEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5LCBKb25hdGhhbiBTbm9vaywgRmVicnVhcnkgMjAxMVxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvOWYxMzY5NWQyMWZmOTJjNTVjNzhkZmE5ZjE2YmIwMmExYjZlOTExZi9zcmMvY3NzL21haW4uY3NzI0wxMjEtTDE1OFxuLy8vICAgLSBoNWJwL2h0bWw1LWJvaWxlcnBsYXRlIC0gVGhhbmtzIVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4oJGltcG9ydGFudDogdHJ1ZSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgd2lkdGg6IDFweCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgaGVpZ2h0OiAxcHggaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIC8vIElmIG1hcmdpbiBpcyBzZXQgdG8gYSBuZWdhdGl2ZSB2YWx1ZSBpdCBjYW4gY2F1c2UgdGV4dCB0byBiZSBhbm5vdW5jZWQgaW5cbiAgLy8gdGhlIHdyb25nIG9yZGVyIGluIFZvaWNlT3ZlciBmb3IgT1NYXG4gIG1hcmdpbjogMCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgcGFkZGluZzogMCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICBvdmVyZmxvdzogaGlkZGVuIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICBjbGlwOiByZWN0KDAgMCAwIDApIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgYm9yZGVyOiAwIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnMgd2hpbHN0XG4vLy8gYWxsb3dpbmcgdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNlZCB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkIChlLmcuXG4vLy8gZm9yIHRoZSBza2lwIGxpbmspXG4vLy9cbi8vLyBUaGlzIGlzIHNsaWdodGx5IGxlc3Mgb3BpbmlvbmF0ZWQgYWJvdXQgYm9yZGVycyBhbmQgcGFkZGluZyB0byBtYWtlIGl0XG4vLy8gZWFzaWVyIHRvIHN0eWxlIHRoZSBmb2N1c3NlZCBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIHdpZHRoOiAxcHggaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIGhlaWdodDogMXB4IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAvLyBJZiBtYXJnaW4gaXMgc2V0IHRvIGEgbmVnYXRpdmUgdmFsdWUgaXQgY2FuIGNhdXNlIHRleHQgdG8gYmUgYW5ub3VuY2VkIGluXG4gIC8vIHRoZSB3cm9uZyBvcmRlciBpbiBWb2ljZU92ZXIgZm9yIE9TWFxuICBtYXJnaW46IDAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbiBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgICB3aWR0aDogYXV0byBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICBoZWlnaHQ6IGF1dG8gaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgbWFyZ2luOiBpbmhlcml0IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgb3ZlcmZsb3c6IHZpc2libGUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgY2xpcDogYXV0byBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogbm9uZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwibGlua3NcIjtcbkBpbXBvcnQgXCJsaXN0c1wiO1xuQGltcG9ydCBcInRlbXBsYXRlXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcInNlY3Rpb24tYnJlYWtcIjtcbkBpbXBvcnQgXCJnbG9iYWwtc3R5bGVzXCI7XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBjb3JlIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuXG4gICVnb3Z1ay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1wcmludC1mcmllbmRseTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgLy8gVmFyaWFudCBjbGFzc2VzIHNob3VsZCBhbHdheXMgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAuZ292dWstbGlua1xuICAvLyBjbGFzcywgc28gd2UgZG8gbm90IG5lZWQgdGhlIGNvbW1vbiBsaW5rIHN0eWxlcyBhcyB0aGV5IHdpbGwgYmUgaW5oZXJpdGVkLlxuXG4gIC5nb3Z1ay1saW5rLS1tdXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS10ZXh0LWNvbG91ciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgY29yZSBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpc3RzXCIpIHtcblxuICAlZ292dWstbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIC8vIEFkZCBhIHRvcCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICAgICVnb3Z1ay1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QgPiBsaSB7XG4gICAgLy8gTGlzdHMgd2l0aG91dCBudW1iZXJzIG9yIGJ1bGxldHMgc2hvdWxkIGFsd2F5cyBoYXZlIGV4dHJhIHNwYWNlIGJldHdlZW5cbiAgICAvLyBsaXN0IGl0ZW1zLiBMaXN0cyB3aXRoIG51bWJlcnMgb3IgYnVsbGV0cyBvbmx5IGhhdmUgdGhpcyBleHRyYSBzcGFjZSBvblxuICAgIC8vIHRhYmxldCBhbmQgYWJvdmVcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWxpc3Qge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3Q7XG4gIH1cblxuICAlZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLW51bWJlciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1idWxsZXQgPiBsaSxcbiAgJWdvdnVrLWxpc3QtLW51bWJlciA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstbGlzdC0tc3BhY2VkID4gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLWJ1bGxldDtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLW51bWJlcjtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1zcGFjZWQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLXNwYWNlZDtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgY29yZSBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3RlbXBsYXRlXCIpIHtcblxuICAvLyBBcHBsaWVkIHRvIHRoZSA8aHRtbD4gZWxlbWVudFxuICAuZ292dWstdGVtcGxhdGUge1xuICAgIC8vIFNldCB0aGUgb3ZlcmFsbCBwYWdlIGJhY2tncm91bmQgY29sb3VyIHRvIHRoZSBzYW1lIGNvbG91ciBhcyB1c2VkIGJ5IHRoZVxuICAgIC8vIGZvb3RlciB0byBnaXZlIHRoZSBpbGx1c2lvbiBvZiBhIGxvbmcgZm9vdGVyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICAvLyBQcmV2ZW50IGF1dG9tYXRpYyB0ZXh0IHNpemluZywgYXMgd2UgYWxyZWFkeSBjYXRlciBmb3Igc21hbGwgZGV2aWNlcyBhbmRcbiAgICAvLyB3b3VsZCBsaWtlIHRoZSBicm93c2VyIHRvIHN0YXkgb24gMTAwJSB0ZXh0IHpvb20gYnkgZGVmYXVsdC5cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgICAgLW1vei10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG5cbiAgICAvLyBGb3JjZSB0aGUgc2Nyb2xsYmFyIHRvIGFsd2F5cyBkaXNwbGF5IGluIElFLCB0byBwcmV2ZW50IGhvcml6b250YWwgcGFnZVxuICAgIC8vIGp1bXBzIGFzIGNvbnRlbnQgaGVpZ2h0IGNoYW5nZXMgKGUuZy4gYXV0b2NvbXBsZXRlIHJlc3VsdHMgb3BlbikuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxib2R5PiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZV9fYm9keSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgbWFyZ2lucyBzZXQgYnkgdXNlci1hZ2VudHMgYXJlIG5vdCByZXF1aXJlZCBzaW5jZSB3ZSBoYXZlIG91clxuICAgIC8vIG93biBjb250YWluZXJzLlxuICAgIG1hcmdpbjogMDtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgYm9keSBvZiB0aGUgcGFnZSBiYWNrIHRvIHRoZSB0eXBpY2FsIGJhY2tncm91bmQgY29sb3VyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuICB9XG59XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBjb3JlIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvdHlwb2dyYXBoeVwiKSB7XG5cbiAgLy8gSGVhZGluZ3NcblxuICAlZ292dWstaGVhZGluZy14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmcteGw7XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLWw7XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLW07XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1zIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXM7XG4gIH1cblxuICAvLyBDYXB0aW9ucyB0byBiZSB1c2VkIGluc2lkZSBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1jYXB0aW9uLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNyk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNhcHRpb24tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIEJvZHkgKHBhcmFncmFwaHMpXG5cbiAgJWdvdnVrLWJvZHktbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LWwge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbDtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cblxuICAlZ292dWstYm9keS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktcyB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1zO1xuICB9XG5cbiAgJWdvdnVrLWJvZHkteHMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS14cyB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS14cztcbiAgfVxuXG4gIC8vIFVzYWdlIGFsaWFzZXNcblxuICAvLyBVc2luZyBleHRlbmQgdG8gYWxpYXMgbWVhbnMgd2UgYWxzbyBpbmhlcml0IGFueSBjb250ZXh0dWFsIGFkanVzdG1lbnRzIHRoYXRcbiAgLy8gcmVmZXIgdG8gdGhlICdvcmlnaW5hbCcgY2xhc3MgbmFtZVxuXG4gIC5nb3Z1ay1ib2R5LWxlYWQge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbDtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cblxuICAvLyBDb250ZXh0dWFsIGFkanVzdG1lbnRzXG4gIC8vIEFkZCB0b3AgcGFkZGluZyB0byBoZWFkaW5ncyB0aGF0IGFwcGVhciBkaXJlY3RseSBhZnRlciBwYXJhZ3JhcGhzLlxuXG4gICVnb3Z1ay1ib2R5LWwgICsgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstYm9keS1tICArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1ib2R5LXMgICsgJWdvdnVrLWhlYWRpbmctbCxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNCwgXCJ0b3BcIik7XG4gIH1cblxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLXMsXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1zLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLXMge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBjb3JlIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvc2VjdGlvbi1icmVha1wiKSB7XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAvLyBmaXggZG91YmxlLXdpZHRoIHNlY3Rpb24gYnJlYWsgYW5kIGZvcmNlZCB2aXNpYmxlIHNlY3Rpb24gYnJlYWtcbiAgICAvLyB3aGVuIGNvbWJpbmVkIHdpdGggc3R5bGVzIGZyb20gYWxwaGFnb3YvZWxlbWVudHNcbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX2VsZW1lbnRzKSB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWs7XG4gIH1cblxuICAvLyBTaXplc1xuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXhsO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWw7XG4gIH1cblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tbTtcbiAgfVxuXG4gIC8vIFZpc2libGUgdmFyaWFudFxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZTtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgY29yZSBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcblxuQG1peGluIGdvdnVrLWdsb2JhbC1zdHlsZXMge1xuICBhIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2dsb2JhbC1zdHlsZXNcIikge1xuXG4gIEBpZiAkZ292dWstZ2xvYmFsLXN0eWxlcyA9PSB0cnVlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1nbG9iYWwtc3R5bGVzO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiZm9ybS1ncm91cFwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJtYWluLXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJ3aWR0aC1jb250YWluZXJcIjtcbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2J1dHRvbi1ncm91cFwiKSB7XG4gIC8vIEJ1dHRvbiBncm91cHMgY2FuIGJlIHVzZWQgdG8gZ3JvdXAgYnV0dG9ucyBhbmQgbGlua3MgdG9nZXRoZXIgYXMgYSBncm91cC5cbiAgLy9cbiAgLy8gV2l0aGluIGEgYnV0dG9uIGdyb3VwOlxuICAvL1xuICAvLyAtIGxpbmtzIGFyZSBzdHlsZWQgdG8gbGluZSB1cCB2aXN1YWxseSB3aXRoIHRoZSBidXR0b25zLCBpbmNsdWRpbmcgYmVpbmdcbiAgLy8gICBjZW50cmUtYWxpZ25lZCBvbiBtb2JpbGVcbiAgLy8gLSBzcGFjaW5nIGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSwgaW5jbHVkaW5nXG4gIC8vICAgd2hlbiB0aGV5IHdyYXAgYWNyb3NzIG11bHRpcGxlIGxpbmVzXG4gIC5nb3Z1ay1idXR0b24tZ3JvdXAge1xuICAgICRob3Jpem9udGFsLWdhcDogZ292dWstc3BhY2luZygzKTtcbiAgICAkdmVydGljYWwtZ2FwOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gVGhlc2UgbmVlZCB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgYnV0dG9uIGNvbXBvbmVudCdzIHN0eWxlc1xuICAgICRidXR0b24tcGFkZGluZzogZ292dWstc3BhY2luZygyKTtcbiAgICAkYnV0dG9uLXNoYWRvdy1zaXplOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAgICRsaW5rLXNwYWNpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiLCAkYWRqdXN0bWVudDogJHZlcnRpY2FsLWdhcCAqIC0xKTtcblxuICAgIC8vIEZsZXhib3ggaXMgdXNlZCB0byBjZW50ZXItYWxpZ24gbGlua3Mgb24gbW9iaWxlLCBhbGlnbiBldmVyeXRoaW5nIGFsb25nXG4gICAgLy8gdGhlIGJhc2VsaW5lIG9uIHRhYmxldCBhbmQgYWJvdmUsIGFuZCB0byByZW1vdmVzIGV4dHJhIHdoaXRlc3BhY2UgdGhhdFxuICAgIC8vIHdlJ2QgZ2V0IGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGJlY2F1c2UgdGhleSdyZSBpbmxpbmUtYmxvY2tzLlxuICAgIC8vXG4gICAgLy8gSWRlYWxseSB3ZSdkIHVzZSBgZ2FwYCB3aXRoIGZsZXhib3ggcmF0aGVyIHRoYW4gaGF2aW5nIHRvIGRvIGl0IGFsbCB3aXRoXG4gICAgLy8gbWFyZ2lucywgYnV0IHVuZm9ydHVuYXRlbHkgdGhlIHN1cHBvcnQgaXNuJ3QgdGhlcmUgKHlldCkgYW5kIEBzdXBwb3J0c1xuICAgIC8vIGRvZXNuJ3QgcGxheSBuaWNlbHkgd2l0aCBpdFxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMzU1OSlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC8vIEdpdmUgbGlua3Mgd2l0aGluIHRoZSBidXR0b24gZ3JvdXAgdGhlIHNhbWUgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICAgIC8vIGFzIGJ1dHRvbnMuXG4gICAgLy9cbiAgICAvLyBCZWNhdXNlIHdlIHdhbnQgdGhlIGZvY3VzIHN0YXRlIHRvIGJlIHRpZ2h0IGFyb3VuZCB0aGUgbGluayB0ZXh0LCB3ZSB1c2VcbiAgICAvLyBtYXJnaW5zIHdoZXJlIHRoZSBidXR0b25zIHdvdWxkIHVzZSBwYWRkaW5nLlxuICAgIC5nb3Z1ay1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLy8gUHJldmVudCBsaW5rcyBvdmVyZmxvd2luZyB0aGVpciBjb250YWluZXIgaW4gSUUxMC8xMSBiZWNhdXNlIG9mIGJ1Z1xuICAgICAgLy8gd2l0aCBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAkbGluay1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGxpbmstc3BhY2luZyArICR2ZXJ0aWNhbC1nYXA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gUmVkdWNlIHRoZSBib3R0b20gbWFyZ2luIHRvIHRoZSBzaXplIG9mIHRoZSB2ZXJ0aWNhbCBnYXAgKGFjY29tbW9kYXRpbmdcbiAgICAvLyB0aGUgYnV0dG9uIHNoYWRvdykg4oCTIHRoZSAnbG9zdCcgbWFyZ2luIGlzIG1vdmVkIHRvIHRoZSBidXR0b24tZ3JvdXAuXG4gICAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtZ2FwICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAvLyBPbiB0YWJsZXQgYW5kIGFib3ZlLCB3ZSBhbHNvIGludHJvZHVjZSBhICdjb2x1bW4gZ2FwJyBiZXR3ZWVuIHRoZVxuICAgIC8vIGJ1dHRvbnMgYW5kIGxpbmtzIGluIGVhY2ggcm93IGFuZCBsZWZ0IGFsaWduIGxpbmtzXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLy8gQ2FuY2VsIG91dCB0aGUgY29sdW1uIGdhcCBmb3IgdGhlIGxhc3QgaXRlbSBpbiBlYWNoIHJvd1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoJGhvcml6b250YWwtZ2FwICogLTEpO1xuXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG5cbiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuXG4gICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAuZ292dWstYnV0dG9uLFxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpem9udGFsLWdhcDtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvZm9ybS1ncm91cFwiKSB7XG4gIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmUgbWFyZ2luIGZyb20gbGFzdCBpdGVtIGluIG5lc3RlZCBncm91cHNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9ybS1ncm91cC0tZXJyb3Ige1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWdyb3VwLWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAuZ292dWstZm9ybS1ncm91cCB7XG4gICAgICAvLyBSZXNldCBlcnJvciBzdHlsZXMgaW4gbmVzdGVkIGZvcm0gZ3JvdXBzIHRoYXQgbWlnaHQgaGF2ZSBlcnJvciBjbGFzc1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2dyaWRcIikge1xuICAuZ292dWstZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSAoJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgICBtYXJnaW4tbGVmdDogLSAoJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgfVxuXG4gIEBlYWNoICR3aWR0aCBpbiBtYXAta2V5cygkZ292dWstZ3JpZC13aWR0aHMpIHtcbiAgICAuZ292dWstZ3JpZC1jb2x1bW4tI3skd2lkdGh9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aCk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2UgKm11c3QqIGJlIGRlZmluZWQgaW4gYSBzZXBhcmF0ZSBsb29wIGFzIHRoZXkgaGF2ZSB0aGUgc2FtZVxuICAvLyBzcGVjaWZpY2l0eSBhcyB0aGUgbm9uLWJyZWFrcG9pbnQgc3BlY2lmaWMgY2xhc3Nlcywgc28gbmVlZCB0byBhcHBlYXIgYWZ0ZXJcbiAgLy8gdGhlbSBpbiB0aGUgb3V0cHV0dGVkIENTU1xuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofS1mcm9tLWRlc2t0b3Age1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkYXQ6IGRlc2t0b3ApO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuLy8vL1xuLy8vIEBncm91cCBvYmplY3RzL2xheW91dFxuLy8vL1xuXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGggQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDwhLS0gQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3MgYXJlIHBsYWNlZCBpbiBoZXJlLiAtLT5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlclwiPlxuLy8gICAgICAgPCEtLSBXcmFwcGVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHlvdXIgcGFnZSB3aGljaCBhcHBsaWVzIHBhZGRpbmdcbi8vICAgICAgICAgICAgdG8gdGhlIHRvcCAvIGJvdHRvbSAtLT5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGhvdXQgQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuXG4vLy8gQGRlcHJlY2F0ZWQgUmVwbGFjZSB0aGlzIG1peGluIHdpdGggbW9yZSBkaXJlY3QgcmVmZXJlbmNlcyB0byB0aGUgW3NwYWNpbmdcbi8vLyBtaXhpbnNdKGh0dHBzOi8vZGVzaWduLXN5c3RlbS5zZXJ2aWNlLmdvdi51ay9zdHlsZXMvc3BhY2luZy8jc3BhY2luZy1vbi1jdXN0b20tY29tcG9uZW50cykuXG5AbWl4aW4gZ292dWstbWFpbi13cmFwcGVyIHtcbiAgLy8gSW4gSUUxMSB0aGUgYG1haW5gIGVsZW1lbnQgY2FuIGJlIHVzZWQsIGJ1dCBpcyBub3QgcmVjb2duaXplZCAg4oCTXG4gIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gIC8vIHNvIGl0IHVzZXMgQ1NTIGluaXRpYWwgdmFsdWUsIHdoaWNoIGlzIGlubGluZS5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgLy8gVGhpcyBzcGFjaW5nIGlzIG1hbnVhbGx5IGFkanVzdGVkIHRvIHJlcGxpY2F0ZSB0aGUgbWFyZ2luIG9mXG4gICAgLy8gZ292dWstaGVhZGluZy14bCAoNTBweCkgbWludXMgdGhlIHNwYWNpbmcgb2YgYmFjayBsaW5rIGFuZFxuICAgIC8vIGJyZWFkY3J1bWJzICgxMHB4KVxuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICB9XG59XG5cbi8vLyBVc2UgZ292dWstbWFpbi13cmFwcGVyLS1sIHdoZW4geW91IHBhZ2UgZG9lcyBub3QgaGF2ZSBCcmVhZGNydW1icywgcGhhc2Vcbi8vLyBiYW5uZXJzIG9yIGJhY2sgbGlua3MuXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCBSZXBsYWNlIHRoaXMgbWl4aW4gd2l0aCBtb3JlIGRpcmVjdCByZWZlcmVuY2VzIHRvIHRoZSBbc3BhY2luZ1xuLy8vIG1peGluc10oaHR0cHM6Ly9kZXNpZ24tc3lzdGVtLnNlcnZpY2UuZ292LnVrL3N0eWxlcy9zcGFjaW5nLyNzcGFjaW5nLW9uLWN1c3RvbS1jb21wb25lbnRzKS5cbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoOCwgXCJ0b3BcIik7XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlcjtcbiAgfVxuXG4gIC8vIFVzaW5nIHRoZSBgLmdvdnVrLW1haW4td3JhcHBlci0tYXV0by1zcGFjaW5nYCBtb2RpZmllciBzaG91bGQgYXBwbHkgdGhlXG4gIC8vIGNvcnJlY3Qgc3BhY2luZyBkZXBlbmRpbmcgb24gd2hldGhlciB0aGVyZSBhcmUgYW55IGVsZW1lbnRzXG4gIC8vIChzdWNoIHRoZSBiYWNrIGxpbmssIGJyZWFkY3J1bWJzIG9yIHBoYXNlIGJhbm5lciBjb21wb25lbnRzKSBiZWZvcmUgdGhlXG4gIC8vIGAuZ292dWstbWFpbi13cmFwcGVyYCBpbiB0aGUgYGdvdnVrLXdpZHRoLWNvbnRhaW5lcmAuXG4gIC8vXG4gIC8vIElmIHlvdSBuZWVkIHRvIGNvbnRyb2wgdGhlIHNwYWNpbmcgbWFudWFsbHksIHVzZSB0aGVcbiAgLy8gYGdvdnVrLW1haW4td3JhcHBlci0tbGAgbW9kaWZpZXIgaW5zdGVhZC5cbiAgLmdvdnVrLW1haW4td3JhcHBlci0tYXV0by1zcGFjaW5nOmZpcnN0LWNoaWxkLFxuICAuZ292dWstbWFpbi13cmFwcGVyLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tYWluLXdyYXBwZXItLWw7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2JqZWN0cy9sYXlvdXRcbi8vLy9cblxuLy8vIFdpZHRoIGNvbnRhaW5lciBtaXhpblxuLy8vXG4vLy8gVXNlZCB0byBjcmVhdGUgcGFnZSB3aWR0aCBhbmQgY3VzdG9tIHdpZHRoIGNvbnRhaW5lciBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCBbJGdvdnVrLXBhZ2Utd2lkdGhdIC0gV2lkdGggaW4gcGl4ZWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRpbmcgYSAxMjAwcHggd2lkZSBjb250YWluZXIgY2xhc3Ncbi8vLyAgLmFwcC13aWR0aC1jb250YWluZXItLXdpZGUge1xuLy8vICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcigxMjAwcHgpO1xuLy8vICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstd2lkdGgtY29udGFpbmVyKCR3aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGgpIHtcblxuICAvLyBCeSBkZWZhdWx0LCBsaW1pdCB0aGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciB0byB0aGUgcGFnZSB3aWR0aFxuICBtYXgtd2lkdGg6ICR3aWR0aDtcblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG5cbiAgLy8gUmVzcGVjdCAnZGlzcGxheSBjdXRvdXQnIHNhZmUgYXJlYSAoYXZvaWRzIG5vdGNoZXMgYW5kIHJvdW5kZWQgY29ybmVycylcbiAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAkZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAvLyBFc2NhcGVkIGR1ZSB0byBTYXNzIG1heCgpIHZzLiBDU1MgbmF0aXZlIG1heCgpXG4gICAgbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1yaWdodH0pXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gIH1cblxuICAvLyBPbiB0YWJsZXQsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlcjtcblxuICAgIC8vIFJlc3BlY3QgJ2Rpc3BsYXkgY3V0b3V0JyBzYWZlIGFyZWEgKGF2b2lkcyBub3RjaGVzIGFuZCByb3VuZGVkIGNvcm5lcnMpXG4gICAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtbGVmdDogY2FsYygjeyRnb3Z1ay1ndXR0ZXItaGFsZn0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcblxuICAgICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICAgIG1hcmdpbi1yaWdodDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgICBtYXJnaW4tbGVmdDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLWxlZnR9KVwiKTtcbiAgICB9XG4gIH1cblxuICAvLyBBcyBzb29uIGFzIHRoZSB2aWV3cG9ydCBpcyBncmVhdGVyIHRoYW4gdGhlIHdpZHRoIG9mIHRoZSBwYWdlIHBsdXMgdGhlXG4gIC8vIGd1dHRlcnMsIGp1c3QgY2VudHJlIHRoZSBjb250ZW50IGluc3RlYWQgb2YgYWRkaW5nIGd1dHRlcnMuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhbmQ6IFwiKG1pbi13aWR0aDogI3soJHdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgIC8vIFNpbmNlIGEgc2FmZSBhcmVhIG1heSBoYXZlIHByZXZpb3VzbHkgYmVlbiBzZXQgYWJvdmUsXG4gICAgLy8gd2UgbmVlZCB0byBkdXBsaWNhdGUgdGhpcyBtYXJnaW4gdGhhdCBjZW50ZXJzIHRoZSBwYWdlLlxuICAgIEBzdXBwb3J0cyAobWFyZ2luOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICAvLyBTaW5jZSBtZWRpYSBxdWVyaWVzIGFyZSBub3Qgc3VwcG9ydGVkIGluIElFOCxcbiAgICAvLyB3ZSBuZWVkIHRvIGR1cGxpY2F0ZSB0aGlzIG1hcmdpbiB0aGF0IGNlbnRlcnMgdGhlIHBhZ2UuXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL3dpZHRoLWNvbnRhaW5lclwiKSB7XG4gIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGltcG9ydCBcImFjY29yZGlvbi9pbmRleFwiO1xuQGltcG9ydCBcImJhY2stbGluay9pbmRleFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJzL2luZGV4XCI7XG5AaW1wb3J0IFwiYnV0dG9uL2luZGV4XCI7XG5AaW1wb3J0IFwiY2hlY2tib3hlcy9pbmRleFwiO1xuQGltcG9ydCBcImNoYXJhY3Rlci1jb3VudC9pbmRleFwiO1xuQGltcG9ydCBcImNvb2tpZS1iYW5uZXIvaW5kZXhcIjtcbkBpbXBvcnQgXCJzdW1tYXJ5LWxpc3QvaW5kZXhcIjtcbkBpbXBvcnQgXCJkYXRlLWlucHV0L2luZGV4XCI7XG5AaW1wb3J0IFwiZGV0YWlscy9pbmRleFwiO1xuQGltcG9ydCBcImVycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCJlcnJvci1zdW1tYXJ5L2luZGV4XCI7XG5AaW1wb3J0IFwiZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCJmaWxlLXVwbG9hZC9pbmRleFwiO1xuQGltcG9ydCBcImZvb3Rlci9pbmRleFwiO1xuQGltcG9ydCBcImhpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCJoZWFkZXIvaW5kZXhcIjtcbkBpbXBvcnQgXCJpbnB1dC9pbmRleFwiO1xuQGltcG9ydCBcImluc2V0LXRleHQvaW5kZXhcIjtcbkBpbXBvcnQgXCJsYWJlbC9pbmRleFwiO1xuQGltcG9ydCBcIm5vdGlmaWNhdGlvbi1iYW5uZXIvaW5kZXhcIjtcbkBpbXBvcnQgXCJwYW5lbC9pbmRleFwiO1xuQGltcG9ydCBcInBoYXNlLWJhbm5lci9pbmRleFwiO1xuQGltcG9ydCBcInRhYnMvaW5kZXhcIjtcbkBpbXBvcnQgXCJ0YWcvaW5kZXhcIjtcbkBpbXBvcnQgXCJyYWRpb3MvaW5kZXhcIjtcbkBpbXBvcnQgXCJzZWxlY3QvaW5kZXhcIjtcbkBpbXBvcnQgXCJza2lwLWxpbmsvaW5kZXhcIjtcbkBpbXBvcnQgXCJ0YWJsZS9pbmRleFwiO1xuQGltcG9ydCBcInRleHRhcmVhL2luZGV4XCI7XG5AaW1wb3J0IFwid2FybmluZy10ZXh0L2luZGV4XCI7XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2FjY29yZGlvblwiKSB7XG5cbiAgJGdvdnVrLWFjY29yZGlvbi1saW5rLWNvbG91cjogJGdvdnVrLWxpbmstY29sb3VyO1xuICAkZ292dWstYWNjb3JkaW9uLWxpbmstaG92ZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ibHVlXCIpO1xuICAkZ292dWstYWNjb3JkaW9uLWJvcmRlci13aWR0aDogM3B4O1xuXG4gIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gQm9yZGVycyBiZXR3ZWVuIGFjY29yZGlvbiBzZWN0aW9uc1xuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZyB7XG4gICAgLy8gT3ZlcnJpZGUgYnJvd3NlciBkZWZhdWx0cyB0byBlbnN1cmUgY29uc2lzdGVudCBlbGVtZW50IGhlaWdodFxuICAgIC8vIEZvbnQgc2l6ZSBpcyBzZXQgaW4gLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b25cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDI0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7IC8vIE92ZXJyaWRlIGJyb3dzZXIgZGVmYXVsdFxuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGJyb3dzZXIgZGVmYXVsdFxuICB9XG5cbiAgLy8gQnV0dG9ucyB3aXRoaW4gdGhlIHNlY3Rpb25zIGRvbuKAmXQgbmVlZCBkZWZhdWx0IHN0eWxpbmdcbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tc3VtbWFyeSB7XG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3R0b20gbWFyZ2luIGZyb20gdGhlIGxhc3QgaXRlbSBpbnNpZGUgdGhlIGNvbnRlbnRcbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBKYXZhU2NyaXB0IGVuYWJsZWRcbiAgLmpzLWVuYWJsZWQge1xuICAgIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgICAgLy8gQm9yZGVyIGF0IHRoZSBib3R0b20gb2YgdGhlIHdob2xlIGFjY29yZGlvblxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIEJvcmRlcnMgYmV0d2VlbiBhY2NvcmRpb24gc2VjdGlvbnNcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGJvZHkgb2YgY29sbGFwc2VkIHNlY3Rpb25zXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJ0b3BcIik7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJib3R0b21cIik7XG4gICAgfVxuXG4gICAgLy8gU2hvdyB0aGUgYm9keSBvZiBleHBhbmRlZCBzZWN0aW9uc1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tLWV4cGFuZGVkIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIHN0eWxlZCB0byBsb29rIGxpa2UgYSBsaW5rIG5vdCBhIGJ1dHRvblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX29wZW4tYWxsIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuXG4gICAgICAvLyBSZW1vdmUgZGVmYXVsdCBidXR0b24gZm9jdXMgb3V0bGluZSBpbiBGaXJlZm94XG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlY3Rpb24gaGVhZGVycyBoYXZlIGEgcG9pbnRlciBjdXJzb3IgYXMgYW4gYWRkaXRpb25hbCBhZmZvcmRhbmNlXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gU2FmZSBhcmVhIG9uIHRoZSByaWdodCB0byBhdm9pZCBjbGFzaGluZyB3aXRoIGljb25cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1saW5rLWNvbG91cjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAvLyBGb3IgZGV2aWNlcyB0aGF0IGNhbid0IGhvdmVyIHN1Y2ggYXMgdG91Y2ggZGV2aWNlcyxcbiAgICAvLyByZW1vdmUgaG92ZXIgc3RhdGUgYXMgaXQgY2FuIGJlIHN0dWNrIGluIHRoYXQgc3RhdGUgKGlPUykuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSkge1xuICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXI6aG92ZXIge1xuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWxpbmstY29sb3VyO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwICRnb3Z1ay1hY2NvcmRpb24tYm9yZGVyLXdpZHRoIDAgMCAkZ292dWstYWNjb3JkaW9uLWxpbmstY29sb3VyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbnMgd2l0aGluIHRoZSBoZWFkZXJzIGRvbuKAmXQgbmVlZCBkZWZhdWx0IHN0eWxpbmdcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIGZvY3VzIG91dGxpbmUgaW4gRmlyZWZveFxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHRlbmQgdGhlIHRvdWNoIGFyZWEgb2YgdGhlIGJ1dHRvbiB0byBzcGFuIHRoZSBzZWN0aW9uIGhlYWRlclxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b246aG92ZXI6bm90KDpmb2N1cykge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gRm9yIGRldmljZXMgdGhhdCBjYW4ndCBob3ZlciBzdWNoIGFzIHRvdWNoIGRldmljZXMsXG4gICAgLy8gcmVtb3ZlIGhvdmVyIHN0YXRlIGFzIGl0IGNhbiBiZSBzdHVjayBpbiB0aGF0IHN0YXRlIChpT1MpLlxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2NvbnRyb2xzIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC8vIERpc3BsYXkgYW4gaWNvbiB0byB0aGUgcmlnaHQgb2YgZWFjaCBoZWFkZXIgdG8gaW5kaWNhdGUgb3Blbi9jbG9zZWQgc3RhdHVzLFxuICAgIC8vIGFuZCBhcyBhbiBhZGRpdGlvbmFsIGFmZm9yZGFuY2UuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YWZ0ZXIsXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgaGVpZ2h0OiAyNSU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGJhciBzaG91bGQgYmUgaGlkZGVuIHdoZW4gc2VjdGlvbiBpcyBvcGVuLCB0byBkaXNwbGF5IGEgJy0nIGljb25cbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLS1leHBhbmRlZCAuZ292dWstYWNjb3JkaW9uX19pY29uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYmFjay1saW5rXCIpIHtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gKGV4Y2x1ZGluZyBib3JkZXIpXG4gICRjaGV2cm9uLXNpemU6IDdweDtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci13aWR0aDogMXB4O1xuXG4gIC8vIENvbG91ciBvZiBjaGV2cm9uXG4gICRjaGV2cm9uLWJvcmRlci1jb2xvdXI6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgLmdvdnVrLWJhY2stbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcblxuICAgIC8vIEFsbG93IHNwYWNlIGZvciB0aGUgYXJyb3dcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gIH1cblxuICAvLyBPbmx5IHVuZGVybGluZSBpZiB0aGUgY29tcG9uZW50IGlzIGxpbmthYmxlXG4gIC5nb3Z1ay1iYWNrLWxpbmtbaHJlZl0ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgLy8gV2hlbiB0aGUgYmFjayBsaW5rIGlzIGZvY3VzZWQsIGhpZGUgdGhlIGJvdHRvbSBsaW5rIGJvcmRlciBhcyB0aGVcbiAgICAvLyBmb2N1cyBzdHlsZXMgaGFzIGEgYm90dG9tIGJvcmRlci5cbiAgICAmOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmVwZW5kIGxlZnQgcG9pbnRpbmcgY2hldnJvblxuICAuZ292dWstYmFjay1saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC8vIFZlcnRpY2FsbHkgYWxpZ24gd2l0aCB0aGUgcGFyZW50IGVsZW1lbnRcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBAaWYgJGdvdnVrLXVzZS1sZWdhY3ktZm9udCB7XG4gICAgICAvLyBCZWdpbiBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcbiAgICAgIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gbGVnYWN5IGZvbnQgc3VwcG9ydCBpcyBkcm9wcGVkXG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IDFweDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBsZWZ0OiAzcHg7XG5cbiAgICB3aWR0aDogJGNoZXZyb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRjaGV2cm9uLXNpemU7XG5cbiAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcblxuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjI1ZGVnKTtcblxuICAgIGJvcmRlcjogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAkY2hldnJvbi1ib3JkZXItd2lkdGggJGNoZXZyb24tYm9yZGVyLXdpZHRoIDAgMDtcbiAgICBib3JkZXItY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICAvLyBGYWxsIGJhY2sgdG8gYSBsZXNzIHRoYW4gc2lnbiBmb3IgSUU4XG4gICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgIGNvbnRlbnQ6IFwiXFwwMDNjXCI7IC8vIExlc3MgdGhhbiBzaWduICg8KVxuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogJGNoZXZyb24tYm9yZGVyLWNvbG91cjtcblxuICAgICAgLy8gSUU4IGRvZXNuJ3Qgc2VlbSB0byBsaWtlIHJlbmRlcmluZyBwc2V1ZG8tZWxlbWVudHMgdXNpbmcgQGZvbnQtZmFjZXMsXG4gICAgICAvLyBzbyBmYWxsIGJhY2sgdG8gdXNpbmcgYW5vdGhlciBzYW5zLXNlcmlmIGZvbnQgdG8gcmVuZGVyIHRoZSBjaGV2cm9uLlxuICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1iYWNrLWxpbms6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE0cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAtMTRweDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgQGlmICRnb3Z1ay11c2UtbGVnYWN5LWZvbnQge1xuICAgIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAgIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gbGVnYWN5IGZvbnQgc3VwcG9ydCBpcyBkcm9wcGVkXG4gICAgLmdvdnVrLWJhY2stbGluazpiZWZvcmUge1xuICAgICAgJG9mZnNldDogMXB4O1xuXG4gICAgICB0b3A6ICRvZmZzZXQgKiAtMTtcbiAgICAgIGJvdHRvbTogJG9mZnNldDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYnJlYWRjcnVtYnNcIikge1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiAoZXhjbHVkaW5nIGJvcmRlcilcbiAgJGNoZXZyb24tc2l6ZTogN3B4O1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiBib3JkZXJcbiAgJGNoZXZyb24tYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiAgLy8gQ29sb3VyIG9mIGNoZXZyb25cbiAgJGNoZXZyb24tYm9yZGVyLWNvbG91cjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAvLyBDYWxjdWxhdGVkIGFsdGl0dWRlICjilrPihpUpIG9mIHRoZSByaWdodC1hbmdsZWQgaXNvc2NlbGVzIGNoZXZyb24gd2l0aCBzaWRlc1xuICAvLyBvZiBsZW5ndGggOCAoN3B4ICsgMXB4IGJvcmRlcik6XG4gIC8vXG4gIC8vIOKImig4wrIgKyA4wrIpICogMC41IOKJhSA1LjY1NVxuICAkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkOiA1LjY1NXB4O1xuXG4gIC5nb3Z1ay1icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWRkIGJvdGggbWFyZ2luIGFuZCBwYWRkaW5nIHN1Y2ggdGhhdCB0aGUgY2hldnJvbiBhcHBlYXJzIGNlbnRyYWxseVxuICAgIC8vIGJldHdlZW4gZWFjaCBicmVhZGNydW1iIGl0ZW1cbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMikgKyAkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkO1xuXG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBDcmVhdGUgYSBjaGV2cm9uIHVzaW5nIGEgYm94IHdpdGggYm9yZGVycyBvbiB0d28gc2lkZXMsIHJvdGF0ZWQgNDVkZWcuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIEBpZiAkZ292dWstdXNlLWxlZ2FjeS1mb250IHtcbiAgICAgICAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gICAgICAgIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gbGVnYWN5IGZvbnQgc3VwcG9ydCBpcyBkcm9wcGVkXG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgYm90dG9tOiAxcHg7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldCBieSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB3aWR0aCBvZiB0aGUgbm9uLXJvdGF0ZWQgc3F1YXJlXG4gICAgICAvLyBhbmQgaXRzIHdpZHRoIHdoZW4gcm90YXRlZFxuICAgICAgbGVmdDogKCgkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkICogLTIpICsgJGNoZXZyb24tc2l6ZSArICRjaGV2cm9uLWJvcmRlci13aWR0aCk7XG5cbiAgICAgIHdpZHRoOiAkY2hldnJvbi1zaXplO1xuICAgICAgaGVpZ2h0OiAkY2hldnJvbi1zaXplO1xuXG4gICAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgYm9yZGVyOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogJGNoZXZyb24tYm9yZGVyLXdpZHRoICRjaGV2cm9uLWJvcmRlci13aWR0aCAwIDA7XG4gICAgICBib3JkZXItY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIC8vIEZhbGwgYmFjayB0byBhIGdyZWF0ZXIgdGhhbiBzaWduIGZvciBJRThcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwwMDNlXCI7IC8vIEdyZWF0ZXIgdGhhbiBzaWduICg+KVxuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHNlZW0gdG8gbGlrZSByZW5kZXJpbmcgcHNldWRvLWVsZW1lbnRzIHVzaW5nIEBmb250LWZhY2VzLFxuICAgICAgICAvLyBzbyBmYWxsIGJhY2sgdG8gdXNpbmcgYW5vdGhlciBzYW5zLXNlcmlmIGZvbnQgdG8gcmVuZGVyIHRoZSBjaGV2cm9uLlxuICAgICAgICBmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzLS1jb2xsYXBzZS1vbi1tb2JpbGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYnV0dG9uXCIpIHtcbiAgJGdvdnVrLWJ1dHRvbi1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZWVuXCIsICRsZWdhY3k6ICMwMDgyM2IpO1xuICAkZ292dWstYnV0dG9uLWhvdmVyLWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLWJ1dHRvbi1jb2xvdXIsIDIwJSk7XG4gICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLWJ1dHRvbi1jb2xvdXIsIDYwJSk7XG4gICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuXG4gIC8vIFNlY29uZGFyeSBidXR0b24gdmFyaWFibGVzXG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktM1wiKTtcbiAgJGdvdnVrLXNlY29uZGFyeS1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsIDEwJSk7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXNoYWRvdy1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgNDAlKTtcbiAgJGdvdnVrLXNlY29uZGFyeS1idXR0b24tdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gIC8vIFdhcm5pbmcgYnV0dG9uIHZhcmlhYmxlc1xuICAkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJyZWRcIik7XG4gICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1ob3Zlci1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1jb2xvdXIsIDIwJSk7XG4gICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyLCA2MCUpO1xuICAkZ292dWstd2FybmluZy1idXR0b24tdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuXG4gIC8vIEJlY2F1c2UgdGhlIHNoYWRvdyAoczApIGlzIHZpc3VhbGx5ICdwYXJ0IG9mJyB0aGUgYnV0dG9uLCB3ZSBuZWVkIHRvIHJlZHVjZVxuICAvLyB0aGUgaGVpZ2h0IG9mIHRoZSBidXR0b24gdG8gY29tcGVuc2F0ZSBieSBhZGp1c3RpbmcgaXRzIHBhZGRpbmcgKHMxKSBhbmRcbiAgLy8gaW5jcmVhc2UgdGhlIGJvdHRvbSBtYXJnaW4gdG8gaW5jbHVkZSBpdCAoczIpLlxuICAkYnV0dG9uLXNoYWRvdy1zaXplOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAuZ292dWstYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJGxpbmUtaGVpZ2h0OiAxOXB4KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiLCAkYWRqdXN0bWVudDogJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7IC8vIHMyXG4gICAgcGFkZGluZzogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCkgZ292dWstc3BhY2luZygyKSAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSk7IC8vIHMxXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRidXR0b24tc2hhZG93LXNpemUgc29saWQgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIEVuc3VyZSB0aGF0IGFueSBnbG9iYWwgbGluayBzdHlsZXMgYXJlIG92ZXJyaWRkZW5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkLFxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gRml4IHVud2FudGVkIGJ1dHRvbiBwYWRkaW5nIGluIEZpcmVmb3hcbiAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWhvdmVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICAvLyBCdW1wIHRoZSBidXR0b24gZG93biBzbyBpdCBsb29rcyBsaWtlIGl0cyBiZWluZyBwcmVzc2VkIGluXG4gICAgICB0b3A6ICRidXR0b24tc2hhZG93LXNpemU7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICAvLyBXaGVuIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4sIGZvciBleGFtcGxlIHdoZW4gdXNlcnMgaGF2ZSBhIGRhcmsgbW9kZSxcbiAgICAgIC8vIGJhY2tncm91bmRzIGFuZCBib3gtc2hhZG93cyBkaXNhcHBlYXIsIHNvIHdlIG5lZWQgdG8gZW5zdXJlIHRoZXJlJ3MgYVxuICAgICAgLy8gdHJhbnNwYXJlbnQgb3V0bGluZSB3aGljaCB3aWxsIGJlIHNldCB0byBhIHZpc2libGUgY29sb3VyLlxuICAgICAgLy8gU2luY2UgSW50ZXJuZXQgRXhwbG9yZXIgOCBkb2VzIG5vdCBzdXBwb3J0IGJveC1zaGFkb3csIHdlIHdhbnQgdG8gZm9yY2UgdGhlIHVzZXItYWdlbnQgb3V0bGluZXNcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgICAvLyBTaW5jZSBJbnRlcm5ldCBFeHBsb3JlciBkb2VzIG5vdCBzdXBwb3J0IGA6bm90KClgIHdlIHNldCBhIGNsZWFyZXIgZm9jdXMgc3R5bGUgdG8gbWF0Y2ggdXNlci1hZ2VudCBvdXRsaW5lcy5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvclxuICAgIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc29cbiAgICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMgc29cbiAgICAvLyBzbyB0aGF0IHVudmlzaXRlZCBsaW5rcyBzdHlsZWQgYXMgYnV0dG9ucyBkbyBub3QgZW5kIHVwIHdpdGggZGFyayBibHVlXG4gICAgLy8gdGV4dCB3aGVuIGZvY3Vzc2VkLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXM6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMCAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBhZGp1c3RtZW50cyBkbyBub3Qgd29yayBmb3IgPGlucHV0IHR5cGU9XCJidXR0b25cIj4gYXNcbiAgICAvLyBub24tY29udGFpbmVyIGVsZW1lbnRzIGNhbm5vdCBpbmNsdWRlIHBzZXVkbyBlbGVtZW50cyAoaS5lLiA6OmJlZm9yZSkuXG5cbiAgICAvLyBVc2UgYSBwc2V1ZG8gZWxlbWVudCB0byBleHBhbmQgdGhlIGNsaWNrIHRhcmdldCBhcmVhIHRvIGluY2x1ZGUgdGhlXG4gICAgLy8gYnV0dG9uJ3Mgc2hhZG93IGFzIHdlbGwsIGluIGNhc2UgdXNlcnMgdHJ5IHRvIGNsaWNrIGl0LlxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IC0kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICAgIHJpZ2h0OiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgICBib3R0b206IC0oJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgKyAkYnV0dG9uLXNoYWRvdy1zaXplKTtcbiAgICAgIGxlZnQ6IC0kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gV2hlbiB0aGUgYnV0dG9uIGlzIGFjdGl2ZSBpdCBpcyBzaGlmdGVkIGRvd24gYnkgJGJ1dHRvbi1zaGFkb3ctc2l6ZSB0b1xuICAgIC8vIGRlbm90ZSBhICdwcmVzc2VkJyBzdGF0ZS4gSWYgdGhlIHVzZXIgaGFwcGVuZWQgdG8gY2xpY2sgYXQgdGhlIHZlcnkgdG9wXG4gICAgLy8gb2YgdGhlIGJ1dHRvbiwgdGhlaXIgbW91c2UgaXMgbm8gbG9uZ2VyIG92ZXIgdGhlIGJ1dHRvbiAoYmVjYXVzZSBpdCBoYXNcbiAgICAvLyAnbW92ZWQgYmVuZWF0aCB0aGVtJykgYW5kIHNvIHRoZSBjbGljayBldmVudCBpcyBub3QgZmlyZWQuXG4gICAgLy9cbiAgICAvLyBUaGlzIGNvcnJlY3RzIHRoYXQgYnkgc2hpZnRpbmcgdGhlIHRvcCBvZiB0aGUgcHNldWRvIGVsZW1lbnQgc28gdGhhdCBpdFxuICAgIC8vIGNvbnRpbnVlcyB0byBjb3ZlciB0aGUgYXJlYSB0aGF0IHRoZSB1c2VyIG9yaWdpbmFsbHkgY2xpY2tlZCwgd2hpY2ggbWVhbnNcbiAgICAvLyB0aGUgY2xpY2sgZXZlbnQgaXMgc3RpbGwgZmlyZWQuXG4gICAgLy9cbiAgICAvLyDwn46JXG4gICAgJjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIHRvcDogLSgkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCArICRidXR0b24tc2hhZG93LXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLWRpc2FibGVkLFxuICAuZ292dWstYnV0dG9uW2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0sXG4gIC5nb3Z1ay1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAoLjUpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJ1dHRvbi1zaGFkb3ctc2l6ZSBzb2xpZCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLXNlY29uZGFyeS1idXR0b24tc2hhZG93LWNvbG91cjtcblxuICAgICYsXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvclxuICAgIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc29cbiAgICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMgc29cbiAgICAvLyBzbyB0aGF0IHVudmlzaXRlZCBsaW5rcyBzdHlsZWQgYXMgYnV0dG9ucyBkbyBub3QgZW5kIHVwIHdpdGggZGFyayBibHVlXG4gICAgLy8gdGV4dCB3aGVuIGZvY3Vzc2VkLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0td2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91cjtcbiAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstd2FybmluZy1idXR0b24tc2hhZG93LWNvbG91cjtcblxuICAgICYsXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstd2FybmluZy1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzIHNvXG4gICAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAgIC8vIHRleHQgd2hlbiBmb2N1c3NlZC5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZTogMjQsICRvdmVycmlkZS1saW5lLWhlaWdodDogMSk7XG5cbiAgICBkaXNwbGF5OiAtd2Via2l0LWlubGluZS1ib3g7XG5cbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuXG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcblxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuZ292dWstYnV0dG9uX19zdGFydC1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogY2VudGVyO1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIH1cblxuICBAaWYgJGdvdnVrLXVzZS1sZWdhY3ktZm9udCB7XG4gICAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0IHdoZW4gdXNpbmcgdjEgb2YgbnRhXG4gICAgJG9mZnNldDogMjtcblxuICAgIC5nb3Z1ay1idXR0b24ge1xuICAgICAgcGFkZGluZy10b3A6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpICsgJG9mZnNldCk7IC8vIHMxXG4gICAgICBwYWRkaW5nLWJvdHRvbTogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgLSAkb2Zmc2V0ICsgMSk7IC8vIHMxXG4gICAgfVxuXG4gICAgLmdvdnVrLWJ1dHRvbl9fc3RhcnQtaWNvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9maWVsZHNldC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2NoZWNrYm94ZXNcIikge1xuXG4gICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTogNDRweDtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTogNDBweDtcbiAgJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZTogMjRweDtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtaW4taGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG5cbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCB7XG4gICAgJGlucHV0LW9mZnNldDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRnb3Z1ay1jaGVja2JveGVzLXNpemUpIC8gMjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIElFOCBkb2VzbuKAmXQgc3VwcG9ydCBwc2V1ZG8tZWxlbWVudHMsIHNvIHdlIGRvbuKAmXQgd2FudCB0byBoaWRlIG5hdGl2ZVxuICAgIC8vIGVsZW1lbnRzIHRoZXJlLlxuICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiAkaW5wdXQtb2Zmc2V0ICogLTE7XG4gICAgICBsZWZ0OiAkaW5wdXQtb2Zmc2V0ICogLTE7XG5cbiAgICAgIHdpZHRoOiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgICBoZWlnaHQ6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZSAvIC0yO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1jaGVja2JveGVzLXNpemUgLyAtMjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAvLyBhZGQgZm9jdXMgb3V0bGluZSB0byBpbnB1dFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogOHB4ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC8vIFsgXSBDaGVjayBib3hcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyDinJQgQ2hlY2sgbWFya1xuICAvL1xuICAvLyBUaGUgY2hlY2sgbWFyayBpcyBhIGJveCB3aXRoIGEgYm9yZGVyIG9uIHRoZSBsZWZ0IGFuZCBib3R0b20gc2lkZSAo4pSU4pSA4pSAKSxcbiAgLy8gcm90YXRlZCA0NSBkZWdyZWVzXG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgd2lkdGg6IDIzcHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIGJvcmRlcjogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNXB4IDVweDtcbiAgICAvLyBGaXggYnVnIGluIElFMTEgY2F1c2VkIGJ5IHRyYW5zZm9ybSByb3RhdGUgKC00NWRlZykuXG4gICAgLy8gU2VlOiBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy9pc3N1ZXMvNTE4XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faGludCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICB9XG5cbiAgLy8gRm9jdXNlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6YmVmb3JlIHtcbiAgICBib3JkZXItd2lkdGg6IDRweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpjaGVja2VkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOmFmdGVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkLFxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gQ29uZGl0aW9uYWwgcmV2ZWFsc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyBUaGUgbmFycm93IGJvcmRlciBpcyB1c2VkIGluIHRoZSBjb25kaXRpb25hbCByZXZlYWxzIGJlY2F1c2UgdGhlIGJvcmRlciBoYXNcbiAgLy8gdG8gYmUgYW4gZXZlbiBudW1iZXIgaW4gb3JkZXIgdG8gYmUgY2VudHJlZCB1bmRlciB0aGUgNDBweCBjaGVja2JveCBvciByYWRpby5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aDogJGdvdnVrLWJvcmRlci13aWR0aC1uYXJyb3c7XG4gIC8vIENhbGN1bGF0ZSB0aGUgYW1vdW50IG9mIHBhZGRpbmcgbmVlZGVkIHRvIGtlZXAgdGhlIGJvcmRlciBjZW50ZXJlZCBhZ2FpbnN0IHRoZSBjaGVja2JveC5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nOiAoJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZSAvIDIpIC0gKCRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggLyAyKTtcbiAgLy8gTW92ZSB0aGUgYm9yZGVyIGNlbnRlcmVkIHdpdGggdGhlIGNoZWNrYm94XG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcblxuICAuZ292dWstY2hlY2tib3hlc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmpzLWVuYWJsZWQgJi0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNtYWxsIGNoZWNrYm94ZXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXMtLXNtYWxsIHtcblxuICAgICRpbnB1dC1vZmZzZXQ6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplKSAvIDI7XG4gICAgJGxhYmVsLW9mZnNldDogJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplIC0gJGlucHV0LW9mZnNldDtcblxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRsYWJlbC1vZmZzZXQ7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAvLyBTaGlmdCB0aGUgdG91Y2ggdGFyZ2V0IGludG8gdGhlIGxlZnQgbWFyZ2luIHNvIHRoYXQgdGhlIHZpc2libGUgZWRnZSBvZlxuICAgIC8vIHRoZSBjb250cm9sIGlzIGFsaWduZWRcbiAgICAvL1xuICAgIC8vICAg4pSGV2hhdCBjb2xvdXJzIGRvIHlvdSBsaWtlP1xuICAgIC8vICDilIzilIbilIDilIDilIDilJBcbiAgICAvLyAg4pSC4pSGW10g4pSCIFB1cnBsZVxuICAgIC8vICDilJTilIbilrLilIDilIDilJhcbiAgICAvLyAg4pay4pSG4pSU4pSAIENoZWNrIGJveCBwc2V1ZG8gZWxlbWVudCwgYWxpZ25lZCB3aXRoIG1hcmdpblxuICAgIC8vICDilJTilIDilIDilIAgVG91Y2ggdGFyZ2V0IChpbnZpc2libGUgaW5wdXQpLCBzaGlmdGVkIGludG8gdGhlIG1hcmdpblxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgICAgbGVmdDogJGlucHV0LW9mZnNldCAqIC0xO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZSAqIC0xO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkanVzdCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGxhYmVsLlxuICAgIC8vXG4gICAgLy8gVW5saWtlIGxhcmdlciBjaGVja2JveGVzLCB3ZSBhbHNvIGhhdmUgdG8gZmxvYXQgdGhlIGxhYmVsIGluIG9yZGVyIHRvXG4gICAgLy8gJ3NocmluaycgaXQsIHByZXZlbnRpbmcgdGhlIGhvdmVyIHN0YXRlIGZyb20ga2lja2luZyBpbiBhY3Jvc3MgdGhlIGZ1bGxcbiAgICAvLyB3aWR0aCBvZiB0aGUgcGFyZW50IGVsZW1lbnQuXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICBwYWRkaW5nOiAxM3B4IGdvdnVrLXNwYWNpbmcoMykgMTNweCAxcHg7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiAxMXB4IGdvdnVrLXNwYWNpbmcoMykgMTBweCAxcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gWyBdIENoZWNrIGJveFxuICAgIC8vXG4gICAgLy8gUmVkdWNlIHRoZSBzaXplIG9mIHRoZSBjaGVjayBib3ggWzFdLCB2ZXJ0aWNhbGx5IGNlbnRlciBpdCB3aXRoaW4gdGhlXG4gICAgLy8gdG91Y2ggdGFyZ2V0IFsyXVxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDpiZWZvcmUge1xuICAgICAgdG9wOiAkaW5wdXQtb2Zmc2V0IC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7IC8vIDJcbiAgICAgIHdpZHRoOiAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplOyAvLyAxXG4gICAgICBoZWlnaHQ6ICRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemU7IC8vIDFcbiAgICB9XG5cbiAgICAvLyDinJQgQ2hlY2sgbWFya1xuICAgIC8vXG4gICAgLy8gUmVkdWNlIHRoZSBzaXplIG9mIHRoZSBjaGVjayBtYXJrIGFuZCByZS1hbGlnbiB3aXRoaW4gdGhlIGNoZWNrYm94XG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOmFmdGVyIHtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIGxlZnQ6IDZweDtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiA2LjVweDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDNweCAzcHg7XG4gICAgfVxuXG4gICAgLy8gRml4IHBvc2l0aW9uIG9mIGhpbnQgd2l0aCBzbWFsbCBjaGVja2JveGVzXG4gICAgLy9cbiAgICAvLyBEbyBub3QgdXNlIGhpbnRzIHdpdGggc21hbGwgY2hlY2tib3hlcyDigJMgYmVjYXVzZSB0aGV5J3JlIHdpdGhpbiB0aGUgaW5wdXRcbiAgICAvLyB3cmFwcGVyIHRoZXkgdHJpZ2dlciB0aGUgaG92ZXIgc3RhdGUsIGJ1dCBjbGlja2luZyB0aGVtIGRvZXNuJ3QgYWN0dWFsbHlcbiAgICAvLyBhY3RpdmF0ZSB0aGUgY29udHJvbC5cbiAgICAvL1xuICAgIC8vIChJZiB5b3UgZG8gdXNlIHRoZW0sIHRoZXkgd29uJ3QgbG9vayBjb21wbGV0ZWx5IGJyb2tlbi4uLiBidXQgc2VyaW91c2x5LFxuICAgIC8vIGRvbid0IHVzZSB0aGVtKVxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19oaW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjb25kaXRpb25hbCByZXZlYWxzIHdpdGggc21hbGwgY2hlY2tib3hlc1xuICAgIC5nb3Z1ay1jaGVja2JveGVzX19jb25kaXRpb25hbCB7XG4gICAgICAkbWFyZ2luLWxlZnQ6ICgkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogJGxhYmVsLW9mZnNldCAtICgkbWFyZ2luLWxlZnQgKyAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoKTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC8vIEhvdmVyIHN0YXRlIGZvciBzbWFsbCBjaGVja2JveGVzLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIGEgaG92ZXIgc3RhdGUgZm9yIHNtYWxsIGNoZWNrYm94ZXMgYmVjYXVzZSB0aGUgdG91Y2ggdGFyZ2V0IHNpemVcbiAgICAvLyBpcyBzbyBtdWNoIGxhcmdlciB0aGFuIHRoZWlyIHZpc2libGUgc2l6ZSwgYW5kIHNvIHdlIG5lZWQgdG8gcHJvdmlkZVxuICAgIC8vIGZlZWRiYWNrIHRvIHRoZSB1c2VyIGFzIHRvIHdoaWNoIGNoZWNrYm94IHRoZXkgd2lsbCBzZWxlY3Qgd2hlbiB0aGVpclxuICAgIC8vIGN1cnNvciBpcyBvdXRzaWRlIG9mIHRoZSB2aXNpYmxlIGFyZWEuXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06aG92ZXIgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0Om5vdCg6ZGlzYWJsZWQpICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstaG92ZXItd2lkdGggJGdvdnVrLWhvdmVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBCZWNhdXNlIHdlJ3ZlIG92ZXJyaWRkZW4gdGhlIGJvcmRlci1zaGFkb3cgcHJvdmlkZWQgYnkgdGhlIGZvY3VzIHN0YXRlLFxuICAgIC8vIHdlIG5lZWQgdG8gcmVkZWZpbmUgdGhhdCB0b28uXG4gICAgLy9cbiAgICAvLyBXZSB1c2UgdHdvIGJveCBzaGFkb3dzLCBvbmUgdGhhdCByZXN0b3JlcyB0aGUgb3JpZ2luYWwgZm9jdXMgc3RhdGUgWzFdXG4gICAgLy8gYW5kIGFub3RoZXIgdGhhdCB0aGVuIGFwcGxpZXMgdGhlIGhvdmVyIHN0YXRlIFsyXS5cbiAgICAuZ292dWstY2hlY2tib3hlc19faXRlbTpob3ZlciAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgIDAgMCAwICRnb3Z1ay1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyLCAvLyAxXG4gICAgICAgIDAgMCAwICRnb3Z1ay1ob3Zlci13aWR0aCAkZ292dWstaG92ZXItY29sb3VyOyAvLyAyXG4gICAgfVxuXG4gICAgLy8gRm9yIGRldmljZXMgdGhhdCBleHBsaWNpdGx5IGRvbid0IHN1cHBvcnQgaG92ZXIsIGRvbid0IHByb3ZpZGUgYSBob3ZlclxuICAgIC8vIHN0YXRlIChlLmcuIG9uIHRvdWNoIGRldmljZXMgbGlrZSBpT1MpLlxuICAgIC8vXG4gICAgLy8gV2UgY2FuJ3QgdXNlIGBAbWVkaWEgKGhvdmVyOiBob3ZlcilgIGJlY2F1c2Ugd2Ugd291bGRuJ3QgZ2V0IHRoZSBob3ZlclxuICAgIC8vIHN0YXRlIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgQG1lZGlhIChob3ZlcilgIChsaWtlIEludGVybmV0XG4gICAgLy8gRXhwbG9yZXIpIOKAkyBzbyB3ZSBoYXZlIHRvICd1bmRvJyB0aGUgaG92ZXIgc3RhdGUgaW5zdGVhZC5cbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSwgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06aG92ZXIgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0Om5vdCg6ZGlzYWJsZWQpICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZXJyb3ItbWVzc2FnZVwiKSB7XG4gIC5nb3Z1ay1lcnJvci1tZXNzYWdlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZmllbGRzZXRcIikge1xuICAuZ292dWstZmllbGRzZXQge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gIH1cblxuICAvLyBGaXggZm9yIEZpcmVmb3ggPCA1M1xuICAvLyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD01MDQ2MjJcbiAgQHN1cHBvcnRzIG5vdCAoY2FyZXQtY29sb3I6IGF1dG8pIHtcbiAgICAuZ292dWstZmllbGRzZXQsXG4gICAgeDotbW96LWFueS1saW5rIHsgLy8gc3R5bGVsaW50LWRpc2FibGUtbGluZSBzZWxlY3Rvci10eXBlLW5vLXVua25vd25cbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIC8vIEZpeCBsZWdlbmQgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRVxuICAgIC8vIDEuIElFOS0xMSAmIEVkZ2UgMTItMTNcbiAgICAvLyAyLiBJRTgtMTFcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7ICAgICAgICAgLy8gMlxuICAgIG1heC13aWR0aDogMTAwJTsgICAgICAgIC8vIDFcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAgICAvLyAxXG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxlZ2VuZHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tcyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGVnZW5kIGNvbnRhaW5zIGFuIEgxLCB3ZSB3YW50IHRoZSBIMSB0byBpbmhlcml0IGFsbCBzdHlsZXMgZnJvbVxuICAvLyB0aGUgbGVnZW5kLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmcgYXMgaWYgaXQgaXNcbiAgLy8gbm90IHRoZXJlLlxuICAuZ292dWstZmllbGRzZXRfX2hlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGludFwiKSB7XG4gIC5nb3Z1ay1oaW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFJlZHVjZXMgbWFyZ2luLWJvdHRvbSBvZiBoaW50IHdoZW4gdXNlZCBhZnRlciB0aGUgZGVmYXVsdCBsYWJlbCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWxhYmVsLS1zIGZvciBiZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50LlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIHdoZW4gdGhlIGxhYmVsIGlzIGluc2lkZSB0aGUgPGgxPiwgaG93ZXZlciBpdFxuICAvLyBpcyB1bmxpa2VseSB0aGF0IHRoZSBkZWZhdWx0IG9yIGdvdnVrLWxhYmVsLS1zIGNsYXNzIHdvdWxkIGJlIHVzZWQgaW4gdGhpc1xuICAvLyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLlxuICAvLyBVc2VycyB3aXRoIHRoZXNlIGJyb3dzZXJzIHdpbGwgc2VlIHRoZSBkZWZhdWx0IHNpemUgbWFyZ2luICg1cHggbGFyZ2VyKS5cblxuICAuZ292dWstbGFiZWw6bm90KC5nb3Z1ay1sYWJlbC0tbSk6bm90KC5nb3Z1ay1sYWJlbC0tbCk6bm90KC5nb3Z1ay1sYWJlbC0teGwpICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGVnZW5kIChubyBjbGFzcylcbiAgLy8gb3IgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsZWdlbmQgaXMgb3V0c2lkZSB0aGUgPGgxPiwgaG93ZXZlclxuICAvLyBpdCBpcyB1bmxpa2VseSB0aGF0IHRoZSBkZWZhdWx0IG9yIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMgY2xhc3Mgd291bGQgYmVcbiAgLy8gdXNlZCBpbiB0aGlzIGNhc2UuXG5cbiAgLy8gVGhpcyBhZGp1c3RtZW50IHdpbGwgbm90IHdvcmsgaW4gYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCA6bm90KCkuXG4gIC8vIFVzZXJzIHdpdGggdGhlc2UgYnJvd3NlcnMgd2lsbCBzZWUgdGhlIGRlZmF1bHQgc2l6ZSBtYXJnaW4gKDVweCBsYXJnZXIpLlxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbSk6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sKTpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyB2aXN1YWwgc3BhY2luZyBvZiBsZWdlbmQgd2hlbiB0aGVyZSBpcyBhIGhpbnRcbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQgKyAuZ292dWstaGludCB7XG4gICAgbWFyZ2luLXRvcDogLShnb3Z1ay1zcGFjaW5nKDEpKTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9sYWJlbFwiKSB7XG4gIC5nb3Z1ay1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLy8gTW9kaWZpZXJzIHRoYXQgbWFrZSBsYWJlbHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1sYWJlbC0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC8vIFdoZW4gdGhlIGxhYmVsIGlzIG5lc3RlZCBpbnNpZGUgYSBoZWFkaW5nLCBvdmVycmlkZSB0aGUgaGVhZGluZyBzbyB0aGF0IGl0XG4gIC8vIGRvZXMgbm90IGhhdmUgYSBtYXJnaW4uIEVmZmVjdGl2ZWx5IHdlIHdhbnQgdG8gYmUgYWJsZSB0byB0cmVhdCB0aGUgaGVhZGluZ1xuICAvLyBhcyBpZiBpdCBpcyBub3QgdGhlcmUuXG4gIC8vXG4gIC8vIFRoaXMgYnJlYWtzIEJFTSBjb252ZW50aW9ucyBiZWNhdXNlIGl0IGV4aXN0cyBhcyBhIHBhcmVudCBvZiB0aGUgJ2Jsb2NrJyxcbiAgLy8gc28gd2UgY2FuJ3QgcmVhbGx5IGNvbnNpZGVyIGFuIGVsZW1lbnQuXG4gIC5nb3Z1ay1sYWJlbC13cmFwcGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vdGV4dGFyZWEvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGFyYWN0ZXItY291bnRcIikge1xuICAuZ292dWstY2hhcmFjdGVyLWNvdW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwLFxuICAgIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkdGFidWxhcjogdHJ1ZSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZS0tZGlzYWJsZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90ZXh0YXJlYVwiKSB7XG4gIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMS4yNSk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBzaG91bGQgdGhpcyBiZSBnbG9iYWw/XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcblxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICAvLyBFbnN1cmUgb3V0bGluZSBhcHBlYXJzIG91dHNpZGUgb2YgdGhlIGVsZW1lbnRcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgLy8gRG91YmxlIHRoZSBib3JkZXIgYnkgYWRkaW5nIGl0cyB3aWR0aCBhZ2Fpbi4gVXNlIGBib3gtc2hhZG93YCB0byBkb1xuICAgICAgLy8gdGhpcyBpbnN0ZWFkIG9mIGNoYW5naW5nIGBib3JkZXItd2lkdGhgICh3aGljaCBjaGFuZ2VzIGVsZW1lbnQgc2l6ZSkgYW5kXG4gICAgICAvLyBzaW5jZSBgb3V0bGluZWAgaXMgYWxyZWFkeSB1c2VkIGZvciB0aGUgeWVsbG93IGZvY3VzIHN0YXRlLlxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgYGJveC1zaGFkb3dgIHNvIGRvdWJsZSB0aGUgYm9yZGVyIHdpdGhcbiAgICAgICAgLy8gYGJvcmRlci13aWR0aGAuXG4gICAgICAgIGJvcmRlci13aWR0aDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgKiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10ZXh0YXJlYS0tZXJyb3Ige1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvY29va2llLWJhbm5lclwiKSB7XG5cbiAgLy8gVGhpcyBuZWVkcyB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgaGVhZGVyIGNvbXBvbmVudCdzIHN0eWxlc1xuICAkYm9yZGVyLWJvdHRvbS13aWR0aDogZ292dWstc3BhY2luZygyKTtcblxuICAuZ292dWstY29va2llLWJhbm5lciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgLy8gVGhlIGNvbXBvbmVudCBkb2VzIG5vdCBzZXQgYm90dG9tIHNwYWNpbmcuXG4gICAgLy8gVGhlIGJvdHRvbSBzcGFjaW5nIHNob3VsZCBiZSBjcmVhdGVkIGJ5IHRoZSBpdGVtcyBpbnNpZGUgdGhlIGNvbXBvbmVudC5cblxuICAgIC8vIFZpc3VhbGx5IHNlcGFyYXRlIHRoZSBjb29raWUgYmFubmVyIGZyb20gY29udGVudCB1bmRlcm5lYXRoXG4gICAgLy8gd2hlbiB1c2VyIGNoYW5nZXMgY29sb3VycyBpbiB0aGVpciBicm93c2VyLlxuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItYm90dG9tLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktM1wiKTtcbiAgfVxuXG4gIC8vIFN1cHBvcnQgb2xkZXIgYnJvd3NlcnMgd2hpY2ggZG9uJ3QgaGlkZSBlbGVtZW50cyB3aXRoIHRoZSBgaGlkZGVuYCBhdHRyaWJ1dGVcbiAgLy8gd2hlbiB1c2VyIGhpZGVzIHRoZSB3aG9sZSBjb29raWUgYmFubmVyIHdpdGggYSAnSGlkZScgYnV0dG9uLlxuICAuZ292dWstY29va2llLWJhbm5lcltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWNvb2tpZS1iYW5uZXJfX21lc3NhZ2Uge1xuICAgIC8vIFJlbW92ZSB0aGUgZXh0cmEgaGVpZ2h0IGFkZGVkIGJ5IHRoZSBzZXBhcmF0b3IgYm9yZGVyLlxuICAgIG1hcmdpbi1ib3R0b206IC0kYm9yZGVyLWJvdHRvbS13aWR0aDtcblxuICAgICZbaGlkZGVuXSB7XG4gICAgICAvLyBTdXBwb3J0IG9sZGVyIGJyb3dzZXJzIHdoaWNoIGRvbid0IGhpZGUgZWxlbWVudHMgd2l0aCB0aGUgYGhpZGRlbmAgYXR0cmlidXRlXG4gICAgICAvLyB3aGVuIHRoZSB2aXNpYmlsaXR5IG9mIGNvb2tpZSBhbmQgcmVwbGFjZW1lbnQgbWVzc2FnZXMgaXMgdG9nZ2xlZC5cbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBSZW1vdmUgdGhlIG5hdGl2ZSB2aXNpYmxlIGZvY3VzIGluZGljYXRvciB3aGVuIHRoZSBlbGVtZW50IGlzIHByb2dyYW1tYXRpY2FsbHkgZm9jdXNlZC5cbiAgICAgIC8vXG4gICAgICAvLyBUaGUgZm9jdXNlZCBjb29raWUgYmFubmVyIGlzIHRoZSBmaXJzdCBlbGVtZW50IG9uIHRoZSBwYWdlIGFuZCB0aGUgbGFzdCB0aGluZyB0aGUgdXNlclxuICAgICAgLy8gaW50ZXJhY3RlZCB3aXRoIHByaW9yIHRvIGl0IGdhaW5pbmcgZm9jdXMuXG4gICAgICAvLyBXZSB0aGVyZWZvcmUgYXNzdW1lIHRoYXQgbW92aW5nIGZvY3VzIHRvIGl0IGlzIG5vdCBnb2luZyB0byBzdXJwcmlzZSB1c2VycywgYW5kIHRoYXQgZ2l2aW5nXG4gICAgICAvLyBpdCBhIHZpc2libGUgZm9jdXMgaW5kaWNhdG9yIGNvdWxkIGJlIG1vcmUgY29uZnVzaW5nIHRoYW4gaGVscGZ1bCwgZXNwZWNpYWxseSBhcyB0aGVcbiAgICAgIC8vIGVsZW1lbnQgaXMgbm90IG5vcm1hbGx5IGtleWJvYXJkIG9wZXJhYmxlLlxuICAgICAgLy9cbiAgICAgIC8vIFdlIGhhdmUgZmxhZ2dlZCB0aGlzIGluIHRoZSByZXNlYXJjaCBzZWN0aW9uIG9mIHRoZSBndWlkYW5jZSBhcyBzb21ldGhpbmcgdG8gbW9uaXRvci5cbiAgICAgIC8vXG4gICAgICAvLyBBIHJlbGF0ZWQgZGlzY3Vzc2lvbjogaHR0cHM6Ly9naXRodWIuY29tL3czYy93Y2FnL2lzc3Vlcy8xMDAxXG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zdW1tYXJ5LWxpc3RcIikge1xuICAuZ292dWstc3VtbWFyeS1saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IC8vIFJlcXVpcmVkIHRvIGFsbG93IHVzIHRvIHdyYXAgd29yZHMgdGhhdCBvdmVyZmxvdy5cbiAgICB9XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUge1xuICAgIC8vIEF1dG9tYXRpYyB3cmFwcGluZyBmb3IgdW5icmVha2FibGUgdGV4dCAoZS5nLiBVUkxzKVxuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgLy8gRmFsbGJhY2sgZm9yIG9sZGVyIGJyb3dzZXJzIG9ubHlcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuICB9XG5cbiAgLy8gRXhwYW5kIHdpZHRoIHdoZW4gdmFsdWUgaXMgbGFzdCBjb2x1bW4gKG5vIGFjdGlvbilcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWU6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSA+IHAge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcbiAgICBwYWRkaW5nOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gSW4gb2xkZXIgYnJvd3NlcnMgc3VjaCBhcyBJRTgsIDpsYXN0LWNoaWxkIGlzIG5vdCBhdmFpbGFibGUsXG4gIC8vIHNvIG9ubHkgc2hvdyB0aGUgYm9yZGVyIGRpdmlkZXIgd2hlcmUgaXQgaXMgYXZhaWxhYmxlLlxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC8vIE5vIGJvcmRlciBvbiBlbnRpcmUgc3VtbWFyeSBsaXN0XG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3QtLW5vLWJvcmRlciB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3JvdyB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgICAgICAvLyBSZW1vdmUgMXB4IGJvcmRlciwgYWRkIDFweCBoZWlnaHQgYmFjayBvblxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKSArIDFweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE5vIGJvcmRlciBvbiBzcGVjaWZpYyByb3dzXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3Jvdy0tbm8tYm9yZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLFxuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgICAgIC8vIFJlbW92ZSAxcHggYm9yZGVyLCBhZGQgMXB4IGhlaWdodCBiYWNrIG9uXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpICsgMXB4O1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2lucHV0L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZGF0ZS1pbnB1dFwiKSB7XG4gIC5nb3Z1ay1kYXRlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAvLyBmb250LXNpemU6IDAgcmVtb3ZlcyB3aGl0ZXNwYWNlIGNhdXNlZCBieSBpbmxpbmUtYmxvY2tcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19pbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9pbnB1dFwiKSB7XG4gIC5nb3Z1ay1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgQGlmICRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW0ge1xuICAgICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgfVxuICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIC8vIHNldHRpbmcgYW55IGJhY2tncm91bmQtY29sb3IgbWFrZXMgdGV4dCBpbnZpc2libGUgd2hlbiBjaGFuZ2luZyBjb2xvdXJzIHRvIGRhcmsgYmFja2dyb3VuZHMgaW4gRmlyZWZveCAoaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzNTQ3NilcbiAgICAvLyBhcyBiYWNrZ3JvdW5kLWNvbG9yIGFuZCBjb2xvciBuZWVkIHRvIGFsd2F5cyBiZSBzZXQgdG9nZXRoZXIsIGNvbG9yIHNob3VsZCBub3QgYmUgc2V0IGVpdGhlclxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC8vIERpc2FibGUgaW5uZXIgc2hhZG93IGFuZCByZW1vdmUgcm91bmRlZCBjb3JuZXJzXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gRW5zdXJlIG91dGxpbmUgYXBwZWFycyBvdXRzaWRlIG9mIHRoZSBlbGVtZW50XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIC8vIERvdWJsZSB0aGUgYm9yZGVyIGJ5IGFkZGluZyBpdHMgd2lkdGggYWdhaW4uIFVzZSBgYm94LXNoYWRvd2AgZm9yIHRoaXMgLy8gaW5zdGVhZCBvZiBjaGFuZ2luZyBgYm9yZGVyLXdpZHRoYCAtIHRoaXMgaXMgZm9yIGNvbnNpc3RlbmN5IHdpdGhcbiAgICAgIC8vIGNvbXBvbmVudHMgc3VjaCBhcyB0ZXh0YXJlYSB3aGVyZSB3ZSBhdm9pZCBjaGFuZ2luZyBgYm9yZGVyLXdpZHRoYCBhc1xuICAgICAgLy8gaXQgd2lsbCBjaGFuZ2UgdGhlIGVsZW1lbnQgc2l6ZS4gQWxzbywgYG91dGxpbmVgIGNhbm5vdCBiZSB1dGlsaXNlZFxuICAgICAgLy8gaGVyZSBhcyBpdCBpcyBhbHJlYWR5IHVzZWQgZm9yIHRoZSB5ZWxsb3cgZm9jdXMgc3RhdGUuXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICAgLy8gSUU4IGRvZXNuJ3Qgc3VwcG9ydCBgYm94LXNoYWRvd2Agc28gZG91YmxlIHRoZSBib3JkZXIgd2l0aFxuICAgICAgICAvLyBgYm9yZGVyLXdpZHRoYC5cbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAqIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAuZ292dWstaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZ292dWstaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIGV4IG1lYXN1cmVtZW50cyBhcmUgYmFzZWQgb24gdGhlIG51bWJlciBvZiBXJ3MgdGhhdCBjYW4gZml0IGluc2lkZSB0aGUgaW5wdXRcbiAgLy8gRXh0cmEgc3BhY2UgaXMgbGVmdCBvbiB0aGUgcmlnaHQgaGFuZCBzaWRlIHRvIGFsbG93IGZvciB0aGUgU2FmYXJpIHByZWZpbGwgaWNvblxuICAvLyBMaW5lYXIgcmVncmVzc2lvbiBlc3RpbWF0aW9uIGJhc2VkIG9uIHZpc3VhbCB0ZXN0czogeSA9IDEuNzYgKyAxLjgxeFxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMzAge1xuICAgIG1heC13aWR0aDogNTZleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMjAge1xuICAgIG1heC13aWR0aDogMzhleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMTAge1xuICAgIG1heC13aWR0aDogMjBleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtNSB7XG4gICAgbWF4LXdpZHRoOiAxMC44ZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTQge1xuICAgIG1heC13aWR0aDogOWV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0zIHtcbiAgICBtYXgtd2lkdGg6IDcuMmV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0yIHtcbiAgICBtYXgtd2lkdGg6IDUuNGV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0X193cmFwcGVyIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLmdvdnVrLWlucHV0IHtcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gICAgICAgICAgLW1zLWZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAuZ292dWstaW5wdXQ6Zm9jdXMge1xuICAgICAgLy8gSGFjayB0byBzdG9wIGZvY3VzIHN0eWxlIGJlaW5nIG92ZXJsYXBwZWQgYnkgdGhlIHN1ZmZpeFxuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAvLyBTcGxpdCBwcmVmaXgvc3VmZml4IG9udG8gc2VwYXJhdGUgbGluZXMgb24gbmFycm93IHNjcmVlbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5nb3Z1ay1pbnB1dCB7XG4gICAgICAgIC8vIFNldCBtYXgtd2lkdGggdG8gb3ZlcnJpZGUgcG90ZW50aWFsIHdpZHRoIG92ZXJyaWRlIGNsYXNzIG9uIHRoZSBpbnB1dFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0X19wcmVmaXgsXG4gIC5nb3Z1ay1pbnB1dF9fc3VmZml4IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgQGlmICRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW0ge1xuICAgICAgbWluLXdpZHRoOiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgfVxuICAgIGhlaWdodDogNDBweDtcbiAgICBAaWYgJGdvdnVrLXR5cG9ncmFwaHktdXNlLXJlbSB7XG4gICAgICBoZWlnaHQ6IGdvdnVrLXB4LXRvLXJlbSg0MHB4KTtcbiAgICB9XG5cbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktM1wiKTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB9XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIC8vIEVtcGhhc2lzZSBub24tZWRpdGFibGUgc3RhdHVzIG9mIHByZWZpeGVzIGFuZCBzdWZmaXhlc1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIC13ZWJraXQtYm94LWZsZXg6IDA7XG5cbiAgICAgICAgLW1zLWZsZXg6IDAgMCBhdXRvO1xuXG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcblxuICAgIC8vIFNwbGl0IHByZWZpeC9zdWZmaXggb250byBzZXBhcmF0ZSBsaW5lcyBvbiBuYXJyb3cgc2NyZWVuc1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0X19wcmVmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNwbGl0IHByZWZpeC9zdWZmaXggb250byBzZXBhcmF0ZSBsaW5lcyBvbiBuYXJyb3cgc2NyZWVuc1xuICAuZ292dWstaW5wdXRfX3N1ZmZpeCB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiBtb2JpbGUpIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZGV0YWlsc1wiKSB7XG4gIC5nb3Z1ay1kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICAvLyBNYWtlIHRoZSBmb2N1cyBvdXRsaW5lIHNocmluay13cmFwIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIHN1bW1hcnlcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAvLyBBYnNvbHV0ZWx5IHBvc2l0aW9uIHRoZSBtYXJrZXIgYWdhaW5zdCB0aGlzIGVsZW1lbnRcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWxsb3cgZm9yIGFic29sdXRlbHkgcG9zaXRpb25lZCBtYXJrZXIgYW5kIGFsaWduIHdpdGggZGlzY2xvc2VkIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgKyAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgLy8gU3R5bGUgdGhlIHN1bW1hcnkgdG8gbG9vayBsaWtlIGEgbGluay4uLlxuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgIH1cbiAgfVxuXG4gIC8vIC4uLmJ1dCBvbmx5IHVuZGVybGluZSB0aGUgdGV4dCwgbm90IHRoZSBhcnJvd1xuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgdW5kZXJsaW5lIHdoZW4gZm9jdXNzZWQgdG8gYXZvaWQgZHVwbGljYXRlIGJvcmRlcnNcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6Zm9jdXMgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IGRldGFpbHMgbWFya2VyIHNvIHdlIGNhbiBzdHlsZSBvdXIgb3duIGNvbnNpc3RlbnRseSBhbmRcbiAgLy8gZW5zdXJlIGl0IGRpc3BsYXlzIGluIEZpcmVmb3ggKHNlZSBpbXBsZW1lbnRhdGlvbi5tZCBmb3IgZGV0YWlscylcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBBcHBlbmQgb3VyIG93biBvcGVuIC8gY2xvc2VkIG1hcmtlciB1c2luZyBhIHBzZXVkby1lbGVtZW50XG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICB0b3A6IC0xcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBtYXJnaW46IGF1dG87XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiByaWdodCwgJGJhc2U6IDE0cHgpO1xuXG4gICAgLmdvdnVrLWRldGFpbHNbb3Blbl0gPiAmIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxNHB4KTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fdGV4dCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgYm9yZGVyLWxlZnQ6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fdGV4dCBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fdGV4dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vY29yZS9saXN0c1wiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Vycm9yLXN1bW1hcnlcIikge1xuICAuZ292dWstZXJyb3Itc3VtbWFyeSB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19ib2R5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICB9XG4gIH1cblxuICAvLyBDcm9zcy1jb21wb25lbnQgY2xhc3MgLSBhZGp1c3RzIHN0eWxpbmcgb2YgbGlzdCBjb21wb25lbnRcbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3Qge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0IGEge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1lcnJvcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9maWxlLXVwbG9hZFwiKSB7XG4gICRjb21wb25lbnQtcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAuZ292dWstZmlsZS11cGxvYWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBwYWRkaW5nLXRvcDogJGNvbXBvbmVudC1wYWRkaW5nO1xuICAgIHBhZGRpbmctYm90dG9tOiAkY29tcG9uZW50LXBhZGRpbmc7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIFwiWWFua1wiIHRoZSBwYWRkaW5nIHdpdGggbmVnYXRpdmUgbWFyZ2luIHRvIGF2b2lkIGEganVtcFxuICAgICAgLy8gd2hlbiBlbGVtZW50IGlzIGZvY3VzZWRcbiAgICAgIG1hcmdpbi1yaWdodDogLSRjb21wb25lbnQtcGFkZGluZztcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGNvbXBvbmVudC1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1yaWdodDogJGNvbXBvbmVudC1wYWRkaW5nO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkY29tcG9uZW50LXBhZGRpbmc7XG5cbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gVXNlIGBib3gtc2hhZG93YCB0byBhZGQgYm9yZGVyIGluc3RlYWQgb2YgY2hhbmdpbmcgYGJvcmRlci13aWR0aGBcbiAgICAgIC8vICh3aGljaCBjaGFuZ2VzIGVsZW1lbnQgc2l6ZSkgYW5kIHNpbmNlIGBvdXRsaW5lYCBpcyBhbHJlYWR5IHVzZWQgZm9yIHRoZVxuICAgICAgLy8geWVsbG93IGZvY3VzIHN0YXRlLlxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICAvLyBJRTggZG9lc24ndCBzdXBwb3J0IGBib3gtc2hhZG93YCBzbyBhZGQgYW4gYWN0dWFsIGJvcmRlclxuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXQgXCJmb2N1cy13aXRoaW5cIiB0byBmaXggaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMDE5NlxuICAgIC8vIHNvIHRoYXQgY29tcG9uZW50IHJlY2VpdmVzIGZvY3VzIGluIEZpcmVmb3guXG4gICAgLy8gVGhpcyBjYW4ndCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgOmZvY3VzYCBhcyBhbGwgdmVyc2lvbnMgb2YgSUUgZmFpbFxuICAgIC8vIHRvIHJlY29nbmlzZSBgZm9jdXMtd2l0aGluYCBhbmQgZG9uJ3Qgc2V0IGFueSBzdHlsZXMgZnJvbSB0aGUgYmxvY2tcbiAgICAvLyB3aGVuIGl0J3MgYSBzZWxlY3Rvci5cbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0kY29tcG9uZW50LXBhZGRpbmc7XG4gICAgICBtYXJnaW4tbGVmdDogLSRjb21wb25lbnQtcGFkZGluZztcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb21wb25lbnQtcGFkZGluZztcbiAgICAgIHBhZGRpbmctbGVmdDogJGNvbXBvbmVudC1wYWRkaW5nO1xuXG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcblxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9mb290ZXJcIikge1xuXG4gICRnb3Z1ay1mb290ZXItYmFja2dyb3VuZDogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgJGdvdnVrLWZvb3Rlci1ib3JkZXI6ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAvLyBUaGlzIHZhcmlhYmxlIGNhbiBiZSByZW1vdmVkIGVudGlyZWx5IG9uY2UgdGhlIGxlZ2FjeSBwYWxldHRlIGdvZXMgYXdheSxcbiAgLy8gYXMgaXQnbGwganVzdCBiZSB0aGUgc2FtZSBhcyAkZ292dWstZm9vdGVyLWJvcmRlci5cbiAgJGdvdnVrLWZvb3Rlci1ib3JkZXItdG9wOiAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgJGdvdnVrLWZvb3Rlci10ZXh0OiAkZ292dWstdGV4dC1jb2xvdXI7XG4gICRnb3Z1ay1mb290ZXItbGluazogJGdvdnVrLWZvb3Rlci10ZXh0O1xuICAkZ292dWstZm9vdGVyLWxpbmstaG92ZXI6IGZhbHNlO1xuXG4gIEBpZiAoJGdvdnVrLXVzZS1sZWdhY3ktcGFsZXR0ZSkge1xuICAgICRnb3Z1ay1mb290ZXItYm9yZGVyLXRvcDogI2ExYWNiMjtcbiAgICAkZ292dWstZm9vdGVyLWJvcmRlcjogZ292dWstY29sb3VyKFwiZ3JleS0yXCIpO1xuICAgICRnb3Z1ay1mb290ZXItdGV4dDogIzQ1NGE0YztcbiAgICAkZ292dWstZm9vdGVyLWxpbms6ICRnb3Z1ay1mb290ZXItdGV4dDtcblxuICAgIC8vIE9ubHkgdXNlZCB3aXRoIHRoZSBsZWdhY3kgcGFsZXR0ZVxuICAgICRnb3Z1ay1mb290ZXItbGluay1ob3ZlcjogIzE3MTgxOTtcbiAgfVxuXG4gIC8vIEJhc2VkIG9uIHRoZSBnb3Z1ay1jcmVzdC0yeC5wbmcgaW1hZ2UgZGltZW5zaW9ucy5cbiAgJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aC0yeDogMjUwcHg7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0LTJ4OiAyMDRweDtcbiAgLy8gSGFsZiB0aGUgMnggaW1hZ2Ugc28gdGhhdCBpdCBmaXRzIHRoZSByZWd1bGFyIDF4IHNpemUuXG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGg6ICgkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoLTJ4IC8gMik7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0OiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQtMnggLyAyKTtcblxuICAuZ292dWstZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDcsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg1LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlci10b3A7XG4gICAgY29sb3I6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saW5rIHtcbiAgICBAaWYgKCRnb3Z1ay11c2UtbGVnYWN5LXBhbGV0dGUpIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbms7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbmstaG92ZXI7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAmOmxpbmssXG4gICAgICAmOnZpc2l0ZWQsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvb3Rlci1saW5rO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IG1hcmdpbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBib3JkZXI6IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IGJvcmRlcnNcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbS0tZ3JvdyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzIwcHg7XG4gICAgICAgICAgZmxleC1iYXNpczogMzIwcHg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saWNlbmNlLWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpY2VuY2UtZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2NvcHlyaWdodC1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQgKyBnb3Z1ay1zcGFjaW5nKDIpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJnb3Z1ay1jcmVzdC5wbmdcIik7XG4gICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImdvdnVrLWNyZXN0LTJ4LnBuZ1wiKTtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2lubGluZS1saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtY3VzdG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNywgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1mb290ZXItYm9yZGVyO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIG1hcmdpbi1yaWdodDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tbGVmdDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstZ3V0dGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAvLyBFbnN1cmUgY29sdW1ucyB0YWtlIHVwIGVxdWFsIHdpZHRoICh0eXBpY2FsbHkgb25lLWhhbGY6b25lLWhhbGYpXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXgtcG9zaXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogMTtcbiAgICAgICAgZmxleC1zaHJpbms6IDE7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJHVudGlsOiBkZXNrdG9wKSB7XG4gICAgICAvLyBNYWtlIHN1cmUgY29sdW1ucyBkbyBub3QgZHJvcCBiZWxvdyAyMDBweCBpbiB3aWR0aFxuICAgICAgLy8gV2lsbCB0eXBpY2FsbHkgcmVzdWx0IGluIHdyYXBwaW5nLCBhbmQgZW5kIHVwIGluIGEgc2luZ2xlIGNvbHVtbiBvbiBzbWFsbGVyIHNjcmVlbnMuXG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjAwcHg7XG4gICAgICAgICAgZmxleC1iYXNpczogMjAwcHg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGVyZSBhcmUgb25seSB0d28gc2VjdGlvbnMsIHNldCB0aGUgbGF5b3V0IHRvIGJlIHR3by10aGlyZDpvbmUtdGhpcmQgb24gZGVza3RvcFxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAvLyBXZSBtYXRjaCB0aGUgZmlyc3Qgc2VjdGlvbiB3aXRoIGA6Zmlyc3QtY2hpbGRgLlxuICAgIC8vIFRvIGVuc3VyZSB0aGUgc2VjdGlvbiBpcyBvbmUgb2YgdHdvLCB3ZSBjYW4gY291bnQgYmFja3dhcmRzIHVzaW5nIGA6bnRoLWxhc3QtY2hpbGQoMilgLlxuICAgIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMjtcbiAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMjtcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAkZ292dWstZ3V0dGVyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAuZ292dWstZm9vdGVyX19saXN0LS1jb2x1bW5zLTIge1xuICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjsgLy8gU3VwcG9ydDogQ29sdW1uc1xuICAgIH1cblxuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMyB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hlYWRlclwiKSB7XG5cbiAgJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I6ICRnb3Z1ay1icmFuZC1jb2xvdXI7XG4gICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAkZ292dWstaGVhZGVyLXRleHQ6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbms6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbmstaG92ZXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlOiAjMWQ4ZmViO1xuICAkZ292dWstaGVhZGVyLW5hdi1pdGVtLWJvcmRlci1jb2xvcjogIzJlMzEzMztcblxuICAuZ292dWstaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG5cbiAgICBib3JkZXItYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpIHNvbGlkIGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyLS1mdWxsLXdpZHRoIHtcbiAgICBwYWRkaW5nOiAwIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjtcblxuICAgIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICAgIHJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IC0kZ292dWstaGVhZGVyLWJvcmRlci13aWR0aDtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBib3JkZXItYm90dG9tOiAkZ292dWstaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgZmlsbDogY3VycmVudENvbG9yO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlcjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fcHJvZHVjdC1uYW1lIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJGxpbmUtaGVpZ2h0OiAxKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItbGluaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19saW5rLS1ob21lcGFnZSB7XG4gICAgLy8gRm9udCBzaXplIG5lZWRzIHRvIGJlIHNldCBvbiB0aGUgbGluayBzbyB0aGF0IHRoZSBib3ggc2l6aW5nIGlzIGNvcnJlY3RcbiAgICAvLyBpbiBGaXJlZm94XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogZmFsc2UsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzBweDsgLy8gV2UgZG9uJ3QgaGF2ZSBhIG1peGluIHRoYXQgcHJvZHVjZXMgMzBweCBmb250IHNpemVcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgLy8gTmVnYXRlIHRoZSBhZGRlZCBib3JkZXJcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAvLyBPbWl0dGluZyBjb2xvdXIgd2lsbCB1c2UgZGVmYXVsdCB2YWx1ZSBvZiBjdXJyZW50Q29sb3Ig4oCTIGlmIHdlXG4gICAgICAvLyBzcGVjaWZpZWQgY3VycmVudENvbG9yIGV4cGxpY2l0bHkgSUU4IHdvdWxkIGlnbm9yZSB0aGlzIHJ1bGUuXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGFueSBib3JkZXJzIHRoYXQgc2hvdyB3aGVuIGZvY3VzZWQgYW5kIGhvdmVyZWQuXG4gICAgJjpmb2N1cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19saW5rLS1zZXJ2aWNlLW5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ28sXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRlbnQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigyLCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDgpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgcGFkZGluZy1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDY2LjY2JTtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbms7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBkb3duLCAkYmFzZTogMTBweCwgJGRpc3BsYXk6IGlubGluZS1ibG9jayk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19tZW51LWJ1dHRvbi0tb3BlbiB7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiB1cCwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDIsIFwiYm90dG9tXCIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuanMtZW5hYmxlZCB7XG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tb3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLS1lbmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tbm8tc2VydmljZS1uYW1lIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg3KTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbSB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstaGVhZGVyLW5hdi1pdGVtLWJvcmRlci1jb2xvcjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICR3ZWlnaHQ6IGJvbGQpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0tLWFjdGl2ZSB7XG4gICAgYSB7XG4gICAgICAmOmxpbmssXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItbGluay1hY3RpdmU7XG4gICAgICB9XG5cbiAgICAgIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gICAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgLmdvdnVrLWhlYWRlciB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgaW52ZXJ0ZWQgY3Jvd24gd2hlbiBwcmludGluZyBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgU1ZHLlxuICAgIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duLWZhbGxiYWNrLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbGluayB7XG4gICAgICAmOmxpbmssXG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICB9XG5cbiAgICAgIC8vIERvIG5vdCBhcHBlbmQgbGluayBocmVmIHRvIEdPVi5VSyBsaW5rIHdoZW4gcHJpbnRpbmcgKGUuZy4gJygvKScpXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJGdvdnVrLXVzZS1sZWdhY3ktZm9udCB7XG4gICAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gICAgLy8gVGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiB0aGUgZm9udCBpcyB1cGRhdGVkIHdpdGggdGhlIGNvcnJlY3QgYmFzZWxpbmVcbiAgICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bixcbiAgICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXIge1xuICAgICAgJG9mZnNldDogM3B4O1xuICAgICAgcGFkZGluZy10b3A6ICRvZmZzZXQ7XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbGluay0taG9tZXBhZ2Uge1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuICAgIC8vIEVuZCBhZGp1c3RtZW50c1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2luc2V0LXRleHRcIikge1xuICAuZ292dWstaW5zZXQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgLy8gTWFyZ2luIHRvcCBpbnRlbmRlZCB0byBjb2xsYXBzZVxuICAgIC8vIFRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIDEwcHggdG8gdGhlIHBhcmFncmFwaCBhYm92ZVxuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICA+IDpvbmx5LWNoaWxkLFxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvbm90aWZpY2F0aW9uLWJhbm5lclwiKSB7XG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJyYW5kLWNvbG91cjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1icmFuZC1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDJweCBnb3Z1ay1zcGFjaW5nKDMpIGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAvLyBFbnN1cmVzIHRoZSBub3RpZmljYXRpb24gaGVhZGVyIGFwcGVhcnMgc2VwYXJhdGUgdG8gdGhlIG5vdGlmaWNhdGlvbiBib2R5IHRleHQgaW4gaGlnaCBjb250cmFzdCBtb2RlXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogMnB4IGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIG1hcmdpbjogMDtcblxuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fY29udGVudCB7XG4gICAgJHBhZGRpbmctdGFibGV0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxldDtcbiAgICB9XG5cbiAgICAvLyBXcmFwIGNvbnRlbnQgYXQgdGhlIHNhbWUgcGxhY2UgdGhhdCBhIDIvMyBncmlkIGNvbHVtbiBlbmRzLCB0byBtYWludGFpblxuICAgIC8vIHNob3J0ZXIgbGluZS1sZW5ndGhzIHdoZW4gdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgaXMgZnVsbCB3aWR0aFxuICAgID4gKiB7XG4gICAgICAvLyBXaGVuIGVsZW1lbnRzIGhhdmUgdGhlaXIgb3duIHBhZGRpbmcgKGxpa2UgbGlzdHMpLCBpbmNsdWRlIHRoZSBwYWRkaW5nXG4gICAgICAvLyBpbiB0aGUgbWF4LXdpZHRoIGNhbGN1bGF0aW9uXG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIGludGVybmFsIHdpZHRoIG9mIGEgdHdvLXRoaXJkcyBjb2x1bW4uLi5cbiAgICAgICR0d28tY29sLXdpZHRoOiAoJGdvdnVrLXBhZ2Utd2lkdGggKiAyIC8gMykgLSAoJGdvdnVrLWd1dHRlciAqIDEgLyAzKTtcblxuICAgICAgLy8gLi4uYW5kIHRoZW4gZmFjdG9yIGluIHRoZSBsZWZ0IGJvcmRlciBhbmQgcGFkZGluZ1xuICAgICAgJGJhbm5lci1leHRlcmlvcjogKCRwYWRkaW5nLXRhYmxldCArICRnb3Z1ay1ib3JkZXItd2lkdGgpO1xuICAgICAgbWF4LXdpZHRoOiAkdHdvLWNvbC13aWR0aCAtICRiYW5uZXItZXh0ZXJpb3I7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBtYXJnaW46IDAgMCBnb3Z1ay1zcGFjaW5nKDMpIDA7XG5cbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyLS1zdWNjZXNzIHtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcblxuICAgIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19saW5rIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtc3VjY2VzcztcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGFuZWxcIikge1xuICAuZ292dWstcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNykgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNikgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbC0tY29uZmlybWF0aW9uIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwiZ3JlZW5cIiwgJGxlZ2FjeTogXCJ0dXJxdW9pc2VcIik7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgY29sb3I6ICRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX19ib2R5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNik7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi90YWcvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9waGFzZS1iYW5uZXJcIikge1xuICAuZ292dWstcGhhc2UtYmFubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcblxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX2NvbnRlbnRfX3RhZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fdGV4dCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFnXCIpIHtcbiAgLmdvdnVrLXRhZyB7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAvLyBXaGVuIGEgdXNlciBjdXN0b21pc2VzIHRoZWlyIGNvbG91cnMgb2Z0ZW4gdGhlIGJhY2tncm91bmQgaXMgcmVtb3ZlZCxcbiAgICAvLyBieSBhZGRpbmcgYSBvdXRsaW5lIHdlIGVuc3VyZSB0aGF0IHRoZSB0YWcgY29tcG9uZW50IHN0aWxsIGtlZXBzIGl0J3MgbWVhbmluZy5cbiAgICAvLyBodHRwczovL2FjY2Vzc2liaWxpdHkuYmxvZy5nb3YudWsvMjAxNy8wMy8yNy9ob3ctdXNlcnMtY2hhbmdlLWNvbG91cnMtb24td2Vic2l0ZXMvXG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuXG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcblxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGlmICRnb3Z1ay11c2UtbGVnYWN5LWZvbnQge1xuICAgICAgLy8gU2luY2UgTmV3IFRyYW5zcG9ydCBzaXRzIHNsaWdodGx5IGhpZ2hlciB0aGFuIG90aGVyIGNvbW1vbiBmb250cy5cbiAgICAgIC8vIFdlIHVzZSBpbnRlbnRpb25hbGx5IHVuZXZlbiBwYWRkaW5nIHRvIG1ha2UgaXQgYmFsYW5jZWQsIHRoaXMgY2FuIGJlXG4gICAgICAvLyByZW1vdmVkIHVzaW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBmb250IHRoYXQgaGFzIGEgbW9yZSBjb21tb24gdmVydGljYWwgc3BhY2luZy5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEpO1xuICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICB9XG4gIH1cblxuICAvLyBEZXByZWNhdGVkLiBXZSdsbCByZW1vdmUgdGhpcyBjbGFzcyBpbiBhIGZ1dHVyZSByZWxlYXNlLiBVc2UgYC5nb3Z1ay10YWctLWdyZXlgIGluc3RlYWQuXG4gIC5nb3Z1ay10YWctLWluYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJkYXJrLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTFcIik7XG4gIH1cblxuICAuZ292dWstdGFnLS1ncmV5IHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiZGFyay1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0xXCIpLCAzMCk7XG4gICAgYmFja2dyb3VuZDogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJkYXJrLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTFcIiksIDkwKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLXB1cnBsZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcInB1cnBsZVwiKSwgMjApO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwicHVycGxlXCIpLCA4MCk7XG4gIH1cblxuICAuZ292dWstdGFnLS10dXJxdW9pc2Uge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJ0dXJxdW9pc2VcIiksIDYwKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcInR1cnF1b2lzZVwiKSwgNzApO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tYmx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImJsdWVcIiksIDMwKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImJsdWVcIiksIDgwKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLXllbGxvdyB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcInllbGxvd1wiKSwgNjUpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwieWVsbG93XCIpLCA3NSk7XG4gIH1cblxuICAuZ292dWstdGFnLS1vcmFuZ2Uge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJvcmFuZ2VcIiksIDU1KTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcIm9yYW5nZVwiKSwgNzApO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcmVkIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwicmVkXCIpLCAzMCk7XG4gICAgYmFja2dyb3VuZDogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJyZWRcIiksIDgwKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLXBpbmsge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJwaW5rXCIpLCA0MCk7XG4gICAgYmFja2dyb3VuZDogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJwaW5rXCIpLCA4MCk7XG4gIH1cblxuICAuZ292dWstdGFnLS1ncmVlbiB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImdyZWVuXCIpLCAyMCk7XG4gICAgYmFja2dyb3VuZDogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJncmVlblwiKSwgODApO1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhYnNcIikge1xuICAuZ292dWstdGFicyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMSwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstdGFic19fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNSk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFwiOyAvLyBcIuKAlCBcIlxuICAgICAgbWFyZ2luLWxlZnQ6IC0gZ292dWstc3BhY2luZyg1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICAvLyBGb2N1cyBzdGF0ZSBmb3IgbW9iaWxlIGFuZCB3aGVuIEphdmFTY3JpcHQgaXMgZGlzYWJsZWRcbiAgICAvLyBJdCBpcyByZW1vdmVkIGZvciBKUy1lbmFibGVkIGRlc2t0b3Agc3R5bGVzXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3BhbmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC8vIEphdmFTY3JpcHQgZW5hYmxlZFxuICAuanMtZW5hYmxlZCB7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAuZ292dWstdGFic19fbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDQpO1xuXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS00XCIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX2xpc3QtaXRlbS0tc2VsZWN0ZWQge1xuICAgICAgICAkYm9yZGVyLXdpZHRoOiAxcHg7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIG1hcmdpbi10b3A6IC0gZ292dWstc3BhY2luZygxKTtcblxuICAgICAgICAvLyBDb21wZW5zYXRpb24gZm9yIGJvcmRlciAob3RoZXJ3aXNlIHdlIGdldCBhIHNoaWZ0KVxuICAgICAgICBtYXJnaW4tYm90dG9tOiAtJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMykgLSAkYm9yZGVyLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpIC0gJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMykgKyAkYm9yZGVyLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgLSAkYm9yZGVyLXdpZHRoO1xuXG4gICAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcblxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjtcblxuICAgICAgICAuZ292dWstdGFic19fdGFiIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fcGFuZWwge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigwLCBcImJvdHRvbVwiKTtcbiAgICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg2KSBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcblxuICAgICAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX3BhbmVsLS1oaWRkZW4ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9maWVsZHNldC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3JhZGlvc1wiKSB7XG5cbiAgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplOiA0NHB4O1xuICAkZ292dWstcmFkaW9zLXNpemU6IDQwcHg7XG4gICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZTogMjRweDtcbiAgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIC8vIFdoZW4gdGhlIGRlZmF1bHQgZm9jdXMgd2lkdGggaXMgdXNlZCBvbiBhIGN1cnZlZCBlZGdlIGl0IGxvb2tzIHZpc3VhbGx5IHNtYWxsZXIuXG4gIC8vIFNvIGZvciB0aGUgY2lyY3VsYXIgcmFkaW9zIHdlIGJ1bXAgdGhlIGRlZmF1bHQgdG8gbWFrZSBpdCBsb29rIHZpc3VhbGx5IGNvbnNpc3RlbnQuXG4gICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGg6ICRnb3Z1ay1mb2N1cy13aWR0aCArIDFweDtcblxuICAuZ292dWstcmFkaW9zX19pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtaW4taGVpZ2h0OiAkZ292dWstcmFkaW9zLXNpemU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQge1xuICAgICRpbnB1dC1vZmZzZXQ6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkZ292dWstcmFkaW9zLXNpemUpIC8gMjtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIElFOCBkb2VzbuKAmXQgc3VwcG9ydCBwc2V1ZG8tZWxlbWVudHMsIHNvIHdlIGRvbuKAmXQgd2FudCB0byBoaWRlIG5hdGl2ZVxuICAgIC8vIGVsZW1lbnRzIHRoZXJlLlxuICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgdG9wOiAkaW5wdXQtb2Zmc2V0ICogLTE7XG4gICAgICBsZWZ0OiAkaW5wdXQtb2Zmc2V0ICogLTE7XG5cbiAgICAgIHdpZHRoOiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgICBoZWlnaHQ6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLXJhZGlvcy1zaXplIC8gLTI7XG4gICAgICBtYXJnaW4tbGVmdDogJGdvdnVrLXJhZGlvcy1zaXplIC8gLTI7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgLy8gYWRkIGZvY3VzIG91dGxpbmUgdG8gaW5wdXRcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogOHB4ICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vIHJlbW92ZSAzMDBtcyBwYXVzZSBvbiBtb2JpbGVcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB9XG5cbiAgLy8gKCApIFJhZGlvIHJpbmdcbiAgLmdvdnVrLXJhZGlvc19fbGFiZWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcblxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vICDigKIgIFJhZGlvIGJ1dHRvblxuICAvL1xuICAvLyBXZSBjcmVhdGUgdGhlICdidXR0b24nIGVudGlyZWx5IG91dCBvZiAnYm9yZGVyJyBzbyB0aGF0IHRoZXkgcmVtYWluXG4gIC8vICdmaWxsZWQnIGV2ZW4gd2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGluIHRoZSBicm93c2VyLlxuICAuZ292dWstcmFkaW9zX19sYWJlbDphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgbGVmdDogZ292dWstc3BhY2luZygyKTtcblxuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcblxuICAgIGJvcmRlcjogZ292dWstc3BhY2luZygyKSBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faGludCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1yaWdodDogJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstcmFkaW9zX19sYWJlbDpiZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmNoZWNrZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmRpc2FibGVkLFxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBJbmxpbmUgcmFkaW9zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC5nb3Z1ay1yYWRpb3MtLWlubGluZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuXG4gICAgICAuZ292dWstcmFkaW9zX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJldmVudCBpbmxpbmUgbW9kaWZpZXIgYmVpbmcgdXNlZCB3aXRoIGNvbmRpdGlvbmFsIHJldmVhbHNcbiAgICAmLmdvdnVrLXJhZGlvcy0tY29uZGl0aW9uYWwge1xuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIERpdmlkZXJzICgnb3InKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstcmFkaW9zX19kaXZpZGVyIHtcbiAgICAkZ292dWstZGl2aWRlci1zaXplOiAkZ292dWstcmFkaW9zLXNpemUgIWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHdpZHRoOiAkZ292dWstZGl2aWRlci1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbmRpdGlvbmFsIHJldmVhbHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gVGhlIG5hcnJvdyBib3JkZXIgaXMgdXNlZCBpbiB0aGUgY29uZGl0aW9uYWwgcmV2ZWFscyBiZWNhdXNlIHRoZSBib3JkZXIgaGFzXG4gIC8vIHRvIGJlIGFuIGV2ZW4gbnVtYmVyIGluIG9yZGVyIHRvIGJlIGNlbnRyZWQgdW5kZXIgdGhlIDQwcHggY2hlY2tib3ggb3IgcmFkaW8uXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93O1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgcmFkaW9zLlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc6ICgkZ292dWstcmFkaW9zLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSByYWRpb3NcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmpzLWVuYWJsZWQgJi0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFNtYWxsIGNoZWNrYm94ZXNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLmdvdnVrLXJhZGlvcy0tc21hbGwge1xuXG4gICAgJGlucHV0LW9mZnNldDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZSkgLyAyO1xuICAgICRsYWJlbC1vZmZzZXQ6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRpbnB1dC1vZmZzZXQ7XG5cbiAgICAuZ292dWstcmFkaW9zX19pdGVtIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRsYWJlbC1vZmZzZXQ7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAvLyBTaGlmdCB0aGUgdG91Y2ggdGFyZ2V0IGludG8gdGhlIGxlZnQgbWFyZ2luIHNvIHRoYXQgdGhlIHZpc2libGUgZWRnZSBvZlxuICAgIC8vIHRoZSBjb250cm9sIGlzIGFsaWduZWRcbiAgICAvL1xuICAgIC8vICAg4pSGV2hpY2ggY29sb3VyIGlzIHlvdXIgZmF2b3VyaXRlP1xuICAgIC8vICDilIzilIbilIDilIDilIDilJBcbiAgICAvLyAg4pSC4pSGKCkg4pSCIFB1cnBsZVxuICAgIC8vICDilJTilIbilrLilIDilIDilJhcbiAgICAvLyAg4pay4pSG4pSU4pSAIFJhZGlvIHBzZXVkbyBlbGVtZW50LCBhbGlnbmVkIHdpdGggbWFyZ2luXG4gICAgLy8gIOKUlOKUgOKUgOKUgCBUb3VjaCB0YXJnZXQgKGludmlzaWJsZSBpbnB1dCksIHNoaWZ0ZWQgaW50byB0aGUgbWFyZ2luXG4gICAgLmdvdnVrLXJhZGlvc19faW5wdXQge1xuICAgICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICAgIGxlZnQ6ICRpbnB1dC1vZmZzZXQgKiAtMTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZSAqIC0xO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkanVzdCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGxhYmVsLlxuICAgIC8vXG4gICAgLy8gVW5saWtlIGxhcmdlciByYWRpb3MsIHdlIGFsc28gaGF2ZSB0byBmbG9hdCB0aGUgbGFiZWwgaW4gb3JkZXIgdG9cbiAgICAvLyAnc2hyaW5rJyBpdCwgcHJldmVudGluZyB0aGUgaG92ZXIgc3RhdGUgZnJvbSBraWNraW5nIGluIGFjcm9zcyB0aGUgZnVsbFxuICAgIC8vIHdpZHRoIG9mIHRoZSBwYXJlbnQgZWxlbWVudC5cbiAgICAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgcGFkZGluZzogMTNweCBnb3Z1ay1zcGFjaW5nKDMpIDEzcHggMXB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogMTFweCBnb3Z1ay1zcGFjaW5nKDMpIDEwcHggMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vICggKSBSYWRpbyByaW5nXG4gICAgLy9cbiAgICAvLyBSZWR1Y2UgdGhlIHNpemUgb2YgdGhlIGNvbnRyb2wgWzFdLCB2ZXJ0aWNhbGx5IGNlbnRlcmluZyBpdCB3aXRoaW4gdGhlXG4gICAgLy8gdG91Y2ggdGFyZ2V0IFsyXVxuICAgIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOmJlZm9yZSB7XG4gICAgICB0b3A6ICRpbnB1dC1vZmZzZXQgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDsgLy8gMlxuICAgICAgd2lkdGg6ICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZTsgLy8gMVxuICAgICAgaGVpZ2h0OiAkZ292dWstc21hbGwtcmFkaW9zLXNpemU7IC8vIDFcbiAgICB9XG5cbiAgICAvLyAg4oCiICBSYWRpbyBidXR0b25cbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgJ2J1dHRvbicgYW5kIGNlbnRlciBpdCB3aXRoaW4gdGhlIHJpbmdcbiAgICAuZ292dWstcmFkaW9zX19sYWJlbDphZnRlciB7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICBsZWZ0OiA3cHg7XG4gICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICB9XG5cbiAgICAvLyBGaXggcG9zaXRpb24gb2YgaGludCB3aXRoIHNtYWxsIHJhZGlvc1xuICAgIC8vXG4gICAgLy8gRG8gbm90IHVzZSBoaW50cyB3aXRoIHNtYWxsIHJhZGlvcyDigJMgYmVjYXVzZSB0aGV5J3JlIHdpdGhpbiB0aGUgaW5wdXRcbiAgICAvLyB3cmFwcGVyIHRoZXkgdHJpZ2dlciB0aGUgaG92ZXIgc3RhdGUsIGJ1dCBjbGlja2luZyB0aGVtIGRvZXNuJ3QgYWN0dWFsbHlcbiAgICAvLyBhY3RpdmF0ZSB0aGUgY29udHJvbC5cbiAgICAvL1xuICAgIC8vIChJZiB5b3UgZG8gdXNlIHRoZW0sIHRoZXkgd29uJ3QgbG9vayBjb21wbGV0ZWx5IGJyb2tlbi4uLiBidXQgc2VyaW91c2x5LFxuICAgIC8vIGRvbid0IHVzZSB0aGVtKVxuICAgIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY29uZGl0aW9uYWwgcmV2ZWFscyB3aXRoIHNtYWxsIHJhZGlvc1xuICAgIC5nb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsIHtcbiAgICAgICRtYXJnaW4tbGVmdDogKCRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZSAvIDIpIC0gKCRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggLyAyKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRsYWJlbC1vZmZzZXQgLSAoJG1hcmdpbi1sZWZ0ICsgJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCk7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuZ292dWstcmFkaW9zX19kaXZpZGVyIHtcbiAgICAgIHdpZHRoOiAkZ292dWstc21hbGwtcmFkaW9zLXNpemU7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cblxuICAgIC8vIEhvdmVyIHN0YXRlIGZvciBzbWFsbCByYWRpb3MuXG4gICAgLy9cbiAgICAvLyBXZSB1c2UgYSBob3ZlciBzdGF0ZSBmb3Igc21hbGwgcmFkaW9zIGJlY2F1c2UgdGhlIHRvdWNoIHRhcmdldCBzaXplXG4gICAgLy8gaXMgc28gbXVjaCBsYXJnZXIgdGhhbiB0aGVpciB2aXNpYmxlIHNpemUsIGFuZCBzbyB3ZSBuZWVkIHRvIHByb3ZpZGVcbiAgICAvLyBmZWVkYmFjayB0byB0aGUgdXNlciBhcyB0byB3aGljaCByYWRpbyB0aGV5IHdpbGwgc2VsZWN0IHdoZW4gdGhlaXJcbiAgICAvLyBjdXJzb3IgaXMgb3V0c2lkZSBvZiB0aGUgdmlzaWJsZSBhcmVhLlxuICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW06aG92ZXIgLmdvdnVrLXJhZGlvc19faW5wdXQ6bm90KDpkaXNhYmxlZCkgKyAuZ292dWstcmFkaW9zX19sYWJlbDpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQmVjYXVzZSB3ZSd2ZSBvdmVycmlkZGVuIHRoZSBib3JkZXItc2hhZG93IHByb3ZpZGVkIGJ5IHRoZSBmb2N1cyBzdGF0ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIHJlZGVmaW5lIHRoYXQgdG9vLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIHR3byBib3ggc2hhZG93cywgb25lIHRoYXQgcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGZvY3VzIHN0YXRlIFsxXVxuICAgIC8vIGFuZCBhbm90aGVyIHRoYXQgdGhlbiBhcHBsaWVzIHRoZSBob3ZlciBzdGF0ZSBbMl0uXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDAgMCAkZ292dWstcmFkaW9zLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXIsIC8vIDFcbiAgICAgICAgMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICAgICAgICAkZ292dWstaG92ZXItY29sb3VyOyAvLyAyXG4gICAgfVxuXG4gICAgLy8gRm9yIGRldmljZXMgdGhhdCBleHBsaWNpdGx5IGRvbid0IHN1cHBvcnQgaG92ZXIsIGRvbid0IHByb3ZpZGUgYSBob3ZlclxuICAgIC8vIHN0YXRlIChlLmcuIG9uIHRvdWNoIGRldmljZXMgbGlrZSBpT1MpLlxuICAgIC8vXG4gICAgLy8gV2UgY2FuJ3QgdXNlIGBAbWVkaWEgKGhvdmVyOiBob3ZlcilgIGJlY2F1c2Ugd2Ugd291bGRuJ3QgZ2V0IHRoZSBob3ZlclxuICAgIC8vIHN0YXRlIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgQG1lZGlhIChob3ZlcilgIChsaWtlIEludGVybmV0XG4gICAgLy8gRXhwbG9yZXIpIOKAkyBzbyB3ZSBoYXZlIHRvICd1bmRvJyB0aGUgaG92ZXIgc3RhdGUgaW5zdGVhZC5cbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSwgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW06aG92ZXIgLmdvdnVrLXJhZGlvc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstcmFkaW9zX19sYWJlbDpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstcmFkaW9zLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NlbGVjdFwiKSB7XG4gIC5nb3Z1ay1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gc2hvdWxkIHRoaXMgYmUgZ2xvYmFsP1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgQGlmICRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW0ge1xuICAgICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgfVxuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7IC8vIHdhcyA1cHggNHB4IDRweCAtIHNpemUgb2YgaXQgc2hvdWxkIGJlIGFkanVzdGVkIHRvIG1hdGNoIG90aGVyIGZvcm0gZWxlbWVudHNcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIEVuc3VyZSBvdXRsaW5lIGFwcGVhcnMgb3V0c2lkZSBvZiB0aGUgZWxlbWVudFxuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICAvLyBEb3VibGUgdGhlIGJvcmRlciBieSBhZGRpbmcgaXRzIHdpZHRoIGFnYWluLiBVc2UgYGJveC1zaGFkb3dgIHRvIGRvXG4gICAgICAvLyB0aGlzIGluc3RlYWQgb2YgY2hhbmdpbmcgYGJvcmRlci13aWR0aGAgKHdoaWNoIGNoYW5nZXMgZWxlbWVudCBzaXplKSBhbmRcbiAgICAgIC8vIHNpbmNlIGBvdXRsaW5lYCBpcyBhbHJlYWR5IHVzZWQgZm9yIHRoZSB5ZWxsb3cgZm9jdXMgc3RhdGUuXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICAgLy8gSUU4IGRvZXNuJ3Qgc3VwcG9ydCBgYm94LXNoYWRvd2Agc28gZG91YmxlIHRoZSBib3JkZXIgd2l0aFxuICAgICAgICAvLyBgYm9yZGVyLXdpZHRoYC5cbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAqIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNlbGVjdCBvcHRpb246YWN0aXZlLFxuICAuZ292dWstc2VsZWN0IG9wdGlvbjpjaGVja2VkLFxuICAuZ292dWstc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlbGVjdC0tZXJyb3Ige1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc2tpcC1saW5rXCIpIHtcbiAgLmdvdnVrLXNraXAtbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplOiAxNik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICAvLyBSZXNwZWN0ICdkaXNwbGF5IGN1dG91dCcgc2FmZSBhcmVhIChhdm9pZHMgbm90Y2hlcyBhbmQgcm91bmRlZCBjb3JuZXJzKVxuICAgIEBzdXBwb3J0cyAocGFkZGluZzogdW5xdW90ZShcIm1heChjYWxjKDBweCkpXCIpKSB7XG4gICAgICAkcGFkZGluZy1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3tnb3Z1ay1zcGFjaW5nKDMpfSArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAgICRwYWRkaW5nLXNhZmUtYXJlYS1sZWZ0OiBjYWxjKCN7Z292dWstc3BhY2luZygzKX0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcblxuICAgICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBwYWRkaW5nLCBkZWZhdWx0IG9yIHdpdGggc2FmZSBhcmVhXG4gICAgICAvLyBFc2NhcGVkIGR1ZSB0byBTYXNzIG1heCgpIHZzLiBDU1MgbmF0aXZlIG1heCgpXG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnF1b3RlKFwibWF4KCN7Z292dWstc3BhY2luZygzKX0sICN7JHBhZGRpbmctc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVucXVvdGUoXCJtYXgoI3tnb3Z1ay1zcGFjaW5nKDMpfSwgI3skcGFkZGluZy1zYWZlLWFyZWEtbGVmdH0pXCIpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG5cbiAgICAgIC8vIFVuZG8gdW53YW50ZWQgY2hhbmdlcyB3aGVuIGdsb2JhbCBzdHlsZXMgYXJlIGVuYWJsZWRcbiAgICAgIEBpZiAoJGdvdnVrLWdsb2JhbC1zdHlsZXMpIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhYmxlXCIpIHtcbiAgLmdvdnVrLXRhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlcixcbiAgLmdvdnVrLXRhYmxlX19jZWxsIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygyKSAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLy8gR09WLlVLIEVsZW1lbnRzIHNldHMgdGhlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHQgZm9yIGFsbCBoZWFkZXJzIGFuZCBjZWxsc1xuICAgIC8vIGluIHRhYmxlcy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX2VsZW1lbnRzKSB7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NlbGwtLW51bWVyaWMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkdGFidWxhcjogdHJ1ZSk7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlci0tbnVtZXJpYyxcbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuXG4gICAgZGlzcGxheTogdGFibGUtY2FwdGlvbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG5cbiAgLy8gTW9kaWZpZXJzIHRoYXQgbWFrZSBjYXB0aW9ucyBsb29rIG1vcmUgbGlrZSB0aGVpciBlcXVpdmFsZW50IGhlYWRpbmdzXG5cbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0tcyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3dhcm5pbmctdGV4dFwiKSB7XG4gIC5nb3Z1ay13YXJuaW5nLXRleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcblxuICAgIG1pbi13aWR0aDogMzVweDtcbiAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbi10b3A6IC03cHg7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIH1cblxuICAgIC8vIFdoZW4gYSB1c2VyIGN1c3RvbWlzZXMgdGhlaXIgY29sb3VycyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgd2lsbCBvZnRlbiBiZSByZW1vdmVkLlxuICAgIC8vIEFkZGluZyBhIGJvcmRlciB0byB0aGUgY29tcG9uZW50IGtlZXBzIGl0J3Mgc2hhcGUgYXMgYSBjaXJjbGUuXG4gICAgYm9yZGVyOiAzcHggc29saWQgZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLy8gUHJldmVudCB0aGUgZXhjbGFtYXRpb24gbWFyayBmcm9tIGJlaW5nIGluY2x1ZGVkIHdoZW4gdGhlIHdhcm5pbmcgdGV4dFxuICAgIC8vIGlzIGNvcGllZCwgZm9yIGV4YW1wbGUuXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX3RleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJjbGVhcmZpeFwiO1xuQGltcG9ydCBcInZpc3VhbGx5LWhpZGRlblwiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL3V0aWxpdGllcy9jbGVhcmZpeFwiKSB7XG4gIC5nb3Z1ay1jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay91dGlsaXRpZXMvdmlzdWFsbHktaGlkZGVuXCIpIHtcbiAgLmdvdnVrLXZpc3VhbGx5LWhpZGRlbiB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xuICB9XG5cbiAgLmdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJkaXNwbGF5XCI7XG5AaW1wb3J0IFwic3BhY2luZ1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJ3aWR0aFwiO1xuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgb3ZlcnJpZGVzIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL2Rpc3BsYXlcIikge1xuICAuZ292dWstXFwhLWRpc3BsYXktaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LW5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIC5nb3Z1ay1cXCEtZGlzcGxheS1ub25lLXByaW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpZiBub3QgbWl4aW4tZXhpc3RzKFwiZ292dWstZXhwb3J0c1wiKSB7XG4gIEB3YXJuIFwiSW1wb3J0aW5nIGl0ZW1zIGZyb20gdGhlIG92ZXJyaWRlcyBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3ZlcnJpZGVzXG4vLy8vXG5cbi8vLyBEaXJlY3Rpb25zIGZvciBzcGFjaW5nXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9zcGFjaW5nLWRpcmVjdGlvbnM6IChcbiAgXCJ0b3BcIixcbiAgXCJyaWdodFwiLFxuICBcImJvdHRvbVwiLFxuICBcImxlZnRcIlxuKSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgb3ZlcnJpZGUgY2xhc3Nlc1xuLy8vXG4vLy8gR2VuZXJhdGUgc3BhY2luZyBvdmVycmlkZSBjbGFzc2VzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgKGUuZy4gbWFyZ2luKVxuLy8vIGZvciBlYWNoIHBvaW50IGluIHRoZSBzcGFjaW5nIHNjYWxlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLVxcIS1tYXJnaW4tMCB7XG4vLy8gICAgICBtYXJnaW46IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgLmdvdnVrLVxcIS1tYXJnaW4tdG9wLTEge1xuLy8vICAgICBtYXJnaW4tdG9wOiBbd2hhdGV2ZXIgc3BhY2luZyBwb2ludCAxIGlzLi4uXVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstZ2VuZXJhdGUtc3BhY2luZy1vdmVycmlkZXMoJHByb3BlcnR5KSB7XG4gIC8vIEZvciBlYWNoIHBvaW50IGluIHRoZSBzcGFjaW5nIHNjYWxlIChkZWZpbmVkIGluIHNldHRpbmdzKSwgY3JlYXRlIGFuXG4gIC8vIG92ZXJyaWRlIHRoYXQgYWZmZWN0cyBhbGwgZGlyZWN0aW9ucy4uLlxuICBAZWFjaCAkc2NhbGUtcG9pbnQsICRzY2FsZS1tYXAgaW4gJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSB7XG5cbiAgICAuZ292dWstXFwhLSN7JHByb3BlcnR5fS0jeyRzY2FsZS1wb2ludH0ge1xuXG4gICAgICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRzY2FsZS1wb2ludCwgJHByb3BlcnR5LCBcImFsbFwiLCB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyAuLi4gYW5kIHRoZW4gYW4gb3ZlcnJpZGUgZm9yIGVhY2ggaW5kaXZpZHVhbCBkaXJlY3Rpb25cbiAgICBAZWFjaCAkZGlyZWN0aW9uIGluICRfc3BhY2luZy1kaXJlY3Rpb25zIHtcblxuICAgICAgLmdvdnVrLVxcIS0jeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufS0jeyRzY2FsZS1wb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRzY2FsZS1wb2ludCwgJHByb3BlcnR5LCAkZGlyZWN0aW9uLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9zcGFjaW5nXCIpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKFwibWFyZ2luXCIpO1xuICBAaW5jbHVkZSBfZ292dWstZ2VuZXJhdGUtc3BhY2luZy1vdmVycmlkZXMoXCJwYWRkaW5nXCIpO1xufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgb3ZlcnJpZGVzIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy90eXBvZ3JhcGh5XCIpIHtcbiAgLy8gRm9udCBzaXplIGFuZCBsaW5lIGhlaWdodFxuXG4gIC8vIEdlbmVyYXRlIHR5cG9ncmFwaHkgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgZWFjaCByZXNwb25zaXZlIGZvbnQgbWFwIGluIHRoZVxuICAvLyB0eXBvZ3JhcGh5IHNjYWxlIGVnIC5nb3Z1ay1cXCEtZm9udC1zaXplLTgwXG4gIEBlYWNoICRzaXplIGluIG1hcC1rZXlzKCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlKSB7XG4gICAgLmdvdnVrLVxcIS1mb250LXNpemUtI3skc2l6ZX0ge1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkaW1wb3J0YW50OiB0cnVlKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZWlnaHRzXG5cbiAgLmdvdnVrLVxcIS1mb250LXdlaWdodC1yZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLVxcIS1mb250LXdlaWdodC1ib2xkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG59XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBvdmVycmlkZXMgbGF5ZXIgd2l0aG91dCBmaXJzdCBpbXBvcnRpbmcgYGJhc2VgIGlzIGRlcHJlY2F0ZWQsIGFuZCB3aWxsIG5vIGxvbmdlciB3b3JrIGFzIG9mIEdPVi5VSyBGcm9udGVuZCB2NC4wLlwiO1xufVxuXG5AaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvd2lkdGhcIikge1xuICAuZ292dWstXFwhLXdpZHRoLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLXRocmVlLXF1YXJ0ZXJzIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtdHdvLXRoaXJkcyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA2Ni42NiUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS1oYWxmIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDUwJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtb25lLXRoaXJkIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDMzLjMzJSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtb25lLXF1YXJ0ZXIge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2Jsb2IvdjIyLjAuMC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9jb21wb25lbnRzL19zdGVwLWJ5LXN0ZXAtbmF2LWhlYWRlci5zY3NzXG4vLyBOb3RlIC0gdGhpcyBjb2RlIGZvciBwcm90b3R5cGUgcHVycG9zZXMgb25seS4gSXQgaXMgbm90IHByb2R1Y3Rpb24gY29kZS5cblxuLmFwcC1zdGVwLW5hdi1oZWFkZXIge1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS00XCIpO1xuICBib3JkZXItdG9wOiBzb2xpZCAxcHggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKTtcbiAgfVxufVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTZWxlY3RvckZvcm1hdFxuXG4uYXBwLXN0ZXAtbmF2LWhlYWRlcl9fcGFydC1vZiB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogLjJlbTtcbn1cblxuLmFwcC1zdGVwLW5hdi1oZWFkZXJfX3RpdGxlIHtcbiAgQGV4dGVuZCAlZ292dWstbGluaztcbiAgQGluY2x1ZGUgZ292dWstZm9udCgyNCwgJHdlaWdodDogYm9sZCk7XG59XG5cbi8vIHNjc3MtbGludDplbmFibGUgU2VsZWN0b3JGb3JtYXRcbiIsIi8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvYmxvYi92MjIuMC4wL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2NvbXBvbmVudHMvX3N0ZXAtYnktc3RlcC1uYXYuc2Nzc1xuLy8gTm90ZSAtIHRoaXMgY29kZSBmb3IgcHJvdG90eXBlIHB1cnBvc2VzIG9ubHkuIEl0IGlzIG5vdCBwcm9kdWN0aW9uIGNvZGUuXG5cbiRzdHJva2Utd2lkdGg6IDJweDtcbiRzdHJva2Utd2lkdGgtbGFyZ2U6IDNweDtcbiRudW1iZXItY2lyY2xlLXNpemU6IDI2cHg7XG4kbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlOiAzNXB4O1xuJHRvcC1ib3JkZXI6IHNvbGlkIDJweCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktM1wiKTtcblxuQG1peGluIHN0ZXAtbmF2LXZlcnRpY2FsLWxpbmUgKCRsaW5lLXN0eWxlOiBzb2xpZCkge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1sZWZ0OiAkbGluZS1zdHlsZSAkc3Ryb2tlLXdpZHRoIGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbn1cblxuQG1peGluIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb24ge1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogKCRudW1iZXItY2lyY2xlLXNpemUgLyAyKSAtICgkc3Ryb2tlLXdpZHRoIC8gMik7XG59XG5cbkBtaXhpbiBzdGVwLW5hdi1saW5lLXBvc2l0aW9uLWxhcmdlIHtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6ICgkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlIC8gMikgLSAoJHN0cm9rZS13aWR0aC1sYXJnZSAvIDIpO1xuICBib3JkZXItd2lkdGg6ICRzdHJva2Utd2lkdGgtbGFyZ2U7XG59XG5cbi8vIGN1c3RvbSBtaXhpbiBhcyBnb3Z1ay1mb250IGRvZXMgdW5kZXNpcmFibGUgdGhpbmdzIGF0IGRpZmZlcmVudCBicmVha3BvaW50c1xuLy8gd2Ugd2FudCB0byBlbnN1cmUgdGhhdCBib3RoIGxhcmdlIGFuZCBzbWFsbCBzdGVwIG5hdnMgaGF2ZSB0aGUgc2FtZSBzaXplIGZvbnQgb24gbW9iaWxlXG4vLyB0aGlzIHdpbGwgc3RvcCB0ZXh0IHJlc2l6aW5nIGlmIGNvbXBhdGliaWxpdHkgbW9kZSBpcyB0dXJuZWQgb2ZmXG5AbWl4aW4gc3RlcC1uYXYtZm9udCgkc2l6ZSwgJHRhYmxldC1zaXplOiAkc2l6ZSwgJHdlaWdodDogbm9ybWFsLCAkbGluZS1oZWlnaHQ6IDEuMywgJHRhYmxldC1saW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0KSB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uKCk7XG4gIGZvbnQtc2l6ZTogJHNpemUgKyBweDtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxldC1zaXplICsgcHg7XG4gICAgbGluZS1oZWlnaHQ6ICR0YWJsZXQtbGluZS1oZWlnaHQ7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdiB7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG5cbiAgJi5hcHAtc3RlcC1uYXYtLWxhcmdlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDkpO1xuICAgIH1cbiAgfVxuXG4gIC5qcy1lbmFibGVkICYuanMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NvbnRyb2xzIHtcbiAgcGFkZGluZzogM3B4IDNweCAwIDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uYXBwLXN0ZXAtbmF2X19idXR0b24ge1xuICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgfVxufVxuXG4vLyByZW1vdmVzIGV4dHJhIGRvdHRlZCBvdXRsaW5lIGZyb20gYnV0dG9ucyBpbiBGaXJlZm94XG4vLyBvbiBmb2N1cyAoc3RhbmRhcmQgeWVsbG93IG91dGxpbmUgdW5hZmZlY3RlZClcbi5hcHAtc3RlcC1uYXZfX2J1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fYnV0dG9uLS10aXRsZSB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxOSwgJHRhYmxldC1zaXplOiAyNCwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAxLjQpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2J1dHRvbi0tY29udHJvbHMge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkbGluZS1oZWlnaHQ6IDEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7IC8vIHRoaXMgYW5kIHJlbGF0aXZlIHBvc2l0aW9uIHN0b3BzIGZvY3VzIG91dGxpbmUgdW5kZXJsYXAgd2l0aCBib3JkZXIgb2YgYWNjb3JkaW9uXG4gIHBhZGRpbmc6IC41ZW0gMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNCwgJHRhYmxldC1zaXplOiAxNiwgJGxpbmUtaGVpZ2h0OiAxKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwcyB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDYpICsgZ292dWstc3BhY2luZygzKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBsaW5lIGRvd24gdGhlIHNpZGUgb2YgYSBzdGVwXG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LXZlcnRpY2FsLWxpbmU7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtbGluZS1wb3NpdGlvbjtcbiAgICB0b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoOSk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBzdGVwLW5hdi1saW5lLXBvc2l0aW9uLWxhcmdlO1xuICAgICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXA6bGFzdC1jaGlsZCB7XG4gIC8vIGxpdHRsZSBkYXNoIGF0IHRoZSBib3R0b20gb2YgdGhlIGxpbmVcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDY7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRudW1iZXItY2lyY2xlLXNpemUgLyA0O1xuICAgIHdpZHRoOiAkbnVtYmVyLWNpcmNsZS1zaXplIC8gMjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgJHN0cm9rZS13aWR0aCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gICAgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICBoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gI3tnb3Z1ay1zcGFjaW5nKDMpfSk7IC8vIGZhbGxiYWNrIGZvciBpcGhvbmUgNFxuICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3tnb3Z1ay1zcGFjaW5nKDMpfSk7XG4gICAgLy8gc2Fzcy1saW50OmVuYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgIC8vIHNjc3MtbGludDplbmFibGUgRHVwbGljYXRlUHJvcGVydHlcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXZfX2hlbHA6YWZ0ZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRudW1iZXItY2lyY2xlLXNpemUtbGFyZ2UgLyA0O1xuICAgICAgICB3aWR0aDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZSAvIDI7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHN0cm9rZS13aWR0aC1sYXJnZTtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3tnb3Z1ay1zcGFjaW5nKDYpfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXAtLWFjdGl2ZSB7XG4gICY6bGFzdC1jaGlsZDpiZWZvcmUsXG4gIC5hcHAtc3RlcC1uYXZfX2NpcmNsZS0tbnVtYmVyLFxuICAmOmFmdGVyLFxuICAuYXBwLXN0ZXAtbmF2X19oZWxwOmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NpcmNsZSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogJG51bWJlci1jaXJjbGUtc2l6ZTtcbiAgaGVpZ2h0OiAkbnVtYmVyLWNpcmNsZS1zaXplO1xuICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHRvcDogZ292dWstc3BhY2luZyg2KTtcbiAgICAgIHdpZHRoOiAkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlO1xuICAgICAgaGVpZ2h0OiAkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlciB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMjNweCk7XG4gIGJvcmRlcjogc29saWQgJHN0cm9rZS13aWR0aCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkdGFibGV0LXNpemU6IDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDIzcHgsICR0YWJsZXQtbGluZS1oZWlnaHQ6IDMwcHgpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgYm9yZGVyLXdpZHRoOiAkc3Ryb2tlLXdpZHRoLWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtLWxvZ2ljIHtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyOHB4KTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkdGFibGV0LXNpemU6IDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDI4cHgsICR0YWJsZXQtbGluZS1oZWlnaHQ6IDM0cHgpO1xuICB9XG59XG5cbi8vIG1ha2VzIHN1cmUgbG9naWMgdGV4dCBleHBhbmRzIHRvIHRoZSBsZWZ0IGlmIHRleHQgc2l6ZSBpcyB6b29tZWQsIHByZXZlbnRpbmcgb3ZlcmxhcFxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLWlubmVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1iYWNrZ3JvdW5kIHtcbiAgJHNoYWRvdy1vZmZzZXQ6IC4xZW07XG4gICRzaGFkb3ctY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAvLyB0byBtYWtlIG51bWJlcnMgcmVhZGFibGUgZm9yIHVzZXJzIHpvb21pbmcgdGV4dCBvbmx5IGluIGJyb3dzZXJzIHN1Y2ggYXMgRmlyZWZveFxuICB0ZXh0LXNoYWRvdzogMCAtI3skc2hhZG93LW9mZnNldH0gMCAkc2hhZG93LWNvbG91ciwgJHNoYWRvdy1vZmZzZXQgMCAwICRzaGFkb3ctY29sb3VyLCAwICRzaGFkb3ctb2Zmc2V0IDAgJHNoYWRvdy1jb2xvdXIsIC0jeyRzaGFkb3ctb2Zmc2V0fSAwIDAgJHNoYWRvdy1jb2xvdXI7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1zdGVwLWxhYmVsLFxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLXN0ZXAtY29sb24ge1xuICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW47XG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlYWRlciB7XG4gIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMykgMDtcbiAgYm9yZGVyLXRvcDogJHRvcC1ib3JkZXI7XG5cbiAgLmFwcC1zdGVwLW5hdi0tYWN0aXZlICYge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXZfX2J1dHRvbiB7XG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG5cbiAgICAgIC5hcHAtc3RlcC1uYXZfX3RvZ2dsZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5hcHAtc3RlcC1uYXZfX2J1dHRvbjpub3QoOmZvY3VzKSxcbiAgICAuYXBwLXN0ZXAtbmF2X19jaXJjbGUge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICB9XG5cbiAgICAuYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDYpIDA7XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3RpdGxlIHtcbiAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgbWFyZ2luOiAwO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR0YWJsZXQtc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTQsICRsaW5lLWhlaWdodDogMS4yKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTQsICR0YWJsZXQtc2l6ZTogMTYsICRsaW5lLWhlaWdodDogMS4yKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19wYW5lbCB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2KTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkdGFibGV0LXNpemU6IDE5KTtcbiAgfVxuXG4gIC5qcy1lbmFibGVkICYuanMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIGNvbnRlbnRzIG9mIHRoZSBzdGVwcywgc3VjaCBhcyBwYXJhZ3JhcGhzIGFuZCBsaW5rc1xuXG4uYXBwLXN0ZXAtbmF2X19wYXJhZ3JhcGgge1xuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgKyAuYXBwLXN0ZXAtbmF2X19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xuXG4gICAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC1nb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0IHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtLWNob2ljZSB7XG4gICRsaW5rcy1tYXJnaW46IDIwcHg7XG5cbiAgbWFyZ2luLWxlZnQ6ICRsaW5rcy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG5cbiAgLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3JlIHtcbiAgICBsZWZ0OiAtKGdvdnVrLXNwYWNpbmcoNikgKyBnb3Z1ay1zcGFjaW5nKDMpKSAtICRsaW5rcy1tYXJnaW47XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAuYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtKGdvdnVrLXNwYWNpbmcoOSkpIC0gJGxpbmtzLW1hcmdpbjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fbGluayB7XG4gIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpbmstYWN0aXZlLWNvbnRleHQge1xuICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW47XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3JlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgdG9wOiAuNmVtOyAvLyBwb3NpdGlvbiB0aGUgZG90IHRvIGFsaWduIHdpdGggdGhlIGZpcnN0IHJvdyBvZiB0ZXh0IGluIHRoZSBsaW5rXG4gICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDYpICsgZ292dWstc3BhY2luZygzKSk7XG4gICAgbWFyZ2luLXRvcDogLSgkc3Ryb2tlLXdpZHRoIC8gMik7XG4gICAgbWFyZ2luLWxlZnQ6ICgkbnVtYmVyLWNpcmNsZS1zaXplIC8gMik7XG4gICAgd2lkdGg6ICRudW1iZXItY2lyY2xlLXNpemUgLyAyO1xuICAgIGhlaWdodDogJHN0cm9rZS13aWR0aDtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDkpKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlIC8gMik7XG4gICAgICAgIGhlaWdodDogJHN0cm9rZS13aWR0aC1sYXJnZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY29udGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMVwiKTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgXFwyMDEzXFwwMGEwXCI7IC8vIGRhc2ggZm9sbG93ZWQgYnkgJm5ic3A7XG4gIH1cbn1cbiIsIi8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvYmxvYi92MjIuMC4wL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2NvbXBvbmVudHMvX3N0ZXAtYnktc3RlcC1yZWxhdGVkLnNjc3Ncbi8vIE5vdGUgLSB0aGlzIGNvZGUgZm9yIHByb3RvdHlwZSBwdXJwb3NlcyBvbmx5LiBJdCBpcyBub3QgcHJvZHVjdGlvbiBjb2RlLlxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWQge1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQpO1xufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtzIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNiwgJHdlaWdodDogYm9sZCk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkLS1zaW5ndWxhciB7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgKyAzO1xuXG4gIC5hcHAtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAxLjQpO1xuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fcHJldGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNikgLyA0O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fcHJldGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rLWl0ZW0ge1xuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fbGluayB7XG4gIEBleHRlbmQgJWdvdnVrLWxpbms7XG59XG4iLCIvLyBUYXNrIGxpc3QgcGF0dGVyblxuXG4uYXBwLXRhc2stbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWluLXdpZHRoOiA1NTBweDtcbiAgfVxufVxuXG4uYXBwLXRhc2stbGlzdF9fc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOjI0LCAkd2VpZ2h0OiBib2xkKTtcbn1cblxuLmFwcC10YXNrLWxpc3RfX3NlY3Rpb24tbnVtYmVyIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWluLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmFwcC10YXNrLWxpc3RfX2l0ZW1zIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig5LCBcImJvdHRvbVwiKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDYpO1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xufVxuXG4uYXBwLXRhc2stbGlzdF9fdGFzay1uYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiA0NTBweCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi8vIFRoZSBgYXBwLXRhc2stbGlzdF9fdGFzay1jb21wbGV0ZWRgIGNsYXNzIHdhcyBwcmV2aW91c2x5IHVzZWQgb24gdGhlIHRhc2tcbi8vIGxpc3QgZm9yIHRoZSBjb21wbGV0ZWQgdGFnIChjaGFuZ2VkIGluIDg2YzkwZWMpIOKAkyBpdCdzIHN0aWxsIGluY2x1ZGVkIGhlcmUgdG9cbi8vIGF2b2lkIGJyZWFraW5nIHRhc2sgbGlzdHMgaW4gZXhpc3RpbmcgcHJvdG90eXBlcy5cbi5hcHAtdGFzay1saXN0X190YWcsXG4uYXBwLXRhc2stbGlzdF9fdGFzay1jb21wbGV0ZWQge1xuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiA0NTBweCkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIFRoaXMgaXMgYSBHT1YuVUsgUHVibGlzaGluZyBzcGVjaWZpYyBjb21wb25lbnQgdGhhdFxuLy8gY2FuIGJlIHNlZW4gYXQgaHR0cDovL2dvdnVrLXN0YXRpYy5oZXJva3VhcHAuY29tL2NvbXBvbmVudC1ndWlkZS9yZWxhdGVkX2l0ZW1zXG5cbi5hcHAtcmVsYXRlZC1pdGVtcyB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbn1cblxuLmFwcC1yZWxhdGVkLWl0ZW1zIC5nb3Z1ay1saXN0ID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBMkNjRSxBQU5BLFdBTVcsRUtKWCxDQUFDLEUrQ2VILDJCQUEyQixFRWtDM0IsMkJBQTJCLEN0RG5EYjtFSE9aLFdBQVcsRXhDTE8sZUFBZSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVTtFd0NNckYsc0JBQXNCLEVBQUUsV0FBVztFQUNuQyx1QkFBdUIsRUFBRSxTQUFTO0NHTGpDOztBVktLLG9MQUFvTDtBQUFDLGtEQUFrRDtBQUN2TyxVQUFVO0VBQ1IsV0FBVyxFQUFFLGVBQWU7RUFDNUIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsR0FBRyxFVkFELDhDQUFrQyxDVUNVLGVBQWUsRVZEM0QsNkNBQWtDLENVRVMsY0FBYztFQUMzRCxZQUFZLEVBQUUsUUFBUTs7O0FBR3hCLFVBQVU7RUFDUixXQUFX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 */
