@charset "UTF-8";
.govuk-link, a {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/*! Copyright (c) 2011 by Margaret Calvert & Henrik Kubel. All rights reserved. The font has been customised for exclusive use on gov.uk. This cut is not commercially available. */
@font-face {
  font-family: "nta";
  src: url("/assets/fonts/light-2c037cf7e1-v1.eot");
  src: url("/assets/fonts/light-2c037cf7e1-v1.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/light-f38ad40456-v1.woff2") format("woff2"), url("/assets/fonts/light-458f8ea81c-v1.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: "nta";
  src: url("/assets/fonts/bold-fb2676462a-v1.eot");
  src: url("/assets/fonts/bold-fb2676462a-v1.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/bold-a2452cb66f-v1.woff2") format("woff2"), url("/assets/fonts/bold-f38c792ac2-v1.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: "ntatabularnumbers";
  src: url("/assets/fonts/light-tabular-498ea8ffe2-v1.eot");
  src: url("/assets/fonts/light-tabular-498ea8ffe2-v1.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/light-tabular-851b10ccdd-v1.woff2") format("woff2"), url("/assets/fonts/light-tabular-62cc6f0a28-v1.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: fallback;
}

@font-face {
  font-family: "ntatabularnumbers";
  src: url("/assets/fonts/bold-tabular-357fdfbcc3-v1.eot");
  src: url("/assets/fonts/bold-tabular-357fdfbcc3-v1.eot?#iefix") format("embedded-opentype"), url("/assets/fonts/bold-tabular-b89238d840-v1.woff2") format("woff2"), url("/assets/fonts/bold-tabular-784c21afb8-v1.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: fallback;
}

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

.govuk-link:focus, a:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-link:link, a:link {
  color: #005ea5;
}

.govuk-link:visited, a:visited {
  color: #4c2c92;
}

.govuk-link:hover, a:hover {
  color: #2b8cc4;
}

.govuk-link:active, a:active {
  color: #2b8cc4;
}

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

@media print {
  .govuk-link[href^="/"]::after, a[href^="/"]::after, .govuk-link[href^="http://"]::after, a[href^="http://"]::after, .govuk-link[href^="https://"]::after, a[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: #6f777b;
}

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

.govuk-link--no-visited-state:visited {
  color: #005ea5;
}

.govuk-link--no-visited-state:hover {
  color: #2b8cc4;
}

.govuk-link--no-visited-state:active {
  color: #2b8cc4;
}

.govuk-link--no-visited-state:focus {
  color: #0b0c0c;
}

.govuk-list {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin-top: 0;
  margin-bottom: 15px;
  padding-left: 0;
  list-style-type: none;
}

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

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

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

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

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

.govuk-list .govuk-list {
  margin-top: 10px;
}

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

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

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

.govuk-list--bullet > li,
.govuk-list--number > li {
  margin-bottom: 0;
}

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

.govuk-template {
  background-color: #dee0e2;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: block;
  margin-bottom: 5px;
  color: #6f777b;
}

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  color: #6f777b;
}

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  margin-top: 0;
  margin-bottom: 20px;
}

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

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

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

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

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

.govuk-body-m, .govuk-body, p {
  color: #0b0c0c;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 15px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-section-break--xl {
  margin-top: 30px;
  margin-bottom: 30px;
}

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

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

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

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

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

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

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

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

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

.govuk-form-group {
  margin-bottom: 20px;
}

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

.govuk-form-group .govuk-form-group:last-of-type {
  margin-bottom: 0;
}

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

.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 {
  padding-top: 20px;
  padding-bottom: 20px;
  display: block;
}

@media (min-width: 40.0625em) {
  .govuk-main-wrapper {
    padding-top: 30px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-main-wrapper {
    padding-bottom: 30px;
  }
}

.govuk-main-wrapper--l {
  padding-top: 30px;
}

@media (min-width: 40.0625em) {
  .govuk-main-wrapper--l {
    padding-top: 50px;
  }
}

.govuk-width-container {
  max-width: 960px;
  margin: 0 15px;
}

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

@media (min-width: 1020px) {
  .govuk-width-container {
    margin: 0 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-bottom: 15px;
}

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

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

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

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

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

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

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

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

.js-enabled .govuk-accordion__section {
  padding-top: 0;
  border-top: 1px solid #bfc1c3;
}

.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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: inline;
  border-width: 0;
  color: #005ea5;
  background: none;
  cursor: pointer;
}

@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 #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.js-enabled .govuk-accordion__open-all:focus {
  background: none;
}

.js-enabled .govuk-accordion__section-header {
  position: relative;
  padding-right: 40px;
  cursor: pointer;
}

.js-enabled .govuk-accordion__section-header:hover {
  background-color: #f8f8f8;
}

@media (hover: none) {
  .js-enabled .govuk-accordion__section-header:hover {
    background-color: initial;
  }
}

.js-enabled .govuk-accordion__section-header--focused {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

.js-enabled .govuk-accordion__section-button {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-top: 15px;
  padding-bottom: 0;
  padding-left: 0;
  border-width: 0;
  color: #005ea5;
  background: none;
  text-align: left;
  cursor: pointer;
}

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

.js-enabled .govuk-accordion__section-button:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.js-enabled .govuk-accordion__section-button:focus {
  outline: none;
  background: none;
}

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

.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: "nta", Arial, 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;
  border-bottom: 1px solid #0b0c0c;
  text-decoration: none;
}

@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 #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.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:before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0% 50%, 100% 100%, 100% 0%);
  clip-path: polygon(0% 50%, 100% 100%, 100% 0%);
  border-width: 5px 6px 5px 0;
  border-right-color: inherit;
  content: "";
  position: absolute;
  top: -1px;
  bottom: 1px;
  left: 0;
  margin: auto;
}

.govuk-back-link:before {
  top: -1px;
  bottom: 1px;
}

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

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

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

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

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

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

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

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

.govuk-breadcrumbs__list-item:before {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  bottom: 1px;
  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: #6f777b;
}

.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: "nta", Arial, 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 #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

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

.govuk-button {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.1875;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  width: 100%;
  margin-top: 0;
  margin-bottom: 22px;
  padding: 7px 10px;
  border: 2px solid transparent;
  border-radius: 0;
  color: #ffffff;
  background-color: #00823b;
  box-shadow: 0 2px 0 #003618;
  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;
  }
}

.govuk-button:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

@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, .govuk-button:focus {
  background-color: #00692f;
}

.govuk-button:active {
  top: 2px;
  box-shadow: none;
}

.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;
  background: #00823b;
}

.govuk-button--disabled:hover,
.govuk-button[disabled="disabled"]:hover,
.govuk-button[disabled]:hover {
  background-color: #00823b;
  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 #003618;
}

.govuk-button--start {
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1;
  min-height: auto;
  padding-top: 8px;
  padding-right: 40px;
  padding-bottom: 8px;
  padding-left: 15px;
  background-image: url("../images/icon-pointer.png");
  background-repeat: no-repeat;
  background-position: 100% 50%;
}

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

@media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  .govuk-button--start {
    background-image: url("../images/icon-pointer-2x.png");
    background-size: 30px 19px;
  }
}

.govuk-button {
  padding-top: 9px;
  padding-bottom: 6px;
}

.govuk-button--start {
  padding-top: 9px;
  padding-bottom: 6px;
}

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

@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 {
  margin: 0;
  padding: 0;
  border: 0;
}

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

.govuk-fieldset__legend {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  box-sizing: border-box;
  display: table;
  max-width: 100%;
  margin-bottom: 10px;
  padding: 0;
  overflow: hidden;
  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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 32px;
  font-size: 2rem;
  line-height: 1.09375;
  margin-bottom: 15px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-hint {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  margin-bottom: 15px;
  color: #6f777b;
}

@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,
.govuk-fieldset__legend + .govuk-hint {
  margin-top: -5px;
}

.govuk-label {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  display: block;
  margin-bottom: 5px;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-checkboxes__item {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  position: relative;
  min-height: 40px;
  margin-bottom: 10px;
  padding: 0 0 0 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 {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
  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__hint {
  display: block;
  padding-right: 15px;
  padding-left: 15px;
}

.govuk-checkboxes__input + .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__input + .govuk-checkboxes__label::after {
  content: "";
  position: absolute;
  top: 11px;
  left: 9px;
  width: 18px;
  height: 7px;
  -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__input:focus + .govuk-checkboxes__label::before {
  outline: 3px solid transparent;
  outline-offset: 3px;
  box-shadow: 0 0 0 3px #ffbf47;
}

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

@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-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 .govuk-textarea--error {
  padding: 3px;
}

.govuk-character-count__message {
  margin-top: 0;
  margin-bottom: 0;
}

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

.govuk-summary-list {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin: 0;
  margin-bottom: 20px;
}

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

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

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

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

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

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

@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-right: 20px;
  }
}

@media (min-width: 40.0625em) {
  .govuk-summary-list__key,
  .govuk-summary-list__value,
  .govuk-summary-list__actions {
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #bfc1c3;
  }
}

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

@media (min-width: 40.0625em) {
  .govuk-summary-list__actions {
    padding-right: 0;
    text-align: right;
  }
}

.govuk-summary-list__key {
  margin-bottom: 5px;
  font-weight: 700;
  word-break: break-word;
}

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

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

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

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

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

.govuk-summary-list__actions-list-item {
  display: inline;
  margin-right: 10px;
  padding-right: 10px;
}

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

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

.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,
.govuk-summary-list--no-border .govuk-summary-list__row {
  border: 0;
}

.govuk-input {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  width: 100%;
  height: 40px;
  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 #ffbf47;
  outline-offset: 0;
}

.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: 4px solid #b10e1e;
}

.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-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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin-bottom: 20px;
  display: block;
}

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

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

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

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

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

.govuk-details__summary {
  display: inline-block;
  position: relative;
  margin-bottom: 5px;
  padding-left: 25px;
  color: #005ea5;
  cursor: pointer;
}

.govuk-details__summary-text {
  text-decoration: underline;
}

.govuk-details__summary:hover {
  color: #2b8cc4;
}

.govuk-details__summary:focus {
  outline: 4px solid #ffbf47;
  outline-offset: -1px;
  color: #0b0c0c;
  background: #ffbf47;
}

.govuk-details__summary::-webkit-details-marker {
  display: none;
}

.govuk-details__summary:before {
  content: "";
  position: absolute;
  top: 0;
  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 #bfc1c3;
}

.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: 4px solid #b10e1e;
}

@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 #ffbf47;
  outline-offset: 0;
}

@media (min-width: 40.0625em) {
  .govuk-error-summary {
    border: 5px solid #b10e1e;
  }
}

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

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

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

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

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

.govuk-error-summary__body {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}

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

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

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

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

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

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

.govuk-error-summary__list a {
  font-weight: 700;
}

.govuk-error-summary__list a:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-error-summary__list a:link, .govuk-error-summary__list a:visited, .govuk-error-summary__list a:hover, .govuk-error-summary__list a:active {
  color: #b10e1e;
}

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

.govuk-file-upload {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
}

@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 {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

.govuk-file-upload--error {
  border: 4px solid #b10e1e;
}

.govuk-footer {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  padding-top: 25px;
  padding-bottom: 15px;
  border-top: 1px solid #a1acb2;
  color: #454a4c;
  background: #dee0e2;
}

@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:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-footer__link:link, .govuk-footer__link:visited {
  color: #454a4c;
}

.govuk-footer__link:hover, .govuk-footer__link:active {
  color: #171819;
}

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

.govuk-footer__section-break {
  margin: 0;
  margin-bottom: 30px;
  border: 0;
  border-bottom: 1px solid #bfc1c3;
}

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

.govuk-footer__meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -15px;
  margin-left: -15px;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: center;
  -webkit-justify-content: 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;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

@media (max-width: 40.0525em) {
  .govuk-footer__meta-item--grow {
    -webkit-flex-basis: 320px;
    -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("../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--moz-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
  .govuk-footer__copyright-logo {
    background-image: url("../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 #bfc1c3;
}

@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: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -15px;
  margin-left: -15px;
  -webkit-flex-wrap: wrap;
  -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;
  -webkit-flex-grow: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-negative: 1;
  flex-shrink: 1;
}

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

@media (min-width: 48.0625em) {
  .govuk-footer__section:first-child {
    -webkit-box-flex: 2;
    -webkit-flex-grow: 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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  border-bottom: 10px solid #ffffff;
  color: #ffffff;
  background: #0b0c0c;
}

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

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

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

.govuk-header__container--full-width {
  padding: 0 15px;
  border-color: #005ea5;
}

.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 #005ea5;
}

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

.govuk-header__logotype {
  margin-right: 5px;
}

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

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

.govuk-header__product-name {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
  display: 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.25;
  }
}

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

.govuk-header__link {
  text-decoration: none;
}

.govuk-header__link:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

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

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

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

.govuk-header__link--homepage {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  display: inline-block;
  font-size: 30px;
  line-height: 30px;
}

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

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

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

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

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

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

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

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

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

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

@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::after {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: transparent;
  -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
  border-width: 8.66px 5px 0 5px;
  border-top-color: inherit;
  content: "";
  margin-left: 5px;
}

.govuk-header__menu-button:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

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

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

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

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

.govuk-header__navigation-item--active a:link, .govuk-header__navigation-item--active a:hover, .govuk-header__navigation-item--active a:visited {
  color: #1d8feb;
}

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

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

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

.govuk-header__logotype-crown,
.govuk-header__logotype-crown-fallback-image {
  position: relative;
  top: -4px;
}

.govuk-header {
  padding-top: 3px;
}

.govuk-inset-text {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  padding: 15px;
  margin-top: 20px;
  margin-bottom: 20px;
  clear: both;
  border-left: 10px solid #bfc1c3;
}

@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-panel {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  margin-bottom: 15px;
  padding: 35px;
  border: 5px solid transparent;
  text-align: center;
}

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

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

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

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

.govuk-panel--confirmation {
  color: #ffffff;
  background: #28a197;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-tag--inactive {
  background-color: #6f777b;
}

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

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

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

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

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

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

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

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

.govuk-tabs {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  margin-top: 5px;
  margin-bottom: 20px;
}

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

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

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

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

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 5px;
}

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

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

@media (max-width: 40.0525em) {
  .govuk-tabs__list {
    margin-bottom: 20px;
  }
}

@media (max-width: 40.0525em) and (min-width: 40.0625em) {
  .govuk-tabs__list {
    margin-bottom: 30px;
  }
}

.govuk-tabs__list-item {
  margin-left: 25px;
}

.govuk-tabs__list-item::before {
  content: "— ";
  margin-left: -25px;
  padding-right: 5px;
}

.govuk-tabs__tab {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: inline-block;
  padding-top: 10px;
  padding-bottom: 10px;
}

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

.govuk-tabs__tab:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

.govuk-tabs__tab:link {
  color: #005ea5;
}

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

.govuk-tabs__tab:hover {
  color: #2b8cc4;
}

.govuk-tabs__tab:active {
  color: #2b8cc4;
}

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

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

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

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

.govuk-tabs__tab[aria-current="true"] {
  color: #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 {
    border-bottom: 1px solid #bfc1c3;
  }
  .js-enabled .govuk-tabs__list:after {
    content: "";
    display: block;
    clear: both;
  }
  .js-enabled .govuk-tabs__list-item {
    margin-left: 0;
  }
  .js-enabled .govuk-tabs__list-item::before {
    content: none;
  }
  .js-enabled .govuk-tabs__title {
    display: none;
  }
  .js-enabled .govuk-tabs__tab {
    margin-right: 5px;
    padding-right: 20px;
    padding-left: 20px;
    float: left;
    color: #0b0c0c;
    background-color: #f8f8f8;
    text-align: center;
    text-decoration: none;
  }
  .js-enabled .govuk-tabs__tab--selected {
    margin-top: -5px;
    margin-bottom: -1px;
    padding-top: 14px;
    padding-right: 19px;
    padding-bottom: 16px;
    padding-left: 19px;
    border: 1px solid #bfc1c3;
    border-bottom: 0;
    color: #0b0c0c;
    background-color: #ffffff;
  }
  .js-enabled .govuk-tabs__tab--selected:focus {
    background-color: transparent;
  }
  .js-enabled .govuk-tabs__panel {
    margin-bottom: 0;
    padding-top: 30px;
    padding-right: 20px;
    padding-bottom: 30px;
    padding-left: 20px;
    border: 1px solid #bfc1c3;
    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--hidden {
    display: none;
  }
  .js-enabled .govuk-tabs__panel > :last-child {
    margin-bottom: 0;
  }
}

.govuk-radios__item {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  position: relative;
  min-height: 40px;
  margin-bottom: 10px;
  padding: 0 0 0 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 {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  cursor: pointer;
  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__hint {
  display: block;
  padding-right: 15px;
  padding-left: 15px;
}

.govuk-radios__input + .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__input + .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__input:focus + .govuk-radios__label::before {
  outline: 3px solid transparent;
  outline-offset: 3px;
  box-shadow: 0 0 0 4px #ffbf47;
}

.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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  width: 40px;
  margin-bottom: 10px;
  text-align: center;
}

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

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

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

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

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

@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-select {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  max-width: 100%;
  height: 40px;
  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 #ffbf47;
  outline-offset: 0;
}

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

.govuk-select--error {
  border: 4px solid #b10e1e;
}

.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: "nta", Arial, 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:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
  background-color: #ffbf47;
}

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

.govuk-table {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  width: 100%;
  margin-bottom: 20px;
  border-spacing: 0;
  border-collapse: collapse;
}

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

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

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

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

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

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

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

.govuk-table__cell--numeric {
  font-family: "ntatabularnumbers", "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
}

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

.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-textarea {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 40px;
  margin-bottom: 20px;
  padding: 5px;
  resize: vertical;
  border: 2px solid #0b0c0c;
  border-radius: 0;
  -webkit-appearance: none;
}

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

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

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

.govuk-textarea:focus {
  outline: 3px solid #ffbf47;
  outline-offset: 0;
}

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

.govuk-textarea--error {
  border: 4px solid #b10e1e;
}

.govuk-warning-text {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  color: #0b0c0c;
  position: relative;
  margin-bottom: 20px;
  padding: 10px 0;
}

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

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

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

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

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  min-width: 32px;
  min-height: 29px;
  margin-top: -20px;
  padding-top: 3px;
  border: 3px solid #0b0c0c;
  border-radius: 50%;
  color: #ffffff;
  background: #0b0c0c;
  font-size: 1.6em;
  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;
  }
}

.govuk-warning-text__text {
  display: block;
  padding-left: 50px;
}

.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-\!-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 {
  position: relative;
  padding: 10px;
  background: #f8f8f8;
  border-top: solid 1px #bfc1c3;
  border-bottom: solid 1px #bfc1c3;
}

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

.app-step-nav-header__part-of {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  display: block;
  padding-bottom: 0.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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
}

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

@media (min-width: 40.0625em) {
  .app-step-nav-header__title {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

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

.app-step-nav-related {
  border-top: 2px solid #005ea5;
  margin-bottom: 30px;
}

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

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  margin: 0;
  padding: 0;
}

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

@media (min-width: 40.0625em) {
  .app-step-nav-related__links {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

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

.app-step-nav-related--singular {
  margin-bottom: 13px;
}

.app-step-nav-related--singular .app-step-nav-related__heading {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin-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.31579;
  }
}

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

.app-step-nav-related--singular .app-step-nav-related__pretitle {
  margin-bottom: 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-step-nav {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 30px;
}

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

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

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

@media (min-width: 40.0625em) {
  .app-step-nav.app-step-nav--large {
    margin-bottom: 60px;
  }
}

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

.app-step-nav__button {
  color: #005ea5;
  cursor: pointer;
  background: none;
  border: 0;
  margin: 0;
}

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

.app-step-nav__button--title {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  display: 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;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

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

.app-step-nav--large .app-step-nav__button--title {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.11111;
}

@media print {
  .app-step-nav--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;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .app-step-nav--large .app-step-nav__button--title {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.app-step-nav__button--controls {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.25;
  position: relative;
  z-index: 1;
  padding: 0.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;
    font-size: 0.875rem;
    line-height: 1.42857;
  }
}

@media print {
  .app-step-nav__button--controls {
    font-size: 12pt;
    line-height: 1.2;
  }
}

.app-step-nav__button--controls:hover {
  color: #2b8cc4;
}

.app-step-nav--large .app-step-nav__button--controls {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
}

@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;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .app-step-nav--large .app-step-nav__button--controls {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.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 #bfc1c3;
  background: #fff;
  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 #bfc1c3;
}

.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 .app-step-nav__circle--number,
.app-step-nav__step--active .app-step-nav__help:after,
.app-step-nav__step--active .app-step-nav__substep:after,
.app-step-nav__step--active:after,
.app-step-nav__step--active:last-child:before {
  border-color: #0b0c0c;
}

.app-step-nav__circle {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  z-index: 5;
  top: 15px;
  left: 0;
  width: 26px;
  height: 26px;
  color: #0b0c0c;
  background: #fff;
  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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  line-height: 23px;
  border: solid 2px #bfc1c3;
}

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

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

@media print {
  .app-step-nav__circle--number {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  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: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .app-step-nav--large .app-step-nav__circle--number {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  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;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .app-step-nav__circle--logic {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  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: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .app-step-nav--large .app-step-nav__circle--logic {
    font-size: 14pt;
    line-height: 1.2;
  }
}

@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 #fff, 0.1em 0 0 #fff, 0 0.1em 0 #fff, -0.1em 0 0 #fff;
}

.app-step-nav__header {
  padding: 15px 0;
  border-top: solid 2px #dee0e2;
}

.app-step-nav--active .app-step-nav__header {
  cursor: pointer;
}

.app-step-nav__header:hover .app-step-nav__button,
.app-step-nav__header:hover .app-step-nav__circle {
  color: #005ea5;
}

.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 {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  line-height: 1.4;
  margin: 0;
}

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

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

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

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  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: 19px;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

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

@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: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  line-height: 1.2;
  display: block;
  color: #005ea5;
}

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

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

@media print {
  .app-step-nav__toggle-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.app-step-nav--large .app-step-nav__toggle-link {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  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;
    font-size: 1rem;
    line-height: 1.25;
  }
}

@media print {
  .app-step-nav--large .app-step-nav__toggle-link {
    font-size: 14pt;
    line-height: 1.2;
  }
}

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

.app-step-nav__panel {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  line-height: 1.25;
}

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

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

@media print {
  .app-step-nav__panel {
    font-size: 14pt;
    line-height: 1.2;
  }
}

.js-enabled .app-step-nav__panel.js-hidden {
  display: none;
}

@media (min-width: 40.0625em) {
  .app-step-nav__panel {
    font-size: 16px;
  }
}

.app-step-nav--large .app-step-nav__panel {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
}

@media print {
  .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;
    font-size: 1.1875rem;
    line-height: 1.31579;
  }
}

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

.app-step-nav__heading,
.app-step-nav__paragraph {
  padding-bottom: 15px;
  margin: 0;
  font-size: inherit;
}

.app-step-nav__heading + .app-step-nav__list,
.app-step-nav__paragraph + .app-step-nav__list {
  margin-top: -5px;
}

@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__heading + .app-step-nav__list,
  .app-step-nav--large .app-step-nav__paragraph + .app-step-nav__list {
    margin-top: -15px;
  }
}

@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__heading,
  .app-step-nav--large .app-step-nav__paragraph {
    padding-bottom: 30px;
  }
}

.app-step-nav__heading {
  font-weight: bold;
}

.app-step-nav__list {
  padding: 0 0 10px;
}

@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: -45px;
}

@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 {
  list-style: none;
  margin-bottom: 10px;
}

.app-step-nav__list-item--active {
  position: relative;
}

.app-step-nav__list-item--active:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  content: "";
  position: absolute;
  z-index: 5;
  top: 0.6em;
  left: -45px;
  margin-left: 5px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: #0b0c0c;
  border: solid 2px #fff;
  border-radius: 100px;
}

@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__list-item--active:before {
    left: -60px;
    margin-left: 9.5px;
  }
}

.app-step-nav__list-item--active .app-step-nav__link {
  color: #0b0c0c;
  text-decoration: none;
}

.app-step-nav__list-item--active .app-step-nav__link:active,
.app-step-nav__list-item--active .app-step-nav__link:link,
.app-step-nav__list-item--active .app-step-nav__link:visited {
  color: #0b0c0c;
}

.app-step-nav__context {
  display: inline-block;
  font-weight: normal;
  color: #6f777b;
}

.app-step-nav__context:before {
  content: " \2013\00a0";
}

.app-step-nav__help {
  position: relative;
  padding: 15px 0;
  border-top: solid 2px #dee0e2;
}

.app-step-nav__help:after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 0;
  height: 100%;
  border-left: dotted 2px #bfc1c3;
  background: #fff;
  left: 0;
  margin-left: 12px;
  z-index: 3;
  top: 0;
  left: -45px;
  height: calc(100% + 30px);
}

@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__help:after {
    left: 0;
    margin-left: 16px;
    border-width: 3px;
    left: -60px;
    height: calc(100% + 30px + 15px);
  }
}

.app-step-nav__help-link {
  text-decoration: none;
  font-weight: bold;
}

.app-step-nav__help-link:hover {
  text-decoration: underline;
}

.app-step-nav__substep {
  position: relative;
  padding-top: 15px;
  border-top: solid 2px #dee0e2;
}

.app-step-nav__substep:after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 0;
  height: 100%;
  border-left: solid 2px #bfc1c3;
  background: #fff;
  left: 0;
  margin-left: 12px;
  z-index: 3;
  top: 0;
  left: -45px;
}

@media (min-width: 40.0625em) {
  .app-step-nav--large .app-step-nav__substep {
    padding-top: 30px;
  }
  .app-step-nav--large .app-step-nav__substep:after {
    left: 0;
    margin-left: 16px;
    border-width: 3px;
    left: -60px;
  }
}

.app-step-nav__substep--optional:after {
  border-left-style: dotted;
}

.app-check-your-answers {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin-top: 0;
  margin-bottom: 40px;
}

@media print {
  .app-check-your-answers {
    font-family: sans-serif;
  }
}

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

