@charset "UTF-8";











































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


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

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

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

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

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

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

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


.govuk-list {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  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: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-list {
    font-size: 14pt;
    line-height: 1.15;
  }
}
@media print {
  .govuk-list {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-list {
    margin-bottom: 20px;
  }
}
.govuk-list .govuk-list {
  margin-top: 10px;
}

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

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

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

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

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


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

.govuk-heading-m {
  color: #0b0c0c;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
  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: 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: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  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: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@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: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
  display: block;
  margin-bottom: 5px;
  color: #505a5f;
}
@media print {
  .govuk-caption-xl {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .govuk-caption-xl {
    font-size: 1.6875rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-caption-xl {
    font-size: 18pt;
    line-height: 1.15;
  }
}

.govuk-caption-l {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 1.125rem;
  line-height: 1.1111111111;
  display: block;
  margin-bottom: 5px;
  color: #505a5f;
}
@media print {
  .govuk-caption-l {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .govuk-caption-l {
    font-size: 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: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.25;
  display: block;
  color: #505a5f;
}
@media print {
  .govuk-caption-m {
    font-family: sans-serif;
  }
}
@media (min-width: 40.0625em) {
  .govuk-caption-m {
    font-size: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-caption-m {
    font-size: 14pt;
    line-height: 1.15;
  }
}

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

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

.govuk-body-s {
  color: #0b0c0c;
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  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: 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: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  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: 0.875rem;
    line-height: 1.4285714286;
  }
}
@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-l + .delta-page-title, .govuk-body-lead + .govuk-heading-l, .govuk-body-lead + .delta-page-title {
  padding-top: 5px;
}
@media (min-width: 40.0625em) {
  .govuk-body-l + .govuk-heading-l, .govuk-body-l + .delta-page-title, .govuk-body-lead + .govuk-heading-l, .govuk-body-lead + .delta-page-title {
    padding-top: 10px;
  }
}

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

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


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

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

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

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

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

















































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













































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

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













































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

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

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

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

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

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

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

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

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

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

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

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

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













































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

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













































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

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













































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














































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

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

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

.govuk-accordion__section-button {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.1111111111;
  color: #0b0c0c;
  display: 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: 1.5rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-accordion__section-button {
    font-size: 18pt;
    line-height: 1.15;
  }
}
@media print {
  .govuk-accordion__section-button {
    color: #000000;
  }
}

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

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


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

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

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

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

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


.govuk-breadcrumbs {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  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: 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: 0.625em;
  padding-left: 0.9784375em;
  float: left;
}
.govuk-breadcrumbs__list-item::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -0.206875em;
  width: 0.4375em;
  height: 0.4375em;
  margin: auto 0;
  transform: rotate(45deg);
  border: solid;
  border-width: 1px 1px 0 0;
  border-color: #505a5f;
}
@supports (border-width: max(0px)) {
  .govuk-breadcrumbs__list-item::before {
    border-width: max(1px, 0.0625em) max(1px, 0.0625em) 0 0;
    font-size: max(16px, 1em);
  }
}
.govuk-breadcrumbs__list-item:first-child {
  margin-left: 0;
  padding-left: 0;
}
.govuk-breadcrumbs__list-item:first-child::before {
  content: none;
  display: none;
}

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

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

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


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

.govuk-button[disabled] {
  opacity: 0.5;
}
.govuk-button[disabled]:hover {
  background-color: #00703c;
  cursor: not-allowed;
}
.govuk-button[disabled]:active {
  top: 0;
  box-shadow: 0 2px 0 #002d18;
}

.govuk-button--secondary {
  background-color: #f3f2f1;
  box-shadow: 0 2px 0 #929191;
}
.govuk-button--secondary, .govuk-button--secondary:link, .govuk-button--secondary:visited, .govuk-button--secondary:active, .govuk-button--secondary:hover {
  color: #0b0c0c;
}
.govuk-button--secondary:hover {
  background-color: #dbdad9;
}
.govuk-button--secondary:hover[disabled] {
  background-color: #f3f2f1;
}

.govuk-button--warning {
  background-color: #d4351c;
  box-shadow: 0 2px 0 #55150b;
}
.govuk-button--warning, .govuk-button--warning:link, .govuk-button--warning:visited, .govuk-button--warning:active, .govuk-button--warning:hover {
  color: #ffffff;
}
.govuk-button--warning:hover {
  background-color: #aa2a16;
}
.govuk-button--warning:hover[disabled] {
  background-color: #d4351c;
}

.govuk-button--inverse {
  background-color: #ffffff;
  box-shadow: 0 2px 0 #144e81;
}
.govuk-button--inverse, .govuk-button--inverse:link, .govuk-button--inverse:visited, .govuk-button--inverse:active, .govuk-button--inverse:hover {
  color: #1d70b8;
}
.govuk-button--inverse:hover {
  background-color: #e8f1f8;
}
.govuk-button--inverse:hover[disabled] {
  background-color: #ffffff;
}

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

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


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


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

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

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

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


.govuk-label {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  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: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-label {
    font-size: 14pt;
    line-height: 1.15;
  }
}
@media print {
  .govuk-label {
    color: #000000;
  }
}

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

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

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

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

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

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





.govuk-textarea {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  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: 1.1875rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-textarea {
    font-size: 14pt;
    line-height: 1.25;
  }
}
@media (min-width: 40.0625em) {
  .govuk-textarea {
    margin-bottom: 30px;
  }
}
.govuk-textarea:focus {
  outline: 3px solid #ffdd00;
  outline-offset: 0;
  box-shadow: inset 0 0 0 2px;
}
.govuk-textarea:disabled {
  opacity: 0.5;
  color: inherit;
  background-color: transparent;
  cursor: not-allowed;
}

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


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

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

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



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

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

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

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

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

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

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

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




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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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






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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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




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

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

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

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


.govuk-details {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  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: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@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: block;
}

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

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

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

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

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

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



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

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

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

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

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

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



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

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

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

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

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

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

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

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






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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


.govuk-header {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
  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: 1rem;
    line-height: 1;
  }
}
@media print {
  .govuk-header {
    font-size: 14pt;
    line-height: 1;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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






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



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

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

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

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

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

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

.govuk-notification-banner--success {
  border-color: #00703c;
  background-color: #00703c;
}
.govuk-notification-banner--success .govuk-notification-banner__link:link, .govuk-notification-banner--success .govuk-notification-banner__link:visited {
  color: #00703c;
}
.govuk-notification-banner--success .govuk-notification-banner__link:hover {
  color: #004e2a;
}
.govuk-notification-banner--success .govuk-notification-banner__link:active {
  color: #00703c;
}
.govuk-notification-banner--success .govuk-notification-banner__link:focus {
  color: #0b0c0c;
}


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


.govuk-panel {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 1.0416666667;
  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: 2.25rem;
    line-height: 1.1111111111;
  }
}
@media print {
  .govuk-panel {
    font-size: 24pt;
    line-height: 1.05;
  }
}
@media (max-width: 40.0525em) {
  .govuk-panel {
    padding: 10px;
    overflow-wrap: break-word;
    word-wrap: break-word;
  }
}

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

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

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







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

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

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


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

.govuk-tag--grey {
  color: #282d30;
  background-color: #e5e6e7;
}

.govuk-tag--purple {
  color: #491644;
  background-color: #efdfed;
}

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

.govuk-tag--blue {
  color: #0c2d4a;
  background-color: #bbd4ea;
}

.govuk-tag--light-blue {
  color: #0c2d4a;
  background-color: #e8f1f8;
}

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

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

.govuk-tag--red {
  color: #2a0b06;
  background-color: #f4cdc6;
}

.govuk-tag--pink {
  color: #6b1c40;
  background-color: #f9e1ec;
}

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


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

.govuk-phase-banner__content {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.1428571429;
  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: 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 {
  font-size: 0.875rem;
  line-height: 1.1428571429;
  margin-right: 10px;
}
@media (min-width: 40.0625em) {
  .govuk-phase-banner__content__tag {
    font-size: 1rem;
    line-height: 1.25;
  }
}
@media print {
  .govuk-phase-banner__content__tag {
    font-size: 14pt;
    line-height: 1.2;
  }
}

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






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

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

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

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

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

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

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

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

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

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

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

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

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

.govuk-radios__divider {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  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: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@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: 20px;
  padding-left: 35px;
  border-left: 4px solid #b1b4b6;
}
@media (min-width: 40.0625em) {
  .govuk-radios__conditional {
    margin-bottom: 20px;
  }
}
.govuk-frontend-supported .govuk-radios__conditional--hidden {
  display: none;
}
.govuk-radios__conditional > :last-child {
  margin-bottom: 0;
}

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





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

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

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


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

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

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

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

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

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

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


.govuk-table {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  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: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .govuk-table {
    font-size: 14pt;
    line-height: 1.15;
  }
}
@media print {
  .govuk-table {
    color: #000000;
  }
}
@media (min-width: 40.0625em) {
  .govuk-table {
    margin-bottom: 30px;
  }
}

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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




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

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

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

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

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

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

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

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

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






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

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

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



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


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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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






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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.app-task-list__items {
  font-family: "GDS Transport", arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  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: 1.1875rem;
    line-height: 1.3157894737;
  }
}
@media print {
  .app-task-list__items {
    font-size: 14pt;
    line-height: 1.15;
  }
}
@media (min-width: 40.0625em) {
  .app-task-list__items {
    margin-bottom: 60px;
  }
}
@media (min-width: 40.0625em) {
  .app-task-list__items {
    padding-left: 30px;
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.selection-checkbox__input {
  opacity: 0;
}

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

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

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

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

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

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

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

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

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

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

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

.main-pane {
  display: flex;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.pager-items {
  display: none;
}

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

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

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

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

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

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

.govuk-header__content {
  width: 73%;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

input.error {
  margin-right: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.output-warning {
  color: #f47738;
}

.output-error {
  color: #b10e1e;
}

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

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

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

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

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

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

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

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

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

.data-grid {
  position: relative;
  min-height: 800px;
  width: auto;
}
.data-grid .govuk-pagination__item--current {
  color: white;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

dialog p {
  margin-top: 1em;
  margin-bottom: 1em;
}

dialog #dialog-title {
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}
dialog ul.list.list-bullet {
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}

dialog#confirm-s151-officer {
  width: 60%;
}

dialog#select-dataset .govuk-red-banner {
  height: 18px;
}

dialog#download-detailed-report .audit-label {
  margin-right: 70px;
  margin-bottom: 5px;
}

.warning-red-border {
  border: 5px solid #b10e1e;
}
.warning-red-border p {
  margin-top: 1em;
  margin-bottom: 1em;
}
.warning-red-border .notice {
  margin-left: -15px;
  margin-right: -15px;
  margin-top: -15px;
}
.warning-red-border .notice strong {
  padding-left: 10px;
  padding-right: 10px;
  margin: 0;
}
.warning-red-border--inline {
  padding: 10px 14px 15px 15px;
  margin: 30px auto;
  font-size: 19px;
  font-family: "GDS Transport", arial, sans-serif;
}

.dialog-is-open .dialog-wrapper:before {
  display: block;
  content: "";
  background: rgba(0, 0, 0, 0.75);
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
}

.notice-banner {
  padding: 10px 0 8px;
  border-bottom: 1px solid #bfc1c3;
}

@media (min-width: 641px) {
  .notice-banner {
    padding-bottom: 10px;
  }
}
.notice-banner p {
  display: table;
  margin: 0;
  color: rgb(11, 12, 12);
  font-family: "GDS Transport", arial, sans-serif;
  font-weight: 400;
  text-transform: none;
  font-size: 1.1875rem;
  line-height: 1.3157894737;
}

@media (min-width: 641px) {
  .notice-banner p {
    font-size: 1rem;
    line-height: 1.25;
  }
}
.notice-banner .phase-tag {
  display: -moz-inline-stack;
  display: inline-block;
  margin: 0 8px 0 0;
  padding: 2px 5px 0;
  font-family: "GDS Transport", arial, sans-serif;
  font-weight: 700;
  text-transform: none;
  font-size: 14px;
  line-height: 1.14286;
  text-transform: uppercase;
  letter-spacing: 1px;
  text-decoration: none;
  color: #fff;
  background-color: #d53880;
}

@media (min-width: 641px) {
  .notice-banner .phase-tag {
    font-size: 16px;
    line-height: 1.25;
  }
}
.notice-banner span {
  vertical-align: baseline;
}

.notice-banner span {
  vertical-align: baseline;
}

.panel-limit-width {
  max-width: 650px;
}

.delta-smaller-panel .govuk-panel__title {
  font-size: 40px;
}
.delta-smaller-panel .govuk-panel__body {
  font-size: 27px;
  overflow-wrap: break-word;
}

#embedded-form-builder {
  position: relative;
  width: 100%;
  height: 800px;
}

#embedded-form-builder div.orbeon.orbeon-portlet-div {
  right: 0;
  left: 0;
  top: 0;
  width: auto;
}

#embedded-form-builder .yui-dialog {
  top: 0 !important;
}

.orbeon #o0xforms-form .xxforms-set-height .xxforms-dialog-body .fb-dialog-remaining-height {
  bottom: 110px;
}

.orbeon #o0xforms-form .xxforms-set-height .xxforms-dialog-body .fr-dialog-buttons {
  bottom: 20px;
  z-index: 999;
  padding-right: 50px;
}

.orbeon #o0xforms-form .fr-grid-td .xforms-required .xforms-label {
  position: relative;
  padding-left: 25px;
}

.orbeon .fr-mode-new .xforms-required .xforms-label:before,
.orbeon .fr-mode-test .xforms-required .xforms-label:before,
.orbeon .xforms-dialog .xforms-required .xforms-label:before {
  content: "* ";
  position: absolute;
  display: block;
  width: 15px;
  height: 15px;
  right: calc(100% - 15px);
  top: -7px;
  transform: scale(1.5);
  transform-origin: 0 0;
}

.delta-notification-banner--error {
  border-color: #d4351c;
  background-color: #d4351c;
}

.delta-notification-banner--warning {
  border-color: #FF5F15;
  background-color: #FF5F15;
}

.govuk-notification-banner {
  margin-top: 1em;
}

.govuk-notification-banner__content > * {
  max-width: 800px;
}

@media (min-width: 1400px) {
  body .govuk-width-container {
    max-width: 1280px;
  }
  body .govuk-header__content {
    padding-left: 20px;
    width: calc(100% - 250px);
  }
  body p, body strong {
    max-width: 75ch;
  }
  body p.text-no-max-width, body strong.text-no-max-width {
    max-width: unset;
  }
}
@media (min-width: 1100px) {
  body.delta-wide-page {
    padding-left: 50px;
    padding-right: 50px;
  }
  body.delta-wide-page .govuk-header {
    margin-left: -50px;
    margin-right: -50px;
    padding-right: 50px;
    padding-left: 50px;
  }
  body.delta-wide-page .govuk-width-container {
    max-width: 1600px;
  }
  body.delta-wide-page .govuk-footer {
    margin-right: -50px;
    margin-left: -50px;
    padding-right: 50px;
    padding-left: 50px;
  }
  body.delta-wide-page .govuk-header__content {
    width: calc(100% - 250px);
  }
  body.delta-wide-page .ui-datepicker {
    display: none;
  }
}
.grid-column-text-max-width {
  max-width: 50em;
}

.delta-animation-loading {
  background-color: #f3f2f1;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  animation: deltaLoading;
  animation-duration: 1.5s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-direction: alternate-reverse;
}
.delta-animation-loading .delta-animation-loading-indicator {
  width: 10%;
  height: 16px;
  text-indent: -999px;
  overflow: hidden;
  background-color: #1d70b8;
  border-radius: 8px;
}

@keyframes deltaLoading {
  0% {
    padding-left: 0;
  }
  100% {
    padding-left: 100%;
  }
}
.delta-image-responsive {
  width: 100%;
}

.delta-screen-grab {
  box-shadow: 0 0 1rem rgba(138, 138, 138, 0.5);
  margin-bottom: 1rem;
}

.fs-help-image-overlay-display {
  background: #404040;
  opacity: 0.5;
  position: fixed;
  height: 100vh;
  width: 100vw;
  top: 0;
  left: 0;
}

.help-fs-image-container {
  position: fixed;
  top: 20px;
  width: 80%;
  height: calc(100% - 20px);
  overflow-y: scroll;
}

.hidden {
  display: none;
}

.certification-record__header {
  word-wrap: break-word;
  max-width: calc(100% - 108px);
}

#main-content.fullscreen-content {
  width: auto;
  max-width: none;
  padding: 0 30px;
  /*
  The current MHCLG laptops end up with a 1282px viewport width, which is just too small to be able to see
  all the buttons in Orbeon, so shrink the margins to give a few more pixels of space.
  */
}
@media (max-width: 1300px) {
  #main-content.fullscreen-content {
    padding: 0 10px;
  }
}

.fullscreen {
  background-color: white;
}

body .govuk-tag {
  max-width: 185px;
}

/*------------------------------------*\
    DATE PICKER
\*------------------------------------*/
.ds_datepicker {
  position: relative;
  margin-bottom: 1.5rem;
  font-family: "GDS Transport", arial, sans-serif;
}
.ds_datepicker .ds_input {
  margin-bottom: 0;
}
.ds_datepicker__input-wrapper {
  display: flex;
  align-items: end;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.ds_datepicker__today {
  background-color: #D0E8FF;
  font-weight: bold;
  position: relative;
}
.ds_datepicker__today::after {
  background-color: currentColor;
  border-radius: 4px;
  bottom: 6px;
  content: "";
  height: 4px;
  left: 50%;
  margin-left: -2px;
  position: absolute;
  width: 4px;
}
.ds_datepicker__dialog {
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.15);
  background-color: #fff;
  clear: both;
  display: none;
  padding: 8px;
  outline: 1px solid #B3B3B3;
  outline-offset: -1px;
  position: static;
  top: 0;
  transition: background-color 0.2s, outline-color 0.2s;
  width: 296px;
  z-index: 2;
}
.ds_datepicker__dialog--open {
  display: block;
}
@supports (left: var(--ds-date-picker-left-offset)) {
  .ds_datepicker__dialog--open {
    left: var(--ds-date-picker-left-offset);
  }
}
.ds_datepicker__dialog__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px;
}
.ds_datepicker__dialog__navbuttons {
  display: flex;
  gap: 4px;
}
.ds_datepicker__dialog__navbuttons .ds_button {
  background-color: transparent;
  border: none;
  color: #000;
  padding: 8px;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.ds_datepicker__dialog__navbuttons .ds_button:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__title {
  margin: 0;
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  flex-grow: 1;
}
.ds_datepicker__dialog .ds_button .ds_icon {
  height: 1.8em;
  width: 1.8em;
  fill: #000;
  vertical-align: middle;
  pointer-events: none;
}
.ds_datepicker__dialog__table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
}
.ds_datepicker__dialog__table th, .ds_datepicker__dialog__table td {
  width: 14.28%;
  padding: 0;
  text-align: center;
  border: none;
}
.ds_datepicker__dialog__table th {
  color: #5e5e5e;
  font-weight: normal;
  font-size: 0.875rem;
  height: auto;
}
.ds_datepicker__dialog__table td {
  background-color: #fff;
  cursor: pointer;
  border: none;
}
.ds_datepicker__dialog__table td:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__table td.ds_selected {
  background-color: #FFF;
  color: #fff;
  font-weight: bold;
}
.ds_datepicker__dialog__table td[disabled=true], .ds_datepicker__dialog__table td[aria-disabled=true] {
  color: #B0B0B0;
  pointer-events: none;
}
.ds_datepicker__dialog__table td button {
  font-size: 1rem;
  width: 100%;
  height: 48px;
  background-color: transparent;
  border: none;
  color: #000;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.ds_datepicker__dialog__table td button:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__table td button.ds_selected {
  background-color: #000;
  color: #fff;
}
.ds_datepicker__dialog__buttongroup {
  display: flex;
  justify-content: space-between;
}
.ds_datepicker__dialog__buttongroup .ds_button {
  width: calc(50% - 5px);
  min-height: 40px;
  background-color: #fff;
  border: 2px solid #000;
  color: #000;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
.ds_datepicker__dialog__buttongroup .ds_button:hover {
  background-color: #E0E0E0;
}
.ds_datepicker__dialog__buttongroup .js-datepicker-ok {
  background: #00703c;
  color: #FFF;
  border: none;
}
.ds_datepicker__button {
  width: 48px;
  height: 48px;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #00703c;
  border: 1px solid #000;
  cursor: pointer;
  transition: background-color 0.2s;
}
.ds_datepicker__button:hover {
  background-color: #005a30;
}
.ds_datepicker__button .ds_icon {
  width: 30px;
  height: 30px;
  fill: #fff;
}

@media (min-width: 768px) {
  .ds_datepicker__dialog {
    position: absolute;
  }
  .ds_datepicker__dialog__title {
    padding: 8px 0;
  }
  .ds_datepicker__dialog__header > :nth-child(1) {
    top: 0;
  }
  .ds_datepicker__dialog__header > :nth-child(3) {
    top: 0;
  }
}
.ds_button {
  background-color: #00703c;
  color: #fff;
  font-weight: bold;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s;
}
.ds_button:hover {
  background-color: #005a30;
}

.ds_datepicker__header {
  text-align: center;
  font-weight: bold;
  margin-bottom: 8px;
}

.ds_datepicker__footer {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
}

.fully-hidden {
  display: none !important;
}

.ds_datepicker__dialog__table-caption {
  caption-side: bottom;
  line-height: 2;
  margin-top: 8px;
  font-size: 0.8rem;
}

/*!
 *  Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */
/* FONT PATH
 * -------------------------- */
@font-face {
  font-family: "FontAwesome";
  src: url("../fonts/fontawesome-webfont.eot?v=4.3.0");
  src: url("../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0") format("embedded-opentype"), url("../fonts/fontawesome-webfont.woff2?v=4.3.0") format("woff2"), url("../fonts/fontawesome-webfont.woff?v=4.3.0") format("woff"), url("../fonts/fontawesome-webfont.ttf?v=4.3.0") format("truetype"), url("../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular") format("svg");
  font-weight: normal;
  font-style: normal;
}
.fa {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}

/* makes the font 33% larger relative to the icon container */
.fa-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.fa-2x {
  font-size: 2em;
}

.fa-3x {
  font-size: 3em;
}

.fa-4x {
  font-size: 4em;
}

.fa-5x {
  font-size: 5em;
}

.fa-fw {
  width: 1.28571429em;
  text-align: center;
}

.fa-ul {
  padding-left: 0;
  margin-left: 2.14285714em;
  list-style-type: none;
}

.fa-ul > li {
  position: relative;
}

.fa-li {
  position: absolute;
  left: -2.14285714em;
  width: 2.14285714em;
  top: 0.14285714em;
  text-align: center;
}

.fa-li.fa-lg {
  left: -1.85714286em;
}

.fa-border {
  padding: 0.2em 0.25em 0.15em;
  border: solid 0.08em #eeeeee;
  border-radius: 0.1em;
}

.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.fa.pull-left {
  margin-right: 0.3em;
}

.fa.pull-right {
  margin-left: 0.3em;
}

.fa-spin {
  -webkit-animation: fa-spin 2s infinite linear;
  animation: fa-spin 2s infinite linear;
}

.fa-pulse {
  -webkit-animation: fa-spin 1s infinite steps(8);
  animation: fa-spin 1s infinite steps(8);
}

@-webkit-keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes fa-spin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
.fa-rotate-90 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.fa-rotate-180 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.fa-rotate-270 {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);
  -webkit-transform: rotate(270deg);
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}

.fa-flip-horizontal {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
  -webkit-transform: scale(-1, 1);
  -ms-transform: scale(-1, 1);
  transform: scale(-1, 1);
}

.fa-flip-vertical {
  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);
  -webkit-transform: scale(1, -1);
  -ms-transform: scale(1, -1);
  transform: scale(1, -1);
}

:root .fa-rotate-90,
:root .fa-rotate-180,
:root .fa-rotate-270,
:root .fa-flip-horizontal,
:root .fa-flip-vertical {
  filter: none;
}

.fa-stack {
  position: relative;
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  vertical-align: middle;
}

.fa-stack-1x,
.fa-stack-2x {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
}

.fa-stack-1x {
  line-height: inherit;
}

.fa-stack-2x {
  font-size: 2em;
}

.fa-inverse {
  color: #ffffff;
}

/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
   readers do not read off random characters that represent icons */
.fa-glass:before {
  content: "\f000";
}

.fa-music:before {
  content: "\f001";
}

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

.fa-envelope-o:before {
  content: "\f003";
}

.fa-heart:before {
  content: "\f004";
}

.fa-star:before {
  content: "\f005";
}

.fa-star-o:before {
  content: "\f006";
}

.fa-user:before {
  content: "\f007";
}

.fa-film:before {
  content: "\f008";
}

.fa-th-large:before {
  content: "\f009";
}

.fa-th:before {
  content: "\f00a";
}

.fa-th-list:before {
  content: "\f00b";
}

.fa-check:before {
  content: "\f00c";
}

.fa-remove:before,
.fa-close:before,
.fa-times:before {
  content: "\f00d";
}

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

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

.fa-power-off:before {
  content: "\f011";
}

.fa-signal:before {
  content: "\f012";
}

.fa-gear:before,
.fa-cog:before {
  content: "\f013";
}

.fa-trash-o:before {
  content: "\f014";
}

.fa-home:before {
  content: "\f015";
}

.fa-file-o:before {
  content: "\f016";
}

.fa-clock-o:before {
  content: "\f017";
}

.fa-road:before {
  content: "\f018";
}

.fa-download:before {
  content: "\f019";
}

.fa-arrow-circle-o-down:before {
  content: "\f01a";
}

.fa-arrow-circle-o-up:before {
  content: "\f01b";
}

.fa-inbox:before {
  content: "\f01c";
}

.fa-play-circle-o:before {
  content: "\f01d";
}

.fa-rotate-right:before,
.fa-repeat:before {
  content: "\f01e";
}

.fa-refresh:before {
  content: "\f021";
}

.fa-list-alt:before {
  content: "\f022";
}

.fa-lock:before {
  content: "\f023";
}

.fa-flag:before {
  content: "\f024";
}

.fa-headphones:before {
  content: "\f025";
}

.fa-volume-off:before {
  content: "\f026";
}

.fa-volume-down:before {
  content: "\f027";
}

.fa-volume-up:before {
  content: "\f028";
}

.fa-qrcode:before {
  content: "\f029";
}

.fa-barcode:before {
  content: "\f02a";
}

.fa-tag:before {
  content: "\f02b";
}

.fa-tags:before {
  content: "\f02c";
}

.fa-book:before {
  content: "\f02d";
}

.fa-bookmark:before {
  content: "\f02e";
}

.fa-print:before {
  content: "\f02f";
}

.fa-camera:before {
  content: "\f030";
}

.fa-font:before {
  content: "\f031";
}

.fa-bold:before {
  content: "\f032";
}

.fa-italic:before {
  content: "\f033";
}

.fa-text-height:before {
  content: "\f034";
}

.fa-text-width:before {
  content: "\f035";
}

.fa-align-left:before {
  content: "\f036";
}

.fa-align-center:before {
  content: "\f037";
}

.fa-align-right:before {
  content: "\f038";
}

.fa-align-justify:before {
  content: "\f039";
}

.fa-list:before {
  content: "\f03a";
}

.fa-dedent:before,
.fa-outdent:before {
  content: "\f03b";
}

.fa-indent:before {
  content: "\f03c";
}

.fa-video-camera:before {
  content: "\f03d";
}

.fa-photo:before,
.fa-image:before,
.fa-picture-o:before {
  content: "\f03e";
}

.fa-pencil:before {
  content: "\f040";
}

.fa-map-marker:before {
  content: "\f041";
}

.fa-adjust:before {
  content: "\f042";
}

.fa-tint:before {
  content: "\f043";
}

.fa-edit:before,
.fa-pencil-square-o:before {
  content: "\f044";
}

.fa-share-square-o:before {
  content: "\f045";
}

.fa-check-square-o:before {
  content: "\f046";
}

.fa-arrows:before {
  content: "\f047";
}

.fa-step-backward:before {
  content: "\f048";
}

.fa-fast-backward:before {
  content: "\f049";
}

.fa-backward:before {
  content: "\f04a";
}

.fa-play:before {
  content: "\f04b";
}

.fa-pause:before {
  content: "\f04c";
}

.fa-stop:before {
  content: "\f04d";
}

.fa-forward:before {
  content: "\f04e";
}

.fa-fast-forward:before {
  content: "\f050";
}

.fa-step-forward:before {
  content: "\f051";
}

.fa-eject:before {
  content: "\f052";
}

.fa-chevron-left:before {
  content: "\f053";
}

.fa-chevron-right:before {
  content: "\f054";
}

.fa-plus-circle:before {
  content: "\f055";
}

.fa-minus-circle:before {
  content: "\f056";
}

.fa-times-circle:before {
  content: "\f057";
}

.fa-check-circle:before {
  content: "\f058";
}

.fa-question-circle:before {
  content: "\f059";
}

.fa-info-circle:before {
  content: "\f05a";
}

.fa-crosshairs:before {
  content: "\f05b";
}

.fa-times-circle-o:before {
  content: "\f05c";
}

.fa-check-circle-o:before {
  content: "\f05d";
}

.fa-ban:before {
  content: "\f05e";
}

.fa-arrow-left:before {
  content: "\f060";
}

.fa-arrow-right:before {
  content: "\f061";
}

.fa-arrow-up:before {
  content: "\f062";
}

.fa-arrow-down:before {
  content: "\f063";
}

.fa-mail-forward:before,
.fa-share:before {
  content: "\f064";
}

.fa-expand:before {
  content: "\f065";
}

.fa-compress:before {
  content: "\f066";
}

.fa-plus:before {
  content: "\f067";
}

.fa-minus:before {
  content: "\f068";
}

.fa-asterisk:before {
  content: "\f069";
}

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

.fa-gift:before {
  content: "\f06b";
}

.fa-leaf:before {
  content: "\f06c";
}

.fa-fire:before {
  content: "\f06d";
}

.fa-eye:before {
  content: "\f06e";
}

.fa-eye-slash:before {
  content: "\f070";
}

.fa-warning:before,
.fa-exclamation-triangle:before {
  content: "\f071";
}

.fa-plane:before {
  content: "\f072";
}

.fa-calendar:before {
  content: "\f073";
}

.fa-random:before {
  content: "\f074";
}

.fa-comment:before {
  content: "\f075";
}

.fa-magnet:before {
  content: "\f076";
}

.fa-chevron-up:before {
  content: "\f077";
}

.fa-chevron-down:before {
  content: "\f078";
}

.fa-retweet:before {
  content: "\f079";
}

.fa-shopping-cart:before {
  content: "\f07a";
}

.fa-folder:before {
  content: "\f07b";
}

.fa-folder-open:before {
  content: "\f07c";
}

.fa-arrows-v:before {
  content: "\f07d";
}

.fa-arrows-h:before {
  content: "\f07e";
}

.fa-bar-chart-o:before,
.fa-bar-chart:before {
  content: "\f080";
}

.fa-twitter-square:before {
  content: "\f081";
}

.fa-facebook-square:before {
  content: "\f082";
}

.fa-camera-retro:before {
  content: "\f083";
}

.fa-key:before {
  content: "\f084";
}

.fa-gears:before,
.fa-cogs:before {
  content: "\f085";
}

.fa-comments:before {
  content: "\f086";
}

.fa-thumbs-o-up:before {
  content: "\f087";
}

.fa-thumbs-o-down:before {
  content: "\f088";
}

.fa-star-half:before {
  content: "\f089";
}

.fa-heart-o:before {
  content: "\f08a";
}

.fa-sign-out:before {
  content: "\f08b";
}

.fa-linkedin-square:before {
  content: "\f08c";
}

.fa-thumb-tack:before {
  content: "\f08d";
}

.fa-external-link:before {
  content: "\f08e";
}

.fa-sign-in:before {
  content: "\f090";
}

.fa-trophy:before {
  content: "\f091";
}

.fa-github-square:before {
  content: "\f092";
}

.fa-upload:before {
  content: "\f093";
}

.fa-lemon-o:before {
  content: "\f094";
}

.fa-phone:before {
  content: "\f095";
}

.fa-square-o:before {
  content: "\f096";
}

.fa-bookmark-o:before {
  content: "\f097";
}

.fa-phone-square:before {
  content: "\f098";
}

.fa-twitter:before {
  content: "\f099";
}

.fa-facebook-f:before,
.fa-facebook:before {
  content: "\f09a";
}

.fa-github:before {
  content: "\f09b";
}

.fa-unlock:before {
  content: "\f09c";
}

.fa-credit-card:before {
  content: "\f09d";
}

.fa-rss:before {
  content: "\f09e";
}

.fa-hdd-o:before {
  content: "\f0a0";
}

.fa-bullhorn:before {
  content: "\f0a1";
}

.fa-bell:before {
  content: "\f0f3";
}

.fa-certificate:before {
  content: "\f0a3";
}

.fa-hand-o-right:before {
  content: "\f0a4";
}

.fa-hand-o-left:before {
  content: "\f0a5";
}

.fa-hand-o-up:before {
  content: "\f0a6";
}

.fa-hand-o-down:before {
  content: "\f0a7";
}

.fa-arrow-circle-left:before {
  content: "\f0a8";
}

.fa-arrow-circle-right:before {
  content: "\f0a9";
}

.fa-arrow-circle-up:before {
  content: "\f0aa";
}

.fa-arrow-circle-down:before {
  content: "\f0ab";
}

.fa-globe:before {
  content: "\f0ac";
}

.fa-wrench:before {
  content: "\f0ad";
}

.fa-tasks:before {
  content: "\f0ae";
}

.fa-filter:before {
  content: "\f0b0";
}

.fa-briefcase:before {
  content: "\f0b1";
}

.fa-arrows-alt:before {
  content: "\f0b2";
}

.fa-group:before,
.fa-users:before {
  content: "\f0c0";
}

.fa-chain:before,
.fa-link:before {
  content: "\f0c1";
}

.fa-cloud:before {
  content: "\f0c2";
}

.fa-flask:before {
  content: "\f0c3";
}

.fa-cut:before,
.fa-scissors:before {
  content: "\f0c4";
}

.fa-copy:before,
.fa-files-o:before {
  content: "\f0c5";
}

.fa-paperclip:before {
  content: "\f0c6";
}

.fa-save:before,
.fa-floppy-o:before {
  content: "\f0c7";
}

.fa-square:before {
  content: "\f0c8";
}

.fa-navicon:before,
.fa-reorder:before,
.fa-bars:before {
  content: "\f0c9";
}

.fa-list-ul:before {
  content: "\f0ca";
}

.fa-list-ol:before {
  content: "\f0cb";
}

.fa-strikethrough:before {
  content: "\f0cc";
}

.fa-underline:before {
  content: "\f0cd";
}

.fa-table:before {
  content: "\f0ce";
}

.fa-magic:before {
  content: "\f0d0";
}

.fa-truck:before {
  content: "\f0d1";
}

.fa-pinterest:before {
  content: "\f0d2";
}

.fa-pinterest-square:before {
  content: "\f0d3";
}

.fa-google-plus-square:before {
  content: "\f0d4";
}

.fa-google-plus:before {
  content: "\f0d5";
}

.fa-money:before {
  content: "\f0d6";
}

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

.fa-caret-up:before {
  content: "\f0d8";
}

.fa-caret-left:before {
  content: "\f0d9";
}

.fa-caret-right:before {
  content: "\f0da";
}

.fa-columns:before {
  content: "\f0db";
}

.fa-unsorted:before,
.fa-sort:before {
  content: "\f0dc";
}

.fa-sort-down:before,
.fa-sort-desc:before {
  content: "\f0dd";
}

.fa-sort-up:before,
.fa-sort-asc:before {
  content: "\f0de";
}

.fa-envelope:before {
  content: "\f0e0";
}

.fa-linkedin:before {
  content: "\f0e1";
}

.fa-rotate-left:before,
.fa-undo:before {
  content: "\f0e2";
}

.fa-legal:before,
.fa-gavel:before {
  content: "\f0e3";
}

.fa-dashboard:before,
.fa-tachometer:before {
  content: "\f0e4";
}

.fa-comment-o:before {
  content: "\f0e5";
}

.fa-comments-o:before {
  content: "\f0e6";
}

.fa-flash:before,
.fa-bolt:before {
  content: "\f0e7";
}

.fa-sitemap:before {
  content: "\f0e8";
}

.fa-umbrella:before {
  content: "\f0e9";
}

.fa-paste:before,
.fa-clipboard:before {
  content: "\f0ea";
}

.fa-lightbulb-o:before {
  content: "\f0eb";
}

.fa-exchange:before {
  content: "\f0ec";
}

.fa-cloud-download:before {
  content: "\f0ed";
}

.fa-cloud-upload:before {
  content: "\f0ee";
}

.fa-user-md:before {
  content: "\f0f0";
}

.fa-stethoscope:before {
  content: "\f0f1";
}

.fa-suitcase:before {
  content: "\f0f2";
}

.fa-bell-o:before {
  content: "\f0a2";
}

.fa-coffee:before {
  content: "\f0f4";
}

.fa-cutlery:before {
  content: "\f0f5";
}

.fa-file-text-o:before {
  content: "\f0f6";
}

.fa-building-o:before {
  content: "\f0f7";
}

.fa-hospital-o:before {
  content: "\f0f8";
}

.fa-ambulance:before {
  content: "\f0f9";
}

.fa-medkit:before {
  content: "\f0fa";
}

.fa-fighter-jet:before {
  content: "\f0fb";
}

.fa-beer:before {
  content: "\f0fc";
}

.fa-h-square:before {
  content: "\f0fd";
}

.fa-plus-square:before {
  content: "\f0fe";
}

.fa-angle-double-left:before {
  content: "\f100";
}

.fa-angle-double-right:before {
  content: "\f101";
}

.fa-angle-double-up:before {
  content: "\f102";
}

.fa-angle-double-down:before {
  content: "\f103";
}

.fa-angle-left:before {
  content: "\f104";
}

.fa-angle-right:before {
  content: "\f105";
}

.fa-angle-up:before {
  content: "\f106";
}

.fa-angle-down:before {
  content: "\f107";
}

.fa-desktop:before {
  content: "\f108";
}

.fa-laptop:before {
  content: "\f109";
}

.fa-tablet:before {
  content: "\f10a";
}

.fa-mobile-phone:before,
.fa-mobile:before {
  content: "\f10b";
}

.fa-circle-o:before {
  content: "\f10c";
}

.fa-quote-left:before {
  content: "\f10d";
}

.fa-quote-right:before {
  content: "\f10e";
}

.fa-spinner:before {
  content: "\f110";
}

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

.fa-mail-reply:before,
.fa-reply:before {
  content: "\f112";
}

.fa-github-alt:before {
  content: "\f113";
}

.fa-folder-o:before {
  content: "\f114";
}

.fa-folder-open-o:before {
  content: "\f115";
}

.fa-smile-o:before {
  content: "\f118";
}

.fa-frown-o:before {
  content: "\f119";
}

.fa-meh-o:before {
  content: "\f11a";
}

.fa-gamepad:before {
  content: "\f11b";
}

.fa-keyboard-o:before {
  content: "\f11c";
}

.fa-flag-o:before {
  content: "\f11d";
}

.fa-flag-checkered:before {
  content: "\f11e";
}

.fa-terminal:before {
  content: "\f120";
}

.fa-code:before {
  content: "\f121";
}

.fa-mail-reply-all:before,
.fa-reply-all:before {
  content: "\f122";
}

.fa-star-half-empty:before,
.fa-star-half-full:before,
.fa-star-half-o:before {
  content: "\f123";
}

.fa-location-arrow:before {
  content: "\f124";
}

.fa-crop:before {
  content: "\f125";
}

.fa-code-fork:before {
  content: "\f126";
}

.fa-unlink:before,
.fa-chain-broken:before {
  content: "\f127";
}

.fa-question:before {
  content: "\f128";
}

.fa-info:before {
  content: "\f129";
}

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

.fa-superscript:before {
  content: "\f12b";
}

.fa-subscript:before {
  content: "\f12c";
}

.fa-eraser:before {
  content: "\f12d";
}

.fa-puzzle-piece:before {
  content: "\f12e";
}

.fa-microphone:before {
  content: "\f130";
}

.fa-microphone-slash:before {
  content: "\f131";
}

.fa-shield:before {
  content: "\f132";
}

.fa-calendar-o:before {
  content: "\f133";
}

.fa-fire-extinguisher:before {
  content: "\f134";
}

.fa-rocket:before {
  content: "\f135";
}

.fa-maxcdn:before {
  content: "\f136";
}

.fa-chevron-circle-left:before {
  content: "\f137";
}

.fa-chevron-circle-right:before {
  content: "\f138";
}

.fa-chevron-circle-up:before {
  content: "\f139";
}

.fa-chevron-circle-down:before {
  content: "\f13a";
}

.fa-html5:before {
  content: "\f13b";
}

.fa-css3:before {
  content: "\f13c";
}

.fa-anchor:before {
  content: "\f13d";
}

.fa-unlock-alt:before {
  content: "\f13e";
}

.fa-bullseye:before {
  content: "\f140";
}

.fa-ellipsis-h:before {
  content: "\f141";
}

.fa-ellipsis-v:before {
  content: "\f142";
}

.fa-rss-square:before {
  content: "\f143";
}

.fa-play-circle:before {
  content: "\f144";
}

.fa-ticket:before {
  content: "\f145";
}

.fa-minus-square:before {
  content: "\f146";
}

.fa-minus-square-o:before {
  content: "\f147";
}

.fa-level-up:before {
  content: "\f148";
}

.fa-level-down:before {
  content: "\f149";
}

.fa-check-square:before {
  content: "\f14a";
}

.fa-pencil-square:before {
  content: "\f14b";
}

.fa-external-link-square:before {
  content: "\f14c";
}

.fa-share-square:before {
  content: "\f14d";
}

.fa-compass:before {
  content: "\f14e";
}

.fa-toggle-down:before,
.fa-caret-square-o-down:before {
  content: "\f150";
}

.fa-toggle-up:before,
.fa-caret-square-o-up:before {
  content: "\f151";
}

.fa-toggle-right:before,
.fa-caret-square-o-right:before {
  content: "\f152";
}

.fa-euro:before,
.fa-eur:before {
  content: "\f153";
}

.fa-gbp:before {
  content: "\f154";
}

.fa-dollar:before,
.fa-usd:before {
  content: "\f155";
}

.fa-rupee:before,
.fa-inr:before {
  content: "\f156";
}

.fa-cny:before,
.fa-rmb:before,
.fa-yen:before,
.fa-jpy:before {
  content: "\f157";
}

.fa-ruble:before,
.fa-rouble:before,
.fa-rub:before {
  content: "\f158";
}

.fa-won:before,
.fa-krw:before {
  content: "\f159";
}

.fa-bitcoin:before,
.fa-btc:before {
  content: "\f15a";
}

.fa-file:before {
  content: "\f15b";
}

.fa-file-text:before {
  content: "\f15c";
}

.fa-sort-alpha-asc:before {
  content: "\f15d";
}

.fa-sort-alpha-desc:before {
  content: "\f15e";
}

.fa-sort-amount-asc:before {
  content: "\f160";
}

.fa-sort-amount-desc:before {
  content: "\f161";
}

.fa-sort-numeric-asc:before {
  content: "\f162";
}

.fa-sort-numeric-desc:before {
  content: "\f163";
}

.fa-thumbs-up:before {
  content: "\f164";
}

.fa-thumbs-down:before {
  content: "\f165";
}

.fa-youtube-square:before {
  content: "\f166";
}

.fa-youtube:before {
  content: "\f167";
}

.fa-xing:before {
  content: "\f168";
}

.fa-xing-square:before {
  content: "\f169";
}

.fa-youtube-play:before {
  content: "\f16a";
}

.fa-dropbox:before {
  content: "\f16b";
}

.fa-stack-overflow:before {
  content: "\f16c";
}

.fa-instagram:before {
  content: "\f16d";
}

.fa-flickr:before {
  content: "\f16e";
}

.fa-adn:before {
  content: "\f170";
}

.fa-bitbucket:before {
  content: "\f171";
}

.fa-bitbucket-square:before {
  content: "\f172";
}

.fa-tumblr:before {
  content: "\f173";
}

.fa-tumblr-square:before {
  content: "\f174";
}

.fa-long-arrow-down:before {
  content: "\f175";
}

.fa-long-arrow-up:before {
  content: "\f176";
}

.fa-long-arrow-left:before {
  content: "\f177";
}

.fa-long-arrow-right:before {
  content: "\f178";
}

.fa-apple:before {
  content: "\f179";
}

.fa-windows:before {
  content: "\f17a";
}

.fa-android:before {
  content: "\f17b";
}

.fa-linux:before {
  content: "\f17c";
}

.fa-dribbble:before {
  content: "\f17d";
}

.fa-skype:before {
  content: "\f17e";
}

.fa-foursquare:before {
  content: "\f180";
}

.fa-trello:before {
  content: "\f181";
}

.fa-female:before {
  content: "\f182";
}

.fa-male:before {
  content: "\f183";
}

.fa-gittip:before,
.fa-gratipay:before {
  content: "\f184";
}

.fa-sun-o:before {
  content: "\f185";
}

.fa-moon-o:before {
  content: "\f186";
}

.fa-archive:before {
  content: "\f187";
}

.fa-bug:before {
  content: "\f188";
}

.fa-vk:before {
  content: "\f189";
}

.fa-weibo:before {
  content: "\f18a";
}

.fa-renren:before {
  content: "\f18b";
}

.fa-pagelines:before {
  content: "\f18c";
}

.fa-stack-exchange:before {
  content: "\f18d";
}

.fa-arrow-circle-o-right:before {
  content: "\f18e";
}

.fa-arrow-circle-o-left:before {
  content: "\f190";
}

.fa-toggle-left:before,
.fa-caret-square-o-left:before {
  content: "\f191";
}

.fa-dot-circle-o:before {
  content: "\f192";
}

.fa-wheelchair:before {
  content: "\f193";
}

.fa-vimeo-square:before {
  content: "\f194";
}

.fa-turkish-lira:before,
.fa-try:before {
  content: "\f195";
}

.fa-plus-square-o:before {
  content: "\f196";
}

.fa-space-shuttle:before {
  content: "\f197";
}

.fa-slack:before {
  content: "\f198";
}

.fa-envelope-square:before {
  content: "\f199";
}

.fa-wordpress:before {
  content: "\f19a";
}

.fa-openid:before {
  content: "\f19b";
}

.fa-institution:before,
.fa-bank:before,
.fa-university:before {
  content: "\f19c";
}

.fa-mortar-board:before,
.fa-graduation-cap:before {
  content: "\f19d";
}

.fa-yahoo:before {
  content: "\f19e";
}

.fa-google:before {
  content: "\f1a0";
}

.fa-reddit:before {
  content: "\f1a1";
}

.fa-reddit-square:before {
  content: "\f1a2";
}

.fa-stumbleupon-circle:before {
  content: "\f1a3";
}

.fa-stumbleupon:before {
  content: "\f1a4";
}

.fa-delicious:before {
  content: "\f1a5";
}

.fa-digg:before {
  content: "\f1a6";
}

.fa-pied-piper:before {
  content: "\f1a7";
}

.fa-pied-piper-alt:before {
  content: "\f1a8";
}

.fa-drupal:before {
  content: "\f1a9";
}

.fa-joomla:before {
  content: "\f1aa";
}

.fa-language:before {
  content: "\f1ab";
}

.fa-fax:before {
  content: "\f1ac";
}

.fa-building:before {
  content: "\f1ad";
}

.fa-child:before {
  content: "\f1ae";
}

.fa-paw:before {
  content: "\f1b0";
}

.fa-spoon:before {
  content: "\f1b1";
}

.fa-cube:before {
  content: "\f1b2";
}

.fa-cubes:before {
  content: "\f1b3";
}

.fa-behance:before {
  content: "\f1b4";
}

.fa-behance-square:before {
  content: "\f1b5";
}

.fa-steam:before {
  content: "\f1b6";
}

.fa-steam-square:before {
  content: "\f1b7";
}

.fa-recycle:before {
  content: "\f1b8";
}

.fa-automobile:before,
.fa-car:before {
  content: "\f1b9";
}

.fa-cab:before,
.fa-taxi:before {
  content: "\f1ba";
}

.fa-tree:before {
  content: "\f1bb";
}

.fa-spotify:before {
  content: "\f1bc";
}

.fa-deviantart:before {
  content: "\f1bd";
}

.fa-soundcloud:before {
  content: "\f1be";
}

.fa-database:before {
  content: "\f1c0";
}

.fa-file-pdf-o:before {
  content: "\f1c1";
}

.fa-file-word-o:before {
  content: "\f1c2";
}

.fa-file-excel-o:before {
  content: "\f1c3";
}

.fa-file-powerpoint-o:before {
  content: "\f1c4";
}

.fa-file-photo-o:before,
.fa-file-picture-o:before,
.fa-file-image-o:before {
  content: "\f1c5";
}

.fa-file-zip-o:before,
.fa-file-archive-o:before {
  content: "\f1c6";
}

.fa-file-sound-o:before,
.fa-file-audio-o:before {
  content: "\f1c7";
}

.fa-file-movie-o:before,
.fa-file-video-o:before {
  content: "\f1c8";
}

.fa-file-code-o:before {
  content: "\f1c9";
}

.fa-vine:before {
  content: "\f1ca";
}

.fa-codepen:before {
  content: "\f1cb";
}

.fa-jsfiddle:before {
  content: "\f1cc";
}

.fa-life-bouy:before,
.fa-life-buoy:before,
.fa-life-saver:before,
.fa-support:before,
.fa-life-ring:before {
  content: "\f1cd";
}

.fa-circle-o-notch:before {
  content: "\f1ce";
}

.fa-ra:before,
.fa-rebel:before {
  content: "\f1d0";
}

.fa-ge:before,
.fa-empire:before {
  content: "\f1d1";
}

.fa-git-square:before {
  content: "\f1d2";
}

.fa-git:before {
  content: "\f1d3";
}

.fa-hacker-news:before {
  content: "\f1d4";
}

.fa-tencent-weibo:before {
  content: "\f1d5";
}

.fa-qq:before {
  content: "\f1d6";
}

.fa-wechat:before,
.fa-weixin:before {
  content: "\f1d7";
}

.fa-send:before,
.fa-paper-plane:before {
  content: "\f1d8";
}

.fa-send-o:before,
.fa-paper-plane-o:before {
  content: "\f1d9";
}

.fa-history:before {
  content: "\f1da";
}

.fa-genderless:before,
.fa-circle-thin:before {
  content: "\f1db";
}

.fa-header:before {
  content: "\f1dc";
}

.fa-paragraph:before {
  content: "\f1dd";
}

.fa-sliders:before {
  content: "\f1de";
}

.fa-share-alt:before {
  content: "\f1e0";
}

.fa-share-alt-square:before {
  content: "\f1e1";
}

.fa-bomb:before {
  content: "\f1e2";
}

.fa-soccer-ball-o:before,
.fa-futbol-o:before {
  content: "\f1e3";
}

.fa-tty:before {
  content: "\f1e4";
}

.fa-binoculars:before {
  content: "\f1e5";
}

.fa-plug:before {
  content: "\f1e6";
}

.fa-slideshare:before {
  content: "\f1e7";
}

.fa-twitch:before {
  content: "\f1e8";
}

.fa-yelp:before {
  content: "\f1e9";
}

.fa-newspaper-o:before {
  content: "\f1ea";
}

.fa-wifi:before {
  content: "\f1eb";
}

.fa-calculator:before {
  content: "\f1ec";
}

.fa-paypal:before {
  content: "\f1ed";
}

.fa-google-wallet:before {
  content: "\f1ee";
}

.fa-cc-visa:before {
  content: "\f1f0";
}

.fa-cc-mastercard:before {
  content: "\f1f1";
}

.fa-cc-discover:before {
  content: "\f1f2";
}

.fa-cc-amex:before {
  content: "\f1f3";
}

.fa-cc-paypal:before {
  content: "\f1f4";
}

.fa-cc-stripe:before {
  content: "\f1f5";
}

.fa-bell-slash:before {
  content: "\f1f6";
}

.fa-bell-slash-o:before {
  content: "\f1f7";
}

.fa-trash:before {
  content: "\f1f8";
}

.fa-copyright:before {
  content: "\f1f9";
}

.fa-at:before {
  content: "\f1fa";
}

.fa-eyedropper:before {
  content: "\f1fb";
}

.fa-paint-brush:before {
  content: "\f1fc";
}

.fa-birthday-cake:before {
  content: "\f1fd";
}

.fa-area-chart:before {
  content: "\f1fe";
}

.fa-pie-chart:before {
  content: "\f200";
}

.fa-line-chart:before {
  content: "\f201";
}

.fa-lastfm:before {
  content: "\f202";
}

.fa-lastfm-square:before {
  content: "\f203";
}

.fa-toggle-off:before {
  content: "\f204";
}

.fa-toggle-on:before {
  content: "\f205";
}

.fa-bicycle:before {
  content: "\f206";
}

.fa-bus:before {
  content: "\f207";
}

.fa-ioxhost:before {
  content: "\f208";
}

.fa-angellist:before {
  content: "\f209";
}

.fa-cc:before {
  content: "\f20a";
}

.fa-shekel:before,
.fa-sheqel:before,
.fa-ils:before {
  content: "\f20b";
}

.fa-meanpath:before {
  content: "\f20c";
}

.fa-buysellads:before {
  content: "\f20d";
}

.fa-connectdevelop:before {
  content: "\f20e";
}

.fa-dashcube:before {
  content: "\f210";
}

.fa-forumbee:before {
  content: "\f211";
}

.fa-leanpub:before {
  content: "\f212";
}

.fa-sellsy:before {
  content: "\f213";
}

.fa-shirtsinbulk:before {
  content: "\f214";
}

.fa-simplybuilt:before {
  content: "\f215";
}

.fa-skyatlas:before {
  content: "\f216";
}

.fa-cart-plus:before {
  content: "\f217";
}

.fa-cart-arrow-down:before {
  content: "\f218";
}

.fa-diamond:before {
  content: "\f219";
}

.fa-ship:before {
  content: "\f21a";
}

.fa-user-secret:before {
  content: "\f21b";
}

.fa-motorcycle:before {
  content: "\f21c";
}

.fa-street-view:before {
  content: "\f21d";
}

.fa-heartbeat:before {
  content: "\f21e";
}

.fa-venus:before {
  content: "\f221";
}

.fa-mars:before {
  content: "\f222";
}

.fa-mercury:before {
  content: "\f223";
}

.fa-transgender:before {
  content: "\f224";
}

.fa-transgender-alt:before {
  content: "\f225";
}

.fa-venus-double:before {
  content: "\f226";
}

.fa-mars-double:before {
  content: "\f227";
}

.fa-venus-mars:before {
  content: "\f228";
}

.fa-mars-stroke:before {
  content: "\f229";
}

.fa-mars-stroke-v:before {
  content: "\f22a";
}

.fa-mars-stroke-h:before {
  content: "\f22b";
}

.fa-neuter:before {
  content: "\f22c";
}

.fa-facebook-official:before {
  content: "\f230";
}

.fa-pinterest-p:before {
  content: "\f231";
}

.fa-whatsapp:before {
  content: "\f232";
}

.fa-server:before {
  content: "\f233";
}

.fa-user-plus:before {
  content: "\f234";
}

.fa-user-times:before {
  content: "\f235";
}

.fa-hotel:before,
.fa-bed:before {
  content: "\f236";
}

.fa-viacoin:before {
  content: "\f237";
}

.fa-train:before {
  content: "\f238";
}

.fa-subway:before {
  content: "\f239";
}

.fa-medium:before {
  content: "\f23a";
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2dvdnVrLWZyb250ZW5kLXByb3BlcnRpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9zZXR0aW5ncy9fdHlwb2dyYXBoeS1mb250LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19saW5rcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvc2V0dGluZ3MvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19mb250LWZhY2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay92ZW5kb3IvX3Nhc3MtbXEuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2hlbHBlcnMvX2ZvY3VzZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL3NldHRpbmdzL19jb2xvdXJzLWFwcGxpZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvcmUvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19zcGFjaW5nLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb3JlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb3JlL19zZWN0aW9uLWJyZWFrLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL29iamVjdHMvX2Zvcm0tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL19tYWluLXdyYXBwZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL29iamVjdHMvX3RlbXBsYXRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vYmplY3RzL193aWR0aC1jb250YWluZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL3NldHRpbmdzL19tZWFzdXJlbWVudHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvYWNjb3JkaW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9iYWNrLWxpbmsvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2JyZWFkY3J1bWJzL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9idXR0b24vX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2Vycm9yLW1lc3NhZ2UvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2hpbnQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2xhYmVsL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy90ZXh0YXJlYS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY2hhcmFjdGVyLWNvdW50L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9maWVsZHNldC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY2hlY2tib3hlcy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvY29va2llLWJhbm5lci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2RhdGUtaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2RldGFpbHMvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL19zaGFwZS1hcnJvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9lcnJvci1zdW1tYXJ5L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9leGl0LXRoaXMtcGFnZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvZmlsZS11cGxvYWQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL2Zvb3Rlci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvaGVhZGVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9pbnNldC10ZXh0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9ub3RpZmljYXRpb24tYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9wYWdpbmF0aW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9wYW5lbC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvcGFzc3dvcmQtaW5wdXQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL3RhZy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvcGhhc2UtYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9yYWRpb3MvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9jb21wb25lbnRzL3NlbGVjdC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvc2VydmljZS1uYXZpZ2F0aW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy9za2lwLWxpbmsvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvc3VtbWFyeS1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy90YWJsZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvdGFicy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL2NvbXBvbmVudHMvdGFzay1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvY29tcG9uZW50cy93YXJuaW5nLXRleHQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay91dGlsaXRpZXMvX3Zpc3VhbGx5LWhpZGRlbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvb3ZlcnJpZGVzL19kaXNwbGF5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vdmVycmlkZXMvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9kaXN0L2dvdnVrL292ZXJyaWRlcy9fdGV4dC1hbGlnbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2Rpc3QvZ292dWsvb3ZlcnJpZGVzL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZGlzdC9nb3Z1ay9vdmVycmlkZXMvX3dpZHRoLnNjc3MiLCJwYXR0ZXJucy9fc3RlcC1ieS1zdGVwLWhlYWRlci5zY3NzIiwicGF0dGVybnMvX3N0ZXAtYnktc3RlcC1uYXYuc2NzcyIsInBhdHRlcm5zL19zdGVwLWJ5LXN0ZXAtcmVsYXRlZC5zY3NzIiwicGF0dGVybnMvX3Rhc2stbGlzdC5zY3NzIiwicGF0dGVybnMvX3JlbGF0ZWQtaXRlbXMuc2NzcyIsImRjbGcvX2Nob3Nlbi5zY3NzIiwiZGNsZy9fcGFsZXR0ZS5zY3NzIiwiZGNsZy9fY3VzdG9tX2NoZWNrYm94LnNjc3MiLCJkY2xnL19kYXRlcGlja2VyLnNjc3MiLCJkY2xnL19ncmFudHMuc2NzcyIsImRjbGcvX3BhZ2VyLnNjc3MiLCJkY2xnL19icmVhZGNydW1icy5zY3NzIiwiZGNsZy9faGVhZGVyLnNjc3MiLCJkY2xnL19zbGlkaW5nLXBhbmVsLnNjc3MiLCJkY2xnL19mb3Jtcy5zY3NzIiwiZGNsZy9fc2VhcmNoLnNjc3MiLCJkY2xnL19kYXRhR3JpZC5zY3NzIiwiZGNsZy9fZGF0YUdyaWREZWx0YTIuc2NzcyIsImRjbGcvX2ZhY2V0LnNjc3MiLCJkY2xnL19ub3RpY2Uuc2NzcyIsImRjbGcvX2Jhcl9ncmFwaF9kZXNjcmlwdGlvbl9ib3guc2NzcyIsImRjbGcvX3RhYnMuc2NzcyIsImRjbGcvX3ByZXZpb3VzLW5leHQtbmF2aWdhdGlvbi5zY3NzIiwiZGNsZy9fZGlhbG9nX2N1c3RvbS5zY3NzIiwiZGNsZy9fYmFubmVyLnNjc3MiLCJkY2xnL19vcmJlb24taW50ZWdyYXRpb24uc2NzcyIsImRjbGcvX25vdGlmaWNhdGlvbl9iYW5uZXIuc2NzcyIsImRjbGcvX3dpZGVfcGFnZS5zY3NzIiwiZGNsZy9fbG9hZGluZ19hbmltYXRpb24uc2NzcyIsImRjbGcvX2hlbHAtaW1hZ2VzLnNjc3MiLCJkY2xnL19ob21lcGFnZS5zY3NzIiwiZGNsZy9fZnVsbHNjcmVlbi5zY3NzIiwiZGNsZy9fZ292dWstb3ZlcnJpZGVzLnNjc3MiLCJzY290X2dvdi9fZGF0ZS1waWNrZXIuc2NzcyIsIl9mb250LWF3ZXNvbWUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0VBR0U7RUFJRTtFQUFBO0VBQUE7Ozs7QUNORjtFQ2NBLGFDRmtCO0VER2xCO0VBQ0E7RUVhQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjs7QUNkeEI7QUFDQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLEtBQ0U7RUFFRjs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBLEtBQ0U7RUFFRjs7QUNrTUE7RU5uT047SUN5QkUsYUNIc0I7OztBQ1R4QjtFQXFDRSwyQkNMbUM7RURRbkM7RUFDUTtFQUNSO0VBQ1E7O0FBdkNWO0VJRkE7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0FKZ0RSO0VBQ0UsT0t1RGdCOztBTHBEbEI7RUFDRSxPSzBEd0I7O0FMdkQxQjtFQUNFLE9LNkRzQjs7QUwxRHhCO0VBQ0UsT0tnRXVCOztBTDNEekI7RUFDRSxPS25Cc0I7O0FGdUpsQjtFSCtIRjtJQUNFO0lBQ0E7SUFLQTs7OztBQTNLTjtFQUVFLE9LeEkwQjs7QUwySTVCO0VBRUUsT0toTGdCOztBTHFMbEI7RUFDRSxPSy9Ic0I7OztBTG9KeEI7RUY1TEEsT09ma0I7O0FGOE1aO0VISE47SUZ6TEUsT09Rc0I7OztBTHdMeEI7RUFFSTs7QUFJSjtFRnpNQSxPT2ZrQjs7QUY4TVo7RUhVTjtJRnRNRSxPT1FzQjs7OztBTHFOeEI7RUFFRTs7QUFLRjtFQUVFOztBQUdGO0VBQ0UsT0tyTXNCOzs7QUxvUXhCO0VBQ0U7OztBQXZDRjtFQUNFLE9LdktnQjs7QUwwS2xCO0VBQ0UsT0szS2dCOztBTDhLbEI7RUFDRSxPS2pLc0I7O0FMb0t4QjtFQUNFLE9LOUp1Qjs7QUxtS3pCO0VBQ0UsT0tqUHNCOzs7QVJ6Q3hCO0VHcVZBO0VBR0E7RUFHQTs7QUFFQTtFSXZWQTtFQUNBLFlBQ0U7Ozs7QUUzQ0Y7RVJjQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFQXZNM0IsT09ma0I7RUNsQmhCO0VDc0dJO0VEcEdKO0VBQ0E7O0FINk5JO0VHbk9OO0lSeUJFLGFDSHNCOzs7QUk2TWxCO0VHbk9OO0lSdVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VHbk9OO0lSa1BNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VHbk9OO0lSdUNFLE9PUXNCOzs7QUZvTGxCO0VHbk9OO0lDZ0hROzs7QUR2R047RUFDRTs7O0FBSUo7RUFJRTs7O0FBT0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0FBQUE7RUFFRTs7QUg4TEk7RUdoTU47QUFBQTtJQUtJOzs7O0FBSUo7RUFDRTs7QUhzTEk7RUd2TE47SUFJSTs7Ozs7QUU5Q0o7RVZrQ0EsT09ma0I7RVBQbEIsYUNGa0I7RURHbEI7RUFDQTtFQTRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7RVVyT3pCO0VBRUE7RURpR0k7O0FKMEhBO0VLak9OO0lWcUNFLE9PUXNCOzs7QUZvTGxCO0VLak9OO0lWdUJFLGFDSHNCOzs7QUk2TWxCO0VLak9OO0lWcVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VLak9OO0lWZ1BNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VLak9OO0lEOEdROzs7O0FDaEdSO0VWb0JBLE9PZmtCO0VQUGxCLGFDRmtCO0VER2xCO0VBQ0E7RUE0Q0E7RUFrTEksV0FKYztFQUtkLGFBSnVCO0VVdk56QjtFQUVBO0VEbUZJOztBSjBIQTtFS25OTjtJVnVCRSxPT1FzQjs7O0FGb0xsQjtFS25OTjtJVlNFLGFDSHNCOzs7QUk2TWxCO0VLbk5OO0lWdU9NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VLbk5OO0lWa09NLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VLbk5OO0lEZ0dROzs7O0FDbEZSO0VWTUEsT09ma0I7RVBQbEIsYUNGa0I7RURHbEI7RUFDQTtFQTRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7RVV6TXpCO0VBRUE7RURxRUk7O0FKMEhBO0VLck1OO0lWU0UsT09Rc0I7OztBRm9MbEI7RUtyTU47SVZMRSxhQ0hzQjs7O0FJNk1sQjtFS3JNTjtJVnlOTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFS3JNTjtJVm9OTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFS3JNTjtJRGtGUTs7OztBQ3BFUjtFVlJBLE9PZmtCO0VQUGxCLGFDRmtCO0VER2xCO0VBQ0E7RUE0Q0E7RUFrTEksV0FKYztFQUtkLGFBSnVCO0VVM0x6QjtFQUVBO0VEdURJOztBSjBIQTtFS3ZMTjtJVkxFLE9PUXNCOzs7QUZvTGxCO0VLdkxOO0lWbkJFLGFDSHNCOzs7QUk2TWxCO0VLdkxOO0lWMk1NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VLdkxOO0lWc01NLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VLdkxOO0lEb0VROzs7O0FDcERSO0VWOUNBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VVNUt6QjtFQUVBO0VBRUEsT0hYMEI7O0FGMkt0QjtFS3ZLTjtJVm5DRSxhQ0hzQjs7O0FJNk1sQjtFS3ZLTjtJVjJMTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFS3ZLTjtJVnNMTSxXQVRRO0lBVVIsYUFScUI7Ozs7QVVySzNCO0VWeERBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VVbEt6QjtFQUVBO0VBQ0EsT0hwQjBCOztBRjJLdEI7RUs3Sk47SVY3Q0UsYUNIc0I7OztBSTZNbEI7RUs3Sk47SVZpTE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RUs3Sk47SVY0S00sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RUs3Sk47SUFTSTs7OztBQUlKO0VWckVBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VVckp6QjtFQUVBLE9IaEMwQjs7QUYyS3RCO0VLaEpOO0lWMURFLGFDSHNCOzs7QUk2TWxCO0VLaEpOO0lWb0tNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VLaEpOO0lWK0pNLFdBVFE7SUFVUixhQVJxQjs7OztBVTlJM0I7RVZ6REEsT09ma0I7RVBQbEIsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RVUxSXpCO0VEUUk7O0FKMEhBO0VLdElOO0lWdERFLE9PUXNCOzs7QUZvTGxCO0VLdElOO0lWcEVFLGFDSHNCOzs7QUk2TWxCO0VLdElOO0lWMEpNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VLdElOO0lWcUpNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VLdElOO0lEbUJROzs7O0FDUFI7RVZyRUEsT09ma0I7RVBQbEIsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RVU5SHpCO0VESkk7O0FKMEhBO0VLMUhOO0lWbEVFLE9PUXNCOzs7QUZvTGxCO0VLMUhOO0lWaEZFLGFDSHNCOzs7QUk2TWxCO0VLMUhOO0lWOElNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VLMUhOO0lWeUlNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VLMUhOO0lET1E7Ozs7QUNLUjtFVmpGQSxPT2ZrQjtFUFBsQixhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFVWxIekI7RURoQkk7O0FKMEhBO0VLOUdOO0lWOUVFLE9PUXNCOzs7QUZvTGxCO0VLOUdOO0lWNUZFLGFDSHNCOzs7QUk2TWxCO0VLOUdOO0lWa0lNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VLOUdOO0lWNkhNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VLOUdOO0lETFE7Ozs7QUNrQlI7RVY5RkEsT09ma0I7RVBQbEIsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RVVyR3pCO0VEN0JJOztBSjBIQTtFS2pHTjtJVjNGRSxPT1FzQjs7O0FGb0xsQjtFS2pHTjtJVnpHRSxhQ0hzQjs7O0FJNk1sQjtFS2pHTjtJVnFITSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFS2pHTjtJVmdITSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFS2pHTjtJRGxCUTs7OztBQytDUjtFQUNFOztBTG1FSTtFS3BFTjtJQUlJOzs7O0FBSUo7QUFBQTtBQUFBO0FBQUE7QUFBQTtFRDlETTs7QUowSEE7RUs1RE47QUFBQTtBQUFBO0FBQUE7QUFBQTtJRHZEUTs7OztBQzZEUjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBTUU7O0FMZ0RJO0VLdEROO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7SUFTSTs7Ozs7QUN0TEo7RUFDRTtFQUNBOzs7QUFTRjtFRjhGTTtFQUFBOztBSjBIQTtFTXhOTjtJRnFHUTs7O0FKbUhGO0VNeE5OO0lGcUdROzs7O0FFNUZSO0VGcUZNO0VBQUE7O0FKMEhBO0VNL01OO0lGNEZROzs7QUptSEY7RU0vTU47SUY0RlE7Ozs7QUVuRlI7RUY0RU07RUFBQTs7QUowSEE7RU10TU47SUZtRlE7OztBSm1IRjtFTXRNTjtJRm1GUTs7OztBRXhFUjtFQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUMvQkY7RUgrRk07RUczRUo7RUFDQTtFQUNBOztBUG1NSTtFT3pOTjtJSHNHUTs7O0FHekVOO0VaekJGLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VZbE12QjtFQUdBO0VBQ0EsWUEzQmE7RUE0QmI7RUFDQTs7QVBvTEU7RU81TEo7SVpkQSxhQ0hzQjs7O0FJNk1sQjtFTzVMSjtJWmdOSSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFTzVMSjtJWjJNSSxXQVRRO0lBVVIsYUFScUI7OztBWXZMekI7RUFDRTs7QVA4S0U7RU96Tk47SUFrREk7SUFFQTtJQUNBO0lBQ0E7O0VBRUE7QUFBQTtJQUVFLGNBekRhOztFQTREZjtJQUNFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUN0RU47RUp1R007O0FLakdOO0VBQ0U7RUFDQTtFQUNBOztBVHdOSTtFUWpPTjtJSjhHUTs7O0FJMUdOO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7QUFFQTtFQUVFO0VBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FFaEJKO0VBRUU7RUFDQTs7QURHRjtFQUNFO0VBQ0E7RUFDQTs7O0FDRkE7RUN5Q0Y7RUFFRTtFQUVGOztBWDZLTTtFVTFOSjtJQytDQTtJQUNBLE9BUjJDOzs7O0FEeEMzQztFQ3lDRjtFQUVFO0VBRUY7O0FYNktNO0VVMU5KO0lDK0NBO0lBQ0EsT0FSMkM7Ozs7QUR4QzNDO0VDeUNGO0VBRUU7RUFFRjs7QVg2S007RVUxTko7SUMrQ0E7SUFDQSxPQVIyQzs7OztBRHhDM0M7RUN5Q0Y7RUFFRTtFQUVGOztBWDZLTTtFVTFOSjtJQytDQTtJQUNBLE9BUjJDOzs7O0FEeEMzQztFQ3lDRjtFQUVFO0VBRUY7O0FYNktNO0VVMU5KO0lDK0NBO0lBQ0EsT0FSMkM7Ozs7QUR4QzNDO0VDeUNGO0VBRUU7RUFFRjs7QVg2S007RVUxTko7SUMrQ0E7SUFDQSxPQVIyQzs7OztBRC9CM0M7RUNnQ0Y7RUFJQTs7QVg2S007RVVqTko7SUNzQ0E7SUFDQSxPQVIyQzs7OztBRC9CM0M7RUNnQ0Y7RUFJQTs7QVg2S007RVVqTko7SUNzQ0E7SUFDQSxPQVIyQzs7OztBRC9CM0M7RUNnQ0Y7RUFJQTs7QVg2S007RVVqTko7SUNzQ0E7SUFDQSxPQVIyQzs7OztBRC9CM0M7RUNnQ0Y7RUFJQTs7QVg2S007RVVqTko7SUNzQ0E7SUFDQSxPQVIyQzs7OztBRC9CM0M7RUNnQ0Y7RUFJQTs7QVg2S007RVVqTko7SUNzQ0E7SUFDQSxPQVIyQzs7OztBRC9CM0M7RUNnQ0Y7RUFJQTs7QVg2S007RVVqTko7SUNzQ0E7SUFDQSxPQVIyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FDMUI3QztFQUlFO0VBQ0E7RUFDQTs7QVpzTUk7RVk1TU47SUFZSTtJQUNBOzs7O0FBV0o7QUFBQTtFUjBETTs7QUowSEE7RVlwTE47QUFBQTtJUmlFUTs7Ozs7Ozs7Ozs7Ozs7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RTtJQUNRO0lBRVI7SUFDQTs7RUQrREE7SUFDRTs7Ozs7O0FFbElKO0VyQ1lBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VBdk0zQixPT2ZrQjtFRWtGWjtFQUVBO0U0QmpHSjs7QWhDMk5JO0VnQ2pPTjtJckN1QkUsYUNIc0I7OztBSTZNbEI7RWdDak9OO0lyQ3FQTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFZ0NqT047SXJDZ1BNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VnQ2pPTjtJckNxQ0UsT09Rc0I7OztBRm9MbEI7RWdDak9OO0k1QjRHUTs7O0FKcUhGO0VnQ2pPTjtJNUI4R1E7OztBNEJ0R047RUFDRTs7O0FBSUo7RXJDK05JLFdBSmM7RUFLZCxhQUp1QjtFQS9LM0I7RXFDekNFO0U1QnNGSTs7QUowSEE7RWdDcE5OO0lyQ3dPTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFZ0NwTk47SXJDbU9NLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VnQ3BOTjtJNUJpR1E7Ozs7QTRCeEZOO0VBQ0U7O0FBR0Y7RTVCNkVJOztBSjBIQTtFZ0N2TUo7STVCb0ZNOzs7QTRCaEZOO0U1QnlFSTs7O0E0Qm5FTjtFQUNFOzs7QUFJRjtFQUNFOzs7QUFHRjtFckNhQTtFQTlDQSxhQ0ZrQjtFREdsQjtFQUNBO0VFYUE7RUFHRSwyQkNoQjZCO0VEb0I3Qix1QkNQMEI7O0FFc010QjtFZ0NwTE47SXJDdEJFLGFDSHNCOzs7QUNUeEI7RUFxQ0UsMkJDTG1DO0VEUW5DO0VBQ1E7RUFDUjtFQUNROztBQXZDVjtFSUZBO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROztBSndGUjtFQUVFLE9LakNpQjs7QUxvQ25CO0VBQ0U7O0FBR0Y7RUFDRSxPS3pDaUI7O0FMOENuQjtFQUNFLE9LeERzQjs7Ozs7QStCeEV4QjtFN0JxR007RTZCbkdKO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QWpDd05JO0VpQy9OTjtJN0I0R1E7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O0lBY1osYUFicUI7OztBS1JyQjtFb0NzRUo7SXpDdkRJLFdBVFE7SUFVUixhQVJxQjs7OztBeUN1RXZCO0VBR0UsT0FqVHFCOztBcEMrTnJCO0VvQzhFSjtJQVVJLE9sQzdTYTs7O0FrQ2tUZjtFQUNFLE9sQ3JQa0I7OztBa0MwUHhCO0VBQ0U7RUFDQTs7O0FwQ3JHSTtFb0N5R0o7SUFDRTtJQUNBO0lBQ0E7O0VBSUE7SUFFRTs7RUFJRjtJQUNFOzs7Ozs7Ozs7QUMxVk47RTFDY0EsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RUF2TTNCLE9PZmtCO0VtQ2xCaEI7RWpDc0dJO0VBQUE7RWlDaEdKO0VBRUE7O0FyQ3dOSTtFcUNuT047STFDeUJFLGFDSHNCOzs7QUk2TWxCO0VxQ25PTjtJMUN1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RXFDbk9OO0kxQ2tQTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFcUNuT047STFDdUNFLE9PUXNCOzs7QUZvTGxCO0VxQ25PTjtJakNnSFE7OztBSm1IRjtFcUNuT047SWpDZ0hROzs7QWlDbkdOO0VBQ0U7O0FBR0Y7QUFBQTtFQUVFOzs7OztBQ25CSjtFM0NjQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFU2xJckI7RWtDckdKO0VBRUEsa0JwQ1FpQjs7QUZxTmI7RXNDbk9OO0kzQ3lCRSxhQ0hzQjs7O0FJNk1sQjtFc0NuT047STNDdVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VzQ25PTjtJM0NrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RXNDbk9OO0lsQ2dIUTs7O0FrQ3hHTjtFQUNFOzs7QUFJSjtFQUNFO0VBSUE7O0F0Q2lOSTtFc0N0Tk47SUFRSTs7OztBQUlKO0UzQ3FOSSxXQUpjO0VBS2QsYUFKdUI7RUEvSzNCO0UyQzlCRTtFQUNBO0VBQ0E7O0F0Q21NSTtFc0MxTU47STNDOE5NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VzQzFNTjtJM0N5Tk0sV0FUUTtJQVVSLGFBUnFCOzs7O0EyQ3hNM0I7RTNDQ0EsT09ma0I7RW9DaUJoQjtFQUVBLGtCcENGMkI7O0FGNkx2QjtFc0NoTU47STNDSUUsT09Rc0I7OztBRm9MbEI7RXNDaE1OO0lBUUksU0FQZTs7O0FBWWpCO0VBR0U7RUFPQTs7QUFHRjtFQUNFOzs7QUFJSjtFM0M0S0ksV0FKYztFQUtkLGFBSnVCO0VBL0szQjtFMkNVRTtFQUVBOztBdEMySkk7RXNDaktOO0kzQ3FMTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFc0NqS047STNDZ0xNLFdBVFE7SUFVUixhQVJxQjs7OztBMkNoSzNCO0UzQzdEQSxhQ0ZrQjtFREdsQjtFQUNBO0VFYUE7RUFHRSwyQkNoQjZCO0VEb0I3Qix1QkNQMEI7O0FFc010QjtFc0N4Sk47STNDbERFLGFDSHNCOzs7QUNUeEI7RUFxQ0UsMkJDTG1DO0VEUW5DO0VBQ1E7RUFDUjtFQUNROztBQXZDVjtFSUZBO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROztBSjhRUjtFQUNFLE9LdktnQjs7QUwwS2xCO0VBQ0UsT0szS2dCOztBTDhLbEI7RUFDRSxPS2pLc0I7O0FMb0t4QjtFQUNFLE9LOUp1Qjs7QUxtS3pCO0VBQ0UsT0tqUHNCOzs7QW9DSXhCO0VBQ0UsY3BDYW1CO0VvQ1huQixrQnBDV21COztBTDJEckI7RUFFRSxPSzdEbUI7O0FMZ0VyQjtFQUNFOztBQUdGO0VBQ0UsT0tyRW1COztBTDBFckI7RUFDRSxPSzdGc0I7Ozs7QXFDMUV4QjtFbkN1R007RW1DckdKO0VBQ0E7RUFDQTtFQUNBOztBdkM0Tkk7RXVDak9OO0luQzhHUTs7O0FKbUhGO0V1Q2pPTjtJQVFJO0lBQ0E7Ozs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7QUFBQTtBQUFBO0U1Q1BBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0U0Q2xOekI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBdkNxTUk7RXVDOU1OO0FBQUE7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QjVDcUI2Qjs7O0E0Q2xCL0I7RUFDRTtFQUNBO0VBQ0E7O0E5Q21OSTtFOEN0Tk47SUFNSTtJQUNBOzs7O0FBTUo7QUFBQTtFQUVFO0VBQ0E7RUFDQTs7QTlDcU1JO0U4Q3pNTjtBQUFBO0lBT0k7SUFDQTtJQUNBOztFQUVBO0FBQUE7STFDb0VFOzs7QUowSEE7RThDOUxGO0FBQUE7STFDMkVJOzs7O0FKbUhGO0U4Q3hMTjtJQUlJO0lBQ0E7SUFDQSxtQkFqRGdEOzs7QTlDbU85QztFOEN4TE47SUFVSTtJQUNBLHFCQXREZ0Q7Ozs7QUEwRHBEO0VuRDVDQSxhQ0ZrQjtFREdsQjtFQUNBO0VFYUE7RUFHRSwyQkNoQjZCO0VEb0I3Qix1QkNQMEI7O0FFc010QjtFOEN6S047SW5EakNFLGFDSHNCOzs7QUNUeEI7RUFxQ0UsMkJDTG1DO0VEUW5DO0VBQ1E7RUFDUjtFQUNROztBQXZDVjtFSUZBO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROztBSm9UUjtFQUNFOztBQXZDRjtFQUNFLE9LdktnQjs7QUwwS2xCO0VBQ0UsT0szS2dCOztBTDhLbEI7RUFDRSxPS2pLc0I7O0FMb0t4QjtFQUNFLE9LOUp1Qjs7QUxtS3pCO0VBQ0UsT0tqUHNCOztBNENidEI7RUFHRSxPQTVEbUM7OztBQW9FdkM7RW5ENURBLGFDRmtCO0VER2xCO0VBQ0E7RUE0Q0E7RUFrTEksV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFOEN6Sk47SW5EakRFLGFDSHNCOzs7QUk2TWxCO0U4Q3pKTjtJbkQ2S00sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RThDekpOO0luRHdLTSxXQVRRO0lBVVIsYUFScUI7Ozs7QUVYM0I7RUY1TEEsT09ma0I7O0FGOE1aO0VISE47SUZ6TEUsT09Rc0I7OztBTHdMeEI7RUFFSTs7QUFJSjtFRnpNQSxPT2ZrQjs7QUY4TVo7RUhVTjtJRnRNRSxPT1FzQjs7OztBNEN5Q3hCO0VuRDFFQSxhQ0ZrQjtFREdsQjtFQUNBO0VBNENBO0VBa0xJLFdBSmM7RUFLZCxhQUp1QjtFbURqSnpCO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsT0F4RnFDO0VBeUZyQztFQUNBO0VBQ0E7RUFDQTs7QTlDaUlJO0U4QzNJTjtJbkQvREUsYUNIc0I7OztBSTZNbEI7RThDM0lOO0luRCtKTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFOEMzSU47SW5EMEpNLFdBVFE7SUFVUixhQVJxQjs7O0FtRHZJekI7RTdDckZGO0VBQ0EsT0M0RHdCO0VEM0R4QixrQkNpRG1CO0VEaERuQixZQUNFO0VBSUY7RUFJQTtFQUNROztBNkM0RU47RWZuRUYsU2VvRXdFO0VmbEV4RTtFQUNBO0VBRUE7RUFDQTtFQXFCRTtFQUNRO0VBRVI7RUFDQTtFZXNDRTtFQUNBOztBQUdGO0VmekVGLFNlMEVzRTtFZnhFdEU7RUFDQTtFQUVBO0VBQ0E7RUFTRTtFQUNRO0VBRVI7RUFDQTs7QWUyREE7RUFDRTs7QUFLRjtFQUNFOzs7QUFJSjtFbkRoSEEsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RW1EM0d6QjtFQUNBO0VBQ0E7RUFDQTs7QTlDZ0dJO0U4Q3JHTjtJbkRyR0UsYUNIc0I7OztBSTZNbEI7RThDckdOO0luRHlITSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFOENyR047SW5Eb0hNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0U4Q3JHTjtJQWNJO0lBQ0E7SUFDQTs7O0FBU0E7RUF6Qko7SUEwQk07Ozs7QUFTTjtFQUNFOzs7O0FDbEtGO0VwRGNBLGFDRmtCO0VER2xCO0VBQ0E7RUVhQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjtFSGlOeEIsV0FKYztFQUtkLGFBSnVCO0VvRHBPekI7RUFDQTs7QUNzRUY7RUEvREE7RUFFQTtFQUNBO0VBR0E7RUFDQTtFQUVBO0VBR0E7RUFDQTtFQUNRO0VBRVI7RUFLQTtFQUtBO0VBQ0k7RUFDSTs7QWhEd0xGO0UrQ25PTjtJcER5QkUsYUNIc0I7OztBQzBNeEI7RUY1TEEsT09ma0I7O0FGOE1aO0VISE47SUZ6TEUsT09Rc0I7OztBTHdMeEI7RUFFSTs7QUFJSjtFRnpNQSxPT2ZrQjs7QUY4TVo7RUhVTjtJRnRNRSxPT1FzQjs7O0FGb0xsQjtFK0NuT047SXBEdVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0UrQ25PTjtJcERrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QW9EaE96QjtFQVhGO0lBaUJJO0lBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBLGtCN0MwQ2U7RUxyQ25CO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCO0VpREF0Qjs7O0FBTUo7RUFVRTs7OztBRTdDSjtFdERjQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFQXZNM0IsT09ma0I7RStDWmhCO0U3Q2dHSTs7QUowSEE7RWlEbk9OO0l0RHlCRSxhQ0hzQjs7O0FJNk1sQjtFaURuT047SXREdVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VpRG5PTjtJdERrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RWlEbk9OO0l0RHVDRSxPT1FzQjs7O0FGb0xsQjtFaURuT047SUFJSTtJQUNBO0lBQ0E7SUFDQTs7O0FqRDRORTtFaURuT047STdDZ0hROzs7O0E2Q25HUjtFQUNFOztBakRxTkk7RWlEdE5OO0lBSUk7OztBakRrTkU7RWlEdE5OO0lBT0k7Ozs7QUFLSjtFQUNFOzs7QWpEeU1JO0VpRGxNRjtJQUNFO0lBQ0E7SUFDQTs7OztBQUtOO0FBQUE7QUFBQTtFQUdFOztBakR1TEk7RWlEMUxOO0FBQUE7QUFBQTtJQU1JO0lBQ0E7SUFDQTtJQUNBOzs7O0FBSUo7RUFDRTs7QWpENEtJO0VpRDdLTjtJQUdJO0lBQ0E7Ozs7QUFJSjtBQUFBO0VBR0U7RUFDQTs7O0FBR0Y7RUFDRTtFdERWRjs7QUt1S007RWlEOUpOO0lBSUk7Ozs7QWpEMEpFO0VpRHRKTjtJQUVJOzs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBakRpSUk7RWlEN0hKO0lBQ0U7SUFDQTtJQUNBOztFQUdGO0lBQ0U7SUFDQTtJQUNBOzs7QWpEb0hFO0VpRC9HSjtJQUNFO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTs7O0FBU0o7RUFDRTs7O0FBS0E7RUFDRTs7QWpEbUZFO0VpRDlFRjtBQUFBO0FBQUE7SUFHRTs7OztBQU1OO0VBQ0U7O0FqRG9FSTtFaURoRUY7QUFBQTtBQUFBO0lBR0U7Ozs7QUFNTjtFN0NuRU07RTZDcUVKOztBakRxREk7RWlEdkROO0k3QzVEUTs7OztBNkNpRVI7RUFDRTtFQUlBO0VBQ0E7O0FqRDRDSTtFaURsRE47SUFTSTtJQUNBO0lBQ0E7SUFDQTs7OztBQUlKO0V0RG5MQSxhQ0ZrQjtFREdsQjtFQUNBO0VBNENBO0VBa0xJLFdBSmM7RUFLZCxhQUp1QjtFQXZNM0IsT09ma0I7RStDK0toQjs7QWpEK0JJO0VpRGxDTjtJdER4S0UsYUNIc0I7OztBSTZNbEI7RWlEbENOO0l0RHNETSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFaURsQ047SXREaURNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VpRGxDTjtJdEQxSkUsT09Rc0I7OztBRm9MbEI7RWlEbENOO0lBTUk7Ozs7QUFJSjtFdERtQ0ksV0FKYztFQUtkLGFBSnVCO0VBL0szQjtFc0RrSkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBakRnQkk7RWlEeEJOO0l0RDRDTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFaUR4Qk47SXREdUNNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VpRHhCTjtJQVdJO0lBQ0E7Ozs7QUFJSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOztBakRJSTtFaURSTjtJQU9JOzs7QUFZRjtFQW5CRjtJQW9CSTs7OztBQUlKO0VBQ0U7RUFDQTtFQUNBOztBakRuQkk7RWlEZ0JOO0lBTUk7OztBQUlGO0VBVkY7SUFXSTs7OztBQUlKO0VBQ0U7O0FqRGhDSTtFaUQrQk47SUFJSTs7O0FBR0Y7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7Ozs7QUMvUUo7RXZEY0EsYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7RUF2TTNCLE9PZmtCO0VnRGxCaEI7RTlDc0dJO0U4Q25HSjtFQUNBOztBbEQ0Tkk7RWtEbk9OO0l2RHlCRSxhQ0hzQjs7O0FJNk1sQjtFa0RuT047SXZEdVBNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VrRG5PTjtJdkRrUE0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RWtEbk9OO0l2RHVDRSxPT1FzQjs7O0FGb0xsQjtFa0RuT047STlDZ0hROzs7O0E4QzVGUjtFdkR3Q0E7OztBdURwQ0E7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFdkQ2Q0E7OztBdUR6Q0E7QUFBQTtFQUVFOzs7QUFHRjtBQUFBO0VBRUU7OztBQUdGO0V2RGNBO0V1RFhFO0VBQ0E7OztBQUlGO0FBQUE7QUFBQTtFQUdFOzs7QUFHRjtFdkRrTEksV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFa0R2S047SXZEMkxNLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0VrRHZLTjtJdkRzTE0sV0FUUTtJQVVSLGFBUnFCOzs7O0F1RDNLM0I7RXZEOEtJLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RWtEbktOO0l2RHVMTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFa0RuS047SXZEa0xNLFdBVFE7SUFVUixhQVJxQjs7OztBdUR2SzNCO0V2RDBLSSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0VrRC9KTjtJdkRtTE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RWtEL0pOO0l2RDhLTSxXQVRRO0lBVVIsYUFScUI7Ozs7O0F3RDNPM0I7RS9DeUdNO0VBQUE7RVQzRk4sYUNGa0I7RURHbEI7RUFDQTtFQWtDQTtFQTRMSSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0VtRG5PTjtJL0NnSFE7OztBSm1IRjtFbURuT047SXhEeUJFLGFDSHNCOzs7QUk2TWxCO0VtRG5PTjtJeER1UE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RW1Ebk9OO0l4RGtQTSxXQVRRO0lBVVIsYUFScUI7Ozs7QXdEck8zQjtFeER3T0ksV0FKYztFQUtkLGFBSnVCO0VBekwzQjtFQWRBLE9PZmtCO0VpRFRoQjs7QW5EdU5JO0VtRDdOTjtJeERpUE0sV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RW1EN05OO0l4RDRPTSxXQVRRO0lBVVIsYUFScUI7OztBS1JyQjtFbUQ3Tk47SXhEaUNFLE9PUXNCOzs7O0FpRGhDeEI7RUFDRTtFQUNBO0VBQ0E7RS9DdUZJOztBSjBIQTtFbURwTk47SS9DaUdROzs7O0ErQzFGUjtFQUNFOztBQUVBO0V4RFdGLE9PZmtCO0VpRE1kO0VBQ0E7RUFDQTs7QW5Ec01FO0VtRDFNSjtJeERjQSxPT1FzQjs7OztBaURkeEI7RXhEbkJBLGFDRmtCO0VER2xCO0VBQ0E7RUVhQTtFQUdFLDJCQ2hCNkI7RURvQjdCLHVCQ1AwQjtFcURRMUI7RUFDQTs7QW5ENkxJO0VtRGxNTjtJeERSRSxhQ0hzQjs7O0FDVHhCO0VBcUNFLDJCQ0xtQztFRFFuQztFQUNRO0VBQ1I7RUFDUTs7QUF2Q1Y7RUlGQTtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QUpnRFI7RUFDRSxPS3VEZ0I7O0FMcERsQjtFQUNFLE9LMER3Qjs7QUx2RDFCO0VBQ0UsT0s2RHNCOztBTDFEeEI7RUFDRSxPS2dFdUI7O0FMM0R6QjtFQUNFLE9LbkJzQjs7O0FpRG5DeEI7RS9DZ0VNOztBSjBIQTtFbUQxTE47SS9DdUVROzs7O0FKbUhGO0VtRG5MRjtJQUVFO0lBQ0E7O0UxQzNDTjtJQUNFO0lBQ0E7SUFDQTs7RTBDMkNFO0lBQ0U7O0VBR0Y7SUFDRTtJQUVBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBSUo7SUFHRTtJQUVBO0lBR0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUVBO0lBQ0E7SUFFQSxrQmpEdER1Qjs7RWlEd0R2QjtJQUNFOztFQUlKO0lBR0U7O0V0RDBITjtJRjVMQSxPT2ZrQjs7O0FGOE1aO0VISE47SUZ6TEUsT09Rc0I7OztBRm9MbEI7RUhJTjtJQUVJOztFQUlKO0lGek1BLE9PZmtCOzs7QUY4TVo7RUhVTjtJRnRNRSxPT1FzQjs7O0FGb0xsQjtFbUQzSEE7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7O0VBSUo7SS9DVEU7SStDV0E7SUFDQTtJQUNBOztFQUVBO0lBQ0U7O0VBSUo7SUFDRTs7Ozs7OztBQzFITjtFekRVQSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFeURyT3pCO0VoRG1HSTtFZ0RqR0o7RUFDQTs7QXBEME5JO0VvRC9OTjtJekRxQkUsYUNIc0I7OztBSTZNbEI7RW9EL05OO0l6RG1QTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFb0QvTk47SXpEOE9NLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VvRC9OTjtJaEQ0R1E7Ozs7QWdEN0ZSO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQU1GO0VBQ0UsWUFuQzZCOzs7QUFzQy9CO0VBQ0U7RUFDQTtFekRORixPT2ZrQjs7QUY4TVo7RW9EM0xOO0l6RERFLE9PUXNCOzs7O0FrRER4QjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0V6RGRGLE9PZmtCOztBRjhNWjtFb0RyTE47SXpEUEUsT09Rc0I7Ozs7QWtET3hCO0VBQ0UsT2xEQzBCOzs7QWtESzVCO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQSxPbERqQjBCOzs7Ozs7OztBbUR4RDVCO0UxRGNBLGFDRmtCO0VER2xCO0VBQ0E7RUFrQ0E7RUE0TEksV0FKYztFQUtkLGFBSnVCO0VTbElyQjtFVDdDTjtFMER4REU7RUFDQTs7QXJEOE5JO0VxRG5PTjtJMUR5QkUsYUNIc0I7OztBSTZNbEI7RXFEbk9OO0kxRHVQTSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFcURuT047STFEa1BNLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0VxRG5PTjtJakRnSFE7Ozs7QWlEeEdSO0VBQ0U7RUFFQTtFQUVBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFRQTtFQUNBO0VBRUEsT25EUzJCO0VtRFIzQixZbkRUZ0I7RW1EV2hCO0VBQ0E7RUFFQTtFQUlBO0VBQ0k7RUFDSTtFQUlSOztBckRzTEk7RXFEM05OO0lBYUk7OztBQTBCRjtFQXZDRjtJQXdDSTtJQUNBO0lBQ0E7Ozs7QUFJSjtFMURsQkEsT09ma0I7RW1EbUNoQjtFQUNBO0VBR0E7O0FyRHVLSTtFcUQ3S047STFEZkUsT09Rc0I7Ozs7OztBT3ZDeEI7RUFDRTtFQUNBO0VBQ0E7Ozs7QTZDWEY7RU5lQTtFQUVBO0VBQ0E7RUFHQTtFQUNBO0VBRUE7RUFHQTtFQUNBO0VBQ1E7RUFFUjtFQUtBO0VBS0E7RUFDSTtFQUNJOztBQWdCUjtFQUNFOztBQUdGO0VBQ0U7OztBQWNGO0VBL0RBO0VBRUE7RUFDQTtFQUdBO0VBQ0E7RUFFQTtFQUdBO0VBQ0E7RUFDUTtFQUVSO0VBS0E7RUFLQTtFQUNJO0VBQ0k7Ozs7O0FPMUNSO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBdkRxTkk7RXVEak5KO0lBQ0U7Ozs7QUNpQkY7RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7OztBb0Q3REY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EckVKO0VwRG1FSTs7O0FvRDdERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7O0FKNEhBO0V3RC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBSjRIQTtFd0QvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QUo0SEE7RXdEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FKNEhBO0V3RC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBSjRIQTtFd0QvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QUo0SEE7RXdEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7OztBb0Q3REY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EckVKO0VwRG1FSTs7O0FvRDdERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0RyRUo7RXBEbUVJOzs7QW9EN0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRHJFSjtFcERtRUk7OztBb0Q3REY7RXBEK0RFOzs7QW9EL0RGO0VwRCtERTs7O0FvRC9ERjtFcEQrREU7OztBb0QvREY7RXBEK0RFOzs7QW9EckVKO0VwRG1FSTs7QUo0SEE7RXdEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FKNEhBO0V3RC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBSjRIQTtFd0QvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9ENUVOO0VwRG1FSTs7QUo0SEE7RXdEL0xKO0lwRDBFTTs7OztBb0RwRUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRDVFTjtFcERtRUk7O0FKNEhBO0V3RC9MSjtJcEQwRU07Ozs7QW9EcEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0Q1RU47RXBEbUVJOztBSjRIQTtFd0QvTEo7SXBEMEVNOzs7O0FvRHBFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EdEVKO0VwRCtERTs7QUowSEE7RXdEekxGO0lwRHNFSTs7OztBb0R0RUo7RXBEK0RFOztBSjBIQTtFd0R6TEY7SXBEc0VJOzs7O0FvRHRFSjtFcEQrREU7O0FKMEhBO0V3RHpMRjtJcERzRUk7Ozs7QW9EaEROO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQU5KO0VBQ0U7OztBQUlBO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7OztBQURGO0VBQ0U7Ozs7QUNyRU47RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7OztBQ0hBO0UvRHVPRSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0UwRDVOSjtJL0RnUEksV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTBENU5KO0kvRDJPSSxXQVRRO0lBVVIsYUFScUI7Ozs7QStEcE96QjtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFMEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0UwRDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHBPekI7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RTBENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFMEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0RwT3pCO0UvRHVPRSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0UwRDVOSjtJL0RnUEksV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTBENU5KO0kvRDJPSSxXQVRRO0lBVVIsYUFScUI7Ozs7QStEcE96QjtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFMEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0UwRDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHBPekI7RS9EdU9FLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RTBENU5KO0kvRGdQSSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFMEQ1Tko7SS9EMk9JLFdBVFE7SUFVUixhQVJxQjs7OztBK0RwT3pCO0UvRHVPRSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0UwRDVOSjtJL0RnUEksV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTBENU5KO0kvRDJPSSxXQVRRO0lBVVIsYUFScUI7Ozs7QStEcE96QjtFL0R1T0UsV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFMEQ1Tko7SS9EZ1BJLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0UwRDVOSjtJL0QyT0ksV0FUUTtJQVVSLGFBUnFCOzs7O0ErRHROM0I7RS9ENkJBOzs7QStEekJBO0UvRG1DQTs7O0ErRDdCQTtFL0Q4Q0E7OztBK0QxQ0E7RS9Ed0RBO0VBR0E7Ozs7QWdFN0ZBO0VBQ0U7OztBQUdGO0VBQ0U7O0EzRDZOSTtFMkQ5Tk47SUFJSTs7OztBQUlKO0VBQ0U7O0EzRHFOSTtFMkR0Tk47SUFJSTs7OztBQUlKO0VBQ0U7O0EzRDZNSTtFMkQ5TU47SUFJSTs7OztBQUlKO0VBQ0U7O0EzRHFNSTtFMkR0TU47SUFJSTs7OztBQUlKO0VBQ0U7O0EzRDZMSTtFMkQ5TE47SUFJSTs7Ozs7Ozs7O0FDdkNOO0VqRWtDRSxPT2ZrQjtFMERqQmxCO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0E1RDJOTTtFNERqT1I7SWpFcUNJLE9PUXNCOzs7QUZvTGxCO0U0RGpPUjtJQVNJOzs7O0FBTUo7RWpFSEUsYUNGa0I7RURHbEI7RUFDQTtFQTRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7RWlFdk4zQjtFQUNBOztBNUQ4TU07RTREbE5SO0lqRVFJLGFDSHNCOzs7QUk2TWxCO0U0RGxOUjtJakVzT1EsV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTREbE5SO0lqRWlPUSxXQVRRO0lBVVIsYUFScUI7Ozs7QWlFbk43QjtFakVWRSxhQ0ZrQjtFREdsQjtFQUNBO0VBNENBO0VBa0xJLFdBSmM7RUFLZCxhQUp1Qjs7QUtSckI7RTREM01SO0lqRUNJLGFDSHNCOzs7QUk2TWxCO0U0RDNNUjtJakUrTlEsV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RTREM01SO0lqRTBOUSxXQVRRO0lBVVIsYUFScUI7Ozs7QWtFOUw3QjtFQUNFOztBN0RxTE07RTZEbkxOO0lBRUk7OztBQUlKO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRSxPM0RtRWtCO0UyRGxF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QUFJQTtFNURsUEY7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0E0RHdPSjtFNURyUEo7RUFDQSxPQzREd0I7RUQzRHhCLGtCQ2lEbUI7RURoRG5CLFlBQ0U7RUFJRjtFQUlBO0VBQ1E7O0E0RCtPTjtBQUFBO0VBRUUsTzNEekljOztBMkQ0SWhCO0VBQ0U7O0E3RDlDRTtFNkRrRE47SUFFSTs7OztBQUtOO0VsRXhQRSxPT2ZrQjtFUFBsQixhQ0ZrQjtFREdsQjtFQUNBO0VrRW1CQTtFQUNBLGFBMFBvQztFQXpQcEMsYUF5UHdEO0VBQ3hEOztBN0Q1RE07RTZEeURSO0lsRXJQSSxPT1FzQjs7O0FGb0xsQjtFNkR5RFI7SWxFblFJLGFDSHNCOzs7QUk2TWxCO0U2RHlEUjtJQXBQSTtJQUNBLGFBcVBzRDs7O0FBR3hEO0VsRW5SQSxhQ0ZrQjtFREdsQjtFQUNBO0VrRW1CQTtFQUNBLGFBOFB3RDtFQTdQeEQsYUE2UDRFOztBN0QvRHRFO0U2RDhETjtJbEV4UUUsYUNIc0I7OztBSTZNbEI7RTZEOEROO0lBelBFO0lBQ0EsYUF5UDBFOzs7O0FBSTlFO0VsRXhSRSxhQ0ZrQjtFREdsQjtFQUNBO0VrRW1CQTtFQUNBLGFBSHdEO0VBSXhELGFBa1F5QztFQUN6QztFQUNBLE8zRHJLa0I7RTJEc0tsQjs7QTdEdkVNO0U2RG1FUjtJbEU3UUksYUNIc0I7OztBSTZNbEI7RTZEbUVSO0lBOVBJO0lBQ0EsYUE4UHVDOzs7QUFLekM7RWxFOVJBLGFDRmtCO0VER2xCO0VBQ0E7RWtFbUJBO0VBQ0EsYUFId0Q7RUFJeEQsYUF3UTZEOztBN0QxRXZEO0U2RHlFTjtJbEVuUkUsYUNIc0I7OztBSTZNbEI7RTZEeUVOO0lBcFFFO0lBQ0EsYUFvUTJEOzs7O0FBSS9EO0VsRTdRRSxPT2ZrQjtFUFBsQixhQ0ZrQjtFREdsQjtFQUNBO0VrRW1CQTtFQUNBLGFBSHdEO0VBSXhELGFBSjhFOztBN0RrTXhFO0U2RDhFUjtJbEUxUUksT09Rc0I7OztBRm9MbEI7RTZEOEVSO0lsRXhSSSxhQ0hzQjs7O0FJNk1sQjtFNkQ4RVI7SUF6UUk7SUFDQSxhQVI0RTs7O0FBb1I5RTtFbEV2U0EsYUNGa0I7RURHbEI7RUFDQTtFa0VtQkE7RUFDQSxhQUh3RDtFQUl4RCxhQUo4RTs7QTdEa014RTtFNkRrRk47SWxFNVJFLGFDSHNCOzs7QUk2TWxCO0U2RGtGTjtJQTdRRTtJQUNBLGFBUjRFOzs7QUF3UjlFO0VBQ0U7OztBQU1KO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0E3RG5HSTtFNkRxR0o7SUFFSTs7O0E3RHZHQTtFNkQ0R047SUFFSTs7OztBQUtOO0VBQ0U7RUFDQTtFQUNBOztBN0R0SE07RTZEd0hOO0lBRUk7Ozs7QUFLTjtFQUdFLGFBRmU7RUFHZjs7QUFFQTtFQUNFOztBN0R0SUk7RTZEMklGO0lBQ0U7Ozs7QUFNUjtFQUNFOzs7QUFHRjtFbEUzV0UsYUNGa0I7RURHbEI7RUFDQTtFRWFBO0VBR0UsMkJDaEI2QjtFRG9CN0IsdUJDUDBCOztBRXNNdEI7RTZEc0pSO0lsRWhXSSxhQ0hzQjs7O0FDVHhCO0VBcUNFLDJCQ0xtQztFRFFuQztFQUNRO0VBQ1I7RUFDUTs7QUF2Q1Y7RUlGQTtFQUNBLE9DNER3QjtFRDNEeEIsa0JDaURtQjtFRGhEbkIsWUFDRTtFQUlGO0VBSUE7RUFDUTs7QUpnRFI7RUFDRSxPS3VEZ0I7O0FMcERsQjtFQUNFLE9LMER3Qjs7QUx2RDFCO0VBQ0UsT0s2RHNCOztBTDFEeEI7RUFDRSxPS2dFdUI7O0FMM0R6QjtFQUNFLE9LbkJzQjs7O0EyRGtUMUI7RWIvV0U7RUFFQTtFQUNBO0VBR0E7RUFDQTtFQUVBO0VBR0E7RUFDQTtFQUNRO0VBRVI7RUFLQTtFQUtBO0VBQ0k7RUFDSTs7QUFnQlI7RUFDRTs7QUFHRjtFQUNFOzs7QWFrVUo7RUFDRTs7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLFFBNVlXO0VBNllYOztBN0Q3S0k7RTZEa0xGO0lBQ0U7SUFDQTtJQUNBLFFBcFphOzs7QWhFNE5uQjtFRjVMQSxPT2ZrQjs7QUY4TVo7RUhITjtJRnpMRSxPT1FzQjs7O0FMd0x4QjtFQUVJOztBQUlKO0VGek1BLE9PZmtCOztBRjhNWjtFSFVOO0lGdE1FLE9PUXNCOzs7O0EyRG1YMUI7RUFDRTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7O0FDcmFKO0VuRWlDRSxPT2ZrQjtFNERoQmxCO0VBQ0E7O0E5RDZOTTtFOERoT1I7SW5Fb0NJLE9PUXNCOzs7O0E0RHRDMUI7RUFDRTtFQUNBO0VuRUdBLGFDRmtCO0VER2xCO0VBQ0E7RUE0Q0E7RUFrTEksV0FKYztFQUtkLGFBSnVCOztBS1JyQjtFOEQxTlI7SW5FZ0JJLGFDSHNCOzs7QUk2TWxCO0U4RDFOUjtJbkU4T1EsV0FiWTtJQWNaLGFBYnFCOzs7QUtSckI7RThEMU5SO0luRXlPUSxXQVRRO0lBVVIsYUFScUI7Ozs7QW1FNU43QjtFbkVERSxhQ0ZrQjtFREdsQjtFQUNBO0VBNENBO0VBa0xJLFdBSmM7RUFLZCxhQUp1QjtFbUUxTjNCO0VBQ0E7O0E5RGlOTTtFOERwTlI7SW5FVUksYUNIc0I7OztBSTZNbEI7RThEcE5SO0luRXdPUSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFOERwTlI7SW5FbU9RLFdBVFE7SUFVUixhQVJxQjs7OztBbUV0TjdCO0VBQ0U7O0FBRUE7RW5FVkEsYUNGa0I7RURHbEI7RUFDQTtFQTRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7RW1Fak56Qjs7QTlEeU1JO0U4RDNNTjtJbkVDRSxhQ0hzQjs7O0FJNk1sQjtFOEQzTU47SW5FK05NLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0U4RDNNTjtJbkUwTk0sV0FUUTtJQVVSLGFBUnFCOzs7QUtSckI7RThEM01OO0lBS0k7OztBQUlKO0VBQ0U7OztBQUlKO0VBQ0U7RUFDQTs7QTlEMkxNO0U4RDdMUjtJQUtJOzs7O0FBSUo7RUFDRTs7O0FBR0Y7RUFDRTs7QTlEK0tNO0U4RGhMUjtJQUlJOzs7O0FDdERKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0EvRDhOTTtFK0RsT1I7SUFNSTs7OztBQUlKO0VBQ0U7RXBFRUEsYUNGa0I7RURHbEI7RUFDQTtFQTRDQTtFQWtMSSxXQUpjO0VBS2QsYUFKdUI7O0FLUnJCO0UrRHhOUjtJcEVjSSxhQ0hzQjs7O0FJNk1sQjtFK0R4TlI7SXBFNE9RLFdBYlk7SUFjWixhQWJxQjs7O0FLUnJCO0UrRHhOUjtJcEV1T1EsV0FUUTtJQVVSLGFBUnFCOzs7O0FvRTNON0I7RUFDRTs7QS9Ea05NO0UrRG5OUjtJQUlJO0lBQ0E7Ozs7QUFJSjtFcEVYRSxhQ0ZrQjtFREdsQjtFQUNBO0VBa0NBO0VBNExJLFdBSmM7RUFLZCxhQUp1QjtFU2xJckI7RTJEN0VOO0VBQ0E7O0EvRHNNTTtFK0QxTVI7SXBFQUksYUNIc0I7OztBSTZNbEI7RStEMU1SO0lwRThOUSxXQWJZO0lBY1osYUFicUI7OztBS1JyQjtFK0QxTVI7SXBFeU5RLFdBVFE7SUFVUixhQVJxQjs7O0FLUnJCO0UrRDFNUjtJM0R1RlU7OztBSm1IRjtFK0QxTVI7SUFNSTs7OztBQUlKO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0F0RC9CQTtFQUNFO0VBQ0E7RUFDQTs7O0FzRGdDSjtFQUNFOzs7QUFHRjtFQUNFOztBL0RtTE07RStEcExSO0lBR0k7Ozs7QUFPSjtBQUFBO0VBRUU7RUFDQTs7QS9EdUtNO0UrRDFLUjtBQUFBO0lBTUk7SUFDQTtJQUNBOzs7O0FDL0RKO0VBQ0U7RUFDQTs7O0FBR0Y7RUFDRTs7O0FDVEY7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7O0FBQUE7QUFnQkE7QUFFQTtFQUNFO0VBQ0E7OztBQUdGO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUtBO0VBQ0k7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBSUE7RUFDSTs7O0FBS1o7QUFFQTtBQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUdGO0VBQ0U7OztBQU1aO0FBRUE7QUFFSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlSO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7QUFLWjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7O0FBSVo7RUFDSTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7O0FBUUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUNBO0VBQ0k7RUFDQTs7QUFPUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFJUjtFQUNJOztBQUNBO0VBQ0ksT0NyTko7RURzTkk7OztBQU1aO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUtFO0VBQ0k7RUFDQTtFQUNBOzs7QUFPSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJLE9DelBDOzs7QUQ4UFQ7RUFDSTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDUTtFQUNBOzs7QUFHUjtFQUNJOztBQUNBO0VBQ0k7OztBRXZVUjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJOzs7QUNwREo7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7O0FBR0o7RUFFSSxZRmtDSTtFRWpDSjtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBLFNBekJhO0VBMEJiO0VBQ0E7O0FBRUE7RUFDSTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUVJOztBQUlSO0VBQ0k7RUFDQTs7QUFFQTtFQUVJOztBQUlSO0VBQ0k7RUFDQTs7QUFHSjtFQUNJLFlGakJDOztBRW9CTDtFQUNJOztBQUNBO0VBQ0k7OztBQU9SO0VBQ0U7O0FBQ0Y7RUFDSTtFQUNBLGNBcEZhO0VBcUZiOzs7QUFJUjtFQUNJO0VBQ0E7RUFDQTs7O0FBQ0g7RUFHRztFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQ25IRjtFQUNJOzs7QUFHSjtFQUVJO0VBQ0g7RUFDRztFQUNBOzs7QUFFSjtFQUVJO0VBQ0E7RUFDQTs7O0FBR0o7RUFFSztFQUNBOzs7QUFHTDtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFLSjtBQUFBO0VBR0E7OztBQUdDO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNLO0lBQ0c7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBOzs7QUFJUjtFQUNLO0lBQ0c7SUFDQTs7O0FBSVA7QUFBQTtFQUdHO0VBQ0E7OztBQUlIO0VBQ0c7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBS0g7RUFDRztFQUNBOzs7QUFHSDtFQUNHOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUlBO0VBQ1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUNSO0VBUEE7SUFRSTs7OztBQU1KO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7O0FBTVI7RUFDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRVI7RUFDUTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlaO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0M7RUFDQTs7O0FDN09EO0VBQ0U7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFFRjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTtJQUNBOztFQUVGO0lBQ0U7O0VBRUY7SUFDRTs7O0FBR0o7QUFBQTtFQUVFOzs7QUFFRjtFQUNFO0FBQUE7SUFFRTs7O0FBR0o7RUFDRTtJQUNFOzs7QUFHSjtFQUNFO0lBQ0U7OztBQUdKO0VBQ0U7SUFDRTs7O0FDOUNKO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQ1JKO0VBQ0U7O0FBRUE7RUFDRTs7O0FBS0o7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFOzs7QUFH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SUE7RUFDSTs7QUFJUjtFQUNJOzs7QUFLUjtFQUNJOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUFzQzs7O0FBRXRDO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUlKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFJQTtFQUNRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFUjtFQUNRO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSVo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUlBO0VBQ1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJWjtBQUFBO0FBR0k7RUFDSTs7O0FBSVI7RUFDSTs7O0FBR0o7RUFDSTs7O0FBS0E7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7OztBQUtSO0VBQ0k7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0k7OztBQzlrQko7QUFBQTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFQRjtBQUFBO0lBUUk7OztBQUtGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7O0FBR0Y7QUFBQTtFQUNFOztBQUdGO0FBQUE7RUFDRTtFQUNBOztBQUdGO0FBQUE7RUFDRTs7QUFHRjtBQUFBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7QUFBQTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUlGO0FBQUE7RUFFRTtFQUNLO0VBQ0s7RUFFVjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUdBO0VBQ0E7RUFFQTs7QUFHQTtBQUFBO0FBQUE7RUFDSTs7QUFHSjtBQUFBO0VBQ0k7RUFDQTtFQUNBOztBQUNBO0VBSko7QUFBQTtJQUtRO0lBQ0E7Ozs7QUMzR1o7RUFDSTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTs7O0FBT0w7RUFDQzs7O0FBS0o7RUFDQzs7QUFFQTtFQUNDOzs7QUFLRTtFQUNJOztBQUdKO0VBQ0k7RUFDQSxPVmpDSztFVWtDTDtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFDQSxPVjNDSztFVTRDTDtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOzs7QUFLSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJOzs7QUFLUjtFQUNJOzs7QUFVUTtFQUNJO0VBQ0E7RUFDQTs7QUFNUjtFQUNJOztBQUtKO0VBQ0k7OztBQVFaO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ1E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJWjtFQUVJO0VBQ0E7RUFDQSxZVmhGSTtFVWlGSjtFQUNBLFNGcElVO0VFcUlWO0VBQ0E7RUFDQTs7QUFFQTtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJLGVGckphO0VFc0piOztBQUVBO0VBQ0k7O0FBSVI7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLE9WMUtLOzs7QVUrS2I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFDQTtFQUNJO0VBQ0E7OztBQUlSO0FBQUE7RUFFSTtFQUNBO0VBQ0E7RUFDQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFSjtBQUFBO0VBQ0k7RUFFQTtFQUNBO0VBRUE7RUFDQTs7QUFHQTtBQUFBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7QUFBQTtFQUNJOzs7QUFPWjtFQUNJOzs7QUFHSjtFQUNJOzs7QUFHSjtFQUNBO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7OztBQUdKO0VBQ0k7OztBQUdKO0VBQ0E7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBSUo7RUFDRTs7O0FBTUY7RUFDSTtFQUNBOzs7QUFHSjtFQUNFOzs7QUFHRjtFQUNJOzs7QUN0U0o7RUFDSTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJOztBQUNBO0VBQ0k7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTs7QUFFSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFJUjtFQUNJOztBQUNBO0VBQ0k7O0FBSVI7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTs7QUFFSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUVKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFDSTs7QUFJUjtFQUNJOztBQUNBO0VBQ0k7O0FBR0o7RUFDSTtFQUNBOztBQUVBO0VBQ0k7O0FBT3BCO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDSTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBS1o7RUFDSTs7QUFHSjtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJQTtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJQTtFQUNJOztBQUVKO0VBQ0k7O0FBR0o7RUFDSTs7QUFLSjtFQUNJOztBQUtaO0VBQ0k7RUFDQTs7QUFHSjtFQUNJOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFJSjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTtJQUNJOzs7QUFHUjtFQUNJO0lBQ0k7SUFDQTs7O0FBSVI7RUFDSTtFQUNBO0VBQ0E7O0FBR0o7QUFBQTtBQUFBO0VBR0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVKO0VBQ0k7QUFBQTtBQUFBO0lBR0k7OztBQUdSO0VBQ0k7QUFBQTtBQUFBO0lBR0k7SUFDQTs7O0FBR1I7RUFDSTtBQUFBO0FBQUE7SUFHSTtJQUNBOzs7QUFHUjtBQUFBO0FBQUE7RUFHSTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTtJQUNJOzs7QUFJUjtBQUFBO0VBRUk7O0FBRUo7QUFBQTtFQUVJO0VBQ0E7O0FBR0o7RUFDSTs7QUFHSjtFQUNJOztBQUdKO0FBQUE7QUFBQTtBQUFBO0VBSUk7O0FBR0o7RUFDSTtFQUNBO0VBQ0E7O0FBRUo7RUFDSTs7QUFFSjtFQUNJOztBQUVKO0VBQ0k7O0FBRUo7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7O0FBRUo7RUFDSTs7QUFHSjtFQUNJO0VB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QUlGO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7O0FBQ0E7RUFMSjtJQU1ROzs7O0FBS1I7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNJO0VBQ0E7OztBQUVKO0VBQ0k7RUFDQTs7O0FBRUo7RUFDSTtFQUNBOzs7QUFFSjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7OztBQy9GSjtFQUNFLFlIQ087OztBR0VUO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBTEY7SUFNSTtJQUNBOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTs7O0FBS047RUFDSTs7O0FBR0o7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDSTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7OztBQ3BGSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFFSjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJRjtFQUNFO0lBQ0U7SUFDQTs7O0FBSUg7RUFDRTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUNFO0VBQ0E7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0g7RUFDRTtJQUNFO0lBQ0E7OztBQUlKO0VBQ0U7SUFDRTtJQUNBOzs7QUFJSDtBQUFBO0VBRUU7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7OztBQUdIO0VBQ0U7SUFDRTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTs7O0FBSUo7RUFDRTtJQUNFO0lBQ0E7OztBQ3RISjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtJQUNFO0lBQ0E7O0VBRUg7SUFDQzs7O0FBS0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0k7OztBQUdKO0VBQ0k7RUFDQTs7O0FBSUE7RUFDSTtFQUNBOztBQUVKO0VBQ0k7RUFDQTs7O0FBR1I7RUFDSTs7O0FBRUo7RUFDSTs7O0FBR0o7RUFDSTtFQUNBOzs7QUFHSjtFQUNJOztBQUVBO0VBQ0k7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFPQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FDdkdaO0VBQ0U7RUFDQTs7O0FBQ0E7RUFDRTtJQUNFOzs7QUFFTjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUNBO0VBQ0U7SUFDRTtJQUNBOzs7QUFFTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQUNBO0VBQ0U7SUFDRTtJQUNBOzs7QUFDTjtFQUNFOzs7QUFFSjtFQUNJOzs7QUFHSjtFQUNFOzs7QUFJQTtFQUNFOztBQUVGO0VBQ0U7RUFDQTs7O0FDeERKO0VBQ0k7RUFDQTtFQUNBOzs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNJOzs7QUFHSjtFQUNFOzs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBOzs7QUFJRjtBQUFBO0FBQUE7RUFHRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7OztBQzlDRjtFQUNJO0VBQ0E7OztBQUdKO0VBQ0k7RUFDQTs7O0FBR0o7RUFDSTs7O0FBR0o7RUFDSTs7O0FDZko7RUFFSTtJQUNFOztFQUdGO0lBQ0U7SUFDQTs7RUFHRjtJQUNFOztFQUdGO0lBQ0U7OztBQUtOO0VBQ0U7SUFDRTtJQUNBOztFQUVBO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7O0VBR0Y7SUFDRTs7RUFHRjtJQUNFO0lBQ0E7SUFDQTtJQUNBOztFQUdGO0lBQ0U7O0VBR0Y7SUFFRTs7O0FBS047RUFHRTs7O0FDekRGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFJSjtFQUNFO0lBQ0U7O0VBRUY7SUFDRTs7O0FDM0JKO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTs7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBR0Y7RUFFRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFHRjtFQUVFOzs7QUMvQkY7RUFDRTtFQUNBOzs7QUNGRjtFQUNFO0VBQ0E7RUFDQTtBQUNBO0FBQUE7QUFBQTtBQUFBOztBQUlBO0VBUkY7SUFTTTs7OztBQUlOO0VBQ0U7OztBQ2RGO0VBRUU7OztBQ0ZGO0FBQUE7QUFBQTtBQVlBO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUNBO0VBRkY7SUFHSTs7O0FBSUo7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7O0FBRUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOztBQUdGO0VBQ0U7RUFDQTtFQUNBOztBQUdGO0VBRUU7RUFDQTs7QUFHRjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFHRjtFQUNFO0VBQ0E7O0FBTVI7RUFDRTtFQUNBOztBQUVBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUE7RUFDRTs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7QUFLTjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0U7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQWpORjtFQXdOQTtJQUNFOztFQUVBO0lBQ0U7O0VBSUE7SUFDRTs7RUFHRjtJQUNFOzs7QUFPVjtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7QUFFQTtFQUNFOzs7QUFJSjtFQUNFO0VBQ0E7RUFDQTs7O0FBR0Y7RUFDRTtFQUNBO0VBQ0E7OztBQUdGO0VBQ0U7OztBQUdGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7OztBQ25SRjtBQUFBO0FBQUE7QUFBQTtBQUlBO0FBQUE7QUFFQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTs7O0FBRUY7QUFDQTtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7OztBQUVGO0VBQ0U7SUFDRTtJQUNBOztFQUVGO0lBQ0U7SUFDQTs7O0FBR0o7RUFDRTtJQUNFO0lBQ0E7O0VBRUY7SUFDRTtJQUNBOzs7QUFHSjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtFQUNFO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7OztBQUVGO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBOzs7QUFFRjtBQUFBO0VBRUU7RUFDQTtFQUNBO0VBQ0E7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFFQTtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7RUFHRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7RUFHRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7QUFBQTtBQUFBO0VBSUU7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7QUFBQTtFQUdFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0VBS0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7QUFBQTtFQUVFOzs7QUFFRjtFQUNFOzs7QUFFRjtBQUFBO0VBRUU7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7QUFBQTtBQUFBO0VBR0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0VBQ0U7OztBQUVGO0FBQUE7RUFFRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRTs7O0FBRUY7RUFDRSIsImZpbGUiOiJhcHBsaWNhdGlvbi5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyI6cm9vdCB7XG4gIC8vIFRoaXMgdmFyaWFibGUgaXMgYXV0b21hdGljYWxseSBvdmVyd3JpdHRlbiBkdXJpbmcgYnVpbGRzIGFuZCByZWxlYXNlcy5cbiAgLy8gSXQgZG9lc24ndCBuZWVkIHRvIGJlIHVwZGF0ZWQgbWFudWFsbHkuXG4gIC0tZ292dWstZnJvbnRlbmQtdmVyc2lvbjogXCI1LjcuMVwiO1xuXG4gIC8vIENTUyBjdXN0b20gcHJvcGVydHkgZm9yIGVhY2ggYnJlYWtwb2ludFxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRnb3Z1ay1icmVha3BvaW50cyB7XG4gICAgLS1nb3Z1ay1mcm9udGVuZC1icmVha3BvaW50LSN7JG5hbWV9OiAje2dvdnVrLXB4LXRvLXJlbSgkdmFsdWUpfTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZ292dWstZnJvbnRlbmQtcHJvcGVydGllcy5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuICAlZ292dWstbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstcHJpbnQtZnJpZW5kbHk7XG4gIH1cblxuICAuZ292dWstbGluayB7XG4gICAgQGV4dGVuZCAlZ292dWstbGluaztcbiAgfVxuXG4gIC8vIFZhcmlhbnQgY2xhc3NlcyBzaG91bGQgYWx3YXlzIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgLmdvdnVrLWxpbmtcbiAgLy8gY2xhc3MsIHNvIHdlIGRvIG5vdCBuZWVkIHRoZSBjb21tb24gbGluayBzdHlsZXMgYXMgdGhleSB3aWxsIGJlIGluaGVyaXRlZC5cblxuICAuZ292dWstbGluay0tbXV0ZWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQ7XG4gIH1cblxuICAuZ292dWstbGluay0tdGV4dC1jb2xvdXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS1pbnZlcnNlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2U7XG4gIH1cblxuICAuZ292dWstbGluay0tbm8tdW5kZXJsaW5lIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXVuZGVybGluZTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS1uby12aXNpdGVkLXN0YXRlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGU7XG4gIH1cblxuICAvLyBMaW5rcyB0aGF0IG9ubHkgY29udGFpbiBpbWFnZXNcblxuICAuZ292dWstbGluay1pbWFnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1pbWFnZTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fbGlua3Muc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy90eXBvZ3JhcGh5XG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9weC10by1yZW1cIjtcblxuLy8vICdDb21tb24gdHlwb2dyYXBoeScgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSBmb250IGZhbWlseSBhbmQgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzLCBzdWNoIGFzIGZvbnQgc21vb3RoaW5nLiBBbHNvXG4vLy8gb3ZlcnJpZGVzIHRoZSBmb250IGZvciBwcmludC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGZvbnQtZmFtaWx5IFskZ292dWstZm9udC1mYW1pbHldIEZvbnQgZmFtaWx5IHRvIHVzZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigkZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseSkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAvLyBJZiB0aGUgdXNlciBpcyB1c2luZyB0aGUgZGVmYXVsdCBHRFMgVHJhbnNwb3J0IGZvbnQgd2UgbmVlZCB0byBpbmNsdWRlXG4gIC8vIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb25zLlxuICBAaWYgJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2Uge1xuICAgIEBpbmNsdWRlIF9nb3Z1ay1mb250LWZhY2UtZ2RzLXRyYW5zcG9ydDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktcHJpbnQ7XG4gIH1cbn1cblxuLy8vIFRleHQgY29sb3VyIGhlbHBlclxuLy8vXG4vLy8gU2V0cyB0aGUgdGV4dCBjb2xvdXIsIGluY2x1ZGluZyBhIHN1aXRhYmxlIG92ZXJyaWRlIGZvciBwcmludC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10ZXh0LWNvbG91ciB7XG4gIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgY29sb3I6ICRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gUmVndWxhciBmb250IHdlaWdodCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJGdvdnVrLWZvbnQtd2VpZ2h0LXJlZ3VsYXIgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBCb2xkIGZvbnQgd2VpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSBVc2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtd2VpZ2h0OiAkZ292dWstZm9udC13ZWlnaHQtYm9sZCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbn1cblxuLy8vIFRhYnVsYXIgbnVtYmVyIGhlbHBlclxuLy8vXG4vLy8gU3dpdGNoZXMgbnVtZXJpY2FsIGdseXBocyAoMOKAkzkpIHRvIHVzZSBhbHRlcm5hdGl2ZSBmb3JtcyB3aXRoIGFcbi8vLyBtb25vc3BhY2VkIGJvdW5kaW5nIGJveC4gVGhpcyBlbnN1cmVzIHRoYXQgY29sdW1ucyBvZiBudW1iZXJzLCBzdWNoXG4vLy8gYXMgdGhvc2UgaW4gdGFibGVzLCByZW1haW4gaG9yaXpvbnRhbGx5IGFsaWduZWQgd2l0aCBvbmUgYW5vdGhlci5cbi8vLyBUaGlzIGFsc28gaGFzIHRoZSB1c2VmdWwgc2lkZSBlZmZlY3Qgb2YgbWFraW5nIG51bWJlcnMgbW9yZSBsZWdpYmxlXG4vLy8gaW4gc29tZSBzaXR1YXRpb25zLCBzdWNoIGFzIHJlZmVyZW5jZSBjb2RlcywgYXMgdGhlIG51bWJlcnMgYXJlIG1vcmVcbi8vLyBkaXN0aW5jdCBhbmQgdmlzdWFsbHkgc2VwYXJhdGVkIGZyb20gb25lIGFub3RoZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzKCRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXMgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBXb3JkIGJyZWFrIGhlbHBlclxuLy8vXG4vLy8gRm9yY2libHkgYnJlYWtzIGxvbmcgd29yZHMgdGhhdCBsYWNrIHNwYWNlcywgc3VjaCBhcyBlbWFpbCBhZGRyZXNzZXMsXG4vLy8gYWNyb3NzIG11bHRpcGxlIGxpbmVzIHdoZW4gdGhleSB3b3VsZG4ndCBvdGhlcndpc2UgZml0LlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuIEdlbmVyYWxseSB1c2VkIHRvIGNyZWF0ZSBvdmVycmlkZSBjbGFzc2VzLlxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10ZXh0LWJyZWFrLXdvcmQoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgLy8gSUUgMTEgYW5kIEVkZ2UgMTbigJMxNyBvbmx5IHN1cHBvcnQgdGhlIG5vbi1zdGFuZGFyZCBgd29yZC13cmFwYCBwcm9wZXJ0eVxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgLy8gQWxsIG90aGVyIGJyb3dzZXJzIHN1cHBvcnQgYG92ZXJmbG93LXdyYXBgXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBDb252ZXJ0IGxpbmUtaGVpZ2h0cyBzcGVjaWZpZWQgaW4gcGl4ZWxzIGludG8gYSByZWxhdGl2ZSB2YWx1ZSwgdW5sZXNzXG4vLy8gdGhleSBhcmUgYWxyZWFkeSB1bml0LWxlc3MgKGFuZCB0aHVzIGFscmVhZHkgdHJlYXRlZCBhcyByZWxhdGl2ZSB2YWx1ZXMpXG4vLy8gb3IgdGhlIHVuaXRzIGRvIG5vdCBtYXRjaCB0aGUgdW5pdHMgdXNlZCBmb3IgdGhlIGZvbnQgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgTGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBGb250IHNpemVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBsaW5lIGhlaWdodCBhcyBlaXRoZXIgYSByZWxhdGl2ZSB2YWx1ZSBvciB1bm1vZGlmaWVkXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkbGluZS1oZWlnaHQpIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gdW5pdCgkZm9udC1zaXplKSB7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplO1xuICB9XG5cbiAgQHJldHVybiAkbGluZS1oZWlnaHQ7XG59XG5cbi8vLyBGb250IHNpemUgYW5kIGxpbmUgaGVpZ2h0IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gUG9pbnQgZnJvbSB0aGUgdHlwZSBzY2FsZSAodGhlIHNpemUgYXMgaXQgd291bGRcbi8vLyAgIGFwcGVhciBvbiB0YWJsZXQgYW5kIGFib3ZlKVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3ZlcnJpZGUtbGluZS1oZWlnaHQgW2ZhbHNlXSAtIE5vbiByZXNwb25zaXZlIGN1c3RvbSBsaW5lXG4vLy8gICBoZWlnaHQuIE9taXQgdG8gdXNlIHRoZSBsaW5lIGhlaWdodCBmcm9tIHRoZSBmb250IG1hcC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC5cbi8vL1xuLy8vIEB0aHJvdyBpZiBgJHNpemVgIGlzIG5vdCBhIHZhbGlkIHBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGVcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy9cbi8vLyBAYWxpYXMgZ292dWstZm9udC1zaXplXG4vLy8gQGRlcHJlY2F0ZWQgVXNlIGBnb3Z1ay1mb250LXNpemVgIGluc3RlYWRcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0OiBmYWxzZSwgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX3dhcm5pbmcoXG4gICAgXCJnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmVcIixcbiAgICBcImdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSBpcyBkZXByZWNhdGVkLiBVc2UgZ292dWstZm9udC1zaXplIGluc3RlYWQuXCJcbiAgKTtcbiAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQsICRpbXBvcnRhbnQpO1xufVxuXG4vLy8gRm9udCBzaXplIGFuZCBsaW5lIGhlaWdodCBoZWxwZXJcbi8vL1xuLy8vIFRha2VzIGEgcG9pbnQgZnJvbSB0aGUgcmVzcG9uc2l2ZSAnZm9udCBtYXAnIGFzIGFuIGFyZ3VtZW50ICh0aGUgc2l6ZSBhcyBpdFxuLy8vIHdvdWxkIGFwcGVhciBvbiB0YWJsZXQgYW5kIGFib3ZlKSwgYW5kIHVzZXMgaXQgdG8gY3JlYXRlIGZvbnQtc2l6ZSBhbmRcbi8vLyBsaW5lLWhlaWdodCBkZWNsYXJhdGlvbnMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50cywgYW5kIHByaW50LlxuLy8vXG4vLy8gRXhhbXBsZSBmb250IG1hcDpcbi8vL1xuLy8vIGBgYHNjc3Ncbi8vLyAxOTogKFxuLy8vICAgbnVsbDogKFxuLy8vICAgICBmb250LXNpemU6IDE2cHgsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4vLy8gICApLFxuLy8vICAgdGFibGV0OiAoXG4vLy8gICAgIGZvbnQtc2l6ZTogMTlweCxcbi8vLyAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbi8vLyAgICksXG4vLy8gICBwcmludDogKFxuLy8vICAgICBmb250LXNpemU6IDE0cHQsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4vLy8gICApXG4vLy8gKTtcbi8vLyBgYGBcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgU3RyaW5nfSAkc2l6ZSAtIFBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGUgKHRoZSBzaXplIGFzXG4vLy8gICBpdCB3b3VsZCBhcHBlYXIgb24gdGFibGV0IGFuZCBhYm92ZSlcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBOb24gcmVzcG9uc2l2ZSBjdXN0b20gbGluZVxuLy8vICAgaGVpZ2h0LiBPbWl0IHRvIHVzZSB0aGUgbGluZSBoZWlnaHQgZnJvbSB0aGUgZm9udCBtYXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuXG4vLy9cbi8vLyBAdGhyb3cgaWYgYCRzaXplYCBpcyBub3QgYSB2YWxpZCBwb2ludCBmcm9tIHRoZSB0eXBlIHNjYWxlXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9udC1zaXplKCRzaXplLCAkbGluZS1oZWlnaHQ6IGZhbHNlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBGbGFnIGZvbnQgc2l6ZXMgdGhhdCBzdGFydCB3aXRoIHVuZGVyc2NvcmVzIHNvIHdlIGNhbiBzdXBwcmVzcyB3YXJuaW5ncyBvblxuICAvLyBkZXByZWNhdGVkIHNpemVzIHVzZWQgaW50ZXJuYWxseSwgZm9yIGV4YW1wbGUgYGdvdnVrLWZvbnQoJHNpemU6IFwiXzE0XCIpYFxuICAkc2l6ZS1pbnRlcm5hbC11c2Utb25seTogc3RyLXNsaWNlKCN7JHNpemV9LCAxLCAxKSA9PSBcIl9cIjtcblxuICAvLyBSZW1vdmUgdW5kZXJzY29yZSBmcm9tIGZvbnQgc2l6ZXMgZmxhZ2dlZCBmb3IgaW50ZXJuYWwgdXNlXG4gIEBpZiAkc2l6ZS1pbnRlcm5hbC11c2Utb25seSB7XG4gICAgJHNpemU6IHN0ci1zbGljZSgjeyRzaXplfSwgMik7XG4gIH1cblxuICAvLyBDaGVjayBmb3IgYSBmb250IG1hcCBleGFjdGx5IG1hdGNoaW5nIHRoZSBnaXZlbiBzaXplXG4gICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gIC8vIE5vIG1hdGNoPyBUcnkgd2l0aCBzdHJpbmcgdHlwZSAoZS5nLiAkc2l6ZTogXCIxNlwiIG5vdCAxNilcbiAgQGlmIG5vdCAkZm9udC1tYXAge1xuICAgIEBlYWNoICRmb250LXNpemUgaW4gbWFwLWtleXMoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUpIHtcbiAgICAgIEBpZiBub3QgJGZvbnQtbWFwIGFuZCAjeyRmb250LXNpemV9ID09ICN7JHNpemV9IHtcbiAgICAgICAgJGZvbnQtbWFwOiBtYXAtZ2V0KCRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlLCAkZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdGlsbCBubyBtYXRjaD8gVGhyb3cgZXJyb3JcbiAgQGlmIG5vdCAkZm9udC1tYXAge1xuICAgIEBlcnJvciBcIlVua25vd24gZm9udCBzaXplIGAjeyRzaXplfWAgLSBleHBlY3RlZCBhIHBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGUuXCI7XG4gIH1cblxuICAvLyBDaGVjayBmb3IgYSBkZXByZWNhdGlvbiB3aXRoaW4gdGhlIHR5cGUgc2NhbGVcbiAgJGRlcHJlY2F0aW9uOiBtYXAtZ2V0KCRmb250LW1hcCwgXCJkZXByZWNhdGlvblwiKTtcblxuICBAaWYgJGRlcHJlY2F0aW9uIHtcbiAgICAvLyBXYXJuIG9uIGRlcHJlY2F0ZWQgZm9udCBzaXplcyB1bmxlc3MgZmxhZ2dlZCBmb3IgaW50ZXJuYWwgdXNlXG4gICAgQGlmIG5vdCAkc2l6ZS1pbnRlcm5hbC11c2Utb25seSB7XG4gICAgICBAaW5jbHVkZSBfd2FybmluZyhtYXAtZ2V0KCRkZXByZWNhdGlvbiwgXCJrZXlcIiksIG1hcC1nZXQoJGRlcHJlY2F0aW9uLCBcIm1lc3NhZ2VcIikpO1xuICAgIH1cblxuICAgIC8vIHJlbW92ZSB0aGUgZGVwcmVjYXRpb24gbWFwIGtleXMgc28gdGhleSBkbyBub3QgYnJlYWsgdGhlIGJyZWFrcG9pbnQgbG9vcFxuICAgICRmb250LW1hcDogbWFwLXJlbW92ZSgkZm9udC1tYXAsIFwiZGVwcmVjYXRpb25cIik7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnQtbWFwIGluICRmb250LW1hcCB7XG4gICAgJGZvbnQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludC1tYXAsIFwiZm9udC1zaXplXCIpO1xuICAgICRmb250LXNpemUtcmVtOiBnb3Z1ay1weC10by1yZW0oJGZvbnQtc2l6ZSk7XG5cbiAgICAvLyAkY2FsY3VsYXRlZC1saW5lLWhlaWdodCBpcyBhIHNlcGFyYXRlIHZhcmlhYmxlIGZyb20gJGxpbmUtaGVpZ2h0LFxuICAgIC8vIGFzIG90aGVyd2lzZSB0aGUgdmFsdWUgd291bGQgZ2V0IHJlZGVmaW5lZCB3aXRoIGVhY2ggbG9vcCBhbmRcbiAgICAvLyBldmVudHVhbGx5IGJyZWFrIF9nb3Z1ay1saW5lLWhlaWdodC5cbiAgICAvL1xuICAgIC8vIFdlIGNvbnRpbnVlIHRvIGNhbGwgdGhlIHBhcmFtICRsaW5lLWhlaWdodCB0byBzdGF5IGNvbnNpc3RlbnQgd2l0aCB0aGVcbiAgICAvLyBuYW1pbmcgd2l0aCBnb3Z1ay1mb250LlxuICAgICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0OiBfZ292dWstbGluZS1oZWlnaHQoXG4gICAgICAkbGluZS1oZWlnaHQ6IGlmKCRsaW5lLWhlaWdodCwgJGxpbmUtaGVpZ2h0LCBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJsaW5lLWhlaWdodFwiKSksXG4gICAgICAkZm9udC1zaXplOiAkZm9udC1zaXplXG4gICAgKTtcblxuICAgIC8vIE1hcmsgcnVsZXMgYXMgIWltcG9ydGFudCBpZiAkaW1wb3J0YW50IGlzIHRydWUgLSB0aGlzIHdpbGwgcmVzdWx0IGluXG4gICAgLy8gdGhlc2UgdmFyaWFibGVzIGJlY29taW5nIHN0cmluZ3MsIHNvIHRoaXMgbmVlZHMgdG8gaGFwcGVuICphZnRlciogdGhleVxuICAgIC8vIGFyZSB1c2VkIGluIGNhbGN1bGF0aW9uc1xuICAgICRmb250LXNpemU6ICRmb250LXNpemUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgJGZvbnQtc2l6ZS1yZW06ICRmb250LXNpemUtcmVtIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0OiAkY2FsY3VsYXRlZC1saW5lLWhlaWdodCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIEBpZiBub3QgJGJyZWFrcG9pbnQge1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkY2FsY3VsYXRlZC1saW5lLWhlaWdodDtcbiAgICB9IEBlbHNlIGlmICRicmVha3BvaW50ID09IFwicHJpbnRcIiB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogJGNhbGN1bGF0ZWQtbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjYWxjdWxhdGVkLWxpbmUtaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gRm9udCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyIHwgQm9vbGVhbiB8IFN0cmluZ30gJHNpemUgUG9pbnQgZnJvbSB0aGUgdHlwZSBzY2FsZSAodGhlXG4vLy8gICBzaXplIGFzIGl0IHdvdWxkIGFwcGVhciBvbiB0YWJsZXQgYW5kIGFib3ZlKS4gVXNlIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZ1xuLy8vICAgYSBzaXplLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkd2VpZ2h0IFtyZWd1bGFyXSAtIFdlaWdodDogYGJvbGRgIG9yIGByZWd1bGFyYFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHRhYnVsYXIgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gdXNlIHRhYnVsYXIgbnVtYmVycyBvciBub3Rcbi8vLyBAcGFyYW0ge051bWJlcn0gJGxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBMaW5lLWhlaWdodCwgaWYgb3ZlcnJpZGluZyB0aGVcbi8vLyAgIGRlZmF1bHRcbi8vL1xuLy8vIEB0aHJvdyBpZiBgJHNpemVgIGlzIG5vdCBhIHZhbGlkIHBvaW50IGZyb20gdGhlIHR5cGUgc2NhbGUgKG9yIGZhbHNlKVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWZvbnQoJHNpemUsICR3ZWlnaHQ6IHJlZ3VsYXIsICR0YWJ1bGFyOiBmYWxzZSwgJGxpbmUtaGVpZ2h0OiBmYWxzZSkge1xuICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcblxuICBAaWYgJHRhYnVsYXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzO1xuICB9XG5cbiAgQGlmICR3ZWlnaHQgPT0gcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgfSBAZWxzZSBpZiAkd2VpZ2h0ID09IGJvbGQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICBAaWYgJHNpemUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZSwgJGxpbmUtaGVpZ2h0KTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdHlwb2dyYXBoeS5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBmYW1pbGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgYWxsIHR5cG9ncmFwaHkgb24gc2NyZWVuIG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIFdlIHJlY29tbWVuZCB0aGF0IHlvdSB1c2Ugc3lzdGVtIGZvbnRzIHdoZW4gcHJpbnRpbmcuIFRoaXMgd2lsbCBhdm9pZCBpc3N1ZXNcbi8vLyB3aXRoIHNvbWUgcHJpbnRlciBkcml2ZXJzIGFuZCBvcGVyYXRpbmcgc3lzdGVtcy5cbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udC1mYW1pbHktcHJpbnQ6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBJbmNsdWRlIHRoZSBkZWZhdWx0IEBmb250LWZhY2UgZGVjbGFyYXRpb25zXG4vLy9cbi8vLyBEZWZhdWx0cyB0byB0cnVlIGlmIFwiR0RTIFRyYW5zcG9ydFwiIGFwcGVhcnMgaW4gdGhlICRnb3Z1ay1mb250LWZhbWlseVxuLy8vIHNldHRpbmcuXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2U6IGlmKGluZGV4KCRnb3Z1ay1mb250LWZhbWlseSwgXCJHRFMgVHJhbnNwb3J0XCIpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCB3ZWlnaHRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEZvbnQgd2VpZ2h0IGZvciByZWd1bGFyIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtcmVndWxhcjogNDAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJvbGQgdHlwb2dyYXBoeVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbiRnb3Z1ay1mb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV90eXBvZ3JhcGh5LWZvbnQuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9saW5rc1xuLy8vL1xuXG4vLy8gQ29tbW9uIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICB9XG59XG5cbi8vLyBMaW5rIGRlY29yYXRpb25cbi8vL1xuLy8vIFByb3ZpZGVzIHRoZSB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLCBpbmNsdWRpbmcgdGhpY2tuZXNzIGFuZCB1bmRlcmxpbmVcbi8vLyBvZmZzZXQuIFVzZSB0aGlzIG1peGluIG9ubHkgaWYgeW91IGNhbm5vdCB1c2UgdGhlIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4uXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuQG1peGluIGdvdnVrLWxpbmstZGVjb3JhdGlvbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIEBpZiAkZ292dWstbGluay11bmRlcmxpbmUtdGhpY2tuZXNzIHtcbiAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAkZ292dWstbGluay11bmRlcmxpbmUtdGhpY2tuZXNzO1xuICB9XG5cbiAgQGlmICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQge1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgfVxufVxuXG4vLy8gTGluayBob3ZlciBkZWNvcmF0aW9uXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBpbiB0aGVpciBob3ZlciBzdGF0ZSwgZm9yIHlvdSB0byB1c2Vcbi8vLyB3aXRoaW4gYSBgOmhvdmVyYCBwc2V1ZG8tc2VsZWN0b3IuIFVzZSB0aGlzIG1peGluIG9ubHkgaWYgeW91IGNhbm5vdCB1c2UgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbi5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWhvdmVyLWRlY29yYXRpb24ge1xuICBAaWYgJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzcyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgICAvLyBEaXNhYmxlIGluayBza2lwcGluZyBvbiB1bmRlcmxpbmVzIG9uIGhvdmVyLiBCcm93c2VycyBoYXZlbid0XG4gICAgLy8gc3RhbmRhcmRpc2VkIG9uIHRoaXMgcGFydCBvZiB0aGUgc3BlYyB5ZXQsIHNvIHNldCBib3RoIHByb3BlcnRpZXNcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTsgLy8gQ2hyb21pdW0sIEZpcmVmb3hcbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBub25lO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXNraXA6IG5vbmU7IC8vIFNhZmFyaVxuICB9XG59XG5cbi8vLyBEZWZhdWx0IGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB1c2UgdGhlIGRlZmF1bHQgdW52aXNpdGVkLCB2aXNpdGVkLCBob3ZlciBhbmQgYWN0aXZlIGNvbG91cnMuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1kZWZhdWx0IHtcbiAgJjpsaW5rIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB9XG5cbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBFcnJvciBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBlcnJvciBjb2xvdXIuIFRoZSBsaW5rIHdpbGwgZGFya2VuIGlmIGl0J3MgYWN0aXZlIG9yIGFcbi8vLyB1c2VyIGhvdmVycyB0aGVpciBjdXJzb3Igb3ZlciBpdC5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZXJyb3I7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1lcnJvciB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZ292dWstZXJyb3ItY29sb3VyLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gU3VjY2VzcyBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBzdWNjZXNzIGNvbG91ci4gVGhlIGxpbmsgd2lsbCBkYXJrZW4gaWYgaXQncyBhY3RpdmUgb3IgYVxuLy8vIHVzZXIgaG92ZXJzIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1zdWNjZXNzO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtc3VjY2VzcyB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLXN1Y2Nlc3MtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHNjYWxlLWNvbG9yKCRnb3Z1ay1zdWNjZXNzLWNvbG91ciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gTXV0ZWQgbGluayBzdHlsZXNcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgc2Vjb25kYXJ5IHRleHQgY29sb3VyLiBUaGUgbGluayB3aWxsIGRhcmtlbiBpZiBpdCdzXG4vLy8gYWN0aXZlIG9yIGEgdXNlciBob3ZlcnMgdGhlaXIgY3Vyc29yIG92ZXIgaXQuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW11dGVkO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbXV0ZWQge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gVGV4dCBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBwcmltYXJ5IHRleHQgY29sb3VyLCBpbiBhbGwgc3RhdGVzLiBVc2UgdGhpcyBtaXhpbiBmb3Jcbi8vLyBuYXZpZ2F0aW9uIGNvbXBvbmVudHMsIHN1Y2ggYXMgYnJlYWRjcnVtYnMgb3IgdGhlIGJhY2sgbGluay5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLXRleHQge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBGb3JjZSBhIGNvbG91ciBjaGFuZ2Ugb24gaG92ZXIgdG8gd29yayBhcm91bmQgYSBidWcgaW4gU2FmYXJpXG4gIC8vIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyNDQ4M1xuICAmOmhvdmVyIHtcbiAgICBAaWYgdHlwZS1vZigkZ292dWstdGV4dC1jb2xvdXIpID09IGNvbG9yIHtcbiAgICAgIGNvbG9yOiByZ2JhKCRnb3Z1ay10ZXh0LWNvbG91ciwgMC45OSk7XG4gICAgfVxuICB9XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBJbnZlcnNlIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB3aGl0ZSwgaW4gYWxsIHN0YXRlcy4gVXNlIHRoaXMgbWl4aW4gaWYgeW91J3JlIGRpc3BsYXlpbmcgbGlua3Ncbi8vLyBhZ2FpbnN0IGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1pbnZlcnNlO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZSB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gIH1cblxuICAvLyBGb3JjZSBhIGNvbG91ciBjaGFuZ2Ugb24gaG92ZXIgdG8gd29yayBhcm91bmQgYSBidWcgaW4gU2FmYXJpXG4gIC8vIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIyNDQ4M1xuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6IHJnYmEoZ292dWstY29sb3VyKFwid2hpdGVcIiksIDAuOTkpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vLy8gRGVmYXVsdCBsaW5rIHN0eWxlcywgd2l0aG91dCBhIHZpc2l0ZWQgc3RhdGVcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgZGVmYXVsdCB1bnZpc2l0ZWQsIGhvdmVyIGFuZCBhY3RpdmUgY29sb3Vycywgd2l0aCBub1xuLy8vIGRpc3RpbmN0IHZpc2l0ZWQgc3RhdGUuXG4vLy9cbi8vLyBVc2UgdGhpcyBtaXhpbiB3aGVuIGl0J3Mgbm90IGhlbHBmdWwgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB2aXNpdGVkIGFuZFxuLy8vIG5vbi12aXNpdGVkIGxpbmtzLiBGb3IgZXhhbXBsZSwgd2hlbiB5b3UgbGluayB0byBwYWdlcyB3aXRoXG4vLy8gZnJlcXVlbnRseS1jaGFuZ2luZyBjb250ZW50LCBzdWNoIGFzIHRoZSBkYXNoYm9hcmQgZm9yIGFuIGFkbWluIGludGVyZmFjZS5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBSZW1vdmUgdW5kZXJsaW5lIGZyb20gbGlua3Ncbi8vL1xuLy8vIFJlbW92ZSB1bmRlcmxpbmVzIGZyb20gbGlua3MgdW5sZXNzIHRoZSBsaW5rIGlzIGFjdGl2ZSBvciBhIHVzZXIgaG92ZXJzXG4vLy8gdGhlaXIgY3Vyc29yIG92ZXIgaXQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1uby11bmRlcmxpbmU7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS1uby11bmRlcmxpbmUge1xuICAmOm5vdCg6aG92ZXIpOm5vdCg6YWN0aXZlKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vLyBJbmNsdWRlIGxpbmsgZGVzdGluYXRpb24gd2hlbiBwcmludGluZyB0aGUgcGFnZVxuLy8vXG4vLy8gSWYgdGhlIHVzZXIgcHJpbnRzIHRoZSBwYWdlLCBhZGQgdGhlIGRlc3RpbmF0aW9uIFVSTCBhZnRlciB0aGUgbGluayB0ZXh0LCBpZlxuLy8vIHRoZSBVUkwgc3RhcnRzIHdpdGggYC9gLCBgaHR0cDovL2Agb3IgYGh0dHBzOi8vYC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXByaW50LWZyaWVuZGx5IHtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgJltocmVmXj1cIi9cIl0sXG4gICAgJltocmVmXj1cImh0dHA6Ly9cIl0sXG4gICAgJltocmVmXj1cImh0dHBzOi8vXCJdXG4gICAge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAgICAgZm9udC1zaXplOiA5MCU7XG5cbiAgICAgICAgLy8gQmVjYXVzZSB0aGUgVVJMcyBtYXkgYmUgdmVyeSBsb25nLCBlbnN1cmUgdGhhdCB0aGV5IG1heSBiZSBicm9rZW5cbiAgICAgICAgLy8gYXQgYXJiaXRyYXJ5IHBvaW50cyBpZiB0aGVyZSBhcmUgbm8gb3RoZXJ3aXNlIGFjY2VwdGFibGUgYnJlYWtcbiAgICAgICAgLy8gcG9pbnRzIGluIHRoZSBsaW5lXG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEltYWdlIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBQcmVwYXJlcyBhbmQgcHJvdmlkZXMgdGhlIGZvY3VzIHN0YXRlIGZvciBsaW5rcyB0aGF0IG9ubHkgY29udGFpbiBpbWFnZXNcbi8vLyB3aXRoIG5vIGFjY29tcGFueWluZyB0ZXh0LlxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstaW1hZ2Uge1xuICAvLyBOZWVkZWQgdG8gZHJhdyB0aGUgZm9jdXMgYXJvdW5kIHRoZSBlbnRpcmUgaW1hZ2VcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIC8vIFJlbW92ZSBleHRyYSBzcGFjZSBhdCB0aGUgYm90dG9tIG9mIHRoZSBpbWFnZSB0aGF0J3MgYWRkZWQgYnkgbGluZS1oZWlnaHRcbiAgbGluZS1oZWlnaHQ6IDA7XG5cbiAgLy8gRG9uJ3QgcmVuZGVyIGFuIHVuZGVybGluZVxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC1ib3g7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2xpbmtzLnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2xpbmtzXG4vLy8vXG5cbi8vLyBUaGlja25lc3Mgb2YgbGluayB1bmRlcmxpbmVzXG4vLy9cbi8vLyBUaGUgZGVmYXVsdCB3aWxsIGJlIGVpdGhlcjpcbi8vL1xuLy8vICAtIDFweFxuLy8vICAtIDAuMDYyNXJlbSwgaWYgaXQncyB0aGlja2VyIHRoYW4gMXB4IGJlY2F1c2UgdGhlIHVzZXIgaGFzIGNoYW5nZWQgdGhlIHRleHRcbi8vLyAgICBzaXplIGluIHRoZWlyIGJyb3dzZXJcbi8vL1xuLy8vIFNldCB0aGlzIHZhcmlhYmxlIHRvIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZyBhIHRoaWNrbmVzcy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLXVuZGVybGluZS10aGlja25lc3M6IHVucXVvdGUoXCJtYXgoMXB4LCAuMDYyNXJlbSlcIikgIWRlZmF1bHQ7XG5cbi8vLyBPZmZzZXQgb2YgbGluayB1bmRlcmxpbmVzIGZyb20gdGV4dCBiYXNlbGluZVxuLy8vXG4vLy8gVGhlIGRlZmF1bHQgaXMgM3B4IGV4cHJlc3NlZCBhcyBlbXMsIGFzIGNhbGN1bGF0ZWQgYWdhaW5zdCB0aGUgZGVmYXVsdCBib2R5XG4vLy8gZm9udCBzaXplIChvbiBkZXNrdG9wKSBvZiAxOXB4LlxuLy8vIDMgw7cgMTkgPSAwLjE1Nzhcbi8vL1xuLy8vIFNldCB0aGlzIHZhcmlhYmxlIHRvIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZyBhbiBvZmZzZXQuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0OiAwLjE1NzhlbSAhZGVmYXVsdDtcblxuLy8vIFRoaWNrbmVzcyBvZiBsaW5rIHVuZGVybGluZXMgaW4gaG92ZXIgc3RhdGVcbi8vL1xuLy8vIFRoZSBkZWZhdWx0IGZvciBlYWNoIGxpbmsgd2lsbCBiZSB0aGUgdGhpY2tlc3Qgb2YgdGhlIGZvbGxvd2luZzpcbi8vL1xuLy8vICAtIDNweFxuLy8vICAtIDAuMTg3NXJlbSwgaWYgaXQncyB0aGlja2VyIHRoYW4gM3B4IGJlY2F1c2UgdGhlIHVzZXIgaGFzIGNoYW5nZWQgdGhlIHRleHRcbi8vLyAgICBzaXplIGluIHRoZWlyIGJyb3dzZXJcbi8vLyAgLSAwLjEyZW0gKHJlbGF0aXZlIHRvIHRoZSBsaW5rJ3MgdGV4dCBzaXplKVxuLy8vXG4vLy8gU2V0IHRoaXMgdmFyaWFibGUgdG8gYGZhbHNlYCB0byBhdm9pZCBzZXR0aW5nIGEgdGhpY2tuZXNzLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzczogdW5xdW90ZShcIm1heCgzcHgsIC4xODc1cmVtLCAuMTJlbSlcIikgIWRlZmF1bHQ7XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9saW5rcy5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9leHBvcnRzXCI7XG5cbi8vLyBGb250IEZhY2UgLSBHRFMgVHJhbnNwb3J0XG4vLy9cbi8vLyBPdXRwdXRzIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb24gZm9yIEdEUyBUcmFuc3BvcnQgYXQgdGhlIHJvb3Qgb2YgdGhlIENTUyBkb2N1bWVudFxuLy8vIHRoZSBmaXJzdCB0aW1lIGl0IGlzIGNhbGxlZC5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWZvbnQtZmFjZS1nZHMtdHJhbnNwb3J0IHtcbiAgQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2hlbHBlcnMvZm9udC1mYWNlc1wiKSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgLyohIENvcHlyaWdodCAoYykgMjAxMSBieSBNYXJnYXJldCBDYWx2ZXJ0ICYgSGVucmlrIEt1YmVsLiBBbGwgcmlnaHRzIHJlc2VydmVkLiBUaGUgZm9udCBoYXMgYmVlbiBjdXN0b21pc2VkIGZvciBleGNsdXNpdmUgdXNlIG9uIGdvdi51ay4gVGhpcyBjdXQgaXMgbm90IGNvbW1lcmNpYWxseSBhdmFpbGFibGUuICovIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2Nzcy9jb21tZW50LW5vLWxvdWQgICovXG4gICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHNyYzpcbiAgICAgICAgICBnb3Z1ay1mb250LXVybChcImxpZ2h0LTk0YTA3ZTA2YTEtdjIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksXG4gICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC1mNTkxYjEzZjdkLXYyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cblxuICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgc3JjOlxuICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1iNTQyYmViMjc0LXYyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1hZmZhOTY1NzFkLXYyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgZm9udC1kaXNwbGF5OiBmYWxsYmFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2ZvbnQtZmFjZXMuc2Nzcy5tYXAgKi9cbiIsIi8vIG1xKCkgdjQuMC4yXG4vLyBzYXNzLW1xL3Nhc3MtbXFcblxuQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgYW5kICRtZWRpYS10eXBlICE9ICdwcmludCdcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFF1aWNrIHNvcnRcbi8vL1xuLy8vIEBhdXRob3IgU2FtIFJpY2hhcmRzXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQHBhcmFtIHtMaXN0fSAkbGlzdCAtIExpc3QgdG8gc29ydFxuLy8vIEByZXR1cm5zIHtMaXN0fSBTb3J0ZWQgTGlzdFxuQGZ1bmN0aW9uIF9tcS1xdWljay1zb3J0KCRsaXN0KSB7XG4gICAgJGxlc3M6ICAoKTtcbiAgICAkZXF1YWw6ICgpO1xuICAgICRsYXJnZTogKCk7XG5cbiAgICBAaWYgbGVuZ3RoKCRsaXN0KSA+IDEge1xuICAgICAgICAkc2VlZDogbnRoKCRsaXN0LCBjZWlsKGxlbmd0aCgkbGlzdCkgLyAyKSk7XG5cbiAgICAgICAgQGVhY2ggJGl0ZW0gaW4gJGxpc3Qge1xuICAgICAgICAgICAgQGlmICgkaXRlbSA9PSAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRlcXVhbDogYXBwZW5kKCRlcXVhbCwgJGl0ZW0pO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGl0ZW0gPCAkc2VlZCkge1xuICAgICAgICAgICAgICAgICRsZXNzOiBhcHBlbmQoJGxlc3MsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtID4gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGFyZ2U6IGFwcGVuZCgkbGFyZ2UsICRpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEByZXR1cm4gam9pbihqb2luKF9tcS1xdWljay1zb3J0KCRsZXNzKSwgJGVxdWFsKSwgX21xLXF1aWNrLXNvcnQoJGxhcmdlKSk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbGlzdDtcbn1cblxuLy8vIFNvcnQgYSBtYXAgYnkgdmFsdWVzICh3b3JrcyB3aXRoIG51bWJlcnMgb25seSlcbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TWFwfSBNYXAgc29ydGVkIGJ5IHZhbHVlXG5AZnVuY3Rpb24gX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtYXApIHtcbiAgICAkbWFwLXNvcnRlZDogKCk7XG4gICAgJG1hcC1rZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICAkbWFwLXZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgICAkbWFwLXZhbHVlcy1zb3J0ZWQ6IF9tcS1xdWljay1zb3J0KCRtYXAtdmFsdWVzKTtcblxuICAgIC8vIFJlb3JkZXIga2V5L3ZhbHVlIHBhaXJzIGJhc2VkIG9uIGtleSB2YWx1ZXNcbiAgICBAZWFjaCAkdmFsdWUgaW4gJG1hcC12YWx1ZXMtc29ydGVkIHtcbiAgICAgICAgJGluZGV4OiBpbmRleCgkbWFwLXZhbHVlcywgJHZhbHVlKTtcbiAgICAgICAgJGtleTogbnRoKCRtYXAta2V5cywgJGluZGV4KTtcbiAgICAgICAgJG1hcC1zb3J0ZWQ6IG1hcC1tZXJnZSgkbWFwLXNvcnRlZCwgKCRrZXk6ICR2YWx1ZSkpO1xuXG4gICAgICAgIC8vIFVuc2V0IHRoZSB2YWx1ZSBpbiAkbWFwLXZhbHVlcyB0byBwcmV2ZW50IHRoZSBsb29wXG4gICAgICAgIC8vIGZyb20gZmluZGluZyB0aGUgc2FtZSBpbmRleCB0d2ljZVxuICAgICAgICAkbWFwLXZhbHVlczogc2V0LW50aCgkbWFwLXZhbHVlcywgJGluZGV4LCAwKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRtYXAtc29ydGVkO1xufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBfbXEtbWFwLXNvcnQtYnktdmFsdWUoJG1xLWJyZWFrcG9pbnRzKSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3Nhc3MtbXEuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9hY2Nlc3NpYmlsaXR5XG4vLy8vXG5cbi8vLyBGb2N1c2VkIHRleHRcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpcyBmb2N1c2VkLlxuLy8vIFVzZWQgZm9yIGludGVyYWN0aXZlIHRleHQtYmFzZWQgZWxlbWVudHMuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9jdXNlZC10ZXh0IHtcbiAgLy8gV2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuLCBmb3IgZXhhbXBsZSB3aGVuIHVzZXJzIGhhdmUgYSBkYXJrIG1vZGUsXG4gIC8vIGJhY2tncm91bmRzIGFuZCBib3gtc2hhZG93cyBkaXNhcHBlYXIsIHNvIHdlIG5lZWQgdG8gZW5zdXJlIHRoZXJlJ3MgYVxuICAvLyB0cmFuc3BhcmVudCBvdXRsaW5lIHdoaWNoIHdpbGwgYmUgc2V0IHRvIGEgdmlzaWJsZSBjb2xvdXIuXG5cbiAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICBib3gtc2hhZG93OlxuICAgIDAgLTJweCAkZ292dWstZm9jdXMtY29sb3VyLFxuICAgIDAgNHB4ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgLy8gV2hlbiBsaW5rIGlzIGZvY3Vzc2VkLCBoaWRlIHRoZSBkZWZhdWx0IHVuZGVybGluZSBzaW5jZSB0aGVcbiAgLy8gYm94IHNoYWRvdyBhZGRzIHRoZSBcInVuZGVybGluZVwiXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAvLyBXaGVuIGEgZm9jdXNlZCBib3ggaXMgYnJva2VuIGJ5IGUuZy4gYSBsaW5lIGJyZWFrLCBlbnN1cmUgdGhhdCB0aGVcbiAgLy8gYm94LXNoYWRvdyBpcyBhcHBsaWVkIHRvIGVhY2ggZnJhZ21lbnQgaW5kZXBlbmRlbnRseS5cbiAgLXdlYmtpdC1ib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICAgICAgYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xufVxuXG4vLy8gRm9jdXNlZCBib3hcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpcyBmb2N1c2VkLlxuLy8vIFVubGlrZSBnb3Z1ay1mb2N1c2VkLXRleHQsIHdoaWNoIG9ubHkgZHJhd3MgYW4gdW5kZXJsaW5lIGJlbG93IHRoZSBlbGVtZW50LFxuLy8vIGdvdnVrLWZvY3VzZWQtYm94IGRyYXdzIGFuIG91dGxpbmUgYXJvdW5kIGFsbCBzaWRlcyBvZiB0aGUgZWxlbWVudC5cbi8vLyBCZXN0IHVzZWQgZm9yIG5vbi10ZXh0IGNvbnRlbnQgY29udGFpbmVkIHdpdGhpbiBsaW5rcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb2N1c2VkLWJveCB7XG4gIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDAgMCA0cHggJGdvdnVrLWZvY3VzLWNvbG91cixcbiAgICAwIDAgMCA4cHggJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZm9jdXNlZC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbkBpbXBvcnQgXCIuLi9oZWxwZXJzL2NvbG91clwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdlbmVyaWNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gQnJhbmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnJhbmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8vLyBDYW52YXMgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgYnkgdGhlIGZvb3RlciBjb21wb25lbnQgYW5kIHRlbXBsYXRlIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZ1xuLy8vIGZvb3Rlci5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIikgIWRlZmF1bHQ7XG5cbi8vLyBCb2R5IGJhY2tncm91bmQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG91ciBmb3IgcHJpbnQgbWVkaWFcbi8vL1xuLy8vIFVzZSAndHJ1ZSBibGFjaycgdG8gYXZvaWQgcHJpbnRlcnMgdXNpbmcgY29sb3VyIGluayB0byBwcmludCBib2R5IHRleHRcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1wcmludC10ZXh0LWNvbG91cjogIzAwMDAwMCAhZGVmYXVsdDtcblxuLy8vIFNlY29uZGFyeSB0ZXh0IGNvbG91clxuLy8vXG4vLy8gVXNlZCBpbiBmb3IgZXhhbXBsZSAnbXV0ZWQnIHRleHQgYW5kIGhlbHAgdGV4dC5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiKSAhZGVmYXVsdDtcblxuLy8vIEZvY3VzIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3Igb3V0bGluZSAoYW5kIGJhY2tncm91bmQsIHdoZXJlIGFwcHJvcHJpYXRlKSB3aGVuIGludGVyYWN0aXZlXG4vLy8gZWxlbWVudHMgKGxpbmtzLCBmb3JtIGNvbnRyb2xzKSBoYXZlIGtleWJvYXJkIGZvY3VzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLWNvbG91cjogZ292dWstY29sb3VyKFwieWVsbG93XCIpICFkZWZhdWx0O1xuXG4vLy8gRm9jdXNlZCB0ZXh0IGNvbG91clxuLy8vXG4vLy8gRW5zdXJlIHRoYXQgdGhlIGNvbnRyYXN0IGJldHdlZW4gdGhlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3VyIHBhc3Nlc1xuLy8vIFdDQUcgTGV2ZWwgQUEgY29udHJhc3QgcmVxdWlyZW1lbnRzLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIEVycm9yIGNvbG91clxuLy8vXG4vLy8gVXNlZCB0byBoaWdobGlnaHQgZXJyb3IgbWVzc2FnZXMgYW5kIGZvcm0gY29udHJvbHMgaW4gYW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1lcnJvci1jb2xvdXI6IGdvdnVrLWNvbG91cihcInJlZFwiKSAhZGVmYXVsdDtcblxuLy8vIFN1Y2Nlc3MgY29sb3VyXG4vLy9cbi8vLyBVc2VkIHRvIGhpZ2hsaWdodCBzdWNjZXNzIG1lc3NhZ2VzIGFuZCBiYW5uZXJzXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstc3VjY2Vzcy1jb2xvdXI6IGdvdnVrLWNvbG91cihcImdyZWVuXCIpICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBpbiBmb3IgZXhhbXBsZSBib3JkZXJzLCBzZXBhcmF0b3JzLCBydWxlcyBhbmQga2V5bGluZXMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLWNvbG91cjogZ292dWstY29sb3VyKFwibWlkLWdyZXlcIikgIWRlZmF1bHQ7XG5cbi8vLyBJbnB1dCBib3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBmb3JtIGlucHV0cyBhbmQgY29udHJvbHNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIElucHV0IGhvdmVyIGNvbG91clxuLy8vXG4vLy8gVXNlZCBmb3IgaG92ZXIgc3RhdGVzIG9uIGZvcm0gY29udHJvbHNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIpICFkZWZhdWx0O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBMaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpICFkZWZhdWx0O1xuXG4vLy8gVmlzaXRlZCBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstdmlzaXRlZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcInB1cnBsZVwiKSAhZGVmYXVsdDtcblxuLy8vIExpbmsgaG92ZXIgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImRhcmstYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIikgIWRlZmF1bHQ7XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9jb2xvdXJzLWFwcGxpZWQuc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpc3RzXCIpIHtcbiAgJWdvdnVrLWxpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAvLyBBZGQgYSB0b3AgbWFyZ2luIGZvciBuZXN0ZWQgbGlzdHNcbiAgICAlZ292dWstbGlzdCB7XG4gICAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgfVxuXG4gICVnb3Z1ay1saXN0ID4gbGkge1xuICAgIC8vIExpc3RzIHdpdGhvdXQgbnVtYmVycyBvciBidWxsZXRzIHNob3VsZCBhbHdheXMgaGF2ZSBleHRyYSBzcGFjZSBiZXR3ZWVuXG4gICAgLy8gbGlzdCBpdGVtcy4gTGlzdHMgd2l0aCBudW1iZXJzIG9yIGJ1bGxldHMgb25seSBoYXZlIHRoaXMgZXh0cmEgc3BhY2Ugb25cbiAgICAvLyB0YWJsZXQgYW5kIGFib3ZlXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0O1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLWJ1bGxldCB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gIH1cblxuICAlZ292dWstbGlzdC0tYnVsbGV0ID4gbGksXG4gICVnb3Z1ay1saXN0LS1udW1iZXIgPiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QtLXNwYWNlZCA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1idWxsZXQ7XG4gIH1cblxuICAuZ292dWstbGlzdC0tbnVtYmVyIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1udW1iZXI7XG4gIH1cblxuICAuZ292dWstbGlzdC0tc3BhY2VkIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saXN0LS1zcGFjZWQ7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2xpc3RzLnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvc3BhY2luZ1xuLy8vL1xuXG4vLy8gU2luZ2xlIHBvaW50IHNwYWNpbmdcbi8vL1xuLy8vIFJldHVybnMgbWVhc3VyZW1lbnQgY29ycmVzcG9uZGluZyB0byB0aGUgc3BhY2luZyBwb2ludCByZXF1ZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgc3BhY2luZyBzY2FsZVxuLy8vICAoc2V0IGluIGBzZXR0aW5ncy9fc3BhY2luZy5zY3NzYClcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IFNwYWNpbmcgbWVhc3VyZW1lbnQgZWcuIDEwcHhcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg1KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgVXNpbmcgbmVnYXRpdmUgc3BhY2luZ1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgTWFya2luZyBzcGFjaW5nIGRlY2xhcmF0aW9ucyBhcyBpbXBvcnRhbnRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKSAhaW1wb3J0YW50O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXNwYWNpbmcoJHNwYWNpbmctcG9pbnQpIHtcbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRzcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICAgKyBcIiN7JGFjdHVhbC1pbnB1dC10eXBlfS5cIjtcbiAgfVxuXG4gICRpcy1uZWdhdGl2ZTogZmFsc2U7XG4gIEBpZiAkc3BhY2luZy1wb2ludCA8IDAge1xuICAgICRpcy1uZWdhdGl2ZTogdHJ1ZTtcbiAgICAkc3BhY2luZy1wb2ludDogYWJzKCRzcGFjaW5nLXBvaW50KTtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXNwYWNpbmctcG9pbnRzLCAkc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciBcIlVua25vd24gc3BhY2luZyB2YXJpYWJsZSBgI3skc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgJHZhbHVlOiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpO1xuICBAcmV0dXJuIGlmKCRpcy1uZWdhdGl2ZSwgJHZhbHVlICogLTEsICR2YWx1ZSk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHNwYWNpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBzcGFjaW5nIChlaXRoZXIgcGFkZGluZyBvciBtYXJnaW4sIGRlcGVuZGluZyBvbiBgJHByb3BlcnR5YClcbi8vLyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzXG4vLy8gZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cbi8vL1xuLy8vIFRvIGdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZywgdXNlICdnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbicgb3Jcbi8vLyAnZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nJyBtaXhpbnNcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nKFxuICAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LFxuICAkcHJvcGVydHksXG4gICRkaXJlY3Rpb246IFwiYWxsXCIsXG4gICRpbXBvcnRhbnQ6IGZhbHNlLFxuICAkYWRqdXN0bWVudDogZmFsc2Vcbikge1xuICAkYWN0dWFsLWlucHV0LXR5cGU6IHR5cGUtb2YoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCk7XG4gIEBpZiAkYWN0dWFsLWlucHV0LXR5cGUgIT0gXCJudW1iZXJcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCIgKyBcIiN7JGFjdHVhbC1pbnB1dC10eXBlfS5cIjtcbiAgfVxuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXNwYWNpbmctcmVzcG9uc2l2ZS1zY2FsZSwgJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCkge1xuICAgIEBlcnJvciBcIlVua25vd24gc3BhY2luZyBwb2ludCBgI3skcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50fWAuIE1ha2Ugc3VyZSB5b3UgYXJlIHVzaW5nIGEgcG9pbnQgZnJvbSB0aGUgXCJcbiAgICAgICsgXCJyZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUgaW4gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgLlwiO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYCBpcyBhIG1hcC5cbiAgJHNjYWxlLW1hcDogbWFwLWdldCgkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlLCAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50KTtcbiAgJGFjdHVhbC1tYXAtdHlwZTogdHlwZS1vZigkc2NhbGUtbWFwKTtcbiAgQGlmICRhY3R1YWwtbWFwLXR5cGUgIT0gXCJtYXBcIiB7XG4gICAgQGVycm9yIFwiRXhwZWN0ZWQgYSBudW1iZXIgKGludGVnZXIpLCBidXQgZ290IGEgXCJcbiAgICAgICsgXCIjeyRhY3R1YWwtbWFwLXR5cGV9LiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIG1hcCB0byBzZXQgdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2ApXCI7XG4gIH1cblxuICAvLyBMb29wIHRocm91Z2ggZWFjaCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LXZhbHVlIGluICRzY2FsZS1tYXAge1xuICAgIEBpZiAkYWRqdXN0bWVudCB7XG4gICAgICAkYnJlYWtwb2ludC12YWx1ZTogJGJyZWFrcG9pbnQtdmFsdWUgKyAkYWRqdXN0bWVudDtcbiAgICB9XG5cbiAgICAvLyBUaGUgJ251bGwnIGJyZWFrcG9pbnQgaXMgZm9yIG1vYmlsZS5cbiAgICBAaWYgbm90ICRicmVha3BvaW50IHtcbiAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206ICRicmVha3BvaW50KSB7XG4gICAgICAgIEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG4gICAgICAgICAgI3skcHJvcGVydHl9OiAkYnJlYWtwb2ludC12YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn06ICRicmVha3BvaW50LXZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZXNwb25zaXZlIG1hcmdpblxuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIG1hcmdpbiBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vIHNjYWxlLCBjb3JyZXNwb25kcyB0byBhIG1hcCBvZiBicmVha3BvaW50cyBhbmQgc3BhY2luZyB2YWx1ZXNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiBbYWxsXSAtIERpcmVjdGlvbiB0byBhZGQgc3BhY2luZyB0b1xuLy8vICAgKGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgYGxlZnRgLCBgYWxsYClcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vLyBAcGFyYW0ge051bWJlcn0gJGFkanVzdG1lbnQgW2ZhbHNlXSAtIE9mZnNldCB0byBhZGp1c3Qgc3BhY2luZyBieVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcIm1hcmdpblwiLCAkZGlyZWN0aW9uLCAkaW1wb3J0YW50LCAkYWRqdXN0bWVudCk7XG59XG5cbi8vLyBSZXNwb25zaXZlIHBhZGRpbmdcbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBwYWRkaW5nIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlXG4vLy8gc3BhY2luZyBzY2FsZSwgd2hpY2ggZGVmaW5lcyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50XG4vLy8gYnJlYWtwb2ludHMuIFdyYXBwZXIgZm9yIHRoZSBgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ2AgbWl4aW4uXG4vLy9cbi8vLyBAc2VlIHttaXhpbn0gX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZ1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg2LCBcImxlZnRcIiwgJGFkanVzdG1lbnQ6IDFweCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQsICRkaXJlY3Rpb246IFwiYWxsXCIsICRpbXBvcnRhbnQ6IGZhbHNlLCAkYWRqdXN0bWVudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCBcInBhZGRpbmdcIiwgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fc3BhY2luZy5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEhlYWRpbmdzXG5cbiAgJWdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkaW5nLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXhsO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbCB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1sO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctbSB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1tO1xuICB9XG5cbiAgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmctcyB7XG4gICAgQGV4dGVuZCAlZ292dWstaGVhZGluZy1zO1xuICB9XG5cbiAgLy8gQ2FwdGlvbnMgdG8gYmUgdXNlZCBpbnNpZGUgaGVhZGluZ3NcblxuICAuZ292dWstY2FwdGlvbi14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjcpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstY2FwdGlvbi1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBCb2R5IChwYXJhZ3JhcGhzKVxuXG4gICVnb3Z1ay1ib2R5LWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LWw7XG4gIH1cblxuICAlZ292dWstYm9keS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktbSB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG5cbiAgJWdvdnVrLWJvZHktcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LXMge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktcztcbiAgfVxuXG4gIC8vIEBkZXByZWNhdGVkXG4gICVnb3Z1ay1ib2R5LXhzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBfMTQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC8vIEBkZXByZWNhdGVkXG4gIC5nb3Z1ay1ib2R5LXhzIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LXhzO1xuICB9XG5cbiAgLy8gVXNhZ2UgYWxpYXNlc1xuXG4gIC8vIFVzaW5nIGV4dGVuZCB0byBhbGlhcyBtZWFucyB3ZSBhbHNvIGluaGVyaXQgYW55IGNvbnRleHR1YWwgYWRqdXN0bWVudHMgdGhhdFxuICAvLyByZWZlciB0byB0aGUgJ29yaWdpbmFsJyBjbGFzcyBuYW1lXG5cbiAgLmdvdnVrLWJvZHktbGVhZCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1sO1xuICB9XG5cbiAgLmdvdnVrLWJvZHkge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbTtcbiAgfVxuXG4gIC8vIENvbnRleHR1YWwgYWRqdXN0bWVudHNcbiAgLy8gQWRkIHRvcCBwYWRkaW5nIHRvIGhlYWRpbmdzIHRoYXQgYXBwZWFyIGRpcmVjdGx5IGFmdGVyIHBhcmFncmFwaHMuXG5cbiAgJWdvdnVrLWJvZHktbCArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1sLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg0LCBcInRvcFwiKTtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0gKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1zICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1tLFxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctcyxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLXMsXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctcyB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3R5cG9ncmFwaHkuc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3NlY3Rpb24tYnJlYWtcIikge1xuICAlZ292dWstc2VjdGlvbi1icmVhayB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrO1xuICB9XG5cbiAgLy8gU2l6ZXNcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXhsIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bDtcbiAgfVxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWN0aW9uLWJyZWFrLS1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS1sO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLW0ge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLW07XG4gIH1cblxuICAvLyBWaXNpYmxlIHZhcmlhbnRcblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGUge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGU7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3NlY3Rpb24tYnJlYWsuc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2J1dHRvbi1ncm91cFwiKSB7XG4gIC8vIEJ1dHRvbiBncm91cHMgY2FuIGJlIHVzZWQgdG8gZ3JvdXAgYnV0dG9ucyBhbmQgbGlua3MgdG9nZXRoZXIgYXMgYSBncm91cC5cbiAgLy9cbiAgLy8gV2l0aGluIGEgYnV0dG9uIGdyb3VwOlxuICAvL1xuICAvLyAtIGxpbmtzIGFyZSBzdHlsZWQgdG8gbGluZSB1cCB2aXN1YWxseSB3aXRoIHRoZSBidXR0b25zLCBpbmNsdWRpbmcgYmVpbmdcbiAgLy8gICBjZW50cmUtYWxpZ25lZCBvbiBtb2JpbGVcbiAgLy8gLSBzcGFjaW5nIGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSwgaW5jbHVkaW5nXG4gIC8vICAgd2hlbiB0aGV5IHdyYXAgYWNyb3NzIG11bHRpcGxlIGxpbmVzXG4gIC5nb3Z1ay1idXR0b24tZ3JvdXAge1xuICAgICRob3Jpem9udGFsLWdhcDogZ292dWstc3BhY2luZygzKTtcbiAgICAkdmVydGljYWwtZ2FwOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gVGhlc2UgbmVlZCB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgYnV0dG9uIGNvbXBvbmVudCdzIHN0eWxlc1xuICAgICRidXR0b24tcGFkZGluZzogZ292dWstc3BhY2luZygyKTtcbiAgICAkYnV0dG9uLXNoYWRvdy1zaXplOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAgICRsaW5rLXNwYWNpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiLCAkYWRqdXN0bWVudDogJHZlcnRpY2FsLWdhcCAqIC0xKTtcblxuICAgIC8vIEZsZXhib3ggaXMgdXNlZCB0byBjZW50ZXItYWxpZ24gbGlua3Mgb24gbW9iaWxlLCBhbGlnbiBldmVyeXRoaW5nIGFsb25nXG4gICAgLy8gdGhlIGJhc2VsaW5lIG9uIHRhYmxldCBhbmQgYWJvdmUsIGFuZCB0byByZW1vdmVzIGV4dHJhIHdoaXRlc3BhY2UgdGhhdFxuICAgIC8vIHdlJ2QgZ2V0IGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGJlY2F1c2UgdGhleSdyZSBpbmxpbmUtYmxvY2tzLlxuICAgIC8vXG4gICAgLy8gSWRlYWxseSB3ZSdkIHVzZSBgZ2FwYCB3aXRoIGZsZXhib3ggcmF0aGVyIHRoYW4gaGF2aW5nIHRvIGRvIGl0IGFsbCB3aXRoXG4gICAgLy8gbWFyZ2lucywgYnV0IHVuZm9ydHVuYXRlbHkgdGhlIHN1cHBvcnQgaXNuJ3QgdGhlcmUgKHlldCkgYW5kIEBzdXBwb3J0c1xuICAgIC8vIGRvZXNuJ3QgcGxheSBuaWNlbHkgd2l0aCBpdFxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMzU1OSlcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC8vIEdpdmUgbGlua3Mgd2l0aGluIHRoZSBidXR0b24gZ3JvdXAgdGhlIHNhbWUgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICAgIC8vIGFzIGJ1dHRvbnMuXG4gICAgLy9cbiAgICAvLyBCZWNhdXNlIHdlIHdhbnQgdGhlIGZvY3VzIHN0YXRlIHRvIGJlIHRpZ2h0IGFyb3VuZCB0aGUgbGluayB0ZXh0LCB3ZSB1c2VcbiAgICAvLyBtYXJnaW5zIHdoZXJlIHRoZSBidXR0b25zIHdvdWxkIHVzZSBwYWRkaW5nLlxuICAgIC5nb3Z1ay1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLy8gUHJldmVudCBsaW5rcyBvdmVyZmxvd2luZyB0aGVpciBjb250YWluZXIgaW4gSUUxMC8xMSBiZWNhdXNlIG9mIGJ1Z1xuICAgICAgLy8gd2l0aCBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAkbGluay1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGxpbmstc3BhY2luZyArICR2ZXJ0aWNhbC1nYXA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gUmVkdWNlIHRoZSBib3R0b20gbWFyZ2luIHRvIHRoZSBzaXplIG9mIHRoZSB2ZXJ0aWNhbCBnYXAgKGFjY29tbW9kYXRpbmdcbiAgICAvLyB0aGUgYnV0dG9uIHNoYWRvdykg4oCTIHRoZSAnbG9zdCcgbWFyZ2luIGlzIG1vdmVkIHRvIHRoZSBidXR0b24tZ3JvdXAuXG4gICAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtZ2FwICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAvLyBPbiB0YWJsZXQgYW5kIGFib3ZlLCB3ZSBhbHNvIGludHJvZHVjZSBhICdjb2x1bW4gZ2FwJyBiZXR3ZWVuIHRoZVxuICAgIC8vIGJ1dHRvbnMgYW5kIGxpbmtzIGluIGVhY2ggcm93IGFuZCBsZWZ0IGFsaWduIGxpbmtzXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLy8gQ2FuY2VsIG91dCB0aGUgY29sdW1uIGdhcCBmb3IgdGhlIGxhc3QgaXRlbSBpbiBlYWNoIHJvd1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoJGhvcml6b250YWwtZ2FwICogLTEpO1xuXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAuZ292dWstYnV0dG9uLFxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpem9udGFsLWdhcDtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fYnV0dG9uLWdyb3VwLnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy9mb3JtLWdyb3VwXCIpIHtcbiAgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgLmdvdnVrLWZvcm0tZ3JvdXA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZSBtYXJnaW4gZnJvbSBsYXN0IGl0ZW0gaW4gbmVzdGVkIGdyb3Vwc1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb3JtLWdyb3VwLS1lcnJvciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGJvcmRlci1sZWZ0OiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3Igc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICAgIC8vIFJlc2V0IGVycm9yIHN0eWxlcyBpbiBuZXN0ZWQgZm9ybSBncm91cHMgdGhhdCBtaWdodCBoYXZlIGVycm9yIGNsYXNzXG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZm9ybS1ncm91cC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2xheW91dFxuLy8vL1xuXG4vLy8gQ2xlYXIgZmxvYXRlZCBjb250ZW50IHdpdGhpbiBhIGNvbnRhaW5lciB1c2luZyBhIHBzZXVkbyBlbGVtZW50XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstY2xlYXJmaXgge1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fY2xlYXJmaXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2dyaWRcIikge1xuICAuZ292dWstZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSgkZ292dWstZ3V0dGVyLWhhbGYpO1xuICAgIG1hcmdpbi1sZWZ0OiAtKCRnb3Z1ay1ndXR0ZXItaGFsZik7XG4gIH1cblxuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbigkd2lkdGgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZXNlICptdXN0KiBiZSBkZWZpbmVkIGluIGEgc2VwYXJhdGUgbG9vcCBhcyB0aGV5IGhhdmUgdGhlIHNhbWVcbiAgLy8gc3BlY2lmaWNpdHkgYXMgdGhlIG5vbi1icmVha3BvaW50IHNwZWNpZmljIGNsYXNzZXMsIHNvIG5lZWQgdG8gYXBwZWFyIGFmdGVyXG4gIC8vIHRoZW0gaW4gdGhlIG91dHB1dHRlZCBDU1NcbiAgQGVhY2ggJHdpZHRoIGluIG1hcC1rZXlzKCRnb3Z1ay1ncmlkLXdpZHRocykge1xuICAgIC5nb3Z1ay1ncmlkLWNvbHVtbi0jeyR3aWR0aH0tZnJvbS1kZXNrdG9wIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aCwgJGF0OiBkZXNrdG9wKTtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2dyaWQuc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9sYXlvdXRcbi8vLy9cblxuLy8vIEdyaWQgd2lkdGggcGVyY2VudGFnZVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRrZXkgLSBOYW1lIG9mIGdyaWQgd2lkdGggKGUuZy4gdHdvLXRoaXJkcylcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFBlcmNlbnRhZ2Ugd2lkdGhcbi8vLyBAdGhyb3cgaWYgYCRrZXlgIGlzIG5vdCBhIHZhbGlkIGdyaWQgd2lkdGhcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstZ3JpZC13aWR0aCgka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZ292dWstZ3JpZC13aWR0aHMsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWdyaWQtd2lkdGhzLCAka2V5KTtcbiAgfVxuXG4gIEBlcnJvciBcIlVua25vd24gZ3JpZCB3aWR0aCBgI3ska2V5fWBcIjtcbn1cblxuLy8vIEdlbmVyYXRlIGdyaWQgY29sdW1uIHN0eWxlc1xuLy8vXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHdpdGggc3RhbmRhcmQgZ3V0dGVyIGJldHdlZW4gdGhlIGNvbHVtbnMuXG4vLy9cbi8vLyBHcmlkIHdpZHRocyBhcmUgZGVmaW5lZCBpbiB0aGUgYCRnb3Z1ay1ncmlkLXdpZHRoc2AgbWFwLlxuLy8vXG4vLy8gQnkgZGVmYXVsdCB0aGUgY29sdW1uIHdpZHRoIGNoYW5nZXMgZnJvbSAxMDAlIHRvIHNwZWNpZmllZCB3aWR0aCBhdCB0aGVcbi8vLyAndGFibGV0JyBicmVha3BvaW50LCBidXQgb3RoZXIgYnJlYWtwb2ludHMgY2FuIGJlIHNwZWNpZmllZCB1c2luZyB0aGUgYCRhdGBcbi8vLyBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIFtmdWxsXSBuYW1lIG9mIGEgZ3JpZCB3aWR0aCBmcm9tICRnb3Z1ay1ncmlkLXdpZHRoc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZmxvYXQgW2xlZnRdIGxlZnQgfCByaWdodFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYXQgW3RhYmxldF0gLSBtb2JpbGUgfCB0YWJsZXQgfCBkZXNrdG9wIHwgYW55IGN1c3RvbSBicmVha3BvaW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRGVmYXVsdFxuLy8vICAgLmdvdnVrLWdyaWQtY29sdW1uLXR3by10aGlyZHMge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1ncmlkLWNvbHVtbih0d28tdGhpcmRzKVxuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBicmVha3BvaW50IHdoZXJlIHdpZHRoIHBlcmNlbnRhZ2UgaXMgYXBwbGllZFxuLy8vICAgLmdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmLWZyb20tZGVza3RvcCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKG9uZS1oYWxmLCAkYXQ6IGRlc2t0b3ApO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbWlzaW5nIHRoZSBmbG9hdCBkaXJlY3Rpb25cbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZi1yaWdodCB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKHR3by10aGlyZHMsICRmbG9hdDogcmlnaHQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aDogZnVsbCwgJGZsb2F0OiBsZWZ0LCAkYXQ6IHRhYmxldCkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBAaWYgJGF0ICE9IGRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIHBhZGRpbmc6IDAgJGdvdnVrLWd1dHRlci1oYWxmO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogJGF0KSB7XG4gICAgd2lkdGg6IGdvdnVrLWdyaWQtd2lkdGgoJHdpZHRoKTtcbiAgICBmbG9hdDogJGZsb2F0O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9ncmlkLnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG4vLy8vXG4vLy8gQGdyb3VwIG9iamVjdHMvbGF5b3V0XG4vLy8vXG5cbi8vIEV4YW1wbGUgdXNhZ2Ugd2l0aCBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rczpcbi8vIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbi8vICAgPCEtLSBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rcyBhcmUgcGxhY2VkIGluIGhlcmUuIC0tPlxuLy8gICA8ZGl2IGNsYXNzPVwiZ292dWstbWFpbi13cmFwcGVyXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2Ugd2l0aG91dCBCcmVhZGNydW1icywgcGhhc2UgYmFubmVycywgYmFjayBsaW5rczpcbi8vIDxkaXYgY2xhc3M9XCJnb3Z1ay13aWR0aC1jb250YWluZXJcIj5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlciBnb3Z1ay1tYWluLXdyYXBwZXItLWxcIj5cbi8vICAgICAgIDwhLS0gV3JhcHBlciBmb3IgdGhlIG1haW4gY29udGVudCBvZiB5b3VyIHBhZ2Ugd2hpY2ggYXBwbGllcyBwYWRkaW5nXG4vLyAgICAgICAgICAgIHRvIHRoZSB0b3AgLyBib3R0b20gLS0+XG4vLyAgIDwvZGl2PlxuLy8gPC9kaXY+XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIC8vIEluIElFMTEgdGhlIGBtYWluYCBlbGVtZW50IGNhbiBiZSB1c2VkLCBidXQgaXMgbm90IHJlY29nbml6ZWQgIOKAk1xuICAgIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gICAgLy8gc28gaXQgdXNlcyBDU1MgaW5pdGlhbCB2YWx1ZSwgd2hpY2ggaXMgaW5saW5lLlxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLy8gVGhpcyBzcGFjaW5nIGlzIG1hbnVhbGx5IGFkanVzdGVkIHRvIHJlcGxpY2F0ZSB0aGUgbWFyZ2luIG9mXG4gICAgICAvLyBnb3Z1ay1oZWFkaW5nLXhsICg1MHB4KSBtaW51cyB0aGUgc3BhY2luZyBvZiBiYWNrIGxpbmsgYW5kXG4gICAgICAvLyBicmVhZGNydW1icyAoMTBweClcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVXNpbmcgdGhlIGAuZ292dWstbWFpbi13cmFwcGVyLS1hdXRvLXNwYWNpbmdgIG1vZGlmaWVyIHNob3VsZCBhcHBseSB0aGVcbiAgLy8gY29ycmVjdCBzcGFjaW5nIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZXJlIGFyZSBhbnkgZWxlbWVudHNcbiAgLy8gKHN1Y2ggdGhlIGJhY2sgbGluaywgYnJlYWRjcnVtYnMgb3IgcGhhc2UgYmFubmVyIGNvbXBvbmVudHMpIGJlZm9yZSB0aGVcbiAgLy8gYC5nb3Z1ay1tYWluLXdyYXBwZXJgIGluIHRoZSBgZ292dWstd2lkdGgtY29udGFpbmVyYC5cbiAgLy9cbiAgLy8gSWYgeW91IG5lZWQgdG8gY29udHJvbCB0aGUgc3BhY2luZyBtYW51YWxseSwgdXNlIHRoZVxuICAvLyBgZ292dWstbWFpbi13cmFwcGVyLS1sYCBtb2RpZmllciBpbnN0ZWFkLlxuICAuZ292dWstbWFpbi13cmFwcGVyLS1hdXRvLXNwYWNpbmc6Zmlyc3QtY2hpbGQsXG4gIC5nb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg4LCBcInRvcFwiKTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fbWFpbi13cmFwcGVyLnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy90ZW1wbGF0ZVwiKSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxodG1sPiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZSB7XG4gICAgLy8gU2V0IHRoZSBvdmVyYWxsIHBhZ2UgYmFja2dyb3VuZCBjb2xvdXIgdG8gdGhlIHNhbWUgY29sb3VyIGFzIHVzZWQgYnkgdGhlXG4gICAgLy8gZm9vdGVyIHRvIGdpdmUgdGhlIGlsbHVzaW9uIG9mIGEgbG9uZyBmb290ZXIuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcblxuICAgIC8vIFByZXZlbnQgYXV0b21hdGljIHRleHQgc2l6aW5nLCBhcyB3ZSBhbHJlYWR5IGNhdGVyIGZvciBzbWFsbCBkZXZpY2VzIGFuZFxuICAgIC8vIHdvdWxkIGxpa2UgdGhlIGJyb3dzZXIgdG8gc3RheSBvbiAxMDAlIHRleHQgem9vbSBieSBkZWZhdWx0LlxuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAgICAtbW96LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuXG4gICAgLy8gQWRkIHNjcm9sbCBwYWRkaW5nIHRvIHRoZSB0b3Agb2YgZ292dWstdGVtcGxhdGUgYnV0IHJlbW92ZSBpdCBpZiB0aGVcbiAgICAvLyBleGl0IHRoaXMgcGFnZSBjb21wb25lbnQgaXMgcHJlc2VudC5cbiAgICAvL1xuICAgIC8vIFRoaXMgaXMgYSBzb2x1dGlvbiB0byBleGl0IHRoaXMgcGFnZSBwb3RlbnRpYWxseSBmYWlsaW5nIFdDQUcgU0MgMi40LjEyOlxuICAgIC8vIEZvY3VzIE5vdCBPYnNjdXJlZCAoaHR0cHM6Ly93d3cudzMub3JnL1dBSS9XQ0FHMjIvVW5kZXJzdGFuZGluZy9mb2N1cy1ub3Qtb2JzY3VyZWQtbWluaW11bS5odG1sKVxuICAgIC8vIGR1ZSB0byBpdCdzIHN0aWNreSBwb3NpdGlvbmluZy5cbiAgICAvL1xuICAgIC8vIFRoaXMgd2lsbCBhcHBseSBzY3JvbGwtcGFkZGluZy10b3AgaW4gYW55IGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCA6aGFzXG4gICAgLy8gKGh0dHBzOi8vY2FuaXVzZS5jb20vY3NzLWhhcykuIFRoaXMgaXMgcGFydCBvZiB0aGUgcmVhc29uIHdlIGRvIHRoaXMgaW5cbiAgICAvLyBhIFwid3Jvbmcgd2F5IHJvdW5kXCIgd2F5IGFzIHdlIGh5cG90aGVzaXNlIHRoYXQgdGhlIHJpc2tzIG9mIGhhdmluZ1xuICAgIC8vIHNjcm9sbC1wYWRkaW5nIHVubmVjZXNzYXJpbHkgaXMgYmV0dGVyIHRoYW4gcmlza2luZyBub3QgaGF2aW5nIHNjcm9sbC1wYWRkaW5nXG4gICAgLy8gYW5kIG5lZWRpbmcgaXQgdG8gYWNjb3VudCBmb3IgZXhpdCB0aGlzIHBhZ2UuXG4gICAgQHN1cHBvcnRzICgocG9zaXRpb246IC13ZWJraXQtc3RpY2t5KSBvciAocG9zaXRpb246IHN0aWNreSkpIHtcbiAgICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogZ292dWstc3BhY2luZyg5KTtcblxuICAgICAgJjpub3QoOmhhcyguZ292dWstZXhpdC10aGlzLXBhZ2UpKSB7XG4gICAgICAgIHNjcm9sbC1wYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3JjZSB0aGUgc2Nyb2xsYmFyIHRvIGFsd2F5cyBkaXNwbGF5IGluIElFLCB0byBwcmV2ZW50IGhvcml6b250YWwgcGFnZVxuICAgIC8vIGp1bXBzIGFzIGNvbnRlbnQgaGVpZ2h0IGNoYW5nZXMgKGUuZy4gYXV0b2NvbXBsZXRlIHJlc3VsdHMgb3BlbikuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxib2R5PiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZV9fYm9keSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgbWFyZ2lucyBzZXQgYnkgdXNlci1hZ2VudHMgYXJlIG5vdCByZXF1aXJlZCBzaW5jZSB3ZSBoYXZlIG91clxuICAgIC8vIG93biBjb250YWluZXJzLlxuICAgIG1hcmdpbjogMDtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgYm9keSBvZiB0aGUgcGFnZSBiYWNrIHRvIHRoZSB0eXBpY2FsIGJhY2tncm91bmQgY29sb3VyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV90ZW1wbGF0ZS5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuLy8vL1xuLy8vIEBncm91cCBvYmplY3RzL2xheW91dFxuLy8vL1xuXG4vLy8gV2lkdGggY29udGFpbmVyIG1peGluXG4vLy9cbi8vLyBVc2VkIHRvIGNyZWF0ZSBwYWdlIHdpZHRoIGFuZCBjdXN0b20gd2lkdGggY29udGFpbmVyIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdpZHRoIFskZ292dWstcGFnZS13aWR0aF0gLSBXaWR0aCBpbiBwaXhlbHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGluZyBhIDEyMDBweCB3aWRlIGNvbnRhaW5lciBjbGFzc1xuLy8vICAuYXBwLXdpZHRoLWNvbnRhaW5lci0td2lkZSB7XG4vLy8gICAgQGluY2x1ZGUgZ292dWstd2lkdGgtY29udGFpbmVyKDEyMDBweCk7XG4vLy8gIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay13aWR0aC1jb250YWluZXIoJHdpZHRoOiAkZ292dWstcGFnZS13aWR0aCkge1xuICAvLyBCeSBkZWZhdWx0LCBsaW1pdCB0aGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciB0byB0aGUgcGFnZSB3aWR0aFxuICBtYXgtd2lkdGg6ICR3aWR0aDtcblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG5cbiAgLy8gUmVzcGVjdCAnZGlzcGxheSBjdXRvdXQnIHNhZmUgYXJlYSAoYXZvaWRzIG5vdGNoZXMgYW5kIHJvdW5kZWQgY29ybmVycylcbiAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAkZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAvLyBFc2NhcGVkIGR1ZSB0byBTYXNzIG1heCgpIHZzLiBDU1MgbmF0aXZlIG1heCgpXG4gICAgbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1yaWdodH0pXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gIH1cblxuICAvLyBPbiB0YWJsZXQsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlcjtcblxuICAgIC8vIFJlc3BlY3QgJ2Rpc3BsYXkgY3V0b3V0JyBzYWZlIGFyZWEgKGF2b2lkcyBub3RjaGVzIGFuZCByb3VuZGVkIGNvcm5lcnMpXG4gICAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtbGVmdDogY2FsYygjeyRnb3Z1ay1ndXR0ZXItaGFsZn0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcblxuICAgICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICAgIG1hcmdpbi1yaWdodDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgICBtYXJnaW4tbGVmdDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLWxlZnR9KVwiKTtcbiAgICB9XG4gIH1cblxuICAvLyBBcyBzb29uIGFzIHRoZSB2aWV3cG9ydCBpcyBncmVhdGVyIHRoYW4gdGhlIHdpZHRoIG9mIHRoZSBwYWdlIHBsdXMgdGhlXG4gIC8vIGd1dHRlcnMsIGp1c3QgY2VudHJlIHRoZSBjb250ZW50IGluc3RlYWQgb2YgYWRkaW5nIGd1dHRlcnMuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhbmQ6IFwiKG1pbi13aWR0aDogI3soJHdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgIC8vIFNpbmNlIGEgc2FmZSBhcmVhIG1heSBoYXZlIHByZXZpb3VzbHkgYmVlbiBzZXQgYWJvdmUsXG4gICAgLy8gd2UgbmVlZCB0byBkdXBsaWNhdGUgdGhpcyBtYXJnaW4gdGhhdCBjZW50ZXJzIHRoZSBwYWdlLlxuICAgIEBzdXBwb3J0cyAobWFyZ2luOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb2JqZWN0cy93aWR0aC1jb250YWluZXJcIikge1xuICAuZ292dWstd2lkdGgtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay13aWR0aC1jb250YWluZXI7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3dpZHRoLWNvbnRhaW5lci5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9sYXlvdXRcbi8vLy9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQYWdlIGxheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBXaWR0aCBvZiBtYWluIGNvbnRhaW5lclxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXBhZ2Utd2lkdGg6IDk2MHB4ICFkZWZhdWx0O1xuXG4vLy8gTWFwIG9mIGdyaWQgY29sdW1uIHdpZHRoc1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWdyaWQtd2lkdGhzOiAoXG4gIG9uZS1xdWFydGVyOiAoXG4gICAgMTAwJSAvIDRcbiAgKSxcbiAgb25lLXRoaXJkOiAoXG4gICAgMTAwJSAvIDNcbiAgKSxcbiAgb25lLWhhbGY6IChcbiAgICAxMDAlIC8gMlxuICApLFxuICB0d28tdGhpcmRzOiAoXG4gICAgMjAwJSAvIDNcbiAgKSxcbiAgdGhyZWUtcXVhcnRlcnM6IChcbiAgICAzMDAlIC8gNFxuICApLFxuICBmdWxsOiAxMDAlXG4pICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgZ3V0dGVyIGJldHdlZW4gZ3JpZCBjb2x1bW5zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaGFsZiB0aGUgZ3V0dGVyIGJldHdlZW4gZ3JpZCBjb2x1bW5zXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ3V0dGVyLWhhbGY6ICRnb3Z1ay1ndXR0ZXIgLyAyO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEJvcmRlcnNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gU3RhbmRhcmQgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoOiA1cHggIWRlZmF1bHQ7XG5cbi8vLyBXaWRlIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC13aWRlOiAxMHB4ICFkZWZhdWx0O1xuXG4vLy8gTmFycm93IGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aC1uYXJyb3c6IDRweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gY29udHJvbCBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50OiAycHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGdyb3VwIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZ3JvdXAtZXJyb3I6ICRnb3Z1ay1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggb2YgZm9jdXMgb3V0bGluZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvY3VzLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG5cbi8vLyBIb3ZlciB3aWR0aCBmb3IgZm9ybSBjb250cm9scyB3aXRoIGEgaG92ZXIgc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ob3Zlci13aWR0aDogMTBweCAhZGVmYXVsdDtcblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X21lYXN1cmVtZW50cy5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9hY2NvcmRpb25cIikge1xuICAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLWFjY29yZGlvbi1ob3Zlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG4gICRnb3Z1ay1hY2NvcmRpb24taWNvbi1mb2N1cy1jb2xvdXI6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICRnb3Z1ay1hY2NvcmRpb24tYm90dG9tLWJvcmRlci13aWR0aDogMXB4O1xuXG4gIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmcge1xuICAgIC8vIE92ZXJyaWRlIGJyb3dzZXIgZGVmYXVsdHMgdG8gZW5zdXJlIGNvbnNpc3RlbnQgZWxlbWVudCBoZWlnaHRcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3R0b20gbWFyZ2luIGZyb20gdGhlIGxhc3QgaXRlbSBpbnNpZGUgdGhlIGNvbnRlbnRcbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBHT1YuVUsgRnJvbnRlbmQgSmF2YVNjcmlwdCBlbmFibGVkXG4gIC5nb3Z1ay1mcm9udGVuZC1zdXBwb3J0ZWQge1xuICAgIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgICAgLy8gQm9yZGVyIGF0IHRoZSBib3R0b20gb2YgdGhlIHdob2xlIGFjY29yZGlvblxuICAgICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWFjY29yZGlvbi1ib3R0b20tYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0aGUgYm9keSBvZiBjb2xsYXBzZWQgc2VjdGlvbnMgYnkgZGVmYXVsdCBmb3IgYnJvd3NlcnMgdGhhdCBsYWNrXG4gICAgLy8gc3VwcG9ydCBmb3IgYGNvbnRlbnQtdmlzaWJpbGl0eWAgcGFpcmVkIHdpdGggW2hpZGRlbj11bnRpbC1mb3VuZF1cbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDMsIFwidG9wXCIpO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDgsIFwiYm90dG9tXCIpO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGJvZHkgb2YgY29sbGFwc2VkIHNlY3Rpb25zIHVzaW5nIGBjb250ZW50LXZpc2liaWxpdHlgIHRvIGVuYWJsZVxuICAgIC8vIHBhZ2Ugc2VhcmNoIHdpdGhpbiBbaGlkZGVuPXVudGlsLWZvdW5kXSByZWdpb25zIHdoZXJlIGJyb3dzZXIgc3VwcG9ydGVkXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50W2hpZGRlbl0ge1xuICAgICAgQHN1cHBvcnRzIChjb250ZW50LXZpc2liaWxpdHk6IGhpZGRlbikge1xuICAgICAgICBjb250ZW50LXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLy8gSGlkZSB0aGUgcGFkZGluZyBvZiBjb2xsYXBzZWQgc2VjdGlvbnNcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gU2hvdyB0aGUgYm9keSBvZiBleHBhbmRlZCBzZWN0aW9uc1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tLWV4cGFuZGVkIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19zaG93LWFsbCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpIDJweCBnb3Z1ay1zcGFjaW5nKDEpIDA7XG5cbiAgICAgIGJvcmRlci13aWR0aDogMDtcblxuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgfVxuXG4gICAgICAvLyBSZW1vdmUgZGVmYXVsdCBidXR0b24gZm9jdXMgb3V0bGluZSBpbiBGaXJlZm94XG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyO1xuICAgICAgICAvLyBUaGUgZm9jdXMgc3RhdGUgYWRkcyBhIGJveC1zaGFkb3cgdG8gdGhlIHRvcCBhbmQgYm90dG9tIG9mIHRoZVxuICAgICAgICAvLyBidXR0b24uIFdlIGFkZCBhIGdyZXkgYm94LXNoYWRvdyBvbiBob3ZlciB0b28sIHRvIG1ha2UgdGhlIGhlaWdodCBvZlxuICAgICAgICAvLyB0aGUgaG92ZXIgc3RhdGUgbWF0Y2ggdGhlIGhlaWdodCBvZiB0aGUgZm9jdXMgc3RhdGUuXG4gICAgICAgIGJveC1zaGFkb3c6XG4gICAgICAgICAgMCAtMnB4ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyLFxuICAgICAgICAgIDAgNHB4ICRnb3Z1ay1hY2NvcmRpb24taG92ZXItY29sb3VyO1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgIH1cblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWhvdmVyLWNvbG91cjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb246OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1pY29uLWZvY3VzLWNvbG91cjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIENyZWF0ZSBDaGV2cm9uIGljb24gYWxpZ25lZCB3aXRoIHRleHRcbiAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIFNldCBzaXplIHVzaW5nIHJlbXMgc28gaWNvbiBzY2FsZXMgd2l0aCB0ZXh0XG4gICAgICB3aWR0aDogZ292dWstcHgtdG8tcmVtKDIwcHgpO1xuICAgICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oMjBweCk7XG5cbiAgICAgIGJvcmRlcjogZ292dWstcHgtdG8tcmVtKDFweCkgc29saWQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIC8vIENyZWF0ZSBpbm5lciBjaGV2cm9uIGFycm93XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiBnb3Z1ay1weC10by1yZW0oNXB4KTtcbiAgICAgICAgbGVmdDogZ292dWstcHgtdG8tcmVtKDZweCk7XG5cbiAgICAgICAgd2lkdGg6IGdvdnVrLXB4LXRvLXJlbSg2cHgpO1xuICAgICAgICBoZWlnaHQ6IGdvdnVrLXB4LXRvLXJlbSg2cHgpO1xuXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgYm9yZGVyLXRvcDogZ292dWstcHgtdG8tcmVtKDJweCkgc29saWQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogZ292dWstcHgtdG8tcmVtKDJweCkgc29saWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUm90YXRlIGljb24gdG8gY3JlYXRlIFwiRG93blwiIHZlcnNpb25cbiAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbi0tZG93biB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDAgMDtcblxuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICBib3JkZXItdG9wOiAkZ292dWstYWNjb3JkaW9uLWJvdHRvbS1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIC8vIFZpc3VhbGx5IHNlcGFyYXRlIHRoZSBzZWN0aW9uIGZyb20gdGhlIG9uZSB1bmRlcm5lYXRoIHdoZW4gdXNlciBjaGFuZ2VzXG4gICAgICAvLyBjb2xvdXJzIGluIHRoZWlyIGJyb3dzZXIuIFNlZVxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kL2lzc3Vlcy8yMzIxI2lzc3VlY29tbWVudC05MjQyMDE0ODhcbiAgICAgIGJvcmRlci1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgICAgIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgLy8gU2VjdGlvbiBoZWFkZXJzIGhhdmUgYSBwb2ludGVyIGN1cnNvciBhcyBhbiBhZGRpdGlvbmFsIGFmZm9yZGFuY2VcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ292dWstYWNjb3JkaW9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS10ZXh0IHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ292dWstYWNjb3JkaW9uLWJhc2UtY29sb3VyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb246OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogJGdvdnVrLWFjY29yZGlvbi1ob3Zlci1jb2xvdXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIC8vIFJlbW92ZSBkZWZhdWx0IGZvY3VzIGJvcmRlciBhcm91bmQgYnV0dG9uIGFzIHN0eWxpbmcgaXMgYmVpbmcgYXBwbGllZFxuICAgICAgICAvLyB0byBpbm5lciB0ZXh0IGVsZW1lbnRzIHRoYXQgcmVjZWl2ZSBmb2N1c1xuICAgICAgICBvdXRsaW5lOiAwO1xuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZy10ZXh0LWZvY3VzLFxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXN1bW1hcnktZm9jdXMsXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLWZvY3VzIHtcbiAgICAgICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uLW5hdl9fY2hldnJvbiB7XG4gICAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24tYmFzZS1jb2xvdXI7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdvdnVrLWFjY29yZGlvbi1iYXNlLWNvbG91cjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uOjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICRnb3Z1ay1hY2NvcmRpb24taWNvbi1mb2N1cy1jb2xvdXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVtb3ZlIGRlZmF1bHQgYnV0dG9uIGZvY3VzIG91dGxpbmUgaW4gRmlyZWZveFxuICAgICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIHRyYW5zcGFyZW50IGJvcmRlciB3aGVuIHRoZSBzZWN0aW9uIGlzIGV4cGFuZGVkIHRvIG1ha2UgaXRcbiAgICAvLyBjbGVhciB0aGF0IHRoZSBoZWFkaW5nIHJlbGF0ZXMgdG8gdGhlIGNvbnRlbnQgYmVsb3cuIEFkanVzdCBwYWRkaW5nIHRvXG4gICAgLy8gbWFpbnRhaW4gdGhlIGhlaWdodCBvZiB0aGUgZWxlbWVudC4gU2VlXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kL3B1bGwvMjI1NyNpc3N1ZWNvbW1lbnQtOTUxOTIwNzk4XG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi0tZXhwYW5kZWQgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFzIENoZXZyb24gaWNvbiBpcyB2ZXJ0aWNhbGx5IGFsaWduZWQgaXQgb3ZlcmxhcHMgd2l0aCB0aGUgZm9jdXMgc3RhdGVcbiAgICAvLyBib3R0b20gYm9yZGVyIOKAkyB0aGlzIGFkZHMgc29tZSBzcGFjaW5nXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b246Zm9jdXMgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi10b2dnbGUtZm9jdXMge1xuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcblxuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZSxcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmctdGV4dCxcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuXG4gICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmctdGV4dC1mb2N1cyxcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tc3VtbWFyeS1mb2N1cyxcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLWZvY3VzIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCB0b2dnbGUgbGluayB3aXRoIENoZXZyb24gaWNvbiBvbiBsZWZ0LlxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTkpO1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQWRkIHNwYWNlIGJldHdlZW4gdGhlIGljb24gYW5kIHRleHQuIEF2b2lkIGFwcGx5aW5nIHNwYWNpbmcgZGlyZWN0bHkgdG9cbiAgICAvLyB0aGUgaWNvbiBhcyB0aGUgdXNlIG9mIGB0cmFuc2Zvcm1gIHdpbGwgY2hhbmdlIHRoZSBwbGFjZW1lbnQgb2YgYW55XG4gICAgLy8gbWFyZ2lucy5cbiAgICAuZ292dWstYWNjb3JkaW9uX19zaG93LWFsbC10ZXh0LFxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEJhY2tncm91bmQgY29sb3VyIGFkanVzdG1lbnQgd2hlbiB1c2VyIGNoYW5nZXMgY29sb3VycyBpbiBGaXJlZm94XG4gICAgLy9cbiAgICAvLyBXaGVuIHVzZXIgY2hhbmdlcyBjb2xvdXJzIGluIEZpcmVmb3gsIHRleHQgY29sb3VyIGluc2lkZSA8YnV0dG9uPiBpc1xuICAgIC8vIGFsd2F5cyBibGFjayAocmVnYXJkbGVzcyBvZiB0aGUgY3VzdG9tIGNvbG91cnMgdGhlIHVzZXIgaGFzIHNldCkuIFRoaXMgaXNcbiAgICAvLyBmaW5lIHdoZW4gdGhlIHRleHQgaW4gdGhlIGJ1dHRvbiBpcyBub3QgbmVzdGVkIGluc2lkZSBhbm90aGVyIGVsZW1lbnRcbiAgICAvLyBiZWNhdXNlIHdoZW4gdXNlciBjaGFuZ2VzIGNvbG91cnMgaW4gRmlyZWZveCwgdGhlIGltbWVkaWF0ZSBiYWNrZ3JvdW5kXG4gICAgLy8gY29sb3VyIG9mIGJ1dHRvbnMgaXMgYWx3YXlzIHdoaXRlIChhZ2FpbiwgcmVnYXJkbGVzcyBvZiB1c2VyJ3MgY3VzdG9tXG4gICAgLy8gY29sb3VycykuXG4gICAgLy9cbiAgICAvLyBIb3dldmVyLCB3aGVuIHRoZSB0ZXh0IGluc2lkZSA8YnV0dG9uPiBpcyB3cmFwcGVkIGluc2lkZSBhbm90aGVyIGVsZW1lbnRcbiAgICAvLyBBTkQgdGhhdCBlbGVtZW50IHNldHMgYSBiYWNrZ3JvdW5kIGNvbG91ciwgdGhlIHRleHQgY29sb3VyIGlzIHN0aWxsIGJsYWNrXG4gICAgLy8gYnV0IHRoZSBiYWNrZ3JvdW5kIG9mIHRoYXQgbmVzdGVkIGVsZW1lbnQgZ2V0cyB0aGUgdXNlcidzIGN1c3RvbVxuICAgIC8vIGJhY2tncm91bmQgY29sb3VyLiBXaGVuIHRoZSBjdXN0b20gYmFja2dyb3VuZCBpcyBhIGxpZ2h0ZXIgaHVlLCB0aGVcbiAgICAvLyBjb250cmFzdCBtaWdodCBiZSBzdWZmaWNpZW50LiBCdXQgaWYgdGhlIHVzZXIncyBjdXN0b20gYmFja2dyb3VuZCBjb2xvdXJcbiAgICAvLyBpcyBhIGRhcmtlciBjb2xvdXIsIHRoZSBjb250cmFzdCB3aXRoIHRoZSB0ZXh0IG1pZ2h0IG5vdCBiZSBzdWZmaWNpZW50LlxuICAgIC8vXG4gICAgLy8gVG8gZW5zdXJlIHN1ZmZpY2llbnQgY29udHJhc3QsIG92ZXJyaWRlIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBzZXQgYnkgdGhlXG4gICAgLy8gZm9jdXMgc3RhdGUgb24gdGhlIG5lc3RlZCBlbGVtZW50cyB0byBiZSB0cmFuc3BhcmVudC5cbiAgICAvL1xuICAgIC8vIEFsc28gb3ZlcnJpZGUgdGhlIGJhY2tncm91bmQgY29sb3VyIG9mIHRoZSBTaG93L0hpZGUgY2hldnJvbnMgd2hpY2ggc2V0IGFcbiAgICAvLyBiYWNrZ3JvdW5kIGNvbG91ciBvbiBob3Zlci5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICAuZ292dWstYWNjb3JkaW9uX19zaG93LWFsbDpob3ZlcixcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3Nob3ctYWxsOmZvY3VzLFxuICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b246Zm9jdXMge1xuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWhlYWRpbmctdGV4dC1mb2N1cyxcbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1zdW1tYXJ5LWZvY3VzLFxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS1mb2N1cyxcbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9yIGRldmljZXMgdGhhdCBjYW4ndCBob3ZlciBzdWNoIGFzIHRvdWNoIGRldmljZXMsXG4gICAgLy8gcmVtb3ZlIGhvdmVyIHN0YXRlIGFzIGl0IGNhbiBiZSBzdHVjayBpbiB0aGF0IHN0YXRlIChpT1MpLlxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpIHtcbiAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggMCAwICRnb3Z1ay1saW5rLWNvbG91cjtcblxuICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JhY2stbGlua1wiKSB7XG4gIC8vIENvbXBvbmVudCBmb250LXNpemUgb24gdGhlIEZyb250ZW5kICh1c2VkIGZvciBjYWxjdWxhdGlvbnMpXG4gICRmb250LXNpemU6IDE2O1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiAoZXhjbHVkaW5nIGJvcmRlcilcbiAgJGNoZXZyb24tc2l6ZTogZ292dWstZW0oN3B4LCAkZm9udC1zaXplKTtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGg6IDFweDtcbiAgJGNoZXZyb24tYm9yZGVyLXdpZHRoOiBnb3Z1ay1lbSgkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoLCAkZm9udC1zaXplKTtcblxuICAvLyBDb2xvdXIgb2YgY2hldnJvblxuICAkY2hldnJvbi1ib3JkZXItY29sb3VyOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gIC5nb3Z1ay1iYWNrLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogJGZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcblxuICAgIC8vIEFsbG93IHNwYWNlIGZvciB0aGUgYXJyb3dcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLWVtKDE0cHgsICRmb250LXNpemUpO1xuICB9XG5cbiAgLy8gUHJlcGVuZCBsZWZ0IHBvaW50aW5nIGNoZXZyb25cbiAgLmdvdnVrLWJhY2stbGluazo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLy8gVmVydGljYWxseSBhbGlnbiB3aXRoIHRoZSBwYXJlbnQgZWxlbWVudFxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGdvdnVrLWVtKDNweCwgJGZvbnQtc2l6ZSk7XG5cbiAgICB3aWR0aDogJGNoZXZyb24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRjaGV2cm9uLXNpemU7XG5cbiAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG5cbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGNoZXZyb24tYm9yZGVyLW1pbi13aWR0aCAkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoIDAgMDtcbiAgICBib3JkZXItY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICBAc3VwcG9ydHMgKGJvcmRlci13aWR0aDogdW5xdW90ZShcIm1heCgwcHgpXCIpKSB7XG4gICAgICAkYm9yZGVyLXdpZHRoLWV2YWw6IFwibWF4KCN7JGNoZXZyb24tYm9yZGVyLW1pbi13aWR0aH0sICN7JGNoZXZyb24tYm9yZGVyLXdpZHRofSlcIjtcblxuICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGNoZXZyb24gbmV2ZXIgZ2V0cyBzbWFsbGVyIHRoYW4gMTZweFxuICAgICAgYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCRib3JkZXItd2lkdGgtZXZhbCkgdW5xdW90ZSgkYm9yZGVyLXdpZHRoLWV2YWwpIDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogdW5xdW90ZShcIm1heCgjeyRmb250LXNpemUgKiAxcHh9LCAxZW0pXCIpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1iYWNrLWxpbms6Zm9jdXM6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstYmFjay1saW5rOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTRweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IC0xNHB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAuZ292dWstYmFjay1saW5rLS1pbnZlcnNlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2U7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9icmVhZGNydW1ic1wiKSB7XG4gIC8vIENvbXBvbmVudCBmb250LXNpemUgb24gdGhlIEZyb250ZW5kICh1c2VkIGZvciBjYWxjdWxhdGlvbnMpXG4gICRmb250LXNpemU6IDE2O1xuXG4gIC8vIFNpemUgb2YgY2hldnJvbiAoZXhjbHVkaW5nIGJvcmRlcilcbiAgJGNoZXZyb24tc2l6ZTogZ292dWstZW0oN3B4LCAkZm9udC1zaXplKTtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGg6IDFweDtcbiAgJGNoZXZyb24tYm9yZGVyLXdpZHRoOiBnb3Z1ay1lbSgkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoLCAkZm9udC1zaXplKTtcblxuICAvLyBDb2xvdXIgb2YgY2hldnJvblxuICAkY2hldnJvbi1ib3JkZXItY29sb3VyOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gIC8vIENhbGN1bGF0ZWQgYWx0aXR1ZGUgKOKWs+KGlSkgb2YgdGhlIHJpZ2h0LWFuZ2xlZCBpc29zY2VsZXMgY2hldnJvbiB3aXRoIHNpZGVzXG4gIC8vIG9mIGxlbmd0aCA4ICg3cHggKyAxcHggYm9yZGVyKTpcbiAgLy9cbiAgLy8g4oiaKDjCsiArIDjCsikgKiAwLjUg4omFIDUuNjU1XG4gICRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQ6IGdvdnVrLWVtKDUuNjU1cHgsICRmb250LXNpemUpO1xuXG4gIC5nb3Z1ay1icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogJGZvbnQtc2l6ZSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gQWRkIGJvdGggbWFyZ2luIGFuZCBwYWRkaW5nIHN1Y2ggdGhhdCB0aGUgY2hldnJvbiBhcHBlYXJzIGNlbnRyYWxseVxuICAgIC8vIGJldHdlZW4gZWFjaCBicmVhZGNydW1iIGl0ZW1cbiAgICBtYXJnaW4tbGVmdDogZ292dWstZW0oZ292dWstc3BhY2luZygyKSwgJGZvbnQtc2l6ZSk7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1lbShnb3Z1ay1zcGFjaW5nKDIpLCAkZm9udC1zaXplKSArICRjaGV2cm9uLWFsdGl0dWRlLWNhbGN1bGF0ZWQ7XG5cbiAgICBmbG9hdDogbGVmdDtcblxuICAgIC8vIENyZWF0ZSBhIGNoZXZyb24gdXNpbmcgYSBib3ggd2l0aCBib3JkZXJzIG9uIHR3byBzaWRlcywgcm90YXRlZCA0NWRlZy5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG5cbiAgICAgIC8vIE9mZnNldCBieSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB3aWR0aCBvZiB0aGUgbm9uLXJvdGF0ZWQgc3F1YXJlXG4gICAgICAvLyBhbmQgaXRzIHdpZHRoIHdoZW4gcm90YXRlZFxuICAgICAgbGVmdDogKCgkY2hldnJvbi1hbHRpdHVkZS1jYWxjdWxhdGVkICogLTIpICsgJGNoZXZyb24tc2l6ZSArICRjaGV2cm9uLWJvcmRlci13aWR0aCk7XG5cbiAgICAgIHdpZHRoOiAkY2hldnJvbi1zaXplO1xuICAgICAgaGVpZ2h0OiAkY2hldnJvbi1zaXplO1xuXG4gICAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICBib3JkZXI6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAkY2hldnJvbi1ib3JkZXItbWluLXdpZHRoICRjaGV2cm9uLWJvcmRlci1taW4td2lkdGggMCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICBAc3VwcG9ydHMgKGJvcmRlci13aWR0aDogdW5xdW90ZShcIm1heCgwcHgpXCIpKSB7XG4gICAgICAgICRib3JkZXItd2lkdGgtZXZhbDogXCJtYXgoI3skY2hldnJvbi1ib3JkZXItbWluLXdpZHRofSwgI3skY2hldnJvbi1ib3JkZXItd2lkdGh9KVwiO1xuXG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBjaGV2cm9uIG5ldmVyIGdldHMgc21hbGxlciB0aGFuIDE2cHhcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB1bnF1b3RlKCRib3JkZXItd2lkdGgtZXZhbCkgdW5xdW90ZSgkYm9yZGVyLXdpZHRoLWV2YWwpIDAgMDtcbiAgICAgICAgZm9udC1zaXplOiB1bnF1b3RlKFwibWF4KCN7JGZvbnQtc2l6ZSAqIDFweH0sIDFlbSlcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1icy0tY29sbGFwc2Utb24tbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IGdvdnVrLWVtKDZweCwgJGZvbnQtc2l6ZSk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJyZWFkY3J1bWJzLS1pbnZlcnNlIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgICAuZ292dWstYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1pbnZlcnNlO1xuICAgIH1cblxuICAgIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdC1pdGVtOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBjb21wb25lbnRzL2J1dHRvblxuLy8vL1xuXG4vLy8gQnV0dG9uIGNvbXBvbmVudCBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JlZW5cIikgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY29tcG9uZW50IHRleHQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEludmVydGVkIGJ1dHRvbiBjb21wb25lbnQgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIikgIWRlZmF1bHQ7XG5cbi8vLyBJbnZlcnRlZCBidXR0b24gY29tcG9uZW50IHRleHQgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXI6ICRnb3Z1ay1icmFuZC1jb2xvdXIgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvYnV0dG9uXCIpIHtcbiAgJGdvdnVrLWJ1dHRvbi1jb2xvdXI6ICRnb3Z1ay1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI7XG4gICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI6ICRnb3Z1ay1idXR0b24tdGV4dC1jb2xvdXI7XG4gICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstYnV0dG9uLWNvbG91ciwgMjAlKTtcbiAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstYnV0dG9uLWNvbG91ciwgNjAlKTtcblxuICAvLyBTZWNvbmRhcnkgYnV0dG9uIHZhcmlhYmxlc1xuICAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgJGdvdnVrLXNlY29uZGFyeS1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsIDEwJSk7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXNoYWRvdy1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWNvbG91ciwgNDAlKTtcblxuICAvLyBXYXJuaW5nIGJ1dHRvbiB2YXJpYWJsZXNcbiAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91cjogZ292dWstY29sb3VyKFwicmVkXCIpO1xuICAkZ292dWstd2FybmluZy1idXR0b24tdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAkZ292dWstd2FybmluZy1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyLCAyMCUpO1xuICAkZ292dWstd2FybmluZy1idXR0b24tc2hhZG93LWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91ciwgNjAlKTtcblxuICAvLyBJbnZlcnNlIGJ1dHRvbiB2YXJpYWJsZXNcbiAgJGdvdnVrLWludmVyc2UtYnV0dG9uLWNvbG91cjogJGdvdnVrLWludmVyc2UtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyO1xuICAkZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXI6ICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgJGdvdnVrLWludmVyc2UtYnV0dG9uLWhvdmVyLWNvbG91cjogZ292dWstdGludCgkZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXIsIDkwJSk7XG4gICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvdXIsIDMwJSk7XG5cbiAgLy8gQmVjYXVzZSB0aGUgc2hhZG93IChzMCkgaXMgdmlzdWFsbHkgJ3BhcnQgb2YnIHRoZSBidXR0b24sIHdlIG5lZWQgdG8gcmVkdWNlXG4gIC8vIHRoZSBoZWlnaHQgb2YgdGhlIGJ1dHRvbiB0byBjb21wZW5zYXRlIGJ5IGFkanVzdGluZyBpdHMgcGFkZGluZyAoczEpIGFuZFxuICAvLyBpbmNyZWFzZSB0aGUgYm90dG9tIG1hcmdpbiB0byBpbmNsdWRlIGl0IChzMikuXG4gICRidXR0b24tc2hhZG93LXNpemU6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gIC5nb3Z1ay1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIsICRhZGp1c3RtZW50OiAkYnV0dG9uLXNoYWRvdy1zaXplKTsgLy8gczJcbiAgICBwYWRkaW5nOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50KSBnb3Z1ay1zcGFjaW5nKDIpXG4gICAgICAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSk7IC8vIHMxXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24tY29sb3VyO1xuICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gRW5zdXJlIHRoYXQgYW55IGdsb2JhbCBsaW5rIHN0eWxlcyBhcmUgb3ZlcnJpZGRlblxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBGaXggdW53YW50ZWQgYnV0dG9uIHBhZGRpbmcgaW4gRmlyZWZveFxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1idXR0b24taG92ZXItY29sb3VyO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIC8vIEJ1bXAgdGhlIGJ1dHRvbiBkb3duIHNvIGl0IGxvb2tzIGxpa2UgaXRzIGJlaW5nIHByZXNzZWQgaW5cbiAgICAgIHRvcDogJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIH1cblxuICAgICY6Zm9jdXM6bm90KDphY3RpdmUpOm5vdCg6aG92ZXIpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMCAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gVGhlIGZvbGxvd2luZyBhZGp1c3RtZW50cyBkbyBub3Qgd29yayBmb3IgPGlucHV0IHR5cGU9XCJidXR0b25cIj4gYXNcbiAgICAvLyBub24tY29udGFpbmVyIGVsZW1lbnRzIGNhbm5vdCBpbmNsdWRlIHBzZXVkbyBlbGVtZW50cyAoaS5lLiA6OmJlZm9yZSkuXG5cbiAgICAvLyBVc2UgYSBwc2V1ZG8gZWxlbWVudCB0byBleHBhbmQgdGhlIGNsaWNrIHRhcmdldCBhcmVhIHRvIGluY2x1ZGUgdGhlXG4gICAgLy8gYnV0dG9uJ3Mgc2hhZG93IGFzIHdlbGwsIGluIGNhc2UgdXNlcnMgdHJ5IHRvIGNsaWNrIGl0LlxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgICByaWdodDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgYm90dG9tOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgICBsZWZ0OiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGJ1dHRvbiBpcyBhY3RpdmUgaXQgaXMgc2hpZnRlZCBkb3duIGJ5ICRidXR0b24tc2hhZG93LXNpemUgdG9cbiAgICAvLyBkZW5vdGUgYSAncHJlc3NlZCcgc3RhdGUuIElmIHRoZSB1c2VyIGhhcHBlbmVkIHRvIGNsaWNrIGF0IHRoZSB2ZXJ5IHRvcFxuICAgIC8vIG9mIHRoZSBidXR0b24sIHRoZWlyIG1vdXNlIGlzIG5vIGxvbmdlciBvdmVyIHRoZSBidXR0b24gKGJlY2F1c2UgaXQgaGFzXG4gICAgLy8gJ21vdmVkIGJlbmVhdGggdGhlbScpIGFuZCBzbyB0aGUgY2xpY2sgZXZlbnQgaXMgbm90IGZpcmVkLlxuICAgIC8vXG4gICAgLy8gVGhpcyBjb3JyZWN0cyB0aGF0IGJ5IHNoaWZ0aW5nIHRoZSB0b3Agb2YgdGhlIHBzZXVkbyBlbGVtZW50IHNvIHRoYXQgaXRcbiAgICAvLyBjb250aW51ZXMgdG8gY292ZXIgdGhlIGFyZWEgdGhhdCB0aGUgdXNlciBvcmlnaW5hbGx5IGNsaWNrZWQsIHdoaWNoIG1lYW5zXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIHN0aWxsIGZpcmVkLlxuICAgIC8vXG4gICAgLy8g8J+OiVxuICAgICY6YWN0aXZlOjpiZWZvcmUge1xuICAgICAgdG9wOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6ICgwLjUpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyO1xuICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG5cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLWludmVyc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1pbnZlcnNlLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLWludmVyc2UtYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLWludmVyc2UtYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWludmVyc2UtYnV0dG9uLWhvdmVyLWNvbG91cjtcblxuICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstaW52ZXJzZS1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQsICRsaW5lLWhlaWdodDogMSk7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAuZ292dWstYnV0dG9uX19zdGFydC1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgLy8gV29yayBhcm91bmQgU1ZHcyBub3QgaW5oZXJpdGluZyBjb2xvciBmcm9tIHBhcmVudCBpbiBmb3JjZWQgY29sb3IgbW9kZVxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjMxMClcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBhdXRvO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9lcnJvci1tZXNzYWdlXCIpIHtcbiAgLmdvdnVrLWVycm9yLW1lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7IC8vIFJlc2V0IGFueSBkZWZhdWx0IGJyb3dzZXIgbWFyZ2lucyBmb3IgcGFyYWdyYXBoc1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBjb2xvcjogJGdvdnVrLWVycm9yLWNvbG91cjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGludFwiKSB7XG4gIC5nb3Z1ay1oaW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGFiZWwgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1sYWJlbC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsYWJlbCBpcyBpbnNpZGUgdGhlIDxoMT4sIGhvd2V2ZXIgaXRcbiAgLy8gaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1sYWJlbC0tcyBjbGFzcyB3b3VsZCBiZSB1c2VkIGluIHRoaXNcbiAgLy8gY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKS5cbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyBtYXJnaW4tYm90dG9tIG9mIGhpbnQgd2hlbiB1c2VkIGFmdGVyIHRoZSBkZWZhdWx0IGxlZ2VuZCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMgZm9yIGJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5cbiAgLy8gVGhpcyBhZGp1c3RtZW50IHdpbGwgbm90IHdvcmsgd2hlbiB0aGUgbGVnZW5kIGlzIG91dHNpZGUgdGhlIDxoMT4sIGhvd2V2ZXJcbiAgLy8gaXQgaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGNsYXNzIHdvdWxkIGJlXG4gIC8vIHVzZWQgaW4gdGhpcyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLlxuICAvLyBVc2VycyB3aXRoIHRoZXNlIGJyb3dzZXJzIHdpbGwgc2VlIHRoZSBkZWZhdWx0IHNpemUgbWFyZ2luICg1cHggbGFyZ2VyKS5cblxuICAvLyBwcmV0dGllci1pZ25vcmVcbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQ6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tKTpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwpOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwpICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAvLyBSZWR1Y2VzIHZpc3VhbCBzcGFjaW5nIG9mIGxlZ2VuZCB3aGVuIHRoZXJlIGlzIGEgaGludFxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZCArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvbGFiZWxcIikge1xuICAuZ292dWstbGFiZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGFiZWxzIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcbiAgLmdvdnVrLWxhYmVsLS14bCxcbiAgLmdvdnVrLWxhYmVsLS1sLFxuICAuZ292dWstbGFiZWwtLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogNDgpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDM2KTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsYWJlbCBpcyBuZXN0ZWQgaW5zaWRlIGEgaGVhZGluZywgb3ZlcnJpZGUgdGhlIGhlYWRpbmcgc28gdGhhdCBpdFxuICAvLyBkb2VzIG5vdCBoYXZlIGEgbWFyZ2luLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmdcbiAgLy8gYXMgaWYgaXQgaXMgbm90IHRoZXJlLlxuICAvL1xuICAvLyBUaGlzIGJyZWFrcyBCRU0gY29udmVudGlvbnMgYmVjYXVzZSBpdCBleGlzdHMgYXMgYSBwYXJlbnQgb2YgdGhlICdibG9jaycsXG4gIC8vIHNvIHdlIGNhbid0IHJlYWxseSBjb25zaWRlciBhbiBlbGVtZW50LlxuICAuZ292dWstbGFiZWwtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90ZXh0YXJlYVwiKSB7XG4gIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMS4yNSk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAgIHJlc2l6ZTogdmVydGljYWw7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gRW5zdXJlIG91dGxpbmUgYXBwZWFycyBvdXRzaWRlIG9mIHRoZSBlbGVtZW50XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIC8vIERvdWJsZSB0aGUgYm9yZGVyIGJ5IGFkZGluZyBpdHMgd2lkdGggYWdhaW4uIFVzZSBgYm94LXNoYWRvd2AgdG8gZG9cbiAgICAgIC8vIHRoaXMgaW5zdGVhZCBvZiBjaGFuZ2luZyBgYm9yZGVyLXdpZHRoYCAod2hpY2ggY2hhbmdlcyBlbGVtZW50IHNpemUpXG4gICAgICAvLyBhbmQgc2luY2UgYG91dGxpbmVgIGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRleHRhcmVhLS1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vdGV4dGFyZWEvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGFyYWN0ZXItY291bnRcIikge1xuICAuZ292dWstY2hhcmFjdGVyLWNvdW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwLFxuICAgIC5nb3Z1ay10ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIC8vIFplcm8td2lkdGggc3BhY2UgdGhhdCB3aWxsIHJlc2VydmUgdmVydGljYWwgc3BhY2Ugd2hlbiBubyBoaW50IGlzXG4gICAgICAvLyBwcm92aWRlZCBhczpcbiAgICAgIC8vIC0gc2V0dGluZyBhIG1pbi1oZWlnaHQgaXMgbm90IHBvc3NpYmxlIHdpdGhvdXQgYSBtYWdpYyBudW1iZXIgYmVjYXVzZVxuICAgICAgLy8gICB0aGUgbGluZS1oZWlnaHQgaXMgc2V0IGJ5IHRoZSBgZ292dWstZm9udGAgY2FsbCBhYm92ZVxuICAgICAgLy8gLSB1c2luZyBgOmVtcHR5YCBpcyBub3QgcG9zc2libGUgYXMgdGhlIGhpbnQgbWFjcm8gb3V0cHV0cyBsaW5lIGJyZWFrc1xuICAgICAgY29udGVudDogXCJcXDIwMEJcIjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlLS1kaXNhYmxlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9maWVsZHNldFwiKSB7XG4gIC5nb3Z1ay1maWVsZHNldCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgfVxuXG4gIC8vIEZpeCBmb3IgRmlyZWZveCA8IDUzIChodHRwczovL2J1Z3ppbC5sYS81MDQ2MjIpXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLXR5cGUtbm8tdW5rbm93biAtLSBJZ25vcmUgJ3g6LW1vei1hbnktbGluaydcbiAgQHN1cHBvcnRzIG5vdCAoY2FyZXQtY29sb3I6IGF1dG8pIHtcbiAgICAuZ292dWstZmllbGRzZXQsXG4gICAgeDotbW96LWFueS1saW5rIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG4gIC8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItdHlwZS1uby11bmtub3duXG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIC8vIEZpeCBsZWdlbmQgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRVxuICAgIC8vIDEuIElFOS0xMSAmIEVkZ2UgMTItMTNcbiAgICAvLyAyLiBJRTgtMTFcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyAxXG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIDFcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvLyAxXG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGxlZ2VuZHMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwsXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sLFxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDQ4KTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDM2KTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDI0KTtcbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gV2hlbiB0aGUgbGVnZW5kIGNvbnRhaW5zIGFuIEgxLCB3ZSB3YW50IHRoZSBIMSB0byBpbmhlcml0IGFsbCBzdHlsZXMgZnJvbVxuICAvLyB0aGUgbGVnZW5kLiBFZmZlY3RpdmVseSB0cmVhdCB0aGUgaGVhZGluZyBhcyBpZiBpdCBpcyBub3QgdGhlcmUuXG4gIC5nb3Z1ay1maWVsZHNldF9faGVhZGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGVja2JveGVzXCIpIHtcbiAgJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXI6IDRweDtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTogNDBweDtcbiAgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplOiAoJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZSArICRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyKTtcbiAgJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZTogMjRweDtcbiAgJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAkZ292dWstY2hlY2tib3gtY2hlY2staG9yaXpvbnRhbC1wb3NpdGlvbjogMTBweDtcblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQge1xuICAgIC8vIEFsbG93IHRoZSBpbnB1dCB0byBzaXQgYWJvdmUgdGhlIGxhYmVsLCBlbmFibGluZyBpdHMgcHJvcGVyIGRldGVjdGlvblxuICAgIC8vIHdoZW4gZXhwbG9yaW5nIGJ5IHRvdWNoIG9yIHVzaW5nIGF1dG9tYXRpb24gdG9vbHMgbGlrZSBTZWxlbml1bVxuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTtcbiAgICBtYXJnaW46IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB3aWR0aCBvZiB0aGUgbGFiZWwgaXMgbmV2ZXIgbW9yZSB0aGFuIHRoZSB3aWR0aCBvZiB0aGVcbiAgICAvLyBjb250YWluZXIgbWludXMgdGhlIGlucHV0IHdpZHRoIG1pbnVzIHRoZSBwYWRkaW5nIG9uIGVpdGhlciBzaWRlIG9mXG4gICAgLy8gdGhlIGxhYmVsLiBUaGlzIHByZXZlbnRzIHRoZSBsYWJlbCBmcm9tIGdvaW5nIG9udG8gdGhlIG5leHQgbGluZSBkdWUgdG9cbiAgICAvLyBfX2l0ZW0gdXNpbmcgZmxleC13cmFwIGJlY2F1c2Ugd2Ugd2FudCBoaW50cyBvbiBhIHNlcGFyYXRlIGxpbmUuXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeygoJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0ICogMikgKyAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUpfSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAoZ292dWstc3BhY2luZygxKSArICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50KSBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAvLyBbIF0gQ2hlY2sgYm94XG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogKCRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyIC8gMik7XG4gICAgbGVmdDogKCRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyIC8gMik7XG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudGNvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8g4pyUIENoZWNrIG1hcmtcbiAgLy9cbiAgLy8gVGhlIGNoZWNrIG1hcmsgaXMgYSBib3ggd2l0aCBhIGJvcmRlciBvbiB0aGUgbGVmdCBhbmQgYm90dG9tIHNpZGUgKOKUlOKUgOKUgCksXG4gIC8vIHJvdGF0ZWQgNDUgZGVncmVlc1xuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLy8gVXNlIFwibWFnaWMgbnVtYmVyc1wiIHRvIGRlZmluZSBzaGFwZSBhbmQgcG9zaXRpb24gb2YgY2hlY2sgbWFyayBiZWNhdXNlXG4gICAgLy8gdGhlIGNvbXBsZXhpdHkgb2YgdGhlIHNoYXBlIG1ha2VzIGl0IGRpZmZpY3VsdCB0byBjYWxjdWxhdGUgZHluYW1pY2FsbHkuXG4gICAgdG9wOiAxM3B4O1xuICAgIGxlZnQ6ICRnb3Z1ay1jaGVja2JveC1jaGVjay1ob3Jpem9udGFsLXBvc2l0aW9uO1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIGJvcmRlcjogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNXB4IDVweDtcbiAgICAvLyBGaXggYnVnIGluIElFMTEgY2F1c2VkIGJ5IHRyYW5zZm9ybSByb3RhdGUgKC00NWRlZykuXG4gICAgLy8gU2VlOiBhbHBoYWdvdi9nb3Z1a19lbGVtZW50cy9pc3N1ZXMvNTE4XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19oaW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGdvdnVrLWNoZWNrYm94ZXMtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0ICsgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplKTtcbiAgfVxuXG4gIC8vIFRoaXMgaXMgdG8gYnlwYXNzIGdvdnVrLWhpbnQncyBzcGVjaWZpY2l0eSBvbiBoaW50cyBmb2xsb3dpbmcgbGFiZWxzIGhhdmluZ1xuICAvLyBhIG1hcmdpbiBib3R0b20gb2YgMTBweCAoZ292dWstc3BhY2luZygyKSkuIEJlY2F1c2UgY2hlY2tib3hlcyBhcmUgZmxleGJveCxcbiAgLy8gdGhlIG1hcmdpbiBkb2Vzbid0IGNvbGxhcHNlIHNvIHdlIGhhdmUgdG8gZG8gdGhpcyBtYW51YWxseS5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1jaGVja2JveGVzX19oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gRm9jdXNlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG5cbiAgICAvLyBXaGVuIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4sIHRoZSB5ZWxsb3cgYm94LXNoYWRvdyBiZWNvbWVzIGludmlzaWJsZVxuICAgIC8vIHdoaWNoIG1lYW5zIHRoZSBmb2N1cyBzdGF0ZSBpcyBsZXNzIG9idmlvdXMuIEJ5IGFkZGluZyBhIHRyYW5zcGFyZW50XG4gICAgLy8gb3V0bGluZSwgd2hpY2ggYmVjb21lcyBzb2xpZCAodGV4dC1jb2xvdXJlZCkgaW4gdGhhdCBjb250ZXh0LCB3ZSBlbnN1cmVcbiAgICAvLyB0aGUgZm9jdXMgcmVtYWlucyBjbGVhcmx5IHZpc2libGUuXG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cbiAgICAvLyBXaGVuIGluIGFuIGV4cGxpY2l0IGZvcmNlZC1jb2xvciBtb2RlLCB3ZSBjYW4gdXNlIHRoZSBIaWdobGlnaHQgc3lzdGVtXG4gICAgLy8gY29sb3IgZm9yIHRoZSBvdXRsaW5lIHRvIGJldHRlciBtYXRjaCBmb2N1cyBzdGF0ZXMgb2YgbmF0aXZlIGNvbnRyb2xzXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQsXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkIH4gLmdvdnVrLWhpbnQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBEaXZpZGVycyAoJ29yJylcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2RpdmlkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAkZ292dWstZGl2aWRlci1zaXplOiAkZ292dWstY2hlY2tib3hlcy1zaXplICFkZWZhdWx0O1xuICAgIHdpZHRoOiAkZ292dWstZGl2aWRlci1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbmRpdGlvbmFsIHJldmVhbHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gVGhlIG5hcnJvdyBib3JkZXIgaXMgdXNlZCBpbiB0aGUgY29uZGl0aW9uYWwgcmV2ZWFscyBiZWNhdXNlIHRoZSBib3JkZXIgaGFzXG4gIC8vIHRvIGJlIGFuIGV2ZW4gbnVtYmVyIGluIG9yZGVyIHRvIGJlIGNlbnRyZWQgdW5kZXIgdGhlIDQwcHggY2hlY2tib3ggb3IgcmFkaW8uXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93O1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgY2hlY2tib3guXG4gICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZzogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAvIDIpIC0gKCRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggLyAyKTtcbiAgLy8gTW92ZSB0aGUgYm9yZGVyIGNlbnRlcmVkIHdpdGggdGhlIGNoZWNrYm94XG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcblxuICAuZ292dWstY2hlY2tib3hlc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCAmLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU21hbGwgY2hlY2tib3hlc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstY2hlY2tib3hlcy0tc21hbGwge1xuICAgICRpbnB1dC1vZmZzZXQ6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplKSAvIDI7XG5cbiAgICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIFNoaWZ0IHRoZSB0b3VjaCB0YXJnZXQgaW50byB0aGUgbGVmdCBtYXJnaW4gc28gdGhhdCB0aGUgdmlzaWJsZSBlZGdlIG9mXG4gICAgLy8gdGhlIGNvbnRyb2wgaXMgYWxpZ25lZFxuICAgIC8vXG4gICAgLy8gICDilIZXaGF0IGNvbG91cnMgZG8geW91IGxpa2U/XG4gICAgLy8gIOKUjOKUhuKUgOKUgOKUgOKUkFxuICAgIC8vICDilILilIZbXSDilIIgUHVycGxlXG4gICAgLy8gIOKUlOKUhuKWsuKUgOKUgOKUmFxuICAgIC8vICDilrLilIbilJTilIAgQ2hlY2sgYm94IHBzZXVkbyBlbGVtZW50LCBhbGlnbmVkIHdpdGggbWFyZ2luXG4gICAgLy8gIOKUlOKUgOKUgOKUgCBUb3VjaCB0YXJnZXQgKGludmlzaWJsZSBpbnB1dCksIHNoaWZ0ZWQgaW50byB0aGUgbWFyZ2luXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkaW5wdXQtb2Zmc2V0ICogLTE7XG4gICAgfVxuXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICAgIC8vIENyZWF0ZSBhIHRpbnkgc3BhY2UgYmV0d2VlbiB0aGUgc21hbGwgY2hlY2tib3ggaG92ZXIgc3RhdGUgc28gdGhhdCBpdFxuICAgICAgLy8gZG9lc24ndCBjbGFzaCB3aXRoIHRoZSBsYWJlbFxuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgfVxuXG4gICAgLy8gWyBdIENoZWNrIGJveFxuICAgIC8vXG4gICAgLy8gUmVkdWNlIHRoZSBzaXplIG9mIHRoZSBjaGVjayBib3ggWzFdLCB2ZXJ0aWNhbGx5IGNlbnRlciBpdCB3aXRoaW4gdGhlXG4gICAgLy8gdG91Y2ggdGFyZ2V0IFsyXVxuICAgIC8vIExlZnQgaGVyZSBpcyAwIGJlY2F1c2Ugd2UndmUgc2hpZnRlZCB0aGUgaW5wdXQgaW50byB0aGUgbGVmdCBtYXJnaW5cbiAgICAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICB0b3A6ICRpbnB1dC1vZmZzZXQ7IC8vIDJcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZTsgLy8gMVxuICAgICAgaGVpZ2h0OiAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplOyAvLyAxXG4gICAgfVxuXG4gICAgLy8g4pyUIENoZWNrIG1hcmtcbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY2hlY2sgbWFyayBhbmQgcmUtYWxpZ24gd2l0aGluIHRoZSBjaGVja2JveFxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YWZ0ZXIge1xuICAgICAgdG9wOiAxN3B4O1xuXG4gICAgICAvLyBIb3Jpem9udGFsIHBvc2l0aW9uIGlzIGp1c3QgdGhlIG5vcm1hbCBzaXplZCBsZWZ0IHZhbHVlIGFjY291bnRpbmcgZm9yXG4gICAgICAvLyB0aGUgbmV3IHdpZHRoIG9mIHRoZSBzbWFsbGVyIGNoZWNrYm94XG4gICAgICBsZWZ0OiAoMTZweCAtICRnb3Z1ay1jaGVja2JveC1jaGVjay1ob3Jpem9udGFsLXBvc2l0aW9uKTtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiA2LjVweDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDNweCAzcHg7XG4gICAgfVxuXG4gICAgLy8gRml4IHBvc2l0aW9uIG9mIGhpbnQgd2l0aCBzbWFsbCBjaGVja2JveGVzXG4gICAgLy9cbiAgICAvLyBEbyBub3QgdXNlIGhpbnRzIHdpdGggc21hbGwgY2hlY2tib3hlcyDigJMgYmVjYXVzZSB0aGV5J3JlIHdpdGhpbiB0aGUgaW5wdXRcbiAgICAvLyB3cmFwcGVyIHRoZXkgdHJpZ2dlciB0aGUgaG92ZXIgc3RhdGUsIGJ1dCBjbGlja2luZyB0aGVtIGRvZXNuJ3QgYWN0dWFsbHlcbiAgICAvLyBhY3RpdmF0ZSB0aGUgY29udHJvbC5cbiAgICAvL1xuICAgIC8vIChJZiB5b3UgZG8gdXNlIHRoZW0sIHRoZXkgd29uJ3QgbG9vayBjb21wbGV0ZWx5IGJyb2tlbi4uLiBidXQgc2VyaW91c2x5LFxuICAgIC8vIGRvbid0IHVzZSB0aGVtKVxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19oaW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemUgKyAkaW5wdXQtb2Zmc2V0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjb25kaXRpb25hbCByZXZlYWxzIHdpdGggc21hbGwgY2hlY2tib3hlc1xuICAgIC5nb3Z1ay1jaGVja2JveGVzX19jb25kaXRpb25hbCB7XG4gICAgICAkbWFyZ2luLWxlZnQ6ICgkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRpbnB1dC1vZmZzZXQpIC0gKCRtYXJnaW4tbGVmdCArICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGgpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19kaXZpZGVyIHtcbiAgICAgIHdpZHRoOiAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplO1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBzdGF0ZSBmb3Igc21hbGwgY2hlY2tib3hlcy5cbiAgICAvL1xuICAgIC8vIFdlIHVzZSBhIGhvdmVyIHN0YXRlIGZvciBzbWFsbCBjaGVja2JveGVzIGJlY2F1c2UgdGhlIHRvdWNoIHRhcmdldCBzaXplXG4gICAgLy8gaXMgc28gbXVjaCBsYXJnZXIgdGhhbiB0aGVpciB2aXNpYmxlIHNpemUsIGFuZCBzbyB3ZSBuZWVkIHRvIHByb3ZpZGVcbiAgICAvLyBmZWVkYmFjayB0byB0aGUgdXNlciBhcyB0byB3aGljaCBjaGVja2JveCB0aGV5IHdpbGwgc2VsZWN0IHdoZW4gdGhlaXJcbiAgICAvLyBjdXJzb3IgaXMgb3V0c2lkZSBvZiB0aGUgdmlzaWJsZSBhcmVhLlxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAgIC8vIEZvcmNlZCBjb2xvdXJzIG1vZGVzIHRlbmQgdG8gaWdub3JlIGJveC1zaGFkb3cuXG4gICAgICAvLyBBcHBseSBhbiBvdXRsaW5lIGZvciB0aG9zZSBtb2RlcyB0byB1c2UgaW5zdGVhZC5cbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQmVjYXVzZSB3ZSd2ZSBvdmVycmlkZGVuIHRoZSBib3JkZXItc2hhZG93IHByb3ZpZGVkIGJ5IHRoZSBmb2N1cyBzdGF0ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIHJlZGVmaW5lIHRoYXQgdG9vLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIHR3byBib3ggc2hhZG93cywgb25lIHRoYXQgcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGZvY3VzIHN0YXRlIFsxXVxuICAgIC8vIGFuZCBhbm90aGVyIHRoYXQgdGhlbiBhcHBsaWVzIHRoZSBob3ZlciBzdGF0ZSBbMl0uXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06aG92ZXIgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmZvY3VzICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLy8gU2V0IGRpZmZlcmVudCBIQ00gY29sb3VyIHdoZW4gd2UgaGF2ZSBib3RoIGhvdmVyL2ZvY3VzIGFwcGxpZWQgYXQgb25jZVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIG91dGxpbmUtY29sb3I6IEhpZ2hsaWdodDtcbiAgICAgIH1cbiAgICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXIsIC8vIDFcbiAgICAgICAgMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7IC8vIDJcbiAgICB9XG5cbiAgICAvLyBGb3IgZGV2aWNlcyB0aGF0IGV4cGxpY2l0bHkgZG9uJ3Qgc3VwcG9ydCBob3ZlciwgZG9uJ3QgcHJvdmlkZSBhIGhvdmVyXG4gICAgLy8gc3RhdGUgKGUuZy4gb24gdG91Y2ggZGV2aWNlcyBsaWtlIGlPUykuXG4gICAgLy9cbiAgICAvLyBXZSBjYW4ndCB1c2UgYEBtZWRpYSAoaG92ZXI6IGhvdmVyKWAgYmVjYXVzZSB3ZSB3b3VsZG4ndCBnZXQgdGhlIGhvdmVyXG4gICAgLy8gc3RhdGUgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGBAbWVkaWEgKGhvdmVyKWAgKGxpa2UgSW50ZXJuZXRcbiAgICAvLyBFeHBsb3Jlcikg4oCTIHNvIHdlIGhhdmUgdG8gJ3VuZG8nIHRoZSBob3ZlciBzdGF0ZSBpbnN0ZWFkLlxuICAgIEBtZWRpYSAoaG92ZXI6IG5vbmUpLCAocG9pbnRlcjogY29hcnNlKSB7XG4gICAgICAuZ292dWstY2hlY2tib3hlc19faXRlbTpob3ZlciAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6bm90KDpkaXNhYmxlZCkgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jb29raWUtYmFubmVyXCIpIHtcbiAgLy8gVGhpcyBuZWVkcyB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgaGVhZGVyIGNvbXBvbmVudCdzIHN0eWxlc1xuICAkYm9yZGVyLWJvdHRvbS13aWR0aDogZ292dWstc3BhY2luZygyKTtcblxuICAuZ292dWstY29va2llLWJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgLy8gVGhlIGNvbXBvbmVudCBkb2VzIG5vdCBzZXQgYm90dG9tIHNwYWNpbmcuIFRoZSBib3R0b20gc3BhY2luZyBzaG91bGQgYmVcbiAgICAvLyBjcmVhdGVkIGJ5IHRoZSBpdGVtcyBpbnNpZGUgdGhlIGNvbXBvbmVudC5cblxuICAgIC8vIFZpc3VhbGx5IHNlcGFyYXRlIHRoZSBjb29raWUgYmFubmVyIGZyb20gY29udGVudCB1bmRlcm5lYXRoIHdoZW4gdXNlclxuICAgIC8vIGNoYW5nZXMgY29sb3VycyBpbiB0aGVpciBicm93c2VyLlxuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXItYm90dG9tLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgfVxuXG4gIC8vIFN1cHBvcnQgb2xkZXIgYnJvd3NlcnMgd2hpY2ggZG9uJ3QgaGlkZSBlbGVtZW50cyB3aXRoIHRoZSBgaGlkZGVuYCBhdHRyaWJ1dGVcbiAgLy8gd2hlbiB1c2VyIGhpZGVzIHRoZSB3aG9sZSBjb29raWUgYmFubmVyIHdpdGggYSAnSGlkZScgYnV0dG9uLlxuICAuZ292dWstY29va2llLWJhbm5lcltoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWNvb2tpZS1iYW5uZXJfX21lc3NhZ2Uge1xuICAgIC8vIFJlbW92ZSB0aGUgZXh0cmEgaGVpZ2h0IGFkZGVkIGJ5IHRoZSBzZXBhcmF0b3IgYm9yZGVyLlxuICAgIG1hcmdpbi1ib3R0b206IC0kYm9yZGVyLWJvdHRvbS13aWR0aDtcblxuICAgICZbaGlkZGVuXSB7XG4gICAgICAvLyBTdXBwb3J0IG9sZGVyIGJyb3dzZXJzIHdoaWNoIGRvbid0IGhpZGUgZWxlbWVudHMgd2l0aCB0aGUgYGhpZGRlbmBcbiAgICAgIC8vIGF0dHJpYnV0ZSB3aGVuIHRoZSB2aXNpYmlsaXR5IG9mIGNvb2tpZSBhbmQgcmVwbGFjZW1lbnQgbWVzc2FnZXMgaXNcbiAgICAgIC8vIHRvZ2dsZWQuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUmVtb3ZlIHRoZSBuYXRpdmUgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgZWxlbWVudCBpc1xuICAgICAgLy8gcHJvZ3JhbW1hdGljYWxseSBmb2N1c2VkLlxuICAgICAgLy9cbiAgICAgIC8vIFRoZSBmb2N1c2VkIGNvb2tpZSBiYW5uZXIgaXMgdGhlIGZpcnN0IGVsZW1lbnQgb24gdGhlIHBhZ2UgYW5kIHRoZSBsYXN0XG4gICAgICAvLyB0aGluZyB0aGUgdXNlciBpbnRlcmFjdGVkIHdpdGggcHJpb3IgdG8gaXQgZ2FpbmluZyBmb2N1cy4gV2UgdGhlcmVmb3JlXG4gICAgICAvLyBhc3N1bWUgdGhhdCBtb3ZpbmcgZm9jdXMgdG8gaXQgaXMgbm90IGdvaW5nIHRvIHN1cnByaXNlIHVzZXJzLCBhbmQgdGhhdFxuICAgICAgLy8gZ2l2aW5nIGl0IGEgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3IgY291bGQgYmUgbW9yZSBjb25mdXNpbmcgdGhhblxuICAgICAgLy8gaGVscGZ1bCwgZXNwZWNpYWxseSBhcyB0aGUgZWxlbWVudCBpcyBub3Qgbm9ybWFsbHkga2V5Ym9hcmQgb3BlcmFibGUuXG4gICAgICAvL1xuICAgICAgLy8gV2UgaGF2ZSBmbGFnZ2VkIHRoaXMgaW4gdGhlIHJlc2VhcmNoIHNlY3Rpb24gb2YgdGhlIGd1aWRhbmNlIGFzXG4gICAgICAvLyBzb21ldGhpbmcgdG8gbW9uaXRvci5cbiAgICAgIC8vXG4gICAgICAvLyBBIHJlbGF0ZWQgZGlzY3Vzc2lvbjogaHR0cHM6Ly9naXRodWIuY29tL3czYy93Y2FnL2lzc3Vlcy8xMDAxXG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5wdXRcIikge1xuICAuZ292dWstaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIC8vIFNldHRpbmcgYW55IGJhY2tncm91bmQtY29sb3IgbWFrZXMgdGV4dCBpbnZpc2libGUgd2hlbiBjaGFuZ2luZyBjb2xvdXJzXG4gICAgLy8gdG8gZGFyayBiYWNrZ3JvdW5kcyBpbiBGaXJlZm94IChodHRwczovL2J1Z3ppbC5sYS8xMzM1NDc2KS4gQXNcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yIGFuZCBjb2xvciBuZWVkIHRvIGFsd2F5cyBiZSBzZXQgdG9nZXRoZXIsIGNvbG9yIHNob3VsZFxuICAgIC8vIG5vdCBiZSBzZXQgZWl0aGVyXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gRGlzYWJsZSBpbm5lciBzaGFkb3cgYW5kIHJlbW92ZSByb3VuZGVkIGNvcm5lcnNcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIEVuc3VyZSBvdXRsaW5lIGFwcGVhcnMgb3V0c2lkZSBvZiB0aGUgZWxlbWVudFxuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICAvLyBEb3VibGUgdGhlIGJvcmRlciBieSBhZGRpbmcgaXRzIHdpZHRoIGFnYWluLiBVc2UgYGJveC1zaGFkb3dgIGZvciB0aGlzXG4gICAgICAvLyBpbnN0ZWFkIG9mIGNoYW5naW5nIGBib3JkZXItd2lkdGhgIC0gdGhpcyBpcyBmb3IgY29uc2lzdGVuY3kgd2l0aFxuICAgICAgLy8gY29tcG9uZW50cyBzdWNoIGFzIHRleHRhcmVhIHdoZXJlIHdlIGF2b2lkIGNoYW5naW5nIGBib3JkZXItd2lkdGhgIGFzXG4gICAgICAvLyBpdCB3aWxsIGNoYW5nZSB0aGUgZWxlbWVudCBzaXplLiBBbHNvLCBgb3V0bGluZWAgY2Fubm90IGJlIHV0aWxpc2VkXG4gICAgICAvLyBoZXJlIGFzIGl0IGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLFxuICAuZ292dWstaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAuZ292dWstaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0LS1leHRyYS1sZXR0ZXItc3BhY2luZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC10YWJ1bGFyLW51bWJlcnM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgfVxuXG4gIC8vIGVtIG1lYXN1cmVtZW50cyBhcmUgYmFzZWQgb24gdGhlIHBvaW50IHNpemUgb2YgdGhlIHR5cGVmYWNlXG4gIC8vIEV4dHJhIHNwYWNlIGlzIGFkZGVkIG9uIHRoZSByaWdodCB0byBhbGxvdyBmb3IgdGhlIFNhZmFyaSBwcmVmaWxsIGljb25cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMwIHtcbiAgICBtYXgtd2lkdGg6IDI5LjVlbTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMjAge1xuICAgIG1heC13aWR0aDogMjAuNWVtO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0xMCB7XG4gICAgbWF4LXdpZHRoOiAxMS41ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTUge1xuICAgIG1heC13aWR0aDogNS41ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTQge1xuICAgIG1heC13aWR0aDogNC41ZW07XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMge1xuICAgIG1heC13aWR0aDogMy43NWVtO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC0yIHtcbiAgICBtYXgtd2lkdGg6IDIuNzVlbTtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5nb3Z1ay1pbnB1dCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG5cbiAgICAuZ292dWstaW5wdXQ6Zm9jdXMge1xuICAgICAgLy8gSGFjayB0byBzdG9wIGZvY3VzIHN0eWxlIGJlaW5nIG92ZXJsYXBwZWQgYnkgdGhlIHN1ZmZpeFxuICAgICAgei1pbmRleDogMTtcbiAgICB9XG5cbiAgICAvLyBTcGxpdCBwcmVmaXgvc3VmZml4IG9udG8gc2VwYXJhdGUgbGluZXMgb24gbmFycm93IHNjcmVlbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIC5nb3Z1ay1pbnB1dCB7XG4gICAgICAgIC8vIFNldCBtYXgtd2lkdGggdG8gb3ZlcnJpZGUgcG90ZW50aWFsIHdpZHRoIG92ZXJyaWRlIGNsYXNzIG9uIHRoZSBpbnB1dFxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0X19wcmVmaXgsXG4gIC5nb3Z1ay1pbnB1dF9fc3VmZml4IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvLyBVc2UgZmxleGJveCB0byBhbGlnbiB0ZXh0IHdpdGhpbiB0aGUgcHJlZml4IGFuZCBzdWZmaXhcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgLy8gRW1waGFzaXNlIG5vbi1lZGl0YWJsZSBzdGF0dXMgb2YgcHJlZml4ZXMgYW5kIHN1ZmZpeGVzXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIC8vIFNwbGl0IHByZWZpeC9zdWZmaXggb250byBzZXBhcmF0ZSBsaW5lcyBvbiBuYXJyb3cgc2NyZWVuc1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWlucHV0X19wcmVmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BsaXQgcHJlZml4L3N1ZmZpeCBvbnRvIHNlcGFyYXRlIGxpbmVzIG9uIG5hcnJvdyBzY3JlZW5zXG4gIC5nb3Z1ay1pbnB1dF9fc3VmZml4IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RhdGUtaW5wdXRcIikge1xuICAuZ292dWstZGF0ZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgZm9udC1zaXplOiAwOyAvLyByZW1vdmVzIHdoaXRlc3BhY2UgY2F1c2VkIGJ5IGlubGluZS1ibG9ja1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9faW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RldGFpbHNcIikge1xuICAuZ292dWstZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc1tvcGVuXSAuZ292dWstZGV0YWlsc19fc3VtbWFyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgPiA6b25seS1jaGlsZCxcbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3RleHQge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBIYWNrIHRvIHRhcmdldCBJRTggLSBJRTExIChhbmQgUkVBTExZIG9sZCBGaXJlZm94KVxuICAvLyBUaGVzZSBicm93c2VycyBkb24ndCBzdXBwb3J0IHRoZSBkZXRhaWxzIGVsZW1lbnQsIHNvIGZhbGwgYmFjayB0byBsb29raW5nXG4gIC8vIGxpa2UgaW5zZXQgdGV4dFxuICBAbWVkaWEgc2NyZWVuXFwwIHtcbiAgICAuZ292dWstZGV0YWlscyB7XG4gICAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuXG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2Ugd3JhcCBzdHlsZXMgZm9yIG5ld2VyIGJyb3dzZXJzIGluIGEgZmVhdHVyZSBxdWVyeSwgd2hpY2ggaXMgaWdub3JlZCBieVxuICAvLyBvbGRlciBicm93c2Vycywgd2hpY2ggYWx3YXlzIGV4cGFuZCB0aGUgZGV0YWlscyBlbGVtZW50LlxuICAvL1xuICAvLyBBZGRpdGlvbmFsbHksIC1tcy1pbWUtYWxpZ24gaXMgb25seSBzdXBwb3J0ZWQgYnkgRWRnZSAxMiAtIDE4XG4gIC8vXG4gIC8vIFRoaXMgZW5zdXJlcyB3ZSBkb24ndCB1c2UgdGhlc2Ugc3R5bGVzIGluIGJyb3dzZXJzIHdoaWNoOlxuICAvLyAgIC0gc3VwcG9ydCBFUzYgbW9kdWxlcyBidXQgbm90IHRoZSA8ZGV0YWlscz4gZWxlbWVudCAoRWRnZSAxNiAtIDE4KVxuICAvLyAgIC0gZG8gbm90IHN1cHBvcnQgRVM2IG1vZHVsZXMgb3IgdGhlIDxkZXRhaWxzPiBlbGVtZW50IChlZywgSUU4KylcbiAgQHN1cHBvcnRzIG5vdCAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5IHtcbiAgICAgIC8vIEFic29sdXRlbHkgcG9zaXRpb24gdGhlIG1hcmtlciBhZ2FpbnN0IHRoaXMgZWxlbWVudFxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAvLyBNYWtlIHRoZSBmb2N1cyBvdXRsaW5lIHNocmluay13cmFwIHRoZSB0ZXh0IGNvbnRlbnQgb2YgdGhlIHN1bW1hcnlcbiAgICAgIHdpZHRoOiAtd2Via2l0LWZpdC1jb250ZW50O1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAvLyBBbGxvdyBmb3IgYWJzb2x1dGVseSBwb3NpdGlvbmVkIG1hcmtlciBhbmQgYWxpZ24gd2l0aCBkaXNjbG9zZWQgdGV4dFxuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpICsgJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgICAgLy8gU3R5bGUgdGhlIHN1bW1hcnkgdG8gbG9vayBsaWtlIGEgbGluay4uLlxuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgICB9XG4gICAgfVxuICAgIC8vIC4uLmJ1dCBvbmx5IHVuZGVybGluZSB0aGUgdGV4dCwgbm90IHRoZSBhcnJvd1xuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5OmhvdmVyIC5nb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHQge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgdW5kZXJsaW5lIHdoZW4gZm9jdXNzZWQgdG8gYXZvaWQgZHVwbGljYXRlIGJvcmRlcnNcbiAgICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpmb2N1cyAuZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgZGV0YWlscyBtYXJrZXIgc28gd2UgY2FuIHN0eWxlIG91ciBvd24gY29uc2lzdGVudGx5IGFuZFxuICAgIC8vIGVuc3VyZSBpdCBkaXNwbGF5cyBpbiBGaXJlZm94IChzZWUgaW1wbGVtZW50YXRpb24ubWQgZm9yIGRldGFpbHMpXG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyBBcHBlbmQgb3VyIG93biBvcGVuIC8gY2xvc2VkIG1hcmtlciB1c2luZyBhIHBzZXVkby1lbGVtZW50XG4gICAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICB0b3A6IC0xcHg7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuXG4gICAgICBtYXJnaW46IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IHJpZ2h0LCAkYmFzZTogMTRweCk7XG5cbiAgICAgIC5nb3Z1ay1kZXRhaWxzW29wZW5dID4gJiB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxNHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstZGV0YWlsc19fdGV4dCB7XG4gICAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvc2hhcGVzXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGUgdGhlIGhlaWdodCBvZiBhbiBlcXVpbGF0ZXJhbCB0cmlhbmdsZVxuLy8vXG4vLy8gTXVsdGlwbHlpbmcgaGFsZiB0aGUgbGVuZ3RoIG9mIHRoZSBiYXNlIG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlIGJ5IHRoZVxuLy8vIHNxdWFyZSByb290IG9mIHRocmVlIGdpdmVzIHVzIGl0cyBoZWlnaHQuIFdlIHVzZSAxLjczMiBhcyBhbiBhcHByb3hpbWF0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gTGVuZ3RoIG9mIHRoZSBiYXNlIG9mIHRoZSB0cmlhbmdsZVxuLy8vIEByZXR1cm4ge051bWJlcn0gQ2FsY3VsYXRlZCBoZWlnaHQgb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBmdW5jdGlvbiBfZ292dWstZXF1aWxhdGVyYWwtaGVpZ2h0KCRiYXNlKSB7XG4gICRzcXVhcmUtcm9vdC1vZi10aHJlZTogMS43MzI7XG5cbiAgQHJldHVybiAoJGJhc2UgLyAyKSAqICRzcXVhcmUtcm9vdC1vZi10aHJlZTtcbn1cblxuLy8vIEFycm93IG1peGluXG4vLy9cbi8vLyBHZW5lcmF0ZSBBcnJvd3MgKHRyaWFuZ2xlcykgYnkgdXNpbmcgYSBtaXggb2YgdHJhbnNwYXJlbnQgKDEpIGFuZCBjb2xvdXJlZFxuLy8vIGJvcmRlcnMuIFRoZSBjb2xvdXJlZCBib3JkZXJzIGluaGVyaXQgdGhlIHRleHQgY29sb3VyIG9mIHRoZSBlbGVtZW50ICgyKS5cbi8vL1xuLy8vIEVuc3VyZSB0aGUgYXJyb3cgaXMgcmVuZGVyZWQgY29ycmVjdGx5IGlmIGJyb3dzZXIgY29sb3VycyBhcmUgb3ZlcnJpZGRlbiBieVxuLy8vIHByb3ZpZGluZyBhIGNsaXAgcGF0aCAoMykuIFdpdGhvdXQgdGhpcyB0aGUgdHJhbnNwYXJlbnQgYm9yZGVycyBhcmVcbi8vLyBvdmVycmlkZGVuIHRvIGJlY29tZSB2aXNpYmxlIHdoaWNoIHJlc3VsdHMgaW4gYSBzcXVhcmUuXG4vLy9cbi8vLyBXZSBuZWVkIGJvdGggYmVjYXVzZSBvbGRlciBicm93c2VycyBkbyBub3Qgc3VwcG9ydCBjbGlwLXBhdGguXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiAtIERpcmVjdGlvbiBmb3IgYXJyb3c6IHVwLCByaWdodCwgZG93biwgbGVmdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIHRyaWFuZ2xlICdiYXNlJyBzaWRlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgW251bGxdIC0gSGVpZ2h0IG9mIHRyaWFuZ2xlLiBPbWl0IGZvciBlcXVpbGF0ZXJhbC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgW2Jsb2NrXSAtIENTUyBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBhcnJvd1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb24sICRiYXNlLCAkaGVpZ2h0OiBudWxsLCAkZGlzcGxheTogYmxvY2spIHtcbiAgZGlzcGxheTogJGRpc3BsYXk7XG5cbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcblxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyAvLyAxXG5cbiAgJHBlcnBlbmRpY3VsYXI6ICRiYXNlIC8gMjtcblxuICBAaWYgbm90ICRoZWlnaHQge1xuICAgICRoZWlnaHQ6IF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpO1xuICB9XG5cbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJ1cFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oNTAlIDAlLCAwJSAxMDAlLCAxMDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6IDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBcInJpZ2h0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCAxMDAlIDUwJSwgMCUgMTAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyICRoZWlnaHQ7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwiZG93blwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgNTAlIDEwMCUsIDEwMCUgMCUpO1xuICAgICAgICAgICAgY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkcGVycGVuZGljdWxhciAwICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgNTAlLCAxMDAlIDEwMCUsIDEwMCUgMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyICRoZWlnaHQgJHBlcnBlbmRpY3VsYXIgMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSB7XG4gICAgQGVycm9yIFwiSW52YWxpZCBhcnJvdyBkaXJlY3Rpb246IGV4cGVjdGVkIGB1cGAsIGByaWdodGAsIGBkb3duYCBvciBgbGVmdGAsIGdvdCBgI3skZGlyZWN0aW9ufWBcIjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fc2hhcGUtYXJyb3cuc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi8uLi9jb3JlL2xpc3RzXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZXJyb3Itc3VtbWFyeVwiKSB7XG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1wYWRkaW5nKDQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fYm9keSB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgID4gKiArICoge1xuICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJ0b3BcIik7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigxLCBcImJvdHRvbVwiKTtcbiAgICB9XG4gIH1cblxuICAvLyBDcm9zcy1jb21wb25lbnQgY2xhc3MgLSBhZGp1c3RzIHN0eWxpbmcgb2YgbGlzdCBjb21wb25lbnRcbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGJvdHRvbSBtYXJnaW4gZnJvbSB0aGUgbGFzdCBsaXN0IGl0ZW1cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5X19saXN0IGEge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1lcnJvcjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9idXR0b24vaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9leGl0LXRoaXMtcGFnZVwiKSB7XG4gICRpbmRpY2F0b3Itc2l6ZTogMC43NWVtO1xuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZV9fYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlX19pbmRpY2F0b3Ige1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZygyKTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAwOyAvLyByZW1vdmVzIGV4dHJhIG5lZ2F0aXZlIHNwYWNlIGJlbG93IHRoZSBpbmRpY2F0b3JzXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlX19pbmRpY2F0b3ItLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLWV4aXQtdGhpcy1wYWdlX19pbmRpY2F0b3ItbGlnaHQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkaW5kaWNhdG9yLXNpemU7XG4gICAgaGVpZ2h0OiAkaW5kaWNhdG9yLXNpemU7XG4gICAgbWFyZ2luOiAwIDAuMTI1ZW07XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gIH1cblxuICAuZ292dWstZXhpdC10aGlzLXBhZ2VfX2luZGljYXRvci1saWdodC0tb24ge1xuICAgIGJvcmRlci13aWR0aDogJGluZGljYXRvci1zaXplIC8gMjtcbiAgfVxuXG4gIEBtZWRpYSBvbmx5IHByaW50IHtcbiAgICAuZ292dWstZXhpdC10aGlzLXBhZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstZXhpdC10aGlzLXBhZ2Utb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLy8gVGhpcyBjbGFzcyBpcyBhZGRlZCB0byB0aGUgYm9keSB3aGVuIHRoZSBFeGl0IFRoaXMgUGFnZSBidXR0b24gaXMgYWN0aXZhdGVkXG4gIC8vIGluIGFkZGl0aW9uIHRvIHRoZSBvdmVybGF5IHRvIGJvdGggYmxvY2sgdGhlIGVudGlyZSBzY3JlZW4gYW5kIGhpZGUgZXZlcnl0aGluZ1xuICAvLyB1bmRlcm5lYXRoIGl0LlxuICAvL1xuICAvLyBXZSBkbyB0aGlzIHRvIGVuc3VyZSB0aGF0IHVzZXJzIGRvbid0IHJpc2sgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgcGFnZSB1bmRlcm5lYXRoXG4gIC8vIHRoZSBvdmVybGF5IGJldHdlZW4gYWN0aXZhdGluZyB0aGUgYnV0dG9uIGFuZCBuYXZpZ2F0aW5nIHRvIHRoZSBuZXh0IHBhZ2UuXG4gIC5nb3Z1ay1leGl0LXRoaXMtcGFnZS1oaWRlLWNvbnRlbnQge1xuICAgIC8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuICAgICoge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5nb3Z1ay1leGl0LXRoaXMtcGFnZS1vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9maWxlLXVwbG9hZFwiKSB7XG4gICRjb21wb25lbnQtcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAuZ292dWstZmlsZS11cGxvYWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kY29tcG9uZW50LXBhZGRpbmc7XG4gICAgcGFkZGluZzogJGNvbXBvbmVudC1wYWRkaW5nO1xuXG4gICAgLy8gVGhlIGRlZmF1bHQgZmlsZSB1cGxvYWQgYnV0dG9uIGluIFNhZmFyaSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgYVxuICAgIC8vIGN1c3RvbSBmb250LXNpemUuIFNldCBgLXdlYmtpdC1hcHBlYXJhbmNlYCB0byBgYnV0dG9uYCB0byBkcm9wIG91dCBvZiB0aGVcbiAgICAvLyBuYXRpdmUgYXBwZWFyYW5jZSBzbyB0aGUgZm9udC1zaXplIGlzIHNldCB0byAxOXB4XG4gICAgLy8gaHR0cHM6Ly93ZWJraXQub3JnL2IvMjI0NzQ2XG4gICAgJjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIFVzZSBgYm94LXNoYWRvd2AgdG8gYWRkIGJvcmRlciBpbnN0ZWFkIG9mIGNoYW5naW5nIGBib3JkZXItd2lkdGhgXG4gICAgICAvLyAod2hpY2ggY2hhbmdlcyBlbGVtZW50IHNpemUpIGFuZCBzaW5jZSBgb3V0bGluZWAgaXMgYWxyZWFkeSB1c2VkIGZvclxuICAgICAgLy8gdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDRweCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAvLyBTZXQgXCJmb2N1cy13aXRoaW5cIiB0byBmaXggaHR0cHM6Ly9idWd6aWwubGEvMTQzMDE5NiBzbyB0aGF0IGNvbXBvbmVudFxuICAgIC8vIHJlY2VpdmVzIGZvY3VzIGluIEZpcmVmb3guXG4gICAgLy8gVGhpcyBjYW4ndCBiZSBzZXQgdG9nZXRoZXIgd2l0aCBgOmZvY3VzYCBhcyBhbGwgdmVyc2lvbnMgb2YgSUUgZmFpbFxuICAgIC8vIHRvIHJlY29nbmlzZSBgZm9jdXMtd2l0aGluYCBhbmQgZG9uJ3Qgc2V0IGFueSBzdHlsZXMgZnJvbSB0aGUgYmxvY2tcbiAgICAvLyB3aGVuIGl0J3MgYSBzZWxlY3Rvci5cbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcblxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgNHB4ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Zvb3RlclwiKSB7XG4gICRnb3Z1ay1mb290ZXItYmFja2dyb3VuZDogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgJGdvdnVrLWZvb3Rlci1ib3JkZXI6ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAkZ292dWstZm9vdGVyLXRleHQ6ICRnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAvLyBSb3lhbCBBcm1zIGltYWdlIGRpbWVuc2lvbnNcbiAgJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aDogMTI1cHg7XG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0OiAxMDJweDtcblxuICAuZ292dWstZm9vdGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBpZigkZ292dWstbmV3LXR5cG9ncmFwaHktc2NhbGUsIDE5LCAxNikpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg3LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNSwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gICAgY29sb3I6ICRnb3Z1ay1mb290ZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstZm9vdGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IG1hcmdpbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBib3JkZXI6IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IGJvcmRlcnNcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbS0tZ3JvdyB7XG4gICAgZmxleDogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBmbGV4LWJhc2lzOiAzMjBweDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpY2VuY2UtbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgLy8gV29yayBhcm91bmQgU1ZHcyBub3QgaW5oZXJpdGluZyBjb2xvciBmcm9tIHBhcmVudCBpbiBmb3JjZWQgY29sb3IgbW9kZVxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvNjMxMClcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBhdXRvO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGljZW5jZS1kZXNjcmlwdGlvbiB7XG4gICAgLy8gVGhpcyBtYWtlcyB0aGUgbGljZW5zZSBkZXNjcmlwdGlvbiByZWZsb3cgdW5kZXIgdGhlIGxvZ28gd2hlbiBzcGFjZSBnZXRzIHRvbyBuYXJyb3dcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLy8gVGhpcyBwcmV2ZW50cyB0aGUgZGVzY3JpcHRpb24gZnJvbSBoYXZpbmcgb3JwaGFucyB3aGVuIHNwYWNlIGlzIG5hcnJvdyBlbm91Z2hcbiAgICAvLyBhbmQgbWFrZXMgdGhlIHRleHQgcmVmbG93IG1vcmUgbmljZWx5XG4gICAgdGV4dC13cmFwOiBiYWxhbmNlO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fY29weXJpZ2h0LWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtaW4td2lkdGg6ICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGg7XG4gICAgcGFkZGluZy10b3A6ICgkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodCArIGdvdnVrLXNwYWNpbmcoMikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImdvdnVrLWNyZXN0LnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGggJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWN1c3RvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2lubGluZS1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2hlYWRpbmcge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstZm9vdGVyLWJvcmRlcjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX25hdmlnYXRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICBtYXJnaW4tbGVmdDogLSRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX3NlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstZ3V0dGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgLmdvdnVrLWZvb3Rlcl9fbGlzdC0tY29sdW1ucy0yIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMjsgLy8gU3VwcG9ydDogQ29sdW1uc1xuICAgIH1cblxuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMyB7XG4gICAgICBjb2x1bW4tY291bnQ6IDM7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hlYWRlclwiKSB7XG4gICRnb3Z1ay1oZWFkZXItYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yOiAkZ292dWstYnJhbmQtY29sb3VyO1xuICAkZ292dWstaGVhZGVyLWJvcmRlci13aWR0aDogZ292dWstc3BhY2luZygyKTtcbiAgJGdvdnVrLWhlYWRlci10ZXh0OiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgJGdvdnVrLWhlYWRlci1saW5rLWFjdGl2ZTogIzFkOGZlYjtcbiAgJGdvdnVrLWhlYWRlci1uYXYtaXRlbS1ib3JkZXItY29sb3I6ICMyZTMxMzM7XG4gICRnb3Z1ay1oZWFkZXItbGluay11bmRlcmxpbmUtdGhpY2tuZXNzOiAzcHg7XG4gICRnb3Z1ay1oZWFkZXItdmVydGljYWwtc3BhY2luZy12YWx1ZTogMjtcbiAgLy8gVGhpcyBjcm93biBoZWlnaHQgaXMgb25seSB1c2VkIHRvIGNhbGN1bGF0ZSB0b3Agb2Zmc2V0IG9mIG1vYmlsZSBtZW51IGJ1dHRvblxuICAvLyBhcyB0aGUgY3Jvd24gc3ZnIGhlaWdodCBpcyB0aGUgb25seSB0aGluZyB0aGF0IGNvbnRyb2xzIHRoZSBoZWlnaHQgb2YgdGhlIGhlYWRlclxuICAkZ292dWstaGVhZGVyLWNyb3duLWhlaWdodDogMzBweDtcbiAgJGdvdnVrLWhlYWRlci1tZW51LWJ1dHRvbi1oZWlnaHQ6IDI0cHg7XG4gICRnb3Z1ay1oZWFkZXItbWVudS1idXR0b24td2lkdGg6IDgwcHg7XG5cbiAgLmdvdnVrLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICRsaW5lLWhlaWdodDogMSk7XG5cbiAgICBib3JkZXItYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpIHNvbGlkIGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWhlYWRlci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyLS1mdWxsLXdpZHRoIHtcbiAgICBwYWRkaW5nOiAwIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjtcblxuICAgIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICAgIHJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2NvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IC0kZ292dWstaGVhZGVyLWJvcmRlci13aWR0aDtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygkZ292dWstaGVhZGVyLXZlcnRpY2FsLXNwYWNpbmctdmFsdWUpO1xuICAgIGJvcmRlci1ib3R0b206ICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlci0tZnVsbC13aWR0aC1ib3JkZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTNweDtcblxuICAgIC8vIEFkZCBhIGdhcCBhZnRlciB0aGUgbG9nbyBpbiBjYXNlIGl0J3MgZm9sbG93ZWQgYnkgYSBwcm9kdWN0IG5hbWUuIFRoaXNcbiAgICAvLyBnZXRzIHJlbW92ZWQgbGF0ZXIgaWYgdGhlIGxvZ290eXBlIGlzIGEgOmxhc3QtY2hpbGQuXG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgLy8gUHJldmVudCByZWFkYWJpbGl0eSBiYWNrcGxhdGUgZnJvbSBvYnNjdXJpbmcgdW5kZXJsaW5lIGluIFdpbmRvd3MgSGlnaFxuICAgIC8vIENvbnRyYXN0IE1vZGVcbiAgICBAbWVkaWEgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogbm9uZTtcbiAgICAgIGNvbG9yOiBsaW5rdGV4dDtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIGdhcCBhZnRlciB0aGUgbG9nbyBpZiB0aGVyZSdzIG5vIHByb2R1Y3QgbmFtZSB0byBrZWVwIGhvdmVyXG4gICAgLy8gYW5kIGZvY3VzIHN0YXRlcyBuZWF0XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19wcm9kdWN0LW5hbWUge1xuICAgICRwcm9kdWN0LW5hbWUtb2Zmc2V0OiBpZigkZ292dWstbmV3LXR5cG9ncmFwaHktc2NhbGUsIDdweCwgMTBweCk7XG4gICAgJHByb2R1Y3QtbmFtZS1vZmZzZXQtdGFibGV0OiA1cHg7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDI0LCAkbGluZS1oZWlnaHQ6IDEpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXI7XG4gICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuXG4gICAgLy8gTWFpbnRhaW4gc3BhY2UgYmVsb3cgbG9nbyB3aGVuIHdyYXBwZWRcbiAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1uYW1lLW9mZnNldDtcblxuICAgIC8vIEZpcmVmb3ggcGxhY2VzIHRoZSBHT1YuVUsgbG9nbyBvbmUgcGl4ZWwgaGlnaGVyLCBkdWUgdG8gaG93IGl0IHJvdW5kc1xuICAgIC8vIHN1YnBpeGVscywgc28gbnVkZ2UgdGhlIHByb2R1Y3QgbmFtZSBpbiBGRiB0byBzdGlsbCBiZSBhbGlnbmVkLlxuICAgIEAtbW96LWRvY3VtZW50IHVybC1wcmVmaXgoKSB7XG4gICAgICBtYXJnaW4tdG9wOiAkcHJvZHVjdC1uYW1lLW9mZnNldCAtIDAuNXB4O1xuICAgIH1cblxuICAgIC8vIEFsaWduIHZlcnRpY2FsbHkgd2l0aCBsb2dvIHdoZW4gbm90IHdyYXBwZWRcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogJHByb2R1Y3QtbmFtZS1vZmZzZXQtdGFibGV0O1xuICAgICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogJHByb2R1Y3QtbmFtZS1vZmZzZXQtdGFibGV0IC0gMC41cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluayB7XG4gICAgLy8gQXZvaWQgdXNpbmcgdGhlIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gYmVjYXVzZSB0aGUgbGlua3MgaW4gdGhlIGhlYWRlclxuICAgIC8vIGdldCBhIHNwZWNpYWwgdHJlYXRtZW50LCBiZWNhdXNlOlxuICAgIC8vXG4gICAgLy8gLSB1bmRlcmxpbmVzIGFyZSBvbmx5IHZpc2libGUgb24gaG92ZXJcbiAgICAvLyAtIGFsbCBsaW5rcyBnZXQgYSAzcHggdW5kZXJsaW5lIHJlZ2FyZGxlc3Mgb2YgdGV4dCBzaXplLCBhcyB0aGVyZSBhcmVcbiAgICAvLyAgIG11bHRpcGxlIGdyb3VwZWQgZWxlbWVudHMgY2xvc2UgdG8gb25lIGFub3RoZXIgYW5kIGhhdmluZyBzbGlnaHRseVxuICAgIC8vICAgZGlmZmVyZW50IHVuZGVybGluZSB3aWR0aHMgbG9va3MgdW5iYWxhbmNlZFxuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZTtcblxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcblxuICAgICAgQGlmICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQge1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0taG9tZXBhZ2Uge1xuICAgIC8vIEZvbnQgc2l6ZSBuZWVkcyB0byBiZSBzZXQgb24gdGhlIGxpbmsgc28gdGhhdCB0aGUgYm94IHNpemluZyBpcyBjb3JyZWN0XG4gICAgLy8gaW4gRmlyZWZveFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgZm9udC1zaXplOiAzMHB4OyAvLyBXZSBkb24ndCBoYXZlIGEgbWl4aW4gdGhhdCBwcm9kdWNlcyAzMHB4IGZvbnQgc2l6ZVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIC8vIFJlcGxpY2F0ZSB0aGUgZm9jdXMgYm94IHNoYWRvdyBidXQgd2l0aG91dCB0aGUgLTJweCB5LW9mZnNldCBvZiB0aGUgZmlyc3QgeWVsbG93IHNoYWRvd1xuICAgICAgICAvLyBUaGlzIGlzIHRvIHN0b3AgdGhlIGxvZ28gZ2V0dGluZyBjdXQgb2ZmIGJ5IHRoZSBib3ggc2hhZG93IHdoZW4gZm9jdXNlZCBvbiBhYm92ZSBhIHByb2R1Y3QgbmFtZVxuICAgICAgICBib3gtc2hhZG93OiAwIDAgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxpbmssXG4gICAgJjp2aXNpdGVkIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIC8vIE5lZ2F0ZSB0aGUgYWRkZWQgYm9yZGVyXG4gICAgICBtYXJnaW4tYm90dG9tOiAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcyAqIC0xO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3Mgc29saWQ7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGFueSBib3JkZXJzIHRoYXQgc2hvdyB3aGVuIGZvY3VzZWQgYW5kIGhvdmVyZWQuXG4gICAgJjpmb2N1cyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19zZXJ2aWNlLW5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvLFxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oJGdvdnVrLWhlYWRlci12ZXJ0aWNhbC1zcGFjaW5nLXZhbHVlLCBcImJvdHRvbVwiKTtcbiAgICAvLyBQcm90ZWN0IHRoZSBhYnNvbHV0ZSBwb3NpdGlvbmVkIG1lbnUgYnV0dG9uIGZyb20gb3ZlcmxhcHBpbmcgd2l0aCB0aGVcbiAgICAvLyBsb2dvIHdpdGggcmlnaHQgcGFkZGluZyB1c2luZyB0aGUgYnV0dG9uJ3Mgd2lkdGhcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLXdpZHRoO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgIC8vIFJlc2V0IGZsb2F0IHdoZW4gbG9nbyBpcyB0aGUgbGFzdCBjaGlsZCwgd2l0aG91dCBhIG5hdmlnYXRpb25cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDY2LjY2JTtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLy8gY2FsY3VsYXRlIHRvcCBvZmZzZXQgYnk6XG4gICAgLy8gLSBnZXR0aW5nIHRoZSB2ZXJ0aWNhbCBzcGFjaW5nIGZvciB0aGUgdG9wIGFuZCB0aGUgYm90dG9tIG9mIHRoZSBoZWFkZXJcbiAgICAvLyAtIGFkZGluZyB0aGF0IHRvIHRoZSBjcm93biBoZWlnaHRcbiAgICAvLyAtIGRpdmlkaW5nIGl0IGJ5IDIgc28geW91IGhhdmUgdGhlIHZlcnRpY2FsIGNlbnRyZSBvZiB0aGUgaGVhZGVyXG4gICAgLy8gLSBzdWJ0cmFjdGluZyBoYWxmIHRoZSBoZWlnaHQgb2YgdGhlIG1lbnUgYnV0dG9uXG4gICAgdG9wOiAoKChnb3Z1ay1zcGFjaW5nKCRnb3Z1ay1oZWFkZXItdmVydGljYWwtc3BhY2luZy12YWx1ZSkgKiAyKSArICRnb3Z1ay1oZWFkZXItY3Jvd24taGVpZ2h0KSAvIDIpIC1cbiAgICAgICgkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLWhlaWdodCAvIDIpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1heC13aWR0aDogJGdvdnVrLWhlYWRlci1tZW51LWJ1dHRvbi13aWR0aDtcbiAgICBtaW4taGVpZ2h0OiAkZ292dWstaGVhZGVyLW1lbnUtYnV0dG9uLWhlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHNvbGlkIHVuZGVybGluZSAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBzb2xpZCB1bmRlcmxpbmUgJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3M7XG5cbiAgICAgIEBpZiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0IHtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IGRvd24sICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiB1cCwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG5cbiAgICAuZ292dWstZnJvbnRlbmQtc3VwcG9ydGVkICYge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJltoaWRkZW5dLFxuICAgIC5nb3Z1ay1mcm9udGVuZC1zdXBwb3J0ZWQgJltoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1saXN0IHtcbiAgICAvLyBSZXNldCB1c2VyLWFnZW50IGRlZmF1bHQgbGlzdCBzdHlsZXNcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgJltoaWRkZW5dIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKSAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTYpO1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtLS1hY3RpdmUge1xuICAgIGEge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlO1xuICAgICAgfVxuXG4gICAgICAvLyBXaGVuIHByaW50aW5nLCB1c2UgdGhlIG5vcm1hbCBibHVlIGFzIHRoaXMgY29udHJhc3RzIGJldHRlciB3aXRoIHRoZVxuICAgICAgLy8gd2hpdGUgcHJpbnRpbmcgaGVhZGVyXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1icmFuZC1jb2xvdXI7XG4gICAgICB9XG5cbiAgICAgIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gICAgICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBjb2xvcjogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19saW5rIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIH1cblxuICAgICAgLy8gRG8gbm90IGFwcGVuZCBsaW5rIGhyZWYgdG8gR09WLlVLIGxpbmsgd2hlbiBwcmludGluZyAoZS5nLiAnKC8pJylcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2luc2V0LXRleHRcIikge1xuICAuZ292dWstaW5zZXQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgLy8gTWFyZ2luIHRvcCBpbnRlbmRlZCB0byBjb2xsYXBzZVxuICAgIC8vIFRoaXMgYWRkcyBhbiBhZGRpdGlvbmFsIDEwcHggdG8gdGhlIHBhcmFncmFwaCBhYm92ZVxuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgY2xlYXI6IGJvdGg7XG5cbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC13aWRlIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG5cbiAgICA+IDpvbmx5LWNoaWxkLFxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L25vdGlmaWNhdGlvbi1iYW5uZXJcIikge1xuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1icmFuZC1jb2xvdXI7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnJhbmQtY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAycHggZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gRW5zdXJlcyB0aGUgbm90aWZpY2F0aW9uIGhlYWRlciBhcHBlYXJzIHNlcGFyYXRlIHRvIHRoZSBub3RpZmljYXRpb24gYm9keVxuICAgIC8vIHRleHQgaW4gaGlnaCBjb250cmFzdCBtb2RlXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogMnB4IGdvdnVrLXNwYWNpbmcoNCkgZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fdGl0bGUge1xuICAgIC8vIFNldCB0aGUgc2l6ZSBhZ2FpbiBiZWNhdXNlIHRoaXMgZWxlbWVudCBpcyBhIGhlYWRpbmcgYW5kIHRoZSB1c2VyIGFnZW50XG4gICAgLy8gZm9udCBzaXplIG92ZXJyaWRlcyB0aGUgaW5oZXJpdGVkIGZvbnQgc2l6ZVxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2NvbnRlbnQge1xuICAgICRwYWRkaW5nLXRhYmxldDogZ292dWstc3BhY2luZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy10YWJsZXQ7XG4gICAgfVxuXG4gICAgLy8gV3JhcCBjb250ZW50IGF0IHRoZSBzYW1lIHBsYWNlIHRoYXQgYSAyLzMgZ3JpZCBjb2x1bW4gZW5kcywgdG8gbWFpbnRhaW5cbiAgICAvLyBzaG9ydGVyIGxpbmUtbGVuZ3RocyB3aGVuIHRoZSBub3RpZmljYXRpb24gYmFubmVyIGlzIGZ1bGwgd2lkdGhcbiAgICA+ICoge1xuICAgICAgLy8gV2hlbiBlbGVtZW50cyBoYXZlIHRoZWlyIG93biBwYWRkaW5nIChsaWtlIGxpc3RzKSwgaW5jbHVkZSB0aGUgcGFkZGluZ1xuICAgICAgLy8gaW4gdGhlIG1heC13aWR0aCBjYWxjdWxhdGlvblxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBpbnRlcm5hbCB3aWR0aCBvZiBhIHR3by10aGlyZHMgY29sdW1uLi4uXG4gICAgICAkdHdvLWNvbC13aWR0aDogKCRnb3Z1ay1wYWdlLXdpZHRoICogMiAvIDMpIC0gKCRnb3Z1ay1ndXR0ZXIgKiAxIC8gMyk7XG5cbiAgICAgIC8vIC4uLmFuZCB0aGVuIGZhY3RvciBpbiB0aGUgbGVmdCBib3JkZXIgYW5kIHBhZGRpbmdcbiAgICAgICRiYW5uZXItZXh0ZXJpb3I6ICgkcGFkZGluZy10YWJsZXQgKyAkZ292dWstYm9yZGVyLXdpZHRoKTtcbiAgICAgIG1heC13aWR0aDogJHR3by1jb2wtd2lkdGggLSAkYmFubmVyLWV4dGVyaW9yO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAyNCk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIG1hcmdpbjogMCAwIGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyLS1zdWNjZXNzIHtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcblxuICAgIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19saW5rIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtc3VjY2VzcztcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BhZ2luYXRpb25cIikge1xuICAvLyBGbGV4Ym94IGVuaGFuY2VtZW50IGZvciBzbWFsbCBzY3JlZW4gdmlzdWFsIGRlc2lnblxuICAvLyBGYWxscyBiYWNrIHRvIGEgZmxvYXQ6IGxlZnQgbGF5b3V0IG9uIG5vbi1mbGV4IGJyb3dzZXJzXG4gIC5nb3Z1ay1wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2xpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSxcbiAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5KTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4td2lkdGg6IDQ1cHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgZmxvYXQ6IGxlZnQ7IC8vIEZsb2F0IGlzIGlnbm9yZWQgaWYgZmxleCBpcyBhY3RpdmUgZm9yIHByZXYvbmV4dCBsaW5rc1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtIHtcbiAgICAvLyBIaWRlIGl0ZW1zIG9uIHNtYWxsIHNjcmVlbnMgZXhjZXB0IHRoZSBwcmV2L25leHQgaXRlbXMsXG4gICAgLy8gbm9uLWxpbmsgaXRlbXMgYW5kIHRoZSBmaXJzdCBhbmQgbGFzdCBpdGVtc1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAvLyBDZW50ZXIgYWxpZ24gcGFnaW5hdGlvbiBsaW5rcyBpbiB0aGVpciBwYXJlbnQgbGlzdCBpdGVtIHNvIHRoYXQgdGhleVxuICAgIC8vIHZpc3VhbGx5IHNpdCBpbiB0aGUgbWlkZGxlIG9mIHRoZWlyIHRvdWNoIGFyZWFcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fcHJldixcbiAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG5cbiAgICAvLyBVc2UgZmxleCB0byBhdm9pZCBleHRyYSBzcGFjZSBiZWluZyBpbnRyb2R1Y2VkIHdoZW4gd2hpdGVzcGFjZSBleGlzdHNcbiAgICAvLyBiZXR3ZWVuIHRoZSBhcnJvdyBzdmcgYW5kIHRoZSBsaW5rIHRleHRcbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBPbmx5IHNob3cgZmlyc3QsIGxhc3QgYW5kIG5vbi1saW5rIGl0ZW1zIG9uIG1vYmlsZVxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCxcbiAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWVsbGlwc2VzLFxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbTpmaXJzdC1jaGlsZCxcbiAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBvdXRsaW5lOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1pbnZlcnNlO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1lbGxpcHNlcyB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAgIC8vIFJlbW92ZSBob3ZlciBzdGF0ZSBmb3IgZWxsaXBzaXMgaXRlbXMgYXMgdGhleSBkb24ndCBjb250YWluIGxpbmtzXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gSW5jcmVhc2UgdGhlIHRvdWNoIGFyZWEgZm9yIHRoZSBsaW5rIHRvIHRoZSBwYXJlbnQgZWxlbWVudC5cbiAgICBAbWVkaWEgc2NyZWVuIHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGxpbmsgaG92ZXIgZGVjb3JhdGlvbiB0byBwcmV2L25leHQgdGV4dCBpZiBubyBsYWJlbCBwcmVzZW50IG9uXG4gICAgLy8gcHJldi9uZXh0IG9ubHkgbW9kZSwgIHNvIHRoYXQgd2UgaGF2ZSBhIGhvdmVyIHN0YXRlIGluIGFsbCBjYXNlc1xuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstZGVjb3JhdGlvbjtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstbGFiZWwsXG4gICAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24ge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24ge1xuICAgIC8vIFNldCBzaXplIHVzaW5nIHJlbXMgdG8gbWFrZSB0aGUgaWNvbiBzY2FsZSB3aXRoIHRleHRcbiAgICB3aWR0aDogZ292dWstcHgtdG8tcmVtKDE1cHgpO1xuICAgIGhlaWdodDogZ292dWstcHgtdG8tcmVtKDEzcHgpO1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBhdXRvO1xuICB9XG5cbiAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24tLXByZXYge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uLS1uZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC8vIEJsb2NrIG1vZGUgLSBwb3NpdGlvbiBwcmV2aW91cyBhbmQgbmV4dCBsaW5rcyBhYm92ZSBhbmQgYmVsb3cgbnVtYmVyc1xuICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuXG4gICAgLy8gT25seSBhcHBseSBhIGJvcmRlciBiZXR3ZWVuIHByZXYgYW5kIG5leHQgaWYgYm90aCBhcmUgcHJlc2VudFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2ICsgLmdvdnVrLXBhZ2luYXRpb25fX25leHQge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIFNldCB0aGUgYWZ0ZXIgcHNldWRvIGVsZW1lbnQgdG8gYSBibG9jayB3aGljaCBtYWtlcyB0aGUgdGl0bGUgdmlzdWFsbHlcbiAgICAvLyBkaXNwbGF5IGFzIGJsb2NrIGxldmVsIHdoaWxzdCBwcm9ncmFtbWF0aWNhbGx5IGJlaW5nIGlubGluZS4gV2UgZG8gdGhpc1xuICAgIC8vIHRvIGdldCBhcm91bmQgYW4gTlZEQSBxdWlyayB3aGVyZSBhZGphY2VudCBibG9jayBsZXZlbCBlbGVtZW50cyBhcmVcbiAgICAvLyBhbHdheXMgcmVhZCBvdXQgc2VwYXJhdGVseVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgJjpub3QoOmZvY3VzKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faWNvbiB7XG4gICAgICAvLyBUaGlzIG1hZ2ljIG51bWJlciBpcyBicm91Z2h0IHRvIHlvdSBieSB0aGUgZm9sbG93aW5nIGVxdWF0aW9uOlxuICAgICAgLy8gKChsaW5lSGVpZ2h0IOKIkiBhcnJvd0hlaWdodCkgw7cgMikgw7cgZm9udFNpemVcbiAgICAgIC8vICgoMjUg4oiSIDEzKSDDtyAyKSDDtyAxOSA9IDAuMzI2ZW1cbiAgICAgIC8vXG4gICAgICAvLyBUaGlzIGNvdWxkIGhhdmUgYmVlbiBkb25lIHByb2dyYW1tYXRpY2FsbHkgYnV0IHdlIGRvbid0IGhhdmUgZnVuY3Rpb25zXG4gICAgICAvLyBmb3IgZ3JhYmJpbmcgdGhlIGxpbmUtaGVpZ2h0IG9mIHNwZWNpZmljIHR5cG9ncmFwaHkgc2l6ZXMganVzdCB5ZXQuXG4gICAgICBtYXJnaW4tdG9wOiAwLjMyNmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNikgKiAtMTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGFuZWxcIikge1xuICAuZ292dWstcGFuZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNykgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoaWYoJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlLCA0LCAzKSkgLSAkZ292dWstYm9yZGVyLXdpZHRoO1xuXG4gICAgICAvLyBUaGlzIGlzIGFuIGlmLWFsbC1lbHNlLWZhaWxzIGF0dGVtcHQgdG8gc3RvcCBsb25nIHdvcmRzIGZyb21cbiAgICAgIC8vIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIgb24gdmVyeSBuYXJyb3cgdmlld3BvcnRzIGJ5IGZvcmNpbmcgdGhlbSB0b1xuICAgICAgLy8gYnJlYWsgYW5kIHdyYXAgaW5zdGVhZC4gVGhpcyBvdmVyZmxvd2luZyBpcyBtb3JlIGxpa2VseSB0byBoYXBwZW4gd2hlblxuICAgICAgLy8gdXNlciBpbmNyZWFzZXMgdGV4dCBzaXplIG9uIGEgbW9iaWxlIGVnLiB1c2luZyBpT1MgU2FmYXJpIHRleHQgcmVzaXplXG4gICAgICAvLyBjb250cm9scy5cbiAgICAgIC8vXG4gICAgICAvLyBUaGUgb3ZlcmZsb3dpbmcgaXMgYSBwYXJ0aWN1bGFyIHByb2JsZW0gd2l0aCB0aGUgcGFuZWwgY29tcG9uZW50IHNpbmNlXG4gICAgICAvLyBpdCB1c2VzIHdoaXRlIHRleHQ6IHdoZW4gdGhlIHRleHQgb3ZlcmZsb3dzIHRoZSBjb250YWluZXIsIGl0IGlzXG4gICAgICAvLyBpbnZpc2libGUgb24gdGhlIHdoaXRlIChwYWdlKSBiYWNrZ3JvdW5kLiBXaGVuIHRoZSB0ZXh0IGluIG91ciBvdGhlclxuICAgICAgLy8gY29tcG9uZW50cyBvdmVyZmxvdywgdGhlIHVzZXIgbWlnaHQgaGF2ZSB0byBzY3JvbGwgaG9yaXpvbnRhbGx5IHRvIHZpZXdcbiAgICAgIC8vIGl0IGJ1dCB0aGUgdGhlIHRleHQgcmVtYWlucyBsZWdpYmxlLlxuICAgICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgLy8gU3VwcG9ydCBJRSAoYXV0b3ByZWZpeGVyIGRvZXNuJ3QgYWRkIHRoaXMgYXMgaXQncyBub3QgYSBwcmVmaXgpXG4gICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhbmVsLS1jb25maXJtYXRpb24ge1xuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJncmVlblwiKTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICAgYm9yZGVyLWNvbG9yOiBjdXJyZW50Y29sb3I7XG4gICAgICBjb2xvcjogJGdvdnVrLXByaW50LXRleHQtY29sb3VyO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFuZWxfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDQ4KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fdGl0bGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9idXR0b24vaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3Bhc3N3b3JkLWlucHV0XCIpIHtcbiAgLmdvdnVrLXBhc3N3b3JkLWlucHV0X193cmFwcGVyIHtcbiAgICAvLyBUaGlzIGVsZW1lbnQgaW5oZXJpdHMgc3R5bGVzIGZyb20gLmdvdnVrLWlucHV0X193cmFwcGVyLCBpbmNsdWRpbmc6XG4gICAgLy8gLSBiZWluZyBkaXNwbGF5OiBibG9jayB3aXRoIGNvbnRlbnRzIGluIGEgc3RhY2tlZCBjb2x1bW4gYmVsb3cgdGhlIG1vYmlsZVxuICAgIC8vICAgYnJlYWtwb2ludFxuICAgIC8vIC0gYmVpbmcgZGlzcGxheTogZmxleCBhYm92ZSB0aGUgbW9iaWxlIGJyZWFrcG9pbnRcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBtb2JpbGUpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIC8vIFRoZSBkZWZhdWx0IG9mIGBzdHJldGNoYCBtYWtlcyB0aGUgdG9nZ2xlIGJ1dHRvbiBhcHBlYXIgdGFsbGVyIHRoYW4gdGhlXG4gICAgICAvLyBpbnB1dCwgZHVlIHRvIHVzaW5nIGJveC1zaGFkb3csIHdoaWNoIHdlIGRvbid0IHBhcnRpY3VsYXJseSB3YW50IGluXG4gICAgICAvLyB0aGlzIHNpdHVhdGlvblxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhc3N3b3JkLWlucHV0X19pbnB1dCB7XG4gICAgLy8gSUUgMTEgYW5kIE1pY3Jvc29mdCBFZGdlIGNvbWVzIHdpdGggaXRzIG93biBwYXNzd29yZCByZXZlYWwgZnVuY3Rpb24uIFdlXG4gICAgLy8gd2FudCB0byBoaWRlIGl0LCBzbyB0aGF0IHRoZXJlIGFyZW4ndCB0d28gY29udHJvbHMgcHJlc2VudGVkIHRvIHRoZSB1c2VyXG4gICAgLy8gdGhhdCBkbyB0aGUgc2FtZSB0aGluZyBidXQgYXJlbid0IGluIHN5bmMgd2l0aCBvbmUgYW5vdGhlci4gVGhpcyBkb2Vzbid0XG4gICAgLy8gYWZmZWN0IHRoZSBmdW5jdGlvbiB0aGF0IGFsbG93cyBFZGdlIHVzZXJzIHRvIHRvZ2dsZSBwYXNzd29yZCB2aXNpYmlsaXR5XG4gICAgLy8gYnkgcHJlc3NpbmcgQWx0K0Y4LCB3aGljaCBjYW5ub3QgYmUgcHJvZ3JhbW1hdGljYWxseSBkaXNhYmxlZC5cbiAgICAmOjotbXMtcmV2ZWFsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXBhc3N3b3JkLWlucHV0X190b2dnbGUge1xuICAgIC8vIEFkZCB0b3AgbWFyZ2luIHNvIHRoZSBidXR0b24gZG9lc24ndCBvYnNjdXJlIHRoZSBpbnB1dCdzIGZvY3VzIHN0eWxlXG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi1ib3R0b20gZnJvbSBidXR0b25cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLy8gSGlkZSB0aGUgYnV0dG9uIGJ5IGRlZmF1bHQsIEpTIHJlbW92ZXMgdGhpcyBhdHRyaWJ1dGVcbiAgICAmW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4gICAgICAvLyBCdXR0b25zIGFyZSBub3JtYWxseSAxMDAlIHdpZGUgb24gbW9iaWxlLCBidXQgd2UgZG9uJ3Qgd2FudCB0aGF0IGhlcmVcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBmbGV4LWJhc2lzOiA1ZW07XG5cbiAgICAgIC8vIE1vdmUgdGhlIHNwYWNpbmcgZnJvbSB0b3AgdG8gdGhlIGxlZnRcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3RhZ1wiKSB7XG4gICRnb3Z1ay10YWctbWF4LXdpZHRoOiBpZihtYXAtaGFzLWtleSgkZ292dWstYnJlYWtwb2ludHMsIFwibW9iaWxlXCIpLCBtYXAtZ2V0KCRnb3Z1ay1icmVha3BvaW50cywgXCJtb2JpbGVcIikgLyAyLCAxNjBweCk7XG5cbiAgLmdvdnVrLXRhZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLy8gc2V0IGEgbWF4LXdpZHRoIGFsb25nIHdpdGggb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZCBiZWxvdyBmb3IgaW5zdGFuY2VzXG4gICAgLy8gd2hlcmUgYSB0YWcgaGFzIGEgc2luZ2xlIGxvbmcgd29yZCBhbmQgY291bGQgb3ZlcmZsb3cgaXRzIGJvdW5kYXJpZXMuXG4gICAgLy8gVGhlIG1heC13aWR0aCBpcyBuZWNlc3NhcnkgYXMgYnJlYWstd29yZCByZXF1aXJlcyBhIGJvdW5kaW5nIGJveCB0byBiYXNlXG4gICAgLy8gd2hlcmUgdG8gYnJlYWsgb2ZmIG9mLlxuICAgIG1heC13aWR0aDogJGdvdnVrLXRhZy1tYXgtd2lkdGg7XG5cbiAgICAvLyBUaGVzZSBuZWdhdGl2ZSBtYXJnaW5zIG1ha2Ugc3VyZSB0aGF0IHRoZSB0YWcgY29tcG9uZW50IGRvZXNu4oCZdCBpbmNyZWFzZVxuICAgIC8vIHRoZSBzaXplIG9mIGl0cyBjb250YWluZXIuIE90aGVyd2lzZSwgZm9yIGV4YW1wbGUsIGEgdGFibGUgcm93IGNvbnRhaW5pbmdcbiAgICAvLyBhIHRhZyB3aWxsIGJlIHRhbGxlciB0aGFuIG9uZSBjb250YWluaW5nIHBsYWluIHRleHQuXG4gICAgLy9cbiAgICAvLyBUaGUgbmVnYXRpdmUgbWFyZ2luIGFkZGVkIHRvIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXRjaGVzIHRoZSBleHRyYSBwYWRkaW5nXG4gICAgLy8gYWRkZWQuXG4gICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuXG4gICAgcGFkZGluZy10b3A6IDJweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiYmx1ZVwiKSwgNjAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImJsdWVcIiksIDcwJSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAvLyBXaGVuIGZvcmNlZCBjb2xvdXIgbW9kZSBpcyBhY3RpdmUsIGZvciBleGFtcGxlIHRvIHByb3ZpZGUgaGlnaCBjb250cmFzdCxcbiAgICAvLyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgb2YgdGhlIHRhZyBpcyB0aGUgc2FtZSBhcyB0aGUgcmVzdCBvZiB0aGUgcGFnZS4gVG9cbiAgICAvLyBlbnN1cmUgdGhhdCB0aGUgdGFnIGlzIHBlcmNlaXZlZCBhcyBzZXBhcmF0ZSBmcm9tIGFueSBzdXJyb3VuZCB0ZXh0LCBpdFxuICAgIC8vIGlzIG1hZGUgYm9sZC5cbiAgICAvL1xuICAgIC8vIFRyYW5zcGFyZW50IG91dGxpbmVzIGFyZSBubyBsb25nZXIgYWRkZWQsIGFzIHRoZXkgbWFrZSB0aGUgVGFnIGxvb2tcbiAgICAvLyBpbmRpc3Rpbmd1aXNoYWJsZSBmcm9tIGEgYnV0dG9uIOKAkyBidXQgdGhlIHRhZyBpcyBub3QgaW50ZXJhY3RpdmUgaW4gdGhlXG4gICAgLy8gc2FtZSB3YXkuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhZy0tZ3JleSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiKSwgNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiKSwgODUlKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLXB1cnBsZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImJyaWdodC1wdXJwbGVcIiksIDUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJicmlnaHQtcHVycGxlXCIpLCA4NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tdHVycXVvaXNlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpLCA2MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpLCA4MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tYmx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImJsdWVcIiksIDYwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJibHVlXCIpLCA3MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tbGlnaHQtYmx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcImJsdWVcIiksIDYwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJibHVlXCIpLCA5MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0teWVsbG93IHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwieWVsbG93XCIpLCA2NSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwieWVsbG93XCIpLCA3NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tb3JhbmdlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwib3JhbmdlXCIpLCA1NSUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwib3JhbmdlXCIpLCA3MCUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcmVkIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwicmVkXCIpLCA4MCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwicmVkXCIpLCA3NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcGluayB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcInBpbmtcIiksIDUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJwaW5rXCIpLCA4NSUpO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tZ3JlZW4ge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJncmVlblwiKSwgMjAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImdyZWVuXCIpLCA4MCUpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL3RhZy9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BoYXNlLWJhbm5lclwiKSB7XG4gIC5nb3Z1ay1waGFzZS1iYW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuXG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmdvdnVrLXBoYXNlLWJhbm5lcl9fY29udGVudF9fdGFnIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDE2KTtcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoaWYoJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlLCAzLCAyKSk7XG5cbiAgICBAaWYgJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9yYWRpb3NcIikge1xuICAkZ292dWstdG91Y2gtdGFyZ2V0LWd1dHRlcjogNHB4O1xuICAkZ292dWstcmFkaW9zLXNpemU6IDQwcHg7XG4gICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTogKCRnb3Z1ay1yYWRpb3Mtc2l6ZSArICRnb3Z1ay10b3VjaC10YXJnZXQtZ3V0dGVyKTtcbiAgJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplOiAyNHB4O1xuICAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgLy8gV2hlbiB0aGUgZGVmYXVsdCBmb2N1cyB3aWR0aCBpcyB1c2VkIG9uIGEgY3VydmVkIGVkZ2UgaXQgbG9va3MgdmlzdWFsbHlcbiAgLy8gc21hbGxlci4gU28gZm9yIHRoZSBjaXJjdWxhciByYWRpb3Mgd2UgYnVtcCB0aGUgZGVmYXVsdCB0byBtYWtlIGl0IGxvb2tcbiAgLy8gdmlzdWFsbHkgY29uc2lzdGVudC5cbiAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aDogJGdvdnVrLWZvY3VzLXdpZHRoICsgMXB4O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0IHtcbiAgICAvLyBBbGxvdyB0aGUgaW5wdXQgdG8gc2l0IGFib3ZlIHRoZSBsYWJlbCwgZW5hYmxpbmcgaXRzIHByb3BlciBkZXRlY3Rpb25cbiAgICAvLyB3aGVuIGV4cGxvcmluZyBieSB0b3VjaCBvciB1c2luZyBhdXRvbWF0aW9uIHRvb2xzIGxpa2UgU2VsZW5pdW1cbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgIC8vIEVuc3VyZSB0aGF0IHRoZSB3aWR0aCBvZiB0aGUgbGFiZWwgaXMgbmV2ZXIgbW9yZSB0aGFuIHRoZSB3aWR0aCBvZiB0aGVcbiAgICAvLyBjb250YWluZXIgbWludXMgdGhlIGlucHV0IHdpZHRoIG1pbnVzIHRoZSBwYWRkaW5nIG9uIGVpdGhlciBzaWRlIG9mXG4gICAgLy8gdGhlIGxhYmVsLiBUaGlzIHByZXZlbnRzIHRoZSBsYWJlbCBmcm9tIGdvaW5nIG9udG8gdGhlIG5leHQgbGluZSBkdWUgdG9cbiAgICAvLyBfX2l0ZW0gdXNpbmcgZmxleC13cmFwIGJlY2F1c2Ugd2Ugd2FudCBoaW50cyBvbiBhIHNlcGFyYXRlIGxpbmVcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7KCRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0ICsgJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplICsgZ292dWstc3BhY2luZygzKSl9KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IChnb3Z1ay1zcGFjaW5nKDEpICsgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQpIGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8vIHJlbW92ZSAzMDBtcyBwYXVzZSBvbiBtb2JpbGVcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC8vICggKSBSYWRpbyByaW5nXG4gIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXIgLyAyKTtcbiAgICBsZWZ0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1ndXR0ZXIgLyAyKTtcbiAgICB3aWR0aDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudGNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vICDigKIgIFJhZGlvIGJ1dHRvblxuICAvL1xuICAvLyBXZSBjcmVhdGUgdGhlICdidXR0b24nIGVudGlyZWx5IG91dCBvZiAnYm9yZGVyJyBzbyB0aGF0IHRoZXkgcmVtYWluXG4gIC8vICdmaWxsZWQnIGV2ZW4gd2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGluIHRoZSBicm93c2VyLlxuICAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgICRyYWRpby1idXR0b24tc2l6ZTogZ292dWstc3BhY2luZygyKTtcblxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgLy8gUG9zaXRpb25lZCBieSBnZXR0aW5nIGhhbGYgdGhlIHRvdWNoIHRhcmdldCwgc28gd2UgaGF2ZSB0aGUgY2VudHJlIG9mIHRoZVxuICAgIC8vIGlucHV0LCBhbmQgdGhlbiBtb3ZpbmcgYmFjayBieSB0aGUgYnV0dG9uJ3MgYm9yZGVyIHdpZHRoLCB0aHVzIHBvc2l0aW9uaW5nXG4gICAgLy8gdGhlIGNlbnRyZSBvZiB0aGUgYnV0dG9uIGluIHRoZSBjZW50cmUgb2YgdGhlIGlucHV0LlxuICAgIHRvcDogKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSk7XG4gICAgbGVmdDogKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSk7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogJHJhZGlvLWJ1dHRvbi1zaXplIHNvbGlkIGN1cnJlbnRjb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Y29sb3I7XG4gIH1cblxuICAuZ292dWstcmFkaW9zX19oaW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKC0xKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCArICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSk7XG4gIH1cblxuICAvLyBUaGlzIGlzIHRvIGJ5cGFzcyBnb3Z1ay1oaW50J3Mgc3BlY2lmaWNpdHkgb24gaGludHMgZm9sbG93aW5nIGxhYmVscyBoYXZpbmdcbiAgLy8gYSBtYXJnaW4gYm90dG9tIG9mIDEwcHggKGdvdnVrLXNwYWNpbmcoMikpLiBCZWNhdXNlIHJhZGlvcyBhcmUgZmxleGJveCxcbiAgLy8gdGhlIG1hcmdpbiBkb2Vzbid0IGNvbGxhcHNlIHNvIHdlIGhhdmUgdG8gZG8gdGhpcyBtYW51YWxseS5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG5cbiAgICAvLyBXaGVuIGNvbG91cnMgYXJlIG92ZXJyaWRkZW4sIHRoZSB5ZWxsb3cgYm94LXNoYWRvdyBiZWNvbWVzIGludmlzaWJsZVxuICAgIC8vIHdoaWNoIG1lYW5zIHRoZSBmb2N1cyBzdGF0ZSBpcyBsZXNzIG9idmlvdXMuIEJ5IGFkZGluZyBhIHRyYW5zcGFyZW50XG4gICAgLy8gb3V0bGluZSwgd2hpY2ggYmVjb21lcyBzb2xpZCAodGV4dC1jb2xvdXJlZCkgaW4gdGhhdCBjb250ZXh0LCB3ZSBlbnN1cmVcbiAgICAvLyB0aGUgZm9jdXMgcmVtYWlucyBjbGVhcmx5IHZpc2libGUuXG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAxcHg7XG5cbiAgICAvLyBXaGVuIGluIGFuIGV4cGxpY2l0IGZvcmNlZC1jb2xvciBtb2RlLCB3ZSBjYW4gdXNlIHRoZSBIaWdobGlnaHQgc3lzdGVtXG4gICAgLy8gY29sb3IgZm9yIHRoZSBvdXRsaW5lIHRvIGJldHRlciBtYXRjaCBmb2N1cyBzdGF0ZXMgb2YgbmF0aXZlIGNvbnRyb2xzXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICBvdXRsaW5lLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICB9XG5cbiAgLy8gU2VsZWN0ZWQgc3RhdGVcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmRpc2FibGVkLFxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgfiAuZ292dWstaGludCB7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIElubGluZSByYWRpb3NcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLmdvdnVrLXJhZGlvcy0taW5saW5lIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIERpdmlkZXJzICgnb3InKVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstcmFkaW9zX19kaXZpZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgJGdvdnVrLWRpdmlkZXItc2l6ZTogJGdvdnVrLXJhZGlvcy1zaXplICFkZWZhdWx0O1xuICAgIHdpZHRoOiAkZ292dWstZGl2aWRlci1zaXplO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbmRpdGlvbmFsIHJldmVhbHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gVGhlIG5hcnJvdyBib3JkZXIgaXMgdXNlZCBpbiB0aGUgY29uZGl0aW9uYWwgcmV2ZWFscyBiZWNhdXNlIHRoZSBib3JkZXIgaGFzXG4gIC8vIHRvIGJlIGFuIGV2ZW4gbnVtYmVyIGluIG9yZGVyIHRvIGJlIGNlbnRyZWQgdW5kZXIgdGhlIDQwcHggY2hlY2tib3ggcmFkaW8uXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93O1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdFxuICAvLyB0aGUgcmFkaW9zLlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSByYWRpb3NcbiAgJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmc7XG4gIC8vIE1vdmUgdGhlIGNvbnRlbnRzIG9mIHRoZSBjb25kaXRpb25hbCBpbmxpbmUgd2l0aCB0aGUgbGFiZWxcbiAgJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nICsgJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0O1xuICAgIGJvcmRlci1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCAmLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gU21hbGwgY2hlY2tib3hlc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstcmFkaW9zLS1zbWFsbCB7XG4gICAgJGlucHV0LW9mZnNldDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZSkgLyAyO1xuXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIFNoaWZ0IHRoZSB0b3VjaCB0YXJnZXQgaW50byB0aGUgbGVmdCBtYXJnaW4gc28gdGhhdCB0aGUgdmlzaWJsZSBlZGdlIG9mXG4gICAgLy8gdGhlIGNvbnRyb2wgaXMgYWxpZ25lZFxuICAgIC8vXG4gICAgLy8gICDilIZXaGljaCBjb2xvdXIgaXMgeW91ciBmYXZvdXJpdGU/XG4gICAgLy8gIOKUjOKUhuKUgOKUgOKUgOKUkFxuICAgIC8vICDilILilIYoKSDilIIgUHVycGxlXG4gICAgLy8gIOKUlOKUhuKWsuKUgOKUgOKUmFxuICAgIC8vICDilrLilIbilJTilIAgUmFkaW8gcHNldWRvIGVsZW1lbnQsIGFsaWduZWQgd2l0aCBtYXJnaW5cbiAgICAvLyAg4pSU4pSA4pSA4pSAIFRvdWNoIHRhcmdldCAoaW52aXNpYmxlIGlucHV0KSwgc2hpZnRlZCBpbnRvIHRoZSBtYXJnaW5cbiAgICAuZ292dWstcmFkaW9zX19pbnB1dCB7XG4gICAgICBtYXJnaW4tbGVmdDogJGlucHV0LW9mZnNldCAqIC0xO1xuICAgIH1cblxuICAgIC5nb3Z1ay1yYWRpb3NfX2xhYmVsIHtcbiAgICAgIC8vIENyZWF0ZSBhIHRpbnkgc3BhY2UgYmV0d2VlbiB0aGUgc21hbGwgcmFkaW8gaG92ZXIgc3RhdGUgc28gdGhhdCBpdFxuICAgICAgLy8gZG9lc24ndCBjbGFzaCB3aXRoIHRoZSBsYWJlbFxuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgfVxuXG4gICAgLy8gKCApIFJhZGlvIHJpbmdcbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY29udHJvbCBbMV0sIHZlcnRpY2FsbHkgY2VudGVyaW5nIGl0IHdpdGhpbiB0aGVcbiAgICAvLyB0b3VjaCB0YXJnZXQgWzJdXG4gICAgLy8gTGVmdCBoZXJlIGlzIDAgYmVjYXVzZSB3ZSd2ZSBzaGlmdGVkIHRoZSBpbnB1dCBpbnRvIHRoZSBsZWZ0IG1hcmdpblxuICAgIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgdG9wOiAkaW5wdXQtb2Zmc2V0OyAvLyAyXG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6ICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZTsgLy8gMVxuICAgICAgaGVpZ2h0OiAkZ292dWstc21hbGwtcmFkaW9zLXNpemU7IC8vIDFcbiAgICB9XG5cbiAgICAvLyAg4oCiICBSYWRpbyBidXR0b25cbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgJ2J1dHRvbicgYW5kIGNlbnRlciBpdCB3aXRoaW4gdGhlIHJpbmdcbiAgICAuZ292dWstcmFkaW9zX19sYWJlbDo6YWZ0ZXIge1xuICAgICAgJHJhZGlvLWJ1dHRvbi1zaXplOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgICAvLyBUaGUgc2FtZSBjYWxjdWxhdGlvbiBhcyBub3JtYWwgcmFkaW8gYnV0dG9ucyBidXQgcmVkdWNlIHRoZSBib3JkZXIgd2lkdGhcbiAgICAgIHRvcDogKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSk7XG4gICAgICBsZWZ0OiAoKCgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLyAyKSAtICRyYWRpby1idXR0b24tc2l6ZSkgLSAkaW5wdXQtb2Zmc2V0KTtcbiAgICAgIGJvcmRlci13aWR0aDogJHJhZGlvLWJ1dHRvbi1zaXplO1xuICAgIH1cblxuICAgIC8vIEZpeCBwb3NpdGlvbiBvZiBoaW50IHdpdGggc21hbGwgcmFkaW9zXG4gICAgLy9cbiAgICAvLyBEbyBub3QgdXNlIGhpbnRzIHdpdGggc21hbGwgcmFkaW9zIOKAkyBiZWNhdXNlIHRoZXkncmUgd2l0aGluIHRoZSBpbnB1dFxuICAgIC8vIHdyYXBwZXIgdGhleSB0cmlnZ2VyIHRoZSBob3ZlciBzdGF0ZSwgYnV0IGNsaWNraW5nIHRoZW0gZG9lc24ndCBhY3R1YWxseVxuICAgIC8vIGFjdGl2YXRlIHRoZSBjb250cm9sLlxuICAgIC8vXG4gICAgLy8gKElmIHlvdSBkbyB1c2UgdGhlbSwgdGhleSB3b24ndCBsb29rIGNvbXBsZXRlbHkgYnJva2VuLi4uIGJ1dCBzZXJpb3VzbHksXG4gICAgLy8gZG9uJ3QgdXNlIHRoZW0pXG4gICAgLmdvdnVrLXJhZGlvc19faGludCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICgkZ292dWstc21hbGwtcmFkaW9zLXNpemUgKyAkaW5wdXQtb2Zmc2V0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjb25kaXRpb25hbCByZXZlYWxzIHdpdGggc21hbGwgcmFkaW9zXG4gICAgLmdvdnVrLXJhZGlvc19fY29uZGl0aW9uYWwge1xuICAgICAgJG1hcmdpbi1sZWZ0OiAoJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogKCRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRpbnB1dC1vZmZzZXQpIC0gKCRtYXJnaW4tbGVmdCArICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGgpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1yYWRpb3NfX2RpdmlkZXIge1xuICAgICAgd2lkdGg6ICRnb3Z1ay1zbWFsbC1yYWRpb3Mtc2l6ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgc3RhdGUgZm9yIHNtYWxsIHJhZGlvcy5cbiAgICAvL1xuICAgIC8vIFdlIHVzZSBhIGhvdmVyIHN0YXRlIGZvciBzbWFsbCByYWRpb3MgYmVjYXVzZSB0aGUgdG91Y2ggdGFyZ2V0IHNpemVcbiAgICAvLyBpcyBzbyBtdWNoIGxhcmdlciB0aGFuIHRoZWlyIHZpc2libGUgc2l6ZSwgYW5kIHNvIHdlIG5lZWQgdG8gcHJvdmlkZVxuICAgIC8vIGZlZWRiYWNrIHRvIHRoZSB1c2VyIGFzIHRvIHdoaWNoIHJhZGlvIHRoZXkgd2lsbCBzZWxlY3Qgd2hlbiB0aGVpclxuICAgIC8vIGN1cnNvciBpcyBvdXRzaWRlIG9mIHRoZSB2aXNpYmxlIGFyZWEuXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLy8gRm9yY2VkIGNvbG91cnMgbW9kZXMgdGVuZCB0byBpZ25vcmUgYm94LXNoYWRvdy5cbiAgICAgIC8vIEFwcGx5IGFuIG91dGxpbmUgZm9yIHRob3NlIG1vZGVzIHRvIHVzZSBpbnN0ZWFkLlxuICAgICAgb3V0bGluZTogJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCBkYXNoZWQgdHJhbnNwYXJlbnQ7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMXB4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQmVjYXVzZSB3ZSd2ZSBvdmVycmlkZGVuIHRoZSBib3JkZXItc2hhZG93IHByb3ZpZGVkIGJ5IHRoZSBmb2N1cyBzdGF0ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIHJlZGVmaW5lIHRoYXQgdG9vLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIHR3byBib3ggc2hhZG93cywgb25lIHRoYXQgcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGZvY3VzIHN0YXRlIFsxXVxuICAgIC8vIGFuZCBhbm90aGVyIHRoYXQgdGhlbiBhcHBsaWVzIHRoZSBob3ZlciBzdGF0ZSBbMl0uXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpmb2N1cyArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLy8gU2V0IGRpZmZlcmVudCBIQ00gY29sb3VyIHdoZW4gd2UgaGF2ZSBib3RoIGhvdmVyL2ZvY3VzIGFwcGxpZWQgYXQgb25jZVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIG91dGxpbmUtY29sb3I6IEhpZ2hsaWdodDtcbiAgICAgIH1cbiAgICAgIC8vIHByZXR0aWVyLWlnbm9yZVxuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyIC8vIDEsXG4gICAgICAgIDAgMCAwICRnb3Z1ay1ob3Zlci13aWR0aCAkZ292dWstaG92ZXItY29sb3VyOyAvLyAyXG4gICAgfVxuXG4gICAgLy8gRm9yIGRldmljZXMgdGhhdCBleHBsaWNpdGx5IGRvbid0IHN1cHBvcnQgaG92ZXIsIGRvbid0IHByb3ZpZGUgYSBob3ZlclxuICAgIC8vIHN0YXRlIChlLmcuIG9uIHRvdWNoIGRldmljZXMgbGlrZSBpT1MpLlxuICAgIC8vXG4gICAgLy8gV2UgY2FuJ3QgdXNlIGBAbWVkaWEgKGhvdmVyOiBob3ZlcilgIGJlY2F1c2Ugd2Ugd291bGRuJ3QgZ2V0IHRoZSBob3ZlclxuICAgIC8vIHN0YXRlIGluIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBgQG1lZGlhIChob3ZlcilgIChsaWtlIEludGVybmV0XG4gICAgLy8gRXhwbG9yZXIpIOKAkyBzbyB3ZSBoYXZlIHRvICd1bmRvJyB0aGUgaG92ZXIgc3RhdGUgaW5zdGVhZC5cbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSwgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbTpob3ZlciAuZ292dWstcmFkaW9zX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstcmFkaW9zX19pdGVtOmhvdmVyIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1yYWRpb3MtZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X2luZGV4LnNjc3MubWFwICovXG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NlbGVjdFwiKSB7XG4gIC5nb3Z1ay1zZWxlY3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIC8vIFRoaXMgbWluLXdpZHRoIHdhcyBjaG9zZW4gYmVjYXVzZTpcbiAgICAvLyAtIGl0IG1ha2VzIHRoZSBTZWxlY3Qgd2lkZXIgdGhhbiBpdCBpcyB0YWxsICh3aGljaCBpcyB3aGF0IHVzZXJzIGV4cGVjdClcbiAgICAvLyAtIDExLjVlbSBtYXRjaGVzIHRoZSAnbGVuZ3RoLTEwJyB2YXJpYW50IG9mIHRoZSBpbnB1dCBjb21wb25lbnRcbiAgICAvLyAtIGl0IGZpdHMgY29tZm9ydGFibHkgb24gc2NyZWVucyBhcyBuYXJyb3cgYXMgMjQwcHggd2lkZVxuICAgIG1pbi13aWR0aDogMTEuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGdvdnVrLXB4LXRvLXJlbSg0MHB4KTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG5cbiAgICAvLyBEZWZhdWx0IHVzZXIgYWdlbnQgY29sb3VycyBmb3Igc2VsZWN0cyBjYW4gaGF2ZSBsb3cgY29udHJhc3QsXG4gICAgLy8gYW5kIG1heSBsb29rIGRpc2FibGVkICgjMjQzNSlcbiAgICBjb2xvcjogJGdvdnVrLXRleHQtY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIEVuc3VyZSBvdXRsaW5lIGFwcGVhcnMgb3V0c2lkZSBvZiB0aGUgZWxlbWVudFxuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICAvLyBEb3VibGUgdGhlIGJvcmRlciBieSBhZGRpbmcgaXRzIHdpZHRoIGFnYWluLiBVc2UgYGJveC1zaGFkb3dgIHRvIGRvXG4gICAgICAvLyB0aGlzIGluc3RlYWQgb2YgY2hhbmdpbmcgYGJvcmRlci13aWR0aGAgKHdoaWNoIGNoYW5nZXMgZWxlbWVudCBzaXplKVxuICAgICAgLy8gYW5kIHNpbmNlIGBvdXRsaW5lYCBpcyBhbHJlYWR5IHVzZWQgZm9yIHRoZSB5ZWxsb3cgZm9jdXMgc3RhdGUuXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc2VsZWN0IG9wdGlvbjphY3RpdmUsXG4gIC5nb3Z1ay1zZWxlY3Qgb3B0aW9uOmNoZWNrZWQsXG4gIC5nb3Z1ay1zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gIH1cblxuICAuZ292dWstc2VsZWN0LS1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc2VydmljZS1uYXZpZ2F0aW9uXCIpIHtcbiAgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1hY3RpdmUtbGluay1ib3JkZXItd2lkdGg6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYmFja2dyb3VuZDogJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1ib3JkZXItY29sb3VyOiAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAvLyBXZSBtYWtlIHRoZSBsaW5rIGNvbG91ciBhIGxpdHRsZSBkYXJrZXIgdGhhbiBub3JtYWwgaGVyZSBzbyB0aGF0IGl0IGhhc1xuICAvLyBiZXR0ZXIgcGVyY2VwdHVhbCBjb250cmFzdCB3aXRoIHRoZSBuYXZpZ2F0aW9uIGJhY2tncm91bmQuXG4gICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tbGluay1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1saW5rLWNvbG91ciwgMTAlKTtcblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1ib3JkZXItY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYmFja2dyb3VuZDtcbiAgfVxuXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBuYXYgaXRlbXMgYW5kIHRoZSBzZXJ2aWNlIG5hbWUsIHRoZXlcbiAgLy8gZW5zdXJlIHRoYXQgYm90aCBvZiB0aGVtIHJlbWFpbiB2ZXJ0aWNhbGx5IGFsaWduZWQgd2l0aCBvbmUgYW5vdGhlclxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19pdGVtLFxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19zZXJ2aWNlLW5hbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXI6IDAgc29saWQgJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1saW5rLWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg0KSAwO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCAkZGlyZWN0aW9uOiByaWdodCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9faXRlbS0tYWN0aXZlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLy8gTmVnYXRpdmUgb2Zmc2V0IHRoZSBsZWZ0IG1hcmdpbiBzbyB3ZSBjYW4gcGxhY2UgYSBjdXJyZW50IHBhZ2UgaW5kaWNhdG9yXG4gICAgICAvLyB0byB0aGUgbGVmdCB3aXRob3V0IG1pc2FsaWduaW5nIHRoZSBsaXN0IGl0ZW0gdGV4dC5cbiAgICAgIG1hcmdpbi1sZWZ0OiAoKGdvdnVrLXNwYWNpbmcoMikgKyAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWFjdGl2ZS1saW5rLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogJGdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbi1hY3RpdmUtbGluay1ib3JkZXItd2lkdGg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCkgLSAkZ292dWstc2VydmljZS1uYXZpZ2F0aW9uLWFjdGl2ZS1saW5rLWJvcmRlci13aWR0aDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tYWN0aXZlLWxpbmstYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcblxuICAgICY6bm90KDpob3Zlcik6bm90KDpmb2N1cykge1xuICAgICAgLy8gV2Ugc2V0IHRoZSBjb2xvdXIgaGVyZSBhcyB3ZSBkb24ndCB3YW50IHRvIG92ZXJyaWRlIHRoZSBob3ZlciBvclxuICAgICAgLy8gZm9jdXMgY29sb3Vyc1xuICAgICAgY29sb3I6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tbGluay1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLy9cbiAgLy8gU2VydmljZSBuYW1lIHNwZWNpZmljIGNvZGVcbiAgLy9cblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19zZXJ2aWNlLW5hbWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC8vIEFubm95aW5nbHkgdGhpcyByZXF1aXJlcyBhIGNvbXBvdW5kIHNlbGVjdG9yIGluIG9yZGVyIHRvIG92ZXJjb21lIHRoZVxuICAvLyBzcGVjaWZpY2l0eSBvZiB0aGUgb3RoZXIgbGluayBjb2xvdXIgb3ZlcnJpZGUgd2UncmUgZG9pbmdcbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9fc2VydmljZS1uYW1lIC5nb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC8vXG4gIC8vIE5hdmlnYXRpb24gbGlzdCBzcGVjaWZpYyBjb2RlXG4gIC8vXG5cbiAgLmdvdnVrLXNlcnZpY2UtbmF2aWdhdGlvbl9fdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luOiBnb3Z1ay1zcGFjaW5nKDIpIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICRnb3Z1ay1zZXJ2aWNlLW5hdmlnYXRpb24tbGluay1jb2xvdXI7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1zaGFwZS1hcnJvdygkZGlyZWN0aW9uOiBkb3duLCAkYmFzZTogMTBweCwgJGRpc3BsYXk6IGlubGluZS1ibG9jayk7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuXG4gICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogdXAsICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhlIGJ1dHRvbiBzdGF5cyBoaWRkZW4gaWYgdGhlIGhpZGRlbiBhdHRyaWJ1dGUgaXMgcHJlc2VudFxuICAgICZbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC8vIElmIHdlIGhhdmUgYm90aCBhIHNlcnZpY2UgbmFtZSBhbmQgbmF2aWdhdGlvbiB0b2dnbGUsIHJlbW92ZSB0aGVcbiAgICAvLyBtYXJnaW4tdG9wIHNvIHRoYXQgdGhlcmUgaXNuJ3QgYSBidW5jaCBvZiBzcGFjZSBiZXR3ZWVuIHRoZW1cbiAgICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19zZXJ2aWNlLW5hbWUgKyAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX193cmFwcGVyICYge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgLy8gTWFrZSB0aGUgbmF2aWdhdGlvbiBsaXN0IGEgZmxleGJveC4gRG9pbmcgc28gcmVzb2x2ZXMgYSBjb3VwbGUgb2ZcbiAgICAvLyBhY2Nlc3NpYmlsaXR5IHByb2JsZW1zIGNhdXNlZCBieSB0aGUgbGlzdCBpdGVtcyBiZWluZyBpbmxpbmUtYmxvY2tzOlxuICAgIC8vIC0gUmVtb3ZlcyB0aGUgZXh0cmEgd2hpdGVzcGFjZSBmcm9tIGJldHdlZW4gZWFjaCBsaXN0IGl0ZW0gdGhhdCBzY3JlZW5cbiAgICAvLyAgIHJlYWRlcnMgd291bGQgcG9pbnRsZXNzbHkgYW5ub3VuY2UuXG4gICAgLy8gLSBGaXhlcyBhbiBOVkRBIGlzc3VlIGluIEZpcmVmb3ggYW5kIENocm9tZSA8PSAxMjQgd2hlcmUgaXQgd291bGQgcmVhZFxuICAgIC8vICAgYWxsIG9mIHRoZSBsaW5rcyBhcyBhIHJ1bi1vbiBzZW50ZW5jZS5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgLy8gSG93ZXZlci4uLiBJRTExIHRvdGFsbHkgdHJpcHMgb3ZlciBmbGV4Ym94IGFuZCBkb2Vzbid0IHdyYXAgYW55dGhpbmcsXG4gICAgICAvLyBtYWtpbmcgYWxsIG9mIHRoZSBpdGVtcyBpbnRvIGEgc2luZ2xlLCBob3Jpem9udGFsbHkgc2Nyb2xsaW5nIHJvdyxcbiAgICAgIC8vIHdoaWNoIGlzIG5vIGdvb2QuIFRoaXMgQ1NTIGhhY2sgcmVtb3ZlcyB0aGUgZmxleGJveCBkZWZpbml0aW9uIGZvclxuICAgICAgLy8gSUUgMTAgJiAxMSwgcmV2ZXJ0aW5nIGl0IHRvIHRoZSBmbGF3ZWQsIGJ1dCBPSywgbm9uLWZsZXhib3ggdmVyc2lvbi5cbiAgICAgIC8vXG4gICAgICAvLyBDU1MgaGFjayB0YWtlbiBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzExMTczMTA2L2FwcGx5LXN0eWxlLW9ubHktb24taWUjYW5zd2VyLTM2NDQ4ODYwXG4gICAgICAvLyB3aGljaCBhbHNvIGluY2x1ZGVzIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIHdvcmtzXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGlzIGEgPHN0cm9uZz4gZWxlbWVudCB0aGF0IGlzIHVzZWQgYXMgYSBmYWxsYmFjayBtZWNoYW5pc20gZm9yXG4gIC8vIHZpc3VhbGx5IGluZGljYXRpbmcgdGhlIGN1cnJlbnQgcGFnZSBpbiBzY2VuYXJpb3Mgd2hlcmUgQ1NTIGlzbid0XG4gIC8vIGF2YWlsYWJsZS4gV2UgZG9uJ3QgYWN0dWFsbHkgd2FudCBpdCB0byBiZSBib2xkIG5vcm1hbGx5LCBzbyBzZXQgaXQgdG9cbiAgLy8gaW5oZXJpdCB0aGUgcGFyZW50IGZvbnQtd2VpZ2h0LlxuICAuZ292dWstc2VydmljZS1uYXZpZ2F0aW9uX19hY3RpdmUtZmFsbGJhY2sge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9za2lwLWxpbmtcIikge1xuICAuZ292dWstc2tpcC1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstZGVjb3JhdGlvbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAxNik7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDIpIGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICAvLyBSZXNwZWN0ICdkaXNwbGF5IGN1dG91dCcgc2FmZSBhcmVhIChhdm9pZHMgbm90Y2hlcyBhbmQgcm91bmRlZCBjb3JuZXJzKVxuICAgIEBzdXBwb3J0cyAocGFkZGluZzogdW5xdW90ZShcIm1heChjYWxjKDBweCkpXCIpKSB7XG4gICAgICAkcGFkZGluZy1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3tnb3Z1ay1zcGFjaW5nKDMpfSArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAgICRwYWRkaW5nLXNhZmUtYXJlYS1sZWZ0OiBjYWxjKCN7Z292dWstc3BhY2luZygzKX0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcblxuICAgICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBwYWRkaW5nLCBkZWZhdWx0IG9yIHdpdGggc2FmZSBhcmVhXG4gICAgICAvLyBFc2NhcGVkIGR1ZSB0byBTYXNzIG1heCgpIHZzLiBDU1MgbmF0aXZlIG1heCgpXG4gICAgICBwYWRkaW5nLXJpZ2h0OiB1bnF1b3RlKFwibWF4KCN7Z292dWstc3BhY2luZygzKX0sICN7JHBhZGRpbmctc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHVucXVvdGUoXCJtYXgoI3tnb3Z1ay1zcGFjaW5nKDMpfSwgI3skcGFkZGluZy1zYWZlLWFyZWEtbGVmdH0pXCIpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG5cbiAgICAgIC8vIFVuZG8gdW53YW50ZWQgY2hhbmdlcyB3aGVuIGdsb2JhbCBzdHlsZXMgYXJlIGVuYWJsZWRcbiAgICAgIEBpZiAkZ292dWstZ2xvYmFsLXN0eWxlcyB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstZGVjb3JhdGlvbjtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstc2tpcC1saW5rLWZvY3VzZWQtZWxlbWVudCB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBSZW1vdmUgdGhlIG5hdGl2ZSB2aXNpYmxlIGZvY3VzIGluZGljYXRvciB3aGVuIHRoZSBlbGVtZW50IGlzXG4gICAgICAvLyBwcm9ncmFtbWF0aWNhbGx5IGZvY3VzZWQuXG4gICAgICAvL1xuICAgICAgLy8gV2Ugc2V0IHRoZSBmb2N1cyBvbiB0aGUgbGlua2VkIGVsZW1lbnQgKHRoaXMgaXMgdXN1YWxseSB0aGUgPG1haW4+XG4gICAgICAvLyBlbGVtZW50KSB3aGVuIHRoZSBza2lwIGxpbmsgaXMgYWN0aXZhdGVkIHRvIGltcHJvdmUgc2NyZWVuIHJlYWRlclxuICAgICAgLy8gYW5ub3VuY2VtZW50cy4gSG93ZXZlciwgd2UgcmVtb3ZlIHRoZSB2aXNpYmxlIGZvY3VzIGluZGljYXRvciBmcm9tIHRoZVxuICAgICAgLy8gbGlua2VkIGVsZW1lbnQgYmVjYXVzZSB0aGUgdXNlciBjYW5ub3QgaW50ZXJhY3Qgd2l0aCBpdC5cbiAgICAgIC8vXG4gICAgICAvLyBBIHJlbGF0ZWQgZGlzY3Vzc2lvbjogaHR0cHM6Ly9naXRodWIuY29tL3czYy93Y2FnL2lzc3Vlcy8xMDAxXG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9hY2Nlc3NpYmlsaXR5XG4vLy8vXG5cbi8vLyBIZWxwZXIgZnVuY3Rpb24gY29udGFpbmluZyB0aGUgY29tbW9uIGNvZGUgZm9yIHRoZSBmb2xsb3dpbmcgdHdvIG1peGluc1xuLy8vXG4vLy8gQGxpbmsgaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbi8vLyAgIC0gSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHksIEpvbmF0aGFuIFNub29rLCBGZWJydWFyeSAyMDExXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi85ZjEzNjk1ZDIxZmY5MmM1NWM3OGRmYTlmMTZiYjAyYTFiNmU5MTFmL3NyYy9jc3MvbWFpbi5jc3MjTDEyMS1MMTU4XG4vLy8gICAtIGg1YnAvaHRtbDUtYm9pbGVycGxhdGUgLSBUaGFua3MhXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW3RydWVdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstdmlzdWFsbHktaGlkZS1jb250ZW50KCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIHdpZHRoOiAxcHggaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIGhlaWdodDogMXB4IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAvLyBJZiBtYXJnaW4gaXMgc2V0IHRvIGEgbmVnYXRpdmUgdmFsdWUgaXQgY2FuIGNhdXNlIHRleHQgdG8gYmUgYW5ub3VuY2VkIGluXG4gIC8vIHRoZSB3cm9uZyBvcmRlciBpbiBWb2ljZU92ZXIgZm9yIE9TWFxuICBtYXJnaW46IDAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIHBhZGRpbmc6IDAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbiBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAvLyBgY2xpcGAgaXMgbmVlZGVkIGZvciBJRTExIHN1cHBvcnRcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIGJvcmRlcjogMCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAvLyBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICAvLyBjYXVzZXMgY29udGVudCB0byB3cmFwIDEgd29yZCBwZXIgbGluZTpcbiAgLy8gaHR0cHM6Ly9tZWRpdW0uY29tL0BqZXNzZWJlYWNoL2Jld2FyZS1zbXVzaGVkLW9mZi1zY3JlZW4tYWNjZXNzaWJsZS10ZXh0LTU5NTJhNGMyY2JmZVxuICB3aGl0ZS1zcGFjZTogbm93cmFwIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIC8vIFByZXZlbnQgdXNlcnMgZnJvbSBzZWxlY3Rpbmcgb3IgY29weWluZyB2aXN1YWxseS1oaWRkZW4gdGV4dC4gVGhpcyBwcmV2ZW50c1xuICAvLyBhIHVzZXIgdW5pbnRlbnRpb25hbGx5IGNvcHlpbmcgbW9yZSB0ZXh0IHRoYW4gdGhleSBpbnRlbmRlZCBhbmQgbmVlZGluZyB0b1xuICAvLyBtYW51YWxseSB0cmltIGl0IGRvd24gYWdhaW4uXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbdHJ1ZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdmlzdWFsbHktaGlkZGVuKCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgQGluY2x1ZGUgX2dvdnVrLXZpc3VhbGx5LWhpZGUtY29udGVudCgkaW1wb3J0YW50OiAkaW1wb3J0YW50KTtcblxuICAvLyBBYnNvbHV0ZSBwb3NpdGlvbmluZyBoYXMgdGhlIHVuaW50ZW5kZWQgY29uc2VxdWVuY2Ugb2YgcmVtb3ZpbmcgYW55XG4gIC8vIHdoaXRlc3BhY2Ugc3Vycm91bmRpbmcgdmlzdWFsbHkgaGlkZGVuIHRleHQgZnJvbSB0aGUgYWNjZXNzaWJpbGl0eSB0cmVlLlxuICAvLyBJbnNlcnQgYSBzcGFjZSBjaGFyYWN0ZXIgYmVmb3JlIGFuZCBhZnRlciB2aXN1YWxseSBoaWRkZW4gdGV4dCB0byBzZXBhcmF0ZVxuICAvLyBpdCBmcm9tIGFueSB2aXNpYmxlIHRleHQgc3Vycm91bmRpbmcgaXQuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDAwYTBcIjtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMDBhMFwiO1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnMgd2hpbHN0XG4vLy8gYWxsb3dpbmcgdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNlZCB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkIChlLmcuXG4vLy8gZm9yIHRoZSBza2lwIGxpbmspXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW3RydWVdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGUoJGltcG9ydGFudDogdHJ1ZSkge1xuICAvLyBJRSAxMSBkb2Vzbid0IHN1cHBvcnQgdGhlIGNvbWJpbmVkIGA6bm90KDphY3RpdmUsIDpmb2N1cylgIHN5bnRheC5cbiAgJjpub3QoOmFjdGl2ZSk6bm90KDpmb2N1cykge1xuICAgIEBpbmNsdWRlIF9nb3Z1ay12aXN1YWxseS1oaWRlLWNvbnRlbnQoJGltcG9ydGFudDogJGltcG9ydGFudCk7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3Zpc3VhbGx5LWhpZGRlbi5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zdW1tYXJ5LWxpc3RcIikge1xuICAuZ292dWstc3VtbWFyeS1saXN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IC8vIFJlcXVpcmVkIHRvIGFsbG93IHVzIHRvIHdyYXAgd29yZHMgdGhhdCBvdmVyZmxvdy5cbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgfVxuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93IHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSByaWdodCBwYWRkaW5nIGZyb20gdGhlIGxhc3QgY29sdW1uIGluIHRoZSByb3dcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93Om5vdCguZ292dWstc3VtbWFyeS1saXN0X19yb3ctLW5vLWFjdGlvbnMpID4gOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAvLyBQcm92aWRlIGFuIGVtcHR5ICdjZWxsJyBmb3Igcm93cyB0aGF0IGRvbid0IGhhdmUgYWN0aW9ucyDigJMgb3RoZXJ3aXNlIHRoZVxuICAvLyBib3R0b20gYm9yZGVyIGlzIG5vdCBkcmF3biBmb3IgdGhhdCBwYXJ0IG9mIHRoZSByb3cgaW4gc29tZSBicm93c2Vycy5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93LS1uby1hY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSB7XG4gICAgLy8gQXV0b21hdGljIHdyYXBwaW5nIGZvciB1bmJyZWFrYWJsZSB0ZXh0IChlLmcuIFVSTHMpXG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyAvLyBGYWxsYmFjayBmb3Igb2xkZXIgYnJvd3NlcnMgb25seVxuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXkge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSA+IHAge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGRlZmF1bHQgdXNlciBhZ2VudCBzdHlsZXNcbiAgICBwYWRkaW5nOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSB7XG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG5cbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhcmdlIGdyb3VwcyBvZiBhY3Rpb24gbGlua3MgbWF5IHdyYXAgb250byBtdWx0aXBsZSBsaW5lcy4gQmVjYXVzZSB0aGUgbGlua1xuICAvLyBmb2N1cyBzdHlsZXMgYXJlIGFwcGxpZWQgb3V0c2lkZSBvZiB0aGUgbGluaydzIGJvdW5kaW5nIGJveCwgdGhlcmUgYXJlXG4gIC8vIHNpdHVhdGlvbnMgd2hlcmUgdGhlIGZvY3VzIHN0eWxlIG9uIGEgbGluayBjYW4gYmUgb3ZlcmxhcHBlZCBieSBzdWJzZXF1ZW50XG4gIC8vIGxpbmtzLiBXZSBkb24ndCB3YW50IHRoaXMsIHNvIGxldCdzIGNyZWF0ZSBhIG5ldyBzdGFja2luZyBjb250ZXh0IG9uIGZvY3VzXG4gIC8vIHNvIHRoZSBsaW5rIGFsd2F5cyBhcHBlYXJzIHRvIGJlICdvbiB0b3AnLlxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbSAuZ292dWstbGluazpmb2N1cyB7XG4gICAgaXNvbGF0aW9uOiBpc29sYXRlO1xuICB9XG5cbiAgLy8gTm8gYm9yZGVyIG9uIGVudGlyZSBzdW1tYXJ5IGxpc3RcbiAgLmdvdnVrLXN1bW1hcnktbGlzdC0tbm8tYm9yZGVyIHtcbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC8vIEluY3JlYXNlIHBhZGRpbmcgYnkgMXB4IHRvIGNvbXBlbnNhdGUgZm9yICdtaXNzaW5nJyBib3JkZXJcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKSArIDFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBObyBib3JkZXIgb24gc3BlY2lmaWMgcm93c1xuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3ctLW5vLWJvcmRlciB7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLy8gSW5jcmVhc2UgcGFkZGluZyBieSAxcHggdG8gY29tcGVuc2F0ZSBmb3IgJ21pc3NpbmcnIGJvcmRlclxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlLFxuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpICsgMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEFkZGl0aW9uYWwgYmxvY2sgZm9yIHRoZSBzdW1tYXJ5IGNhcmRcbiAgLmdvdnVrLXN1bW1hcnktY2FyZCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1jYXJkX190aXRsZS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gRW5zdXJlcyB0aGUgY2FyZCBoZWFkZXIgYXBwZWFycyBzZXBhcmF0ZSB0byB0aGUgc3VtbWFyeSBsaXN0IGluIGZvcmNlZFxuICAgIC8vIGNvbG91cnMgbW9kZVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IFwidGFibGV0XCIpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMykgZ292dWstc3BhY2luZyg0KTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1jYXJkX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbjogZ292dWstc3BhY2luZygxKSBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMikgMDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiBcInRhYmxldFwiKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX2FjdGlvbnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcm93LWdhcDogMTBweDtcbiAgICBtYXJnaW46IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAganVzdGlmeS1jb250ZW50OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX2FjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMCBnb3Z1ay1zcGFjaW5nKDIpIDAgMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IFwidGFibGV0XCIpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAvLyBXZSB1c2UgdGhlIGZvbGxvd2luZyBtZWRpYSBxdWVyeSB0byB0YXJnZXQgSUUxMSBhbmQgMTAgb25seSB0byBhZGQgbWFyZ2luXG4gICAgLy8gYmV0d2VlbiBhY3Rpb25zLlxuICAgIC8vXG4gICAgLy8gV2UgZG8gdGhpcyBiZWNhdXNlIHdlJ3JlIHVzaW5nIHJvdy1nYXAgdG8gY3JlYXRlIHNwYWNlIGJldHdlZW4gYWN0aW9ucyBvblxuICAgIC8vIG1vcmUgZXZlcmdyZWVuIGJyb3dzZXJzIHdoaWNoIElFIGRvZXNuJ3Qgc3VwcG9ydC4gQHN1cHBvcnRzIGN1cnJlbnRseSBpc24ndFxuICAgIC8vIGEgdmlhYmxlIHNvbHV0aW9uLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3czYy9jc3N3Zy1kcmFmdHMvaXNzdWVzLzM1NTkuXG4gICAgLy9cbiAgICAvLyBTb2x1dGlvbiB0YWtlbiBmcm9tIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzExMTczMTA2L2FwcGx5LXN0eWxlLW9ubHktb24taWUjYW5zd2VyLTM2NDQ4ODYwXG4gICAgLy8gd2hpY2ggYWxzbyBpbmNsdWRlcyBhbiBleHBsYW5hdGlvbiBvZiB3aHkgdGhpcyB3b3Jrc1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWNhcmRfX2FjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cblxuICAgIC8vIFNlZSBhYm92ZSBjb21tZW50IGZvciB3aHkgdGhpcyBpcyBoZXJlXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktY2FyZF9fY29udGVudCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDMpIDA7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogXCJ0YWJsZXRcIikge1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIH1cblxuICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3c6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFibGVcIikge1xuICAuZ292dWstdGFibGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIH1cblxuICBAaWYgJGdvdnVrLW5ldy10eXBvZ3JhcGh5LXNjYWxlIHtcbiAgICAvLyBNb2RpZmllciBmb3IgdGFibGVzIHdpdGggYSBsb3Qgb2YgZGF0YS4gVGFibGVzIHdpdGggbG90cyBvZiBkYXRhIGJlbmVmaXRcbiAgICAvLyBmcm9tIGEgc21hbGxlciBmb250IHNpemUgb24gc21hbGwgc2NyZWVucy5cbiAgICAuZ292dWstdGFibGUtLXNtYWxsLXRleHQtdW50aWwtdGFibGV0IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXRhYnVsYXItbnVtYmVycztcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyLS1udW1lcmljLFxuICAuZ292dWstdGFibGVfX2NlbGwtLW51bWVyaWMge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXI6bGFzdC1jaGlsZCxcbiAgLmdvdnVrLXRhYmxlX19jZWxsOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG5cbiAgICBkaXNwbGF5OiB0YWJsZS1jYXB0aW9uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICAvLyBNb2RpZmllcnMgdGhhdCBtYWtlIGNhcHRpb25zIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS14bCxcbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS1sLFxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLW0ge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDQ4KTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udC1zaXplKCRzaXplOiAzNik7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZTogMjQpO1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWJzXCIpIHtcbiAgLmdvdnVrLXRhYnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDEsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgLy8gU2V0IHRoZSBzaXplIGFuZCB3ZWlnaHQgYWdhaW4gYmVjYXVzZSB0aGlzIGVsZW1lbnQgaXMgYSBoZWFkaW5nIGFuZCB0aGVcbiAgICAvLyB1c2VyIGFnZW50IGZvbnQgc2l6ZSBvdmVycmlkZXMgdGhlIGluaGVyaXRlZCBmb250IHNpemVcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250LXNpemUoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstdGFic19fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDUpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgICAgY29udGVudDogXCJcXDIwMTQgXCI7IC8vIFwi4oCUIFwiXG4gICAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZygtNSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190YWIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXRhYnNfX3BhbmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC8vIEdPVi5VSyBGcm9udGVuZCBKYXZhU2NyaXB0IGVuYWJsZWRcbiAgLmdvdnVrLWZyb250ZW5kLXN1cHBvcnRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZyg0KTtcblxuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtLS1zZWxlY3RlZCB7XG4gICAgICAgICRib3JkZXItd2lkdGg6IDFweDtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygtMSk7XG5cbiAgICAgICAgLy8gQ29tcGVuc2F0aW9uIGZvciBib3JkZXIgKG90aGVyd2lzZSB3ZSBnZXQgYSBzaGlmdClcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRib3JkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpIC0gJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KSAtICRib3JkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpICsgJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpIC0gJGJvcmRlci13aWR0aDtcblxuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICAgICAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190YWIge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19wYW5lbCB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDAsIFwiYm90dG9tXCIpO1xuICAgICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDYpIGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuXG4gICAgICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fcGFuZWwtLWhpZGRlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGltcG9ydCBcIi4uL3RhZy9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3Rhc2stbGlzdFwiKSB7XG4gICRnb3Z1ay10YXNrLWxpc3QtaG92ZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJsaWdodC1ncmV5XCIpO1xuXG4gIC5nb3Z1ay10YXNrLWxpc3Qge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICB9XG5cbiAgLy8gVGhpcyB1c2VzIHRhYmxlIGxheW91dCBzbyB0aGF0IHRoZSB0YXNrIG5hbWUgYW5kIHN0YXR1cyBhbHdheXMgYXBwZWFyXG4gIC8vIHNpZGUtYnktc2lkZSwgd2l0aCB0aGUgd2lkdGggb2YgZWFjaCAnY29sdW1uJyBiZWluZyBmbGV4aWJsZSBkZXBlbmRpbmcgdXBvblxuICAvLyB0aGUgbGVuZ3RoIG9mIHRoZSB0YXNrIG5hbWVzIGFuZCBzdGF0dXNlcy5cbiAgLy9cbiAgLy8gVGhlIHBvc2l0aW9uIGlzIHNldCB0byAncmVsYXRpdmUnIHNvIHRoYW4gYW4gYWJzb2x1dGVseS1wb3NpdGlvbmVkXG4gIC8vIHRyYW5zcGFyZW50IGVsZW1lbnQgYm94IGNhbiBiZSBhZGRlZCB3aXRoaW4gdGhlIGxpbmsgc28gdGhhdCB0aGUgd2hvbGUgcm93XG4gIC8vIGNhbiBiZSBjbGlja2FibGUuXG4gIC5nb3Z1ay10YXNrLWxpc3RfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay10YXNrLWxpc3RfX2l0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC8vIFRoaXMgY2xhc3MgaXMgYWRkZWQgdG8gdGhlIDxsaT4gZWxlbWVudHMgd2hlcmUgdGhlIHRhc2sgbmFtZSBpcyBhIGxpbmsuIFRoZVxuICAvLyBiYWNrZ3JvdW5kIGhvdmVyIGNvbG91ciBpcyBhZGRlZCB0byBoZWxwIGluZGljYXRlIHRoYXQgdGhlIHdob2xlIHJvdyBpc1xuICAvLyBjbGlja2FibGUsIHJhdGhlciB0aGFuIGp1c3QgdGhlIHZpc2libGUgbGluayB0ZXh0LlxuICAuZ292dWstdGFzay1saXN0X19pdGVtLS13aXRoLWxpbms6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRnb3Z1ay10YXNrLWxpc3QtaG92ZXItY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9fbmFtZS1hbmQtaGludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9fc3RhdHVzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygyKTtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9fc3RhdHVzLS1jYW5ub3Qtc3RhcnQteWV0IHtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIFRoaXMgYWRkcyBhbiBlbXB0eSB0cmFuc3BhcmVudCBib3ggY292ZXJpbmcgdGhlIHdob2xlIHJvdywgaW5jbHVkaW5nIHRoZVxuICAvLyB0YXNrIHN0YXR1cyBhbmQgYW55IGhpbnQgdGV4dC4gQmVjYXVzZSB0aGlzIGlzIGdlbmVyYXRlZCB3aXRoaW4gdGhlIGxpbmtcbiAgLy8gZWxlbWVudCwgdGhpcyBhbGxvd3MgdGhlIHdob2xlIGFyZWEgdG8gYmUgY2xpY2thYmxlLlxuICAuZ292dWstdGFzay1saXN0X19saW5rOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgLmdvdnVrLXRhc2stbGlzdF9faGludCB7XG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKTtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1faW5kZXguc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvd2FybmluZy10ZXh0XCIpIHtcbiAgLmdvdnVrLXdhcm5pbmctdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LWJvbGQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcblxuICAgIG1pbi13aWR0aDogMzVweDtcbiAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbi10b3A6IC03cHg7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgIH1cblxuICAgIC8vIFdoZW4gYSB1c2VyIGN1c3RvbWlzZXMgdGhlaXIgY29sb3VycyB0aGUgYmFja2dyb3VuZCBjb2xvdXIgd2lsbCBvZnRlbiBiZVxuICAgIC8vIHJlbW92ZWQuIEFkZGluZyBhIGJvcmRlciB0byB0aGUgY29tcG9uZW50IGtlZXBzIGl0J3Mgc2hhcGUgYXMgYSBjaXJjbGUuXG4gICAgYm9yZGVyOiAzcHggc29saWQgJGdvdnVrLXRleHQtY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGNvbG9yOiAkZ292dWstYm9keS1iYWNrZ3JvdW5kLWNvbG91cjtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAvLyBQcmV2ZW50IHRoZSBleGNsYW1hdGlvbiBtYXJrIGZyb20gYmVpbmcgaW5jbHVkZWQgd2hlbiB0aGUgd2FybmluZyB0ZXh0XG4gICAgLy8gaXMgY29waWVkLCBmb3IgZXhhbXBsZS5cbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAgIC8vIEltcHJvdmUgcmVuZGVyaW5nIGluIFdpbmRvd3MgSGlnaCBDb250cmFzdCBNb2RlIChFZGdlKSwgd2hlcmUgYVxuICAgIC8vIHJlYWRhYmlsaXR5IGJhY2twbGF0ZSBiZWhpbmQgdGhlIGV4Y2xhbWF0aW9uIG1hcmsgb2JzY3VyZXMgdGhlIGNpcmNsZVxuICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IG5vbmU7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoZm9yY2VkLWNvbG9yczogYWN0aXZlKSB7XG4gICAgICBib3JkZXItY29sb3I6IHdpbmRvd1RleHQ7XG4gICAgICBjb2xvcjogd2luZG93VGV4dDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay13YXJuaW5nLXRleHRfX3RleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNDVweDtcbiAgICAvLyBXaGlsZSBgPHN0cm9uZz5gIGlzIHN0eWxlZCBgYm9sZGAgb3IgYGJvbGRlcmAgYnkgdXNlci1hZ2VudHNcbiAgICAvLyB0aGlzIGNhbiBiZSByZXNldCBieSB0aGUgYXBwJ3Mgc3R5bGVzaGVldFxuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPV9pbmRleC5zY3NzLm1hcCAqL1xuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL3V0aWxpdGllcy92aXN1YWxseS1oaWRkZW5cIikge1xuICAuZ292dWstdmlzdWFsbHktaGlkZGVuIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW47XG4gIH1cblxuICAuZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuLWZvY3VzYWJsZTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdmlzdWFsbHktaGlkZGVuLnNjc3MubWFwICovXG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvZGlzcGxheVwiKSB7XG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLWRpc3BsYXktYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLWRpc3BsYXktbm9uZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgLmdvdnVrLVxcIS1kaXNwbGF5LW5vbmUtcHJpbnQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fZGlzcGxheS5zY3NzLm1hcCAqL1xuIiwiLy8vL1xuLy8vIEBncm91cCBvdmVycmlkZXNcbi8vLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vLyBEaXJlY3Rpb25zIGZvciBzcGFjaW5nXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9zcGFjaW5nLWRpcmVjdGlvbnM6IChcInRvcFwiLCBcInJpZ2h0XCIsIFwiYm90dG9tXCIsIFwibGVmdFwiKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlIHJlc3BvbnNpdmUgc3BhY2luZyBvdmVycmlkZSBjbGFzc2VzXG4vLy9cbi8vLyBHZW5lcmF0ZSBzcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXMgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eSAoZS5nLiBtYXJnaW4pXG4vLy8gZm9yIGVhY2ggcG9pbnQgaW4gdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vL1xuLy8vIEBleGFtcGxlIGNzc1xuLy8vICAuZ292dWstXFwhLW1hcmdpbi00IHtcbi8vLyAgICBtYXJnaW46IDE1cHggIWltcG9ydGFudDtcbi8vLyAgfVxuLy8vXG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbi8vLyAgICAuZ292dWstXFwhLW1hcmdpbi00IHtcbi8vLyAgICAgIG1hcmdpbjogMjBweCAhaW1wb3J0YW50O1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstZ2VuZXJhdGUtcmVzcG9uc2l2ZS1zcGFjaW5nLW92ZXJyaWRlcygkcHJvcGVydHkpIHtcbiAgLy8gRm9yIGVhY2ggcG9pbnQgaW4gdGhlIHNwYWNpbmcgc2NhbGUgKGRlZmluZWQgaW4gc2V0dGluZ3MpLCBjcmVhdGUgYW5cbiAgLy8gb3ZlcnJpZGUgdGhhdCBhZmZlY3RzIGFsbCBkaXJlY3Rpb25zLi4uXG4gIEBlYWNoICRzY2FsZS1wb2ludCwgJHNjYWxlLW1hcCBpbiAkZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlIHtcbiAgICAuZ292dWstXFwhLSN7JHByb3BlcnR5fS0jeyRzY2FsZS1wb2ludH0ge1xuICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgXCJhbGxcIiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0aGVuIGFuIG92ZXJyaWRlIGZvciBlYWNoIGluZGl2aWR1YWwgZGlyZWN0aW9uXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG4gICAgICAuZ292dWstXFwhLSN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259LSN7JHNjYWxlLXBvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHNjYWxlLXBvaW50LCAkcHJvcGVydHksICRkaXJlY3Rpb24sIHRydWUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgc3RhdGljIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3Nlc1xuLy8vXG4vLy8gR2VuZXJhdGUgc3BhY2luZyBvdmVycmlkZSBjbGFzc2VzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgKGUuZy4gbWFyZ2luKVxuLy8vIGZvciBlYWNoIHBvaW50IGluIHRoZSBub24tcmVzcG9uc2l2ZSBzcGFjaW5nIHNjYWxlLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzXG4vLy8gICAuZ292dWstXFwhLXN0YXRpYy1tYXJnaW4tNCB7XG4vLy8gICAgICBtYXJnaW46IDIwcHggIWltcG9ydGFudDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIF9nb3Z1ay1nZW5lcmF0ZS1zdGF0aWMtc3BhY2luZy1vdmVycmlkZXMoJHByb3BlcnR5KSB7XG4gIEBlYWNoICRzcGFjaW5nLXBvaW50IGluIG1hcC1rZXlzKCRnb3Z1ay1zcGFjaW5nLXBvaW50cykge1xuICAgIC5nb3Z1ay1cXCEtc3RhdGljLSN7JHByb3BlcnR5fS0jeyRzcGFjaW5nLXBvaW50fSB7XG4gICAgICAjeyRwcm9wZXJ0eX06IGdvdnVrLXNwYWNpbmcoJHNwYWNpbmctcG9pbnQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG4gICAgICAuZ292dWstXFwhLXN0YXRpYy0jeyRwcm9wZXJ0eX0tI3skZGlyZWN0aW9ufS0jeyRzcGFjaW5nLXBvaW50fSB7XG4gICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiBnb3Z1ay1zcGFjaW5nKCRzcGFjaW5nLXBvaW50KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3NwYWNpbmdcIikge1xuICBAaW5jbHVkZSBfZ292dWstZ2VuZXJhdGUtcmVzcG9uc2l2ZS1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXJlc3BvbnNpdmUtc3BhY2luZy1vdmVycmlkZXMoXCJwYWRkaW5nXCIpO1xuXG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zdGF0aWMtc3BhY2luZy1vdmVycmlkZXMoXCJtYXJnaW5cIik7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zdGF0aWMtc3BhY2luZy1vdmVycmlkZXMoXCJwYWRkaW5nXCIpO1xufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fc3BhY2luZy5zY3NzLm1hcCAqL1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3RleHQtYWxpZ25cIikge1xuICAuZ292dWstXFwhLXRleHQtYWxpZ24tbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS10ZXh0LWFsaWduLWNlbnRyZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLXRleHQtYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyojIHNvdXJjZU1hcHBpbmdVUkw9X3RleHQtYWxpZ24uc2Nzcy5tYXAgKi9cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHRcblxuICAvLyBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcbiAgLy8gdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ292dWstXFwhLWZvbnQtc2l6ZS04MFxuICAvL1xuICAvLyBnb3Z1ay0hLWZvbnQtc2l6ZS0xNCBpcyBkZXByZWNhdGVkXG4gIEBlYWNoICRzaXplLCAkZm9udC1tYXAgaW4gJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUge1xuICAgIC5nb3Z1ay1cXCEtZm9udC1zaXplLSN7JHNpemV9IHtcbiAgICAgICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gICAgICAvLyBBZGQgdW5kZXJzY29yZSB0byBkZXByZWNhdGVkIHR5cG9ncmFwaHkgc2NhbGUga2V5c1xuICAgICAgQGlmIG1hcC1oYXMta2V5KCRmb250LW1hcCwgXCJkZXByZWNhdGlvblwiKSB7XG4gICAgICAgICRzaXplOiBfI3skc2l6ZX07XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtc2l6ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2VpZ2h0c1xuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC8vIFR5cG9ncmFwaHkgaGVscGVyc1xuXG4gIC5nb3Z1ay1cXCEtZm9udC10YWJ1bGFyLW51bWJlcnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQtdGFidWxhci1udW1iZXJzKCRpbXBvcnRhbnQ6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLVxcIS10ZXh0LWJyZWFrLXdvcmQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtYnJlYWstd29yZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fdHlwb2dyYXBoeS5zY3NzLm1hcCAqL1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3dpZHRoXCIpIHtcbiAgLmdvdnVrLVxcIS13aWR0aC1mdWxsIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10aHJlZS1xdWFydGVycyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLXR3by10aGlyZHMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNjYuNjYlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtaGFsZiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS10aGlyZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAzMy4zMyUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS1xdWFydGVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG4vKiMgc291cmNlTWFwcGluZ1VSTD1fd2lkdGguc2Nzcy5tYXAgKi9cbiIsIi8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYWdvdi9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvYmxvYi92MjIuMC4wL2FwcC9hc3NldHMvc3R5bGVzaGVldHMvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2NvbXBvbmVudHMvX3N0ZXAtYnktc3RlcC1uYXYtaGVhZGVyLnNjc3Ncbi8vIE5vdGUgLSB0aGlzIGNvZGUgZm9yIHByb3RvdHlwZSBwdXJwb3NlcyBvbmx5LiBJdCBpcyBub3QgcHJvZHVjdGlvbiBjb2RlLlxuXG4uYXBwLXN0ZXAtbmF2LWhlYWRlciB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTRcIik7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcbiAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG59XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFNlbGVjdG9yRm9ybWF0XG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyX19wYXJ0LW9mIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNiwgJHdlaWdodDogYm9sZCk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAuMmVtO1xufVxuXG4uYXBwLXN0ZXAtbmF2LWhlYWRlcl9fdGl0bGUge1xuICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDI0LCAkd2VpZ2h0OiBib2xkKTtcbn1cblxuLy8gc2Nzcy1saW50OmVuYWJsZSBTZWxlY3RvckZvcm1hdFxuIiwiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9ibG9iL3YyMi4wLjAvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvY29tcG9uZW50cy9fc3RlcC1ieS1zdGVwLW5hdi5zY3NzXG4vLyBOb3RlIC0gdGhpcyBjb2RlIGZvciBwcm90b3R5cGUgcHVycG9zZXMgb25seS4gSXQgaXMgbm90IHByb2R1Y3Rpb24gY29kZS5cbkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbiRzdHJva2Utd2lkdGg6IDJweDtcbiRzdHJva2Utd2lkdGgtbGFyZ2U6IDNweDtcbiRudW1iZXItY2lyY2xlLXNpemU6IDI2cHg7XG4kbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlOiAzNXB4O1xuJHRvcC1ib3JkZXI6IHNvbGlkIDJweCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktM1wiKTtcblxuQG1peGluIHN0ZXAtbmF2LXZlcnRpY2FsLWxpbmUgKCRsaW5lLXN0eWxlOiBzb2xpZCkge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1sZWZ0OiAkbGluZS1zdHlsZSAkc3Ryb2tlLXdpZHRoIGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbn1cblxuQG1peGluIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb24ge1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZSwgMikgLSBtYXRoLmRpdigkc3Ryb2tlLXdpZHRoLCAyKTtcbn1cblxuQG1peGluIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb24tbGFyZ2Uge1xuICBsZWZ0OiAwO1xuICBtYXJnaW4tbGVmdDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZSwgMikgLSBtYXRoLmRpdigkc3Ryb2tlLXdpZHRoLWxhcmdlLCAyKTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Ryb2tlLXdpZHRoLWxhcmdlO1xufVxuXG4vLyBjdXN0b20gbWl4aW4gYXMgZ292dWstZm9udCBkb2VzIHVuZGVzaXJhYmxlIHRoaW5ncyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHNcbi8vIHdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgYm90aCBsYXJnZSBhbmQgc21hbGwgc3RlcCBuYXZzIGhhdmUgdGhlIHNhbWUgc2l6ZSBmb250IG9uIG1vYmlsZVxuLy8gdGhpcyB3aWxsIHN0b3AgdGV4dCByZXNpemluZyBpZiBjb21wYXRpYmlsaXR5IG1vZGUgaXMgdHVybmVkIG9mZlxuQG1peGluIHN0ZXAtbmF2LWZvbnQoJHNpemUsICR0YWJsZXQtc2l6ZTogJHNpemUsICR3ZWlnaHQ6IG5vcm1hbCwgJGxpbmUtaGVpZ2h0OiAxLjMsICR0YWJsZXQtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCkge1xuICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigpO1xuICBmb250LXNpemU6ICRzaXplICsgcHg7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBmb250LXNpemU6ICR0YWJsZXQtc2l6ZSArIHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkdGFibGV0LWxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuXG4gICYuYXBwLXN0ZXAtbmF2LS1sYXJnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg5KTtcbiAgICB9XG4gIH1cblxuICAuanMtZW5hYmxlZCAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jb250cm9scyB7XG4gIHBhZGRpbmc6IDNweCAzcHggMCAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fYnV0dG9uIHtcbiAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gIH1cbn1cblxuLy8gcmVtb3ZlcyBleHRyYSBkb3R0ZWQgb3V0bGluZSBmcm9tIGJ1dHRvbnMgaW4gRmlyZWZveFxuLy8gb24gZm9jdXMgKHN0YW5kYXJkIHllbGxvdyBvdXRsaW5lIHVuYWZmZWN0ZWQpXG4uYXBwLXN0ZXAtbmF2X19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2J1dHRvbi0tdGl0bGUge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR0YWJsZXQtc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19idXR0b24tLWNvbnRyb2xzIHtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNCwgJGxpbmUtaGVpZ2h0OiAxKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyAvLyB0aGlzIGFuZCByZWxhdGl2ZSBwb3NpdGlvbiBzdG9wcyBmb2N1cyBvdXRsaW5lIHVuZGVybGFwIHdpdGggYm9yZGVyIG9mIGFjY29yZGlvblxuICBwYWRkaW5nOiAuNWVtIDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTQsICR0YWJsZXQtc2l6ZTogMTYsICRsaW5lLWhlaWdodDogMSk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcHMge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg2KSArIGdvdnVrLXNwYWNpbmcoMyk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gbGluZSBkb3duIHRoZSBzaWRlIG9mIGEgc3RlcFxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi12ZXJ0aWNhbC1saW5lO1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb247XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDkpO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3RlcC1uYXYtbGluZS1wb3NpdGlvbi1sYXJnZTtcbiAgICAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwOmxhc3QtY2hpbGQge1xuICAvLyBsaXR0bGUgZGFzaCBhdCB0aGUgYm90dG9tIG9mIHRoZSBsaW5lXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA2O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLCA0KTtcbiAgICB3aWR0aDogbWF0aC5kaXYoJG51bWJlci1jaXJjbGUtc2l6ZSwgMik7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZygzKX0pOyAvLyBmYWxsYmFjayBmb3IgaXBob25lIDRcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZygzKX0pO1xuICAgIC8vIHNhc3MtbGludDplbmFibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19oZWxwOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlLCA0KTtcbiAgICAgICAgd2lkdGg6IG1hdGguZGl2KCRudW1iZXItY2lyY2xlLXNpemUtbGFyZ2UsIDIpO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzdHJva2Utd2lkdGgtbGFyZ2U7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZyg2KX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmUge1xuICAmOmxhc3QtY2hpbGQ6YmVmb3JlLFxuICAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlcixcbiAgJjphZnRlcixcbiAgLmFwcC1zdGVwLW5hdl9faGVscDphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6ICRudW1iZXItY2lyY2xlLXNpemU7XG4gIGhlaWdodDogJG51bWJlci1jaXJjbGUtc2l6ZTtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICB3aWR0aDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTtcbiAgICAgIGhlaWdodDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDIzcHgpO1xuICBib3JkZXI6IHNvbGlkICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyM3B4LCAkdGFibGV0LWxpbmUtaGVpZ2h0OiAzMHB4KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGJvcmRlci13aWR0aDogJHN0cm9rZS13aWR0aC1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1sb2dpYyB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMjhweCk7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyOHB4LCAkdGFibGV0LWxpbmUtaGVpZ2h0OiAzNHB4KTtcbiAgfVxufVxuXG4vLyBtYWtlcyBzdXJlIGxvZ2ljIHRleHQgZXhwYW5kcyB0byB0aGUgbGVmdCBpZiB0ZXh0IHNpemUgaXMgem9vbWVkLCBwcmV2ZW50aW5nIG92ZXJsYXBcbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1pbm5lciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtYmFja2dyb3VuZCB7XG4gICRzaGFkb3ctb2Zmc2V0OiAuMWVtO1xuICAkc2hhZG93LWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgLy8gdG8gbWFrZSBudW1iZXJzIHJlYWRhYmxlIGZvciB1c2VycyB6b29taW5nIHRleHQgb25seSBpbiBicm93c2VycyBzdWNoIGFzIEZpcmVmb3hcbiAgdGV4dC1zaGFkb3c6IDAgLSN7JHNoYWRvdy1vZmZzZXR9IDAgJHNoYWRvdy1jb2xvdXIsICRzaGFkb3ctb2Zmc2V0IDAgMCAkc2hhZG93LWNvbG91ciwgMCAkc2hhZG93LW9mZnNldCAwICRzaGFkb3ctY29sb3VyLCAtI3skc2hhZG93LW9mZnNldH0gMCAwICRzaGFkb3ctY29sb3VyO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtc3RlcC1sYWJlbCxcbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1zdGVwLWNvbG9uIHtcbiAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19oZWFkZXIge1xuICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpIDA7XG4gIGJvcmRlci10b3A6ICR0b3AtYm9yZGVyO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWFjdGl2ZSAmIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19idXR0b24ge1xuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuXG4gICAgICAuYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuYXBwLXN0ZXAtbmF2X19idXR0b246bm90KDpmb2N1cyksXG4gICAgLmFwcC1zdGVwLW5hdl9fY2lyY2xlIHtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg2KSAwO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X190aXRsZSB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIG1hcmdpbjogMDtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkdGFibGV0LXNpemU6IDI0LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkbGluZS1oZWlnaHQ6IDEuMik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkdGFibGV0LXNpemU6IDE2LCAkbGluZS1oZWlnaHQ6IDEuMik7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fcGFuZWwge1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSk7XG4gIH1cblxuICAuanMtZW5hYmxlZCAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBjb250ZW50cyBvZiB0aGUgc3RlcHMsIHN1Y2ggYXMgcGFyYWdyYXBocyBhbmQgbGlua3NcblxuLmFwcC1zdGVwLW5hdl9fcGFyYWdyYXBoIHtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuXG4gICsgLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcblxuICAgIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtZ292dWstc3BhY2luZygzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LS1jaG9pY2Uge1xuICAkbGlua3MtbWFyZ2luOiAyMHB4O1xuXG4gIG1hcmdpbi1sZWZ0OiAkbGlua3MtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBkaXNjO1xuXG4gIC5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlOmJlZm9yZSB7XG4gICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDYpICsgZ292dWstc3BhY2luZygzKSkgLSAkbGlua3MtbWFyZ2luO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDkpKSAtICRsaW5rcy1tYXJnaW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpbmsge1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saW5rLWFjdGl2ZS1jb250ZXh0IHtcbiAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHRvcDogLjZlbTsgLy8gcG9zaXRpb24gdGhlIGRvdCB0byBhbGlnbiB3aXRoIHRoZSBmaXJzdCByb3cgb2YgdGV4dCBpbiB0aGUgbGlua1xuICAgIGxlZnQ6IC0oZ292dWstc3BhY2luZyg2KSArIGdvdnVrLXNwYWNpbmcoMykpO1xuICAgIG1hcmdpbi10b3A6IC0gbWF0aC5kaXYoJHN0cm9rZS13aWR0aCwgMik7XG4gICAgbWFyZ2luLWxlZnQ6IG1hdGguZGl2KCRudW1iZXItY2lyY2xlLXNpemUsIDIpO1xuICAgIHdpZHRoOiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLCAyKTtcbiAgICBoZWlnaHQ6ICRzdHJva2Utd2lkdGg7XG4gICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0oZ292dWstc3BhY2luZyg5KSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBtYXRoLmRpdigkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlLCAyKTtcbiAgICAgICAgaGVpZ2h0OiAkc3Ryb2tlLXdpZHRoLWxhcmdlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXZfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jb250ZXh0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogZ292dWstY29sb3VyKFwiZGFyay1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0xXCIpO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcXDIwMTNcXDAwYTBcIjsgLy8gZGFzaCBmb2xsb3dlZCBieSAmbmJzcDtcbiAgfVxufVxuIiwiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9ibG9iL3YyMi4wLjAvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvY29tcG9uZW50cy9fc3RlcC1ieS1zdGVwLXJlbGF0ZWQuc2Nzc1xuLy8gTm90ZSAtIHRoaXMgY29kZSBmb3IgcHJvdG90eXBlIHB1cnBvc2VzIG9ubHkuIEl0IGlzIG5vdCBwcm9kdWN0aW9uIGNvZGUuXG5AdXNlICdzYXNzOm1hdGgnO1xuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWQge1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsdWVcIik7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNik7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQpO1xufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtzIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgxNiwgJHdlaWdodDogYm9sZCk7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkLS1zaW5ndWxhciB7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgKyAzO1xuXG4gIC5hcHAtc3RlcC1uYXYtcmVsYXRlZF9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAxLjQpO1xuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoNCk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgIH1cbiAgfVxuXG4gIC5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fcHJldGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IG1hdGguZGl2KGdvdnVrLXNwYWNpbmcoNiksIDQpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fcHJldGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmtzIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rLWl0ZW0ge1xuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fbGluayB7XG4gIEBleHRlbmQgJWdvdnVrLWxpbms7XG59XG4iLCIvLyBUYXNrIGxpc3QgcGF0dGVyblxuXG4uYXBwLXRhc2stbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWluLXdpZHRoOiA1NTBweDtcbiAgfVxufVxuXG4uYXBwLXRhc2stbGlzdF9fc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOjI0LCAkd2VpZ2h0OiBib2xkKTtcbn1cblxuLmFwcC10YXNrLWxpc3RfX3NlY3Rpb24tbnVtYmVyIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWluLXdpZHRoOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmFwcC10YXNrLWxpc3RfX2l0ZW1zIHtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig5LCBcImJvdHRvbVwiKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDYpO1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xufVxuXG4uYXBwLXRhc2stbGlzdF9fdGFzay1uYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiA0NTBweCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cbi8vIFRoZSBgYXBwLXRhc2stbGlzdF9fdGFzay1jb21wbGV0ZWRgIGNsYXNzIHdhcyBwcmV2aW91c2x5IHVzZWQgb24gdGhlIHRhc2tcbi8vIGxpc3QgZm9yIHRoZSBjb21wbGV0ZWQgdGFnIChjaGFuZ2VkIGluIDg2YzkwZWMpIOKAkyBpdCdzIHN0aWxsIGluY2x1ZGVkIGhlcmUgdG9cbi8vIGF2b2lkIGJyZWFraW5nIHRhc2sgbGlzdHMgaW4gZXhpc3RpbmcgcHJvdG90eXBlcy5cbi5hcHAtdGFzay1saXN0X190YWcsXG4uYXBwLXRhc2stbGlzdF9fdGFzay1jb21wbGV0ZWQge1xuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiA0NTBweCkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8vIFRoaXMgaXMgYSBHT1YuVUsgUHVibGlzaGluZyBzcGVjaWZpYyBjb21wb25lbnQgdGhhdFxuLy8gY2FuIGJlIHNlZW4gYXQgaHR0cDovL2dvdnVrLXN0YXRpYy5oZXJva3VhcHAuY29tL2NvbXBvbmVudC1ndWlkZS9yZWxhdGVkX2l0ZW1zXG5cbi5hcHAtcmVsYXRlZC1pdGVtcyB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbn1cblxuLmFwcC1yZWxhdGVkLWl0ZW1zIC5nb3Z1ay1saXN0ID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xufVxuIiwiLyohXG5DaG9zZW4sIGEgU2VsZWN0IEJveCBFbmhhbmNlciBmb3IgalF1ZXJ5IGFuZCBQcm90b3R5cGVcbmJ5IFBhdHJpY2sgRmlsbGVyIGZvciBIYXJ2ZXN0LCBodHRwOi8vZ2V0aGFydmVzdC5jb21cblxuVmVyc2lvbiAxLjYuMlxuRnVsbCBzb3VyY2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL2hhcnZlc3RocS9jaG9zZW5cbkNvcHlyaWdodCAoYykgMjAxMS0yMDE2IEhhcnZlc3QgaHR0cDovL2dldGhhcnZlc3QuY29tXG5cbk1JVCBMaWNlbnNlLCBodHRwczovL2dpdGh1Yi5jb20vaGFydmVzdGhxL2Nob3Nlbi9ibG9iL21hc3Rlci9MSUNFTlNFLm1kXG4tLS0tXG5cblRoaXMgcGFydGljdWxhciBmaWxlIGlzIGEgY3VzdG9taXNhdGlvbiBvZiB0aGUgb3JpZ2luYWwgZm9yIHRoZSBEQ0xHIERlbHRhXG5Qcm9qZWN0LiBJdCBpcyBoZXJlIG1vZGlmaWVkIHRvIHJlbmRlciBvdXQgR09WVUsgc3R5bGVcblxuKi9cblxuLyogQGdyb3VwIEJhc2UgKi9cblxuLmNob3Nlbi1jb250YWluZXItc2luZ2xlLmNob3Nlbi1jb250YWluZXItc2luZ2xlLW5vc2VhcmNoIC5jaG9zZW4tc2VhcmNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJvdHRvbTogNXB4O1xuXG4gICAgKiB7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgLmNob3Nlbi1kcm9wIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICAgIHotaW5kZXg6IDEwMTA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwIDRweCA1cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICB9XG5cbiAgICAmLmNob3Nlbi13aXRoLWRyb3Age1xuICAgICAgICAuY2hvc2VuLWRyb3Age1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogQGVuZCAqL1xuXG4vKiBAZ3JvdXAgUmVzdWx0cyAqL1xuLmNob3Nlbi1jb250YWluZXIgLmNob3Nlbi1yZXN1bHRzIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWFyZ2luOiAwIDRweCA0cHggMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IDI0MHB4O1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA1cHggNnB4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuICAgICAgICAmLmFjdGl2ZS1yZXN1bHQge1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZC1yZXN1bHQge1xuICAgICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICAgICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzODc1ZDc7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuXG4gICAgICAgICYubm8tcmVzdWx0cyB7XG4gICAgICAgICAgICBjb2xvcjogIzc3NztcbiAgICAgICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmNGY0ZjQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5jcmVhdGUtb3B0aW9uIHtcbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBvcmFuZ2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBAZW5kICovXG5cbi8qIEBncm91cCBNdWx0aSBDaG9zZW4gKi9cbi5jaG9zZW4tY29udGFpbmVyLW11bHRpIHtcbiAgICAuY2hvc2VuLWNob2ljZXMge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDUwJSAwJSwgNTAlIDEwMCUsIGNvbG9yLXN0b3AoMSUsICNlZWVlZWUpLCBjb2xvci1zdG9wKDE1JSwgI2ZmZmZmZikpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjZWVlZWVlIDElLCAjZmZmZmZmIDE1JSk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KCNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNlZWVlZWUgMSUsICNmZmZmZmYgMTUlKTtcbiAgICAgICAgY3Vyc29yOiB0ZXh0O1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkuc2VhcmNoLWZpZWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDRweCAwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggNXB4IDVweCAwcHg7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNlYXJjaC1jaG9pY2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggNXB4IDVweCAwO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDI1cHggNXB4IDVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAzMDc4O1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL3B1YmxpYy9pbWFnZXMvY2xvc2UtaW52ZXJzZS5wbmcnKSBuby1yZXBlYXQgNHB4IDRweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFweDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGYzMDM0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNlYXJjaC1jaG9pY2UtZGlzYWJsZWQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgNTAlIDAlLCA1MCUgMTAwJSwgY29sb3Itc3RvcCgyMCUsICNmNGY0ZjQpLCBjb2xvci1zdG9wKDUwJSwgI2YwZjBmMCksIGNvbG9yLXN0b3AoNTIlLCAjZThlOGU4KSwgY29sb3Itc3RvcCgxMDAlLCAjZWVlZWVlKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlZWVlIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoI2Y0ZjRmNCAyMCUsICNmMGYwZjAgNTAlLCAjZThlOGU4IDUyJSwgI2VlZWVlZSAxMDAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgjZjRmNGY0IDIwJSwgI2YwZjBmMCA1MCUsICNlOGU4ZTggNTIlLCAjZWVlZWVlIDEwMCUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNmNGY0ZjQgMjAlLCAjZjBmMGYwIDUwJSwgI2U4ZThlOCA1MiUsICNlZWVlZWUgMTAwJSk7XG4gICAgICAgICAgICBjb2xvcjogIzY2NjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpLnNlYXJjaC1jaG9pY2UtZm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Q0ZDRkNDtcblxuICAgICAgICAgICAgLnNlYXJjaC1jaG9pY2UtY2xvc2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC00MnB4IC0xMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2hvc2VuLWRyb3AgLnJlc3VsdC1zZWxlY3RlZCB7XG4gICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIH1cbn1cblxuXG5cbi5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XG5cbiAgICAuY2hvc2VuLXNpbmdsZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRibGFjaztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jaG9zZW4tc2VhcmNoIHtcbiAgICAgICAgPiBpbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHg7XG4gICAgICAgICAgICBtYXJnaW46IGNhbGMoMzBweC80KSAyLjUlO1xuICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIH1cbiAgICAgICAgPiBpbnB1dDpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAzcHggc29saWQgI2ZkMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaG9zZW4tcmVzdWx0cyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggLyA0O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLXNpbmdsZSB7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAkeWVsbG93O1xufVxuXG4uY2hvc2VuLWNvbnRhaW5lci1tdWx0aS5jaG9zZW4tY29udGFpbmVyLWFjdGl2ZSAuY2hvc2VuLWNob2ljZXN7XG4gIG91dGxpbmU6IDNweCBzb2xpZCAkeWVsbG93O1xufVxuXG4uYWN0aW9uLWxpc3Qge1xuXG4gICAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAyNTBweCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHggLyA0O1xuICAgIH1cblxufVxuXG4uZmFjZXRzIC5mb3JtLXBhbmVsIHtcblxuICAgIC5jaG9zZW4tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDk1JSAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmNob3Nlbi1jaG9pY2VzIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1maWVsZCBpbnB1dCB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS0xO1xuICAgIH1cblxufVxuXG4uZm9ybSAuZ292dWstZm9ybS1ncm91cCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgIHdpZHRoOiA2NyUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0gLmdvdnVrLWZvcm0tZ3JvdXAgLmNob3Nlbi1jb250YWluZXItbXVsdGkge1xuICAgIHdpZHRoOiA2NS41JSAhaW1wb3J0YW50O1xufVxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZ292dWstZm9ybS1ncm91cCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgIHdpZHRoOiA2NyUgIWltcG9ydGFudDtcbn1cbi5yaWdodC1jb250ZW50LXBhbmUgLmdvdnVrLWZvcm0tZ3JvdXAgLmNob3Nlbi1jb250YWluZXItbXVsdGkge1xuICAgIHdpZHRoOiA2NSUgIWltcG9ydGFudDtcbn1cblxuLmxlZnQtcm9vdC1wYW5lIC5sZWZ0LXJvb3QtcGFuZS1maWx0ZXIgLmNob3Nlbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbn1cblxuLmZhY2V0cyAuZm9ybS1wYW5lbCAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgLmNob3Nlbi1zaW5nbGUgc3BhbiB7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxufVxuIiwiLy8gQnJhbmQgY29sb3Vyc1xuJGdvdnVrLWJsdWU6ICMwMDVlYTU7XG4kbWFpbnN0cmVhbS1icmFuZDogJGdvdnVrLWJsdWU7XG5cbi8vIFN0YW5kYXJkIHBhbGV0dGUsIGNvbG91cnNcbiRwdXJwbGU6ICMyZTM1OGI7XG4kcHVycGxlLTUwOiAjOTc5OWM0O1xuJHB1cnBsZS0yNTogI2Q1ZDZlNztcbiRtYXV2ZTogIzZmNzJhZjtcbiRtYXV2ZS01MDogI2I3YjlkNztcbiRtYXV2ZS0yNTogI2UyZTJlZjtcbiRmdXNjaGlhOiAjOTEyYjg4O1xuJGZ1c2NoaWEtNTA6ICNjOTk0YzM7XG4kZnVzY2hpYS0yNTogI2U5ZDRlNjtcbiRwaW5rOiAjZDUzODgwO1xuJHBpbmstNTA6ICNlYjliYmU7XG4kcGluay0yNTogI2Y2ZDdlNTtcbiRiYWJ5LXBpbms6ICNmNDk5YmU7XG4kYmFieS1waW5rLTUwOiAjZmFjY2RmO1xuJGJhYnktcGluay0yNTogI2ZkZWJmMjtcbiRyZWQ6ICNiMTBlMWU7XG4kcmVkLTUwOiAjZDk4ODhjO1xuJHJlZC0yNTogI2VmY2ZkMTtcbiRtZWxsb3ctcmVkOiAjZGYzMDM0O1xuJG1lbGxvdy1yZWQtNTA6ICNlZjk5OTg7XG4kbWVsbG93LXJlZC0yNTogI2Y5ZDZkNjtcbiRvcmFuZ2U6ICNmNDc3Mzg7XG4kb3JhbmdlLTUwOiAjZmFiYjk2O1xuJG9yYW5nZS0yNTogI2ZkZTRkNDtcbiRicm93bjogI2I1ODg0MDtcbiRicm93bi01MDogI2RhYzM5YztcbiRicm93bi0yNTogI2YwZTdkNztcbi8vJHllbGxvdzogI2ZmYmY0NztcbiR5ZWxsb3c6ICNmZDA7XG4keWVsbG93LTUwOiAjZmZkZjk0O1xuJHllbGxvdy0yNTogI2ZmZjJkMztcbiRncmFzcy1ncmVlbjogIzg1OTk0YjtcbiRncmFzcy1ncmVlbi01MDogI2MyY2NhMztcbiRncmFzcy1ncmVlbi0yNTogI2U3ZWJkYTtcbiRncmVlbjogIzAwNjQzNTtcbiRncmVlbi01MDogIzdmYjI5OTtcbiRncmVlbi0yNTogI2NjZTBkNjtcbiR0dXJxdW9pc2U6ICMyOGExOTc7XG4kdHVycXVvaXNlLTUwOiAjOTVkMGNiO1xuJHR1cnF1b2lzZS0yNTogI2Q1ZWNlYTtcbiRsaWdodC1ibHVlOiAjMmI4Y2M0O1xuJGxpZ2h0LWJsdWUtNTA6ICM5NmM2ZTI7XG4kbGlnaHQtYmx1ZS0yNTogI2Q1ZThmMztcblxuLy8gU3RhbmRhcmQgcGFsZXR0ZSwgZ3JleXNcbiRibGFjazogIzBiMGMwYztcbiRncmV5LTE6ICM2Zjc3N2I7XG4kZ3JleS0yOiAjYmZjMWMzO1xuJGdyZXktMzogI2RlZTBlMjtcbiRncmV5LTQ6ICNmOGY4Zjg7XG4kd2hpdGU6ICNmZmY7XG5cbi8vIFNlbWFudGljIGNvbG91ciBuYW1lc1xuJGxpbmstY29sb3VyOiAkZ292dWstYmx1ZTtcbiRsaW5rLWFjdGl2ZS1jb2xvdXI6ICRsaWdodC1ibHVlO1xuJGxpbmstaG92ZXItY29sb3VyOiAkbGlnaHQtYmx1ZTtcbiRsaW5rLXZpc2l0ZWQtY29sb3VyOiAjNGMyYzkyO1xuJGJ1dHRvbi1jb2xvdXI6ICMwMDgyM2I7XG4kZm9jdXMtY29sb3VyOiAkeWVsbG93O1xuJHRleHQtY29sb3VyOiAkYmxhY2s7ICAgICAgICAgICAgIC8vIFN0YW5kYXJkIHRleHQgY29sb3VyXG4kc2Vjb25kYXJ5LXRleHQtY29sb3VyOiAkZ3JleS0xOyAgLy8gU2VjdGlvbiBoZWFkZXJzLCBoZWxwIHRleHQgZXRjLlxuJGJvcmRlci1jb2xvdXI6ICRncmV5LTI7ICAgICAgICAgIC8vIEJvcmRlcnMsIHNlcGVyYXRvcnMsIHJ1bGVzLCBrZXlsaW5lcyBldGMuXG4kcGFuZWwtY29sb3VyOiAkZ3JleS0zOyAgICAgICAgICAgLy8gUmVsYXRlZCBsaW5rcyBwYW5lbCwgcGFnZSBmb290ZXIgZXRjLlxuJGNhbnZhcy1jb2xvdXI6ICRncmV5LTQ7ICAgICAgICAgIC8vIFBhZ2UgYmFja2dyb3VuZFxuJGhpZ2hsaWdodC1jb2xvdXI6ICRncmV5LTQ7ICAgICAgIC8vIFRhYmxlIHN0cmlwZXMgZXRjLlxuJHBhZ2UtY29sb3VyOiAkd2hpdGU7ICAgICAgICAgICAgIC8vIFRoZSBwYWdlXG4kZGlzY292ZXJ5LWNvbG91cjogJGZ1c2NoaWE7ICAgICAgLy8gRGlzY292ZXJ5IGJhZGdlcyBhbmQgYmFubmVyc1xuJGFscGhhLWNvbG91cjogJHBpbms7ICAgICAgICAgICAgIC8vIEFscGhhIGJhZGdlcyBhbmQgYmFubmVyc1xuJGJldGEtY29sb3VyOiAkb3JhbmdlOyAgICAgICAgICAgIC8vIEJldGEgYmFkZ2VzIGFuZCBiYW5uZXJzXG4kbGl2ZS1jb2xvdXI6ICRncmFzcy1ncmVlbjsgICAgICAgLy8gTGl2ZSBiYWRnZXMgYW5kIGJhbm5lcnNcbiRiYW5uZXItdGV4dC1jb2xvdXI6ICMwMDA7ICAgICAgICAvLyBUZXh0IGNvbG91ciBmb3IgQWxwaGEgJiBCZXRhIGJhbm5lcnNcbiRlcnJvci1jb2xvdXI6ICRyZWQ7ICAgICAgICAgICAgICAvLyBFcnJvciB0ZXh0IGFuZCBib3JkZXIgY29sb3VyXG4kZXJyb3ItYmFja2dyb3VuZDogI2ZlZjdmNzsgICAgICAgLy8gRXJyb3IgYmFja2dyb3VuZCBjb2xvdXJcbiIsImxhYmVsLmJsb2NrLWxhYmVsLnNlbGVjdGlvbi1idXR0b24tY2hlY2tib3gge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIixhcmlhbCxzYW5zLXNlcmlmO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGNsZWFyOiBsZWZ0O1xufVxuXG4uc2VsZWN0aW9uLWNoZWNrYm94X19pbnB1dCB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuc3Bhbi5nb3Z1ay1sYWJlbC5zZWxlY3Rpb24tY2hlY2tib3hfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbnNwYW4uc2VsZWN0aW9uLWNoZWNrYm94X19sYWJlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlbGVjdGlvbi1jaGVja2JveF9fbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTFweDtcbiAgICBsZWZ0OiA5cHg7XG4gICAgd2lkdGg6IDIzcHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgYm9yZGVyOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDAgMCA1cHggNXB4O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5zZWxlY3Rpb24tY2hlY2tib3hfX2lucHV0OmNoZWNrZWQgfiAuc2VsZWN0aW9uLWNoZWNrYm94X19sYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xufSIsIkB1c2UgJ3Nhc3M6bWF0aCc7XG5cbiRndXR0ZXI6IDMwcHg7XG4kZ3V0dGVyLW9uZS1xdWFydGVyOiBtYXRoLmRpdigkZ3V0dGVyLCA0KTtcbiRndXR0ZXItb25lLXRoaXJkOiBtYXRoLmRpdigkZ3V0dGVyLCAzKTtcbiRndXR0ZXItaGFsZjogbWF0aC5kaXYoJGd1dHRlciwgMik7XG4kcHJvcG9zaXRpb24tYWN0aXZlLW5hdjogIzFkOGZlYjtcblxuLmhpZGRlbi1sYWJlbC1hY2Nlc3NpYmxlIHtcbiAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnVpLWljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTlweDtcbiAgICB3aWR0aDogMTlweDtcbn1cblxuLnVpLWRhdGVwaWNrZXIge1xuXG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlcjogMnB4ICRib3JkZXItY29sb3VyIHNvbGlkO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgIHRkLCB0aCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLW9uZS1xdWFydGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogJGd1dHRlci1vbmUtcXVhcnRlciAkZ3V0dGVyLWhhbGY7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkYm9yZGVyLWNvbG91cjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLXByZXYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgIC51aS1pY29uLWNpcmNsZS10cmlhbmdsZS13IHtcbiAgICAgICAgICAgIEBleHRlbmQgLmhpZGRlbi1sYWJlbC1hY2Nlc3NpYmxlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvcHVibGljL2ltYWdlcy9pY29uLWFycm93LWxlZnQucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLW5leHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAudWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZSB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5oaWRkZW4tbGFiZWwtYWNjZXNzaWJsZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnL3B1YmxpYy9pbWFnZXMvaWNvbi1hcnJvdy1yaWdodC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLXVuc2VsZWN0YWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LTM7XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItZGF5cy1jZWxsLW92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIDogIzAwNWVhNTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvciA6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLnVpLWRhdGVwaWNrZXItdHJpZ2dlciB7XG4gICAgLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Bs1wiOyB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlci1vbmUtcXVhcnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbn1cblxuYnV0dG9uLnVpLWRhdGVwaWNrZXItdHJpZ2dlciB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiAwO1xufXNjc3NcblxuLnVpLWRhdGVwaWNrZXItdHJpZ2dlcjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDcuNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb250ZW50OiBcIu+Bs1wiO1xufVxuXG4vLyBIaWRlLCBidXQgbm90IGZvciBzY3JlZW5yZWFkZXJzXG4udmlzdWFsbHktaGlkZGVuLFxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG59XG4iLCIubWFpbi1wYW5le1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5sZWZ0LXJvb3QtcGFuZVxue1xuICAgIHdpZHRoOiAyMiU7XG5cdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNiZmMxYzM7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZmxleDogMC45O1xufVxuLnJpZ2h0LWNvbnRlbnQtcGFuZVxue1xuICAgIHdpZHRoOiA3MCU7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5idXR0b24tZ3JvdXAgLmJ1dHRvbi1zZWNvbmRhcnlcbntcbiAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgIHdpZHRoOiBhdXRvO1xufVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5mb3JtLWNvbnRyb2x7XG4gICAgd2lkdGg6IDc1JTtcbn1cblxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZm9ybS1wYW5lbHtcbiAgICB3aWR0aDogNjYuNSU7XG59XG5cbi5yaWdodC1jb250ZW50LXBhbmUgLmZvcm0tY29udHJvbC1pbmxpbmV7XG4gICAgd2lkdGg6IDMwJTtcbn1cblxuLnJpZ2h0LWNvbnRlbnQtcGFuZSAuZm9ybS1sYWJlbC1pbmxpbmV7XG4gICAgd2lkdGg6IDQ1JTtcbn1cblxuXG5cbi5yaWdodC1jb250ZW50LXBhbmUgZWxlbWVudC5zdHlsZSxcbi5yaWdodC1jb250ZW50LXBhbmUgLmRhdGEtZ3JpZFxue1xubWluLWhlaWdodDogYXV0bztcbn1cblxuIC5sZWZ0LXJvb3QtcGFuZSB1bCBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nOiAxMnB4IDI1cHggOHB4IDBcbn1cblxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgLmxlZnQtcm9vdC1wYW5lIHVsIGEge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDMwcHggOHB4IDE1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTQyODU3MTQyOVxuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgLmxlZnQtcm9vdC1wYW5lIHVsIGEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1XG4gICAgfVxufVxuXG4gLmxlZnQtcm9vdC1wYW5lIHVsIGE6aG92ZXIsXG4gLmxlZnQtcm9vdC1wYW5lIHVsIGE6Zm9jdXMsXG4gIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGVlMGUyO1xuICAgIGNvbG9yOiAjMDA1ZWE1XG59XG5cblxuIC5sZWZ0LXJvb3QtcGFuZSB1bCBhOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICByaWdodDogMTBweDtcbiAgICBjb250ZW50OiBcIlxcMjAzQVwiXG59XG5cblxuXG4gLmxlZnQtcm9vdC1wYW5lIHVsIC5hY3RpdmUgYSB7XG4gICAgYmFja2dyb3VuZDogIzAwNWVhNTtcbiAgICBjb2xvcjogI2ZmZlxufVxuXG4gLmxlZnQtcm9vdC1wYW5lIC5sZWZ0LXJvb3QtcGFuZS1maWx0ZXIge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gfVxuXG4ucmlnaHQtY29udGVudC1wYW5lIC5ncmlkLTEtMiAuY2hvc2VuLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xufVxuXG4ubGVmdC1yb290LXBhbmUgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbn1cblxuI2dyYW50U2VjdGlvbiB0Zm9vdCB0ZCB7XG4gICAgYnV0dG9uLmpzLXRhYmxlLWJ0bntcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICB9XG59XG5cbiNsZWRnZXJUYWJsZSB0ZCB7XG4gICAgYnV0dG9uLmVkaXQtYnRuLCBidXR0b24ucmVtb3ZlLWJ0biB7XG4gICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKDE2LCAxNiwgMTYsIDAuMyk7XG4gICAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN0aHJlc2hvbGRzIHRkIHtcbiAgICBidXR0b24uanMtdGFibGUtYnRuIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIGJ1dHRvbi50aHJlc2hvbGQtcmVtb3ZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxufVxuXG4uY2hldnJvbi1jYXJkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiKDE3NywgMTgwLCAxODIpO1xuICAgIG1hcmdpbjogMHB4IDE1cHg7XG4gICAgcGFkZGluZzogNXB4IDBweCAyMHB4O1xufVxuXG4uY2hldnJvbi1jYXJkX193cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweCAzMHB4IDEwcHggMHB4O1xufVxuXG4uY2hldnJvbi1jYXJkX19kZXNjcmlwdGlvbiB7XG4gICAgbWFyZ2luOiAwcHggLTMwcHggMHB4IDBweDtcbn1cblxuLmhvbWVwYWdlLXNlcnZpY2VzLWFuZC1pbmZvX19saXN0IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1mbG93OiByb3c7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnIgMWZyIDFmciAxZnI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDBweCAtMTVweDtcbiAgICBwYWRkaW5nOiAwcHg7XG59XG5cbi5ob21lcGFnZS1zZWN0aW9uX19oZWFkaW5nLS1ib3JkZXItbm9uZSB7XG4gICAgYm9yZGVyLXdpZHRoOiBpbml0aWFsO1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6IGluaXRpYWw7XG4gICAgYm9yZGVyLWltYWdlOiBpbml0aWFsO1xuICAgIHBhZGRpbmc6IDBweDtcbn1cbi5ob21lcGFnZS1zZWN0aW9uX19oZWFkaW5nIHtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzBiMGMwYztcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMCAwO1xufVxuLmNoZXZyb24tY2FyZF9fbGluazpiZWZvcmUge1xuICAgIGJvcmRlci1yaWdodDogM3B4IHNvbGlkICMxZDcwYjg7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICMxZDcwYjg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDdweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDE1cHg7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlKFxuNDVkZWdcbikgc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDEpO1xuICAgIHdpZHRoOiA3cHg7XG59XG5cbi5jaGV2cm9uLWNhcmRfX2xpbms6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbn1cbi5ob21lcGFnZS1zZXJ2aWNlcy1hbmQtaW5mb19fbGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLmhvbWVwYWdlLXNlcnZpY2VzLWFuZC1pbmZvX19saXN0IC5jaGV2cm9uLWNhcmQge1xuXHR3aWR0aDogY2FsYygoMTAwJSAvIDIpIC0gMzBweCk7XG5cdGZsZXgtYmFzaXM6IGNhbGMoKDEwMCUgLyAyKSAtIDMwcHgpO1xufSIsIi5qc2dyaWQtcGFnZXItY29udGFpbmVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMTlweDtcbiAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbn1cblxuLnBhZ2VyLWl0ZW1zIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItaXRlbXMge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgfVxuICAucGFnZXItaXRlbXMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDAgOHB4O1xuICB9XG4gIC5wYWdlci1pdGVtcyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLnBhZ2VyLWl0ZW1zIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuLnBhZ2VyLW5leHQsXG4ucGFnZXItcHJldiB7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItbmV4dCxcbiAgLnBhZ2VyLXByZXYge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wYWdlci1wcmV2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItbmV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucGFnZXItY29udHJvbHMge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxufVxuIiwiLmdvdnVrLWJyZWFkY3J1bWJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbn1cblxuLmRhdGFzZXQtaW5zdGFuY2VzX19uYW1lLWJyZWFkY3J1bWIge1xuICAgIG1heC13aWR0aDogMTRlbTtcbiAgICB0ZXh0LXdyYXA6IG5vd3JhcDtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufSIsIi5nb3Z1ay1oZWFkZXIgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gIHdpZHRoOiBhdXRvO1xuXG4gIC5nb3Z1ay1oZWFkZXJfX3Byb2R1Y3QtbmFtZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG59XG5cbi5nb3Z1ay1oZWFkZXJfX2xpbmstLWhvbWVwYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uZ292dWstaGVhZGVyIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4uZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgd2lkdGg6IDczJTtcbn1cblxuLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tZW5kLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5nb3Z1ay10ZW1wbGF0ZV9fYm9keSAuZ292dWstbWFpbi13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5kZWx0YS1oZWFkZXJfX2xpbmstLW1haW4tbmF2IHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xufVxuXG4uZGVsdGEtcGFnZS10aXRsZSB7XG4gIEBleHRlbmQgLmdvdnVrLWhlYWRpbmctbDtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xufVxuXG4uZGVsdGEtdGV4dC1zZWNvbmRhcnkge1xuICBjb2xvcjogJHNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cblxuLmdvdnVrLWhlYWRlciAge1xuICAuaGVhZGVyLW15LWFjY291bnQge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG4gIH1cbn0iLCIvLyBKYXZhU2NyaXB0IHNsaWRpbmcgcGFuZWwgc3R5bGluZ1xuLmpzLXNsaWRpbmctcGFuZWwge1xuXG4gICAgJi13cmFwcGVyIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYuanMtc2xpZGluZy1wYW5lbC13cmFwcGVyLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgICAgICAuanNncmlkLXRhYmxlIHRoLFxuICAgICAgICAgICAgLmpzZ3JpZC10YWJsZSB0ZCB7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlLW91dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi1zaWJsaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi1oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNTI2MzE1ZW0gLjc4OTQ3M2VtIC4yNjMxNTdlbTtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzI1OTtcbiAgICAgICAgICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4uanMtc2xpZGluZy1wYW5lbC1oZWFkZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG59XG4ubGVmdC1yb290LXBhbmUtZmlsdGVyIC5qcy1zbGlkaW5nLXBhbmVsLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNWVhNTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtc3RhY2s7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IC41MjYzMTVlbSAuNzg5NDczZW0gLjI2MzE1N2VtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgIC1tb3otYm94LXNoYWRvdzogMCAycHggMCAjMDAzMjU5O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzI1OTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkdEUyBUcmFuc3BvcnRcIiwgYXJpYWwsIHNhbnMtc2VyaWY7XG59XG4iLCJAdXNlICdzYXNzOm1hdGgnO1xuXG4kZ3V0dGVyOiAzMHB4O1xuJGd1dHRlci1vbmUtcXVhcnRlcjogbWF0aC5kaXYoJGd1dHRlciwgNCk7XG4kZ3V0dGVyLW9uZS10aGlyZDogbWF0aC5kaXYoJGd1dHRlciwgMyk7XG4kZ3V0dGVyLWhhbGY6IG1hdGguZGl2KCRndXR0ZXIsIDIpO1xuJHByb3Bvc2l0aW9uLWFjdGl2ZS1uYXY6ICMxZDhmZWI7XG4kZ3JleS00OiAjZjhmOGY4O1xuJG1pbi1oZWlnaHQ6IFwiXCI7XG5cbi5kZWFkbGluZS1zdWJtaXNzaW9uIC5mb3JtLWNvbnRyb2wge1xuICB3aWR0aDogODAlO1xufVxuXG4vLyBGaWx0ZXJzIG5lZWQgc2xpZ2h0bHkgc21hbGxlciBzdHlsaW5nIHRvIGZpdCBtb3JlIGludG8gdGhlIHZpZXdcbi5maWx0ZXIge1xuXG5cbiAgICAuZmlsdGVyLXRpdGxlLFxuICAgIC5maWx0ZXItdGl0bGUgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwYW5lbC1jb2xvdXI7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvdXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICAgIC5maWx0ZXItdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLW9uZS1xdWFydGVyO1xuICAgIH1cblxuICAgIC5ibG9jay1sYWJlbCB7XG5cbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVyLXJpZ2h0IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAkZ3V0dGVyLWhhbGY7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC5ibG9jay1saXN0IHtcbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZXktNDtcbiAgICAgICAgICAgIG1hcmdpbjogJGd1dHRlci1vbmUtcXVhcnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG5cbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXItb25lLXRoaXJkICsgJGd1dHRlci1oYWxmO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAucmVtb3ZlIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb24tbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6ICRndXR0ZXItb25lLXF1YXJ0ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBpbnB1dC5mb3JtLWNvbnRyb2wge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDRweCAzcHggM3B4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmZvcm0tZGF0ZSB7XG5cbiAgICAgICAgLmJsb2NrLWxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG5cbi8vIEFsaWduIHRoZSBHT1ZVSyBjaGVja2JveCBzdHlsZXMgdG8gdGhlIHNtYWxsZXIgZm9udC1zaXplIHVzZWQgYnkgZmlsdGVyc1xuLmpzLWVuYWJsZWQgLmZpbHRlciAuYmxvY2stbGFiZWwge1xuICAgICYuc2VsZWN0aW9uLWJ1dHRvbi1jaGVja2JveCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDRweCA0cHg7XG4gICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICAgICAgICB0b3A6IDExcHg7XG4gICAgICAgICAgICBsZWZ0OiA0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlbGVjdGlvbi1idXR0b24tcmFkaW8ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZDtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIGxlZnQ6IDRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjdGlvbi1saXN0IHtcblxuICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXItaGFsZjtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgLy8gQGV4dGVuZCAlY29udGFpbi1mbG9hdHM7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmFjdGlvbi1yaWdodCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLWxpbmstYnV0dG9uIHtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgIEBpZiAkbWluLWhlaWdodCAhPSBcIlwiIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6ICRtaW4taGVpZ2h0O1xuICAgICAgICAgIH1cblxuICAgICAgICBwYWRkaW5nOiAuNTI2MzE1ZW0gLjc4OTQ3M2VtIC4yNjMxNTdlbTsgLy8gMTBweCAxNXB4IDVweFxuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICAgLy8gVGV4dFxuICAgICAgICBmb250LXNpemU6IDFlbTsgLy8gaW5oZXJpdCBmcm9tIHBhcmVudFxuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cbiAgICAgICAgLy8gSW50ZXJhY3Rpb25cbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuYWN0aW9uLWxpc3QtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlcjtcbiAgICB9XG5cbiAgICAuYmxvY2stbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgIH1cblxufVxuXG4uYmxvY2stbGlzdCB7XG5cbiAgICAuYWN0aW9uLXJpZ2h0IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNy41cHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuXG4gICAgLnJlbW92ZS1zZWxlY3RlZC1mYWNldCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvcHVibGljL2ltYWdlcy9jbG9zZS5wbmcpIG5vLXJlcGVhdCA0cHggNHB4O1xuICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uZm9ybS1wYW5lbCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGJvcmRlci1jb2xvdXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1oYWxmO1xuICAgIGZvbnQtZmFtaWx5OiBcIm50YVwiLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAuanMtZXhwYW5kZXItaGFuZGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvcHVibGljL2ltYWdlcy9hY2NvcmRpb24tYXJyb3cteHNtYWxsLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxcHggNHB4O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgfVxuXG4gICAgJltkYXRhLWZhY2V0LWhpZGRlbj10cnVlXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG5cbiAgICAmLmpzLWV4cGFuZGVyLWluaXRpYWwtY29sbGFwc2Uge1xuICAgICAgICAuanMtZXhwYW5kZXItdGFyZ2V0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmpzLWV4cGFuZGVyLWV4cGFuZGVkIHtcblxuICAgICAgICAuanMtZXhwYW5kZXItaGFuZGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDFweCAtMjhweDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4jZm9ybS1idWlsZGVyLWZ1bGxzY3JlZW4ge1xuICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG59XG5cbi5mb3JtLWdyb3VwLmZpbGUtdXBsb2FkLWNvbnRhaW5lcixcbi5mb3JtLWdyb3VwIC5maWxlLXVwbG9hZC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLnBsYWNlaG9sZGVyIHtcbiAgICAgICAgd2lkdGg6IDM2JTtcbiAgICB9XG5cbiAgICBzcGFuW3JvbGU9YnV0dG9uXSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1maWxlXSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnVwbG9hZC1idXR0b24ge1xuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vIHRvcDogNTAlO1xuICAgICAgICAvLyByaWdodDogMDtcbiAgICAgICAgLy8gbWFyZ2luOiAwO1xuICAgICAgICAvLyBwYWRkaW5nOiAwO1xuICAgICAgICAvLyBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgLy8gb3BhY2l0eTogMDtcbiAgICAgICAgLy8gd2lkdGg6IDIwMHB4O1xuICAgIH1cblxuICAgIC51cGxvYWQtbGlzdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIHdpZHRoOiA0ODBweDtcblxuICAgICAgICAudXBsb2FkLWxpc3QtaXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBtYXJnaW46IDcuNXB4IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA3LjVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWUwZTI7XG5cbiAgICAgICAgICAgIGEucmVtb3ZlLXVwbG9hZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogNy41cHg7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvcHVibGljL2ltYWdlcy9jbG9zZS5wbmcpIG5vLXJlcGVhdCA0cHggNHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4uZm9ybS1sYWJlbCB7XG4gICAgJi5mb3JtLWxhYmVsLWlubGluZSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICAgICYuZm9ybS1jb250cm9sLWlubGluZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICB9XG5cbiAgICAvL0B0b2RvIFVuLWJyaXR0bGUgdGhlIGZvbGxvd2luZyBjb2RlLiBNaXhpbiwgbWF5YmU/XG4gICAgJi5mb3JtLWNvbnRyb2wtZnVsbCB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgICAgICAgd2lkdGg6IDg5JTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRndXR0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLmZvcm0tZ3JvdXAge1xuICAgIGlucHV0LmRpc2FibGVkLFxuICAgIGlucHV0W2Rpc2FibGVkXSxcbiAgICBpbnB1dFtkaXNhYmxlZD1cImRpc2FibGVkXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktMztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JleS0xO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUvT3BlcmEvU2FmYXJpICovXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICAgICY6Oi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE5KyAqL1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IC8qIElFIDEwKyAqL1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuICAgICAgICAmOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5lcnJvciB7XG4gICAgICAgIGlucHV0LmRpc2FibGVkLFxuICAgICAgICBpbnB1dFtkaXNhYmxlZF0sXG4gICAgICAgIGlucHV0W2Rpc2FibGVkPVwiZGlzYWJsZWRcIl0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZXJyb3ItY29sb3VyO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLXNlY3Rpb257XG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICA+IHAsID4gYXJ0aWNsZSB7XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpe1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhcnRpY2xlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRndXR0ZXItaGFsZjtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JleS0xO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLWdyb3VwLXN1YiB7XG4gIEBleHRlbmQgLmZvcm0tZ3JvdXA7XG4gIG1hcmdpbi10b3A6ICRndXR0ZXI7XG59XG5cbmlucHV0LmVycm9yIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5sb2FkaW5nLWljb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLkNvZGVNaXJyb3Ige1xuICAgIG1hcmdpbi10b3A6ICRndXR0ZXI7XG4gICAgbWluLWhlaWdodDogNjAwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vLyBUYWJsZSBGb3JtIGNvbnRyb2xzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCeSBkZWZhdWx0LCBmb3JtIGNvbnRyb2xzIGFyZSA1MCUgd2lkdGggZm9yIGRlc2t0b3AsXG4vLyBhbmQgMTAwJSB3aWR0aCBmb3IgbW9iaWxlXG50YWJsZSAuZm9ybS1jb250cm9sIHtcbiAgd2lkdGg6IDkwJTtcbn1cblxuXG4vLyBKUy1UYWJsZSBzdHlsaW5nXG4uanMtdGFibGUge1xuICAgIC8vIEhpZGUgdGhlIGNvbHVtbiBmb3IgJ2dyYW50U2VjdGlvblV1aWQnXG4gICAgI2dyYW50X3NlY3Rpb25fdXVpZCwgW2hlYWRlcnM9XCJncmFudF9zZWN0aW9uX3V1aWRcIl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNqcy10YWJsZS1pbnB1dCAuZm9ybS1ncm91cCB7XG4gICAgICAgIC5qcy1uZXctZ3JhbnQtYWRkLCAuanMtbmV3LWdyYW50LXVwZGF0ZSwgLmpzLWNhbmNlbCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2pzLXRhYmxlLWlucHV0IC5ncmlkLTEtMiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4vL01ha2VzIHRoZSBmb250IGxhYmVsIG9mIHRoZSBmaWxlIHVwbG9hZHMgYm9sZFxuLmZpbGUtdXBsb2FkLWNvbnRhaW5lciAuZm9ybS1sYWJlbHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuaW5wdXRbdHlwZT10aW1lXSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzBiMGMwYztcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG59XG5cbmlucHV0W3R5cGU9dGltZV0uZ292dWstaW5wdXQtLWVycm9yeyAgYm9yZGVyOiAycHggc29saWQgI2Q0MzUxYzsgfVxuXG4udGltZS1zcGFuIHtcbiAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbn1cblxuLmdvdnVrLWJ1dHRvbi1ncm91cCAuaGVscHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1ZWE1O1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xufVxuXG5cbi5nb3Z1ay1mb3JtLWdyb3VwIC5nb3Z1ay1sYWJlbC5mb3JtLWxhYmVsLWlubGluZSB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5nb3Z1ay1mb3JtLWdyb3VwIC5nb3Z1ay1sYWJlbC5mb3JtLWxhYmVsLWlubGluZS1mbHVpZCB7XG4gICAgd2lkdGg6IGF1dG87XG59XG4uZ292dWstZm9ybS1ncm91cCAuZm9ybS1jb250cm9sLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MSU7XG59XG5cbiNzdWJtaXNzaW9uX2RlYWRsaW5lIHRkIHtcbiAgICBidXR0b24uanMtcmVtb3ZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuICAgIC5qcy1hZGQge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbiNzYXBfdmVuZG9yX2NvZGVzX3RhYmxlIHRkIGJ1dHRvbi5qcy1yZW1vdmUge1xuICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuI3NhcF92ZW5kb3JfY29kZXNfdGFibGUgdGQgYnV0dG9uLmpzLWFkZCB7XG4gICAgY29sb3I6ICMwMDVlYTU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4jZ3JhbnRfcGF5bWVudF9tZXRob2RzX3RhYmxlIHRkIGJ1dHRvbi5qcy1hZGRQYXltZW50TWV0aG9kIHtcbiAgICBjb2xvcjogIzAwNWVhNTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxOXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbiNncmFudF9wYXltZW50X21ldGhvZHNfdGFibGUgdGQgYnV0dG9uLmpzLXJlbW92ZVBheW1lbnRNZXRob2Qge1xuICAgIGNvbG9yOiAjMDA1ZWE1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLm91dHB1dC13YXJuaW5nIHtcbiAgICBjb2xvcjogI2Y0NzczODtcbn1cblxuLm91dHB1dC1lcnJvciB7XG4gICAgY29sb3I6ICNiMTBlMWU7XG59XG5cbiNncmFudFNlY3Rpb25EZXRhaWwgdGQge1xuICAgIGJ1dHRvbi5qcy10YWJsZS1idG4ge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi8qIEhpZGUgdW51c2VkL2luY29ycmVjdCBjb250cm9scyBmcm9tIHRoZSBcInB1Ymxpc2hcIiBkaWFsb2d1ZSBib3ggaW4gdGhlIGZvcm0gYnVpbGRlci5cbiAgIFlvdSBtdXN0IHVwZGF0ZSB0aGUgaWRzIHdoZW5ldmVyIHVwZGF0aW5nIHRoZSBPcmJlb24gdmVyc2lvbiAqL1xuI2VtYmVkZGVkLWZvcm0tYnVpbGRlciAub3JiZW9uLXBvcnRsZXQtZGl2IC5vcmJlb24tcG9ydGxldC1ib2R5IC54Zm9ybXMtZm9ybSAueXVpLXBhbmVsLWNvbnRhaW5lciAueHhmb3Jtcy1kaWFsb2ctYm9keSAueGZvcm1zLWNhc2Utc2VsZWN0ZWQge1xuICAgICNvMHhmLTk4NiwgI28weGYtOTkwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xufVxuXG5hW2Rpc2FibGVkXSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5kZWx0YS1kbCB7XG4gICAgLy8gdXNlZCBvbiBmb3JtIHN1bW1hcnkgcGFnZVxuICAgIGR0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDgwMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGRkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxufVxuXG4vLyBNYWtlIHRoZSBsaW5rcyBpbiB0aGUgc2VhcmNoIGdyaWQgYXBwZWFyIGxpa2UgYSA8dGg+IG9uIGZvcm0gc2VhcmNoIHBhZ2VcbiNmb3JtLXNlYXJjaC1ncmlkID4gdGFibGUgPiB0Ym9keSA+ICogPiB0ZC5qc2dyaWQtY2VsbC50YWJsZS1saW5rID4gc3BhbiA+IGEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4jZm9ybS1zdW1tYXJ5LWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5nb3Z1ay1idXR0b24tZ3JvdXAuZGVsdGEtZm9ybS1idXR0b24tZ3JvdXAge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbn1cbiIsIi5zZWFyY2hmb3JtLFxuYXNpZGUuc2VhcmNoZm9ybSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMCAwO1xuICBwYWRkaW5nOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgfVxuXG4gIC8vIFByb3RvdHlwZSBMYXlvdXQgUnVsZXMgZm9yIHNlYXJjaCBmb3Jtcy4uLlxuICAvLyBAdG9kbyBUaGVzZSBhcmUgc3ViamVjdCB0byByZXZpZXcgYW5kIG1pZ2h0IG5vdCBiZSBuZWNlc3NhcnkuLi4uXG4gICYuZm9ybS0xLTIge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cblxuICAmLmZvcm0tMS0zIHtcbiAgICB3aWR0aDogMzMuMzMlO1xuICB9XG5cbiAgJi5mb3JtLTItMyB7XG4gICAgd2lkdGg6IDY2LjY2JTtcbiAgfVxuXG4gICYuZm9ybS0xLTQge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cblxuICAmLmZvcm0tMy00IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG5cbiAgJi5mb3JtLWZ1bGwge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG5cbiAgLmpzLXZpc2libGUgJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuanMtZW5hYmxlZCAmIGxhYmVsIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogOXB4O1xuICAgIHRvcDogOHB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHJpZ2h0OiAycHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiA0OHB4O1xuICAgIGhlaWdodDogNDFweDtcblxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXS5mb3JtLWNvbnRyb2wge1xuXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAvLyBDaHJvbWUgNC4wIHRvIDkuMCwgU2FmYXJpIDMuMSB0byA1LjAsIE1vYmlsZSBTYWZhcmkgMy4yIHRvIDQuMywgQW5kcm9pZCBCcm93c2VyIDIuMSB0byAzLjBcbiAgICAgICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gRmlyZWZveCAyLjAgdG8gMjguMCwgRmlyZWZveCBmb3IgQW5kcm9pZCAyNi4wIG9ud2FyZHNcbiAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgcGFkZGluZzogNnB4O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkO1xuICAgIHotaW5kZXg6IDM7XG5cbiAgICAvLyBSZW1vdmUgaW5uZXIgc2hhZG93XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAvLyBSZW1vdmUgcm91bmRlZCBjb3JuZXJzXG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuXG4gICAgJjpmb2N1cywgJi5mb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfVxuXG4gICAgLmpzLWVuYWJsZWQgJiB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIHdpZHRoOiAtd2Via2l0LWNhbGMoMTAwJSAtIDQ5cHgpO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDlweCk7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZGF0YS1ncmlkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogODAwcHg7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG59XG5cblxuLmpzZ3JpZC1wYWdlci1jb250YWluZXIge1xuICAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIHtcbiAgXHRsaS5qc2dyaWQtcGFnZXItbmF2LWJ1dHRvbiB7XG4gIFx0XHR0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgXHR9XG4gIH1cbn1cblxuLmpzZ3JpZC1ub2RhdGEtcm93IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdHN0cm9uZ3tcblx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdH1cbn1cblxuLmpzZ3JpZC1oZWFkZXItc29ydGFibGUge1xuICAgIGJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXDAwYTBcXDAwYTBcXDI1QkNcIjtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1ibHVlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcmlnaHQ6IC0xMHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICBidXR0b246YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcMDBhMFxcMDBhMFxcMjVCMlwiO1xuICAgICAgICBjb2xvcjogJGdvdnVrLWJsdWU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbn1cblxuLmpzZ3JpZC1oZWFkZXItc29ydC1kZXNjIHtcbiAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICByaWdodDogLTEycHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gICAgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5qc2dyaWQtaGVhZGVyLXNvcnQtYXNjIHtcbiAgICBidXR0b246YWZ0ZXIge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHJpZ2h0OiAtMTJweDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cblxuLmpzZ3JpZC1oZWFkZXItc29ydGFibGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmpzZ3JpZC1oZWFkZXItc29ydCB7XG5cbiAgICAmLWFzYyxcbiAgICAmLWRlc2Mge1xuXG4gICAgICAgIGEgLnNvcnQtaWNvbiB7XG5cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjNDQ0O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWFzYyB7XG4gICAgICAgIGEgLnNvcnQtaWNvbjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcMDBhMFxcMDBhMFxcMjVCMlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1kZXNjIHtcbiAgICAgICAgYSAuc29ydC1pY29uOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFwwMGEwXFwwMGEwXFwyNUJDXCI7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG5cbi5qcy1kcm9wZG93bi1saXN0LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAuZmEtY2FyZXQtZG93biB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAxMTIuNSU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuICAgIH1cbiAgICBidXR0b24ge1xuICAgICAgICAgICAgY29sb3I6ICMwMDVlYTU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG59XG5cbi5qcy1kcm9wZG93bi1saXN0IHtcblxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJGd1dHRlci1oYWxmO1xuICAgIHJpZ2h0OiAtJGd1dHRlcjtcbiAgICBtaW4td2lkdGg6IDE1MHB4O1xuICAgIHotaW5kZXg6IDk5OTtcblxuICAgICYuanMtZHJvcGRvd24tbGlzdC1jbG9zZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYub3ZlcmZsb3duIHtcbiAgICAgICAgcmlnaHQ6IDQwcHg7XG4gICAgICAgIGJvdHRvbTogY2FsYygxMDAlIC0gMjVweCArIDRweCk7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ3V0dGVyLW9uZS1xdWFydGVyO1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay1ibHVlO1xuICAgIH1cblxufVxuXG4uanNncmlkLXRhYmxlIHtcbiAgICB0YWJsZS1sYXlvdXQ6IGF1dG87XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogXCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB0ciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmZjMWMzO1xuICAgICAgICBwYWRkaW5nOiAwLjYzMTU4ZW0gMS4wNTI2M2VtIDAuNDczNjhlbSAwO1xuICAgIH1cbn1cblxudGQuanNncmlkLWNlbGwsXG50aC5qc2dyaWQtaGVhZGVyLWNlbGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzE1Nzk7XG4gICAgZm9udC1mYW1pbHk6IFwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIHBhZGRpbmc6IDAuNjMxNThlbSAxLjA1MjYzZW0gMC40NzM2OGVtIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAjMGIwYzBjO1xuXG4gICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC41cHg7XG5cbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDFweCk7XG4gICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcblxuICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RmMWMzO1xuICAgICAgICA+IGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogIzAwNWVhNTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICA+IGJ1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmQwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbn1cblxudGQuanNncmlkLWNlbGwubm93cmFwIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG50ZC5qc2dyaWQtY2VsbC5taW4td2lkdGgtMzAwIHtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xufVxuXG4uZmEge1xuZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG59XG5cbi5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AglwiO1xufVxuXG4uY29udGVudCAuYnV0dG9uIHtcbmJhY2tncm91bmQtY29sb3I6ICMwMDgyM2I7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAuNTI2MzE1ZW0gLjc4OTQ3M2VtIC4yNjMxNTdlbTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzYxODtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMnB4IDAgIzAwMzYxODtcbiAgICBib3gtc2hhZG93OiAwIDJweCAwICMwMDM2MTg7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcblxufVxuXG50aC5qc2dyaWQtaGVhZGVyLWNlbGwge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLy8gLmpzZ3JpZC1sb2FkLXNoYWRlciB7fVxuLy9cbi8vIC5qc2dyaWQtbG9hZC1wYW5lbCB7fVxuXG4uc2VhcmNoLWZpZWxkIHtcbiAgICB3aWR0aDogNjYlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbn1cblxuLmZhLWNhcmV0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCLvg5dcIjtcbn1cblxuLmV2aWRlbmNlLXNlYXJjaF9fZGF0YS1ncmlkIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xufVxuIiwiLmRhdGEtZ3JpZC1kZWx0YS0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuYWN0aXZlLWZpbHRlcnMtc3VtbWFyeSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgY29sb3I6ICMxZDcwYjg7XG4gICAgICAgIGZvbnQtc2l6ZTogc21hbGxlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLm11bHRpc2VsZWN0LWNob3Nlbi1vcHRpb25zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgLnNlYXJjaC1jaG9pY2Uge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24uc2VhcmNoLWNob2ljZS1jbG9zZSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGFsbDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uLnNlYXJjaC1jaG9pY2UtY2xvc2U6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIsOXXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlci1jb250cm9scyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAucGFnZXItaXRlbXMge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRhdGEtZ3JpZC1zY3JvbGwtY29udGFpbmVyIHtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB9XG5cbiAgICAuY29sbGVjdGlvbi1ncm91cHNfX29yZ2FuaXNhdGlvbnMtbGlzdCB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICB9XG5cbiAgICAuZGVsdGEtdGFibGUtZmlsdGVycyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YyZjE7XG5cbiAgICAgICAgLmRlbHRhLXRhYmxlLWZpbHRlcnMtaGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjFiNGI2O1xuICAgICAgICB9XG4gICAgICAgIC5kZWx0YTItdGFibGUtZmlsdGVycy1oZWFkZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgfVxuICAgICAgICAuZGVsdGEtZmlsdGVycy1oZWFkZXItY29tcG9uZW50cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgLmRlbHRhLXJlc3VsdHMtYWN0aXZlLWZpbHRlcnMge1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFNkU2RTY7XG4gICAgICAgIH1cbiAgICAgICAgLmZhY2V0cyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaGZvcm0gLmNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogaW5pdGlhbDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2hmb3JtIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbWFsbC1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAjc2VhcmNoLXRleHRmaWVsZCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDNweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmXG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLXRleHRmaWVsZC1uby1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmZcbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1leHBhbmRlci10b2dnbGUtYWxsLWdkcyB7XG4gICAgICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgICBcbiAgICAgICAgLmFwcGx5LWFsbC1maWx0ZXJzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDcwM2M7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xlYXItYWxsLWZpbHRlcnMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAgICAgfVxuICAgICAgICAuY2xlYXItYWxsLWZpbHRlcnMge1xuICAgICAgICAgICAgY29sb3I6ICMxZDcwYjg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsZWFyLWFsbC1maWx0ZXJzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsZWFyLWFsbC1maWx0ZXJzOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwNDM3ZDtcbiAgICAgICAgICAgIG91dGxpbmU6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgICAgIC5kYXRhZ3JpZF9jbGVhci1maWx0ZXItbGlua3tcbiAgICAgICAgICAgIGNvbG9yOiAjMWQ3MGI4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0YWdyaWRfY2xlYXItZmlsdGVyLWxpbms6aG92ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZWZmO1xuICAgICAgICAgICAgY29sb3I6ICMwMDQzN2Q7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgI2Q5ZWVmZjtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gICAgICAgIH1cblxuICAgICAgICAuZHNfZGF0ZXBpY2tlcl9fYnV0dG9ue1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3MDNjIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kc19kYXRlcGlja2VyX19pbnB1dC13cmFwcGVye1xuICAgICAgICAgICAgZ2FwOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNiMWI0YjY7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tdWx0aXNlbGVjdC1zdW1tYXJ5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmdvdnVrLWFjY29yZGlvbi1uYXZfX2NoZXZyb24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBiMGMwYztcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzBiMGMwYztcblxuICAgICAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2YzZjJmMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZWx0YS10YWJsZS1maWx0ZXItc3VtbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDcwYjg7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgLnNob3ctZmlsdGVycyB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCAwICMxNDRlODE7XG4gICAgICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZjFmODtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzFkNzBiODtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaS5mYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRlbHRhLXRhYmxlLWZpbHRlci1zdW1tYXJ5IC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHNlbGVjdC5hZGQtdG8tbXVsdGlzZWxlY3Qge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG4gICAgfVxuICAgIGJ1dHRvbi5hZGQtdG8tbXVsdGlzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5qcy1leHBhbmRlci1oYW5kbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmZpbHRlci5qcy1leHBhbmRlciB7XG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQtLXNob3cge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICB9XG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQtLWhpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmpzLWV4cGFuZGVyLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tdG9nZ2xlLXRleHQtLXNob3cge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLXRvZ2dsZS10ZXh0LS1oaWRlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5nb3Z1ay1hY2NvcmRpb24tbmF2X19jaGV2cm9uIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuanMtZXhwYW5kZXItLWluaXRpYWwtY29sbGFwc2Uge1xuICAgICAgICAgICAgLmpzLWV4cGFuZGVyLXRhcmdldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXItdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXIgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5maWx0ZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuYWN0aXZlLWZpbHRlcnMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICAvLyBUYWtlbiBmcm9tIGdvdnVrIGNzczpcbiAgICAuZ292dWstcGFnaW5hdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MC4wNjI1ZW0pIHtcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb24ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpc3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0sXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtaW4td2lkdGg6IDQ1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLFxuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCxcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSxcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE1Nzg5NDczNztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSxcbiAgICAgICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQsXG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtOmhvdmVyLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0OmhvdmVyLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2OmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjJmMTtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwLjA2MjVlbSkge1xuICAgICAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2LFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmssXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX25leHQgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19wcmV2IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCxcbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tZWxsaXBzZXMsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW06Zmlyc3QtY2hpbGQsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ3MGI4O1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDcwYjg7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmxpbmssIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0tLWN1cnJlbnQgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6aG92ZXIsIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTkpO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tY3VycmVudCAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjMGIwYzBjO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1lbGxpcHNlcyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjNTA1YTVmO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faXRlbS0tZWxsaXBzZXM6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4td2lkdGg6IDE1cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gICAgQG1lZGlhIHNjcmVlbiB7XG4gICAgICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmhvdmVyIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlLS1kZWNvcmF0ZWQsIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmFjdGl2ZSAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IG1heCgxcHgsIC4wNjI1cmVtKTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjE1NzhlbTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6aG92ZXIgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstbGFiZWwsXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6aG92ZXIgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGUtLWRlY29yYXRlZCwgLmdvdnVrLXBhZ2luYXRpb25fX2xpbms6YWN0aXZlIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsLFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmFjdGl2ZSAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogbWF4KDNweCwgLjE4NzVyZW0sIC4xMmVtKTtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcC1pbms6IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXNraXA6IG5vbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmZvY3VzIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uIHtcbiAgICAgICAgY29sb3I6ICMwYjBjMGM7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rOmZvY3VzIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyAuZ292dWstcGFnaW5hdGlvbl9fbGluay10aXRsZS0tZGVjb3JhdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLWxhYmVsIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IG1heCgxcHgsIC4wNjI1cmVtKTtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAwLjE1NzhlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2ljb24ge1xuICAgICAgICB3aWR0aDogMC45Mzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuODEyNXJlbTtcbiAgICAgICAgY29sb3I6ICM1MDVhNWY7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRjb2xvcjtcbiAgICAgICAgZm9yY2VkLWNvbG9yLWFkanVzdDogYXV0bztcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faWNvbi0tcHJldiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICB9XG5cbiAgICAuZ292dWstcGFnaW5hdGlvbl9faWNvbi0tbmV4dCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19uZXh0LFxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fcHJldiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCAuZ292dWstcGFnaW5hdGlvbl9faWNvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX3ByZXYgKyAuZ292dWstcGFnaW5hdGlvbl9fbmV4dCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjYjFiNGI2O1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmssXG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19saW5rLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgIH1cbiAgICAuZ292dWstcGFnaW5hdGlvbi0tYmxvY2sgLmdvdnVrLXBhZ2luYXRpb25fX2xpbmstdGl0bGU6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbGluazpmb2N1cyAuZ292dWstcGFnaW5hdGlvbl9fbGluay1sYWJlbCB7XG4gICAgICAgIG91dGxpbmU6IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICMwYjBjMGM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRkMDA7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgLTJweCAjZmZkZDAwLCAwIDRweCAjMGIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIC13ZWJraXQtYm94LWRlY29yYXRpb24tYnJlYWs6IGNsb25lO1xuICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uLS1ibG9jayAuZ292dWstcGFnaW5hdGlvbl9fbGluazpub3QoOmZvY3VzKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgLmdvdnVrLXBhZ2luYXRpb24tLWJsb2NrIC5nb3Z1ay1wYWdpbmF0aW9uX19pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuXG4gICAgLmdvdnVrLXBhZ2luYXRpb25fX2l0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5nb3Z1ay1wYWdpbmF0aW9uX19pdGVtLS1jdXJyZW50IHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgfVxuXG4gICAgLnRvdGFsLXJlY29yZHMtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDgwcHhcbiAgICB9XG59IiwiQHVzZSAnc2FzczptYXRoJztcblxuJGd1dHRlcjogMzBweDtcbiRndXR0ZXItb25lLXF1YXJ0ZXI6IG1hdGguZGl2KCRndXR0ZXIsIDQpO1xuJGd1dHRlci1vbmUtdGhpcmQ6IG1hdGguZGl2KCRndXR0ZXIsIDMpO1xuJGd1dHRlci1oYWxmOiBtYXRoLmRpdigkZ3V0dGVyLCAyKTtcbiRnb3Z1ay1ibHVlOiAjMDA1ZWE1O1xuJGxpZ2h0LWJsdWU6ICMyYjhjYzQ7XG4kd2hpdGU6ICNmZmY7XG5cblxuLmpzLWFjdGl2ZS1maWx0ZXJzLWRyb3Bkb3duLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICA+IGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMC41cHg7XG4gICAgfVxuXG4gICAgLmZhLWNhcmV0LWRvd24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNSUpO1xuICAgIH1cbn1cblxuXG4uanMtYWN0aXZlLWZpbHRlcnMtZHJvcGRvd24ge1xuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWJsdWU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkZ3V0dGVyLWhhbGY7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgJi5qcy1hY3RpdmUtZmlsdGVycy1kcm9wZG93bi1jbG9zZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGd1dHRlci1vbmUtcXVhcnRlcjtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGNvbG9yOiAkZ292dWstYmx1ZTtcbiAgICB9XG59XG5cbi5mYWNldHMgLmdvdnVrLWZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5mYWNldHMgLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5mb3JtLXBhbmVsLmpzLWV4cGFuZGVyIC5qcy1leHBhbmRlci10YXJnZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cblxuLmZpbHRlciAuYmxvY2stbGlzdC5hY3RpdmUtZmlsdGVycy1saXN0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbGkge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICB9XG59XG5cbi5mYWNldHMgLnNpZGViYXItc2VhcmNoLWZpZWxkIC5nb3Z1ay1idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG59IiwiLy8gTm90aWNlLCB0ZXh0IHdpdGggYW4gaWNvbiB0byB0aGUgbGVmdFxuLy9AdG9kbyBSZXZpZXcgd2hldGhlciBkdXBsaWNhdGlvbiBoZXJlIGNhbiBiZSB0aWRpZWQgdXAgLSBjdXJyZW50IGZvcm1hdCB3YXNcbi8vIGEgc2VtaS1DJlAgam9iLi4uIFNjcmVlbi5zY3NzIGhhcyBhbm90aGVyIHJlbGF0ZWQgY2h1bmsgb2YgJ25vdGljZSdcblxuLm5vdGljZSB7XG4gICAgLy9AZXh0ZW5kICVjb250YWluLWZsb2F0cztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJGd1dHRlci1oYWxmIDAgJGd1dHRlci1vbmUtdGhpcmQ7XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xN3B4OyAvLyBIYWxmIHRoZSBoZWlnaHQgb2YgdGhlIGltcG9ydGFudCBpY29uXG5cbiAgICAgICYuZmEge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTlweDtcbiAgICAgIH1cblxuICAgICAgJi5mYS0yeHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAoMzUgKyAzMCkgKyBweDtcbiAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyLWhhbGY7XG4gICAgfVxuXG5cbn1cblxuXG4ubm90aWNlIHtcbiAgICAuaWNvbi5qcy1jbG9zZS1lbGVtZW50IHtcbiAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtN3B4O1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgKiAxLjU7XG4gICAgfVxuXG4gICAgLmljb24tYmFubmVyLXdhcm5pbmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTFweDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgY29udGVudDogJ2knO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGd1dHRlci1oYWxmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmdvdnVrLWJsdWUtYmFubmVyIHtcblxuICAgICAgICAuaWNvbi1iYW5uZXItd2FybmluZzpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRnb3Z1ay1ibHVlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mb3JtLWdyb3Vwe1xuICAgIC5ub3RpY2V7XG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAvL0BleHRlbmQgLmJvbGQteHNtYWxsO1xuICAgICAgICAgICAgY29sb3I6ICRnb3Z1ay1ibHVlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyLW9uZS10aGlyZCAqIDQ7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1iYW5uZXItd2FybmluZyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIC8vQGV4dGVuZCAuYm9sZC14c21hbGw7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdvdnVrLWJsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4vKiBAdG9kbzogbWFrZSBTQVNTOyBjb3BpZWQgYXMtaXMgZnJvbSBfZGNsZy5zY3NzIHwgYmx1ZSBpbmZvcm1hdGlvbiBiYW5uZXIgKi9cbi5nb3Z1ay1ibHVlLWJhbm5lcntcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJsdWU7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gIH1cblxuICAuaWNvbi5qcy1jbG9zZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3B1YmxpYy9pbWFnZXMvY2xvc2UtaW52ZXJzZS5wbmcpIG5vLXJlcGVhdCAycHggMnB4O1xuICB9XG5cbn1cblxuLmdvdnVrLXJlZC1iYW5uZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmljb24uanMtY2xvc2UtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1hZ2VzL2Nsb3NlLWludmVyc2UucG5nKSBuby1yZXBlYXQgMnB4IDJweDtcbiAgfVxuXG59XG4uZ292dWsteWVsbG93LWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3c7XG4gIGNvbG9yOiAkYmxhY2s7XG5cbiAgYTpsaW5rLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gIH1cblxuICAuaWNvbi5qcy1jbG9zZS1lbGVtZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoL3B1YmxpYy9pbWFnZXMvY2xvc2UucG5nKSBuby1yZXBlYXQgMnB4IDJweDtcbiAgfVxuXG59XG4uZ292dWstZ3JlZW4tYmFubmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gIGE6bGluaywgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLmljb24uanMtY2xvc2UtZWxlbWVudCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC9wdWJsaWMvaW1hZ2VzL2Nsb3NlLWludmVyc2UucG5nKSBuby1yZXBlYXQgMnB4IDJweDtcbiAgfVxuXG59XG5cblxuLy8gTm90aWNlIGJhbm5lciBmb3IgJ0RlbGV0ZSBkaWFsb2cnIHBvcHVwXG4vLyBAdG9kbyBSZXZpZXcgdG8gc2VlIGlmIHRoaXMgY2FuIGJlIGZsYXR0ZW5lZCBpbnRvIGV4aXN0aW5nIHN0eWxlcyBhYm92ZVxuXG4ubm90aWNle1xuICAmLWRlbGV0ZXtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAuaWNvbntcbiAgICAgIGxlZnQ6IDEuNSU7XG4gICAgfVxuXG4gIH1cbn1cblxuLmZvcm0tZ3JvdXAge1xuXG4gICAgLmluZm8tbm90aWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5nb3Z1ay13YXJuaW5nLXRleHRfX2ljb24ge1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsYXJpYWwsc2Fucy1zZXJpZjtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1pbi13aWR0aDogMzVweDtcbiAgICAgICAgbWluLWhlaWdodDogMzVweDtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgIzBiMGMwYztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZDogIzBiMGMwYztcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cbiAgICAuZ292dWstd2FybmluZy10ZXh0X190ZXh0IHtcbiAgICAgICAgY29sb3IgOiAjMGIwYzBjICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZSA6IDE5cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICB9XG5cbn1cbiIsIiNpbi1yZXZpZXctYm94IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJhY2tncm91bmQ6ICNmYWZhMDU7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMDFweDtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgcGFkZGluZy1yaWdodDogOTdweDtcbiAgfVxufVxuXG4jYXBwcm92ZWQtYm94IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJhY2tncm91bmQ6ICNmZjlmNDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODBweDtcbn1cblxuI2NsZWFyZWQtYm94IHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgIGJhY2tncm91bmQ6ICMwMDk5MDA7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICB3aWR0aDogNTgwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMTQycHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICBmb250LXNpemU6IDhweDtcbiAgcGFkZGluZy1yaWdodDogMTE3cHg7XG4gIH1cbn1cblxuI2ZvcmVjYXN0LWJveCB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDdweDtcbiAgICBiYWNrZ3JvdW5kOiAjMjFlY2U5O1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgd2lkdGg6IDU4MHB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZy1yaWdodDogMjU5cHg7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICBwYWRkaW5nLXJpZ2h0OiAxNzVweDtcbiAgZm9udC1zaXplOiA4cHg7XG4gIH1cbn1cblxuI2Rhc2hib2FyZC1wYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4ubGVnZW5kLWdyb3VwIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgd2lkdGg6IDYzMHB4O1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkge1xuICAgICAgICB3aWR0aDogMzgycHg7XG4gICAgfVxuXG59XG5cbi5mb3JtLWdyb3VwIC5sZWdlbmQtYm94IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA3cHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICB3aWR0aDogNTgwcHg7XG59XG5cbi5mb3JtLWdyb3VwICNvcGVuLWRhdGEtYm94IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMzBweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjAxLCAyMDMsIDIwNyk7XG59XG4uZm9ybS1ncm91cCAjc2F2ZWQtYm94IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzODZweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjUwLCAyNTAsIDUpO1xufVxuLmZvcm0tZ3JvdXAgI3N1Ym1pdHRlZC1ib3gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM0NXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigzMywgMjM2LCAyMzMpO1xufVxuLmZvcm0tZ3JvdXAgI2NlcnRpZmllZC1ib3gge1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2NXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYigwLCAxMjgsIDApO1xufVxuXG4uZm9ybS1ncm91cCAubGVnZW5kLWJveCBzcGFuIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cbiIsInNlY3Rpb24jbW9yZXtcbiAgbWFyZ2luLXRvcDogJGd1dHRlcjtcbn1cblxuLm5hdi10YWJzIHtcbiAgem9vbTogMTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBjbGVhcjogYm90aDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBvbCwgdWwsIC50YWJzLW5hdntcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICB9XG5cbiAgbGksIC50YWJzLW5hdiBsaXtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCl7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICNmZmY7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBoZWlnaHQ6IDIuMjVlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjI1ZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgICAgcGFkZGluZzogMCAxZW0gMCAxZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUgYXtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjYmZjMWMzO1xuICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmZmY7XG4gICAgICBjb2xvcjogIzBiMGMwYztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCBhe1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5qcy10YWItY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRhYi1jb250ZW50IC50YWItcGFuZSB7XG4gIHBhZGRpbmc6ICRndXR0ZXIgMCAwIDA7XG4gIGJvcmRlci10b3A6IHNvbGlkIDFweCAjYmZjMWMzO1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5vZmZpY2UtZm9ybS1ub3RpY2UtcGFzc3dvcmQge1xuICAgIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBTZWdvZSBVSSxTZWdvZSBXUCxUYWhvbWEsQXJpYWwsc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xufVxuXG4ub2ZmaWNlLWZvcm0tZm9vdGVyLWJsb2NrIHtcbiAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogU2Vnb2UgVUksU2Vnb2UgV1AsVGFob21hLEFyaWFsLHNhbnMtc2VyaWYgIWltcG9ydGFudDtcbn1cbiIsIi5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24ge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIG92ZXJmbG93OmhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOjYwcHg7XG4gICAgd2lkdGg6MTAwJTtcbn1cbi5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGl7XG4gIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6MjBweDtcbiAgbGluZS1oZWlnaHQ6MS4xMTExMTtcbiAgZm9udC13ZWlnaHQ6NDAwO1xuICB0ZXh0LXRyYW5zZm9ybTpub25lO1xuICBkaXNwbGF5OmJsb2NrO1xuICBwYWRkaW5nOjA7XG4gIG1hcmdpbjowO1xuICB3aWR0aDo1MCU7XG4gIGZsb2F0OmxlZnQ7XG5cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkge1xuICAgIGZvbnQtc2l6ZToyN3B4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMTExMTFcbiAgfVxufVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5uZXh0IHtcbiAgIGZsb2F0OnJpZ2h0O1xuICAgdGV4dC1hbGlnbjpyaWdodDtcbiB9XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpLm5leHQgYSB7XG4gICBwYWRkaW5nOjE1cHggMzVweCAxNXB4IDA7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5uZXh0IGE6YmVmb3JlIHtcbiAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKGh0dHBzOi8vYXNzZXRzLnB1Ymxpc2hpbmcuc2VydmljZS5nb3YudWsvZ292ZXJubWVudC9hc3NldHMvYXJyb3ctc3ByaXRlLTJCOENDNC01ZTJjZWUzZTk4MjU0OWI1Mjg1Njg0YTJlNGYwNzA2YzVkOWM1MzFmMGFmZGY2MWRmZTMyZGZiMWRmZWI4MmYwLnBuZykgbm8tcmVwZWF0IC0xMDJweCAtMTFweDtcbiAgIG1hcmdpbjotNHB4IC0zMnB4IDAgMDtcbiAgIGRpc3BsYXk6YmxvY2s7XG4gICBmbG9hdDpyaWdodDtcbiAgIHdpZHRoOjMwcHg7XG4gICBoZWlnaHQ6MzhweDtcbiAgIGNvbnRlbnQ6XCIgXCI7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaS5wcmV2aW91cyBhIHtcbiAgIHBhZGRpbmc6MTVweCAwIDE1cHggMzVweDtcbiB9XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpLnByZXZpb3VzIGE6YmVmb3JlIHtcbiAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQgdXJsKGh0dHBzOi8vYXNzZXRzLnB1Ymxpc2hpbmcuc2VydmljZS5nb3YudWsvZ292ZXJubWVudC9hc3NldHMvYXJyb3ctc3ByaXRlLTJCOENDNC01ZTJjZWUzZTk4MjU0OWI1Mjg1Njg0YTJlNGYwNzA2YzVkOWM1MzFmMGFmZGY2MWRmZTMyZGZiMWRmZWI4MmYwLnBuZykgbm8tcmVwZWF0IC0yMHB4IC0xMXB4O1xuICAgbWFyZ2luOi00cHggMCAwIC0zMnB4O1xuICAgZGlzcGxheTpibG9jaztcbiAgIGZsb2F0OmxlZnQ7XG4gICB3aWR0aDozMHB4O1xuICAgaGVpZ2h0OjM4cHg7XG4gICBjb250ZW50OlwiIFwiO1xuIH1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYSB7XG4gICBkaXNwbGF5OmJsb2NrO1xuICAgdGV4dC1kZWNvcmF0aW9uOm5vbmU7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhIHNwYW4ge1xuICAgZGlzcGxheTpibG9jaztcbiAgIGZvbnQtZmFtaWx5OlwibnRhXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgZm9udC1zaXplOjEycHg7XG4gICBsaW5lLWhlaWdodDoxLjI1O1xuICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgIHBhZGRpbmctdG9wOjZweDtcbiAgIHBhZGRpbmctYm90dG9tOjRweDtcbiB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIGEgc3BhbiB7XG4gICAgZm9udC1zaXplOjE0cHg7XG4gICAgbGluZS1oZWlnaHQ6MS40Mjg1NztcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHtcbiAgLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhIHNwYW4ge1xuICAgIHBhZGRpbmctdG9wOjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbToxcHg7XG4gIH1cbn1cblxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYTpmb2N1cyAucGFnZS1udW1iZXJzLFxuIC5wcmV2aW91cy1uZXh0LW5hdmlnYXRpb24gbGkgYTpob3ZlciAucGFnZS1udW1iZXJzIHtcbiAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gfVxuXG4gLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSBhOmhvdmVyIHtcbiAgIGJhY2tncm91bmQ6I2Y4ZjhmODtcbiB9XG5cbiAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIGE6YWN0aXZlIHtcbiAgIGJhY2tncm91bmQ6I2RlZTBlMjtcbiB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAucHJldmlvdXMtbmV4dC1uYXZpZ2F0aW9uIGxpIC52aXN1YWxseWhpZGRlbiB7XG4gICAgZm9udC1mYW1pbHk6XCJudGFcIiwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOjIwcHg7XG4gICAgbGluZS1oZWlnaHQ6MS4xMTExMTtcbiAgICBmb250LXdlaWdodDo0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06bm9uZTtcbiAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjpzdGF0aWM7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSBhbmQgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgLnByZXZpb3VzLW5leHQtbmF2aWdhdGlvbiBsaSAudmlzdWFsbHloaWRkZW4ge1xuICAgIGZvbnQtc2l6ZToyN3B4O1xuICAgIGxpbmUtaGVpZ2h0OjEuMTExMTE7XG4gIH1cbn1cbiIsImRpYWxvZ1tvcGVuXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6IDA7XG4gIHdpZHRoOiA1OCU7XG4gIG1hcmdpbjogMWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbi10b3A6IDEwJTtcbiAgZm9udC1zaXplOiAxOXB4O1xuICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsYXJpYWwsc2Fucy1zZXJpZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gIGRpYWxvZ1tvcGVuXSB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4IDE1cHggMTVweDtcbiAgICBtYXJnaW46IDMwcHggYXV0bztcblxuXHRmb3JtIHtcblx0XHRtYXJnaW4tdG9wOiAxNXB4O1xuXHR9XG4gIH1cbn1cblxuZGlhbG9nICsgLmJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GqXCI7XG59XG5cbmRpYWxvZyBwIHtcbiAgICBtYXJnaW4tdG9wIDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuZGlhbG9nIHtcbiAgICAjZGlhbG9nLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsYXJpYWwsc2Fucy1zZXJpZjtcbiAgICB9XG4gICAgdWwubGlzdC5saXN0LWJ1bGxldCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgfVxufVxuZGlhbG9nI2NvbmZpcm0tczE1MS1vZmZpY2VyIHtcbiAgICB3aWR0aDogNjAlO1xufVxuZGlhbG9nI3NlbGVjdC1kYXRhc2V0IC5nb3Z1ay1yZWQtYmFubmVyIHtcbiAgICBoZWlnaHQ6IDE4cHg7XG59XG5cbmRpYWxvZyNkb3dubG9hZC1kZXRhaWxlZC1yZXBvcnQgLmF1ZGl0LWxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDcwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4ud2FybmluZy1yZWQtYm9yZGVyIHtcbiAgICBib3JkZXI6IDVweCBzb2xpZCAjYjEwZTFlO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIH1cblxuICAgIC5ub3RpY2Uge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTE1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0taW5saW5lIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNHB4IDE1cHggMTVweDtcbiAgICAgICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLGFyaWFsLHNhbnMtc2VyaWY7XG4gICAgfVxuXG59XG5cbi5kaWFsb2ctaXMtb3BlbiB7XG4gICAgLmRpYWxvZy13cmFwcGVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC43NSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsIi5ub3RpY2UtYmFubmVyIHtcbiAgcGFkZGluZzogMTBweCAwIDhweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiZmMxYzM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MXB4KSB7XG4gICAgLm5vdGljZS1iYW5uZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH0gfVxuXG4ubm90aWNlLWJhbm5lciBwIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6IHJnYigxMSwgMTIsIDEyKTtcbiAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzE1Nzg5NDczNzsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDFweCkge1xuICAgICAgLm5vdGljZS1iYW5uZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7IH0gfVxuXG4gIC5ub3RpY2UtYmFubmVyIC5waGFzZS10YWcge1xuICAgIGRpc3BsYXk6IC1tb3otaW5saW5lLXN0YWNrO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgOHB4IDAgMDtcbiAgICBwYWRkaW5nOiAycHggNXB4IDA7XG4gICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS4xNDI4NjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNTM4ODA7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQxcHgpIHtcbiAgICAgIC5ub3RpY2UtYmFubmVyIC5waGFzZS10YWcge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OyB9IH1cbiAgLm5vdGljZS1iYW5uZXIgc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbi5ub3RpY2UtYmFubmVyIHNwYW4ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLnBhbmVsLWxpbWl0LXdpZHRoIHtcbiAgbWF4LXdpZHRoOiA2NTBweDtcbn1cblxuLmRlbHRhLXNtYWxsZXItcGFuZWwge1xuICAuZ292dWstcGFuZWxfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDQwcHg7XG4gIH1cbiAgLmdvdnVrLXBhbmVsX19ib2R5IHtcbiAgICBmb250LXNpemU6IDI3cHg7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgfVxufVxuIiwiLy8gU2hvdyBlbWJlZGRlZCBPcmJlb24gdGhyb3VnaCBhIHZpZXdwb3J0IHdpdGggc2V0IHdpZHRoL2hlaWdodCB0byBwcmV2ZW50IG92ZXJmbG93IGlzc3Vlc1xuI2VtYmVkZGVkLWZvcm0tYnVpbGRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODAwcHg7XG59XG5cbiNlbWJlZGRlZC1mb3JtLWJ1aWxkZXIgZGl2Lm9yYmVvbi5vcmJlb24tcG9ydGxldC1kaXYge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vLyBQcmV2ZW50IE9yYmVvbiBwb3B1cHMgZnJvbSBkaXNhcHBlYXJpbmcgYmVoaW5kIHRoZSBwb3J0bGV0XG4jZW1iZWRkZWQtZm9ybS1idWlsZGVyIC55dWktZGlhbG9nIHtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbn1cblxuLm9yYmVvbiAjbzB4Zm9ybXMtZm9ybSAueHhmb3Jtcy1zZXQtaGVpZ2h0IC54eGZvcm1zLWRpYWxvZy1ib2R5IC5mYi1kaWFsb2ctcmVtYWluaW5nLWhlaWdodCB7XG4gIGJvdHRvbTogMTEwcHg7XG59XG5cbi5vcmJlb24gI28weGZvcm1zLWZvcm0gLnh4Zm9ybXMtc2V0LWhlaWdodCAueHhmb3Jtcy1kaWFsb2ctYm9keSAuZnItZGlhbG9nLWJ1dHRvbnMge1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDk5OTtcbiAgcGFkZGluZy1yaWdodDogNTBweDtcbn1cblxuLm9yYmVvbiAjbzB4Zm9ybXMtZm9ybSAuZnItZ3JpZC10ZCAueGZvcm1zLXJlcXVpcmVkIC54Zm9ybXMtbGFiZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbn1cblxuXG4ub3JiZW9uIC5mci1tb2RlLW5ldyAueGZvcm1zLXJlcXVpcmVkIC54Zm9ybXMtbGFiZWw6YmVmb3JlLFxuLm9yYmVvbiAuZnItbW9kZS10ZXN0IC54Zm9ybXMtcmVxdWlyZWQgLnhmb3Jtcy1sYWJlbDpiZWZvcmUsXG4ub3JiZW9uIC54Zm9ybXMtZGlhbG9nIC54Zm9ybXMtcmVxdWlyZWQgLnhmb3Jtcy1sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiAnKiAnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICByaWdodDogY2FsYygxMDAlIC0gMTVweCk7XG4gIHRvcDogLTdweDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG59IiwiLmRlbHRhLW5vdGlmaWNhdGlvbi1iYW5uZXItLWVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICNkNDM1MWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0MzUxYztcbn1cblxuLmRlbHRhLW5vdGlmaWNhdGlvbi1iYW5uZXItLXdhcm5pbmcge1xuICAgIGJvcmRlci1jb2xvcjogI0ZGNUYxNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkY1RjE1O1xufVxuXG4uZ292dWstbm90aWZpY2F0aW9uLWJhbm5lciB7XG4gICAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4uZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fY29udGVudCA+ICoge1xuICAgIG1heC13aWR0aDogODAwcHg7XG59XG4iLCJAbWVkaWEgKG1pbi13aWR0aDogMTQwMHB4KSB7XG4gIGJvZHkge1xuICAgIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjUwcHgpXG4gICAgfVxuXG4gICAgcCwgc3Ryb25nIHtcbiAgICAgIG1heC13aWR0aDogNzVjaDtcbiAgICB9XG5cbiAgICBwLnRleHQtbm8tbWF4LXdpZHRoLCBzdHJvbmcudGV4dC1uby1tYXgtd2lkdGgge1xuICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDExMDBweCkge1xuICBib2R5LmRlbHRhLXdpZGUtcGFnZSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5cbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTUwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIH1cblxuICAgIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxNjAwcHg7XG4gICAgfVxuXG4gICAgLmdvdnVrLWZvb3RlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC01MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC01MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNTBweClcbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlciB7XG4gICAgICAvLyBEaXNwbGF5cyBhcyBhIGJhciBhdCB0aGUgYm90dG9tIHVudGlsIGEgZGF0ZXBpY2tlciBpcyBjbGlja2VkIG9uIHdpdGhvdXQgdGhpc1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLmdyaWQtY29sdW1uLXRleHQtbWF4LXdpZHRoIHtcbiAgQGV4dGVuZCAuZ292dWstZ3JpZC1jb2x1bW4tZnVsbDtcblxuICBtYXgtd2lkdGg6IDUwZW07XG59XG4iLCJcbi5kZWx0YS1hbmltYXRpb24tbG9hZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YyZjE7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYW5pbWF0aW9uOiBkZWx0YUxvYWRpbmc7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGUtcmV2ZXJzZTtcblxuICAuZGVsdGEtYW5pbWF0aW9uLWxvYWRpbmctaW5kaWNhdG9yIHtcbiAgICB3aWR0aDogMTAlO1xuICAgIGhlaWdodDogMTZweDtcbiAgICB0ZXh0LWluZGVudDogLTk5OXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFkNzBiODtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBkZWx0YUxvYWRpbmcge1xuICAwJSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG4gIDEwMCUge1xuICAgIHBhZGRpbmctbGVmdDogMTAwJTtcbiAgfVxufSIsIi5kZWx0YS1pbWFnZS1yZXNwb25zaXZlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5kZWx0YS1zY3JlZW4tZ3JhYiB7XG4gIGJveC1zaGFkb3c6IDAgMCAxcmVtIHJnYmEoMTM4LCAxMzgsIDEzOCwgMC41KTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbn1cblxuLmZzLWhlbHAtaW1hZ2Utb3ZlcmxheS1kaXNwbGF5XG57XG4gIGJhY2tncm91bmQ6ICM0MDQwNDA7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmhlbHAtZnMtaW1hZ2UtY29udGFpbmVyXG57XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAyMHB4O1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi5oaWRkZW5cbntcbiAgZGlzcGxheTogbm9uZTtcbn0iLCIuY2VydGlmaWNhdGlvbi1yZWNvcmRfX2hlYWRlciB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMDhweCk7XG59IiwiI21haW4tY29udGVudC5mdWxsc2NyZWVuLWNvbnRlbnQge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nOiAwIDMwcHg7XG4gIC8qXG4gIFRoZSBjdXJyZW50IE1IQ0xHIGxhcHRvcHMgZW5kIHVwIHdpdGggYSAxMjgycHggdmlld3BvcnQgd2lkdGgsIHdoaWNoIGlzIGp1c3QgdG9vIHNtYWxsIHRvIGJlIGFibGUgdG8gc2VlXG4gIGFsbCB0aGUgYnV0dG9ucyBpbiBPcmJlb24sIHNvIHNocmluayB0aGUgbWFyZ2lucyB0byBnaXZlIGEgZmV3IG1vcmUgcGl4ZWxzIG9mIHNwYWNlLlxuICAqL1xuICBAbWVkaWEgKG1heC13aWR0aDogMTMwMHB4KSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cbn1cblxuLmZ1bGxzY3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn0iLCJib2R5IC5nb3Z1ay10YWcge1xuICAvLyBTbyB0aGF0IGl0IGZpdHMgUmVhZHkgZm9yIGNlcnRpZmljYXRpb24gb24gb25lIGxpbmVcbiAgbWF4LXdpZHRoOiAxODVweDtcbn0iLCIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSpcXFxuICAgIERBVEUgUElDS0VSXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5AbWl4aW4gZHNfbWVkaWEtcXVlcnkoJHNpemUpIHtcbiAgQGlmICRzaXplID09IG1lZGl1bSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLmRzX2RhdGVwaWNrZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuICAuZHNfaW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19pbnB1dC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgZ2FwOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgfVxuXG4gICZfX3RvZGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDBFOEZGO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICZfX3RvZGF5OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3R0b206IDZweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogNHB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDRweDtcbiAgfVxuXG4gICZfX2RpYWxvZyB7XG4gICAgYm94LXNoYWRvdzogMXB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIG91dGxpbmU6IDFweCBzb2xpZCAjQjNCM0IzO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgb3V0bGluZS1jb2xvciAwLjJzO1xuICAgIHdpZHRoOiAyOTZweDtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJi0tb3BlbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBzdXBwb3J0cyAobGVmdDogdmFyKC0tZHMtZGF0ZS1waWNrZXItbGVmdC1vZmZzZXQpKSB7XG4gICAgICAgIGxlZnQ6IHZhcigtLWRzLWRhdGUtcGlja2VyLWxlZnQtb2Zmc2V0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgJl9fbmF2YnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiA0cHg7XG5cbiAgICAgIC5kc19idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFMEUwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgLmRzX2J1dHRvbiAuZHNfaWNvbiB7XG4gICAgICBoZWlnaHQ6IDEuOGVtO1xuICAgICAgd2lkdGg6IDEuOGVtO1xuICAgICAgZmlsbDogIzAwMDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAmX190YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICAgICB0aCwgdGQge1xuICAgICAgICB3aWR0aDogMTQuMjglO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBjb2xvcjogIzVlNWU1ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyOm5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0UwRTBFMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZHNfc2VsZWN0ZWQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAmW2Rpc2FibGVkPVwidHJ1ZVwiXSxcbiAgICAgICAgJlthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgY29sb3I6ICNCMEIwQjA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMsIGNvbG9yIDAuMnM7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFMEUwRTA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5kc19zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgLmRzX2J1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDVweCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycywgY29sb3IgMC4ycztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBFMEUwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5qcy1kYXRlcGlja2VyLW9re1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMDA3MDNjO1xuICAgICAgICBjb2xvcjogI0ZGRjtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNzAzYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDVhMzA7XG4gICAgfVxuXG4gICAgLmRzX2ljb24ge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBmaWxsOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSBkc19tZWRpYS1xdWVyeShtZWRpdW0pIHtcbiAgLmRzX2RhdGVwaWNrZXIge1xuICAgICZfX2RpYWxvZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRlciB7XG4gICAgICAgID4gOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgPiA6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmRzX2J1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDcwM2M7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgYm9yZGVyOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1YTMwO1xuICB9XG59XG5cbi5kc19kYXRlcGlja2VyX19oZWFkZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi5kc19kYXRlcGlja2VyX19mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDhweCAwO1xufVxuXG4uZnVsbHktaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uZHNfZGF0ZXBpY2tlcl9fZGlhbG9nX190YWJsZS1jYXB0aW9uIHtcbiAgY2FwdGlvbi1zaWRlOiBib3R0b207XG4gIGxpbmUtaGVpZ2h0OiAyO1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xufSIsIi8qIVxuICogIEZvbnQgQXdlc29tZSA0LjMuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXG4gKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSlcbiAqL1xuLyogRk9OVCBQQVRIXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udEF3ZXNvbWUnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/dj00LjMuMCcpO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9NC4zLjAnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC53b2ZmMj92PTQuMy4wJykgZm9ybWF0KCd3b2ZmMicpLCB1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQud29mZj92PTQuMy4wJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj00LjMuMCcpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LnN2Zz92PTQuMy4wI2ZvbnRhd2Vzb21lcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbi5mYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG59XG4vKiBtYWtlcyB0aGUgZm9udCAzMyUgbGFyZ2VyIHJlbGF0aXZlIHRvIHRoZSBpY29uIGNvbnRhaW5lciAqL1xuLmZhLWxnIHtcbiAgZm9udC1zaXplOiAxLjMzMzMzMzMzZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xufVxuLmZhLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4uZmEtM3gge1xuICBmb250LXNpemU6IDNlbTtcbn1cbi5mYS00eCB7XG4gIGZvbnQtc2l6ZTogNGVtO1xufVxuLmZhLTV4IHtcbiAgZm9udC1zaXplOiA1ZW07XG59XG4uZmEtZncge1xuICB3aWR0aDogMS4yODU3MTQyOWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uZmEtdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAyLjE0Mjg1NzE0ZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbi5mYS11bCA+IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmZhLWxpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtMi4xNDI4NTcxNGVtO1xuICB3aWR0aDogMi4xNDI4NTcxNGVtO1xuICB0b3A6IDAuMTQyODU3MTRlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmZhLWxpLmZhLWxnIHtcbiAgbGVmdDogLTEuODU3MTQyODZlbTtcbn1cbi5mYS1ib3JkZXIge1xuICBwYWRkaW5nOiAuMmVtIC4yNWVtIC4xNWVtO1xuICBib3JkZXI6IHNvbGlkIDAuMDhlbSAjZWVlZWVlO1xuICBib3JkZXItcmFkaXVzOiAuMWVtO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG59XG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uZmEucHVsbC1sZWZ0IHtcbiAgbWFyZ2luLXJpZ2h0OiAuM2VtO1xufVxuLmZhLnB1bGwtcmlnaHQge1xuICBtYXJnaW4tbGVmdDogLjNlbTtcbn1cbi5mYS1zcGluIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO1xufVxuLmZhLXB1bHNlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhLXNwaW4gMXMgaW5maW5pdGUgc3RlcHMoOCk7XG4gIGFuaW1hdGlvbjogZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmEtc3BpbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59XG4uZmEtcm90YXRlLTkwIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0xKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbn1cbi5mYS1yb3RhdGUtMTgwIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cbi5mYS1yb3RhdGUtMjcwIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0zKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbn1cbi5mYS1mbGlwLWhvcml6b250YWwge1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTAsIG1pcnJvcj0xKTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbn1cbi5mYS1mbGlwLXZlcnRpY2FsIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSk7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG59XG46cm9vdCAuZmEtcm90YXRlLTkwLFxuOnJvb3QgLmZhLXJvdGF0ZS0xODAsXG46cm9vdCAuZmEtcm90YXRlLTI3MCxcbjpyb290IC5mYS1mbGlwLWhvcml6b250YWwsXG46cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbCB7XG4gIGZpbHRlcjogbm9uZTtcbn1cbi5mYS1zdGFjayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5mYS1zdGFjay0xeCxcbi5mYS1zdGFjay0yeCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5mYS1zdGFjay0xeCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuLmZhLXN0YWNrLTJ4IHtcbiAgZm9udC1zaXplOiAyZW07XG59XG4uZmEtaW52ZXJzZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xufVxuLyogRm9udCBBd2Vzb21lIHVzZXMgdGhlIFVuaWNvZGUgUHJpdmF0ZSBVc2UgQXJlYSAoUFVBKSB0byBlbnN1cmUgc2NyZWVuXG4gICByZWFkZXJzIGRvIG5vdCByZWFkIG9mZiByYW5kb20gY2hhcmFjdGVycyB0aGF0IHJlcHJlc2VudCBpY29ucyAqL1xuLmZhLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAwXCI7XG59XG4uZmEtbXVzaWM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDFcIjtcbn1cbi5mYS1zZWFyY2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbn1cbi5mYS1lbnZlbG9wZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDAzXCI7XG59XG4uZmEtaGVhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDRcIjtcbn1cbi5mYS1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG4uZmEtc3Rhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA2XCI7XG59XG4uZmEtdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwN1wiO1xufVxuLmZhLWZpbG06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMDhcIjtcbn1cbi5mYS10aC1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwOVwiO1xufVxuLmZhLXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBhXCI7XG59XG4uZmEtdGgtbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwYlwiO1xufVxuLmZhLWNoZWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG59XG4uZmEtcmVtb3ZlOmJlZm9yZSxcbi5mYS1jbG9zZTpiZWZvcmUsXG4uZmEtdGltZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cbi5mYS1zZWFyY2gtcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZVwiO1xufVxuLmZhLXNlYXJjaC1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMFwiO1xufVxuLmZhLXBvd2VyLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMVwiO1xufVxuLmZhLXNpZ25hbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxMlwiO1xufVxuLmZhLWdlYXI6YmVmb3JlLFxuLmZhLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxM1wiO1xufVxuLmZhLXRyYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTRcIjtcbn1cbi5mYS1ob21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE1XCI7XG59XG4uZmEtZmlsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE2XCI7XG59XG4uZmEtY2xvY2stbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxN1wiO1xufVxuLmZhLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMThcIjtcbn1cbi5mYS1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxOVwiO1xufVxuLmZhLWFycm93LWNpcmNsZS1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMWFcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxYlwiO1xufVxuLmZhLWluYm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFjXCI7XG59XG4uZmEtcGxheS1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZFwiO1xufVxuLmZhLXJvdGF0ZS1yaWdodDpiZWZvcmUsXG4uZmEtcmVwZWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFlXCI7XG59XG4uZmEtcmVmcmVzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyMVwiO1xufVxuLmZhLWxpc3QtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDIyXCI7XG59XG4uZmEtbG9jazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyM1wiO1xufVxuLmZhLWZsYWc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMjRcIjtcbn1cbi5mYS1oZWFkcGhvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI1XCI7XG59XG4uZmEtdm9sdW1lLW9mZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyNlwiO1xufVxuLmZhLXZvbHVtZS1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI3XCI7XG59XG4uZmEtdm9sdW1lLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI4XCI7XG59XG4uZmEtcXJjb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDI5XCI7XG59XG4uZmEtYmFyY29kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYVwiO1xufVxuLmZhLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyYlwiO1xufVxuLmZhLXRhZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmNcIjtcbn1cbi5mYS1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJkXCI7XG59XG4uZmEtYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmVcIjtcbn1cbi5mYS1wcmludDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyZlwiO1xufVxuLmZhLWNhbWVyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzMFwiO1xufVxuLmZhLWZvbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzFcIjtcbn1cbi5mYS1ib2xkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMyXCI7XG59XG4uZmEtaXRhbGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDMzXCI7XG59XG4uZmEtdGV4dC1oZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMzRcIjtcbn1cbi5mYS10ZXh0LXdpZHRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM1XCI7XG59XG4uZmEtYWxpZ24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzNlwiO1xufVxuLmZhLWFsaWduLWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzN1wiO1xufVxuLmZhLWFsaWduLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDM4XCI7XG59XG4uZmEtYWxpZ24tanVzdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzOVwiO1xufVxuLmZhLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2FcIjtcbn1cbi5mYS1kZWRlbnQ6YmVmb3JlLFxuLmZhLW91dGRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2JcIjtcbn1cbi5mYS1pbmRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2NcIjtcbn1cbi5mYS12aWRlby1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwM2RcIjtcbn1cbi5mYS1waG90bzpiZWZvcmUsXG4uZmEtaW1hZ2U6YmVmb3JlLFxuLmZhLXBpY3R1cmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuLmZhLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MFwiO1xufVxuLmZhLW1hcC1tYXJrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjtcbn1cbi5mYS1hZGp1c3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDJcIjtcbn1cbi5mYS10aW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQzXCI7XG59XG4uZmEtZWRpdDpiZWZvcmUsXG4uZmEtcGVuY2lsLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ0XCI7XG59XG4uZmEtc2hhcmUtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDVcIjtcbn1cbi5mYS1jaGVjay1zcXVhcmUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0NlwiO1xufVxuLmZhLWFycm93czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0N1wiO1xufVxuLmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNDhcIjtcbn1cbi5mYS1mYXN0LWJhY2t3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQ5XCI7XG59XG4uZmEtYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGFcIjtcbn1cbi5mYS1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRiXCI7XG59XG4uZmEtcGF1c2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNGNcIjtcbn1cbi5mYS1zdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRkXCI7XG59XG4uZmEtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0ZVwiO1xufVxuLmZhLWZhc3QtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MFwiO1xufVxuLmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1MVwiO1xufVxuLmZhLWVqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUyXCI7XG59XG4uZmEtY2hldnJvbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG59XG4uZmEtY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1NFwiO1xufVxuLmZhLXBsdXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU1XCI7XG59XG4uZmEtbWludXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU2XCI7XG59XG4uZmEtdGltZXMtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU3XCI7XG59XG4uZmEtY2hlY2stY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU4XCI7XG59XG4uZmEtcXVlc3Rpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU5XCI7XG59XG4uZmEtaW5mby1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWFcIjtcbn1cbi5mYS1jcm9zc2hhaXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDViXCI7XG59XG4uZmEtdGltZXMtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNWNcIjtcbn1cbi5mYS1jaGVjay1jaXJjbGUtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZFwiO1xufVxuLmZhLWJhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA1ZVwiO1xufVxuLmZhLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjBcIjtcbn1cbi5mYS1hcnJvdy1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2MVwiO1xufVxuLmZhLWFycm93LXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDYyXCI7XG59XG4uZmEtYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2M1wiO1xufVxuLmZhLW1haWwtZm9yd2FyZDpiZWZvcmUsXG4uZmEtc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjRcIjtcbn1cbi5mYS1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjVcIjtcbn1cbi5mYS1jb21wcmVzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2NlwiO1xufVxuLmZhLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjdcIjtcbn1cbi5mYS1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OFwiO1xufVxuLmZhLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDY5XCI7XG59XG4uZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZhXCI7XG59XG4uZmEtZ2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2YlwiO1xufVxuLmZhLWxlYWY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNmNcIjtcbn1cbi5mYS1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZkXCI7XG59XG4uZmEtZXllOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDZlXCI7XG59XG4uZmEtZXllLXNsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcwXCI7XG59XG4uZmEtd2FybmluZzpiZWZvcmUsXG4uZmEtZXhjbGFtYXRpb24tdHJpYW5nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzFcIjtcbn1cbi5mYS1wbGFuZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3MlwiO1xufVxuLmZhLWNhbGVuZGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDczXCI7XG59XG4uZmEtcmFuZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc0XCI7XG59XG4uZmEtY29tbWVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NVwiO1xufVxuLmZhLW1hZ25ldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3NlwiO1xufVxuLmZhLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzdcIjtcbn1cbi5mYS1jaGV2cm9uLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzhcIjtcbn1cbi5mYS1yZXR3ZWV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc5XCI7XG59XG4uZmEtc2hvcHBpbmctY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YVwiO1xufVxuLmZhLWZvbGRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3YlwiO1xufVxuLmZhLWZvbGRlci1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDdjXCI7XG59XG4uZmEtYXJyb3dzLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwN2RcIjtcbn1cbi5mYS1hcnJvd3MtaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3ZVwiO1xufVxuLmZhLWJhci1jaGFydC1vOmJlZm9yZSxcbi5mYS1iYXItY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODBcIjtcbn1cbi5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiO1xufVxuLmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MlwiO1xufVxuLmZhLWNhbWVyYS1yZXRybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4M1wiO1xufVxuLmZhLWtleTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NFwiO1xufVxuLmZhLWdlYXJzOmJlZm9yZSxcbi5mYS1jb2dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDg1XCI7XG59XG4uZmEtY29tbWVudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODZcIjtcbn1cbi5mYS10aHVtYnMtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4N1wiO1xufVxuLmZhLXRodW1icy1vLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODhcIjtcbn1cbi5mYS1zdGFyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODlcIjtcbn1cbi5mYS1oZWFydC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhhXCI7XG59XG4uZmEtc2lnbi1vdXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGJcIjtcbn1cbi5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOGNcIjtcbn1cbi5mYS10aHVtYi10YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDhkXCI7XG59XG4uZmEtZXh0ZXJuYWwtbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4ZVwiO1xufVxuLmZhLXNpZ24taW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTBcIjtcbn1cbi5mYS10cm9waHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTFcIjtcbn1cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7XG59XG4uZmEtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkzXCI7XG59XG4uZmEtbGVtb24tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5NFwiO1xufVxuLmZhLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk1XCI7XG59XG4uZmEtc3F1YXJlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTZcIjtcbn1cbi5mYS1ib29rbWFyay1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk3XCI7XG59XG4uZmEtcGhvbmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk4XCI7XG59XG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiO1xufVxuLmZhLWZhY2Vib29rLWY6YmVmb3JlLFxuLmZhLWZhY2Vib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XG59XG4uZmEtZ2l0aHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDliXCI7XG59XG4uZmEtdW5sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDljXCI7XG59XG4uZmEtY3JlZGl0LWNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWRcIjtcbn1cbi5mYS1yc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWVcIjtcbn1cbi5mYS1oZGQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhMFwiO1xufVxuLmZhLWJ1bGxob3JuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGExXCI7XG59XG4uZmEtYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmM1wiO1xufVxuLmZhLWNlcnRpZmljYXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEzXCI7XG59XG4uZmEtaGFuZC1vLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE0XCI7XG59XG4uZmEtaGFuZC1vLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTVcIjtcbn1cbi5mYS1oYW5kLW8tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYTZcIjtcbn1cbi5mYS1oYW5kLW8tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhN1wiO1xufVxuLmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE4XCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGE5XCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFhXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYWJcIjtcbn1cbi5mYS1nbG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhY1wiO1xufVxuLmZhLXdyZW5jaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhZFwiO1xufVxuLmZhLXRhc2tzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGFlXCI7XG59XG4uZmEtZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIwXCI7XG59XG4uZmEtYnJpZWZjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIxXCI7XG59XG4uZmEtYXJyb3dzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBiMlwiO1xufVxuLmZhLWdyb3VwOmJlZm9yZSxcbi5mYS11c2VyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjMFwiO1xufVxuLmZhLWNoYWluOmJlZm9yZSxcbi5mYS1saW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGMxXCI7XG59XG4uZmEtY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzJcIjtcbn1cbi5mYS1mbGFzazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjM1wiO1xufVxuLmZhLWN1dDpiZWZvcmUsXG4uZmEtc2Npc3NvcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzRcIjtcbn1cbi5mYS1jb3B5OmJlZm9yZSxcbi5mYS1maWxlcy1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM1XCI7XG59XG4uZmEtcGFwZXJjbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM2XCI7XG59XG4uZmEtc2F2ZTpiZWZvcmUsXG4uZmEtZmxvcHB5LW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzdcIjtcbn1cbi5mYS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwYzhcIjtcbn1cbi5mYS1uYXZpY29uOmJlZm9yZSxcbi5mYS1yZW9yZGVyOmJlZm9yZSxcbi5mYS1iYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGM5XCI7XG59XG4uZmEtbGlzdC11bDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBjYVwiO1xufVxuLmZhLWxpc3Qtb2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2JcIjtcbn1cbi5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNjXCI7XG59XG4uZmEtdW5kZXJsaW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGNkXCI7XG59XG4uZmEtdGFibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwY2VcIjtcbn1cbi5mYS1tYWdpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMFwiO1xufVxuLmZhLXRydWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQxXCI7XG59XG4uZmEtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQyXCI7XG59XG4uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkM1wiO1xufVxuLmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNFwiO1xufVxuLmZhLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ1XCI7XG59XG4uZmEtbW9uZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDZcIjtcbn1cbi5mYS1jYXJldC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XG59XG4uZmEtY2FyZXQtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDhcIjtcbn1cbi5mYS1jYXJldC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ5XCI7XG59XG4uZmEtY2FyZXQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGFcIjtcbn1cbi5mYS1jb2x1bW5zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRiXCI7XG59XG4uZmEtdW5zb3J0ZWQ6YmVmb3JlLFxuLmZhLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGNcIjtcbn1cbi5mYS1zb3J0LWRvd246YmVmb3JlLFxuLmZhLXNvcnQtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkZFwiO1xufVxuLmZhLXNvcnQtdXA6YmVmb3JlLFxuLmZhLXNvcnQtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGRlXCI7XG59XG4uZmEtZW52ZWxvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTBcIjtcbn1cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiO1xufVxuLmZhLXJvdGF0ZS1sZWZ0OmJlZm9yZSxcbi5mYS11bmRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUyXCI7XG59XG4uZmEtbGVnYWw6YmVmb3JlLFxuLmZhLWdhdmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUzXCI7XG59XG4uZmEtZGFzaGJvYXJkOmJlZm9yZSxcbi5mYS10YWNob21ldGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU0XCI7XG59XG4uZmEtY29tbWVudC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU1XCI7XG59XG4uZmEtY29tbWVudHMtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlNlwiO1xufVxuLmZhLWZsYXNoOmJlZm9yZSxcbi5mYS1ib2x0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU3XCI7XG59XG4uZmEtc2l0ZW1hcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlOFwiO1xufVxuLmZhLXVtYnJlbGxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGU5XCI7XG59XG4uZmEtcGFzdGU6YmVmb3JlLFxuLmZhLWNsaXBib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlYVwiO1xufVxuLmZhLWxpZ2h0YnVsYi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGViXCI7XG59XG4uZmEtZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZWNcIjtcbn1cbi5mYS1jbG91ZC1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlZFwiO1xufVxuLmZhLWNsb3VkLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlZVwiO1xufVxuLmZhLXVzZXItbWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjBcIjtcbn1cbi5mYS1zdGV0aG9zY29wZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmMVwiO1xufVxuLmZhLXN1aXRjYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGYyXCI7XG59XG4uZmEtYmVsbC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGEyXCI7XG59XG4uZmEtY29mZmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY0XCI7XG59XG4uZmEtY3V0bGVyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmNVwiO1xufVxuLmZhLWZpbGUtdGV4dC1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGY2XCI7XG59XG4uZmEtYnVpbGRpbmctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmN1wiO1xufVxuLmZhLWhvc3BpdGFsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjhcIjtcbn1cbi5mYS1hbWJ1bGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjlcIjtcbn1cbi5mYS1tZWRraXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmFcIjtcbn1cbi5mYS1maWdodGVyLWpldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmYlwiO1xufVxuLmZhLWJlZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZmNcIjtcbn1cbi5mYS1oLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBmZFwiO1xufVxuLmZhLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGZlXCI7XG59XG4uZmEtYW5nbGUtZG91YmxlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDBcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDFcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDJcIjtcbn1cbi5mYS1hbmdsZS1kb3VibGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwM1wiO1xufVxuLmZhLWFuZ2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjtcbn1cbi5mYS1hbmdsZS1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNVwiO1xufVxuLmZhLWFuZ2xlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG59XG4uZmEtYW5nbGUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiO1xufVxuLmZhLWRlc2t0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDhcIjtcbn1cbi5mYS1sYXB0b3A6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDlcIjtcbn1cbi5mYS10YWJsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMGFcIjtcbn1cbi5mYS1tb2JpbGUtcGhvbmU6YmVmb3JlLFxuLmZhLW1vYmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwYlwiO1xufVxuLmZhLWNpcmNsZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XG59XG4uZmEtcXVvdGUtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwZFwiO1xufVxuLmZhLXF1b3RlLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG59XG4uZmEtc3Bpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMFwiO1xufVxuLmZhLWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExMVwiO1xufVxuLmZhLW1haWwtcmVwbHk6YmVmb3JlLFxuLmZhLXJlcGx5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEyXCI7XG59XG4uZmEtZ2l0aHViLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExM1wiO1xufVxuLmZhLWZvbGRlci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE0XCI7XG59XG4uZmEtZm9sZGVyLW9wZW4tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExNVwiO1xufVxuLmZhLXNtaWxlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMThcIjtcbn1cbi5mYS1mcm93bi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTE5XCI7XG59XG4uZmEtbWVoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMWFcIjtcbn1cbi5mYS1nYW1lcGFkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFiXCI7XG59XG4uZmEta2V5Ym9hcmQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExY1wiO1xufVxuLmZhLWZsYWctbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjExZFwiO1xufVxuLmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTFlXCI7XG59XG4uZmEtdGVybWluYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjBcIjtcbn1cbi5mYS1jb2RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIxXCI7XG59XG4uZmEtbWFpbC1yZXBseS1hbGw6YmVmb3JlLFxuLmZhLXJlcGx5LWFsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyMlwiO1xufVxuLmZhLXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsXG4uZmEtc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLFxuLmZhLXN0YXItaGFsZi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIzXCI7XG59XG4uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjRcIjtcbn1cbi5mYS1jcm9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI1XCI7XG59XG4uZmEtY29kZS1mb3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI2XCI7XG59XG4uZmEtdW5saW5rOmJlZm9yZSxcbi5mYS1jaGFpbi1icm9rZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjdcIjtcbn1cbi5mYS1xdWVzdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyOFwiO1xufVxuLmZhLWluZm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjlcIjtcbn1cbi5mYS1leGNsYW1hdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEyYVwiO1xufVxuLmZhLXN1cGVyc2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJiXCI7XG59XG4uZmEtc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJjXCI7XG59XG4uZmEtZXJhc2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJkXCI7XG59XG4uZmEtcHV6emxlLXBpZWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTJlXCI7XG59XG4uZmEtbWljcm9waG9uZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzMFwiO1xufVxuLmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzFcIjtcbn1cbi5mYS1zaGllbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzJcIjtcbn1cbi5mYS1jYWxlbmRhci1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTMzXCI7XG59XG4uZmEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzRcIjtcbn1cbi5mYS1yb2NrZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzVcIjtcbn1cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzZcIjtcbn1cbi5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTM3XCI7XG59XG4uZmEtY2hldnJvbi1jaXJjbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzhcIjtcbn1cbi5mYS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzOVwiO1xufVxuLmZhLWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2FcIjtcbn1cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiO1xufVxuLmZhLWNzczM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2NcIjtcbn1cbi5mYS1hbmNob3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxM2RcIjtcbn1cbi5mYS11bmxvY2stYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTNlXCI7XG59XG4uZmEtYnVsbHNleWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDBcIjtcbn1cbi5mYS1lbGxpcHNpcy1oOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQxXCI7XG59XG4uZmEtZWxsaXBzaXMtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0MlwiO1xufVxuLmZhLXJzcy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDNcIjtcbn1cbi5mYS1wbGF5LWNpcmNsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NFwiO1xufVxuLmZhLXRpY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NVwiO1xufVxuLmZhLW1pbnVzLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0NlwiO1xufVxuLmZhLW1pbnVzLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ3XCI7XG59XG4uZmEtbGV2ZWwtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNDhcIjtcbn1cbi5mYS1sZXZlbC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTQ5XCI7XG59XG4uZmEtY2hlY2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRhXCI7XG59XG4uZmEtcGVuY2lsLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0YlwiO1xufVxuLmZhLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRjXCI7XG59XG4uZmEtc2hhcmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTRkXCI7XG59XG4uZmEtY29tcGFzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE0ZVwiO1xufVxuLmZhLXRvZ2dsZS1kb3duOmJlZm9yZSxcbi5mYS1jYXJldC1zcXVhcmUtby1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTUwXCI7XG59XG4uZmEtdG9nZ2xlLXVwOmJlZm9yZSxcbi5mYS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1MVwiO1xufVxuLmZhLXRvZ2dsZS1yaWdodDpiZWZvcmUsXG4uZmEtY2FyZXQtc3F1YXJlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTJcIjtcbn1cbi5mYS1ldXJvOmJlZm9yZSxcbi5mYS1ldXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTNcIjtcbn1cbi5mYS1nYnA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTRcIjtcbn1cbi5mYS1kb2xsYXI6YmVmb3JlLFxuLmZhLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1NVwiO1xufVxuLmZhLXJ1cGVlOmJlZm9yZSxcbi5mYS1pbnI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTZcIjtcbn1cbi5mYS1jbnk6YmVmb3JlLFxuLmZhLXJtYjpiZWZvcmUsXG4uZmEteWVuOmJlZm9yZSxcbi5mYS1qcHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNTdcIjtcbn1cbi5mYS1ydWJsZTpiZWZvcmUsXG4uZmEtcm91YmxlOmJlZm9yZSxcbi5mYS1ydWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNThcIjtcbn1cbi5mYS13b246YmVmb3JlLFxuLmZhLWtydzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1OVwiO1xufVxuLmZhLWJpdGNvaW46YmVmb3JlLFxuLmZhLWJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1YVwiO1xufVxuLmZhLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cbi5mYS1maWxlLXRleHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWNcIjtcbn1cbi5mYS1zb3J0LWFscGhhLWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZFwiO1xufVxuLmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1ZVwiO1xufVxuLmZhLXNvcnQtYW1vdW50LWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MFwiO1xufVxuLmZhLXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjFcIjtcbn1cbi5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTYyXCI7XG59XG4uZmEtc29ydC1udW1lcmljLWRlc2M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjNcIjtcbn1cbi5mYS10aHVtYnMtdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjRcIjtcbn1cbi5mYS10aHVtYnMtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2NVwiO1xufVxuLmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTY2XCI7XG59XG4uZmEteW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2N1wiO1xufVxuLmZhLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjhcIjtcbn1cbi5mYS14aW5nLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OVwiO1xufVxuLmZhLXlvdXR1YmUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2YVwiO1xufVxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmJcIjtcbn1cbi5mYS1zdGFjay1vdmVyZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2Y1wiO1xufVxuLmZhLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZFwiO1xufVxuLmZhLWZsaWNrcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2ZVwiO1xufVxuLmZhLWFkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiO1xufVxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiO1xufVxuLmZhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzJcIjtcbn1cbi5mYS10dW1ibHI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzNcIjtcbn1cbi5mYS10dW1ibHItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7XG59XG4uZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc1XCI7XG59XG4uZmEtbG9uZy1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3NlwiO1xufVxuLmZhLWxvbmctYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3N1wiO1xufVxuLmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzhcIjtcbn1cbi5mYS1hcHBsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3OVwiO1xufVxuLmZhLXdpbmRvd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2FcIjtcbn1cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7XG59XG4uZmEtbGludXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2NcIjtcbn1cbi5mYS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3ZFwiO1xufVxuLmZhLXNreXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdlXCI7XG59XG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiO1xufVxuLmZhLXRyZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MVwiO1xufVxuLmZhLWZlbWFsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MlwiO1xufVxuLmZhLW1hbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODNcIjtcbn1cbi5mYS1naXR0aXA6YmVmb3JlLFxuLmZhLWdyYXRpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg0XCI7XG59XG4uZmEtc3VuLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODVcIjtcbn1cbi5mYS1tb29uLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODZcIjtcbn1cbi5mYS1hcmNoaXZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg3XCI7XG59XG4uZmEtYnVnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTg4XCI7XG59XG4uZmEtdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODlcIjtcbn1cbi5mYS13ZWlibzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YVwiO1xufVxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiO1xufVxuLmZhLXBhZ2VsaW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4Y1wiO1xufVxuLmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThkXCI7XG59XG4uZmEtYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGVcIjtcbn1cbi5mYS1hcnJvdy1jaXJjbGUtby1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkwXCI7XG59XG4uZmEtdG9nZ2xlLWxlZnQ6YmVmb3JlLFxuLmZhLWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTFcIjtcbn1cbi5mYS1kb3QtY2lyY2xlLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTJcIjtcbn1cbi5mYS13aGVlbGNoYWlyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTkzXCI7XG59XG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7XG59XG4uZmEtdHVya2lzaC1saXJhOmJlZm9yZSxcbi5mYS10cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTVcIjtcbn1cbi5mYS1wbHVzLXNxdWFyZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk2XCI7XG59XG4uZmEtc3BhY2Utc2h1dHRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5N1wiO1xufVxuLmZhLXNsYWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk4XCI7XG59XG4uZmEtZW52ZWxvcGUtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk5XCI7XG59XG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7XG59XG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7XG59XG4uZmEtaW5zdGl0dXRpb246YmVmb3JlLFxuLmZhLWJhbms6YmVmb3JlLFxuLmZhLXVuaXZlcnNpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWNcIjtcbn1cbi5mYS1tb3J0YXItYm9hcmQ6YmVmb3JlLFxuLmZhLWdyYWR1YXRpb24tY2FwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlkXCI7XG59XG4uZmEteWFob286YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWVcIjtcbn1cbi5mYS1nb29nbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTBcIjtcbn1cbi5mYS1yZWRkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTFcIjtcbn1cbi5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7XG59XG4uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7XG59XG4uZmEtc3R1bWJsZXVwb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTRcIjtcbn1cbi5mYS1kZWxpY2lvdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTVcIjtcbn1cbi5mYS1kaWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE2XCI7XG59XG4uZmEtcGllZC1waXBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhN1wiO1xufVxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7XG59XG4uZmEtZHJ1cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE5XCI7XG59XG4uZmEtam9vbWxhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFhXCI7XG59XG4uZmEtbGFuZ3VhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWJcIjtcbn1cbi5mYS1mYXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYWNcIjtcbn1cbi5mYS1idWlsZGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhZFwiO1xufVxuLmZhLWNoaWxkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWFlXCI7XG59XG4uZmEtcGF3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIwXCI7XG59XG4uZmEtc3Bvb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjFcIjtcbn1cbi5mYS1jdWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWIyXCI7XG59XG4uZmEtY3ViZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjNcIjtcbn1cbi5mYS1iZWhhbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI0XCI7XG59XG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjtcbn1cbi5mYS1zdGVhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiNlwiO1xufVxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiO1xufVxuLmZhLXJlY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjhcIjtcbn1cbi5mYS1hdXRvbW9iaWxlOmJlZm9yZSxcbi5mYS1jYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjlcIjtcbn1cbi5mYS1jYWI6YmVmb3JlLFxuLmZhLXRheGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmFcIjtcbn1cbi5mYS10cmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJiXCI7XG59XG4uZmEtc3BvdGlmeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiY1wiO1xufVxuLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmRcIjtcbn1cbi5mYS1zb3VuZGNsb3VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWJlXCI7XG59XG4uZmEtZGF0YWJhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzBcIjtcbn1cbi5mYS1maWxlLXBkZi1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWMxXCI7XG59XG4uZmEtZmlsZS13b3JkLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzJcIjtcbn1cbi5mYS1maWxlLWV4Y2VsLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzNcIjtcbn1cbi5mYS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNFwiO1xufVxuLmZhLWZpbGUtcGhvdG8tbzpiZWZvcmUsXG4uZmEtZmlsZS1waWN0dXJlLW86YmVmb3JlLFxuLmZhLWZpbGUtaW1hZ2UtbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjNVwiO1xufVxuLmZhLWZpbGUtemlwLW86YmVmb3JlLFxuLmZhLWZpbGUtYXJjaGl2ZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM2XCI7XG59XG4uZmEtZmlsZS1zb3VuZC1vOmJlZm9yZSxcbi5mYS1maWxlLWF1ZGlvLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYzdcIjtcbn1cbi5mYS1maWxlLW1vdmllLW86YmVmb3JlLFxuLmZhLWZpbGUtdmlkZW8tbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjOFwiO1xufVxuLmZhLWZpbGUtY29kZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWM5XCI7XG59XG4uZmEtdmluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjYVwiO1xufVxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjtcbn1cbi5mYS1qc2ZpZGRsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjY1wiO1xufVxuLmZhLWxpZmUtYm91eTpiZWZvcmUsXG4uZmEtbGlmZS1idW95OmJlZm9yZSxcbi5mYS1saWZlLXNhdmVyOmJlZm9yZSxcbi5mYS1zdXBwb3J0OmJlZm9yZSxcbi5mYS1saWZlLXJpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2RcIjtcbn1cbi5mYS1jaXJjbGUtby1ub3RjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFjZVwiO1xufVxuLmZhLXJhOmJlZm9yZSxcbi5mYS1yZWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMFwiO1xufVxuLmZhLWdlOmJlZm9yZSxcbi5mYS1lbXBpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDFcIjtcbn1cbi5mYS1naXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQyXCI7XG59XG4uZmEtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7XG59XG4uZmEtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDRcIjtcbn1cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7XG59XG4uZmEtcXE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDZcIjtcbn1cbi5mYS13ZWNoYXQ6YmVmb3JlLFxuLmZhLXdlaXhpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkN1wiO1xufVxuLmZhLXNlbmQ6YmVmb3JlLFxuLmZhLXBhcGVyLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ4XCI7XG59XG4uZmEtc2VuZC1vOmJlZm9yZSxcbi5mYS1wYXBlci1wbGFuZS1vOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ5XCI7XG59XG4uZmEtaGlzdG9yeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYVwiO1xufVxuLmZhLWdlbmRlcmxlc3M6YmVmb3JlLFxuLmZhLWNpcmNsZS10aGluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRiXCI7XG59XG4uZmEtaGVhZGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRjXCI7XG59XG4uZmEtcGFyYWdyYXBoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRkXCI7XG59XG4uZmEtc2xpZGVyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkZVwiO1xufVxuLmZhLXNoYXJlLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlMFwiO1xufVxuLmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTFcIjtcbn1cbi5mYS1ib21iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUyXCI7XG59XG4uZmEtc29jY2VyLWJhbGwtbzpiZWZvcmUsXG4uZmEtZnV0Ym9sLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTNcIjtcbn1cbi5mYS10dHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTRcIjtcbn1cbi5mYS1iaW5vY3VsYXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU1XCI7XG59XG4uZmEtcGx1ZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlNlwiO1xufVxuLmZhLXNsaWRlc2hhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTdcIjtcbn1cbi5mYS10d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjtcbn1cbi5mYS15ZWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWU5XCI7XG59XG4uZmEtbmV3c3BhcGVyLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWFcIjtcbn1cbi5mYS13aWZpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7XG59XG4uZmEtY2FsY3VsYXRvcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlY1wiO1xufVxuLmZhLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZFwiO1xufVxuLmZhLWdvb2dsZS13YWxsZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWVcIjtcbn1cbi5mYS1jYy12aXNhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYwXCI7XG59XG4uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMVwiO1xufVxuLmZhLWNjLWRpc2NvdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWYyXCI7XG59XG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiO1xufVxuLmZhLWNjLXBheXBhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNFwiO1xufVxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiO1xufVxuLmZhLWJlbGwtc2xhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjZcIjtcbn1cbi5mYS1iZWxsLXNsYXNoLW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjdcIjtcbn1cbi5mYS10cmFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOFwiO1xufVxuLmZhLWNvcHlyaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmOVwiO1xufVxuLmZhLWF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZhXCI7XG59XG4uZmEtZXllZHJvcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmYlwiO1xufVxuLmZhLXBhaW50LWJydXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZjXCI7XG59XG4uZmEtYmlydGhkYXktY2FrZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmZFwiO1xufVxuLmZhLWFyZWEtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZmVcIjtcbn1cbi5mYS1waWUtY2hhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDBcIjtcbn1cbi5mYS1saW5lLWNoYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAxXCI7XG59XG4uZmEtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAyXCI7XG59XG4uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwM1wiO1xufVxuLmZhLXRvZ2dsZS1vZmY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDRcIjtcbn1cbi5mYS10b2dnbGUtb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDVcIjtcbn1cbi5mYS1iaWN5Y2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA2XCI7XG59XG4uZmEtYnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjA3XCI7XG59XG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiO1xufVxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiO1xufVxuLmZhLWNjOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBhXCI7XG59XG4uZmEtc2hla2VsOmJlZm9yZSxcbi5mYS1zaGVxZWw6YmVmb3JlLFxuLmZhLWlsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwYlwiO1xufVxuLmZhLW1lYW5wYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBjXCI7XG59XG4uZmEtYnV5c2VsbGFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZFwiO1xufVxuLmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjBlXCI7XG59XG4uZmEtZGFzaGN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjtcbn1cbi5mYS1mb3J1bWJlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxMVwiO1xufVxuLmZhLWxlYW5wdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTJcIjtcbn1cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTNcIjtcbn1cbi5mYS1zaGlydHNpbmJ1bGs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTRcIjtcbn1cbi5mYS1zaW1wbHlidWlsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxNVwiO1xufVxuLmZhLXNreWF0bGFzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE2XCI7XG59XG4uZmEtY2FydC1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE3XCI7XG59XG4uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE4XCI7XG59XG4uZmEtZGlhbW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxOVwiO1xufVxuLmZhLXNoaXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWFcIjtcbn1cbi5mYS11c2VyLXNlY3JldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxYlwiO1xufVxuLmZhLW1vdG9yY3ljbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMWNcIjtcbn1cbi5mYS1zdHJlZXQtdmlldzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZFwiO1xufVxuLmZhLWhlYXJ0YmVhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIxZVwiO1xufVxuLmZhLXZlbnVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjIxXCI7XG59XG4uZmEtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyMlwiO1xufVxuLmZhLW1lcmN1cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMjNcIjtcbn1cbi5mYS10cmFuc2dlbmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNFwiO1xufVxuLmZhLXRyYW5zZ2VuZGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNVwiO1xufVxuLmZhLXZlbnVzLWRvdWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyNlwiO1xufVxuLmZhLW1hcnMtZG91YmxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI3XCI7XG59XG4uZmEtdmVudXMtbWFyczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyOFwiO1xufVxuLmZhLW1hcnMtc3Ryb2tlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjI5XCI7XG59XG4uZmEtbWFycy1zdHJva2UtdjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIyYVwiO1xufVxuLmZhLW1hcnMtc3Ryb2tlLWg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmJcIjtcbn1cbi5mYS1uZXV0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMmNcIjtcbn1cbi5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMFwiO1xufVxuLmZhLXBpbnRlcmVzdC1wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjMxXCI7XG59XG4uZmEtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjtcbn1cbi5mYS1zZXJ2ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzNcIjtcbn1cbi5mYS11c2VyLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzRcIjtcbn1cbi5mYS11c2VyLXRpbWVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjM1XCI7XG59XG4uZmEtaG90ZWw6YmVmb3JlLFxuLmZhLWJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzNlwiO1xufVxuLmZhLXZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjtcbn1cbi5mYS10cmFpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOFwiO1xufVxuLmZhLXN1YndheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzOVwiO1xufVxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiO1xufVxuIl19 */