@media print {
  .app-check-your-answers {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .app-check-your-answers {
    margin-bottom: 60px;
  }
}

@media (min-width: 48.0625em) {
  .app-check-your-answers {
    display: table;
  }
}

@media (min-width: 48.0625em) {
  .app-check-your-answers--short {
    width: 100%;
  }
  .app-check-your-answers--short .app-check-your-answers__question {
    width: 30%;
  }
}

@media (min-width: 48.0625em) {
  .app-check-your-answers--long {
    width: 100%;
  }
  .app-check-your-answers--long .app-check-your-answers__question {
    width: 50%;
  }
}

.app-check-your-answers__contents {
  position: relative;
  border-bottom: 1px solid #bfc1c3;
}

@media (min-width: 48.0625em) {
  .app-check-your-answers__contents {
    display: table-row;
    border-bottom-width: 0;
  }
}

@media (min-width: 48.0625em) {
  .app-check-your-answers__contents:first-child .app-check-your-answers__question,
  .app-check-your-answers__contents:first-child .app-check-your-answers__answer,
  .app-check-your-answers__contents:first-child .app-check-your-answers__change {
    padding-top: 0;
  }
}

.app-check-your-answers__question,
.app-check-your-answers__answer,
.app-check-your-answers__change {
  display: block;
  margin: 0;
}

@media (min-width: 48.0625em) {
  .app-check-your-answers__question,
  .app-check-your-answers__answer,
  .app-check-your-answers__change {
    display: table-cell;
    border-bottom: 1px solid #bfc1c3;
    padding: 0.63158em 1.05263em 0.47368em 0;
  }
}

.app-check-your-answers__question {
  font-weight: bold;
  margin: 0.63158em 4em 0.21053em 0;
}

.app-check-your-answers__answer {
  padding-bottom: 0.47368em;
}

.app-check-your-answers__change {
  text-align: right;
  position: absolute;
  top: 0;
  right: 0;
}

@media (min-width: 48.0625em) {
  .app-check-your-answers__change {
    position: static;
    padding-right: 0;
  }
}

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

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

@media (min-width: 40.0625em) {
  .app-task-list__section {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.25;
  }
}

@media print {
  .app-task-list__section {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.app-task-list__section-number {
  display: table-cell;
}

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

.app-task-list__items {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.25;
  margin-bottom: 40px;
  list-style: none;
  padding-left: 0;
}

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

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

@media print {
  .app-task-list__items {
    font-size: 14pt;
    line-height: 1.15;
  }
}

@media (min-width: 40.0625em) {
  .app-task-list__items {
    margin-bottom: 60px;
  }
}

@media (min-width: 40.0625em) {
  .app-task-list__items {
    padding-left: 30px;
  }
}

.app-task-list__item {
  border-bottom: 1px solid #bfc1c3;
  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 #bfc1c3;
}

.app-task-list__task-name {
  display: block;
}

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

.app-task-list__task-completed {
  margin-top: 10px;
  margin-bottom: 5px;
}

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

.app-related-items {
  border-top: 10px solid #005ea5;
  padding-top: 10px;
}

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

.app-cookie-banner {
  font-family: "nta", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 14px;
  font-size: 0.875rem;
  line-height: 1.14286;
  color: #0b0c0c;
  box-sizing: border-box;
  width: 100%;
  padding-top: 15px;
  padding-right: 15px;
  padding-bottom: 15px;
  padding-left: 15px;
  background-color: #d5e8f3;
}

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

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

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

@media print {
  .app-cookie-banner {
    color: #000000;
  }
}

.app-cookie-banner__message {
  margin: 0;
  max-width: 960px;
  margin: 0 15px;
}

@media (min-width: 40.0625em) {
  .app-cookie-banner__message {
    margin: 0 30px;
  }
}

@media (min-width: 1020px) {
  .app-cookie-banner__message {
    margin: 0 auto;
  }
}

@media print {
  .app-cookie-banner {
    display: none !important;
  }
}

.gem-c-step-nav button:hover,
.gem-c-step-nav button:focus,
.gem-c-step-nav .button:hover,
.gem-c-step-nav .button:focus {
  background: none !important;
}

.gem-c-step-nav button:focus {
  color: #005ea5 !important;
}

.gem-c-step-nav-header {
  position: relative;
  padding: 10px;
  background: #f8f8f8;
  border-top: solid 1px #bfc1c3;
  border-bottom: solid 1px #bfc1c3;
}

@media (min-width: 641px) {
  .gem-c-step-nav-header {
    padding: 15px;
  }
}

.gem-c-step-nav-header__part-of {
  font-family: "nta", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 14px;
  line-height: 1.1428571429;
  display: block;
  padding-bottom: 0.2em;
}

@media (min-width: 641px) {
  .gem-c-step-nav-header__part-of {
    font-size: 16px;
    line-height: 1.25;
  }
}

.gem-c-step-nav-header__title {
  font-family: "nta", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 18px;
  line-height: 1.2;
}

@media (min-width: 641px) {
  .gem-c-step-nav-header__title {
    font-size: 24px;
    line-height: 1.25;
  }
}

.gem-c-step-nav-related {
  border-top: 2px solid #005ea5;
  margin-bottom: 30px;
}

.gem-c-step-nav-related__heading {
  margin-top: 15px;
  margin-bottom: 10px;
  font-family: "nta", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 16px;
  line-height: 1.25;
}

@media (min-width: 641px) {
  .gem-c-step-nav-related__heading {
    font-size: 19px;
    line-height: 1.3157894737;
  }
}

.gem-c-step-nav-related__links {
  font-family: "nta", Arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 14px;
  line-height: 1.1428571429;
  margin: 0;
  padding: 0;
}

@media (min-width: 641px) {
  .gem-c-step-nav-related__links {
    font-size: 16px;
    line-height: 1.25;
  }
}

.gem-c-step-nav-related--singular {
  margin-bottom: 13px;
}

.gem-c-step-nav-related--singular .gem-c-step-nav-related__heading {
  font-family: "nta", Arial, sans-serif;
  font-weight: bold;
  text-transform: none;
  font-size: 19px;
  line-height: 1.4;
  margin-top: 20px;
}

@media (min-width: 641px) {
  .gem-c-step-nav-related--singular .gem-c-step-nav-related__heading {
    font-size: 19px;
    line-height: 1.4;
  }
}

.gem-c-step-nav-related--singular .gem-c-step-nav-related__pretitle {
  margin-bottom: 7.5px;
}

.gem-c-step-nav-related__pretitle {
  display: block;
  margin-bottom: 15px;
}

@media (min-width: 641px) {
  .gem-c-step-nav-related__pretitle {
    margin-bottom: 5px;
  }
}

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

.gem-c-step-nav-related__link-item {
  margin-top: 15px;
}

@media (min-width: 641px) {
  .gem-c-step-nav-related__link-item {
    margin-top: 5px;
  }
}

.gem-c-step-nav {
  margin-bottom: 30px;
}

@media (min-width: 641px) {
  .gem-c-step-nav.gem-c-step-nav--large {
    margin-bottom: 60px;
  }
}

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

.gem-c-step-nav__button {
  color: #005ea5;
  cursor: pointer;
  background: none;
  border: 0;
  margin: 0;
}

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

.gem-c-step-nav__button--title {
  font-family: "nta", Arial, sans-serif;
  font-weight: bold;
  text-transform: none;
  font-size: 19px;
  line-height: 1.4;
  display: inline-block;
  padding: 0;
  text-align: left;
  color: #0b0c0c;
}

@media (min-width: 641px) {
  .gem-c-step-nav__button--title {
    font-size: 19px;
    line-height: 1.4;
  }
}

.gem-c-step-nav--large .gem-c-step-nav__button--title {
  font-family: "nta", Arial, sans-serif;
  font-weight: bold;
  text-transform: none;
  font-size: 19px;
  line-height: 1.4;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__button--title {
    font-size: 24px;
    line-height: 1.4;
  }
}

.gem-c-step-nav__button--controls {
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 14px;
  line-height: 1;
  position: relative;
  z-index: 1;
  padding: 0.5em 0;
  text-decoration: underline;
}

@media (min-width: 641px) {
  .gem-c-step-nav__button--controls {
    font-size: 14px;
    line-height: 1;
  }
}

.gem-c-step-nav__button--controls:hover {
  color: #2b8cc4;
}

.gem-c-step-nav--large .gem-c-step-nav__button--controls {
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 14px;
  line-height: 1;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__button--controls {
    font-size: 16px;
    line-height: 1;
  }
}

.gem-c-step-nav__steps {
  padding: 0;
  margin: 0;
}

.gem-c-step-nav__step {
  position: relative;
  padding-left: 45px;
  list-style: none;
}

.gem-c-step-nav__step:after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 0;
  height: 100%;
  border-left: solid 2px #bfc1c3;
  background: #fff;
  left: 0;
  margin-left: 12px;
  top: 15px;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__step {
    padding-left: 60px;
  }
  .gem-c-step-nav--large .gem-c-step-nav__step:after {
    left: 0;
    margin-left: 16px;
    border-width: 3px;
    top: 30px;
  }
}

.gem-c-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 #bfc1c3;
}

.gem-c-step-nav__step:last-child:after {
  height: -webkit-calc(100% - 15px);
  height: calc(100% - 15px);
}

.gem-c-step-nav__step:last-child .gem-c-step-nav__help:after {
  height: 100%;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__step:last-child:before {
    margin-left: 8.75px;
    width: 17.5px;
    border-width: 3px;
  }
  .gem-c-step-nav--large .gem-c-step-nav__step:last-child:after {
    height: calc(100% - 30px);
  }
}

.gem-c-step-nav__step--active:last-child:before, .gem-c-step-nav__step--active .gem-c-step-nav__circle--number, .gem-c-step-nav__step--active:after, .gem-c-step-nav__step--active .gem-c-step-nav__help:after {
  border-color: #bfc1c3;
}

.gem-c-step-nav__circle {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  z-index: 5;
  top: 15px;
  left: 0;
  width: 26px;
  height: 26px;
  color: #0b0c0c;
  background: #fff;
  border-radius: 100px;
  text-align: center;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__circle {
    top: 30px;
    width: 35px;
    height: 35px;
  }
}

.gem-c-step-nav__circle--number {
  font-family: "nta", Arial, sans-serif;
  font-weight: bold;
  text-transform: none;
  font-size: 16px;
  line-height: 23px;
  border: solid 2px #bfc1c3;
}

@media (min-width: 641px) {
  .gem-c-step-nav__circle--number {
    font-size: 16px;
    line-height: 23px;
  }
}

.gem-c-step-nav--large .gem-c-step-nav__circle--number {
  font-family: "nta", Arial, sans-serif;
  font-weight: bold;
  text-transform: none;
  font-size: 16px;
  line-height: 23px;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__circle--number {
    font-size: 19px;
    line-height: 30px;
  }
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__circle--number {
    border-width: 3px;
  }
}

.gem-c-step-nav__circle--logic {
  font-family: "nta", Arial, sans-serif;
  font-weight: bold;
  text-transform: none;
  font-size: 16px;
  line-height: 28px;
}

@media (min-width: 641px) {
  .gem-c-step-nav__circle--logic {
    font-size: 16px;
    line-height: 28px;
  }
}

.gem-c-step-nav--large .gem-c-step-nav__circle--logic {
  font-family: "nta", Arial, sans-serif;
  font-weight: bold;
  text-transform: none;
  font-size: 16px;
  line-height: 28px;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__circle--logic {
    font-size: 19px;
    line-height: 34px;
  }
}

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

.gem-c-step-nav__circle-background {
  text-shadow: 0 -0.1em 0 #fff, 0.1em 0 0 #fff, 0 0.1em 0 #fff, -0.1em 0 0 #fff;
}

.gem-c-step-nav__header {
  padding: 15px 0;
  border-top: solid 2px #dee0e2;
}

.gem-c-step-nav--active .gem-c-step-nav__header {
  cursor: pointer;
}

.gem-c-step-nav__header:hover .gem-c-step-nav__button, .gem-c-step-nav__header:hover .gem-c-step-nav__circle {
  color: #005ea5;
}

.gem-c-step-nav__header:hover .gem-c-step-nav__toggle-link {
  text-decoration: underline;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__header {
    padding: 30px 0;
  }
}

.gem-c-step-nav__title {
  font-family: "nta", Arial, sans-serif;
  font-weight: bold;
  text-transform: none;
  font-size: 19px;
  line-height: 1.4;
  margin: 0;
}

@media (min-width: 641px) {
  .gem-c-step-nav__title {
    font-size: 19px;
    line-height: 1.4;
  }
}

.gem-c-step-nav--large .gem-c-step-nav__title {
  font-family: "nta", Arial, sans-serif;
  font-weight: bold;
  text-transform: none;
  font-size: 19px;
  line-height: 1.4;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__title {
    font-size: 24px;
    line-height: 1.4;
  }
}

.gem-c-step-nav__toggle-link {
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 14px;
  line-height: 1.2;
  display: block;
  color: #005ea5;
  text-transform: capitalize !important;
}

@media (min-width: 641px) {
  .gem-c-step-nav__toggle-link {
    font-size: 14px;
    line-height: 1.2;
  }
}

.gem-c-step-nav--large .gem-c-step-nav__toggle-link {
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 14px;
  line-height: 1.2;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__toggle-link {
    font-size: 16px;
    line-height: 1.2;
  }
}

.gem-c-step-nav__panel {
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 16px;
  line-height: 1.25;
}

@media (min-width: 641px) {
  .gem-c-step-nav__panel {
    font-size: 16px;
    line-height: 1.3157894737;
  }
}

.gem-c-step-nav--large .gem-c-step-nav__panel {
  font-family: "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 16px;
  line-height: 1.25;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__panel {
    font-size: 19px;
    line-height: 1.3157894737;
  }
}

.gem-c-step-nav__paragraph {
  padding-bottom: 15px;
  margin: 0;
  font-size: inherit;
}

.gem-c-step-nav__paragraph + .gem-c-step-nav__list {
  margin-top: -5px;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__paragraph + .gem-c-step-nav__list {
    margin-top: -15px;
  }
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__paragraph {
    padding-bottom: 30px;
  }
}

.gem-c-step-nav__list {
  padding: 0;
  padding-bottom: 10px;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__list {
    padding-bottom: 20px;
  }
}

.gem-c-step-nav__list--choice {
  margin-left: 20px;
  list-style: disc;
}

.gem-c-step-nav__list--choice .gem-c-step-nav__list-item--active:before {
  left: -65px;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__list--choice .gem-c-step-nav__list-item--active:before {
    left: -80px;
  }
}

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

.gem-c-step-nav__list-item--active {
  position: relative;
}

.gem-c-step-nav__list-item--active:before {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  content: "";
  position: absolute;
  z-index: 5;
  top: 0.6em;
  left: -45px;
  margin-left: 5px;
  width: 16px;
  height: 16px;
  margin-top: -8px;
  background: #0b0c0c;
  border: solid 2px #fff;
  border-radius: 100px;
}

@media (min-width: 641px) {
  .gem-c-step-nav--large .gem-c-step-nav__list-item--active:before {
    left: -60px;
    margin-left: 9.5px;
  }
}

.gem-c-step-nav__list-item--active .gem-c-step-nav__link {
  color: #0b0c0c;
  text-decoration: none;
}

.gem-c-step-nav__list-item--active .gem-c-step-nav__link:visited, .gem-c-step-nav__list-item--active .gem-c-step-nav__link:active, .gem-c-step-nav__list-item--active .gem-c-step-nav__link:link {
  color: #0b0c0c;
}

.gem-c-step-nav__context {
  display: inline-block;
  font-weight: normal;
  color: #6f777b;
}

.gem-c-step-nav__context:before {
  content: " \2013\00a0";
}

.gem-c-step-nav button,
.gem-c-step-nav button:active {
  top: 2px !important;
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
}

.hmrc-banner {
  margin-top: -30px;
  margin-bottom: 20px;
  margin-top: -30px;
  border: none;
}

.account-menu {
  margin-top: -30px;
}

.phase-banner-low {
  border: none !important;
  margin-top: 30px !important;
}

#deskproToggle {
  font-size: 16px;
}

.get-help {
  margin-top: 2.75em;
}

.get-help a {
  color: #454a4c;
}

#get-help-content h2 {
  margin-top: 0.5em;
}

/* -----------------------------
Account services home page
----------------------------- */
.account-services-home .welcome-heading {
  margin-bottom: 0;
}

.account-services-home .heading-tiled {
  border-bottom: 1px solid #ccc;
}

.account-services-home .tile-container {
  display: flex;
  justify-content: space-between;
  margin-bottom: 80px;
}

@media (max-width: 630px) {
  .account-services-home .tile-container {
    display: block;
  }
}

.account-services-home .tile {
  flex: 1;
  border: 1px solid #F0F0F0;
  font-size: 0.9em;
  margin: 10px;
  box-sizing: border-box;
}

@media (max-width: 630px) {
  .account-services-home .tile {
    flex: none;
    display: block;
    margin: 0 0 10px 0;
  }
}

.account-services-home .tile:hover {
  border: 1px solid #DEE0E2;
}

.account-services-home .tile:last-of-type {
  margin-right: 0;
}

.account-services-home .tile:first-of-type {
  margin-left: 0;
}

.account-services-home .tile p {
  font-size: 0.9em;
}

.account-services-home .tile p:last-of-type {
  margin-bottom: 0;
}

.account-services-home .tile .tile-header {
  padding: 15px;
  height: 100px;
  border-bottom: 1px solid #F0F0F0;
}

.account-services-home .tile .tile-header h3 {
  font-weight: 700;
}

.account-services-home .tile .tile-content {
  padding: 15px;
}

.account-services-home .tile .tile-content ul li {
  margin-bottom: 20px;
  font-size: 0.9em;
}

.account-services-home .tile .tile-content ul li a {
  text-decoration: none;
  border-bottom: 1px solid #C7DCEB;
}

.account-services-home .tile .tile-content ul li a:hover {
  color: #2e8aca;
}

.account-services-home .tile .tile-content ul li a:visited {
  border-bottom: 1px solid #4c2c92;
}

.account-services-home .tile .tile-content ul li a:visited:hover {
  color: #4c2c92;
}

.site-search label {
  display: none;
}

.site-search input#site-search-text {
  font-size: 16px;
  min-height: 36px;
  border: none;
  padding: 0 8px;
  width: 263px;
}

.site-search input.submit {
  float: left;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  overflow: hidden;
  text-indent: -5000px;
  color: #fff;
  background-color: #005ea5;
  background-image: url(../images/search-button.png);
  background-repeat: no-repeat;
  background-position: 0 50%;
}

.guidance-page {
  margin-top: -30px !important;
}

.guidance-page .intro {
  border-bottom: 1px solid #bfc1c3;
  margin: 50px 0 15px 0;
}

.guidance-page .intro .pre-header {
  color: #6f777b;
  font-size: 24px;
}

.guidance-page .intro h1 {
  margin: 0 0 30px 0;
}

.guidance-page .intro p {
  font-size: 24px;
  line-height: 1.25;
}

.guidance-page .intro .column-two-thirds {
  padding: 0;
}

.guidance-page .published-details {
  font-size: 0.8em;
  margin-bottom: 50px;
}

.guidance-page .contents {
  margin-bottom: 30px;
}

.guidance-page .contents h2 {
  margin-bottom: 5px;
}

.guidance-page .contents li {
  list-style-type: none;
  margin-left: 20px;
  padding-right: 20px;
  padding-top: 7.5px;
  line-height: 1.3;
}

.guidance-page .contents li:before {
  content: "— ";
  margin-left: -20px;
}

.guidance-page .contents li a {
  text-decoration: none;
}

.guidance-page .cta-box {
  background: #DEE0E2;
  padding: 30px;
}

.guidance-page .related-content {
  margin-top: 70px;
}

.guidance-page .related-content aside {
  border-top: 2px solid #005ea5;
}

.guidance-page .related-content aside p {
  margin-bottom: 0;
}

.guidance-page .related-content aside li {
  font-weight: 700;
}

.guidance-page .related-content aside li a {
  text-decoration: none;
}

.header-proposition {
  margin-left: 20px;
  margin-bottom: 10px;
  display: inline-block;
}

#proposition-links li {
  display: block;
  font-size: 16px;
  line-height: 1.25;
  width: auto;
  padding: 0 15px 0 0;
  border-bottom: 0;
  float: left;
}

.header-proposition #proposition-links a {
  font-size: 16px;
  line-height: 1.25;
  color: #ffffff;
  text-decoration: none;
  font-weight: 700;
}

.header-proposition #proposition-links a.active {
  color: #1d8feb;
}

.clear-child {
  clear: both;
}

.margin-top-0 {
  margin-top: 0px;
}

.margin-top-10 {
  margin-top: 10px;
}

.margin-top-20 {
  margin-top: 20px;
}

.margin-top-30 {
  margin-top: 30px;
}

.margin-top-40 {
  margin-top: 40px;
}

.margin-top-0 {
  margin-top: 0px;
}

.margin-bottom-10 {
  margin-bottom: 10px;
}

.margin-bottom-20 {
  margin-bottom: 20px;
}

.margin-bottom-30 {
  margin-bottom: 30px;
}

.margin-bottom-40 {
  margin-bottom: 40px;
}

@media (min-width: 641px) {
  .tabular-data__entry.font-19 .tabular-data__heading--label,
  .tabular-data__entry.font-19 .tabular-data__data-1 {
    font-size: 19px;
  }
}

@media (min-width: 641px) {
  .tabular-data__heading.width-50 {
    width: 50%;
  }
}

.form-element-bold .form-hint {
  padding: .9em 0 !important;
}

.panel-radio {
  border-left: 4px solid #bfc1c3 !important;
  padding-top: 0 !important;
  padding-left: 30px !important;
  margin-left: 17px  !important;
}

/* -----------------------------
 Generic items
----------------------------- */
.agent-list-page {
  margin: 0;
}

.agents-list td, .agents-list th {
  font-size: 0.85em;
}

.heading-xlarge {
  margin-bottom: 10px;
}

.agent-list-header {
  background: #F8F8F8;
  font-size: 0.85em;
  padding: 1em;
  margin-bottom: 1em;
  border: 1px solid #DEE0E2;
}

.agent-list-header .clearer {
  clear: both;
}

.agent-list-header div {
  margin: 0;
  padding: 0;
}

.agent-list-header .column-two-thirds {
  padding-right: 1em;
}

.agent-list-header .column-two-thirds h2 {
  margin: 0;
}

.agent-list-header .column-one-third {
  padding: 0 1em;
  border-left: 1px solid #DEE0E2;
}

.govuk-box-highlight .confirmed-content {
  font-size: 36px;
}

.govuk-box-highlight .bold-large, .govuk-box-highlight p {
  margin: 0 0 15px 0;
}

.pagination-top {
  font-size: 0.85em;
  display: block;
  padding-bottom: 0.6em;
  border-bottom: 1px solid #bfc1c3;
}

.pagination-top strong {
  font-weight: 700;
}

.pager-items {
  float: right;
  margin-top: 1em;
  display: flex;
}

.pager-items li {
  border-right: 1px solid #ddd;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 7px 14px;
  font-size: 0.8em;
}

.pager-items li:first-child {
  border-left: 1px solid #ddd;
}

.pager-items li:hover {
  background-color: lightgrey;
  cursor: pointer;
}

.pager-items li.selected-pagination-item:hover {
  background-color: transparent;
  cursor: default;
}

.pager-items .next a:before, .pager-items .previous a:before {
  background: url("../images/pagination-arrows.png") no-repeat -80px -7px;
  background-position-y: center;
  display: block;
  background-size: 250%;
  content: "\A0\A0\A0\A0";
}

.pager-items .next a:before {
  background-position-x: right;
  float: right;
}

.pager-items .previous a:before {
  background-position-x: left;
  float: left;
}

.govuk-c-loader {
  text-align: center;
  position: relative;
  line-height: 0;
}

.govuk-c-loader:focus {
  outline: 3px solid #ffbf47;
}

.govuk-c-loader__spinner {
  z-index: 2000000000;
}

.govuk-c-loader__label {
  font-family: "ntatabularnumbers", "nta", Arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 16px;
  line-height: 1.25;
  display: block;
  line-height: 1em;
  margin-top: -.5em;
  padding-bottom: 1.5em;
}

.loader {
  display: none;
}

@media (min-width: 641px) {
  .govuk-c-loader__label {
    font-size: 19px;
    line-height: 1.31579;
  }
}

/* ----------------------------------
 PROTOTYPE INDEX
 -----
 -----
 -----
 -----
 -----
 ---------------------------------- */
.journey-part {
  border: 1px dashed #ccc;
  padding: 0.5em;
  margin: 0 0 10px 0;
}

.journey-part .journey-step:last-child {
  margin-bottom: 0;
}

.journey-part h2 {
  font-size: 0.75em;
  margin-bottom: 6px;
}

.journey-step {
  display: flex;
  background: rgba(0, 0, 0, 0.15);
  margin-bottom: 10px;
  font-size: 0.9em;
}

.journey-step.external-service {
  background-color: rgba(0, 0, 0, 0.01);
}

.journey-step .step-number {
  width: 10%;
  background: rgba(0, 0, 0, 0.05);
  text-align: center;
  font-size: 20px;
  padding-top: 10px;
}

.journey-step .step-content {
  padding: 10px;
  width: 90%;
}

.journey-step .step-content .step-description {
  display: block;
  margin-bottom: 9px;
  font-size: 0.8em;
}

.journey-step .step-content ol, .journey-step .step-content ul {
  margin-bottom: 0;
  font-size: 0.8em;
}

.journey-step.external-service .step-content {
  opacity: 0.5;
}

.mirrored-journey-container {
  display: flex;
  justify-content: space-between;
  flex-flow: row wrap;
  margin-bottom: 10px;
}

.mirrored-journey-container .mirrored-journey-container {
  border: none;
  padding: 0;
  font-size: 0.9em;
}

.mirrored-journey-container .mirrored-step-title {
  flex: none;
  width: 100%;
}

.mirrored-journey-container .mirrored-step-title .step-number {
  width: 10%;
}

.mirrored-journey-container .mirrored-journey {
  flex: 1;
  margin-left: 1%;
  margin-right: 1%;
  box-sizing: border-box;
}

.mirrored-journey-container .mirrored-journey .journey-step:last-of-type {
  margin-bottom: 0;
}

.mirrored-journey-container .mirrored-journey:first-of-type {
  margin-left: 0;
}

.mirrored-journey-container .mirrored-journey:last-of-type {
  margin-right: 0;
}

.mirrored-journey-container .step-number {
  width: 20%;
}

.mirrored-journey-container .journey-part {
  margin-bottom: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uY3NzIiwic291cmNlcyI6WyJhcHBsaWNhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fYXNzZXRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbXBhdGliaWxpdHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fZ2xvYmFsLXN0eWxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19pZTguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19jb2xvdXJzLXBhbGV0dGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fY29sb3Vycy1vcmdhbmlzYXRpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX2NvbG91cnMtYXBwbGllZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2NvbG91ci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX21lYXN1cmVtZW50cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3NldHRpbmdzL190eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9fY29tcGF0aWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19leHBvcnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2ZvbnQtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX2llOC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3Rvb2xzL19pZmYuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC90b29scy9faW1hZ2UtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX3B4LXRvLWVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdG9vbHMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fZGV2aWNlLXBpeGVscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2ZvY3VzYWJsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX2ZvbnQtZmFjZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fbGlua3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19tZWRpYS1xdWVyaWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvdmVuZG9yL19zYXNzLW1xLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fc2hhcGUtYXJyb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9oZWxwZXJzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvaGVscGVycy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2hlbHBlcnMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fbGlzdHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL190ZW1wbGF0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvcmUvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb3JlL19zZWN0aW9uLWJyZWFrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29yZS9fZ2xvYmFsLXN0eWxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL29iamVjdHMvX2Zvcm0tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9vYmplY3RzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fbWFpbi13cmFwcGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb2JqZWN0cy9fd2lkdGgtY29udGFpbmVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9hY2NvcmRpb24vX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYmFjay1saW5rL19iYWNrLWxpbmsuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2JyZWFkY3J1bWJzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvYnV0dG9uL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2NoZWNrYm94ZXMvX2NoZWNrYm94ZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvX2Vycm9yLW1lc3NhZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2ZpZWxkc2V0L19maWVsZHNldC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvaGludC9faGludC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvbGFiZWwvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9jaGFyYWN0ZXItY291bnQvX2NoYXJhY3Rlci1jb3VudC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvc3VtbWFyeS1saXN0L19zdW1tYXJ5LWxpc3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2RhdGUtaW5wdXQvX2RhdGUtaW5wdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2lucHV0L19pbnB1dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZGV0YWlscy9fZGV0YWlscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZXJyb3Itc3VtbWFyeS9fZXJyb3Itc3VtbWFyeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvX2ZpbGUtdXBsb2FkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9mb290ZXIvX2Zvb3Rlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvaGVhZGVyL19oZWFkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL2luc2V0LXRleHQvX2luc2V0LXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3BhbmVsL19wYW5lbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvcGhhc2UtYmFubmVyL19waGFzZS1iYW5uZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3RhZy9fdGFnLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90YWJzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy9yYWRpb3MvX3JhZGlvcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvc2VsZWN0L19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3NraXAtbGluay9fc2tpcC1saW5rLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvY29tcG9uZW50cy90YWJsZS9fdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9jb21wb25lbnRzL3RleHRhcmVhL190ZXh0YXJlYS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2NvbXBvbmVudHMvd2FybmluZy10ZXh0L193YXJuaW5nLXRleHQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC91dGlsaXRpZXMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL3V0aWxpdGllcy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC91dGlsaXRpZXMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL292ZXJyaWRlcy9fYWxsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL19kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvb3ZlcnJpZGVzL193aWR0aC5zY3NzIiwicGF0dGVybnMvX3N0ZXAtYnktc3RlcC1uYXZpZ2F0aW9uLnNjc3MiLCJwYXR0ZXJucy9fY2hlY2steW91ci1hbnN3ZXJzLnNjc3MiLCJwYXR0ZXJucy9fdGFzay1saXN0LnNjc3MiLCJwYXR0ZXJucy9fcmVsYXRlZC1pdGVtcy5zY3NzIiwiY29tcG9uZW50cy9fY29va2llLWJhbm5lci5zY3NzIiwiY29tcG9uZW50cy9fc3RlcC1uYXYuc2NzcyIsImNvbXBvbmVudHMvX2htcmMtcmVzZXRzLnNjc3MiLCJjb21wb25lbnRzL19kYXNoYm9hcmQuc2NzcyIsImNvbXBvbmVudHMvX2d1aWRhbmNlLnNjc3MiLCJjb21wb25lbnRzL19oZWxwZXJzLnNjc3MiLCJjb21wb25lbnRzL190YWJ1bGFyLWRhdGEuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJjb21wb25lbnRzL19hZ2VudC1saXN0cy5zY3NzIiwiY29tcG9uZW50cy9fbG9hZGVyLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gZ2xvYmFsIHN0eWxlcyBmb3IgPGE+IGFuZCA8cD4gdGFnc1xuJGdvdnVrLWdsb2JhbC1zdHlsZXM6IHRydWU7XG5cbi8vIEltcG9ydCBHT1YuVUsgRnJvbnRlbmRcbkBpbXBvcnQgXCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvYWxsXCI7XG5cbi8vIFBhdHRlcm5zIHRoYXQgYXJlbid0IGluIEZyb250ZW5kXG5AaW1wb3J0IFwicGF0dGVybnMvc3RlcC1ieS1zdGVwLW5hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9jaGVjay15b3VyLWFuc3dlcnNcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy90YXNrLWxpc3RcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9yZWxhdGVkLWl0ZW1zXCI7XG5cbi8vIENvbXBvbmVudHMgdGhhdCBhcmVuJ3QgaW4gRnJvbnRlbmRcbkBpbXBvcnQgXCJjb21wb25lbnRzL2Nvb2tpZS1iYW5uZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3N0ZXAtbmF2XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9obXJjLXJlc2V0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGFzaGJvYXJkXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9ndWlkYW5jZVwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvaGVscGVyc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFidWxhci1kYXRhXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9mb3Jtc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYWdlbnQtbGlzdHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2xvYWRlclwiO1xuXG5cbi8vIEFkZCBleHRyYSBzdHlsZXMgaGVyZSwgb3IgcmUtb3JnYW5pc2UgdGhlIFNhc3MgZmlsZXMgaW4gd2hpY2hldmVyIHdheSBtYWtlcyBtb3N0IHNlbnNlIHRvIHlvdVxuXG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBQUk9UT1RZUEUgSU5ERVhcbiAtLS0tLVxuIC0tLS0tXG4gLS0tLS1cbiAtLS0tLVxuIC0tLS0tXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4uam91cm5leS1wYXJ0IHtcbiAgYm9yZGVyOiAxcHggZGFzaGVkICNjY2M7XG4gIHBhZGRpbmc6IDAuNWVtO1xuICBtYXJnaW46IDAgMCAxMHB4IDA7XG5cbiAgLmpvdXJuZXktc3RlcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgfVxufVxuXG4uam91cm5leS1zdGVwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjE1KTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAwLjllbTtcblxuICAgJi5leHRlcm5hbC1zZXJ2aWNlIHtcbiAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMDAwLCAwLjAxKTtcbiAgIH1cblxuICAuc3RlcC1udW1iZXIge1xuICAgIHdpZHRoOiAxMCU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgjMDAwLCAwLjA1KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICB9XG5cbiAgLnN0ZXAtY29udGVudCB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICB3aWR0aDogOTAlO1xuXG4gICAgLnN0ZXAtZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cblxuICAgIG9sLCB1bCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICB9XG4gIH1cblxuICAmLmV4dGVybmFsLXNlcnZpY2UgLnN0ZXAtY29udGVudCB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gIH1cbn1cblxuLm1pcnJvcmVkLWpvdXJuZXktY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIC5taXJyb3JlZC1qb3VybmV5LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAvL21hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAubWlycm9yZWQtc3RlcC10aXRsZSB7XG4gICAgZmxleDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5zdGVwLW51bWJlciB7XG4gICAgICB3aWR0aDogMTAlO1xuICAgIH1cbiAgfVxuXG4gIC5taXJyb3JlZC1qb3VybmV5IHtcbiAgICAvL3dpZHRoOiA0OSU7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW4tbGVmdDogMSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLmpvdXJuZXktc3RlcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICB9XG5cbiAgLnN0ZXAtbnVtYmVyIHtcbiAgICB3aWR0aDogMjAlO1xuICB9XG5cbiAgLmpvdXJuZXktcGFydCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcInNldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcInRvb2xzL2FsbFwiO1xuQGltcG9ydCBcImhlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCJjb3JlL2FsbFwiO1xuQGltcG9ydCBcIm9iamVjdHMvYWxsXCI7XG5cbkBpbXBvcnQgXCJjb21wb25lbnRzL2FsbFwiO1xuXG5AaW1wb3J0IFwidXRpbGl0aWVzL2FsbFwiO1xuQGltcG9ydCBcIm92ZXJyaWRlcy9hbGxcIjtcbiIsIi8vIFRoZSBvcmRlciB3ZSBpbXBvcnQgc2V0dGluZ3MgaW4gaXMgaW1wb3J0YW50LCBhcyBzb21lIHNldHRpbmdzIGZpbGVzIHJlbHkgb25cbi8vIG90aGVyc1xuXG5AaW1wb3J0IFwiYXNzZXRzXCI7XG5cbkBpbXBvcnQgXCJjb21wYXRpYmlsaXR5XCI7XG5AaW1wb3J0IFwiZ2xvYmFsLXN0eWxlc1wiO1xuQGltcG9ydCBcImllOFwiO1xuXG5AaW1wb3J0IFwibWVkaWEtcXVlcmllc1wiO1xuXG5AaW1wb3J0IFwiY29sb3Vycy1wYWxldHRlXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1vcmdhbmlzYXRpb25zXCI7XG5AaW1wb3J0IFwiY29sb3Vycy1hcHBsaWVkXCI7XG5cbkBpbXBvcnQgXCJzcGFjaW5nXCI7XG5AaW1wb3J0IFwibWVhc3VyZW1lbnRzXCI7XG5cbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXNcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnRcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LXJlc3BvbnNpdmVcIjtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvYXNzZXRzXG4vLy8vXG5cbi8vLyBQYXRoIHRvIHRoZSBhc3NldHMgZGlyZWN0b3J5LCB3aXRoIHRyYWlsaW5nIHNsYXNoLlxuLy8vXG4vLy8gVGhpcyBpcyB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBpbWFnZXMgYW5kIGZvbnRzIHN1YmRpcmVjdG9yaWVzIGxpdmUuIFlvdVxuLy8vIHdpbGwgbmVlZCB0byBtYWtlIHRoaXMgZGlyZWN0b3J5IGF2YWlsYWJsZSB2aWEgeW91ciBhcHBsaWNhdGlvbiDigJMgc2VlIHRoZVxuLy8vIFJFQURNRSBmb3IgZGV0YWlscy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1hc3NldHMtcGF0aDogXCIvYXNzZXRzL1wiICFkZWZhdWx0O1xuXG4vLy8gUGF0aCB0byB0aGUgaW1hZ2VzIGZvbGRlciwgd2l0aCB0cmFpbGluZyBzbGFzaC5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbWFnZXMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1pbWFnZXMvXCIgIWRlZmF1bHQ7XG5cbi8vLyBQYXRoIHRvIHRoZSBmb250cyBmb2xkZXIsIHdpdGggdHJhaWxpbmcgc2xhc2guXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udHMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1mb250cy9cIiAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBpbWFnZSBVUkwgZnVuY3Rpb25cbi8vL1xuLy8vIElmIHRoZSBidWlsdC1pbiBpbWFnZSBVUkwgaGVscGVyIGRvZXMgbm90IG1lZXQgeW91ciBuZWVkcywgeW91IGNhbiBzcGVjaWZ5XG4vLy8gdGhlIG5hbWUgb2YgYSBjdXN0b20gaGFuZGxlciDigJMgZWl0aGVyIGJ1aWx0IGluIG9yIGJ5IHdyaXRpbmcgeW91ciBvd25cbi8vLyBmdW5jdGlvbi5cbi8vL1xuLy8vIElmIHlvdSBhcmUgd3JpdGluZyB5b3VyIG93biBoYW5kbGVyLCBlbnN1cmUgdGhhdCBpdCByZXR1cm5zIGEgc3RyaW5nIHdyYXBwZWRcbi8vLyB3aXRoIGB1cmwoKWBcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFJhaWxzIGFzc2V0IGhhbmRsaW5nXG4vLy8gICAkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiAnaW1hZ2UtdXJsJztcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b20gYXNzZXQgaGFuZGxpbmdcbi8vL1xuLy8vICAgQGZ1bmN0aW9uIG15LXVybC1oYW5kbGVyKCRmaWxlbmFtZSkge1xuLy8vICAgICAvLyBTb21lIGN1c3RvbSBVUkwgaGFuZGxpbmdcbi8vLyAgICAgQHJldHVybiB1cmwoJ2V4YW1wbGUuanBnJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246ICdteS11cmwtaGFuZGxlcic7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBmb250IFVSTCBmdW5jdGlvblxuLy8vXG4vLy8gSWYgdGhlIGJ1aWx0LWluIGZvbnQgVVJMIGhlbHBlciBkb2VzIG5vdCBtZWV0IHlvdXIgbmVlZHMsIHlvdSBjYW4gc3BlY2lmeVxuLy8vIHRoZSBuYW1lIG9mIGEgY3VzdG9tIGhhbmRsZXIg4oCTIGVpdGhlciBidWlsdCBpbiBvciBieSB3cml0aW5nIHlvdXIgb3duXG4vLy8gZnVuY3Rpb24uXG4vLy9cbi8vLyBJZiB5b3UgYXJlIHdyaXRpbmcgeW91ciBvd24gaGFuZGxlciwgZW5zdXJlIHRoYXQgaXQgcmV0dXJucyBhIHN0cmluZyB3cmFwcGVkXG4vLy8gd2l0aCBgdXJsKClgXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBSYWlscyBhc3NldCBoYW5kbGluZ1xuLy8vICAgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiAnZm9udC11cmwnO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbSBhc3NldCBoYW5kbGluZ1xuLy8vXG4vLy8gICBAZnVuY3Rpb24gbXktdXJsLWhhbmRsZXIoJGZpbGVuYW1lKSB7XG4vLy8gICAgIC8vIFNvbWUgY3VzdG9tIFVSTCBoYW5kbGluZ1xuLy8vICAgICBAcmV0dXJuIHVybCgnZXhhbXBsZS53b2ZmJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogJ215LXVybC1oYW5kbGVyJztcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQ29tcGF0aWJpbGl0eSB3aXRoIGxlZ2FjeSByZXBvcyAoZ292dWtfZWxlbWVudHMsIGdvdnVrX2Zyb250ZW5kX3Rvb2traXQgYW5kXG4vLy8gZ292dWtfdGVtcGxhdGUpIHNldHRpbmdzXG4vLy9cbi8vLyBXZSBkZWZhdWx0IHRoZXNlIHNldHRpbmdzIHRvIGB0cnVlYCBzbyB0aGF0IGlmIHRoZXkgYXJlIG1pc3NlZCB3ZSBvcHQgZm9yIGFcbi8vLyBtaWxkIHBlcmZvcm1hbmNlIGhpdCBvdmVyIGEgcG90ZW50aWFsIGJyb2tlbiBleHBlcmllbmNlIGZvciB0aGUgZW5kLXVzZXIuXG4vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvY29tcGF0aWJpbGl0eVxuLy8vL1xuXG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXRcbi8vL1xuLy8vIFRydWUgaWYgdXNlZCBpbiBhIHByb2plY3QgdGhhdCBhbHNvIGluY2x1ZGVzIGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXQuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWtmcm9udGVuZHRvb2xraXQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQ29tcGF0aWJpbGl0eSBNb2RlOiBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZVxuLy8vXG4vLy8gVHJ1ZSBpZiB1c2VkIGluIGEgcHJvamVjdCB0aGF0IGFsc28gaW5jbHVkZXMgYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb21wYXRpYmlsaXR5IE1vZGU6IGFscGhhZ292L2dvdnVrX2VsZW1lbnRzXG4vLy9cbi8vLyBUcnVlIGlmIHVzZWQgaW4gYSBwcm9qZWN0IHRoYXQgYWxzbyBpbmNsdWRlcyBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgUHJvZHVjdCBNYXBcbi8vL1xuLy8vIE1hcHMgcHJvZHVjdCBuYW1lcyB0byB0aGVpciBzZXR0aW5ncyB0aGF0IHdlIGNhbiB1c2UgdG8gbG9va3VwIHN0YXRlcyBmcm9tXG4vLy8gd2l0aGluIHRoZSBgQGdvdnVrLWNvbXBhdGliaWxpdHlgIG1peGluLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstY29tcGF0aWJpbGl0eTogKFxuICBnb3Z1a19mcm9udGVuZF90b29sa2l0OiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCxcbiAgZ292dWtfdGVtcGxhdGU6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUsXG4gIGdvdnVrX2VsZW1lbnRzOiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzLFxuKTtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvZ2xvYmFsLXN0eWxlc1xuLy8vL1xuXG4vLy8gSW5jbHVkZSAnZ2xvYmFsJyBzdHlsZXNcbi8vL1xuLy8vIFdoZXRoZXIgdG8gc3R5bGUgcGFyYWdyYXBocyAoYDxwPmApIGFuZCBsaW5rcyAoYDxhPmApIHdpdGhvdXQgZXhwbGljaXRseVxuLy8vIGhhdmluZyB0byBhcHBseSB0aGUgYGdvdnVrLWJvZHlgIGFuZCBgZ292dWstbGlua2AgY2xhc3Nlcy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ2xvYmFsLXN0eWxlczogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2llOFxuLy8vL1xuXG4vLy8gV2hldGhlciB0aGUgc3R5bGVzaGVldCBiZWluZyBidWlsdCBpcyB0YXJnZXRpbmcgSW50ZXJuZXQgRXhwbG9yZXIgOC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaXMtaWU4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHRvIHVzZSBhcyB0aGUgdGFyZ2V0IHdoZW4gcmFzdGVyaXppbmcgbWVkaWFcbi8vLyBxdWVyaWVzXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaWU4LWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL21lZGlhLXF1ZXJpZXNcbi8vLy9cblxuLy8vIEJyZWFrcG9pbnQgZGVmaW5pdGlvbnNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1icmVha3BvaW50czogKFxuICBtb2JpbGU6ICAzMjBweCxcbiAgdGFibGV0OiAgNjQxcHgsXG4gIGRlc2t0b3A6IDc2OXB4XG4pICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBhY3RpdmUgYnJlYWtwb2ludCBpbiB0b3AtcmlnaHQgY29ybmVyLlxuLy8vXG4vLy8gT25seSB1c2UgdGhpcyBkdXJpbmcgbG9jYWwgZGV2ZWxvcG1lbnQuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXNob3ctYnJlYWtwb2ludHM6IGZhbHNlICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbi8vLyBDb2xvdXIgcGFsZXR0ZVxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCAkY29sb3VyIC0gUmVwcmVzZW50YXRpb24gZm9yIHRoZSBnaXZlbiAkY29sb3VyLCB3aGVyZSAkY29sb3VyIGlzIHRoZVxuLy8vICAgZnJpZW5kbHkgbmFtZSBmb3IgdGhlIGNvbG91ciAoZS5nLiBcInJlZFwiOiAjZmYwMDAwKTtcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzOiAoXG4gIFwicHVycGxlXCI6ICMyZTM1OGIsXG4gIFwibGlnaHQtcHVycGxlXCI6ICM2ZjcyYWYsXG4gIFwiYnJpZ2h0LXB1cnBsZVwiOiAjOTEyYjg4LFxuICBcInBpbmtcIjogI2Q1Mzg4MCxcbiAgXCJsaWdodC1waW5rXCI6ICNmNDk5YmUsXG4gIFwicmVkXCI6ICNiMTBlMWUsXG4gIFwiYnJpZ2h0LXJlZFwiOiAjZGYzMDM0LFxuICBcIm9yYW5nZVwiOiAjZjQ3NzM4LFxuICBcImJyb3duXCI6ICNiNTg4NDAsXG4gIFwieWVsbG93XCI6ICNmZmJmNDcsXG4gIFwibGlnaHQtZ3JlZW5cIjogIzg1OTk0YixcbiAgXCJncmVlblwiOiAjMDA2NDM1LFxuICBcInR1cnF1b2lzZVwiOiAjMjhhMTk3LFxuICBcImxpZ2h0LWJsdWVcIjogIzJiOGNjNCxcbiAgXCJibHVlXCI6ICMwMDVlYTUsXG5cbiAgXCJibGFja1wiOiAjMGIwYzBjLFxuICBcImdyZXktMVwiOiAjNmY3NzdiLFxuICBcImdyZXktMlwiOiAjYmZjMWMzLFxuICBcImdyZXktM1wiOiAjZGVlMGUyLFxuICBcImdyZXktNFwiOiAjZjhmOGY4LFxuICBcIndoaXRlXCI6ICNmZmZmZmZcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuLy8vIE9yZ2FuaXNhdGlvbiBjb2xvdXJzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRvcmdhbmlzYXRpb24uY29sb3VyIC0gQ29sb3VyIGZvciB0aGUgZ2l2ZW4gYCRvcmdhbmlzYXRpb25gXG4vLy8gQHByb3AgJG9yZ2FuaXNhdGlvbi5jb2xvdXItd2Vic2FmZSAtIFdlYnNhZmUgY29sb3VyIGZvciB0aGUgZ2l2ZW5cbi8vLyAgIGAkb3JnYW5pc2F0aW9uYC4gV2UgdXNlIGB3ZWJzYWZlYCB0byBtZWFuIHN0cm9uZyBlbm91Z2ggY29udHJhc3QgYWdhaW5zdFxuLy8vICAgd2hpdGUgdG8gYmUgdXNlZCBmb3IgY29weSBhbmQgbWVldCB0aGUgQUFBIChsYXJnZSB0ZXh0KSBhbmQgQUEgKHNtYWxsZXJcbi8vLyAgIGNvcHkpIFdDQUcgZ3VpZGVsaW5lcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnM6IChcbiAgXCJhdHRvcm5leS1nZW5lcmFscy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzlmMTg4OCxcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwM2E4OFxuICApLFxuICBcImNhYmluZXQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDVhYmIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJjaXZpbC1zZXJ2aWNlXCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1idXNpbmVzcy1pbm5vdmF0aW9uLXNraWxsc1wiOiAoXG4gICAgY29sb3VyOiAjMDAzNDc5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItY29tbXVuaXRpZXMtYW5kLWxvY2FsLWdvdmVybm1lbnRcIjogKFxuICAgIGNvbG91cjogIzAwODU3ZSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODM2ZVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWN1bHR1cmUtbWVkaWEtc3BvcnRcIjogKFxuICAgIGNvbG91cjogI2Q0MDA3MixcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwMzE1NVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWVkdWNhdGlvblwiOiAoXG4gICAgY29sb3VyOiAjMDAzYTY5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3Y2E5XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItZW52aXJvbm1lbnQtZm9vZC1ydXJhbC1hZmZhaXJzXCI6IChcbiAgICBjb2xvdXI6ICMwMGEzM2IsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg5MzhcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLWRldmVsb3BtZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDI4NzgsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDVlOWFcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLXRyYWRlXCI6IChcbiAgICBjb2xvdXI6ICNjZjEwMmQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci10cmFuc3BvcnRcIjogKFxuICAgIGNvbG91cjogIzAwNmM1NixcbiAgICBjb2xvdXItd2Vic2FmZTogIzM5ODM3M1xuICApLFxuICBcImRlcGFydG1lbnQtZm9yLXdvcmstcGVuc2lvbnNcIjogKFxuICAgIGNvbG91cjogIzAwYmViNyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODA3YlxuICApLFxuICBcImRlcGFydG1lbnQtb2YtZW5lcmd5LWNsaW1hdGUtY2hhbmdlXCI6IChcbiAgICBjb2xvdXI6ICMwMDlkZGIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMyYjdjYWNcbiAgKSxcbiAgXCJkZXBhcnRtZW50LW9mLWhlYWx0aFwiOiAoXG4gICAgY29sb3VyOiAjMDBhZDkzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzk4MzZlXG4gICksXG4gIFwiZm9yZWlnbi1jb21tb253ZWFsdGgtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDNlNzQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDZlOTdcbiAgKSxcbiAgXCJnb3Zlcm5tZW50LWVxdWFsaXRpZXMtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICAjOTMyNWIyXG4gICksXG4gIFwiaG0tZ292ZXJubWVudFwiOiAoXG4gICAgY29sb3VyOiAjMDA3NmMwLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiaG0tcmV2ZW51ZS1jdXN0b21zXCI6IChcbiAgICBjb2xvdXI6ICMwMDkzOTAsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg2NzBcbiAgKSxcbiAgXCJobS10cmVhc3VyeVwiOiAoXG4gICAgY29sb3VyOiAjYWYyOTJlLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjODMyMzIyXG4gICksXG4gIFwiaG9tZS1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzkzMjViMixcbiAgICBjb2xvdXItd2Vic2FmZTogIzk0NDBiMlxuICApLFxuICBcIm1pbmlzdHJ5LW9mLWRlZmVuY2VcIjogKFxuICAgIGNvbG91cjogIzRkMjk0MixcbiAgICBjb2xvdXItd2Vic2FmZTogIzVhNWM5MlxuICApLFxuICBcIm1pbmlzdHJ5LW9mLWp1c3RpY2VcIjogKFxuICAgIGNvbG91cjogIzIzMWYyMCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzVhNWM5MlxuICApLFxuICBcIm5vcnRoZXJuLWlyZWxhbmQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDI2NjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzZTU5OGNcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWFkdm9jYXRlLWdlbmVyYWwtZm9yLXNjb3RsYW5kXCI6IChcbiAgICBjb2xvdXI6ICMwMDI2NjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWxlYWRlci1vZi10aGUtaG91c2Utb2YtY29tbW9uc1wiOiAoXG4gICAgY29sb3VyOiAjMzE3MDIzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMDA1ZjhmXG4gICksXG4gIFwib2ZmaWNlLW9mLXRoZS1sZWFkZXItb2YtdGhlLWhvdXNlLW9mLWxvcmRzXCI6IChcbiAgICBjb2xvdXI6ICM5YzEzMmUsXG4gICAgY29sb3VyLXdlYnNhZmU6ICNjMjM5NWRcbiAgKSxcbiAgXCJzY290bGFuZC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNWM4YVxuICApLFxuICBcInVrLWV4cG9ydC1maW5hbmNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDU3NDcsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJ1ay10cmFkZS1pbnZlc3RtZW50XCI6IChcbiAgICBjb2xvdXI6ICNjODA2NTEsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJ3YWxlcy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogI2EzMzAzOCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzdhMjQyYVxuICApXG4pICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2NvbG91clwiO1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHZW5lcmljXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEJyYW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJyYW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG4vLy8gQ2FudmFzIGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGJ5IHRoZSBmb290ZXIgY29tcG9uZW50IGFuZCB0ZW1wbGF0ZSB0byBnaXZlIHRoZSBpbGx1c2lvbiBvZiBhIGxvbmcgZm9vdGVyLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JleS0zXCIpICFkZWZhdWx0O1xuXG4vLy8gQm9keSBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXIgZm9yIHByaW50IG1lZGlhXG4vLy9cbi8vLyBVc2UgJ3RydWUgYmxhY2snIHRvIGF2b2lkIHByaW50ZXJzIHVzaW5nIGNvbG91ciBpbmsgdG8gcHJpbnQgYm9keSB0ZXh0XG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcHJpbnQtdGV4dC1jb2xvdXI6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vLyBTZWNvbmRhcnkgdGV4dCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yICdtdXRlZCcgdGV4dCwgaGVscCB0ZXh0LCBldGMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTFcIikgIWRlZmF1bHQ7XG5cbi8vLyBGb2N1cyBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIG91dGxpbmUgKGFuZCBiYWNrZ3JvdW5kLCB3aGVyZSBhcHByb3ByaWF0ZSkgd2hlbiBpbnRlcmFjdGl2ZVxuLy8vIGVsZW1lbnRzIChsaW5rcywgZm9ybSBjb250cm9scykgaGF2ZSBrZXlib2FyZCBmb2N1cy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb2N1cy1jb2xvdXI6IGdvdnVrLWNvbG91cihcInllbGxvd1wiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzZWQgdGV4dCBjb2xvdXJcbi8vL1xuLy8vIEVuc3VyZSB0aGF0IHRoZSBjb250cmFzdCBiZXR3ZWVuIHRoZSB0ZXh0IGFuZCBiYWNrZ3JvdW5kIGNvbG91ciBwYXNzZXNcbi8vLyBXQ0FHIExldmVsIEFBIGNvbnRyYXN0IHJlcXVpcmVtZW50cy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBFcnJvciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgdG8gaGlnaGxpZ2h0IGVycm9yIG1lc3NhZ2VzIGFuZCBmb3JtIGNvbnRyb2xzIGluIGFuIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZXJyb3ItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJyZWRcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBib3JkZXJzLCBzZXBhcmF0b3JzLCBydWxlcywga2V5bGluZXMgZXRjLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZXktMlwiKSAhZGVmYXVsdDtcblxuLy8vIElucHV0IGJvcmRlciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIGZvcm0gaW5wdXRzIGFuZCBjb250cm9sc1xuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExpbmtzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gTGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWNvbG91cjogZ292dWstY29sb3VyKFwiYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFZpc2l0ZWQgbGluayBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyOiAjNGMyYzkyICFkZWZhdWx0O1xuXG4vLy8gTGluayBob3ZlciBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLXBhbGV0dGVcIjtcbkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLW9yZ2FuaXNhdGlvbnNcIjtcblxuLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2NvbG91clxuLy8vL1xuXG4vLy8gR2V0IGNvbG91clxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjb2xvdXIgLSBOYW1lIG9mIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vICAgKGAkZ292dWstY29sb3Vyc2ApXG4vLy8gQHJldHVybiB7Q29sb3VyfSBSZXByZXNlbnRhdGlvbiBvZiBuYW1lZCBjb2xvdXJcbi8vLyBAdGhyb3cgaWYgYCRjb2xvdXJgIGlzIG5vdCBhIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1jb2xvdXIoJGNvbG91cikge1xuICAkY29sb3VyOiBxdW90ZSgkY29sb3VyKTtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBjb2xvdXIgYCN7JGNvbG91cn1gXCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWNvbG91cnMsICRjb2xvdXIpO1xufVxuXG4vLy8gR2V0IHRoZSBjb2xvdXIgZm9yIGEgZ292ZXJubWVudCBvcmdhbmlzYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3JnYW5pc2F0aW9uIC0gT3JnYW5pc2F0aW9uIG5hbWUsIGxvd2VyY2FzZSwgaHlwaGVuYXRlZFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdlYnNhZmUgW3RydWVdIC0gQnkgZGVmYXVsdCBhICd3ZWJzYWZlJyB2ZXJzaW9uIG9mIHRoZVxuLy8vICAgY29sb3VyIHdpbGwgYmUgcmV0dXJuZWQgd2hpY2ggbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIC4gSWYgeW91IHdhbnQgdG9cbi8vLyAgIHVzZSB0aGUgbm9uLXdlYnNhZmUgdmVyc2lvbiB5b3UgY2FuIHNldCB0aGlzIHRvIGBmYWxzZWAgYnV0IHlvdXIgc2hvdWxkXG4vLy8gICBlbnN1cmUgdGhhdCB5b3Ugc3RpbGwgbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIGZvciBhY2Nlc3NpYmlsaXR5IC0gZm9yXG4vLy8gICBleGFtcGxlLCBkb24ndCB1c2UgdGhlIG5vbi13ZWJzYWZlIHZlcnNpb24gZm9yIHRleHQuXG4vLy9cbi8vLyBAcmV0dXJuIHtDb2xvdXJ9IFJlcHJlc2VudGF0aW9uIG9mIGNvbG91ciBmb3Igb3JnYW5pc2F0aW9uXG4vLy8gQHRocm93IGlmIGAkb3JnYW5pc2F0aW9uYCBpcyBub3QgYSBrbm93biBvcmdhbmlzYXRpb25cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstb3JnYW5pc2F0aW9uLWNvbG91cigkb3JnYW5pc2F0aW9uLCAkd2Vic2FmZTogdHJ1ZSkge1xuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnMsICRvcmdhbmlzYXRpb24pIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIG9yZ2FuaXNhdGlvbiBgI3skb3JnYW5pc2F0aW9ufWBcIjtcbiAgfVxuXG4gICRvcmctY29sb3VyOiBtYXAtZ2V0KCRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnMsICRvcmdhbmlzYXRpb24pO1xuXG4gIEBpZiAoJHdlYnNhZmUgYW5kIG1hcC1oYXMta2V5KCRvcmctY29sb3VyLCBjb2xvdXItd2Vic2FmZSkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG9yZy1jb2xvdXIsIGNvbG91ci13ZWJzYWZlKTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRvcmctY29sb3VyLCBjb2xvdXIpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3NwYWNpbmdcbi8vLy9cblxuLy8vIFNpbmdsZSBwb2ludCBzcGFjaW5nIHZhcmlhYmxlcy4gQWNjZXNzIHVzaW5nIGBnb3Z1ay1zcGFjaW5nKClgXG4vLy8gKHNlZSBgaGVscGVycy9zcGFjaW5nYCkuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJGdvdnVrLXNwYWNpbmctcG9pbnRzOiAoXG4gIDA6IDAsXG4gIDE6IDVweCxcbiAgMjogMTBweCxcbiAgMzogMTVweCxcbiAgNDogMjBweCxcbiAgNTogMjVweCxcbiAgNjogMzBweCxcbiAgNzogNDBweCxcbiAgODogNTBweCxcbiAgOTogNjBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZyBtYXBzXG4vLy9cbi8vLyBUaGVzZSBkZWZpbml0aW9ucyBhcmUgdXNlZCB0byBnZW5lcmF0ZSByZXNwb25zaXZlIHNwYWNpbmcgdGhhdCBhZGFwdHNcbi8vLyBhY2NvcmRpbmcgdG8gdGhlIGJyZWFrcG9pbnRzIChzZWUgJ2hlbHBlcnMvc3BhY2luZycpLiBUaGVzZSBtYXBzIHNob3VsZCBiZVxuLy8vIHVzZWQgd2hlcmV2ZXIgcG9zc2libGUgdG8gc3RhbmRhcmRpc2UgcmVzcG9uc2l2ZSBzcGFjaW5nLlxuLy8vXG4vLy8gWW91IGNhbiBkZWZpbmUgZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCdcbi8vLyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4vLy9cbi8vLyBBY2Nlc3MgcmVzcG9uc2l2ZSBzcGFjaW5nIHdpdGggYGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luYCBvclxuLy8vIGBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmdgIG1peGlucyAoc2VlIGBoZWxwZXJzL3NwYWNpbmdgKS5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlOiAoXG4gIDA6IChcbiAgICBudWxsOiAwLFxuICAgIHRhYmxldDogMFxuICApLFxuICAxOiAoXG4gICAgbnVsbDogNXB4LFxuICAgIHRhYmxldDogNXB4XG4gICksXG4gIDI6IChcbiAgICBudWxsOiAxMHB4LFxuICAgIHRhYmxldDogMTBweFxuICApLFxuICAzOiAoXG4gICAgbnVsbDogMTVweCxcbiAgICB0YWJsZXQ6IDE1cHhcbiAgKSxcbiAgNDogKFxuICAgIG51bGw6IDE1cHgsXG4gICAgdGFibGV0OiAyMHB4XG4gICksXG4gIDU6IChcbiAgICBudWxsOiAxNXB4LFxuICAgIHRhYmxldDogMjVweFxuICApLFxuICA2OiAoXG4gICAgbnVsbDogMjBweCxcbiAgICB0YWJsZXQ6IDMwcHhcbiAgKSxcbiAgNzogKFxuICAgIG51bGw6IDI1cHgsXG4gICAgdGFibGV0OiA0MHB4XG4gICksXG4gIDg6IChcbiAgICBudWxsOiAzMHB4LFxuICAgIHRhYmxldDogNTBweFxuICApLFxuICA5OiAoXG4gICAgbnVsbDogNDBweCxcbiAgICB0YWJsZXQ6IDYwcHhcbiAgKVxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbWVhc3VyZW1lbnRzXG4vLy8vXG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBhZ2UgbGF5b3V0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFdpZHRoIG9mIG1haW4gY29udGFpbmVyXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstcGFnZS13aWR0aDogOTYwcHggIWRlZmF1bHQ7XG5cbi8vLyBNYXAgb2YgZ3JpZCBjb2x1bW4gd2lkdGhzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3JpZC13aWR0aHM6IChcbiAgb25lLXF1YXJ0ZXI6IDI1JSxcbiAgb25lLXRoaXJkOiAzMy4zMzMzJSxcbiAgb25lLWhhbGY6IDUwJSxcbiAgdHdvLXRoaXJkczogNjYuNjY2NiUsXG4gIHRocmVlLXF1YXJ0ZXJzOiA3NSUsXG4gIGZ1bGw6IDEwMCVcbikgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXI6IDMwcHggIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBoYWxmIHRoZSBndXR0ZXIgYmV0d2VlbiBncmlkIGNvbHVtbnNcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ndXR0ZXItaGFsZjogJGdvdnVrLWd1dHRlciAvIDI7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJvcmRlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gU3RhbmRhcmQgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoOiA1cHggIWRlZmF1bHQ7XG5cbi8vLyBXaWRlIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC13aWRlOiAxMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHdpZHRoIG9uIG1vYmlsZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1tb2JpbGU6IDRweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gY29udHJvbCBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50OiAycHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGNvbnRyb2wgYm9yZGVyIHdpZHRoIHdoZW4gaW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yOiA0cHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGdyb3VwIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3I6ICRnb3Z1ay1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggb2YgZm9jdXMgb3V0bGluZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuLy8vIExpc3Qgb2YgZm9udCBmYW1pbGllcyB0byB1c2UgaWYgdXNpbmcgTlRBICh0aGUgZGVmYXVsdCBmb250ICdzdGFjaycgZm9yXG4vLy8gR09WLlVLKVxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS1udGE6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLy8gTGlzdCBvZiBmb250IGZhbWlsaWVzIHRvIHVzZSBpZiB1c2luZyB0aGUgJ3RhYnVsYXIgbnVtYmVycycgc3Vic2V0IG9mIE5UQVxuLy8vICh0aGUgZGVmYXVsdCBmb250ICdzdGFjaycgZm9yIEdPVi5VSylcbi8vL1xuLy8vIEJlY2F1c2UgbnRhdGFidWxhcm51bWJlcnMgb25seSBpbmNsdWRlcyB0aGUgZGlnaXRzIDAtMTAsIGFsbCBvdGhlciBnbHlwaHNcbi8vLyB3aWxsICdmYWxsLXRocm91Z2gnIHRoZSBzdGFjayB0byBOVEEuXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LW50YS10YWJ1bGFyOiBcIm50YXRhYnVsYXJudW1iZXJzXCIsICRnb3Z1ay1mb250LWZhbWlseS1udGE7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBmYW1pbGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgYWxsIHR5cG9ncmFwaHkgb24gc2NyZWVuIG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktbnRhICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2Ugd2hlbiBkaXNwbGF5aW5nIHRhYnVsYXIgbnVtYmVyc1xuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LWZhbWlseS10YWJ1bGFyOiAkZ292dWstZm9udC1mYW1pbHktbnRhLXRhYnVsYXIgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktcHJpbnQ6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEZvbnQgd2VpZ2h0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IHdlaWdodCBmb3IgcmVndWxhciB0eXBvZ3JhcGh5XG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuJGdvdnVrLWZvbnQtd2VpZ2h0LXJlZ3VsYXI6IDQwMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBib2xkIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtYm9sZDogNzAwICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBXaGV0aGVyIG9yIG5vdCB0byBkZWZpbmUgZm9udCBzaXplcyBpbiByZW0sIGltcHJvdmluZyBhY2Nlc3NpYmlsaXR5IGJ5XG4vLy8gYWxsb3dpbmcgdXNlcnMgdG8gYWRqdXN0IHRoZSBiYXNlIGZvbnQtc2l6ZS4gVGhpcyBpcyBjdXJyZW50bHkgb2ZmIGJ5XG4vLy8gZGVmYXVsdCwgYnV0IHdpbGwgYmUgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBwcm9qZWN0cyB0aGF0IGRvIG5vdCB1c2Vcbi8vLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuLy8vXG4vLy8gSWYgdGhpcyBpcyBlbmFibGVkLCB5b3Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0ICRnb3Z1ay1yb290LWZvbnQtc2l6ZSBpcyBzZXRcbi8vLyBjb3JyZWN0bHkgZm9yIHlvdXIgcHJvamVjdFxuLy8vXG4vLy8gSWYgYW55IG9mIHRoZSBjb21wYXRpYmlsaXR5IHZhcmlhYmxlcyBhcmUgc2V0LCB0aGVuIGRlZmF1bHRcbi8vLyByZXNwb25zaXZlIHR5cG9ncmFwaHkgdG8gb2ZmLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW06IGlmKChcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUgb3JcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzXG4gICksIGZhbHNlLCB0cnVlKSAhZGVmYXVsdDtcblxuLy8vIFJvb3QgZm9udCBzaXplXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gY2FsY3VsYXRlIHJlbSBzaXplcyBmb3IgdGhlIHR5cG9ncmFwaHksIGFuZCBzaG91bGQgbWF0Y2ggdGhlXG4vLy8gX2VmZmVjdGl2ZV8gZm9udC1zaXplIG9mIHlvdXIgcm9vdCAob3IgaHRtbCkgZWxlbWVudC5cbi8vL1xuLy8vIElkZWFsbHkgeW91IHNob3VsZCBub3QgYmUgc2V0dGluZyB0aGUgZm9udC1zaXplIG9uIHRoZSBodG1sIG9yIHJvb3QgZWxlbWVudFxuLy8vIGluIG9yZGVyIHRvIGFsbG93IGl0IHRvIHNjYWxlIHdpdGggdXNlci1wcmVmZXJlbmNlLCBpbiB3aGljaCBjYXNlIHRoaXNcbi8vLyBzaG91bGQgYmUgc2V0IHRvIDE2cHguXG4vLy9cbi8vLyBJZiB5b3UgYXJlIGludGVncmF0aW5nIEZyb250ZW5kIGludG8gYW4gZXhpc3RpbmcgcHJvamVjdCB0aGF0IGFsc28gdXNlc1xuLy8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIHRoZW4geW91IHNob3VsZCBzZXQgdGhpcyB0byAxMHB4IHRvIG1hdGNoIHRoZSA2Mi41JVxuLy8vICgxMHB4KSBiYXNlIGZvbnQgc2l6ZSB0aGF0IGdvdnVrX3RlbXBsYXRlIHNldHMgb24gdGhlIDxodG1sPiBlbGVtZW50LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXJvb3QtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGZvbnQgbWFwXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IHRoYXQgYWRhcHRzIGFjY29yZGluZyB0byB0aGVcbi8vLyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEZvbnQgc2l6ZSBhbmQgZm9udCB3ZWlnaHQgY2FuIGJlIGRlZmluZWQgZm9yIGVhY2ggYnJlYWtwb2ludC4gWW91IGNhbiBkZWZpbmVcbi8vLyBkaWZmZXJlbnQgYmVoYXZpb3VyIG9uIHRhYmxldCBhbmQgZGVza3RvcC4gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvclxuLy8vIG1vYmlsZS5cbi8vL1xuLy8vIExpbmUtaGVpZ2h0cyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29udmVydGVkIGZyb20gcGl4ZWwgbWVhc3VyZW1lbnRzIGludG9cbi8vLyByZWxhdGl2ZSB2YWx1ZXMuIEZvciBleGFtcGxlLCB3aXRoIGEgZm9udC1zaXplIG9mIDE2cHggYW5kIGEgbGluZS1oZWlnaHQgb2Zcbi8vLyAyNHB4LCB0aGUgbGluZS1oZWlnaHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMS41IGJlZm9yZSBvdXRwdXQuXG4vLy9cbi8vLyBZb3UgY2FuIGFsc28gc3BlY2lmeSBhIHNlcGFyYXRlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgZm9yIHByaW50IG1lZGlhLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCBhdCBgJGJyZWFrcG9pbnRgXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LiRicmVha3BvaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQucHJpbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCB3aGVuIHByaW50aW5nXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIHdoZW4gcHJpbnRpbmdcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlOiAoXG4gIDgwOiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiA1M3B4LFxuICAgICAgbGluZS1oZWlnaHQ6IDU1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiA4MHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDgwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDUzcHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xXG4gICAgKVxuICApLFxuICA0ODogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMzJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogNDhweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAzMnB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDM2OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAyNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAzNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDI0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4wNVxuICAgIClcbiAgKSxcbiAgMjc6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE4cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDI3cHgsXG4gICAgICBsaW5lLWhlaWdodDogMzBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAyNDogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxOHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDE5OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxOXB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMTY6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMTZweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJcbiAgICApXG4gICksXG4gIDE0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDE1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDEycHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4yXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJleHBvcnRzXCI7XG5AaW1wb3J0IFwiZm9udC11cmxcIjtcbkBpbXBvcnQgXCJpZThcIjtcbkBpbXBvcnQgXCJpZmZcIjtcbkBpbXBvcnQgXCJpbWFnZS11cmxcIjtcbkBpbXBvcnQgXCJweC10by1lbVwiO1xuQGltcG9ydCBcInB4LXRvLXJlbVwiO1xuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gQ29uZGl0aW9uYWwgQ29tcGF0aWJpbGl0eSBNaXhpblxuLy8vXG4vLy8gU2VsZWN0aXZlbHkgb3V0cHV0IGEgYmxvY2sgKGF2YWlsYWJsZSB0byB0aGUgbWl4aW4gYXMgQGNvbnRlbnQpIGlmIGEgZ2l2ZW5cbi8vLyAkcHJvZHVjdCBpcyBhbHNvIGlkZW50aWZpZWQgYXMgYmVpbmcgdXNlZCBpbiB0aGUgcHJvamVjdC5cbi8vL1xuLy8vIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBpbmNsdWRlIHN0eWxlcyB0aGF0IGFyZSBvbmx5IG5lZWRlZCB0byBvdmVycmlkZVxuLy8vIHN0eWxlcyBwcm92aWRlZCBieSB0aG9zZSBvdGhlciBwcm9kdWN0cyAoZS5nLiB3aGVyZSBnb3Z1a190ZW1wbGF0ZSBoYXMgYVxuLy8vIHZlcnkgc3BlY2lmaWMgbGluayBzZWxlY3RvciB0aGF0IG90aGVyd2lzZSBhZmZlY3RzIGJ1dHRvbnMpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gT3ZlcnJpZGUgLm15LWNsYXNzIGlmIEdPVi5VSyBUZW1wbGF0ZSBpcyBhbHNvIGJlaW5nIHVzZWRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbi8vLyAgICAgLm15LWNsYXNzIHtcbi8vLyAgICAgICBjb2xvcjogaW5oZXJpdDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9kdWN0IC0gTmFtZSBvZiBwcm9kdWN0IHRoYXQgd2UgYXJlICdkZWZlbmRpbmcnIGFnYWluc3QuXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb3V0cHV0dGVkIG9ubHkgaWYgRnJvbnRlbmQgaXMgYmVpbmcgdXNlZCB3aXRoXG4vLy8gICB0aGlzIHByb2R1Y3Rcbi8vLyBAdGhyb3cgRXJyb3JzIGlmIHByb2R1Y3QgbmFtZSBpcyBub3QgcmVjb2duaXNlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jb21wYXRpYmlsaXR5KCRwcm9kdWN0KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkX2dvdnVrLWNvbXBhdGliaWxpdHksICRwcm9kdWN0KSB7XG4gICAgQGlmIG1hcC1nZXQoJF9nb3Z1ay1jb21wYXRpYmlsaXR5LCAkcHJvZHVjdCkgPT0gdHJ1ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIk5vbiBleGlzdGVudCBwcm9kdWN0ICcjeyRwcm9kdWN0fSdcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gTGlzdCBvZiBtb2R1bGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGV4cG9ydGVkXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBFeHBvcnQgbW9kdWxlXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgbW9kdWxlcyBvZiBDU1MgdGhhdCB3ZSBkZWZpbmUgdGhyb3VnaG91dCBGcm9udGVuZCBhcmUgb25seVxuLy8vIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5IGFyZVxuLy8vIGltcG9ydGVkIGFjcm9zcyB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBtb2R1bGUgLSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvZGViYXNlXG4vLy8gQGNvbnRlbnQgVGhlIHBhc3NlZCBjb250ZW50IHdpbGwgb25seSBiZSBvdXRwdXR0ZWQgaWYgYSBtb2R1bGUgb2YgdGhlIHNhbWVcbi8vLyAgICRuYW1lIGhhcyBub3QgYWxyZWFkeSBiZWVuIG91dHB1dHRlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1leHBvcnRzKCRuYW1lKSB7XG4gIC8vIElmIHRoZSBtaXhpbiBpcyBub3QgaW4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhbHJlYWR5IGV4cG9ydGVkLi4uXG4gIEBpZiAoaW5kZXgoJF9nb3Z1ay1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSkgPT0gbnVsbCkge1xuICAgIC8vIC4uLiB0aGVuIGFkZCBpdCB0byB0aGUgbGlzdFxuICAgICRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogYXBwZW5kKCRfZ292dWstaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgLy8gLi4uIGFuZCBvdXRwdXQgdGhlIENTUyBmb3IgdGhhdCBtb2R1bGVcbiAgICBAY29udGVudDtcbiAgfVxuICAvLyBUaGUgbmV4dCB0aW1lIGV4cG9ydHMgaXMgY2FsbGVkIGZvciB0aGUgbW9kdWxlIG9mIHRoZSBzYW1lIG5hbWUsIGl0IHdpbGwgYmVcbiAgLy8gZm91bmQgaW4gdGhlIGxpc3QgYW5kIHNvIG5vdGhpbmcgd2lsbCBiZSBvdXRwdXR0ZWQuXG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vIERpc2FibGUgaW5kZW50YXRpb24gbGludGluZyBpbiB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgaW5kZW50YXRpb25cblxuLy8vIEZvbnQgVVJMXG4vLy9cbi8vLyBJZiBhIGN1c3RvbSBmb250LXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbikgdGhlblxuLy8vIGl0IHdpbGwgYmUgY2FsbGVkLCBvdGhlcndpc2UgYSB1cmwgd2lsbCBiZSByZXR1cm5lZCB3aXRoIHRoZSBmaWxlbmFtZVxuLy8vIGFwcGVuZGVkIHRvIHRoZSBmb250IHBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZpbGVuYW1lIC0gRm9udCBmaWxlbmFtZVxuLy8vIEByZXR1cm4ge1N0cmluZ30gVVJMIGZvciB0aGUgZmlsZW5hbWUsIHdyYXBwZWQgaW4gYHVybCgpYFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1mb250LXVybCgkZmlsZW5hbWUpIHtcbiAgJHVzZS1jdXN0b20tZnVuY3Rpb246IHZhcmlhYmxlLWV4aXN0cyhcImdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1mb250LXVybC1mdW5jdGlvblxuICAgIGFuZCBmdW5jdGlvbi1leGlzdHMoJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uKTtcblxuICBAaWYgKCR1c2UtY3VzdG9tLWZ1bmN0aW9uKSB7XG4gICAgQHJldHVybiBjYWxsKGdldC1mdW5jdGlvbigkZ292dWstZm9udC11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstZm9udHMtcGF0aCArICRmaWxlbmFtZSk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHNcbi8vLy9cblxuLy8vIENvbmRpdGlvbmFsbHkgaW5jbHVkZSBydWxlcyBvbmx5IGZvciBJRThcbi8vL1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG9ubHkgb3V0cHV0dGVkIGlmIHdlJ3JlIGNvbXBpbGluZyBhIHN0eWxlc2hlZXRcbi8vLyAgIHRoYXQgdGFyZ2V0cyBJRTggKGlmIGAkZ292dWstaXMtaWU4YCBpcyB0cnVlKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBtaW4td2lkdGg6IDEwMHB4O1xuLy8vICAgICAvLyBTcGVjaWZ5IHdpZHRoIGZvciBJRTggb25seVxuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuLy8vICAgICAgIHdpZHRoOiAxMDBweDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWlmLWllOCB7XG4gIEBpZiAkZ292dWstaXMtaWU4IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gQ29uZGl0aW9uYWxseSBleGNsdWRlIHJ1bGVzIGZvciBJRThcbi8vL1xuLy8vIEBjb250ZW50IFBhc3NlZCBjb250ZW50IGlzIG9ubHkgb3V0cHV0dGVkIGlmIHdlJ3JlIG5vdCBjb21waWxpbmcgYVxuLy8vICAgc3R5bGVzaGVldCB0aGF0IHRhcmdldHMgSUU4IChpZiBgJGdvdnVrLWlzLWllOGAgaXMgZmFsc2UpXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuLy8vXG4vLy8gICAgIC8vIEVuaGFuY2UgZm9vIG9ubHkgZm9yIG1vZGVybiBicm93c2VycyAobm90IElFOClcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4vLy8gICAgICAgZm9udC1mYW1pbHk6IFwiQ29taWMgU2FucyBNU1wiLCBcIkN1cmx6IE1UXCIgY3Vyc2l2ZSwgc2Fucy1zZXJpZjtcbi8vLyAgICAgICBjb2xvcjogI0ZGNjlCNDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLW5vdC1pZTgge1xuICBAaWYgbm90ICRnb3Z1ay1pcy1pZTgge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBTeW50YWN0aWMgc3VnYXIgYXJvdW5kIFNhc3MnIGJ1aWx0LWluIGBpZmAgZnVuY3Rpb24gdGhhdCBkb2VzIG5vdCByZXF1aXJlXG4vLy8geW91IHRvIHBhc3MgYSB2YWx1ZSBmb3IgYCRpZi1mYWxzZWAuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjb25kaXRpb24gLSBXaGV0aGVyIHRvIHJldHVybiB0aGUgdmFsdWUgb2YgYCRpZi10cnVlYFxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRpZi10cnVlIC0gVmFsdWUgdG8gcmV0dXJuIGlmIGAkY29uZGl0aW9uYCBpcyB0cnV0aHlcbi8vLyBAcmV0dXJuIHtNaXhlZH0gVmFsdWUgb2YgYCRpZi10cnVlYCBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5LCBlbHNlIG51bGxcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gaWZmKCRjb25kaXRpb24sICRpZi10cnVlKSB7XG4gIEByZXR1cm4gaWYoJGNvbmRpdGlvbiwgJGlmLXRydWUsIG51bGwpO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLyBEaXNhYmxlIGluZGVudGF0aW9uIGxpbnRpbmcgaW4gdGhpcyBmaWxlIG9ubHlcbi8vIHNhc3MtbGludDpkaXNhYmxlIGluZGVudGF0aW9uXG5cbi8vLyBJbWFnZSBVUkxcbi8vL1xuLy8vIElmIGEgY3VzdG9tIGltYWdlLXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pIHRoZW5cbi8vLyBpdCB3aWxsIGJlIGNhbGxlZCwgb3RoZXJ3aXNlIGEgdXJsIHdpbGwgYmUgcmV0dXJuZWQgd2l0aCB0aGUgZmlsZW5hbWVcbi8vLyBhcHBlbmRlZCB0byB0aGUgaW1hZ2UgcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSBGaWxlbmFtZSBmb3IgdGhlIGltYWdlIHRvIGxvYWRcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IFVSTCBmb3IgdGhlIGZpbGVuYW1lLCB3cmFwcGVkIGluIGB1cmwoKWBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstaW1hZ2UtdXJsKCRmaWxlbmFtZSkge1xuICAkdXNlLWN1c3RvbS1mdW5jdGlvbjogdmFyaWFibGUtZXhpc3RzKFwiZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb25cbiAgICBhbmQgZnVuY3Rpb24tZXhpc3RzKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pO1xuXG4gIEBpZiAoJHVzZS1jdXN0b20tZnVuY3Rpb24pIHtcbiAgICBAcmV0dXJuIGNhbGwoZ2V0LWZ1bmN0aW9uKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstaW1hZ2VzLXBhdGggKyAkZmlsZW5hbWUpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byBlbVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbnRleHQtZm9udC1zaXplIC0gRm9udCBzaXplIG9mIGVsZW1lbnRcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiBlbXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZW0oJHZhbHVlLCAkY29udGV4dC1mb250LXNpemUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cbiAgQGlmICh1bml0bGVzcygkY29udGV4dC1mb250LXNpemUpKSB7XG4gICAgJGNvbnRleHQtZm9udC1zaXplOiAkY29udGV4dC1mb250LXNpemUgKiAxcHg7XG4gIH1cbiAgQHJldHVybiAkdmFsdWUgLyAkY29udGV4dC1mb250LXNpemUgKiAxZW07XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzXG4vLy8vXG5cbi8vLyBDb252ZXJ0IHBpeGVscyB0byByZW1cbi8vL1xuLy8vIFRoZSAkZ292dWstcm9vdC1mb250LXNpemUgKGRlZmluZWQgaW4gc2V0dGluZ3MvX3R5cG9ncmFwaHktcmVzcG9uc2l2ZS5zY3NzKVxuLy8vIG11c3QgYmUgY29uZmlndXJlZCB0byBtYXRjaCB0aGUgZm9udC1zaXplIG9mIHlvdXIgcm9vdCAoaHRtbCkgZWxlbWVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIExlbmd0aCBpbiBwaXhlbHNcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IExlbmd0aCBpbiByZW1zXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXB4LXRvLXJlbSgkdmFsdWUpIHtcbiAgQGlmICh1bml0bGVzcygkdmFsdWUpKSB7XG4gICAgJHZhbHVlOiAkdmFsdWUgKiAxcHg7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZSAvICRnb3Z1ay1yb290LWZvbnQtc2l6ZSAqIDFyZW07XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJjb2xvdXJcIjtcbkBpbXBvcnQgXCJkZXZpY2UtcGl4ZWxzXCI7XG5AaW1wb3J0IFwiZm9jdXNhYmxlXCI7XG5AaW1wb3J0IFwiZm9udC1mYWNlc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcIm1lZGlhLXF1ZXJpZXNcIjtcbkBpbXBvcnQgXCJzaGFwZS1hcnJvd1wiO1xuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidmlzdWFsbHktaGlkZGVuXCI7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENsZWFyIGZsb2F0ZWQgY29udGVudCB3aXRoaW4gYSBjb250YWluZXIgdXNpbmcgYSBwc2V1ZG8gZWxlbWVudFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWNsZWFyZml4IHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBNZWRpYSBxdWVyeSBmb3IgcmV0aW5hIGltYWdlcyAoZGV2aWNlLXBpeGVsLXJhdGlvKVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyYXRpbyBbMl0gLSBEZXZpY2UgcGl4ZWwgcmF0aW9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCB3aWxsIGJlIG91dHB1dHRlZCB3aXRoaW4gdGhlIG1lZGlhIHF1ZXJ5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gUHJvdmlkaW5nIGEgQDJ4IGltYWdlIGZvciBzY3JlZW5zIHRoYXQgc3VwcG9ydCBpdFxuLy8vICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UucG5nXCIpO1xuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8ge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0yeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNpbmcgYSBjdXN0b20gcmF0aW9cbi8vLyAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLnBuZ1wiKTtcbi8vL1xuLy8vICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbi8vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UtMngucG5nXCIpO1xuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1kZXZpY2UtcGl4ZWwtcmF0aW8oMykge1xuLy8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS0zeC5wbmdcIik7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvKCRyYXRpbzogMikge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gICAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgbWluLXJlc29sdXRpb246ICN7KCRyYXRpbyo5Nil9ZHBpKSxcbiAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogI3skcmF0aW99ZHBweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbi8vLyBGb2N1c2FibGUgaGVscGVyXG4vLy9cbi8vLyBQcm92aWRlcyBhbiBhZGRpdGlvbmFsIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpc1xuLy8vIGZvY3Vzc2VkLiBVc2VkIGZvciBpbnRlcmFjdGl2ZSBlbGVtZW50cyB3aGljaCB0aGVtc2VsdmVzIGhhdmUgc29tZSBiYWNrZ3JvdW5kXG4vLy8gb3IgYm9yZGVyLCBzdWNoIGFzIG1vc3QgZm9ybSBlbGVtZW50cy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2FibGUge1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgfVxufVxuXG4vLy8gRm9jdXNhYmxlIHdpdGggZmlsbCBoZWxwZXJcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIGFkZGl0aW9uYWwgb3V0bGluZSBhbmQgYmFja2dyb3VuZCBjb2xvdXIgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuXG4vLy8gdGhlIHRhcmdldCBlbGVtZW50IGlzIGZvY3Vzc2VkLiBVc2VkIGZvciBpbnRlcmFjdGl2ZSB0ZXh0LWJhc2VkIGVsZW1lbnRzIHN1Y2hcbi8vLyBhcyBsaW5rcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2FibGUtZmlsbCB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLyBEaXNhYmxlcyBsaW50aW5nIGZvciB0aGlzIGZpbGUgb25seVxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY3NzLWNvbW1lbnRzLCBuby1kdXBsaWNhdGUtcHJvcGVydGllcywgcHJvcGVydHktc29ydC1vcmRlciwgaW5kZW50YXRpb25cblxuQGltcG9ydCBcIi4uL3Rvb2xzL2V4cG9ydHNcIjtcblxuLy8vIEZvbnQgRmFjZSAtIE5UQVxuLy8vXG4vLy8gT3V0cHV0cyB0aGUgZm9udC1mYWNlIGRlY2xhcmF0aW9uIGZvciBOVEEgYXQgdGhlIHJvb3Qgb2YgdGhlIENTUyBkb2N1bWVudFxuLy8vIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWZvbnQtZmFjZS1udGEge1xuICBAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvaGVscGVycy9mb250LWZhY2VcIikge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC8qISBDb3B5cmlnaHQgKGMpIDIwMTEgYnkgTWFyZ2FyZXQgQ2FsdmVydCAmIEhlbnJpayBLdWJlbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhlIGZvbnQgaGFzIGJlZW4gY3VzdG9taXNlZCBmb3IgZXhjbHVzaXZlIHVzZSBvbiBnb3YudWsuIFRoaXMgY3V0IGlzIG5vdCBjb21tZXJjaWFsbHkgYXZhaWxhYmxlLiAqL1xuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJsaWdodC0yYzAzN2NmN2UxLXYxLmVvdFwiKTtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LTJjMDM3Y2Y3ZTEtdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LWYzOGFkNDA0NTYtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC00NThmOGVhODFjLXYxLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLWZiMjY3NjQ2MmEtdjEuZW90XCIpO1xuICAgICAgICBzcmM6IGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1mYjI2NzY0NjJhLXYxLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWEyNDUyY2I2NmYtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLWYzOGM3OTJhYzItdjEud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgfVxuXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibnRhdGFidWxhcm51bWJlcnNcIjtcbiAgICAgICAgc3JjOiBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNDk4ZWE4ZmZlMi12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJsaWdodC10YWJ1bGFyLTQ5OGVhOGZmZTItdjEuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItODUxYjEwY2NkZC12MS53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LXRhYnVsYXItNjJjYzZmMGEyOC12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cblxuICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm50YXRhYnVsYXJudW1iZXJzXCI7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItMzU3ZmRmYmNjMy12MS5lb3RcIik7XG4gICAgICAgIHNyYzogZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItMzU3ZmRmYmNjMy12MS5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLFxuICAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC10YWJ1bGFyLWI4OTIzOGQ4NDAtdjEud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJib2xkLXRhYnVsYXItNzg0YzIxYWZiOC12MS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtZGlzcGxheTogZmFsbGJhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIGdyaWQgd2lkdGggKGUuZy4gdHdvLXRoaXJkcylcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFBlcmNlbnRhZ2Ugd2lkdGhcbi8vLyBAdGhyb3cgaWYgYCRrZXlgIGlzIG5vdCBhIHZhbGlkIGdyaWQgd2lkdGhcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZ3JpZC13aWR0aCgka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZ292dWstZ3JpZC13aWR0aHMsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWdyaWQtd2lkdGhzLCAka2V5KTtcbiAgfVxuXG4gIEBlcnJvciBcIlVua25vd24gZ3JpZCB3aWR0aCBgI3ska2V5fWBcIjtcbn1cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZSAoYWxpYXMpXG4vLy9cbi8vLyBAYWxpYXMgZ292dWstZ3JpZC13aWR0aFxuLy8vIEBkZXByZWNhdGVkIFRvIGJlIHJlbW92ZWQgaW4gdjMuMCwgcmVwbGFjZWQgYnkgZ292dWstZ3JpZC13aWR0aFxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJGtleSkge1xuICBAcmV0dXJuIGdvdnVrLWdyaWQtd2lkdGgoJGtleSk7XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIHJvdyBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIHJvdyBjbGFzcyB3aXRoIGEgc3RhbmRhcmRpc2VkIG1hcmdpbi5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtcm93XSBDU1MgY2xhc3MgbmFtZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERlZmF1bHRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtcm93O1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBjbGFzcyBuYW1lXG4vLy8gICBAaW5jbHVkZSBnb3Z1ay1ncmlkLXJvdyhcImFwcC1ncmlkXCIpO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLyBAZGVwcmVjYXRlZCBUbyBiZSByZW1vdmVkIGluIHYzLjAsIHJlcGxhY2VkIGJ5IHRoZSBnb3Z1ay1ncmlkLXJvdyBjbGFzc1xuXG5AbWl4aW4gZ292dWstZ3JpZC1yb3coJGNsYXNzOiBcImdvdnVrLWdyaWQtcm93XCIpIHtcbiAgLiN7JGNsYXNzfSB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICAgIG1hcmdpbi1sZWZ0OiAtICgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIGNvbHVtbiBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiB3aXRoIHN0YW5kYXJkIGd1dHRlciBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuLy8vXG4vLy8gSWYgYSBgJGNsYXNzYCBpcyBwcm92aWRlZCAod2hpY2ggaXMgdGhlIGRlZmF1bHQsIGJ1dCBkZXByZWNhdGVkIGJlaGF2aW91ciksXG4vLy8gdGhlIGdlbmVyYXRlZCBydWxlcyB3aWxsIGJlIHdyYXBwZWQgaW4gYSBwcmVkZWZpbmVkIHNlbGVjdG9yIGluIHRoZSBmb3JtYXRcbi8vLyBgJGNsYXNzLSR3aWR0aGAgKGUuZy4gYGdvdnVrLWdyaWQtY29sdW1uLWZ1bGxgKS4gVGhpcyBiZWhhdmlvdXIgaXNcbi8vLyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdjMuMFxuLy8vXG4vLy8gR3JpZCB3aWR0aHMgYXJlIGRlZmluZWQgaW4gdGhlIGAkZ292dWstZ3JpZC13aWR0aHNgIG1hcC5cbi8vL1xuLy8vIEJ5IGRlZmF1bHQgdGhlIGNvbHVtbiB3aWR0aCBjaGFuZ2VzIGZyb20gMTAwJSB0byBzcGVjaWZpZWQgd2lkdGggYXQgdGhlXG4vLy8gJ3RhYmxldCcgYnJlYWtwb2ludCwgYnV0IG90aGVyIGJyZWFrcG9pbnRzIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlIGAkYXRgXG4vLy8gcGFyYW1ldGVyLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCBbZnVsbF0gbmFtZSBvZiBhIGdyaWQgd2lkdGggZnJvbSAkZ292dWstZ3JpZC13aWR0aHNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZsb2F0IFtsZWZ0XSBsZWZ0IHwgcmlnaHRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGF0IFt0YWJsZXRdIC0gbW9iaWxlIHwgdGFibGV0IHwgZGVza3RvcCB8IGFueSBjdXN0b20gYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2xhc3MgW2dvdnVrLWdyaWQtY29sdW1uXSBDU1MgY2xhc3MgbmFtZSAoZGVwcmVjYXRlZClcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEZWZhdWx0XG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tdHdvLXRoaXJkcyB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRjbGFzczogZmFsc2UpXG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGJyZWFrcG9pbnQgd2hlcmUgd2lkdGggcGVyY2VudGFnZSBpcyBhcHBsaWVkXG4vLy8gICAuZ292dWstZ3JpZC1jb2x1bW4tb25lLWhhbGYtYXQtZGVza3RvcCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkYXQ6IGRlc2t0b3ApO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBmbG9hdCBkaXJlY3Rpb25cbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZi1yaWdodCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRmbG9hdDogcmlnaHQsICRjbGFzczogZmFsc2UpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBjbGFzcyBuYW1lIChkZXByZWNhdGVkKVxuLy8vICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRjbGFzczogXCJ0ZXN0LWNvbHVtblwiKTtcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1ncmlkLWNvbHVtbigkd2lkdGg6IGZ1bGwsICRmbG9hdDogbGVmdCwgJGF0OiB0YWJsZXQsICRjbGFzczogXCJnb3Z1ay1ncmlkLWNvbHVtblwiKSB7XG4gIEBpZiAoJGNsYXNzKSB7XG4gICAgLiN7JGNsYXNzfS0jeyR3aWR0aH0ge1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkZmxvYXQsICRhdCwgJGNsYXNzOiBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZiAkYXQgIT0gZGVza3RvcCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgcGFkZGluZzogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRhdCkge1xuICAgICAgd2lkdGg6IGdvdnVrLWdyaWQtd2lkdGgoJHdpZHRoKTtcbiAgICAgIGZsb2F0OiAkZmxvYXQ7XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIENvbW1vbiBsaW5rIG1peGluXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGUtZmlsbDtcbn1cblxuLy8vIERlZmF1bHQgbGluayBzdHlsZSBtaXhpblxuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIGRlZmF1bHQgdW52aXNpdGVkLCB2aXNpdGVkLCBob3ZlciBhbmQgYWN0aXZlIHN0YXRlcyBmb3IgbGlua3MuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1kZWZhdWx0IHtcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBNdXRlZCBzdHlsZSBsaW5rIG1peGluXG4vLy9cbi8vLyBVc2VkIGZvciBzZWNvbmRhcnkgbGlua3Mgb24gYSBwYWdlIC0gdGhlIGxpbmsgd2lsbCBhcHBlYXIgaW4gbXV0ZWQgY29sb3Vyc1xuLy8vIHJlZ2FyZGxlc3Mgb2YgdmlzaXRlZCBzdGF0ZS5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gZ292dWstbGluay1jb21tb24gbWl4aW4gaW4gb3JkZXIgdG8gZ2V0IHRoZSBmb2N1cyBzdGF0ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW11dGVkIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yIGRlc2lnbmVkXG4gIC8vIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc28gd2UgbmVlZCB0b1xuICAvLyBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVGV4dCBzdHlsZSBsaW5rIG1peGluXG4vLy9cbi8vLyBPdmVycmlkZXMgdGhlIGNvbG91ciBvZiBsaW5rcyB0byBtYXRjaCB0aGUgdGV4dCBjb2xvdXIuIEdlbmVyYWxseSB1c2VkIGJ5XG4vLy8gbmF2aWdhdGlvbiBjb21wb25lbnRzLCBzdWNoIGFzIGJyZWFkY3J1bWJzIG9yIHRoZSBiYWNrIGxpbmsuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLXRleHQge1xuICAvLyBPdmVycmlkZSBsaW5rIGNvbG91ciB0byB1c2UgdGV4dCBjb2xvdXJcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQsXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yIGRlc2lnbmVkXG4gIC8vIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc28gd2UgbmVlZCB0b1xuICAvLyBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBObyB2aXNpdGVkIHN0YXRlIGxpbmsgbWl4aW5cbi8vL1xuLy8vIFVzZWQgaW4gY2FzZXMgd2hlcmUgaXQgaXMgbm90IGhlbHBmdWwgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB2aXNpdGVkIGFuZFxuLy8vIG5vbi12aXNpdGVkIGxpbmtzLlxuLy8vXG4vLy8gRm9yIGV4YW1wbGUsIG5hdmlnYXRpb24gbGlua3MgdG8gcGFnZXMgd2l0aCBkeW5hbWljIGNvbnRlbnQgbGlrZSBhZG1pblxuLy8vIGRhc2hib2FyZHMuIFRoZSBjb250ZW50IG9uIHRoZSBwYWdlIGlzIGNoYW5naW5nIGFsbCB0aGUgdGltZSwgc28gdGhlIGZhY3Rcbi8vLyB0aGF0IHlvdeKAmXZlIHZpc2l0ZWQgaXQgYmVmb3JlIGlzIG5vdCBpbXBvcnRhbnQuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGdvdnVrLWxpbmstY29tbW9uIG1peGluIGluIG9yZGVyIHRvIGdldCB0aGUgZm9jdXMgc3RhdGUuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBQcmludCBmcmllbmRseSBsaW5rIG1peGluXG4vLy9cbi8vLyBXaGVuIHByaW50aW5nLCBhcHBlbmQgdGhlIHRoZSBkZXN0aW5hdGlvbiBVUkwgdG8gdGhlIGxpbmsgdGV4dCwgYXMgbG9uZ1xuLy8vIGFzIHRoZSBVUkwgc3RhcnRzIHdpdGggZWl0aGVyIGAvYCwgYGh0dHA6Ly9gIG9yIGBodHRwczovL2AuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1wcmludC1mcmllbmRseSB7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuXG4gICAgJltocmVmXj1cIi9cIl0sXG4gICAgJltocmVmXj1cImh0dHA6Ly9cIl0sXG4gICAgJltocmVmXj1cImh0dHBzOi8vXCJdIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuXG4gICAgICAgIC8vIEJlY2F1c2UgdGhlIFVSTHMgbWF5IGJlIHZlcnkgbG9uZywgZW5zdXJlIHRoYXQgdGhleSBtYXkgYmUgYnJva2VuXG4gICAgICAgIC8vIGF0IGFyYml0cmFyeSBwb2ludHMgaWYgdGhlcmUgYXJlIG5vIG90aGVyd2lzZSBhY2NlcHRhYmxlIGJyZWFrXG4gICAgICAgIC8vIHBvaW50cyBpbiB0aGUgbGluZVxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV3JhbmdsZSBzYXNzLW1xIGNvbmZpZy4uLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFBhc3Mgb3VyIGJyZWFrcG9pbnRzIGFuZCBzdGF0aWMgYnJlYWtwb2ludCBkZWZpbml0aW9ucyB0aHJvdWdoIHRvIHNhc3MtbXEuXG4kbXEtYnJlYWtwb2ludHM6IGlmKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1icmVha3BvaW50cyksICRnb3Z1ay1icmVha3BvaW50cywgKCkpO1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBpZih2YXJpYWJsZS1leGlzdHMoZ292dWstaWU4LWJyZWFrcG9pbnQpLCAkZ292dWstaWU4LWJyZWFrcG9pbnQsIGRlc2t0b3ApO1xuXG4kbXEtc2hvdy1icmVha3BvaW50czogKCk7XG5cbkBpZiAodmFyaWFibGUtZXhpc3RzKGdvdnVrLXNob3ctYnJlYWtwb2ludHMpIGFuZCAkZ292dWstc2hvdy1icmVha3BvaW50cykge1xuICAkbXEtc2hvdy1icmVha3BvaW50czogbWFwLWtleXMoJGdvdnVrLWJyZWFrcG9pbnRzKTtcbn1cblxuLy8gV2hlbiBidWlsZGluZyBhIHN0eWxlc2hlZXQgZm9yIElFOCwgc2V0ICRtcS1yZXNwb25zaXZlIHRvIGZhbHNlIGluIG9yZGVyIHRvXG4vLyAncmFzdGVyaXplJyBhbnkgbWVkaWEgcXVlcmllcy5cblxuJG1xLXJlc3BvbnNpdmU6IHRydWU7XG5AaWYgKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1pcy1pZTgpIGFuZCAkZ292dWstaXMtaWU4KSB7XG4gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbn1cblxuLy8gVGhpcyBpcyBhIGhvcnJpYmxlLCBob3JyaWJsZSBoYWNrIHRvIHByZXZlbnQgdGhlICdkZXYgbW9kZScgQ1NTIHRvIGRpc3BsYXlcbi8vIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgZnJvbSBiZWluZyBpbmNsdWRlZCBtdWx0aXBsZSB0aW1lcy5cbi8vXG4vLyBXZSBjYW4ndCB1c2UgdGhlIGBleHBvcnRzYCBtaXhpbiBmb3IgdGhpcyBiZWNhdXNlIGltcG9ydCBkaXJlY3RpdmVzIGNhbm5vdCBiZVxuLy8gdXNlZCB3aXRoaW4gY29udHJvbCBkaXJlY3RpdmVzIPCfmKBcbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgJHNhc3MtbXEtYWxyZWFkeS1pbmNsdWRlZCB7XG4gICRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKTtcbn1cblxuQGltcG9ydCBcIi4uL3ZlbmRvci9zYXNzLW1xXCI7XG5cbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IHRydWU7XG5cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEhlbHBlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gTWVkaWEgUXVlcnlcbi8vL1xuLy8vIFRoaXMgaXMgYSBjdXJyZW50bHkgYSB3cmFwcGVyIGZvciBzYXNzLW1xIC0gYWJzdHJhY3RlZCBzbyB0aGF0IHdlIGNhblxuLy8vIHJlcGxhY2UgaXQgaW4gdGhlIGZ1dHVyZSBpZiB3ZSBzbyBjaG9vc2UuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIFtmYWxzZV0gLSBPbmUgb2YgJGdvdnVrLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgW2ZhbHNlXSAtIE9uZSBvZiAkZ292dWstYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgW2ZhbHNlXSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSBbYWxsXSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIG1xIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyBbJGdvdnVrLWJyZWFrcG9pbnRzXVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCBbJGdvdnVrLWllOC1icmVha3BvaW50XVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtCb29sZWFufSAkcmVzcG9uc2l2ZSBbJGdvdnVrLWlzLWllOF1cbi8vL1xuLy8vIEBjb250ZW50IHN0eWxpbmcgcnVsZXMsIHdyYXBwZWQgaW50byBhIEBtZWRpYSBxdWVyeSB3aGVuICRyZXNwb25zaXZlIGlzIHRydWVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbWVkaWEtcXVlcnkoJGFyZ3MuLi4pIHtcbiAgQGluY2x1ZGUgbXEoJGFyZ3MuLi4pIHtcbiAgICBAY29udGVudDtcbiAgfTtcbn1cbiIsIi8vIG1xKCkgdjQuMC4yXG4vLyBzYXNzLW1xL3Nhc3MtbXFcblxuLy8gc2Fzcy1saW50OmRpc2FibGUtYWxsXG5cbkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGFuZCAkbWVkaWEtdHlwZSAhPSAncHJpbnQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xuICAgICRsZXNzOiAgKCk7XG4gICAgJGVxdWFsOiAoKTtcbiAgICAkbGFyZ2U6ICgpO1xuXG4gICAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xuXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxhcmdlOiBhcHBlbmQoJGxhcmdlLCAkaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAgICRrZXk6IG50aCgkbWFwLWtleXMsICRpbmRleCk7XG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcblxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcbn1cblxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgKCRtcS1zaG93LWJyZWFrcG9pbnRzKSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbi8vL1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBib2R5OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cblxuLy8gc2Fzcy1saW50OmVuYWJsZS1hbGxcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlIHRoZSBoZWlnaHQgb2YgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGVcbi8vL1xuLy8vIE11bHRpcGx5aW5nIGhhbGYgdGhlIGxlbmd0aCBvZiB0aGUgYmFzZSBvZiBhbiBlcXVpbGF0ZXJhbCB0cmlhbmdsZSBieSB0aGVcbi8vLyBzcXVhcmUgcm9vdCBvZiB0aHJlZSBnaXZlcyB1cyBpdHMgaGVpZ2h0LiBXZSB1c2UgMS43MzIgYXMgYW4gYXBwcm94aW1hdGlvbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIExlbmd0aCBvZiB0aGUgYmFzZSBvZiB0aGUgdHJpYW5nbGVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IENhbGN1bGF0ZWQgaGVpZ2h0IG9mIHRoZSB0cmlhbmdsZVxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AZnVuY3Rpb24gX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSkge1xuICAkc3F1YXJlLXJvb3Qtb2YtdGhyZWU6IDEuNzMyO1xuXG4gIEByZXR1cm4gKCRiYXNlIC8gMikgKiAkc3F1YXJlLXJvb3Qtb2YtdGhyZWU7XG59XG5cbi8vLyBBcnJvdyBtaXhpblxuLy8vXG4vLy8gR2VuZXJhdGUgQXJyb3dzICh0cmlhbmdsZXMpIGJ5IHVzaW5nIGEgbWl4IG9mIHRyYW5zcGFyZW50ICgxKSBhbmQgY29sb3VyZWRcbi8vLyBib3JkZXJzLiBUaGUgY29sb3VyZWQgYm9yZGVycyBpbmhlcml0IHRoZSB0ZXh0IGNvbG91ciBvZiB0aGUgZWxlbWVudCAoMikuXG4vLy9cbi8vLyBFbnN1cmUgdGhlIGFycm93IGlzIHJlbmRlcmVkIGNvcnJlY3RseSBpZiBicm93c2VyIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4gYnlcbi8vLyBwcm92aWRpbmcgYSBjbGlwIHBhdGggKDMpLiBXaXRob3V0IHRoaXMgdGhlIHRyYW5zcGFyZW50IGJvcmRlcnMgYXJlXG4vLy8gb3ZlcnJpZGRlbiB0byBiZWNvbWUgdmlzaWJsZSB3aGljaCByZXN1bHRzIGluIGEgc3F1YXJlLlxuLy8vXG4vLy8gV2UgbmVlZCBib3RoIGJlY2F1c2Ugb2xkZXIgYnJvd3NlcnMgZG8gbm90IHN1cHBvcnQgY2xpcC1wYXRoLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gLSBEaXJlY3Rpb24gZm9yIGFycm93OiB1cCwgcmlnaHQsIGRvd24sIGxlZnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gTGVuZ3RoIG9mIHRoZSB0cmlhbmdsZSAnYmFzZScgc2lkZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFtudWxsXSAtIEhlaWdodCBvZiB0cmlhbmdsZS4gT21pdCBmb3IgZXF1aWxhdGVyYWwuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IFtibG9ja10gLSBDU1MgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgYXJyb3dcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uLCAkYmFzZSwgJGhlaWdodDogbnVsbCwgJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuXG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgLy8gMVxuXG4gICRwZXJwZW5kaWN1bGFyOiAkYmFzZSAvIDI7XG5cbiAgQGlmICgkaGVpZ2h0ID09IG51bGwpIHtcbiAgICAkaGVpZ2h0OiBfZ292dWstZXF1aWxhdGVyYWwtaGVpZ2h0KCRiYXNlKTtcbiAgfVxuXG4gIEBpZiAkZGlyZWN0aW9uID09IFwidXBcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAwICRwZXJwZW5kaWN1bGFyICRoZWlnaHQgJHBlcnBlbmRpY3VsYXI7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJyaWdodFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSA1MCUsIDAlIDEwMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDUwJSwgMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJHBlcnBlbmRpY3VsYXIgMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0O1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImRvd25cIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDUwJSAxMDAlLCAxMDAlIDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgNTAlIDEwMCUsIDEwMCUgMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgJHBlcnBlbmRpY3VsYXIgMCAkcGVycGVuZGljdWxhcjtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDEwMCUsIDEwMCUgMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAxMDAlLCAxMDAlIDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkcGVycGVuZGljdWxhciAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyIDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIkludmFsaWQgYXJyb3cgZGlyZWN0aW9uOiBleHBlY3RlZCBgdXBgLCBgcmlnaHRgLCBgZG93bmAgb3IgYGxlZnRgLCBnb3QgYCN7JGRpcmVjdGlvbn1gXCI7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gU2luZ2xlIHBvaW50IHNwYWNpbmdcbi8vL1xuLy8vIFJldHVybnMgbWVhc3VyZW1lbnQgY29ycmVzcG9uZGluZyB0byB0aGUgc3BhY2luZyBwb2ludCByZXF1ZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgc3BhY2luZyBzY2FsZSAoc2V0IGluIGBzZXR0aW5ncy9fc3BhY2luZy5zY2NzYClcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IFNwYWNpbmcgTWVhc3VyZW1lbnQgZWcuIDEwcHhcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg1KTtcbi8vLyAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpICFpbXBvcnRhbnQ7IC8vIGlmIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZFxuLy8vICAgfVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1zcGFjaW5nKCRzcGFjaW5nLXBvaW50KSB7XG5cbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRzcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICsgXCIjeyRhY3R1YWwtaW5wdXQtdHlwZX0uXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgdmFyaWFibGUgYCN7JHNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSBzcGFjaW5nIHNjYWxlIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYC5cIjtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLWdldCgkZ292dWstc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KTtcbn1cblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIHNwYWNpbmcgKGVpdGhlciBwYWRkaW5nIG9yIG1hcmdpbiwgZGVwZW5kaW5nIG9uIGAkcHJvcGVydHlgKVxuLy8vIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXNcbi8vLyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50IGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gVG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nLCB1c2UgJ2dvdnVrLXJlc3BvbnNpdmUtbWFyZ2luJyBvclxuLy8vICdnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcnIG1peGluc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nIGJ5XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJHByb3BlcnR5LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG5cbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICBAaWYgJGFjdHVhbC1pbnB1dC10eXBlICE9IFwibnVtYmVyXCIge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhIFwiICsgXCIjeyRhY3R1YWwtaW5wdXQtdHlwZX0uXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgcG9pbnQgYCN7JHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlIFwiXG4gICAgKyBcInJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuXCI7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgcmV0dXJuIHZhbHVlIGZyb20gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgIGlzIGEgbWFwLlxuICAkc2NhbGUtbWFwOiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICAkYWN0dWFsLW1hcC10eXBlOiB0eXBlLW9mKCRzY2FsZS1tYXApO1xuICBAaWYgJGFjdHVhbC1tYXAtdHlwZSAhPSBcIm1hcFwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICsgXCIjeyRhY3R1YWwtbWFwLXR5cGV9LiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIG1hcCB0byBzZXQgdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2ApXCI7XG4gIH1cblxuICAvLyBMb29wIHRocm91Z2ggZWFjaCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LXZhbHVlIGluICRzY2FsZS1tYXAge1xuXG4gICAgQGlmICgkYWRqdXN0bWVudCkge1xuICAgICAgJGJyZWFrcG9pbnQtdmFsdWU6ICRicmVha3BvaW50LXZhbHVlICsgJGFkanVzdG1lbnQ7XG4gICAgfVxuXG4gICAgLy8gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4gICAgQGlmICRicmVha3BvaW50ID09IG51bGwge1xuXG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAjeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufTogJGJyZWFrcG9pbnQtdmFsdWUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICAgI3skcHJvcGVydHl9OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlc3BvbnNpdmUgbWFyZ2luXG4vLy9cbi8vLyBBZGRzIHJlc3BvbnNpdmUgbWFyZ2luIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXG4vLy8gc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lcyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50XG4vLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nIGJ5XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImxlZnRcIiwgJGFkanVzdG1lbnQ6IDFweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJGRpcmVjdGlvbjogXCJhbGxcIiwgJGltcG9ydGFudDogZmFsc2UsICRhZGp1c3RtZW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsIFwibWFyZ2luXCIsICRkaXJlY3Rpb24sICRpbXBvcnRhbnQsICRhZGp1c3RtZW50KTtcbn1cblxuLy8vIFJlc3BvbnNpdmUgcGFkZGluZ1xuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIHBhZGRpbmcgYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmVcbi8vLyBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnRcbi8vLyBicmVha3BvaW50cy4gV3JhcHBlciBmb3IgdGhlIGBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nYCBtaXhpbi5cbi8vL1xuLy8vIEBzZWUge21peGlufSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vLyAgIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDYsIFwibGVmdFwiLCAkYWRqdXN0bWVudDogMXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgXCJwYWRkaW5nXCIsICRkaXJlY3Rpb24sICRpbXBvcnRhbnQsICRhZGp1c3RtZW50KTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG5AaW1wb3J0IFwiLi4vdG9vbHMvcHgtdG8tcmVtXCI7XG5cbi8vLyAnQ29tbW9uIHR5cG9ncmFwaHknIGhlbHBlclxuLy8vXG4vLy8gU2V0cyB0aGUgZm9udCBmYW1pbHkgYW5kIGFzc29jaWF0ZWQgcHJvcGVydGllcywgc3VjaCBhcyBmb250IHNtb290aGluZy4gQWxzb1xuLy8vIG92ZXJyaWRlcyB0aGUgZm9udCBmb3IgcHJpbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRmb250LWZhbWlseSBbJGdvdnVrLWZvbnQtZmFtaWx5XSBGb250IGZhbWlseSB0byB1c2Vcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS1jb21tb24oJGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHkpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgLy8gSWYgdXNpbmcgTlRBLCBpbmNsdWRlIHRoZSBmb250LWZhY2UgZGVmaW5pdGlvblxuICBAaWYgKCRnb3Z1ay1mb250LWZhbWlseSA9PSAkZ292dWstZm9udC1mYW1pbHktbnRhKSB7XG4gICAgQGluY2x1ZGUgX2dvdnVrLWZvbnQtZmFjZS1udGE7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LXByaW50O1xuICB9XG59XG5cbi8vLyBUZXh0IGNvbG91ciBoZWxwZXJcbi8vL1xuLy8vIFNldHMgdGhlIHRleHQgY29sb3VyLCBpbmNsdWRpbmcgYSBzdWl0YWJsZSBvdmVycmlkZSBmb3IgcHJpbnQuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdGV4dC1jb2xvdXIge1xuICBjb2xvcjogJGdvdnVrLXRleHQtY29sb3VyO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGNvbG9yOiAkZ292dWstcHJpbnQtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIFJlZ3VsYXIgZm9udCB3ZWlnaHQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXIoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgZm9udC13ZWlnaHQ6ICRnb3Z1ay1mb250LXdlaWdodC1yZWd1bGFyIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbn1cblxuLy8vIEJvbGQgZm9udCB3ZWlnaHQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgZm9udC13ZWlnaHQ6ICRnb3Z1ay1mb250LXdlaWdodC1ib2xkIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbn1cblxuLy8vIENvbnZlcnQgbGluZS1oZWlnaHRzIHNwZWNpZmllZCBpbiBwaXhlbHMgaW50byBhIHJlbGF0aXZlIHZhbHVlLCB1bmxlc3Ncbi8vLyB0aGV5IGFyZSBhbHJlYWR5IHVuaXQtbGVzcyAoYW5kIHRodXMgYWxyZWFkeSB0cmVhdGVkIGFzIHJlbGF0aXZlIHZhbHVlcylcbi8vLyBvciB0aGUgdW5pdHMgZG8gbm90IG1hdGNoIHRoZSB1bml0cyB1c2VkIGZvciB0aGUgZm9udCBzaXplLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCBMaW5lIGhlaWdodFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIEZvbnQgc2l6ZVxuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGxpbmUgaGVpZ2h0IGFzIGVpdGhlciBhIHJlbGF0aXZlIHZhbHVlIG9yIHVubW9kaWZpZWRcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIF9nb3Z1ay1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkbGluZS1oZWlnaHQpIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gdW5pdCgkZm9udC1zaXplKSB7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplO1xuICB9XG5cbiAgQHJldHVybiAkbGluZS1oZWlnaHQ7XG59XG5cbi8vLyBSZXNwb25zaXZlIHR5cG9ncmFwaHkgaGVscGVyXG4vLy9cbi8vLyBUYWtlcyBhICdmb250IG1hcCcgYXMgYW4gYXJndW1lbnQgYW5kIHVzZXMgaXQgdG8gY3JlYXRlIGZvbnQtc2l6ZSBhbmRcbi8vLyBsaW5lLWhlaWdodCBkZWNsYXJhdGlvbnMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50cywgYW5kIGZvciBwcmludC5cbi8vL1xuLy8vIEV4YW1wbGUgZm9udCBtYXA6XG4vLy9cbi8vLyAkbXktZm9udC1tYXA6IChcbi8vLyAgIG51bGw6IChcbi8vLyAgICAgZm9udC1zaXplOiAxNnB4LFxuLy8vICAgICBsaW5lLWhlaWdodDogMjBweFxuLy8vICAgKSxcbi8vLyAgIHRhYmxldDogKFxuLy8vICAgICBmb250LXNpemU6IDE5cHgsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAyNXB4XG4vLy8gICApLFxuLy8vICAgcHJpbnQ6IChcbi8vLyAgICAgZm9udC1zaXplOiAxNHB0LFxuLy8vICAgICBsaW5lLWhlaWdodDogMS4xNVxuLy8vICAgKVxuLy8vICk7XG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJGZvbnQtbWFwIC0gRm9udCBtYXBcbi8vLyBAcGFyYW0ge051bWJlcn0gJG92ZXJyaWRlLWxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBOb24gcmVzcG9uc2l2ZSBjdXN0b20gbGluZVxuLy8vICAgaGVpZ2h0LiBPbWl0IHRvIHVzZSB0aGUgbGluZSBoZWlnaHQgZnJvbSB0aGUgZm9udCBtYXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IGZhbHNlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUsICRzaXplKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBmb250IHNpemUgYCN7JHNpemV9YCAtIGV4cGVjdGVkIGEgcG9pbnQgZnJvbSB0aGUgdHlwb2dyYXBoeSBzY2FsZS5cIjtcbiAgfVxuXG4gICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC1tYXAgaW4gJGZvbnQtbWFwIHtcbiAgICAkZm9udC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJmb250LXNpemVcIik7XG4gICAgJGZvbnQtc2l6ZS1yZW06IGdvdnVrLXB4LXRvLXJlbSgkZm9udC1zaXplKTtcblxuICAgICRsaW5lLWhlaWdodDogX2dvdnVrLWxpbmUtaGVpZ2h0KFxuICAgICAgJGxpbmUtaGVpZ2h0OiBpZigkb3ZlcnJpZGUtbGluZS1oZWlnaHQsXG4gICAgICAgICRvdmVycmlkZS1saW5lLWhlaWdodCxcbiAgICAgICAgbWFwLWdldCgkYnJlYWtwb2ludC1tYXAsIFwibGluZS1oZWlnaHRcIilcbiAgICAgICksXG4gICAgICAkZm9udC1zaXplOiAkZm9udC1zaXplXG4gICAgKTtcblxuICAgIC8vIE1hcmsgcnVsZXMgYXMgIWltcG9ydGFudCBpZiAkaW1wb3J0YW50IGlzIHRydWUgLSB0aGlzIHdpbGwgcmVzdWx0IGluXG4gICAgLy8gdGhlc2UgdmFyaWFibGVzIGJlY29taW5nIHN0cmluZ3MsIHNvIHRoaXMgbmVlZHMgdG8gaGFwcGVuICphZnRlciogdGhleVxuICAgIC8vIGFyZSB1c2VkIGluIGNhbGN1bGF0aW9uc1xuICAgICRmb250LXNpemU6ICRmb250LXNpemUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICRmb250LXNpemUtcmVtOiAkZm9udC1zaXplLXJlbSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gICAgQGlmICRicmVha3BvaW50ID09IG51bGwge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgICAgQGlmICRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW0ge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcmVtOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgICAgfVxuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICB9IEBlbHNlaWYgJGJyZWFrcG9pbnQgPT0gXCJwcmludFwiIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICAgICAgICBAaWYgJGdvdnVrLXR5cG9ncmFwaHktdXNlLXJlbSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTsgLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAgICAgfVxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gRm9udCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFNpemUgb2YgdGhlIGZvbnQgYXMgaXQgd291bGQgYXBwZWFyIG9uIGRlc2t0b3AgLVxuLy8vICAgdXNlcyB0aGUgcmVzcG9uc2l2ZSBmb250IHNpemUgbWFwXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3ZWlnaHQgW3JlZ3VsYXJdIC0gV2VpZ2h0OiBgYm9sZGAgb3IgYHJlZ3VsYXJgXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdGFidWxhciBbZmFsc2VdIC0gV2hldGhlciB0byB1c2UgdGFidWxhciBudW1iZXJzIG9yIG5vdFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgW2ZhbHNlXSAtIExpbmUtaGVpZ2h0LCBpZiBvdmVycmlkaW5nIHRoZSBkZWZhdWx0XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9udCgkc2l6ZSwgJHdlaWdodDogcmVndWxhciwgJHRhYnVsYXI6IGZhbHNlLCAkbGluZS1oZWlnaHQ6IGZhbHNlKSB7XG4gIEBpZiAkdGFidWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb24oJGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktdGFidWxhcik7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICB9XG5cbiAgQGlmICR3ZWlnaHQgPT0gcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgfSBAZWxzZSBpZiAkd2VpZ2h0ID09IGJvbGQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICBAaWYgJHNpemUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuLy8vIEhpZGUgYW4gZWxlbWVudCB2aXN1YWxseSwgYnV0IGhhdmUgaXQgYXZhaWxhYmxlIGZvciBzY3JlZW4gcmVhZGVyc1xuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbi8vLyAgIC0gSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHksIEpvbmF0aGFuIFNub29rLCBGZWJydWFyeSAyMDExXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi85ZjEzNjk1ZDIxZmY5MmM1NWM3OGRmYTlmMTZiYjAyYTFiNmU5MTFmL3NyYy9jc3MvbWFpbi5jc3MjTDEyMS1MMTU4XG4vLy8gICAtIGg1YnAvaHRtbDUtYm9pbGVycGxhdGUgLSBUaGFua3MhXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW3RydWVdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXZpc3VhbGx5LWhpZGRlbigkaW1wb3J0YW50OiB0cnVlKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgd2lkdGg6IDFweCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIGhlaWdodDogMXB4IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgLy8gSWYgbWFyZ2luIGlzIHNldCB0byBhIG5lZ2F0aXZlIHZhbHVlIGl0IGNhbiBjYXVzZSB0ZXh0IHRvIGJlIGFubm91bmNlZCBpbiB0aGUgd3Jvbmcgb3JkZXIgaW4gVm9pY2VPdmVyIGZvciBPU1hcbiAgbWFyZ2luOiAwIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgcGFkZGluZzogMCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbiBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCkgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICBib3JkZXI6IDAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xufVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzIHdoaWxzdFxuLy8vIGFsbG93aW5nIHRoZSBlbGVtZW50IHRvIGJlIGZvY3VzZWQgd2hlbiBuYXZpZ2F0ZWQgdG8gdmlhIHRoZSBrZXlib2FyZCAoZS5nLlxuLy8vIGZvciB0aGUgc2tpcCBsaW5rKVxuLy8vXG4vLy8gVGhpcyBpcyBzbGlnaHRseSBsZXNzIG9waW5pb25hdGVkIGFib3V0IGJvcmRlcnMgYW5kIHBhZGRpbmcgdG8gbWFrZSBpdFxuLy8vIGVhc2llciB0byBzdHlsZSB0aGUgZm9jdXNzZWQgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbdHJ1ZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSgkaW1wb3J0YW50OiB0cnVlKSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgd2lkdGg6IDFweCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIGhlaWdodDogMXB4IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgLy8gSWYgbWFyZ2luIGlzIHNldCB0byBhIG5lZ2F0aXZlIHZhbHVlIGl0IGNhbiBjYXVzZSB0ZXh0IHRvIGJlIGFubm91bmNlZCBpbiB0aGUgd3Jvbmcgb3JkZXIgaW4gVm9pY2VPdmVyIGZvciBPU1hcbiAgbWFyZ2luOiAwIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICBvdmVyZmxvdzogaGlkZGVuIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gIC13ZWJraXQtY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBwb3NpdGlvbjogc3RhdGljIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAgIHdpZHRoOiBhdXRvIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgICBoZWlnaHQ6IGF1dG8gaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgIG1hcmdpbjogaW5oZXJpdCBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG5cbiAgICBvdmVyZmxvdzogdmlzaWJsZSBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgY2xpcDogYXV0byBpZmYoJGltcG9ydGFudCwgIWltcG9ydGFudCk7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IG5vbmUgaWZmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBub25lIGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcblxuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0IGlmZigkaW1wb3J0YW50LCAhaW1wb3J0YW50KTtcbiAgfVxufVxuIiwiQGltcG9ydCBcImxpbmtzXCI7XG5AaW1wb3J0IFwibGlzdHNcIjtcbkBpbXBvcnQgXCJ0ZW1wbGF0ZVwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJzZWN0aW9uLWJyZWFrXCI7XG5AaW1wb3J0IFwiZ2xvYmFsLXN0eWxlc1wiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuXG4gICVnb3Z1ay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1wcmludC1mcmllbmRseTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgLy8gVmFyaWFudCBjbGFzc2VzIHNob3VsZCBhbHdheXMgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAuZ292dWstbGlua1xuICAvLyBjbGFzcywgc28gd2UgZG8gbm90IG5lZWQgdGhlIGNvbW1vbiBsaW5rIHN0eWxlcyBhcyB0aGV5IHdpbGwgYmUgaW5oZXJpdGVkLlxuXG4gIC5nb3Z1ay1saW5rLS1tdXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS10ZXh0LWNvbG91ciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlzdHNcIikge1xuXG4gICVnb3Z1ay1saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gICAgLy8gQWRkIGEgdG9wIG1hcmdpbiBmb3IgbmVzdGVkIGxpc3RzXG4gICAgJWdvdnVrLWxpc3Qge1xuICAgICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstbGlzdCA+IGxpIHtcbiAgICAvLyBMaXN0cyB3aXRob3V0IG51bWJlcnMgb3IgYnVsbGV0cyBzaG91bGQgYWx3YXlzIGhhdmUgZXh0cmEgc3BhY2UgYmV0d2VlblxuICAgIC8vIGxpc3QgaXRlbXMuIExpc3RzIHdpdGggbnVtYmVycyBvciBidWxsZXRzIG9ubHkgaGF2ZSB0aGlzIGV4dHJhIHNwYWNlIG9uXG4gICAgLy8gdGFibGV0IGFuZCBhYm92ZVxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cblxuICAuZ292dWstbGlzdCB7XG4gICAgQGV4dGVuZCAlZ292dWstbGlzdDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gIH1cblxuICAlZ292dWstbGlzdC0tbnVtYmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLWJ1bGxldCA+IGxpLFxuICAlZ292dWstbGlzdC0tbnVtYmVyID4gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLWJ1bGxldDtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLW51bWJlcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29yZS90ZW1wbGF0ZVwiKSB7XG5cbiAgLy8gQXBwbGllZCB0byB0aGUgPGh0bWw+IGVsZW1lbnRcbiAgLmdvdnVrLXRlbXBsYXRlIHtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgcGFnZSBiYWNrZ3JvdW5kIGNvbG91ciB0byB0aGUgc2FtZSBjb2xvdXIgYXMgdXNlZCBieSB0aGVcbiAgICAvLyBmb290ZXIgdG8gZ2l2ZSB0aGUgaWxsdXNpb24gb2YgYSBsb25nIGZvb3Rlci5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuICB9XG5cbiAgLy8gQXBwbGllZCB0byB0aGUgPGJvZHk+IGVsZW1lbnRcbiAgLmdvdnVrLXRlbXBsYXRlX19ib2R5IHtcbiAgICAvLyBUaGUgZGVmYXVsdCBtYXJnaW5zIHNldCBieSB1c2VyLWFnZW50cyBhcmUgbm90IHJlcXVpcmVkIHNpbmNlIHdlIGhhdmUgb3VyXG4gICAgLy8gb3duIGNvbnRhaW5lcnMuXG4gICAgbWFyZ2luOiAwO1xuICAgIC8vIFNldCB0aGUgb3ZlcmFsbCBib2R5IG9mIHRoZSBwYWdlIGJhY2sgdG8gdGhlIHR5cGljYWwgYmFja2dyb3VuZCBjb2xvdXIuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3R5cG9ncmFwaHlcIikge1xuXG4gIC8vIEhlYWRpbmdzXG5cbiAgJWdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXhsO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1sO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1tO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1zO1xuICB9XG5cbiAgLy8gQ2FwdGlvbnMgdG8gYmUgdXNlZCBpbnNpZGUgaGVhZGluZ3NcblxuICAuZ292dWstY2FwdGlvbi14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjcpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstY2FwdGlvbi1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBCb2R5IChwYXJhZ3JhcGhzKVxuXG4gICVnb3Z1ay1ib2R5LWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LWw7XG4gIH1cblxuICAlZ292dWstYm9keS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktbSB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LXMge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktcztcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LXhzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHkteHMge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHkteHM7XG4gIH1cblxuICAvLyBVc2FnZSBhbGlhc2VzXG5cbiAgLy8gVXNpbmcgZXh0ZW5kIHRvIGFsaWFzIG1lYW5zIHdlIGFsc28gaW5oZXJpdCBhbnkgY29udGV4dHVhbCBhZGp1c3RtZW50cyB0aGF0XG4gIC8vIHJlZmVyIHRvIHRoZSAnb3JpZ2luYWwnIGNsYXNzIG5hbWVcblxuICAuZ292dWstYm9keS1sZWFkIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LWw7XG4gIH1cblxuICAuZ292dWstYm9keSB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG5cbiAgLy8gQ29udGV4dHVhbCBhZGp1c3RtZW50c1xuICAvLyBBZGQgdG9wIHBhZGRpbmcgdG8gaGVhZGluZ3MgdGhhdCBhcHBlYXIgZGlyZWN0bHkgYWZ0ZXIgcGFyYWdyYXBocy5cblxuICAlZ292dWstYm9keS1sICArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWJvZHktbSAgKyAlZ292dWstaGVhZGluZy1sLFxuICAlZ292dWstYm9keS1zICArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQsIFwidG9wXCIpO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1ib2R5LW0gKyAlZ292dWstaGVhZGluZy1zLFxuICAlZ292dWstYm9keS1zICsgJWdvdnVrLWhlYWRpbmctcyxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1zIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvc2VjdGlvbi1icmVha1wiKSB7XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAvLyBmaXggZG91YmxlLXdpZHRoIHNlY3Rpb24gYnJlYWsgYW5kIGZvcmNlZCB2aXNpYmxlIHNlY3Rpb24gYnJlYWtcbiAgICAvLyB3aGVuIGNvbWJpbmVkIHdpdGggc3R5bGVzIGZyb20gYWxwaGFnb3YvZWxlbWVudHNcbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX2VsZW1lbnRzKSB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWs7XG4gIH1cblxuICAvLyBTaXplc1xuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXhsO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWw7XG4gIH1cblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tbTtcbiAgfVxuXG4gIC8vIFZpc2libGUgdmFyaWFudFxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZTtcbiAgfVxufVxuIiwiQGltcG9ydCBcImxpbmtzXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuXG5AbWl4aW4gZ292dWstZ2xvYmFsLXN0eWxlcyB7XG4gIGEge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpbms7XG4gIH1cblxuICBwIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cbn1cblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvZ2xvYmFsLXN0eWxlc1wiKSB7XG5cbiAgQGlmICRnb3Z1ay1nbG9iYWwtc3R5bGVzID09IHRydWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWdsb2JhbC1zdHlsZXM7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJmb3JtLWdyb3VwXCI7XG5AaW1wb3J0IFwiZ3JpZFwiO1xuQGltcG9ydCBcIm1haW4td3JhcHBlclwiO1xuQGltcG9ydCBcIndpZHRoLWNvbnRhaW5lclwiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvZm9ybS1ncm91cFwiKSB7XG5cbiAgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZSBtYXJnaW4gZnJvbSBsYXN0IGl0ZW0gaW4gbmVzdGVkIGdyb3Vwc1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb3JtLWdyb3VwLS1lcnJvciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICAgIC8vIFJlc2V0IGVycm9yIHN0eWxlcyBpbiBuZXN0ZWQgZm9ybSBncm91cHMgdGhhdCBtaWdodCBoYXZlIGVycm9yIGNsYXNzXG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvZ3JpZFwiKSB7XG5cbiAgLmdvdnVrLWdyaWQtcm93IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0gKCRnb3Z1ay1ndXR0ZXItaGFsZik7XG4gICAgbWFyZ2luLWxlZnQ6IC0gKCRnb3Z1ay1ndXR0ZXItaGFsZik7XG4gIH1cblxuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbigkd2lkdGgsICRjbGFzczogZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2UgKm11c3QqIGJlIGRlZmluZWQgaW4gYSBzZXBhcmF0ZSBsb29wIGFzIHRoZXkgaGF2ZSB0aGUgc2FtZVxuICAvLyBzcGVjaWZpY2l0eSBhcyB0aGUgbm9uLWJyZWFrcG9pbnQgc3BlY2lmaWMgY2xhc3Nlcywgc28gbmVlZCB0byBhcHBlYXIgYWZ0ZXJcbiAgLy8gdGhlbSBpbiB0aGUgb3V0cHV0dGVkIENTU1xuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofS1mcm9tLWRlc2t0b3Age1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkYXQ6IGRlc2t0b3AsICRjbGFzczogZmFsc2UpXG4gICAgfVxuICB9XG59XG4iLCIvLyBFeGFtcGxlIHVzYWdlIHdpdGggQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDwhLS0gQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3MgYXJlIHBsYWNlZCBpbiBoZXJlLiAtLT5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlclwiPlxuLy8gICAgICAgPCEtLSBXcmFwcGVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHlvdXIgcGFnZSB3aGljaCBhcHBsaWVzIHBhZGRpbmdcbi8vICAgICAgICAgICAgdG8gdGhlIHRvcCAvIGJvdHRvbSAtLT5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGhvdXQgQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuXG5cbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXIge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJ0b3BcIik7XG4gIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImJvdHRvbVwiKTtcbiAgLy8gSW4gSUUxMSB0aGUgYG1haW5gIGVsZW1lbnQgY2FuIGJlIHVzZWQsIGJ1dCBpcyBub3QgcmVjb2duaXplZCAg4oCTXG4gIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gIC8vIHNvIGl0IHVzZXMgQ1NTIGluaXRpYWwgdmFsdWUsIHdoaWNoIGlzIGlubGluZS5cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIFVzZSBnb3Z1ay1tYWluLXdyYXBwZXItLWwgd2hlbiB5b3UgcGFnZSBkb2VzIG5vdCBoYXZlIEJyZWFkY3J1bWJzLCBwaGFzZSBiYW5uZXJzIG9yIGJhY2sgbGlua3NcbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoOCwgXCJ0b3BcIik7XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlcjtcbiAgfVxuXG4gIC5nb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlci0tbDtcbiAgfVxufVxuIiwiQG1peGluIGdvdnVrLXdpZHRoLWNvbnRhaW5lciB7XG4gIC8vIExpbWl0IHRoZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIHRvIHRoZSBwYWdlIHdpZHRoXG4gIG1heC13aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGg7XG5cbiAgLy8gT24gbW9iaWxlLCBhZGQgaGFsZiB3aWR0aCBndXR0ZXJzXG4gIG1hcmdpbjogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG5cbiAgLy8gT24gdGFibGV0LCBhZGQgZnVsbCB3aWR0aCBndXR0ZXJzXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBtYXJnaW46IDAgJGdvdnVrLWd1dHRlcjtcbiAgfVxuXG4gIC8vIEFzIHNvb24gYXMgdGhlIHZpZXdwb3J0IGlzIGdyZWF0ZXIgdGhhbiB0aGUgd2lkdGggb2YgdGhlIHBhZ2UgcGx1cyB0aGVcbiAgLy8gZ3V0dGVycywganVzdCBjZW50cmUgdGhlIGNvbnRlbnQgaW5zdGVhZCBvZiBhZGRpbmcgZ3V0dGVycy5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGFuZDogXCIobWluLXdpZHRoOiAjeygkZ292dWstcGFnZS13aWR0aCArICRnb3Z1ay1ndXR0ZXIgKiAyKX0pXCIpIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgd2lkdGg6ICRnb3Z1ay1wYWdlLXdpZHRoO1xuICAgIC8vIFNpbmNlIG1lZGlhIHF1ZXJpZXMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gSUU4LFxuICAgIC8vIHdlIG5lZWQgdG8gZHVwbGljYXRlIHRoaXMgbWFyZ2luIHRoYXQgY2VudGVycyB0aGUgcGFnZS5cbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy93aWR0aC1jb250YWluZXJcIikge1xuICAuZ292dWstd2lkdGgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay13aWR0aC1jb250YWluZXI7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJhY2NvcmRpb24vYWNjb3JkaW9uXCI7XG5AaW1wb3J0IFwiYmFjay1saW5rL2JhY2stbGlua1wiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJzL2JyZWFkY3J1bWJzXCI7XG5AaW1wb3J0IFwiYnV0dG9uL2J1dHRvblwiO1xuQGltcG9ydCBcImNoZWNrYm94ZXMvY2hlY2tib3hlc1wiO1xuQGltcG9ydCBcImNoYXJhY3Rlci1jb3VudC9jaGFyYWN0ZXItY291bnRcIjtcbkBpbXBvcnQgXCJzdW1tYXJ5LWxpc3Qvc3VtbWFyeS1saXN0XCI7XG5AaW1wb3J0IFwiZGF0ZS1pbnB1dC9kYXRlLWlucHV0XCI7XG5AaW1wb3J0IFwiZGV0YWlscy9kZXRhaWxzXCI7XG5AaW1wb3J0IFwiZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiZXJyb3Itc3VtbWFyeS9lcnJvci1zdW1tYXJ5XCI7XG5AaW1wb3J0IFwiZmllbGRzZXQvZmllbGRzZXRcIjtcbkBpbXBvcnQgXCJmaWxlLXVwbG9hZC9maWxlLXVwbG9hZFwiO1xuQGltcG9ydCBcImZvb3Rlci9mb290ZXJcIjtcbkBpbXBvcnQgXCJoaW50L2hpbnRcIjtcbkBpbXBvcnQgXCJoZWFkZXIvaGVhZGVyXCI7XG5AaW1wb3J0IFwiaW5wdXQvaW5wdXRcIjtcbkBpbXBvcnQgXCJpbnNldC10ZXh0L2luc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJsYWJlbC9sYWJlbFwiO1xuQGltcG9ydCBcInBhbmVsL3BhbmVsXCI7XG5AaW1wb3J0IFwicGhhc2UtYmFubmVyL3BoYXNlLWJhbm5lclwiO1xuQGltcG9ydCBcInRhYnMvdGFic1wiO1xuQGltcG9ydCBcInRhZy90YWdcIjtcbkBpbXBvcnQgXCJyYWRpb3MvcmFkaW9zXCI7XG5AaW1wb3J0IFwic2VsZWN0L3NlbGVjdFwiO1xuQGltcG9ydCBcInNraXAtbGluay9za2lwLWxpbmtcIjtcbkBpbXBvcnQgXCJ0YWJsZS90YWJsZVwiO1xuQGltcG9ydCBcInRleHRhcmVhL3RleHRhcmVhXCI7XG5AaW1wb3J0IFwid2FybmluZy10ZXh0L3dhcm5pbmctdGV4dFwiO1xuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9hY2NvcmRpb25cIikge1xuXG4gIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gQm9yZGVycyBiZXR3ZWVuIGFjY29yZGlvbiBzZWN0aW9uc1xuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMDsgLy8gT3ZlcnJpZGUgYnJvd3NlciBkZWZhdWx0XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgYnJvd3NlciBkZWZhdWx0XG4gIH1cblxuICAvLyBCdXR0b25zIHdpdGhpbiB0aGUgc2VjdGlvbnMgZG9u4oCZdCBuZWVkIGRlZmF1bHQgc3R5bGluZ1xuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1zdW1tYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGJvdHRvbSBtYXJnaW4gZnJvbSB0aGUgbGFzdCBpdGVtIGluc2lkZSB0aGUgY29udGVudFxuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWNvbnRlbnQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIEphdmFTY3JpcHQgZW5hYmxlZFxuICAuanMtZW5hYmxlZCB7XG5cbiAgICAuZ292dWstYWNjb3JkaW9uIHtcbiAgICAgIC8vIEJvcmRlciBhdCB0aGUgYm90dG9tIG9mIHRoZSB3aG9sZSBhY2NvcmRpb25cbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBCb3JkZXJzIGJldHdlZW4gYWNjb3JkaW9uIHNlY3Rpb25zXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBib2R5IG9mIGNvbGxhcHNlZCBzZWN0aW9uc1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDMsIFwidG9wXCIpO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDMsIFwiYm90dG9tXCIpO1xuICAgIH1cblxuICAgIC8vIFNob3cgdGhlIGJvZHkgb2YgZXhwYW5kZWQgc2VjdGlvbnNcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLS1leHBhbmRlZCAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBpcyBzdHlsZWQgdG8gbG9vayBsaWtlIGEgbGluayBub3QgYSBidXR0b25cbiAgICAuZ292dWstYWNjb3JkaW9uX19vcGVuLWFsbCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZWN0aW9uIGhlYWRlcnMgaGF2ZSBhIHBvaW50ZXIgY3Vyc29yIGFzIGFuIGFkZGl0aW9uYWwgYWZmb3JkYW5jZVxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIFNhZmUgYXJlYSBvbiB0aGUgcmlnaHQgdG8gYXZvaWQgY2xhc2hpbmcgd2l0aCBpY29uXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC8vIFNlY3Rpb24gaGVhZGVycyBoYXZlIGEgZ3JleSBiYWNrZ3JvdW5kIG9uIGhvdmVyIGFzIGFuIGFkZGl0aW9uYWwgYWZmb2RhbmNlXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiZ3JleS00XCIpO1xuICAgICAgLy8gRm9yIGRldmljZXMgdGhhdCBjYW4ndCBob3ZlciBzdWNoIGFzIHRvdWNoIGRldmljZXMsXG4gICAgICAvLyByZW1vdmUgaG92ZXIgc3RhdGUgYXMgaXQgY2FuIGJlIHN0dWNrIGluIHRoYXQgc3RhdGUgKGlPUykuXG4gICAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaXRpYWw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0dGluZyBmb2N1cyBzdHlsZXMgb24gaGVhZGVyIHNvIHRoYXQgc3VtbWFyeSB0aGF0IGlzIG5vdCBwYXJ0IG9mIHRoZSBidXR0b24gaXMgaW5jbHVkZWQgaW4gZm9jdXNcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRlci0tZm9jdXNlZCB7XG4gICAgICAvLyBUaGVzZSByZXBsaWNhdGUgQG1peGluIGdvdnVrLWZvY3VzYWJsZSAodGhlIG1peGluIGNhbid0IGJlIHVzZWQgYXMgdGhlIGhlYWRlciBkb2Vzbid0IGdldCB0aGUgZm9jdXMpXG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgIH1cblxuICAgIC8vIEJ1dHRvbnMgd2l0aGluIHRoZSBoZWFkZXJzIGRvbuKAmXQgbmVlZCBkZWZhdWx0IHN0eWxpbmdcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAvLyBIZWFkaW5ncyBpbiBzZWN0aW9uIGhlYWRlcnMgaGF2ZSBsaW5rIGNvbG91cnMgYXMgYW4gYWRkaXRpb25hbCBhZmZvZGFuY2VcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXh0ZW5kIHRoZSB0b3VjaCBhcmVhIG9mIHRoZSBidXR0b24gdG8gc3BhbiB0aGUgc2VjdGlvbiBoZWFkZXJcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2NvbnRyb2xzIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC8vIERpc3BsYXkgYW4gaWNvbiB0byB0aGUgcmlnaHQgb2YgZWFjaCBoZWFkZXIgdG8gaW5kaWNhdGUgb3Blbi9jbG9zZWQgc3RhdHVzLFxuICAgIC8vIGFuZCBhcyBhbiBhZGRpdGlvbmFsIGFmZm9yZGFuY2UuXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YWZ0ZXIsXG4gICAgLmdvdnVrLWFjY29yZGlvbl9faWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMjUlO1xuICAgICAgaGVpZ2h0OiAyNSU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIGJhciBzaG91bGQgYmUgaGlkZGVuIHdoZW4gc2VjdGlvbiBpcyBvcGVuLCB0byBkaXNwbGF5IGEgJy0nIGljb25cbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLS1leHBhbmRlZCAuZ292dWstYWNjb3JkaW9uX19pY29uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JhY2stbGlua1wiKSB7XG5cbiAgLmdvdnVrLWJhY2stbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcblxuICAgIC8vIEFsbG93IHNwYWNlIGZvciB0aGUgYXJyb3dcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG5cbiAgICAvLyBVc2UgYm9yZGVyLWJvdHRvbSByYXRoZXIgdGhhbiB0ZXh0LWRlY29yYXRpb24gc28gdGhhdCB0aGUgYXJyb3cgaXNcbiAgICAvLyB1bmRlcmxpbmVkIGFzIHdlbGwuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gICAgLy8gVW5kZXJsaW5lIGlzIHByb3ZpZGVkIGJ5IGEgYm90dG9tIGJvcmRlclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgIC8vIFByZXBlbmQgbGVmdCBwb2ludGluZyBhcnJvd1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGxlZnQsICRiYXNlOiAxMHB4LCAkaGVpZ2h0OiA2cHgpO1xuXG4gICAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgICAvLyBWZXJ0aWNhbGx5IGFsaWduIHdpdGggdGhlIHBhcmVudCBlbGVtZW50XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIHRvcDogLTFweDtcbiAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgbGVmdDogMDtcblxuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBiYXNlbGluZVxuXG4gIC5nb3Z1ay1iYWNrLWxpbms6YmVmb3JlIHtcbiAgICAkb2Zmc2V0OiAxcHg7XG5cbiAgICB0b3A6ICRvZmZzZXQgKiAtMTtcbiAgICBib3R0b206ICRvZmZzZXQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JyZWFkY3J1bWJzXCIpIHtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gKGV4Y2x1ZGluZyBib3JkZXIpXG4gICRjaGV2cm9uLXNpemU6IDdweDtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci13aWR0aDogMXB4O1xuXG4gIC8vIENvbG91ciBvZiBjaGV2cm9uXG4gICRjaGV2cm9uLWJvcmRlci1jb2xvdXI6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgLy8gQ2FsY3VsYXRlZCBhbHRpdHVkZSAo4paz4oaVKSBvZiB0aGUgcmlnaHQtYW5nbGVkIGlzb3NjZWxlcyBjaGV2cm9uIHdpdGggc2lkZXNcbiAgLy8gb2YgbGVuZ3RoIDggKDdweCArIDFweCBib3JkZXIpOlxuICAvL1xuICAvLyDiiJooOMKyICsgOMKyKSAqIDAuNSDiiYUgNS42NTVcbiAgJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZDogNS42NTVweDtcblxuICAuZ292dWstYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbSB7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIEFkZCBib3RoIG1hcmdpbiBhbmQgcGFkZGluZyBzdWNoIHRoYXQgdGhlIGNoZXZyb24gYXBwZWFycyBjZW50cmFsbHlcbiAgICAvLyBiZXR3ZWVuIGVhY2ggYnJlYWRjcnVtYiBpdGVtXG4gICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpICsgJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZDtcblxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gQ3JlYXRlIGEgY2hldnJvbiB1c2luZyBhIGJveCB3aXRoIGJvcmRlcnMgb24gdHdvIHNpZGVzLCByb3RhdGVkIDQ1ZGVnLlxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAvLyBCZWdpbiBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcbiAgICAgIC8vIFRoZXNlIHNob3VsZCBiZSByZXZlcnRlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdFxuICAgICAgLy8gYmFzZWxpbmVcblxuICAgICAgLy8gdG9wOiAwO1xuICAgICAgLy8gYm90dG9tOiAwO1xuXG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IDFweDtcblxuICAgICAgLy8gRW5kIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuXG4gICAgICAvLyBPZmZzZXQgYnkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgd2lkdGggb2YgdGhlIG5vbi1yb3RhdGVkIHNxdWFyZVxuICAgICAgLy8gYW5kIGl0cyB3aWR0aCB3aGVuIHJvdGF0ZWRcbiAgICAgIGxlZnQ6ICgoJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZCAqIC0yKSArICRjaGV2cm9uLXNpemUgKyAkY2hldnJvbi1ib3JkZXItd2lkdGgpO1xuXG4gICAgICB3aWR0aDogJGNoZXZyb24tc2l6ZTtcbiAgICAgIGhlaWdodDogJGNoZXZyb24tc2l6ZTtcblxuICAgICAgbWFyZ2luOiBhdXRvIDA7XG5cbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgIGJvcmRlcjogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6ICRjaGV2cm9uLWJvcmRlci13aWR0aCAkY2hldnJvbi1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICAvLyBGYWxsIGJhY2sgdG8gYSBncmVhdGVyIHRoYW4gc2lnbiBmb3IgSUU4XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBjb250ZW50OiBcIlxcMDAzZVwiOyAvLyBHcmVhdGVyIHRoYW4gc2lnbiAoPilcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJGNoZXZyb24tYm9yZGVyLWNvbG91cjtcblxuICAgICAgICAvLyBJRTggZG9lc24ndCBzZWVtIHRvIGxpa2UgcmVuZGVyaW5nIHBzZXVkby1lbGVtZW50cyB1c2luZyBAZm9udC1mYWNlcyxcbiAgICAgICAgLy8gc28gZmFsbCBiYWNrIHRvIHVzaW5nIGFub3RoZXIgc2Fucy1zZXJpZiBmb250IHRvIHJlbmRlciB0aGUgY2hldnJvbi5cbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYnV0dG9uXCIpIHtcblxuICAkZ292dWstYnV0dG9uLWNvbG91cjogIzAwODIzYjtcbiAgJGdvdnVrLWJ1dHRvbi1ob3Zlci1jb2xvdXI6IGRhcmtlbigkZ292dWstYnV0dG9uLWNvbG91ciwgNSUpO1xuICAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI6IGRhcmtlbigkZ292dWstYnV0dG9uLWNvbG91ciwgMTUlKTtcbiAgJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgLy8gQmVjYXVzZSB0aGUgc2hhZG93IChzMCkgaXMgdmlzdWFsbHkgJ3BhcnQgb2YnIHRoZSBidXR0b24sIHdlIG5lZWQgdG8gcmVkdWNlXG4gIC8vIHRoZSBoZWlnaHQgb2YgdGhlIGJ1dHRvbiB0byBjb21wZW5zYXRlIGJ5IGFkanVzdGluZyBpdHMgcGFkZGluZyAoczEpIGFuZFxuICAvLyBpbmNyZWFzZSB0aGUgYm90dG9tIG1hcmdpbiB0byBpbmNsdWRlIGl0IChzMikuXG4gICRidXR0b24tc2hhZG93LXNpemU6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gIC5nb3Z1ay1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIsICRhZGp1c3RtZW50OiAkYnV0dG9uLXNoYWRvdy1zaXplKTsgLy8gczJcbiAgICBwYWRkaW5nOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSkgZ292dWstc3BhY2luZygyKTsgLy8gczFcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGJ1dHRvbi1zaGFkb3ctc2l6ZSBzb2xpZCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIHRoYXQgYW55IGdsb2JhbCBsaW5rIHN0eWxlcyBhcmUgb3ZlcnJpZGRlblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvclxuICAgIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc29cbiAgICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMgc29cbiAgICAvLyBzbyB0aGF0IHVudmlzaXRlZCBsaW5rcyBzdHlsZWQgYXMgYnV0dG9ucyBkbyBub3QgZW5kIHVwIHdpdGggZGFyayBibHVlXG4gICAgLy8gdGV4dCB3aGVuIGZvY3Vzc2VkLlxuICAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAgICY6bGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpeCB1bndhbnRlZCBidXR0b24gcGFkZGluZyBpbiBGaXJlZm94XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWhvdmVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0b3A6ICRidXR0b24tc2hhZG93LXNpemU7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoZSBmb2xsb3dpbmcgYWRqdXN0bWVudHMgZG8gbm90IHdvcmsgZm9yIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCI+IGFzXG4gICAgLy8gbm9uLWNvbnRhaW5lciBlbGVtZW50cyBjYW5ub3QgaW5jbHVkZSBwc2V1ZG8gZWxlbWVudHMgKGkuZS4gOjpiZWZvcmUpLlxuXG4gICAgLy8gVXNlIGEgcHNldWRvIGVsZW1lbnQgdG8gZXhwYW5kIHRoZSBjbGljayB0YXJnZXQgYXJlYSB0byBpbmNsdWRlIHRoZVxuICAgIC8vIGJ1dHRvbidzIHNoYWRvdyBhcyB3ZWxsLCBpbiBjYXNlIHVzZXJzIHRyeSB0byBjbGljayBpdC5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgIHRvcDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgcmlnaHQ6IC0kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICAgIGJvdHRvbTogLSgkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCArICRidXR0b24tc2hhZG93LXNpemUpO1xuICAgICAgbGVmdDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBXaGVuIHRoZSBidXR0b24gaXMgYWN0aXZlIGl0IGlzIHNoaWZ0ZWQgZG93biBieSAkYnV0dG9uLXNoYWRvdy1zaXplIHRvXG4gICAgLy8gZGVub3RlIGEgJ3ByZXNzZWQnIHN0YXRlLiBJZiB0aGUgdXNlciBoYXBwZW5lZCB0byBjbGljayBhdCB0aGUgdmVyeSB0b3BcbiAgICAvLyBvZiB0aGUgYnV0dG9uLCB0aGVpciBtb3VzZSBpcyBubyBsb25nZXIgb3ZlciB0aGUgYnV0dG9uIChiZWNhdXNlIGl0IGhhc1xuICAgIC8vICdtb3ZlZCBiZW5lYXRoIHRoZW0nKSBhbmQgc28gdGhlIGNsaWNrIGV2ZW50IGlzIG5vdCBmaXJlZC5cbiAgICAvL1xuICAgIC8vIFRoaXMgY29ycmVjdHMgdGhhdCBieSBzaGlmdGluZyB0aGUgdG9wIG9mIHRoZSBwc2V1ZG8gZWxlbWVudCBzbyB0aGF0IGl0XG4gICAgLy8gY29udGludWVzIHRvIGNvdmVyIHRoZSBhcmVhIHRoYXQgdGhlIHVzZXIgb3JpZ2luYWxseSBjbGlja2VkLCB3aGljaCBtZWFuc1xuICAgIC8vIHRoZSBjbGljayBldmVudCBpcyBzdGlsbCBmaXJlZC5cbiAgICAvL1xuICAgIC8vIPCfjolcbiAgICAmOmFjdGl2ZTo6YmVmb3JlIHtcbiAgICAgIHRvcDogLSgkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCArICRidXR0b24tc2hhZG93LXNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLWRpc2FibGVkLFxuICAuZ292dWstYnV0dG9uW2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0sXG4gIC5nb3Z1ay1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAoLjUpO1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGJ1dHRvbi1zaGFkb3ctc2l6ZSBzb2xpZCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbi0tc3RhcnQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplOiAyNCwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiAxKTtcblxuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiaWNvbi1wb2ludGVyLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xuXG4gICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImljb24tcG9pbnRlci0yeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMwcHggMTlweDtcbiAgICB9XG4gIH1cblxuICAvLyBCZWdpbiBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcbiAgLy8gVGhlc2Ugc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiB0aGUgZm9udCBpcyB1cGRhdGVkIHdpdGggdGhlIGNvcnJlY3QgYmFzZWxpbmVcbiAgLy8gRm9yIHRoZSAxcHggYWRkaXRpb24gcGxlYXNlIHNlZSBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWstZnJvbnRlbmQvcHVsbC8zNjUjZGlzY3Vzc2lvbl9yMTU0MzQ5NDI4XG5cbiAgJG9mZnNldDogMjtcblxuICAuZ292dWstYnV0dG9uIHtcbiAgICBwYWRkaW5nLXRvcDogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgKyAkb2Zmc2V0KTsgLy8gczFcbiAgICBwYWRkaW5nLWJvdHRvbTogKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikgLSAkb2Zmc2V0ICsgMSk7IC8vIHMxXG4gIH1cblxuICAuZ292dWstYnV0dG9uLS1zdGFydCB7XG4gICAgcGFkZGluZy10b3A6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpICsgJG9mZnNldCk7IC8vIHMxXG4gICAgcGFkZGluZy1ib3R0b206IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpIC0gJG9mZnNldCArIDEpOyAvLyBzMVxuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvZmllbGRzZXRcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2NoZWNrYm94ZXNcIikge1xuICAkZ292dWstY2hlY2tib3hlcy1zaXplOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1pbi1oZWlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmc6IDAgMCAwICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG5cbiAgICBjbGVhcjogbGVmdDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIElFOCBkb2VzbuKAmXQgc3VwcG9ydCBwc2V1ZG9lbGVtZW50cywgc28gd2UgZG9u4oCZdCB3YW50IHRvIGhpZGUgbmF0aXZlIGVsZW1lbnRzIHRoZXJlLlxuICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAvLyBhZGQgZm9jdXMgb3V0bGluZSB0byBpbnB1dCBlbGVtZW50IGZvciBJRThcbiAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogOHB4ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC8vIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiA3cHg7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYm9yZGVyOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCAkZ292dWstYm9yZGVyLXdpZHRoICRnb3Z1ay1ib3JkZXItd2lkdGg7XG4gICAgLy8gRml4IGJ1ZyBpbiBJRTExIGNhdXNlZCBieSB0cmFuc2Zvcm0gcm90YXRlICgtNDVkZWcpLlxuICAgIC8vIFNlZTogYWxwaGFnb3YvZ292dWtfZWxlbWVudHMvaXNzdWVzLzUxOFxuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgb3BhY2l0eTogMDtcblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8gRm9jdXNlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgLy8gU2luY2UgYm94LXNoYWRvd3MgYXJlIHJlbW92ZWQgd2hlbiB1c2VycyBjdXN0b21pc2UgdGhlaXIgY29sb3Vyc1xuICAgIC8vIFdlIHNldCBhIHRyYW5zcGFyZW50IG91dGxpbmUgdGhhdCBpcyBzaG93biBpbnN0ZWFkLlxuICAgIC8vIGh0dHBzOi8vYWNjZXNzaWJpbGl0eS5ibG9nLmdvdi51ay8yMDE3LzAzLzI3L2hvdy11c2Vycy1jaGFuZ2UtY29sb3Vycy1vbi13ZWJzaXRlcy9cbiAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6ICRnb3Z1ay1mb2N1cy13aWR0aDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpjaGVja2VkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aDogJGdvdnVrLWJvcmRlci13aWR0aC1tb2JpbGU7XG4gIC8vIENhbGN1bGF0ZSB0aGUgYW1vdW50IG9mIHBhZGRpbmcgbmVlZGVkIHRvIGtlZXAgdGhlIGJvcmRlciBjZW50ZXJlZCBhZ2FpbnN0IHRoZSBjaGVja2JveC5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nOiAoJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZSAvIDIpIC0gKCRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggLyAyKTtcbiAgLy8gTW92ZSB0aGUgYm9yZGVyIGNlbnRlcmVkIHdpdGggdGhlIGNoZWNrYm94XG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcblxuICAuZ292dWstY2hlY2tib3hlc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmpzLWVuYWJsZWQgJi0taGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9lcnJvci1tZXNzYWdlXCIpIHtcbiAgLmdvdnVrLWVycm9yLW1lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZmllbGRzZXRcIikge1xuICAuZ292dWstZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICAvLyBGaXggbGVnZW5kIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUVcbiAgICAvLyAxLiBJRTktMTEgJiBFZGdlIDEyLTEzXG4gICAgLy8gMi4gSUU4LTExXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAgICAgICAgIC8vIDJcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgICAgICAvLyAxXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIC8vIEhhY2sgdG8gbGV0IGxlZ2VuZHMgb3IgZWxlbWVudHMgd2l0aGluIGxlZ2VuZHMgaGF2ZSBtYXJnaW5zIGluIHdlYmtpdCBicm93c2Vyc1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAgICAvLyAxXG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxlZ2VuZHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tcyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGVnZW5kIGNvbnRhaW5zIGFuIEgxLCB3ZSB3YW50IHRoZSBIMSB0byBpbmhlcml0IGFsbCBzdHlsZXMgZnJvbVxuICAvLyB0aGUgbGVnZW5kLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmcgYXMgaWYgaXQgaXNcbiAgLy8gbm90IHRoZXJlLlxuICAuZ292dWstZmllbGRzZXRfX2hlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hpbnRcIikge1xuICAuZ292dWstaGludCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGFiZWwgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1sYWJlbC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsYWJlbCBpcyBpbnNpZGUgdGhlIDxoMT4sIGhvd2V2ZXIgaXRcbiAgLy8gaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1sYWJlbC0tcyBjbGFzcyB3b3VsZCBiZSB1c2VkIGluIHRoaXNcbiAgLy8gY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKS4gXG4gIC8vIFVzZXJzIHdpdGggdGhlc2UgYnJvd3NlcnMgd2lsbCBzZWUgdGhlIGRlZmF1bHQgc2l6ZSBtYXJnaW4gKDVweCBsYXJnZXIpLlxuXG4gIC5nb3Z1ay1sYWJlbDpub3QoLmdvdnVrLWxhYmVsLS1tKTpub3QoLmdvdnVrLWxhYmVsLS1sKTpub3QoLmdvdnVrLWxhYmVsLS14bCkgKyAuZ292dWstaGludCB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC8vIFJlZHVjZXMgbWFyZ2luLWJvdHRvbSBvZiBoaW50IHdoZW4gdXNlZCBhZnRlciB0aGUgZGVmYXVsdCBsZWdlbmQgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGZvciBiZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50LlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIHdoZW4gdGhlIGxlZ2VuZCBpcyBvdXRzaWRlIHRoZSA8aDE+LCBob3dldmVyXG4gIC8vIGl0IGlzIHVubGlrZWx5IHRoYXQgdGhlIGRlZmF1bHQgb3IgZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tcyBjbGFzcyB3b3VsZCBiZVxuICAvLyB1c2VkIGluIHRoaXMgY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKS4gXG4gIC8vIFVzZXJzIHdpdGggdGhlc2UgYnJvd3NlcnMgd2lsbCBzZWUgdGhlIGRlZmF1bHQgc2l6ZSBtYXJnaW4gKDVweCBsYXJnZXIpLlxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbSk6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sKTpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyB2aXN1YWwgc3BhY2luZyBvZiBsZWdlbmQgd2hlbiB0aGVyZSBpcyBhIGhpbnRcblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZCArIC5nb3Z1ay1oaW50LFxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZCArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tdG9wOiAtKGdvdnVrLXNwYWNpbmcoMSkpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9sYWJlbFwiKSB7XG4gIC5nb3Z1ay1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLy8gTW9kaWZpZXJzIHRoYXQgbWFrZSBsYWJlbHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1sYWJlbC0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC8vIFdoZW4gdGhlIGxhYmVsIGlzIG5lc3RlZCBpbnNpZGUgYSBoZWFkaW5nLCBvdmVycmlkZSB0aGUgaGVhZGluZyBzbyB0aGF0IGl0XG4gIC8vIGRvZXMgbm90IGhhdmUgYSBtYXJnaW4uIEVmZmVjdGl2ZWx5IHdlIHdhbnQgdG8gYmUgYWJsZSB0byB0cmVhdCB0aGUgaGVhZGluZ1xuICAvLyBhcyBpZiBpdCBpcyBub3QgdGhlcmUuXG4gIC8vXG4gIC8vIFRoaXMgYnJlYWtzIEJFTSBjb252ZW50aW9ucyBiZWNhdXNlIGl0IGV4aXN0cyBhcyBhIHBhcmVudCBvZiB0aGUgJ2Jsb2NrJyxcbiAgLy8gc28gd2UgY2FuJ3QgcmVhbGx5IGNvbnNpZGVyIGFuIGVsZW1lbnQuXG4gIC5nb3Z1ay1sYWJlbC13cmFwcGVyIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vaGludC9oaW50XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvbGFiZWxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGFyYWN0ZXItY291bnRcIikge1xuICAuZ292dWstY2hhcmFjdGVyLWNvdW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwLFxuICAgIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cblxuICAgIC5nb3Z1ay10ZXh0YXJlYS0tZXJyb3Ige1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAtIDI7IC8vIFN0b3AgYSBcImp1bXBcIiB3aGVuIHdpZHRoIG9mIGJvcmRlciBjaGFuZ2VzXG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWNoYXJhY3Rlci1jb3VudF9fbWVzc2FnZS0tZGlzYWJsZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc3VtbWFyeS1saXN0XCIpIHtcblxuICAuZ292dWstc3VtbWFyeS1saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLFxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgPiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gICAgcGFkZGluZzogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tcmlnaHQ6ICBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBJbiBvbGRlciBicm93c2VycyBzdWNoIGFzIElFOCwgOmxhc3QtY2hpbGQgaXMgbm90IGF2YWlsYWJsZSxcbiAgLy8gc28gb25seSBzaG93IHRoZSBib3JkZXIgZGl2aWRlciB3aGVyZSBpdCBpcyBhdmFpbGFibGUuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdC0tbm8tYm9yZGVyIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUsXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyxcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbnB1dFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZGF0ZS1pbnB1dFwiKSB7XG4gIC5nb3Z1ay1kYXRlLWlucHV0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAvLyBmb250LXNpemU6IDAgcmVtb3ZlcyB3aGl0ZXNwYWNlIGNhdXNlZCBieSBpbmxpbmUtYmxvY2tcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9faXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19pbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2lucHV0XCIpIHtcbiAgLmdvdnVrLWlucHV0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgLy8gc2V0dGluZyBhbnkgYmFja2dyb3VuZC1jb2xvciBtYWtlcyB0ZXh0IGludmlzaWJsZSB3aGVuIGNoYW5naW5nIGNvbG91cnMgdG8gZGFyayBiYWNrZ3JvdW5kcyBpbiBGaXJlZm94IChodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM1NDc2KVxuICAgIC8vIGFzIGJhY2tncm91bmQtY29sb3IgYW5kIGNvbG9yIG5lZWQgdG8gYWx3YXlzIGJlIHNldCB0b2dldGhlciwgY29sb3Igc2hvdWxkIG5vdCBiZSBzZXQgZWl0aGVyXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gRGlzYWJsZSBpbm5lciBzaGFkb3cgYW5kIHJlbW92ZSByb3VuZGVkIGNvcm5lcnNcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG5cbiAgLy8gVGhlIGV4IG1lYXN1cmVtZW50cyBhcmUgYmFzZWQgb24gdGhlIG51bWJlciBvZiBXJ3MgdGhhdCBjYW4gZml0IGluc2lkZSB0aGUgaW5wdXRcbiAgLy8gRXh0cmEgc3BhY2UgaXMgbGVmdCBvbiB0aGUgcmlnaHQgaGFuZCBzaWRlIHRvIGFsbG93IGZvciB0aGUgU2FmYXJpIHByZWZpbGwgaWNvblxuICAvLyBMaW5lYXIgcmVncmVzc2lvbiBlc3RpbWF0aW9uIGJhc2VkIG9uIHZpc3VhbCB0ZXN0czogeSA9IDEuNzYgKyAxLjgxeFxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMzAge1xuICAgIG1heC13aWR0aDogNTZleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMjAge1xuICAgIG1heC13aWR0aDogMzhleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMTAge1xuICAgIG1heC13aWR0aDogMjBleCArIDNleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtNSB7XG4gICAgbWF4LXdpZHRoOiAxMC44ZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTQge1xuICAgIG1heC13aWR0aDogOWV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0zIHtcbiAgICBtYXgtd2lkdGg6IDcuMmV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0yIHtcbiAgICBtYXgtd2lkdGg6IDUuNGV4O1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RldGFpbHNcIikge1xuXG4gIC5nb3Z1ay1kZXRhaWxzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICAvLyBNYWtlIHRoZSBmb2N1cyBvdXRsaW5lIHNocmluay13cmFwIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIHN1bW1hcnlcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAvLyBBYnNvbHV0ZWx5IHBvc2l0aW9uIHRoZSBtYXJrZXIgYWdhaW5zdCB0aGlzIGVsZW1lbnRcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWxsb3cgZm9yIGFic29sdXRlbHkgcG9zaXRpb25lZCBtYXJrZXIgYW5kIGFsaWduIHdpdGggZGlzY2xvc2VkIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgKyAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgLy8gU3R5bGUgdGhlIHN1bW1hcnkgdG8gbG9vayBsaWtlIGEgbGluay4uLlxuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLy8gLi4uYnV0IG9ubHkgdW5kZXJsaW5lIHRoZSB0ZXh0LCBub3QgdGhlIGFycm93XG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpmb2N1cyB7XG4gICAgLy8gLTFweCBvZmZzZXQgZml4ZXMgZ2FwIGJldHdlZW4gYmFja2dyb3VuZCBhbmQgb3V0bGluZSBpbiBGaXJlZm94XG4gICAgb3V0bGluZTogKCRnb3Z1ay1mb2N1cy13aWR0aCArIDFweCkgc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICBvdXRsaW5lLW9mZnNldDogLTFweDtcbiAgICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgZGV0YWlscyBtYXJrZXIgc28gd2UgY2FuIHN0eWxlIG91ciBvd24gY29uc2lzdGVudGx5IGFuZFxuICAvLyBlbnN1cmUgaXQgZGlzcGxheXMgaW4gRmlyZWZveCAoc2VlIGltcGxlbWVudGF0aW9uLm1kIGZvciBkZXRhaWxzKVxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFwcGVuZCBvdXIgb3duIG9wZW4gLyBjbG9zZWQgbWFya2VyIHVzaW5nIGEgcHNldWRvLWVsZW1lbnRcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcblxuICAgIG1hcmdpbjogYXV0bztcblxuICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IHJpZ2h0LCAkYmFzZTogMTRweCk7XG5cbiAgICAuZ292dWstZGV0YWlsc1tvcGVuXSA+ICYge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogZG93biwgJGJhc2U6IDE0cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vLi4vY29yZS9saXN0c1wiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Vycm9yLXN1bW1hcnlcIikge1xuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNCk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZSBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHkge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENyb3NzLWNvbXBvbmVudCBjbGFzcyAtIGFkanVzdHMgc3R5bGluZyBvZiBsaXN0IGNvbXBvbmVudFxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3QgYSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgbGluayBzdHlsaW5nIHRvIHVzZSBlcnJvciBjb2xvdXJcbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2ZpbGUtdXBsb2FkXCIpIHtcbiAgLmdvdnVrLWZpbGUtdXBsb2FkIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlO1xuICB9XG5cbiAgLmdvdnVrLWZpbGUtdXBsb2FkLS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvdHlwb2dyYXBoeVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Zvb3RlclwiKSB7XG5cbiAgJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuICAkZ292dWstZm9vdGVyLWJvcmRlci10b3A6ICNhMWFjYjI7XG4gICRnb3Z1ay1mb290ZXItYm9yZGVyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTJcIik7XG4gICRnb3Z1ay1mb290ZXItdGV4dDogIzQ1NGE0YztcbiAgJGdvdnVrLWZvb3Rlci1saW5rOiAkZ292dWstZm9vdGVyLXRleHQ7XG4gICRnb3Z1ay1mb290ZXItbGluay1ob3ZlcjogIzE3MTgxOTtcblxuICAvLyBCYXNlZCBvbiB0aGUgZ292dWstY3Jlc3QtMngucG5nIGltYWdlIGRpbWVuc2lvbnMuXG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGgtMng6IDI1MHB4O1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodC0yeDogMjA0cHg7XG4gIC8vIEhhbGYgdGhlIDJ4IGltYWdlIHNvIHRoYXQgaXQgZml0cyB0aGUgcmVndWxhciAxeCBzaXplLlxuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoOiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aC0yeCAvIDIpO1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodDogKCRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0LTJ4IC8gMik7XG5cbiAgLmdvdnVrLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg3LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNSwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXItdG9wO1xuICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNhYmxlLWZpbGw7XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbms7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvb3Rlci1saW5rLWhvdmVyO1xuICAgIH1cblxuICAgIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gICAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvclxuICAgIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc29cbiAgICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fc2VjdGlvbi1icmVhayB7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBgPGhyPmAgZGVmYXVsdCBtYXJnaW5zXG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gICAgYm9yZGVyOiAwOyAvLyBSZXNldCBgPGhyPmAgZGVmYXVsdCBib3JkZXJzXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1mb290ZXItYm9yZGVyO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbWV0YSB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IGZsZXg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICBtYXJnaW4tcmlnaHQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWxlZnQ6IC0kZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbS0tZ3JvdyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAtd2Via2l0LWZsZXg6IDE7XG4gICAgICAgIC1tcy1mbGV4OiAxO1xuICAgICAgICAgICAgZmxleDogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAzMjBweDtcbiAgICAgICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzIwcHg7XG4gICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMyMHB4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGljZW5jZS1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saWNlbmNlLWRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19jb3B5cmlnaHQtbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1pbi13aWR0aDogJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aDtcbiAgICBwYWRkaW5nLXRvcDogKCRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0ICsgZ292dWstc3BhY2luZygyKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwiZ292dWstY3Jlc3QucG5nXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJnb3Z1ay1jcmVzdC0yeC5wbmdcIik7XG4gICAgfVxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aCAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWN1c3RvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2lubGluZS1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDcsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX25hdmlnYXRpb24ge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdvdnVrLWd1dHRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLy8gRW5zdXJlIGNvbHVtbnMgdGFrZSB1cCBlcXVhbCB3aWR0aCAodHlwaWNhbGx5IG9uZS1oYWxmOm9uZS1oYWxmKVxuICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3c6IDE7XG4gICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAxO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgLXdlYmtpdC1mbGV4LXNocmluazogMTtcbiAgICAgICAgLW1zLWZsZXgtbmVnYXRpdmU6IDE7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIG1xICgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIC8vIE1ha2Ugc3VyZSBjb2x1bW5zIGRvIG5vdCBkcm9wIGJlbG93IDIwMHB4IGluIHdpZHRoXG4gICAgICAvLyBXaWxsIHR5cGljYWxseSByZXN1bHQgaW4gd3JhcHBpbmcsIGFuZCBlbmQgdXAgaW4gYSBzaW5nbGUgY29sdW1uIG9uIHNtYWxsZXIgc2NyZWVucy5cbiAgICAgIC13ZWJraXQtZmxleC1iYXNpczogMjAwcHg7XG4gICAgICAgICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDIwMHB4O1xuICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAyMDBweDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIH1cbiAgfVxuXG4gIC8vIFNlY3Rpb25zIHR3by10aGlyZDpvbmUtdGhpcmQgb24gZGVza3RvcFxuICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAuZ292dWstZm9vdGVyX19zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICAgIC13ZWJraXQtYm94LWZsZXg6IDI7XG4gICAgICAtd2Via2l0LWZsZXgtZ3JvdzogMjtcbiAgICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMjtcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAtd2Via2l0LWNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7XG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAkZ292dWstZ3V0dGVyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gIH1cblxuICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAuZ292dWstZm9vdGVyX19saXN0LS1jb2x1bW5zLTIge1xuICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjsgLy8gU3VwcG9ydDogQ29sdW1uc1xuICAgIH1cblxuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMyB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMztcbiAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAzOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvdHlwb2dyYXBoeVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hlYWRlclwiKSB7XG5cbiAgJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItY29sb3I6ICRnb3Z1ay1icmFuZC1jb2xvdXI7XG4gICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAkZ292dWstaGVhZGVyLXRleHQ6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbms6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbmstaG92ZXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlOiAjMWQ4ZmViO1xuICAkZ292dWstaGVhZGVyLW5hdi1pdGVtLWJvcmRlci1jb2xvcjogIzJlMzEzMztcblxuICAuZ292dWstaGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG5cbiAgICBib3JkZXItYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpIHNvbGlkIGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kO1xuXG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250YWluZXItLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmc6IDAgZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1ib3R0b206ICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duLWZhbGxiYWNrLWltYWdlIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19wcm9kdWN0LW5hbWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZS1maWxsO1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19saW5rLS1ob21lcGFnZSB7XG4gICAgLy8gRm9udCBzaXplIG5lZWRzIHRvIGJlIHNldCBvbiB0aGUgbGluayBzbyB0aGF0IHRoZSBib3ggc2l6aW5nIGlzIGNvcnJlY3RcbiAgICAvLyBpbiBGaXJlZm94XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogZmFsc2UsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMzBweDsgLy8gV2UgZG9uJ3QgaGF2ZSBhIG1peGluIHRoYXQgcHJvZHVjZXMgMzBweCBmb250IHNpemVcbiAgICBsaW5lLWhlaWdodDogMzBweDtcblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgLy8gTmVnYXRlIHRoZSBhZGRlZCBib3JkZXJcbiAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG4gICAgICAvLyBPbWl0dGluZyBjb2xvdXIgd2lsbCB1c2UgZGVmYXVsdCB2YWx1ZSBvZiBjdXJyZW50Q29sb3Ig4oCTIGlmIHdlXG4gICAgICAvLyBzcGVjaWZpZWQgY3VycmVudENvbG9yIGV4cGxpY2l0bHkgSUU4IHdvdWxkIGlnbm9yZSB0aGlzIHJ1bGUuXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0tc2VydmljZS1uYW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvLFxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg4KTtcblxuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiA2Ni42NiU7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2FibGU7XG5cbiAgICBAaW5jbHVkZSBtcSAoJGZyb206IHRhYmxldCkge1xuICAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uLS1vcGVuIHtcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiB1cCwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDIsIFwiYm90dG9tXCIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuanMtZW5hYmxlZCB7XG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBtcSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tb3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLWVuZCB7XG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLS1uby1zZXJ2aWNlLW5hbWUge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgbXEgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNiwgJHdlaWdodDogYm9sZCk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbS0tYWN0aXZlIHtcbiAgICBhIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWhlYWRlci1saW5rLWFjdGl2ZTtcbiAgICAgIH1cblxuICAgICAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgICAgIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24taXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBIaWRlIHRoZSBpbnZlcnRlZCBjcm93biB3aGVuIHByaW50aW5nIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBTVkcuXG4gICAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19saW5rIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIH1cblxuICAgICAgLy8gRG8gbm90IGFwcGVuZCBsaW5rIGhyZWYgdG8gR09WLlVLIGxpbmsgd2hlbiBwcmludGluZyAoZS5nLiAnKC8pJylcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIHRoZSBmb250IGlzIHVwZGF0ZWQgd2l0aCB0aGUgY29ycmVjdCBiYXNlbGluZVxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bixcbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC00cHg7XG4gIH1cblxuICAuZ292dWstaGVhZGVyIHtcbiAgICAkb2Zmc2V0OiAzcHg7XG4gICAgcGFkZGluZy10b3A6ICRvZmZzZXQ7XG4gIH1cbiAgLy8gRW5kIGFkanVzdG1lbnRzXG5cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2luc2V0LXRleHRcIikge1xuICAuZ292dWstaW5zZXQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgLy8gTWFyZ2luIHRvcCBpbnRlbmRlZCB0byBjb2xsYXBzZVxuICAgIC8vIFRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIDEwcHggdG8gdGhlIHBhcmFncmFwaCBhYm92ZVxuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgOm9ubHktY2hpbGQsXG4gICAgOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BhbmVsXCIpIHtcblxuICAuZ292dWstcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNykgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNikgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbC0tY29uZmlybWF0aW9uIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX190aXRsZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXBhbmVsX19ib2R5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNik7XG4gIH1cblxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi90YWcvdGFnXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGhhc2UtYmFubmVyXCIpIHtcbiAgLmdvdnVrLXBoYXNlLWJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50X190YWcge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWdcIikge1xuICAuZ292dWstdGFnIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNiwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIC8vIFNpbmNlIE5ldyBUcmFuc3BvcnQgc2l0cyBzbGlnaHRseSBoaWdoZXIgdGhhbiBvdGhlciBjb21tb24gZm9udHMuXG4gICAgLy8gV2UgdXNlIGludGVudGlvbmFsbHkgdW5ldmVuIHBhZGRpbmcgdG8gbWFrZSBpdCBiYWxhbmNlZCwgdGhpcyBjYW4gYmVcbiAgICAvLyByZW1vdmVkIHVzaW5nIHRoZSB2ZXJzaW9uIG9mIHRoZSBmb250IHRoYXQgaGFzIGEgbW9yZSBjb21tb24gdmVydGljYWwgc3BhY2luZy5cbiAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuXG4gICAgLy8gV2hlbiBhIHVzZXIgY3VzdG9taXNlcyB0aGVpciBjb2xvdXJzIG9mdGVuIHRoZSBiYWNrZ3JvdW5kIGlzIHJlbW92ZWQsXG4gICAgLy8gYnkgYWRkaW5nIGEgb3V0bGluZSB3ZSBlbnN1cmUgdGhhdCB0aGUgdGFnIGNvbXBvbmVudCBzdGlsbCBrZWVwcyBpdCdzIG1lYW5pbmcuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLWluYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTFcIik7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhYnNcIikge1xuXG4gIC5nb3Z1ay10YWJzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMSwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstdGFic19fdGl0bGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDUpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oCUIFwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0gZ292dWstc3BhY2luZyg1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcblxuICAgICZbYXJpYS1jdXJyZW50ID0gXCJ0cnVlXCJdIHtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFic19fcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gSmF2YVNjcmlwdCBlbmFibGVkXG4gIC5qcy1lbmFibGVkIHtcblxuICAgIEBpbmNsdWRlIG1xKCRmcm9tOiB0YWJsZXQpIHtcblxuICAgICAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190YWIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiZ3JleS00XCIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmLS1zZWxlY3RlZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLSBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAgICAgICAvLyAxcHggaXMgY29tcGVuc2F0aW9uIGZvciBib3JkZXIgKG90aGVyd2lzZSB3ZSBnZXQgYSAxcHggc2hpZnQpXG4gICAgICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMykgLSAxcHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KSAtIDFweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKSArIDFweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCkgLSAxcHg7XG5cbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDAsIFwiYm90dG9tXCIpO1xuICAgICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg2KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgJi0taGlkZGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9zZXR0aW5ncy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi90b29scy9hbGxcIjtcbkBpbXBvcnQgXCIuLi8uLi9oZWxwZXJzL2FsbFwiO1xuXG5AaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9lcnJvci1tZXNzYWdlXCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvZmllbGRzZXRcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3JhZGlvc1wiKSB7XG4gICRnb3Z1ay1yYWRpb3Mtc2l6ZTogZ292dWstc3BhY2luZyg3KTtcbiAgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIC8vIFdoZW4gdGhlIGRlZmF1bHQgZm9jdXMgd2lkdGggaXMgdXNlZCBvbiBhIGN1cnZlZCBlZGdlIGl0IGxvb2tzIHZpc3VhbGx5IHNtYWxsZXIuXG4gIC8vIFNvIGZvciB0aGUgY2lyY3VsYXIgcmFkaW9zIHdlIGJ1bXAgdGhlIGRlZmF1bHQgdG8gbWFrZSBpdCBsb29rIHZpc3VhbGx5IGNvbnNpc3RlbnQuXG4gICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGg6ICRnb3Z1ay1mb2N1cy13aWR0aCArIDFweDtcblxuICAuZ292dWstcmFkaW9zX19pdGVtIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1pbi1oZWlnaHQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZzogMCAwIDAgJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW06bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHotaW5kZXg6IDE7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLy8gSUU4IGRvZXNu4oCZdCBzdXBwb3J0IHBzZXVkb2VsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmUgZWxlbWVudHMgdGhlcmUuIERvdWJsZSBjb2xvbnMgZ2V0IG9tbWl0ZWQgYnkgSUU4LlxuICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG5cbiAgICAvLyBhZGQgZm9jdXMgb3V0bGluZSB0byBpbnB1dCBlbGVtZW50IGZvciBJRThcbiAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiA4cHggJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgZ292dWstc3BhY2luZygxKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gcmVtb3ZlIDMwMG1zIHBhdXNlIG9uIG1vYmlsZVxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19pbnB1dCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICBib3JkZXI6IGdvdnVrLXNwYWNpbmcoMikgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyBTaW5jZSBib3gtc2hhZG93cyBhcmUgcmVtb3ZlZCB3aGVuIHVzZXJzIGN1c3RvbWlzZSB0aGVpciBjb2xvdXJzXG4gICAgLy8gV2Ugc2V0IGEgdHJhbnNwYXJlbnQgb3V0bGluZSB0aGF0IGlzIHNob3duIGluc3RlYWQuXG4gICAgLy8gaHR0cHM6Ly9hY2Nlc3NpYmlsaXR5LmJsb2cuZ292LnVrLzIwMTcvMDMvMjcvaG93LXVzZXJzLWNoYW5nZS1jb2xvdXJzLW9uLXdlYnNpdGVzL1xuICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBvdXRsaW5lLW9mZnNldDogJGdvdnVrLWZvY3VzLXdpZHRoO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFNlbGVjdGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmNoZWNrZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAvLyBJbmxpbmUgdmFyaWFudFxuICAuZ292dWstcmFkaW9zLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIG1xICgkZnJvbTogdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXZlbnQgaW5saW5lIG1vZGlmaWVyIGJlaW5nIHVzZWQgd2l0aCBjb25kaXRpb25hbCByZXZlYWxzXG4gICAgJi5nb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsIHtcbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2RpdmlkZXIge1xuICAgICRnb3Z1ay1kaXZpZGVyLXNpemU6ICRnb3Z1ay1yYWRpb3Mtc2l6ZSAhZGVmYXVsdDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgd2lkdGg6ICRnb3Z1ay1kaXZpZGVyLXNpemU7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLW1vYmlsZTtcbiAgLy8gQ2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgcGFkZGluZyBuZWVkZWQgdG8ga2VlcCB0aGUgYm9yZGVyIGNlbnRlcmVkIGFnYWluc3QgdGhlIHJhZGlvcy5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nOiAoJGdvdnVrLXJhZGlvcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAvLyBNb3ZlIHRoZSBib3JkZXIgY2VudGVyZWQgd2l0aCB0aGUgcmFkaW9zXG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBtYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDtcbiAgICBib3JkZXItbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgIC5qcy1lbmFibGVkICYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2hpbnRcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9sYWJlbFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NlbGVjdFwiKSB7XG4gIC5nb3Z1ay1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7IC8vIHdhcyA1cHggNHB4IDRweCAtIHNpemUgb2YgaXQgc2hvdWxkIGJlIGFkanVzdGVkIHRvIG1hdGNoIG90aGVyIGZvcm0gZWxlbWVudHNcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlbGVjdCBvcHRpb246YWN0aXZlLFxuICAuZ292dWstc2VsZWN0IG9wdGlvbjpjaGVja2VkLFxuICAuZ292dWstc2VsZWN0OmZvY3VzOjotbXMtdmFsdWUge1xuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlbGVjdC0tZXJyb3Ige1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9za2lwLWxpbmtcIikge1xuICAuZ292dWstc2tpcC1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDE2KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZygzKTtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uLy4uL3NldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL3Rvb2xzL2FsbFwiO1xuQGltcG9ydCBcIi4uLy4uL2hlbHBlcnMvYWxsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFibGVcIikge1xuICAuZ292dWstdGFibGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyLFxuICAuZ292dWstdGFibGVfX2NlbGwge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZyg0KSBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLy8gR09WLlVLIEVsZW1lbnRzIHNldHMgdGhlIGZvbnQtc2l6ZSBhbmQgbGluZS1oZWlnaHQgZm9yIGFsbCBoZWFkZXJzIGFuZCBjZWxsc1xuICAgIC8vIGluIHRhYmxlcy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX2VsZW1lbnRzKSB7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NlbGwtLW51bWVyaWMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkdGFidWxhcjogdHJ1ZSk7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlci0tbnVtZXJpYyxcbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyOmxhc3QtY2hpbGQsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuXG4gICAgZGlzcGxheTogdGFibGUtY2FwdGlvbjtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvZXJyb3ItbWVzc2FnZVwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaGludFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2xhYmVsXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGV4dGFyZWFcIikge1xuICAuZ292dWstdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzYWJsZTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICByZXNpemU6IHZlcnRpY2FsO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vLi4vc2V0dGluZ3MvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vdG9vbHMvYWxsXCI7XG5AaW1wb3J0IFwiLi4vLi4vaGVscGVycy9hbGxcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC93YXJuaW5nLXRleHRcIikge1xuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X19hc3Npc3RpdmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuXG4gICAgbWluLXdpZHRoOiAzMnB4O1xuICAgIG1pbi1oZWlnaHQ6IDI5cHg7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7IC8vIEhhbGYgdGhlIGhlaWdodCBvZiB0aGUgY2lyY2xlIChhZGp1c3RlZCBmb3IgTlRBKVxuICAgIHBhZGRpbmctdG9wOiAzcHg7XG5cbiAgICAvLyBXaGVuIGEgdXNlciBjdXN0b21pc2VzIHRoZWlyIGNvbG91cnMgdGhlIGJhY2tncm91bmQgY29sb3VyIHdpbGwgb2Z0ZW4gYmUgcmVtb3ZlZC5cbiAgICAvLyBBZGRpbmcgYSBib3JkZXIgdG8gdGhlIGNvbXBvbmVudCBrZWVwcyBpdCdzIHNoYXBlIGFzIGEgY2lyY2xlLlxuICAgIGJvcmRlcjogM3B4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAgIGZvbnQtc2l6ZTogMS42ZW07XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBleGNsYW1hdGlvbiBtYXJrIGZyb20gYmVpbmcgaW5jbHVkZWQgd2hlbiB0aGUgd2FybmluZyB0ZXh0XG4gICAgLy8gaXMgY29waWVkLCBmb3IgZXhhbXBsZS5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9fdGV4dCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJ2aXN1YWxseS1oaWRkZW5cIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay91dGlsaXRpZXMvY2xlYXJmaXhcIikge1xuICAuZ292dWstY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvdXRpbGl0aWVzL3Zpc3VhbGx5LWhpZGRlblwiKSB7XG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICB9XG5cbn1cbiIsIkBpbXBvcnQgXCJkaXNwbGF5XCI7XG5AaW1wb3J0IFwic3BhY2luZ1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJ3aWR0aFwiO1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9kaXNwbGF5XCIpIHtcblxuICAuZ292dWstXFwhLWRpc3BsYXktaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIG92ZXJyaWRlc1xuLy8vL1xuXG4vLy8gRGlyZWN0aW9ucyBmb3Igc3BhY2luZ1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfc3BhY2luZy1kaXJlY3Rpb25zOiAoXG4gIFwidG9wXCIsXG4gIFwicmlnaHRcIixcbiAgXCJib3R0b21cIixcbiAgXCJsZWZ0XCJcbikgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXNcbi8vL1xuLy8vIEdlbmVyYXRlIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IChlLmcuIG1hcmdpbilcbi8vLyBmb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1cXCEtbWFyZ2luLTAge1xuLy8vICAgICAgbWFyZ2luOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gIC5nb3Z1ay1cXCEtbWFyZ2luLXRvcC0xIHtcbi8vLyAgICAgbWFyZ2luLXRvcDogW3doYXRldmVyIHNwYWNpbmcgcG9pbnQgMSBpcy4uLl1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKCRwcm9wZXJ0eSkge1xuICAvLyBGb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZSAoZGVmaW5lZCBpbiBzZXR0aW5ncyksIGNyZWF0ZSBhblxuICAvLyBvdmVycmlkZSB0aGF0IGFmZmVjdHMgYWxsIGRpcmVjdGlvbnMuLi5cbiAgQGVhY2ggJHNjYWxlLXBvaW50LCAkc2NhbGUtbWFwIGluICRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUge1xuXG4gICAgLmdvdnVrLVxcIS0jeyRwcm9wZXJ0eX0tI3skc2NhbGUtcG9pbnR9IHtcblxuICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgXCJhbGxcIiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0aGVuIGFuIG92ZXJyaWRlIGZvciBlYWNoIGluZGl2aWR1YWwgZGlyZWN0aW9uXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG5cbiAgICAgIC5nb3Z1ay1cXCEtI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn0tI3skc2NhbGUtcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbiwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvc3BhY2luZ1wiKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKFwicGFkZGluZ1wiKTtcbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHRcblxuICAvLyBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcbiAgLy8gdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ292dWstXFwhLWZvbnQtc2l6ZS04MFxuICBAZWFjaCAkc2l6ZSBpbiBtYXAta2V5cygkZ292dWstdHlwb2dyYXBoeS1zY2FsZSkge1xuICAgIC5nb3Z1ay1cXCEtZm9udC1zaXplLSN7JHNpemV9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2VpZ2h0c1xuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy93aWR0aFwiKSB7XG4gIC5nb3Z1ay1cXCEtd2lkdGgtZnVsbCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtdGhyZWUtcXVhcnRlcnMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNzUlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10d28tdGhpcmRzIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDY2LjY2JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1cXCEtd2lkdGgtb25lLWhhbGYge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtdGhpcmQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMzMuMzMlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtcXVhcnRlciB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAyNSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvYmxvYi92OS4zLjYvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvY29tcG9uZW50cy9fc3RlcC1ieS1zdGVwLW5hdi5zY3NzXG4vLyBOb3RlIC0gdGhpcyBjb2RlIGZvciBwcm90b3R5cGUgcHVycG9zZXMgb25seS4gSXQgaXMgbm90IHByb2R1Y3Rpb24gY29kZSxcbi8vIG5vciBhbiBleGFtcGxlIG9mIHRoZSBiZXN0IHdheSB0byB1c2UgR09WLlVLIEZyb250ZW5kXG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTRcIik7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgcGFkZGluZzogMTVweDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LWhlYWRlcl9fcGFydC1vZiB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMC4yZW07XG59XG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyX190aXRsZSB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMjQsICR3ZWlnaHQ6IGJvbGQpXG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZCB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAkZ292dWstbGluay1jb2xvdXI7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQpXG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fbGlua3Mge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2LCAkd2VpZ2h0OiBib2xkKVxuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZC0tc2luZ3VsYXIge1xuICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuXG4gIC5hcHAtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgxOSwgJHdlaWdodDogYm9sZClcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19wcmV0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fcHJldGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rLWl0ZW0ge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5KTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgJi5hcHAtc3RlcC1uYXYtLWxhcmdlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jb250cm9scyB7XG4gIHBhZGRpbmc6IDNweCAzcHggMCAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fYnV0dG9uIHtcbiAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gcmVtb3ZlcyBleHRyYSBkb3R0ZWQgb3V0bGluZSBmcm9tIGJ1dHRvbnMgaW4gRmlyZWZveFxuLy8gb24gZm9jdXMgKHN0YW5kYXJkIHllbGxvdyBvdXRsaW5lIHVuYWZmZWN0ZWQpXG4uYXBwLXN0ZXAtbmF2X19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2J1dHRvbi0tdGl0bGUge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5LCAkd2VpZ2h0OiBib2xkKVxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDI0LCAkd2VpZ2h0OiBib2xkKVxuICB9XG5cbn1cblxuLmFwcC1zdGVwLW5hdl9fYnV0dG9uLS1jb250cm9scyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTQpXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgLy8gdGhpcyBhbmQgcmVsYXRpdmUgcG9zaXRpb24gc3RvcHMgZm9jdXMgb3V0bGluZSB1bmRlcmxhcCB3aXRoIGJvcmRlciBvZiBhY2NvcmRpb25cbiAgcGFkZGluZzogMC41ZW0gMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYpXG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcHMge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogNDVweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIHRvcDogMTVweDtcbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19zdGVwIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19zdGVwOmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIHRvcDogMzBweDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA2O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiA2LjVweDtcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMnB4ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwOmxhc3QtY2hpbGQ6YWZ0ZXIge1xuICBoZWlnaHQ6IC13ZWJraXQtY2FsYygxMDAlIC0gMTVweCk7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gMTVweCk7XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXA6bGFzdC1jaGlsZCAuYXBwLXN0ZXAtbmF2X19oZWxwOmFmdGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX3N0ZXA6bGFzdC1jaGlsZDpiZWZvcmUge1xuICAgIG1hcmdpbi1sZWZ0OiA4Ljc1cHg7XG4gICAgd2lkdGg6IDE3LjVweDtcbiAgICBib3JkZXItd2lkdGg6IDNweDtcbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX3N0ZXA6bGFzdC1jaGlsZDphZnRlciB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmUgLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIsXG4uYXBwLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmUgLmFwcC1zdGVwLW5hdl9faGVscDphZnRlcixcbi5hcHAtc3RlcC1uYXZfX3N0ZXAtLWFjdGl2ZSAuYXBwLXN0ZXAtbmF2X19zdWJzdGVwOmFmdGVyLFxuLmFwcC1zdGVwLW5hdl9fc3RlcC0tYWN0aXZlOmFmdGVyLFxuLmFwcC1zdGVwLW5hdl9fc3RlcC0tYWN0aXZlOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgYm9yZGVyLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogNTtcbiAgdG9wOiAxNXB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjZweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fY2lyY2xlIHtcbiAgICB0b3A6IDMwcHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS0tbnVtYmVyIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNiwgJHdlaWdodDogYm9sZClcbiAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIGJvcmRlcjogc29saWQgMnB4ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gIC5hcHAtc3RlcC1uYXZfX2NpcmNsZS0tbnVtYmVyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2LCAkd2VpZ2h0OiBib2xkKVxuICBsaW5lLWhlaWdodDogMjNweDtcbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlciB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIge1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS0tbG9naWMge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2LCAkd2VpZ2h0OiBib2xkKVxuICBsaW5lLWhlaWdodDogMjhweDtcbn1cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1sb2dpYyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX2NpcmNsZS0tbG9naWMge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2LCAkd2VpZ2h0OiBib2xkKVxuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLWxvZ2ljIHtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLWlubmVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1iYWNrZ3JvdW5kIHtcbiAgdGV4dC1zaGFkb3c6IDAgLTAuMWVtIDAgI2ZmZiwgMC4xZW0gMCAwICNmZmYsIDAgMC4xZW0gMCAjZmZmLCAtMC4xZW0gMCAwICNmZmY7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlYWRlciB7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4IGdvdnVrLWNvbG91cihcImdyZXktM1wiKTtcbn1cblxuLmFwcC1zdGVwLW5hdi0tYWN0aXZlIC5hcHAtc3RlcC1uYXZfX2hlYWRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmFwcC1zdGVwLW5hdl9faGVhZGVyOmhvdmVyIC5hcHAtc3RlcC1uYXZfX2J1dHRvbixcbi5hcHAtc3RlcC1uYXZfX2hlYWRlcjpob3ZlciAuYXBwLXN0ZXAtbmF2X19jaXJjbGUge1xuICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19oZWFkZXI6aG92ZXIgLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19oZWFkZXIge1xuICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X190aXRsZSB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQpXG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbjogMDtcbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2X190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fdGl0bGUge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5LCAkd2VpZ2h0OiBib2xkKVxuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYpXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xufVxuXG4uYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYpXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG59XG5cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3BhbmVsIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNilcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIC5qcy1lbmFibGVkICYuanMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdl9fcGFuZWwge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19wYW5lbCB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpXG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlYWRpbmcsXG4uYXBwLXN0ZXAtbmF2X19wYXJhZ3JhcGgge1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlYWRpbmcgKyAuYXBwLXN0ZXAtbmF2X19saXN0LFxuLmFwcC1zdGVwLW5hdl9fcGFyYWdyYXBoICsgLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gIG1hcmdpbi10b3A6IC01cHg7XG59XG5cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9faGVhZGluZyArIC5hcHAtc3RlcC1uYXZfX2xpc3QsXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX3BhcmFncmFwaCArIC5hcHAtc3RlcC1uYXZfX2xpc3Qge1xuICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9faGVhZGluZyxcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fcGFyYWdyYXBoIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19oZWFkaW5nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3Qge1xuICBwYWRkaW5nOiAwIDAgMTBweDtcbn1cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdC0tY2hvaWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtLWNob2ljZSAuYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZTpiZWZvcmUge1xuICBsZWZ0OiAtNDVweDtcbn1cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fbGlzdC0tY2hvaWNlIC5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlOmJlZm9yZSB7XG4gICAgbGVmdDogLTgwcHg7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlOmJlZm9yZSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIHRvcDogMC42ZW07XG4gIGxlZnQ6IC00NXB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW4tdG9wOiAtOHB4O1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgYm9yZGVyOiBzb2xpZCAycHggI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG59XG5AaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlIC5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlOmJlZm9yZSB7XG4gICAgbGVmdDogLTYwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDkuNXB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlIC5hcHAtc3RlcC1uYXZfX2xpbmsge1xuICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmUgLmFwcC1zdGVwLW5hdl9fbGluazphY3RpdmUsXG4uYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSAuYXBwLXN0ZXAtbmF2X19saW5rOmxpbmssXG4uYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSAuYXBwLXN0ZXAtbmF2X19saW5rOnZpc2l0ZWQge1xuICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NvbnRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jb250ZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIFxcMjAxM1xcMDBhMFwiO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19oZWxwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCBnb3Z1ay1jb2xvdXIoXCJncmV5LTNcIik7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlbHA6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1sZWZ0OiBkb3R0ZWQgMnB4ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogMTJweDtcbiAgei1pbmRleDogMztcbiAgdG9wOiAwO1xuICBsZWZ0OiAtNDVweDtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAzMHB4KTtcbn1cblxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19oZWxwOmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIGxlZnQ6IC02MHB4O1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMzBweCArIDE1cHgpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlbHAtbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2hlbHAtbGluazpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19zdWJzdGVwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4IGdvdnVrLWNvbG91cihcImdyZXktM1wiKTtcbn1cblxuLmFwcC1zdGVwLW5hdl9fc3Vic3RlcDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgYm9yZGVyLWxlZnQ6IHNvbGlkIDJweCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6IDEycHg7XG4gIHotaW5kZXg6IDM7XG4gIHRvcDogMDtcbiAgbGVmdDogLTQ1cHg7XG59XG5cbkBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgLmFwcC1zdGVwLW5hdl9fc3Vic3RlcCB7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAuYXBwLXN0ZXAtbmF2X19zdWJzdGVwOmFmdGVyIHtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIGxlZnQ6IC02MHB4O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N1YnN0ZXAtLW9wdGlvbmFsOmFmdGVyIHtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IGRvdHRlZDtcbn1cbiIsIi8vIFJlY29tbWVuZGVkIC0gVXNlIHRoZXNlIHN0eWxlcyBmb3IgdGhlIGNoZWNrIHlvdXIgYW5zd2VycyBwYXR0ZXJuXG4uYXBwLWNoZWNrLXlvdXItYW5zd2VycyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTkpO1xuICBtYXJnaW4tdG9wOiAwO1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig5LCBcImJvdHRvbVwiKTtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxufVxuXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vycy0tc2hvcnQge1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgIC8vIHRvIG1ha2UgZ3JvdXAgb2YgcSZhIGxpbmUgdXAgaG9yaXpvbnRhbGx5ICh1bmxlc3MgdGhlcmUgaXMganVzdCBvbmUgZ3JvdXApXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gcmVjb21tZW5kZWQgZm9yIG1vc3RseSBzaG9ydCBxdWVzdGlvbnNcbiAgICAuYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fcXVlc3Rpb24ge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1jaGVjay15b3VyLWFuc3dlcnMtLWxvbmcge1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgIC8vIHRvIG1ha2UgZ3JvdXAgb2YgcSZhIGxpbmUgdXAgaG9yaXpvbnRhbGx5ICh1bmxlc3MgdGhlcmUgaXMganVzdCBvbmUgZ3JvdXApXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gcmVjb21tZW5kZWQgZm9yIG1vc3RseSBsb25nIHF1ZXN0aW9uc1xuICAgIC5hcHAtY2hlY2steW91ci1hbnN3ZXJzX19xdWVzdGlvbiB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fY29udGVudHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG59XG5cbi5hcHAtY2hlY2steW91ci1hbnN3ZXJzX19jb250ZW50czpmaXJzdC1jaGlsZCAuYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fcXVlc3Rpb24sXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fY29udGVudHM6Zmlyc3QtY2hpbGQgLmFwcC1jaGVjay15b3VyLWFuc3dlcnNfX2Fuc3dlcixcbi5hcHAtY2hlY2steW91ci1hbnN3ZXJzX19jb250ZW50czpmaXJzdC1jaGlsZCAuYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fY2hhbmdlIHtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fcXVlc3Rpb24sXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fYW5zd2VyLFxuLmFwcC1jaGVjay15b3VyLWFuc3dlcnNfX2NoYW5nZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgcGFkZGluZzogZ292dWstZW0oMTIsIDE5KSBnb3Z1ay1lbSgyMCwgMTkpIGdvdnVrLWVtKDksIDE5KSAwO1xuICB9XG59XG5cbi5hcHAtY2hlY2steW91ci1hbnN3ZXJzX19xdWVzdGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IGdvdnVrLWVtKDEyLCAxOSkgNGVtIGdvdnVrLWVtKDQsMTkpIDA7XG4gIC8vIHVzaW5nIG1hcmdpbiBpbnN0ZWFkIG9mIHBhZGRpbmcgYmVjYXVzZSBvZiBlYXNpZXIgYWJzb2x1dGVseSBwb3NpdGlvbmluZyBvZiAuYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fY2hhbmdlXG59XG5cbi5hcHAtY2hlY2steW91ci1hbnN3ZXJzX19hbnN3ZXIge1xuICBwYWRkaW5nLWJvdHRvbTogZ292dWstZW0oOSwgMTkpO1xufVxuXG4uYXBwLWNoZWNrLXlvdXItYW5zd2Vyc19fY2hhbmdlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuIiwiLy8gVGFzayBsaXN0IHBhdHRlcm5cblxuLmFwcC10YXNrLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1pbi13aWR0aDogNTUwcHg7XG4gIH1cbn1cblxuLmFwcC10YXNrLWxpc3RfX3NlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZToyNCwgJHdlaWdodDogYm9sZCk7XG59XG5cbi5hcHAtdGFzay1saXN0X19zZWN0aW9uLW51bWJlciB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1pbi13aWR0aDogZ292dWstc3BhY2luZyg2KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtcyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOSwgXCJib3R0b21cIik7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg2KTtcbiAgfVxufVxuXG4uYXBwLXRhc2stbGlzdF9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xufVxuXG4uYXBwLXRhc2stbGlzdF9faXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbn1cblxuLmFwcC10YXNrLWxpc3RfX3Rhc2stbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogNDUwcHgpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNzUlO1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X190YXNrLWNvbXBsZXRlZCB7XG4gIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IDQ1MHB4KSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLy8gVGhpcyBpcyBhIEdPVi5VSyBQdWJsaXNoaW5nIHNwZWNpZmljIGNvbXBvbmVudCB0aGF0XG4vLyBjYW4gYmUgc2VlbiBhdCBodHRwOi8vZ292dWstc3RhdGljLmhlcm9rdWFwcC5jb20vY29tcG9uZW50LWd1aWRlL3JlbGF0ZWRfaXRlbXNcblxuLmFwcC1yZWxhdGVkLWl0ZW1zIHtcbiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbn1cblxuLmFwcC1yZWxhdGVkLWl0ZW1zIC5nb3Z1ay1saXN0ID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xufVxuIiwiLmFwcC1jb29raWUtYmFubmVyIHtcclxuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2KTtcclxuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcclxuXHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB3aWR0aDogMTAwJTtcclxuXHJcbiAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XHJcbiAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygzKTtcclxuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcclxuICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMyk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihkZXNhdHVyYXRlKGdvdnVrLWNvbG91cihcImxpZ2h0LWJsdWVcIiksIDguNDYpLCA0Mi41NSk7XHJcbn1cclxuXHJcbi5hcHAtY29va2llLWJhbm5lcl9fbWVzc2FnZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcclxufVxyXG5cclxuQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XHJcbiAgLmFwcC1jb29raWUtYmFubmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiLmdlbS1jLXN0ZXAtbmF2IGJ1dHRvbjpob3Zlcixcbi5nZW0tYy1zdGVwLW5hdiBidXR0b246Zm9jdXMsXG4uZ2VtLWMtc3RlcC1uYXYgLmJ1dHRvbjpob3Zlcixcbi5nZW0tYy1zdGVwLW5hdiAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG59XG4uZ2VtLWMtc3RlcC1uYXYgYnV0dG9uOmZvY3Vze1xuICAgIGNvbG9yOiAjMDA1ZWE1ICFpbXBvcnRhbnQ7XG59XG5cbi5nZW0tYy1zdGVwLW5hdi1oZWFkZXJ7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgcGFkZGluZzoxMHB4O1xuICAgIGJhY2tncm91bmQ6I2Y4ZjhmODtcbiAgICBib3JkZXItdG9wOnNvbGlkIDFweCAjYmZjMWMzO1xuICAgIGJvcmRlci1ib3R0b206c29saWQgMXB4ICNiZmMxYzNcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLmdlbS1jLXN0ZXAtbmF2LWhlYWRlcntcbiAgICAgICAgcGFkZGluZzoxNXB4XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2LWhlYWRlcl9fcGFydC1vZntcbiAgICBmb250LWZhbWlseTpcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDo3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICBmb250LXNpemU6MTRweDtcbiAgICBsaW5lLWhlaWdodDoxLjE0Mjg1NzE0Mjk7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBwYWRkaW5nLWJvdHRvbTowLjJlbVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXYtaGVhZGVyX19wYXJ0LW9me1xuICAgICAgICBmb250LXNpemU6MTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS4yNVxuICAgIH1cbn1cbi5nZW0tYy1zdGVwLW5hdi1oZWFkZXJfX3RpdGxle1xuICAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgIGZvbnQtc2l6ZToxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMlxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXYtaGVhZGVyX190aXRsZXtcbiAgICAgICAgZm9udC1zaXplOjI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjEuMjVcbiAgICB9XG59XG4uZ2VtLWMtc3RlcC1uYXYtcmVsYXRlZHtcbiAgICBib3JkZXItdG9wOjJweCBzb2xpZCAjMDA1ZWE1O1xuICAgIG1hcmdpbi1ib3R0b206MzBweFxufVxuLmdlbS1jLXN0ZXAtbmF2LXJlbGF0ZWRfX2hlYWRpbmd7XG4gICAgbWFyZ2luLXRvcDoxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206MTBweDtcbiAgICBmb250LWZhbWlseTpcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDo3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICBmb250LXNpemU6MTZweDtcbiAgICBsaW5lLWhlaWdodDoxLjI1XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdi1yZWxhdGVkX19oZWFkaW5ne1xuICAgICAgICBmb250LXNpemU6MTlweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS4zMTU3ODk0NzM3XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtze1xuICAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OjcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMTQyODU3MTQyOTtcbiAgICBtYXJnaW46MDtcbiAgICBwYWRkaW5nOjBcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLmdlbS1jLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtze1xuICAgICAgICBmb250LXNpemU6MTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS4yNVxuICAgIH1cbn1cbi5nZW0tYy1zdGVwLW5hdi1yZWxhdGVkLS1zaW5ndWxhcntcbiAgICBtYXJnaW4tYm90dG9tOjEzcHhcbn1cbi5nZW0tYy1zdGVwLW5hdi1yZWxhdGVkLS1zaW5ndWxhciAuZ2VtLWMtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZ3tcbiAgICBmb250LWZhbWlseTpcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICAgZm9udC1zaXplOjE5cHg7XG4gICAgbGluZS1oZWlnaHQ6MS40O1xuICAgIG1hcmdpbi10b3A6MjBweFxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXYtcmVsYXRlZC0tc2luZ3VsYXIgLmdlbS1jLXN0ZXAtbmF2LXJlbGF0ZWRfX2hlYWRpbmd7XG4gICAgICAgIGZvbnQtc2l6ZToxOXB4O1xuICAgICAgICBsaW5lLWhlaWdodDoxLjRcbiAgICB9XG59XG4uZ2VtLWMtc3RlcC1uYXYtcmVsYXRlZC0tc2luZ3VsYXIgLmdlbS1jLXN0ZXAtbmF2LXJlbGF0ZWRfX3ByZXRpdGxle1xuICAgIG1hcmdpbi1ib3R0b206Ny41cHhcbn1cbi5nZW0tYy1zdGVwLW5hdi1yZWxhdGVkX19wcmV0aXRsZXtcbiAgICBkaXNwbGF5OmJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206MTVweFxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXYtcmVsYXRlZF9fcHJldGl0bGV7XG4gICAgICAgIG1hcmdpbi1ib3R0b206NXB4XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtze1xuICAgIGxpc3Qtc3R5bGU6bm9uZVxufVxuLmdlbS1jLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmstaXRlbXtcbiAgICBtYXJnaW4tdG9wOjE1cHhcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLmdlbS1jLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmstaXRlbXtcbiAgICAgICAgbWFyZ2luLXRvcDo1cHhcbiAgICB9XG59XG4uZ2VtLWMtc3RlcC1uYXZ7XG4gICAgbWFyZ2luLWJvdHRvbTozMHB4XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdi5nZW0tYy1zdGVwLW5hdi0tbGFyZ2V7XG4gICAgICAgIG1hcmdpbi1ib3R0b206NjBweFxuICAgIH1cbn1cbi5nZW0tYy1zdGVwLW5hdl9fY29udHJvbHN7XG4gICAgcGFkZGluZzozcHggM3B4IDAgMDtcbiAgICB0ZXh0LWFsaWduOnJpZ2h0XG59XG4uZ2VtLWMtc3RlcC1uYXZfX2J1dHRvbntcbiAgICBjb2xvcjojMDA1ZWE1O1xuICAgIGN1cnNvcjpwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6bm9uZTtcbiAgICBib3JkZXI6MDtcbiAgICBtYXJnaW46MFxufVxuLmdlbS1jLXN0ZXAtbmF2X19idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7XG4gICAgYm9yZGVyOjBcbn1cbi5nZW0tYy1zdGVwLW5hdl9fYnV0dG9uLS10aXRsZXtcbiAgICBmb250LWZhbWlseTpcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICAgZm9udC1zaXplOjE5cHg7XG4gICAgbGluZS1oZWlnaHQ6MS40O1xuICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6MDtcbiAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgY29sb3I6IzBiMGMwY1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXZfX2J1dHRvbi0tdGl0bGV7XG4gICAgICAgIGZvbnQtc2l6ZToxOXB4O1xuICAgICAgICBsaW5lLWhlaWdodDoxLjRcbiAgICB9XG59XG4uZ2VtLWMtc3RlcC1uYXYtLWxhcmdlIC5nZW0tYy1zdGVwLW5hdl9fYnV0dG9uLS10aXRsZXtcbiAgICBmb250LWZhbWlseTpcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICAgZm9udC1zaXplOjE5cHg7XG4gICAgbGluZS1oZWlnaHQ6MS40XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdi0tbGFyZ2UgLmdlbS1jLXN0ZXAtbmF2X19idXR0b24tLXRpdGxle1xuICAgICAgICBmb250LXNpemU6MjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS40XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2X19idXR0b24tLWNvbnRyb2xze1xuICAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OjE7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgei1pbmRleDoxO1xuICAgIHBhZGRpbmc6MC41ZW0gMDtcbiAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lXG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdl9fYnV0dG9uLS1jb250cm9sc3tcbiAgICAgICAgZm9udC1zaXplOjE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjFcbiAgICB9XG59XG4uZ2VtLWMtc3RlcC1uYXZfX2J1dHRvbi0tY29udHJvbHM6aG92ZXJ7XG4gICAgY29sb3I6IzJiOGNjNFxufVxuLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX2J1dHRvbi0tY29udHJvbHN7XG4gICAgZm9udC1mYW1pbHk6XCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgbGluZS1oZWlnaHQ6MVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXYtLWxhcmdlIC5nZW0tYy1zdGVwLW5hdl9fYnV0dG9uLS1jb250cm9sc3tcbiAgICAgICAgZm9udC1zaXplOjE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjFcbiAgICB9XG59XG4uZ2VtLWMtc3RlcC1uYXZfX3N0ZXBze1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46MFxufVxuLmdlbS1jLXN0ZXAtbmF2X19zdGVwe1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDo0NXB4O1xuICAgIGxpc3Qtc3R5bGU6bm9uZVxufVxuLmdlbS1jLXN0ZXAtbmF2X19zdGVwOmFmdGVye1xuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB6LWluZGV4OjI7XG4gICAgd2lkdGg6MDtcbiAgICBoZWlnaHQ6MTAwJTtcbiAgICBib3JkZXItbGVmdDpzb2xpZCAycHggI2JmYzFjMztcbiAgICBiYWNrZ3JvdW5kOiNmZmY7XG4gICAgbGVmdDowO1xuICAgIG1hcmdpbi1sZWZ0OjEycHg7XG4gICAgdG9wOjE1cHhcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX3N0ZXB7XG4gICAgICAgIHBhZGRpbmctbGVmdDo2MHB4XG4gICAgfVxuICAgIC5nZW0tYy1zdGVwLW5hdi0tbGFyZ2UgLmdlbS1jLXN0ZXAtbmF2X19zdGVwOmFmdGVye1xuICAgICAgICBsZWZ0OjA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjE2cHg7XG4gICAgICAgIGJvcmRlci13aWR0aDozcHg7XG4gICAgICAgIHRvcDozMHB4XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2X19zdGVwOmxhc3QtY2hpbGQ6YmVmb3Jle1xuICAgIGNvbnRlbnQ6XCJcIjtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB6LWluZGV4OjY7XG4gICAgYm90dG9tOjA7XG4gICAgbGVmdDowO1xuICAgIG1hcmdpbi1sZWZ0OjYuNXB4O1xuICAgIHdpZHRoOjEzcHg7XG4gICAgaGVpZ2h0OjA7XG4gICAgYm9yZGVyLWJvdHRvbTpzb2xpZCAycHggI2JmYzFjM1xufVxuLmdlbS1jLXN0ZXAtbmF2X19zdGVwOmxhc3QtY2hpbGQ6YWZ0ZXJ7XG4gICAgaGVpZ2h0Oi13ZWJraXQtY2FsYygxMDAlIC0gMTVweCk7XG4gICAgaGVpZ2h0OmNhbGMoMTAwJSAtIDE1cHgpXG59XG4uZ2VtLWMtc3RlcC1uYXZfX3N0ZXA6bGFzdC1jaGlsZCAuZ2VtLWMtc3RlcC1uYXZfX2hlbHA6YWZ0ZXJ7XG4gICAgaGVpZ2h0OjEwMCVcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX3N0ZXA6bGFzdC1jaGlsZDpiZWZvcmV7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjguNzVweDtcbiAgICAgICAgd2lkdGg6MTcuNXB4O1xuICAgICAgICBib3JkZXItd2lkdGg6M3B4XG4gICAgfVxuICAgIC5nZW0tYy1zdGVwLW5hdi0tbGFyZ2UgLmdlbS1jLXN0ZXAtbmF2X19zdGVwOmxhc3QtY2hpbGQ6YWZ0ZXJ7XG4gICAgICAgIGhlaWdodDpjYWxjKDEwMCUgLSAzMHB4KVxuICAgIH1cbn1cbi5nZW0tYy1zdGVwLW5hdl9fc3RlcC0tYWN0aXZlOmxhc3QtY2hpbGQ6YmVmb3JlLC5nZW0tYy1zdGVwLW5hdl9fc3RlcC0tYWN0aXZlIC5nZW0tYy1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIsLmdlbS1jLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmU6YWZ0ZXIsLmdlbS1jLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmUgLmdlbS1jLXN0ZXAtbmF2X19oZWxwOmFmdGVye1xuICAgIGJvcmRlci1jb2xvcjojYmZjMWMzO1xufVxuLmdlbS1jLXN0ZXAtbmF2X19jaXJjbGV7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzpib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHotaW5kZXg6NTtcbiAgICB0b3A6MTVweDtcbiAgICBsZWZ0OjA7XG4gICAgd2lkdGg6MjZweDtcbiAgICBoZWlnaHQ6MjZweDtcbiAgICBjb2xvcjojMGIwYzBjO1xuICAgIGJhY2tncm91bmQ6I2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4O1xuICAgIHRleHQtYWxpZ246Y2VudGVyXG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdi0tbGFyZ2UgLmdlbS1jLXN0ZXAtbmF2X19jaXJjbGV7XG4gICAgICAgIHRvcDozMHB4O1xuICAgICAgICB3aWR0aDozNXB4O1xuICAgICAgICBoZWlnaHQ6MzVweFxuICAgIH1cbn1cbi5nZW0tYy1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXJ7XG4gICAgZm9udC1mYW1pbHk6XCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OjIzcHg7XG4gICAgYm9yZGVyOnNvbGlkIDJweCAjYmZjMWMzXG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXJ7XG4gICAgICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDoyM3B4XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX2NpcmNsZS0tbnVtYmVye1xuICAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICBmb250LXNpemU6MTZweDtcbiAgICBsaW5lLWhlaWdodDoyM3B4XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdi0tbGFyZ2UgLmdlbS1jLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlcntcbiAgICAgICAgZm9udC1zaXplOjE5cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjMwcHhcbiAgICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdi0tbGFyZ2UgLmdlbS1jLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlcntcbiAgICAgICAgYm9yZGVyLXdpZHRoOjNweFxuICAgIH1cbn1cbi5nZW0tYy1zdGVwLW5hdl9fY2lyY2xlLS1sb2dpY3tcbiAgICBmb250LWZhbWlseTpcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDpib2xkO1xuICAgIHRleHQtdHJhbnNmb3JtOm5vbmU7XG4gICAgZm9udC1zaXplOjE2cHg7XG4gICAgbGluZS1oZWlnaHQ6MjhweFxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXZfX2NpcmNsZS0tbG9naWN7XG4gICAgICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDoyOHB4XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX2NpcmNsZS0tbG9naWN7XG4gICAgZm9udC1mYW1pbHk6XCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OjI4cHhcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX2NpcmNsZS0tbG9naWN7XG4gICAgICAgIGZvbnQtc2l6ZToxOXB4O1xuICAgICAgICBsaW5lLWhlaWdodDozNHB4XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2X19jaXJjbGUtaW5uZXJ7XG4gICAgZmxvYXQ6cmlnaHQ7XG4gICAgbWluLXdpZHRoOjEwMCVcbn1cbi5nZW0tYy1zdGVwLW5hdl9fY2lyY2xlLWJhY2tncm91bmR7XG4gICAgdGV4dC1zaGFkb3c6MCAtMC4xZW0gMCAjZmZmLCAwLjFlbSAwIDAgI2ZmZiwgMCAwLjFlbSAwICNmZmYsIC0wLjFlbSAwIDAgI2ZmZlxufVxuLmdlbS1jLXN0ZXAtbmF2X19oZWFkZXJ7XG4gICAgcGFkZGluZzoxNXB4IDA7XG4gICAgYm9yZGVyLXRvcDpzb2xpZCAycHggI2RlZTBlMlxufVxuLmdlbS1jLXN0ZXAtbmF2LS1hY3RpdmUgLmdlbS1jLXN0ZXAtbmF2X19oZWFkZXJ7XG4gICAgY3Vyc29yOnBvaW50ZXJcbn1cbi5nZW0tYy1zdGVwLW5hdl9faGVhZGVyOmhvdmVyIC5nZW0tYy1zdGVwLW5hdl9fYnV0dG9uLC5nZW0tYy1zdGVwLW5hdl9faGVhZGVyOmhvdmVyIC5nZW0tYy1zdGVwLW5hdl9fY2lyY2xle1xuICAgIGNvbG9yOiMwMDVlYTVcbn1cbi5nZW0tYy1zdGVwLW5hdl9faGVhZGVyOmhvdmVyIC5nZW0tYy1zdGVwLW5hdl9fdG9nZ2xlLWxpbmt7XG4gICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXYtLWxhcmdlIC5nZW0tYy1zdGVwLW5hdl9faGVhZGVye1xuICAgICAgICBwYWRkaW5nOjMwcHggMFxuICAgIH1cbn1cbi5nZW0tYy1zdGVwLW5hdl9fdGl0bGV7XG4gICAgZm9udC1mYW1pbHk6XCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgIGZvbnQtc2l6ZToxOXB4O1xuICAgIGxpbmUtaGVpZ2h0OjEuNDtcbiAgICBtYXJnaW46MFxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXZfX3RpdGxle1xuICAgICAgICBmb250LXNpemU6MTlweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS40XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX3RpdGxle1xuICAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XG4gICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICBmb250LXNpemU6MTlweDtcbiAgICBsaW5lLWhlaWdodDoxLjRcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX3RpdGxle1xuICAgICAgICBmb250LXNpemU6MjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS40XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2X190b2dnbGUtbGlua3tcbiAgICBmb250LWZhbWlseTpcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDo0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICBmb250LXNpemU6MTRweDtcbiAgICBsaW5lLWhlaWdodDoxLjI7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBjb2xvcjojMDA1ZWE1O1xuICAgIHRleHQtdHJhbnNmb3JtOmNhcGl0YWxpemUgIWltcG9ydGFudFxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXZfX3RvZ2dsZS1saW5re1xuICAgICAgICBmb250LXNpemU6MTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6MS4yXG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX3RvZ2dsZS1saW5re1xuICAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgIGZvbnQtc2l6ZToxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMlxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXYtLWxhcmdlIC5nZW0tYy1zdGVwLW5hdl9fdG9nZ2xlLWxpbmt7XG4gICAgICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDoxLjJcbiAgICB9XG59XG4uZ2VtLWMtc3RlcC1uYXZfX3BhbmVse1xuICAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OjQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICAgIGZvbnQtc2l6ZToxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMjVcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLmdlbS1jLXN0ZXAtbmF2X19wYW5lbHtcbiAgICAgICAgZm9udC1zaXplOjE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjEuMzE1Nzg5NDczN1xuICAgIH1cbn1cbi5nZW0tYy1zdGVwLW5hdi0tbGFyZ2UgLmdlbS1jLXN0ZXAtbmF2X19wYW5lbHtcbiAgICBmb250LWZhbWlseTpcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDo0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICBmb250LXNpemU6MTZweDtcbiAgICBsaW5lLWhlaWdodDoxLjI1XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdi0tbGFyZ2UgLmdlbS1jLXN0ZXAtbmF2X19wYW5lbHtcbiAgICAgICAgZm9udC1zaXplOjE5cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjEuMzE1Nzg5NDczN1xuICAgIH1cbn1cbi5nZW0tYy1zdGVwLW5hdl9fcGFyYWdyYXBoe1xuICAgIHBhZGRpbmctYm90dG9tOjE1cHg7XG4gICAgbWFyZ2luOjA7XG4gICAgZm9udC1zaXplOmluaGVyaXRcbn1cbi5nZW0tYy1zdGVwLW5hdl9fcGFyYWdyYXBoKy5nZW0tYy1zdGVwLW5hdl9fbGlzdHtcbiAgICBtYXJnaW4tdG9wOi01cHhcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX3BhcmFncmFwaCsuZ2VtLWMtc3RlcC1uYXZfX2xpc3R7XG4gICAgICAgIG1hcmdpbi10b3A6LTE1cHhcbiAgICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdi0tbGFyZ2UgLmdlbS1jLXN0ZXAtbmF2X19wYXJhZ3JhcGh7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjMwcHhcbiAgICB9XG59XG4uZ2VtLWMtc3RlcC1uYXZfX2xpc3R7XG4gICAgcGFkZGluZzowO1xuICAgIHBhZGRpbmctYm90dG9tOjEwcHhcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLmdlbS1jLXN0ZXAtbmF2LS1sYXJnZSAuZ2VtLWMtc3RlcC1uYXZfX2xpc3R7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOjIwcHhcbiAgICB9XG59XG4uZ2VtLWMtc3RlcC1uYXZfX2xpc3QtLWNob2ljZXtcbiAgICBtYXJnaW4tbGVmdDoyMHB4O1xuICAgIGxpc3Qtc3R5bGU6ZGlzY1xufVxuLmdlbS1jLXN0ZXAtbmF2X19saXN0LS1jaG9pY2UgLmdlbS1jLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZTpiZWZvcmV7XG4gICAgbGVmdDotNjVweFxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KXtcbiAgICAuZ2VtLWMtc3RlcC1uYXYtLWxhcmdlIC5nZW0tYy1zdGVwLW5hdl9fbGlzdC0tY2hvaWNlIC5nZW0tYy1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3Jle1xuICAgICAgICBsZWZ0Oi04MHB4XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2X19saXN0LWl0ZW17XG4gICAgbWFyZ2luLWJvdHRvbToxMHB4XG59XG4uZ2VtLWMtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZle1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlXG59XG4uZ2VtLWMtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlOmJlZm9yZXtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtcbiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7XG4gICAgY29udGVudDpcIlwiO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIHotaW5kZXg6NTtcbiAgICB0b3A6MC42ZW07XG4gICAgbGVmdDotNDVweDtcbiAgICBtYXJnaW4tbGVmdDo1cHg7XG4gICAgd2lkdGg6MTZweDtcbiAgICBoZWlnaHQ6MTZweDtcbiAgICBtYXJnaW4tdG9wOi04cHg7XG4gICAgYmFja2dyb3VuZDojMGIwYzBjO1xuICAgIGJvcmRlcjpzb2xpZCAycHggI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOjEwMHB4XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC5nZW0tYy1zdGVwLW5hdi0tbGFyZ2UgLmdlbS1jLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZTpiZWZvcmV7XG4gICAgICAgIGxlZnQ6LTYwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjkuNXB4XG4gICAgfVxufVxuLmdlbS1jLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSAuZ2VtLWMtc3RlcC1uYXZfX2xpbmt7XG4gICAgY29sb3I6IzBiMGMwYztcbiAgICB0ZXh0LWRlY29yYXRpb246bm9uZVxufVxuLmdlbS1jLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSAuZ2VtLWMtc3RlcC1uYXZfX2xpbms6dmlzaXRlZCwuZ2VtLWMtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlIC5nZW0tYy1zdGVwLW5hdl9fbGluazphY3RpdmUsLmdlbS1jLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSAuZ2VtLWMtc3RlcC1uYXZfX2xpbms6bGlua3tcbiAgICBjb2xvcjojMGIwYzBjXG59XG4uZ2VtLWMtc3RlcC1uYXZfX2NvbnRleHR7XG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6bm9ybWFsO1xuICAgIGNvbG9yOiM2Zjc3N2Jcbn1cbi5nZW0tYy1zdGVwLW5hdl9fY29udGV4dDpiZWZvcmV7XG4gICAgY29udGVudDpcIiBcXDIwMTNcXDAwYTBcIlxufVxuLmdlbS1jLXN0ZXAtbmF2IGJ1dHRvbixcbi5nZW0tYy1zdGVwLW5hdiBidXR0b246YWN0aXZle1xuICAgIHRvcDoycHggIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLmhtcmMtYmFubmVyIHtcbiAgICBtYXJnaW4tdG9wOiAtMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IC0zMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbi5hY2NvdW50LW1lbnV7XG4gICAgbWFyZ2luLXRvcDogLTMwcHg7XG59XG4ucGhhc2UtYmFubmVyLWxvdyB7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50O1xufVxuXG4vLyBHZXQgaGVscCB3aXRoIHRoaXMgcGFnZV90aXRsZVxuI2Rlc2twcm9Ub2dnbGUge1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbi5nZXQtaGVscCB7XG4gIG1hcmdpbi10b3A6IDIuNzVlbTtcblxuICBhIHtcbiAgICBjb2xvcjogIzQ1NGE0YztcbiAgfVxufVxuXG4jZ2V0LWhlbHAtY29udGVudCB7XG4gIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgfVxufVxuIiwiXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQWNjb3VudCBzZXJ2aWNlcyBob21lIHBhZ2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4uYWNjb3VudC1zZXJ2aWNlcy1ob21lIHtcblxuICAud2VsY29tZS1oZWFkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgIC5oZWFkaW5nLXRpbGVkIHtcbiAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICB9XG5cbiAgLnRpbGUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYzMHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAudGlsZSB7XG4gICAgZmxleDogMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRjBGMEYwO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjMwcHgpIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNERUUwRTI7XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45ZW07XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGlsZS1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0YwRjBGMDtcblxuICAgICAgaDMge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aWxlLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMTVweDtcblxuICAgICAgdWwge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0M3RENFQjtcblxuICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzJlOGFjYTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0YzJjOTI7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjNGMyYzkyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vIEd1aWRhbmNlIC0tLS0tLS0tXG4uaGVhZGVyLWxvZ28ge1xuICAvL21hcmdpbi1ib3R0b206IDRweDtcbn1cbi8vIFNpdGUgc2VhcmNoXG4uc2l0ZS1zZWFyY2gge1xuLy9tYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgaW5wdXQjc2l0ZS1zZWFyY2gtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1pbi1oZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIC8vZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI2M3B4O1xuICB9XG5cbiAgaW5wdXQuc3VibWl0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LWluZGVudDogLTUwMDBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvc2VhcmNoLWJ1dHRvbi5wbmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7XG4gICAgfVxufVxuXG4uZ3VpZGFuY2UtcGFnZSB7XG5cbiAgICBtYXJnaW4tdG9wOiAtMzBweCAhaW1wb3J0YW50O1xuXG4gIC5pbnRybyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiZmMxYzM7XG4gICAgbWFyZ2luOiA1MHB4IDAgMTVweCAwO1xuXG4gICAgLnByZS1oZWFkZXIge1xuICAgICAgY29sb3I6ICM2Zjc3N2I7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgbWFyZ2luOiAwIDAgMzBweCAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgfVxuXG4gICAgLmNvbHVtbi10d28tdGhpcmRzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gIH1cblxuICAucHVibGlzaGVkLWRldGFpbHMge1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxuXG4gIC5jb250ZW50cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3LjVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLigJQgXCI7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN0YS1ib3gge1xuICAgIGJhY2tncm91bmQ6ICNERUUwRTI7XG4gICAgcGFkZGluZzogMzBweDtcbiAgfVxuXG4gIC5yZWxhdGVkLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDcwcHg7XG5cbiAgICBhc2lkZSB7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgIzAwNWVhNTtcblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5oZWFkZXItcHJvcG9zaXRpb257XG4gICAgbWFyZ2luLWxlZnQ6MjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiNwcm9wb3NpdGlvbi1saW5rcyBsaXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG53aWR0aDogYXV0bztcbnBhZGRpbmc6IDAgMTVweCAwIDA7XG5ib3JkZXItYm90dG9tOiAwO1xuZmxvYXQ6bGVmdDtcbn1cbi5oZWFkZXItcHJvcG9zaXRpb24gI3Byb3Bvc2l0aW9uLWxpbmtzIGEge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxufVxuXG4uaGVhZGVyLXByb3Bvc2l0aW9uICNwcm9wb3NpdGlvbi1saW5rcyBhLmFjdGl2ZSB7XG4gICAgY29sb3I6ICMxZDhmZWI7XG59XG4uY2xlYXItY2hpbGR7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbiIsIi5tYXJnaW4tdG9wLTB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xufVxuLm1hcmdpbi10b3AtMTB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5tYXJnaW4tdG9wLTIwe1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG59XG4ubWFyZ2luLXRvcC0zMHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuLm1hcmdpbi10b3AtNDB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbn1cbi5tYXJnaW4tdG9wLTB7XG4gICAgbWFyZ2luLXRvcDogMHB4O1xufVxuLm1hcmdpbi1ib3R0b20tMTB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5tYXJnaW4tYm90dG9tLTIwe1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG4ubWFyZ2luLWJvdHRvbS0zMHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuLm1hcmdpbi1ib3R0b20tNDB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cbiIsIkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgLnRhYnVsYXItZGF0YV9fZW50cnkuZm9udC0xOSAudGFidWxhci1kYXRhX19oZWFkaW5nLS1sYWJlbCxcbiAgICAudGFidWxhci1kYXRhX19lbnRyeS5mb250LTE5IC50YWJ1bGFyLWRhdGFfX2RhdGEtMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgIC50YWJ1bGFyLWRhdGFfX2hlYWRpbmcud2lkdGgtNTAge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cbn1cbiIsIi5mb3JtLWVsZW1lbnQtYm9sZCAuZm9ybS1oaW50IHtcbiAgICBwYWRkaW5nOiAuOWVtIDAgIWltcG9ydGFudDtcbn1cbi5wYW5lbC1yYWRpb3tcbiAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkICNiZmMxYzMgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAxN3B4ICAhaW1wb3J0YW50O1xufVxuIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiBHZW5lcmljIGl0ZW1zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmFnZW50LWxpc3QtcGFnZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmFnZW50cy1saXN0IHtcblxuICB0ZCwgdGgge1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICB9XG59XG5cbi5oZWFkaW5nLXhsYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cblxuLy8gSGVhZGVyXG4uYWdlbnQtbGlzdC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjRjhGOEY4O1xuICBmb250LXNpemU6IDAuODVlbTtcbiAgcGFkZGluZzogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNERUUwRTI7XG5cbiAgLmNsZWFyZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cblxuICBkaXYge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmNvbHVtbi10d28tdGhpcmRzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbi1vbmUtdGhpcmQge1xuICAgIHBhZGRpbmc6IDAgMWVtO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0RFRTBFMjtcbiAgfVxufVxuXG5cbi8vIENvbmZpcm1lZCBwYWdlc1xuXG4uZ292dWstYm94LWhpZ2hsaWdodCB7XG5cbiAgLmNvbmZpcm1lZC1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gIH1cblxuICAuYm9sZC1sYXJnZSwgcCB7XG4gICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICB9XG5cbn1cblxuXG4vLyBQYWdpbmF0aW9uXG4vLyBUb3AgbGluZVxuLnBhZ2luYXRpb24tdG9wIHtcbiAgZm9udC1zaXplOiAwLjg1ZW07XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMC42ZW07XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmZjMWMzO1xuXG4gIHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxufVxuXG5cbi8vIEJ1dHRvbnNcbi5wYWdlci1pdGVtcyB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXRvcDogMWVtO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGxpIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xuICAgIHBhZGRpbmc6IDdweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Z3JleTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLnNlbGVjdGVkLXBhZ2luYXRpb24taXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG5cbiAgfVxuXG4gIC5uZXh0IGE6YmVmb3JlLCAucHJldmlvdXMgYTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3BhZ2luYXRpb24tYXJyb3dzLnBuZycpIG5vLXJlcGVhdCAtODBweCAtN3B4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogY2VudGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjUwJTtcbiAgICBjb250ZW50OiBcIlxcQTBcXEEwXFxBMFxcQTBcIjtcbiAgfVxuXG4gIC5uZXh0IGE6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IHJpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5wcmV2aW91cyBhOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IGxlZnQ7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuIiwiLmdvdnVrLWMtbG9hZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG4uZ292dWstYy1sb2FkZXI6Zm9jdXMge1xuICBvdXRsaW5lOiAzcHggc29saWQgI2ZmYmY0Nztcbn1cblxuLmdvdnVrLWMtbG9hZGVyX19zcGlubmVyIHtcbiAgei1pbmRleDogMjAwMDAwMDAwMDtcbn1cblxuLmdvdnVrLWMtbG9hZGVyX19sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIm50YXRhYnVsYXJudW1iZXJzXCIsIFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi10b3A6IC0uNWVtO1xuICBwYWRkaW5nLWJvdHRvbTogMS41ZW07XG59XG5cbi5sb2FkZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLmdvdnVrLWMtbG9hZGVyX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxNTc5O1xuICB9XG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QXdDUUUsQUFOQSxXQU1XLEVLSlgsQ0FBQyxDTEZXO0VIYVosV0FBVyxFdkJMVyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVU7RXVCTTlDLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztDR1hqQzs7QVZhRyxvTEFBb0w7QUFFcEwsVUFBVTtFQUNSLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLEdBQUcsRVZFQyw0Q0FBa0M7RVVEdEMsR0FBRyxFVkNDLG1EQUFrQyxDVURnQiwyQkFBMkIsRVZDN0UsOENBQWtDLENVQVcsZUFBZSxFVkE1RCw2Q0FBa0MsQ1VDVSxjQUFjO0VBQzlELFdBQVcsRUFBRSxNQUFNO0VBQ25CLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFlBQVksRUFBRSxRQUFROzs7QUFHeEIsVUFBVTtFQUNSLFdBQVcsRUFBRSxLQUFLO0VBQ2xCLEdBQUcsRVZUQywyQ0FBa0M7RVVVdEMsR0FBRyxFVlZDLGtEQUFrQyxDVVVlLDJCQUEyQixFVlY1RSw2Q0FBa0MsQ1VXVSxlQUFlLEVWWDNELDRDQUFrQyxDVVlTLGNBQWM7RUFDN0QsV0FBVyxFQUFFLElBQUk7RUFDakIsVUFBVSxFQUFFLE1BQU07RUFDbEIsWUFBWSxFQUFFLFFBQVE7OztBQUd4QixVQUFVO0VBQ1IsV0FBVyxFQUFFLG1CQUFtQjtFQUNoQyxHQUFHLEVWcEJD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 */
