.govuk-link, a, .app-step-nav-header__title, .app-step-nav-related__link {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
  }
  
  /*! Copyright (c) 2011 by Margaret Calvert & Henrik Kubel. All rights reserved. The font has been customised for exclusive use on gov.uk. This cut is not commercially available. */
  /* stylelint-disable-line scss/comment-no-loud  */
  @font-face {
    font-family: "GDS Transport";
    font-style: normal;
    font-weight: normal;
    src: url("/assets/fonts/light-94a07e06a1-v2.woff2") format("woff2"), url("/assets/fonts/light-f591b13f7d-v2.woff") format("woff");
    font-display: fallback;
  }
  
  @font-face {
    font-family: "GDS Transport";
    font-style: normal;
    font-weight: bold;
    src: url("/assets/fonts/bold-b542beb274-v2.woff2") format("woff2"), url("/assets/fonts/bold-affa96571d-v2.woff") format("woff");
    font-display: fallback;
  }

  
  
  @media print {
    .govuk-link, a, .app-step-nav-header__title, .app-step-nav-related__link {
      font-family: sans-serif;
    }
  }
  
  .govuk-link:hover, a:hover, .app-step-nav-header__title:hover, .app-step-nav-related__link:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .govuk-link:focus, a:focus, .app-step-nav-header__title:focus, .app-step-nav-related__link:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .govuk-link:link, a:link, .app-step-nav-header__title:link, .app-step-nav-related__link:link {
    color: #1d70b8;
  }
  
  .govuk-link:visited, a:visited, .app-step-nav-header__title:visited, .app-step-nav-related__link:visited {
    color: #4c2c92;
  }
  
  .govuk-link:hover, a:hover, .app-step-nav-header__title:hover, .app-step-nav-related__link:hover {
    color: #003078;
  }
  
  .govuk-link:active, a:active, .app-step-nav-header__title:active, .app-step-nav-related__link:active {
    color: #0b0c0c;
  }
  
  .govuk-link:focus, a:focus, .app-step-nav-header__title:focus, .app-step-nav-related__link:focus {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-link[href^="/"]:after, a[href^="/"]:after, .app-step-nav-header__title[href^="/"]:after, .app-step-nav-related__link[href^="/"]:after, .govuk-link[href^="http://"]:after, a[href^="http://"]:after, .app-step-nav-header__title[href^="http://"]:after, .app-step-nav-related__link[href^="http://"]:after, .govuk-link[href^="https://"]:after, a[href^="https://"]:after, .app-step-nav-header__title[href^="https://"]:after, .app-step-nav-related__link[href^="https://"]:after {
      content: " (" attr(href) ")";
      font-size: 90%;
      word-wrap: break-word;
    }
  }
  
  .govuk-link--muted:link, .govuk-link--muted:visited {
    color: #505a5f;
  }
  
  .govuk-link--muted:hover, .govuk-link--muted:active {
    color: #0b0c0c;
  }
  
  .govuk-link--muted:focus {
    color: #0b0c0c;
  }
  
  .govuk-link--text-colour:link, .govuk-link--text-colour:visited {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-link--text-colour:link, .govuk-link--text-colour:visited {
      color: #000000;
    }
  }
  
  .govuk-link--text-colour:hover {
    color: rgba(11, 12, 12, 0.99);
  }
  
  .govuk-link--text-colour:active, .govuk-link--text-colour:focus {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-link--text-colour:active, .govuk-link--text-colour:focus {
      color: #000000;
    }
  }
  
  .govuk-link--inverse:link, .govuk-link--inverse:visited {
    color: #ffffff;
  }
  
  .govuk-link--inverse:hover, .govuk-link--inverse:active {
    color: rgba(255, 255, 255, 0.99);
  }
  
  .govuk-link--inverse:focus {
    color: #0b0c0c;
  }
  
  .govuk-link--no-underline:not(:hover):not(:active) {
    text-decoration: none;
  }
  
  .govuk-link--no-visited-state:link {
    color: #1d70b8;
  }
  
  .govuk-link--no-visited-state:visited {
    color: #1d70b8;
  }
  
  .govuk-link--no-visited-state:hover {
    color: #003078;
  }
  
  .govuk-link--no-visited-state:active {
    color: #0b0c0c;
  }
  
  .govuk-link--no-visited-state:focus {
    color: #0b0c0c;
  }
  
  .govuk-list {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    margin-top: 0;
    margin-bottom: 15px;
    padding-left: 0;
    list-style-type: none;
  }
  
  @media print {
    .govuk-list {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-list {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-list {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-list {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-list {
      margin-bottom: 20px;
    }
  }
  
  .govuk-list .govuk-list {
    margin-top: 10px;
  }
  
  .govuk-list > li {
    margin-bottom: 5px;
  }
  
  .govuk-list--bullet {
    padding-left: 20px;
    list-style-type: disc;
  }
  
  .govuk-list--number {
    padding-left: 20px;
    list-style-type: decimal;
  }
  
  .govuk-list--bullet > li,
  .govuk-list--number > li {
    margin-bottom: 0;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-list--bullet > li,
    .govuk-list--number > li {
      margin-bottom: 5px;
    }
  }
  
  .govuk-list--spaced > li {
    margin-bottom: 10px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-list--spaced > li {
      margin-bottom: 15px;
    }
  }
  
  .govuk-template {
    background-color: #ffffff;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  
  @media screen {
    .govuk-template {
      overflow-y: scroll;
    }
  }
  
  .govuk-template__body {
    margin: 0;
    background-color: #ffffff;
  }
  
  .govuk-heading-xl {
    color: #0b0c0c;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 32px;
    font-size: 2rem;
    line-height: 1.09375;
    display: block;
    margin-top: 0;
    margin-bottom: 30px;
  }
  
  @media print {
    .govuk-heading-xl {
      color: #000000;
    }
  }
  
  @media print {
    .govuk-heading-xl {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-heading-xl {
      font-size: 48px;
      font-size: 3rem;
      line-height: 1.04167;
    }
  }
  
  @media print {
    .govuk-heading-xl {
      font-size: 32pt;
      line-height: 1.15;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-heading-xl {
      margin-bottom: 50px;
    }
  }
  
  .govuk-heading-l {
    color: #0b0c0c;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.04167;
    display: block;
    margin-top: 0;
    margin-bottom: 20px;
  }
  
  @media print {
    .govuk-heading-l {
      color: #000000;
    }
  }
  
  @media print {
    .govuk-heading-l {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-heading-l {
      font-size: 36px;
      font-size: 2.25rem;
      line-height: 1.11111;
    }
  }
  
  @media print {
    .govuk-heading-l {
      font-size: 24pt;
      line-height: 1.05;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-heading-l {
      margin-bottom: 30px;
    }
  }
  
  .govuk-heading-m {
    color: #0b0c0c;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    display: block;
    margin-top: 0;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-heading-m {
      color: #000000;
    }
  }
  
  @media print {
    .govuk-heading-m {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-heading-m {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-heading-m {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-heading-m {
      margin-bottom: 20px;
    }
  }
  
  .govuk-heading-s {
    /* color: #0b0c0c; */
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    display: block;
    margin-top: 0;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-heading-s {
      color: #000000;
    }
  }
  
  @media print {
    .govuk-heading-s {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-heading-s {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-heading-s {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-heading-s {
      margin-bottom: 20px;
    }
  }
  
  .govuk-caption-xl {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    display: block;
    margin-bottom: 5px;
    color: #505a5f;
  }
  
  @media print {
    .govuk-caption-xl {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-caption-xl {
      font-size: 27px;
      font-size: 1.6875rem;
      line-height: 1.11111;
    }
  }
  
  @media print {
    .govuk-caption-xl {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  .govuk-caption-l {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    display: block;
    margin-bottom: 5px;
    color: #505a5f;
  }
  
  @media print {
    .govuk-caption-l {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-caption-l {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-caption-l {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-caption-l {
      margin-bottom: 0;
    }
  }
  
  .govuk-caption-m {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    display: block;
    color: #505a5f;
  }
  
  @media print {
    .govuk-caption-m {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-caption-m {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-caption-m {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-body-l, .govuk-body-lead {
    color: #0b0c0c;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    margin-top: 0;
    margin-bottom: 20px;
  }
  
  @media print {
    .govuk-body-l, .govuk-body-lead {
      color: #000000;
    }
  }
  
  @media print {
    .govuk-body-l, .govuk-body-lead {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-l, .govuk-body-lead {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-body-l, .govuk-body-lead {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-l, .govuk-body-lead {
      margin-bottom: 30px;
    }
  }
  
  .govuk-body-m, .govuk-body, p {
    color: #0b0c0c;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin-top: 0;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-body-m, .govuk-body, p {
      color: #000000;
    }
  }
  
  @media print {
    .govuk-body-m, .govuk-body, p {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-m, .govuk-body, p {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-body-m, .govuk-body, p {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-m, .govuk-body, p {
      margin-bottom: 20px;
    }
  }
  
  .govuk-body-s {
    color: #0b0c0c;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    margin-top: 0;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-body-s {
      color: #000000;
    }
  }
  
  @media print {
    .govuk-body-s {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-s {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-body-s {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-s {
      margin-bottom: 20px;
    }
  }
  
  .govuk-body-xs {
    color: #0b0c0c;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.25;
    margin-top: 0;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-body-xs {
      color: #000000;
    }
  }
  
  @media print {
    .govuk-body-xs {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-xs {
      font-size: 14px;
      font-size: 0.875rem;
      line-height: 1.42857;
    }
  }
  
  @media print {
    .govuk-body-xs {
      font-size: 12pt;
      line-height: 1.2;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-xs {
      margin-bottom: 20px;
    }
  }
  
  .govuk-body-l + .govuk-heading-l, .govuk-body-lead + .govuk-heading-l {
    padding-top: 5px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-l + .govuk-heading-l, .govuk-body-lead + .govuk-heading-l {
      padding-top: 10px;
    }
  }
  
  .govuk-body-m + .govuk-heading-l, .govuk-body + .govuk-heading-l, p + .govuk-heading-l,
  .govuk-body-s + .govuk-heading-l,
  .govuk-list + .govuk-heading-l {
    padding-top: 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-m + .govuk-heading-l, .govuk-body + .govuk-heading-l, p + .govuk-heading-l,
    .govuk-body-s + .govuk-heading-l,
    .govuk-list + .govuk-heading-l {
      padding-top: 20px;
    }
  }
  
  .govuk-body-m + .govuk-heading-m, .govuk-body + .govuk-heading-m, p + .govuk-heading-m,
  .govuk-body-s + .govuk-heading-m,
  .govuk-list + .govuk-heading-m,
  .govuk-body-m + .govuk-heading-s,
  .govuk-body + .govuk-heading-s,
  p + .govuk-heading-s,
  .govuk-body-s + .govuk-heading-s,
  .govuk-list + .govuk-heading-s {
    padding-top: 5px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-body-m + .govuk-heading-m, .govuk-body + .govuk-heading-m, p + .govuk-heading-m,
    .govuk-body-s + .govuk-heading-m,
    .govuk-list + .govuk-heading-m,
    .govuk-body-m + .govuk-heading-s,
    .govuk-body + .govuk-heading-s,
    p + .govuk-heading-s,
    .govuk-body-s + .govuk-heading-s,
    .govuk-list + .govuk-heading-s {
      padding-top: 10px;
    }
  }
  
  .govuk-section-break {
    margin: 0;
    border: 0;
  }
  
  .govuk-section-break--xl {
    margin-top: 30px;
    margin-bottom: 30px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-section-break--xl {
      margin-top: 50px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-section-break--xl {
      margin-bottom: 50px;
    }
  }
  
  .govuk-section-break--l {
    margin-top: 20px;
    margin-bottom: 20px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-section-break--l {
      margin-top: 30px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-section-break--l {
      margin-bottom: 30px;
    }
  }
  
  .govuk-section-break--m {
    margin-top: 15px;
    margin-bottom: 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-section-break--m {
      margin-top: 20px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-section-break--m {
      margin-bottom: 20px;
    }
  }
  
  .govuk-section-break--visible {
    border-bottom: 1px solid #b1b4b6;
  }
  
  .govuk-button-group {
    margin-bottom: 5px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-button-group {
      margin-bottom: 15px;
    }
  }
  
  .govuk-button-group .govuk-link {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.1875;
    display: inline-block;
    max-width: 100%;
    margin-top: 5px;
    margin-bottom: 20px;
    text-align: center;
  }
  
  @media print {
    .govuk-button-group .govuk-link {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-button-group .govuk-link {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1;
    }
  }
  
  @media print {
    .govuk-button-group .govuk-link {
      font-size: 14pt;
      line-height: 19px;
    }
  }
  
  .govuk-button-group .govuk-button {
    margin-bottom: 17px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-button-group {
      margin-right: -15px;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-align: baseline;
      -ms-flex-align: baseline;
      align-items: baseline;
    }
    .govuk-button-group .govuk-button,
    .govuk-button-group .govuk-link {
      margin-right: 15px;
    }
    .govuk-button-group .govuk-link {
      text-align: left;
    }
  }
  
  .govuk-form-group {
    margin-bottom: 20px;
  }
  
  .govuk-form-group:after {
    content: "";
    display: block;
    clear: both;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-form-group {
      margin-bottom: 30px;
    }
  }
  
  .govuk-form-group .govuk-form-group:last-of-type {
    margin-bottom: 0;
  }
  
  .govuk-form-group--error {
    padding-left: 15px;
    border-left: 5px solid #d4351c;
  }
  
  .govuk-form-group--error .govuk-form-group {
    padding: 0;
    border: 0;
  }
  
  .govuk-grid-row {
    margin-right: -15px;
    margin-left: -15px;
  }
  
  .govuk-grid-row:after {
    content: "";
    display: block;
    clear: both;
  }
  
  .govuk-grid-column-one-quarter {
    box-sizing: border-box;
    width: 100%;
    padding: 0 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-grid-column-one-quarter {
      width: 25%;
      float: left;
    }
  }
  
  .govuk-grid-column-one-third {
    box-sizing: border-box;
    width: 100%;
    padding: 0 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-grid-column-one-third {
      width: 33.3333%;
      float: left;
    }
  }
  
  .govuk-grid-column-one-half {
    box-sizing: border-box;
    width: 100%;
    padding: 0 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-grid-column-one-half {
      width: 50%;
      float: left;
    }
  }
  
  .govuk-grid-column-two-thirds {
    box-sizing: border-box;
    width: 100%;
    padding: 0 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-grid-column-two-thirds {
      width: 66.6666%;
      float: left;
    }
  }
  
  .govuk-grid-column-three-quarters {
    box-sizing: border-box;
    width: 100%;
    padding: 0 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-grid-column-three-quarters {
      width: 75%;
      float: left;
    }
  }
  
  .govuk-grid-column-full {
    box-sizing: border-box;
    width: 100%;
    padding: 0 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-grid-column-full {
      width: 100%;
      float: left;
    }
  }
  
  .govuk-grid-column-one-quarter-from-desktop {
    box-sizing: border-box;
    padding: 0 15px;
  }
  
  @media (min-width: 48.0625em) {
    .govuk-grid-column-one-quarter-from-desktop {
      width: 25%;
      float: left;
    }
  }
  
  .govuk-grid-column-one-third-from-desktop {
    box-sizing: border-box;
    padding: 0 15px;
  }
  
  @media (min-width: 48.0625em) {
    .govuk-grid-column-one-third-from-desktop {
      width: 33.3333%;
      float: left;
    }
  }
  
  .govuk-grid-column-one-half-from-desktop {
    box-sizing: border-box;
    padding: 0 15px;
  }
  
  @media (min-width: 48.0625em) {
    .govuk-grid-column-one-half-from-desktop {
      width: 50%;
      float: left;
    }
  }
  
  .govuk-grid-column-two-thirds-from-desktop {
    box-sizing: border-box;
    padding: 0 15px;
  }
  
  @media (min-width: 48.0625em) {
    .govuk-grid-column-two-thirds-from-desktop {
      width: 66.6666%;
      float: left;
    }
  }
  
  .govuk-grid-column-three-quarters-from-desktop {
    box-sizing: border-box;
    padding: 0 15px;
  }
  
  @media (min-width: 48.0625em) {
    .govuk-grid-column-three-quarters-from-desktop {
      width: 75%;
      float: left;
    }
  }
  
  .govuk-grid-column-full-from-desktop {
    box-sizing: border-box;
    padding: 0 15px;
  }
  
  @media (min-width: 48.0625em) {
    .govuk-grid-column-full-from-desktop {
      width: 100%;
      float: left;
    }
  }
  
  .govuk-main-wrapper {
    display: block;
    padding-top: 20px;
    padding-bottom: 20px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-main-wrapper {
      padding-top: 40px;
      padding-bottom: 40px;
    }
  }
  
  .govuk-main-wrapper--auto-spacing:first-child,
  .govuk-main-wrapper--l {
    padding-top: 30px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-main-wrapper--auto-spacing:first-child,
    .govuk-main-wrapper--l {
      padding-top: 50px;
    }
  }
  
  .govuk-width-container {
    max-width: 960px;
    margin-right: 15px;
    margin-left: 15px;
  }
  
  @supports (margin: max(calc(0px))) {
    .govuk-width-container {
      margin-right: max(15px, calc(15px + env(safe-area-inset-right)));
      margin-left: max(15px, calc(15px + env(safe-area-inset-left)));
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-width-container {
      margin-right: 30px;
      margin-left: 30px;
    }
    @supports (margin: max(calc(0px))) {
      .govuk-width-container {
        margin-right: max(30px, calc(15px + env(safe-area-inset-right)));
        margin-left: max(30px, calc(15px + env(safe-area-inset-left)));
      }
    }
  }
  
  @media (min-width: 1020px) {
    .govuk-width-container {
      margin-right: auto;
      margin-left: auto;
    }
    @supports (margin: max(calc(0px))) {
      .govuk-width-container {
        margin-right: auto;
        margin-left: auto;
      }
    }
  }
  
  .govuk-accordion {
    margin-bottom: 20px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-accordion {
      margin-bottom: 30px;
    }
  }
  
  .govuk-accordion__section {
    padding-top: 15px;
  }
  
  .govuk-accordion__section-header {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  
  .govuk-accordion__section-heading {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    margin-top: 0;
    margin-bottom: 0;
  }
  
  @media print {
    .govuk-accordion__section-heading {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-accordion__section-heading {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-accordion__section-heading {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  .govuk-accordion__section-button {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    display: inline-block;
    margin-bottom: 0;
    padding-top: 15px;
  }
  
  @media print {
    .govuk-accordion__section-button {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-accordion__section-button {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-accordion__section-button {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  .govuk-accordion__section-summary {
    margin-top: 10px;
    margin-bottom: 0;
  }
  
  .govuk-accordion__section-content > :last-child {
    margin-bottom: 0;
  }
  
  .js-enabled .govuk-accordion {
    border-bottom: 1px solid #b1b4b6;
  }
  
  .js-enabled .govuk-accordion__section {
    padding-top: 0;
  }
  
  .js-enabled .govuk-accordion__section-content {
    display: none;
    padding-top: 15px;
    padding-bottom: 15px;
  }
  
  @media (min-width: 40.0625em) {
    .js-enabled .govuk-accordion__section-content {
      padding-top: 15px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .js-enabled .govuk-accordion__section-content {
      padding-bottom: 15px;
    }
  }
  
  .js-enabled .govuk-accordion__section--expanded .govuk-accordion__section-content {
    display: block;
  }
  
  .js-enabled .govuk-accordion__open-all {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 0;
    border-width: 0;
    color: #1d70b8;
    background: none;
    cursor: pointer;
    -webkit-appearance: none;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
  }
  
  @media print {
    .js-enabled .govuk-accordion__open-all {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .js-enabled .govuk-accordion__open-all {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .js-enabled .govuk-accordion__open-all {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  @media print {
    .js-enabled .govuk-accordion__open-all {
      font-family: sans-serif;
    }
  }
  
  .js-enabled .govuk-accordion__open-all:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .js-enabled .govuk-accordion__open-all:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .js-enabled .govuk-accordion__open-all:link {
    color: #1d70b8;
  }
  
  .js-enabled .govuk-accordion__open-all:visited {
    color: #4c2c92;
  }
  
  .js-enabled .govuk-accordion__open-all:hover {
    color: #003078;
  }
  
  .js-enabled .govuk-accordion__open-all:active {
    color: #0b0c0c;
  }
  
  .js-enabled .govuk-accordion__open-all:focus {
    color: #0b0c0c;
  }
  
  .js-enabled .govuk-accordion__open-all::-moz-focus-inner {
    padding: 0;
    border: 0;
  }
  
  .js-enabled .govuk-accordion__section-header {
    position: relative;
    padding-right: 40px;
    border-top: 1px solid #b1b4b6;
    cursor: pointer;
  }
  
  .js-enabled .govuk-accordion__section-button {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding: 0;
    border-width: 0;
    color: #1d70b8;
    background: none;
    text-align: left;
    cursor: pointer;
    -webkit-appearance: none;
  }
  
  @media print {
    .js-enabled .govuk-accordion__section-button {
      font-family: sans-serif;
    }
  }
  
  .js-enabled .govuk-accordion__section-button:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .js-enabled .govuk-accordion__section-button::-moz-focus-inner {
    padding: 0;
    border: 0;
  }
  
  .js-enabled .govuk-accordion__section-button:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
  }
  
  .js-enabled .govuk-accordion__section-button:hover:not(:focus) {
    color: #003078;
    text-decoration: underline;
    text-decoration-thickness: max(3px, .1875rem, .12em);
    text-underline-offset: 0.1em;
  }
  
  @media (hover: none) {
    .js-enabled .govuk-accordion__section-button:hover {
      text-decoration: none;
    }
  }
  
  .js-enabled .govuk-accordion__controls {
    text-align: right;
  }
  
  .js-enabled .govuk-accordion__icon {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 16px;
    height: 16px;
    margin-top: -8px;
  }
  
  .js-enabled .govuk-accordion__icon:after,
  .js-enabled .govuk-accordion__icon:before {
    content: "";
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 25%;
    height: 25%;
    margin: auto;
    border: 2px solid transparent;
    background-color: #0b0c0c;
  }
  
  .js-enabled .govuk-accordion__icon:before {
    width: 100%;
  }
  
  .js-enabled .govuk-accordion__icon:after {
    height: 100%;
  }
  
  .js-enabled .govuk-accordion__section--expanded .govuk-accordion__icon:after {
    content: " ";
    display: none;
  }
  
  .govuk-back-link {
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
    display: inline-block;
    position: relative;
    margin-top: 15px;
    margin-bottom: 15px;
    padding-left: 14px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-back-link {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-back-link {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  @media print {
    .govuk-back-link {
      font-family: sans-serif;
    }
  }
  
  .govuk-back-link:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .govuk-back-link:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .govuk-back-link:link, .govuk-back-link:visited {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-back-link:link, .govuk-back-link:visited {
      color: #000000;
    }
  }
  
  .govuk-back-link:hover {
    color: rgba(11, 12, 12, 0.99);
  }
  
  .govuk-back-link:active, .govuk-back-link:focus {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-back-link:active, .govuk-back-link:focus {
      color: #000000;
    }
  }
  
  .govuk-back-link:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
    width: 7px;
    height: 7px;
    margin: auto 0;
    -webkit-transform: rotate(225deg);
    -ms-transform: rotate(225deg);
    transform: rotate(225deg);
    border: solid;
    border-width: 1px 1px 0 0;
    border-color: #505a5f;
  }
  
  .govuk-back-link:focus:before {
    border-color: #0b0c0c;
  }
  
  .govuk-back-link:after {
    content: "";
    position: absolute;
    top: -14px;
    right: 0;
    bottom: -14px;
    left: 0;
  }
  
  .govuk-breadcrumbs {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    color: #0b0c0c;
    margin-top: 15px;
    margin-bottom: 10px;
  }
  
  @media print {
    .govuk-breadcrumbs {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-breadcrumbs {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-breadcrumbs {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  @media print {
    .govuk-breadcrumbs {
      color: #000000;
    }
  }
  
  .govuk-breadcrumbs__list {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  
  .govuk-breadcrumbs__list:after {
    content: "";
    display: block;
    clear: both;
  }
  
  .govuk-breadcrumbs__list-item {
    display: inline-block;
    position: relative;
    margin-bottom: 5px;
    margin-left: 10px;
    padding-left: 15.655px;
    float: left;
  }
  
  .govuk-breadcrumbs__list-item:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -3.31px;
    width: 7px;
    height: 7px;
    margin: auto 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    border: solid;
    border-width: 1px 1px 0 0;
    border-color: #505a5f;
  }
  
  .govuk-breadcrumbs__list-item:first-child {
    margin-left: 0;
    padding-left: 0;
  }
  
  .govuk-breadcrumbs__list-item:first-child:before {
    content: none;
    display: none;
  }
  
  .govuk-breadcrumbs__link {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
  }
  
  @media print {
    .govuk-breadcrumbs__link {
      font-family: sans-serif;
    }
  }
  
  .govuk-breadcrumbs__link:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .govuk-breadcrumbs__link:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .govuk-breadcrumbs__link:link, .govuk-breadcrumbs__link:visited {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-breadcrumbs__link:link, .govuk-breadcrumbs__link:visited {
      color: #000000;
    }
  }
  
  .govuk-breadcrumbs__link:hover {
    color: rgba(11, 12, 12, 0.99);
  }
  
  .govuk-breadcrumbs__link:active, .govuk-breadcrumbs__link:focus {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-breadcrumbs__link:active, .govuk-breadcrumbs__link:focus {
      color: #000000;
    }
  }
  
  @media (max-width: 40.0525em) {
    .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item {
      display: none;
    }
    .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item:first-child, .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item:last-child {
      display: inline-block;
    }
    .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list-item:before {
      top: 6px;
      margin: 0;
    }
    .govuk-breadcrumbs--collapse-on-mobile .govuk-breadcrumbs__list {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
    }
  }
  
  .govuk-button {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.1875;
    box-sizing: border-box;
    display: inline-block;
    position: relative;
    width: 100%;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 22px;
    padding: 8px 10px 7px;
    border: 2px solid transparent;
    border-radius: 0;
    color: #ffffff;
    background-color: #00703c;
    box-shadow: 0 2px 0 #002d18;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    -webkit-appearance: none;
  }
  
  @media print {
    .govuk-button {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-button {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1;
    }
  }
  
  @media print {
    .govuk-button {
      font-size: 14pt;
      line-height: 19px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-button {
      margin-bottom: 32px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-button {
      width: auto;
    }
  }
  
  .govuk-button:link, .govuk-button:visited, .govuk-button:active, .govuk-button:hover {
    color: #ffffff;
    text-decoration: none;
  }
  
  .govuk-button::-moz-focus-inner {
    padding: 0;
    border: 0;
  }
  
  .govuk-button:hover {
    background-color: #005a30;
  }
  
  .govuk-button:active {
    top: 2px;
  }
  
  .govuk-button:focus {
    border-color: #ffdd00;
    outline: 3px solid transparent;
    box-shadow: inset 0 0 0 1px #ffdd00;
  }
  
  .govuk-button:focus:not(:active):not(:hover) {
    border-color: #ffdd00;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 2px 0 #0b0c0c;
  }
  
  .govuk-button:before {
    content: "";
    display: block;
    position: absolute;
    top: -2px;
    right: -2px;
    bottom: -4px;
    left: -2px;
    background: transparent;
  }
  
  .govuk-button:active:before {
    top: -4px;
  }
  
  .govuk-button--disabled,
  .govuk-button[disabled="disabled"],
  .govuk-button[disabled] {
    opacity: 0.5;
  }
  
  .govuk-button--disabled:hover,
  .govuk-button[disabled="disabled"]:hover,
  .govuk-button[disabled]:hover {
    background-color: #00703c;
    cursor: default;
  }
  
  .govuk-button--disabled:focus,
  .govuk-button[disabled="disabled"]:focus,
  .govuk-button[disabled]:focus {
    outline: none;
  }
  
  .govuk-button--disabled:active,
  .govuk-button[disabled="disabled"]:active,
  .govuk-button[disabled]:active {
    top: 0;
    box-shadow: 0 2px 0 #002d18;
  }
  
  .govuk-button--secondary {
    background-color: #f3f2f1;
    box-shadow: 0 2px 0 #929191;
  }
  
  .govuk-button--secondary, .govuk-button--secondary:link, .govuk-button--secondary:visited, .govuk-button--secondary:active, .govuk-button--secondary:hover {
    color: #0b0c0c;
  }
  
  .govuk-button--secondary:hover {
    background-color: #dbdad9;
  }
  
  .govuk-button--secondary:hover[disabled] {
    background-color: #f3f2f1;
  }
  
  .govuk-button--warning {
    background-color: #d4351c;
    box-shadow: 0 2px 0 #55150b;
  }
  
  .govuk-button--warning, .govuk-button--warning:link, .govuk-button--warning:visited, .govuk-button--warning:active, .govuk-button--warning:hover {
    color: #ffffff;
  }
  
  .govuk-button--warning:hover {
    background-color: #aa2a16;
  }
  
  .govuk-button--warning:hover[disabled] {
    background-color: #d4351c;
  }
  
  .govuk-button--start {
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    min-height: auto;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-button--start {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1;
    }
  }
  
  @media print {
    .govuk-button--start {
      font-size: 18pt;
      line-height: 1;
    }
  }
  
  .govuk-button__start-icon {
    margin-left: 5px;
    vertical-align: middle;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -ms-flex-item-align: center;
    align-self: center;
  }
  
  @media (min-width: 48.0625em) {
    .govuk-button__start-icon {
      margin-left: 10px;
    }
  }
  
  .govuk-error-message {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    display: block;
    margin-bottom: 15px;
    clear: both;
    color: #d4351c;
  }
  
  @media print {
    .govuk-error-message {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-error-message {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-error-message {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-fieldset {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
  }
  
  .govuk-fieldset:after {
    content: "";
    display: block;
    clear: both;
  }
  
  @supports not (caret-color: auto) {
    .govuk-fieldset,
    x:-moz-any-link {
      display: table-cell;
    }
  }
  
  .govuk-fieldset__legend {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    box-sizing: border-box;
    display: table;
    max-width: 100%;
    margin-bottom: 10px;
    padding: 0;
    white-space: normal;
  }
  
  @media print {
    .govuk-fieldset__legend {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-fieldset__legend {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-fieldset__legend {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-fieldset__legend {
      color: #000000;
    }
  }
  
  .govuk-fieldset__legend--xl {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 32px;
    font-size: 2rem;
    line-height: 1.09375;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-fieldset__legend--xl {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-fieldset__legend--xl {
      font-size: 48px;
      font-size: 3rem;
      line-height: 1.04167;
    }
  }
  
  @media print {
    .govuk-fieldset__legend--xl {
      font-size: 32pt;
      line-height: 1.15;
    }
  }
  
  .govuk-fieldset__legend--l {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.04167;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-fieldset__legend--l {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-fieldset__legend--l {
      font-size: 36px;
      font-size: 2.25rem;
      line-height: 1.11111;
    }
  }
  
  @media print {
    .govuk-fieldset__legend--l {
      font-size: 24pt;
      line-height: 1.05;
    }
  }
  
  .govuk-fieldset__legend--m {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-fieldset__legend--m {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-fieldset__legend--m {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-fieldset__legend--m {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  .govuk-fieldset__legend--s {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
  
  @media print {
    .govuk-fieldset__legend--s {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-fieldset__legend--s {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-fieldset__legend--s {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-fieldset__heading {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
  }
  
  .govuk-hint {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    display: block;
    margin-bottom: 15px;
    color: #505a5f;
  }
  
  @media print {
    .govuk-hint {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-hint {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-hint {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-label:not(.govuk-label--m):not(.govuk-label--l):not(.govuk-label--xl) + .govuk-hint {
    margin-bottom: 10px;
  }
  
  .govuk-fieldset__legend:not(.govuk-fieldset__legend--m):not(.govuk-fieldset__legend--l):not(.govuk-fieldset__legend--xl) + .govuk-hint {
    margin-bottom: 10px;
  }
  
  .govuk-fieldset__legend + .govuk-hint {
    margin-top: -5px;
  }
  
  .govuk-label {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    display: block;
    margin-bottom: 5px;
  }
  
  @media print {
    .govuk-label {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-label {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-label {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-label {
      color: #000000;
    }
  }
  
  .govuk-label--xl {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 32px;
    font-size: 2rem;
    line-height: 1.09375;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-label--xl {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-label--xl {
      font-size: 48px;
      font-size: 3rem;
      line-height: 1.04167;
    }
  }
  
  @media print {
    .govuk-label--xl {
      font-size: 32pt;
      line-height: 1.15;
    }
  }
  
  .govuk-label--l {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.04167;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-label--l {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-label--l {
      font-size: 36px;
      font-size: 2.25rem;
      line-height: 1.11111;
    }
  }
  
  @media print {
    .govuk-label--l {
      font-size: 24pt;
      line-height: 1.05;
    }
  }
  
  .govuk-label--m {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    margin-bottom: 10px;
  }
  
  @media print {
    .govuk-label--m {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-label--m {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-label--m {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  .govuk-label--s {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
  
  @media print {
    .govuk-label--s {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-label--s {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-label--s {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-label-wrapper {
    margin: 0;
  }
  
  .govuk-checkboxes__item {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    display: block;
    position: relative;
    min-height: 40px;
    margin-bottom: 10px;
    padding-left: 40px;
    clear: left;
  }
  
  @media print {
    .govuk-checkboxes__item {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-checkboxes__item {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-checkboxes__item {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-checkboxes__item:last-child,
  .govuk-checkboxes__item:last-of-type {
    margin-bottom: 0;
  }
  
  .govuk-checkboxes__input {
    cursor: pointer;
    position: absolute;
    z-index: 1;
    top: -2px;
    left: -2px;
    width: 44px;
    height: 44px;
    margin: 0;
    opacity: 0;
  }
  
  .govuk-checkboxes__label {
    display: inline-block;
    margin-bottom: 0;
    padding: 8px 15px 5px;
    cursor: pointer;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
  }
  
  .govuk-checkboxes__label:before {
    content: "";
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    border: 2px solid currentColor;
    background: transparent;
  }
  
  .govuk-checkboxes__label:after {
    content: "";
    box-sizing: border-box;
    position: absolute;
    top: 11px;
    left: 9px;
    width: 23px;
    height: 12px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border: solid;
    border-width: 0 0 5px 5px;
    border-top-color: transparent;
    opacity: 0;
    background: transparent;
  }
  
  .govuk-checkboxes__hint {
    display: block;
    padding-right: 15px;
    padding-left: 15px;
  }
  
  .govuk-checkboxes__input:focus + .govuk-checkboxes__label:before {
    border-width: 4px;
    box-shadow: 0 0 0 3px #ffdd00;
  }
  
  .govuk-checkboxes__input:checked + .govuk-checkboxes__label:after {
    opacity: 1;
  }
  
  .govuk-checkboxes__input:disabled,
  .govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
    cursor: default;
  }
  
  .govuk-checkboxes__input:disabled + .govuk-checkboxes__label {
    opacity: .5;
  }
  
  .govuk-checkboxes__conditional {
    margin-bottom: 15px;
    margin-left: 18px;
    padding-left: 33px;
    border-left: 4px solid #b1b4b6;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-checkboxes__conditional {
      margin-bottom: 20px;
    }
  }
  
  .js-enabled .govuk-checkboxes__conditional--hidden {
    display: none;
  }
  
  .govuk-checkboxes__conditional > :last-child {
    margin-bottom: 0;
  }
  
  .govuk-checkboxes--small .govuk-checkboxes__item {
    min-height: 0;
    margin-bottom: 0;
    padding-left: 34px;
    float: left;
  }
  
  .govuk-checkboxes--small .govuk-checkboxes__item:after {
    content: "";
    display: block;
    clear: both;
  }
  
  .govuk-checkboxes--small .govuk-checkboxes__input {
    left: -10px;
  }
  
  .govuk-checkboxes--small .govuk-checkboxes__label {
    margin-top: -2px;
    padding: 13px 15px 13px 1px;
    float: left;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-checkboxes--small .govuk-checkboxes__label {
      padding: 11px 15px 10px 1px;
    }
  }
  
  .govuk-checkboxes--small .govuk-checkboxes__label:before {
    top: 8px;
    width: 24px;
    height: 24px;
  }
  
  .govuk-checkboxes--small .govuk-checkboxes__label:after {
    top: 15px;
    left: 6px;
    width: 12px;
    height: 6.5px;
    border-width: 0 0 3px 3px;
  }
  
  .govuk-checkboxes--small .govuk-checkboxes__hint {
    padding: 0;
    clear: both;
  }
  
  .govuk-checkboxes--small .govuk-checkboxes__conditional {
    margin-left: 10px;
    padding-left: 20px;
    clear: both;
  }
  
  .govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label:before {
    box-shadow: 0 0 0 10px #b1b4b6;
  }
  
  .govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label:before {
    box-shadow: 0 0 0 3px #ffdd00, 0 0 0 10px #b1b4b6;
  }
  
  @media (hover: none), (pointer: coarse) {
    .govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:not(:disabled) + .govuk-checkboxes__label:before {
      box-shadow: initial;
    }
    .govuk-checkboxes--small .govuk-checkboxes__item:hover .govuk-checkboxes__input:focus + .govuk-checkboxes__label:before {
      box-shadow: 0 0 0 3px #ffdd00;
    }
  }
  
  .govuk-textarea {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 40px;
    margin-bottom: 20px;
    padding: 5px;
    resize: vertical;
    border: 2px solid #0b0c0c;
    border-radius: 0;
    -webkit-appearance: none;
  }
  
  @media print {
    .govuk-textarea {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-textarea {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-textarea {
      font-size: 14pt;
      line-height: 1.25;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-textarea {
      margin-bottom: 30px;
    }
  }
  
  .govuk-textarea:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 0;
    box-shadow: inset 0 0 0 2px;
  }
  
  .govuk-textarea--error {
    border: 2px solid #d4351c;
  }
  
  .govuk-textarea--error:focus {
    border-color: #0b0c0c;
  }
  
  .govuk-character-count {
    margin-bottom: 20px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-character-count {
      margin-bottom: 30px;
    }
  }
  
  .govuk-character-count .govuk-form-group,
  .govuk-character-count .govuk-textarea {
    margin-bottom: 5px;
  }
  
  .govuk-character-count__message {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: "tnum" 1;
    font-feature-settings: "tnum" 1;
    font-weight: 400;
    margin-top: 0;
    margin-bottom: 0;
  }
  
  @media print {
    .govuk-character-count__message {
      font-family: sans-serif;
    }
  }
  
  @supports (font-variant-numeric: tabular-nums) {
    .govuk-character-count__message {
      -webkit-font-feature-settings: normal;
      font-feature-settings: normal;
      font-variant-numeric: tabular-nums;
    }
  }
  
  .govuk-character-count__message--disabled {
    visibility: hidden;
  }
  
  .govuk-cookie-banner {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    padding-top: 20px;
    border-bottom: 10px solid transparent;
    background-color: #f3f2f1;
  }
  
  @media print {
    .govuk-cookie-banner {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-cookie-banner {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-cookie-banner {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-cookie-banner[hidden] {
    display: none;
  }
  
  .govuk-cookie-banner__message {
    margin-bottom: -10px;
  }
  
  .govuk-cookie-banner__message[hidden] {
    display: none;
  }
  
  .govuk-cookie-banner__message:focus {
    outline: none;
  }
  
  .govuk-summary-list {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    margin: 0;
    margin-bottom: 20px;
  }
  
  @media print {
    .govuk-summary-list {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-summary-list {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-summary-list {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list {
      display: table;
      width: 100%;
      table-layout: fixed;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list {
      margin-bottom: 30px;
    }
  }
  
  @media (max-width: 40.0525em) {
    .govuk-summary-list__row {
      margin-bottom: 15px;
      border-bottom: 1px solid #b1b4b6;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list__row {
      display: table-row;
    }
  }
  
  .govuk-summary-list__key,
  .govuk-summary-list__value,
  .govuk-summary-list__actions {
    margin: 0;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list__key,
    .govuk-summary-list__value,
    .govuk-summary-list__actions {
      display: table-cell;
      padding-top: 10px;
      padding-right: 20px;
      padding-bottom: 10px;
      border-bottom: 1px solid #b1b4b6;
    }
  }
  
  .govuk-summary-list__actions {
    margin-bottom: 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list__actions {
      width: 20%;
      padding-right: 0;
      text-align: right;
    }
  }
  
  .govuk-summary-list__key,
  .govuk-summary-list__value {
    word-wrap: break-word;
    overflow-wrap: break-word;
  }
  
  .govuk-summary-list__key {
    margin-bottom: 5px;
    font-weight: 700;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list__key {
      width: 30%;
    }
  }
  
  @media (max-width: 40.0525em) {
    .govuk-summary-list__value {
      margin-bottom: 15px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list__value {
      width: 50%;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list__value:last-child {
      width: 70%;
    }
  }
  
  .govuk-summary-list__value > p {
    margin-bottom: 10px;
  }
  
  .govuk-summary-list__value > :last-child {
    margin-bottom: 0;
  }
  
  .govuk-summary-list__actions-list {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  
  .govuk-summary-list__actions-list-item {
    display: inline;
    margin-right: 10px;
    padding-right: 10px;
  }
  
  .govuk-summary-list__actions-list-item:not(:last-child) {
    border-right: 1px solid #b1b4b6;
  }
  
  .govuk-summary-list__actions-list-item:last-child {
    margin-right: 0;
    padding-right: 0;
    border: 0;
  }
  
  @media (max-width: 40.0525em) {
    .govuk-summary-list--no-border .govuk-summary-list__row {
      border: 0;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list--no-border .govuk-summary-list__key,
    .govuk-summary-list--no-border .govuk-summary-list__value,
    .govuk-summary-list--no-border .govuk-summary-list__actions {
      padding-bottom: 11px;
      border: 0;
    }
  }
  
  @media (max-width: 40.0525em) {
    .govuk-summary-list__row--no-border {
      border: 0;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-summary-list__row--no-border .govuk-summary-list__key,
    .govuk-summary-list__row--no-border .govuk-summary-list__value,
    .govuk-summary-list__row--no-border .govuk-summary-list__actions {
      padding-bottom: 11px;
      border: 0;
    }
  }
  
  .govuk-input {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    box-sizing: border-box;
    width: 100%;
    height: 40px;
    height: 2.5rem;
    margin-top: 0;
    padding: 5px;
    border: 2px solid #0b0c0c;
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
  }
  
  @media print {
    .govuk-input {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-input {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-input {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-input:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 0;
    box-shadow: inset 0 0 0 2px;
  }
  
  .govuk-input::-webkit-outer-spin-button,
  .govuk-input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
  }
  
  .govuk-input[type="number"] {
    -moz-appearance: textfield;
  }
  
  .govuk-input--error {
    border: 2px solid #d4351c;
  }
  
  .govuk-input--error:focus {
    border-color: #0b0c0c;
  }
  
  .govuk-input--width-30 {
    max-width: 59ex;
  }
  
  .govuk-input--width-20 {
    max-width: 41ex;
  }
  
  .govuk-input--width-10 {
    max-width: 23ex;
  }
  
  .govuk-input--width-5 {
    max-width: 10.8ex;
  }
  
  .govuk-input--width-4 {
    max-width: 9ex;
  }
  
  .govuk-input--width-3 {
    max-width: 7.2ex;
  }
  
  .govuk-input--width-2 {
    max-width: 5.4ex;
  }
  
  .govuk-input__wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  
  .govuk-input__wrapper .govuk-input {
    -webkit-box-flex: 0;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
  }
  
  .govuk-input__wrapper .govuk-input:focus {
    z-index: 1;
  }
  
  @media (max-width: 19.99em) {
    .govuk-input__wrapper {
      display: block;
    }
    .govuk-input__wrapper .govuk-input {
      max-width: 100%;
    }
  }
  
  .govuk-input__prefix,
  .govuk-input__suffix {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    box-sizing: border-box;
    display: inline-block;
    min-width: 40px;
    min-width: 2.5rem;
    height: 40px;
    height: 2.5rem;
    padding: 5px;
    border: 2px solid #0b0c0c;
    background-color: #f3f2f1;
    text-align: center;
    white-space: nowrap;
    cursor: default;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
  
  @media print {
    .govuk-input__prefix,
    .govuk-input__suffix {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-input__prefix,
    .govuk-input__suffix {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-input__prefix,
    .govuk-input__suffix {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media (max-width: 40.0525em) {
    .govuk-input__prefix,
    .govuk-input__suffix {
      line-height: 1.6;
    }
  }
  
  @media (max-width: 19.99em) {
    .govuk-input__prefix,
    .govuk-input__suffix {
      display: block;
      height: 100%;
      white-space: normal;
    }
  }
  
  @media (max-width: 19.99em) {
    .govuk-input__prefix {
      border-bottom: 0;
    }
  }
  
  @media (min-width: 20em) {
    .govuk-input__prefix {
      border-right: 0;
    }
  }
  
  @media (max-width: 19.99em) {
    .govuk-input__suffix {
      border-top: 0;
    }
  }
  
  @media (min-width: 20em) {
    .govuk-input__suffix {
      border-left: 0;
    }
  }
  
  .govuk-date-input {
    font-size: 0;
  }
  
  .govuk-date-input:after {
    content: "";
    display: block;
    clear: both;
  }
  
  .govuk-date-input__item {
    display: inline-block;
    margin-right: 20px;
    margin-bottom: 0;
  }
  
  .govuk-date-input__label {
    display: block;
  }
  
  .govuk-date-input__input {
    margin-bottom: 0;
  }
  
  .govuk-details {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    margin-bottom: 20px;
    display: block;
  }
  
  @media print {
    .govuk-details {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-details {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-details {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-details {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-details {
      margin-bottom: 30px;
    }
  }
  
  .govuk-details__summary {
    display: inline-block;
    position: relative;
    margin-bottom: 5px;
    padding-left: 25px;
    color: #1d70b8;
    cursor: pointer;
  }
  
  .govuk-details__summary:hover {
    color: #003078;
  }
  
  .govuk-details__summary:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .govuk-details__summary-text {
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
  }
  
  .govuk-details__summary:hover .govuk-details__summary-text {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .govuk-details__summary:focus .govuk-details__summary-text {
    text-decoration: none;
  }
  
  .govuk-details__summary::-webkit-details-marker {
    display: none;
  }
  
  .govuk-details__summary:before {
    content: "";
    position: absolute;
    top: -1px;
    bottom: 0;
    left: 0;
    margin: auto;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    -webkit-clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 50%, 0% 100%);
    border-width: 7px 0 7px 12.124px;
    border-left-color: inherit;
  }
  
  .govuk-details[open] > .govuk-details__summary:before {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
    clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
    border-width: 12.124px 7px 0 7px;
    border-top-color: inherit;
  }
  
  .govuk-details__text {
    padding: 15px;
    padding-left: 20px;
    border-left: 5px solid #b1b4b6;
  }
  
  .govuk-details__text p {
    margin-top: 0;
    margin-bottom: 20px;
  }
  
  .govuk-details__text > :last-child {
    margin-bottom: 0;
  }
  
  .govuk-error-summary {
    color: #0b0c0c;
    padding: 15px;
    margin-bottom: 30px;
    border: 5px solid #d4351c;
  }
  
  @media print {
    .govuk-error-summary {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-error-summary {
      padding: 20px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-error-summary {
      margin-bottom: 50px;
    }
  }
  
  .govuk-error-summary:focus {
    outline: 3px solid #ffdd00;
  }
  
  .govuk-error-summary__title {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    margin-top: 0;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-error-summary__title {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-error-summary__title {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-error-summary__title {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-error-summary__title {
      margin-bottom: 20px;
    }
  }
  
  .govuk-error-summary__body {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
  
  @media print {
    .govuk-error-summary__body {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-error-summary__body {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-error-summary__body {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-error-summary__body p {
    margin-top: 0;
    margin-bottom: 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-error-summary__body p {
      margin-bottom: 20px;
    }
  }
  
  .govuk-error-summary__list {
    margin-top: 0;
    margin-bottom: 0;
  }
  
  .govuk-error-summary__list a {
    font-weight: 700;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
  }
  
  @media print {
    .govuk-error-summary__list a {
      font-family: sans-serif;
    }
  }
  
  .govuk-error-summary__list a:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .govuk-error-summary__list a:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .govuk-error-summary__list a:link, .govuk-error-summary__list a:visited {
    color: #d4351c;
  }
  
  .govuk-error-summary__list a:hover {
    color: #942514;
  }
  
  .govuk-error-summary__list a:active {
    color: #d4351c;
  }
  
  .govuk-error-summary__list a:focus {
    color: #0b0c0c;
  }
  
  .govuk-file-upload {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    margin-left: -5px;
    padding: 5px;
  }
  
  @media print {
    .govuk-file-upload {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-file-upload {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-file-upload {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-file-upload {
      color: #000000;
    }
  }
  
  .govuk-file-upload::-webkit-file-upload-button {
    -webkit-appearance: button;
    color: inherit;
    font: inherit;
  }
  
  .govuk-file-upload:focus {
    outline: 3px solid #ffdd00;
    box-shadow: inset 0 0 0 4px #0b0c0c;
  }
  
  .govuk-file-upload:focus-within {
    outline: 3px solid #ffdd00;
    box-shadow: inset 0 0 0 4px #0b0c0c;
  }
  
  .govuk-footer {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    padding-top: 25px;
    padding-bottom: 15px;
    border-top: 1px solid #b1b4b6;
    color: #0b0c0c;
    background: #ffffff;
  }
  
  @media print {
    .govuk-footer {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-footer {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-footer {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-footer {
      padding-top: 40px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-footer {
      padding-bottom: 25px;
    }
  }
  
  .govuk-footer__link {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
  }
  
  @media print {
    .govuk-footer__link {
      font-family: sans-serif;
    }
  }
  
  .govuk-footer__link:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .govuk-footer__link:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .govuk-footer__link:link, .govuk-footer__link:visited {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-footer__link:link, .govuk-footer__link:visited {
      color: #000000;
    }
  }
  
  .govuk-footer__link:hover {
    color: rgba(11, 12, 12, 0.99);
  }
  
  .govuk-footer__link:active, .govuk-footer__link:focus {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-footer__link:active, .govuk-footer__link:focus {
      color: #000000;
    }
  }
  
  .govuk-footer__section-break {
    margin: 0;
    margin-bottom: 30px;
    border: 0;
    border-bottom: 1px solid #b1b4b6;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-footer__section-break {
      margin-bottom: 50px;
    }
  }
  
  .govuk-footer__meta {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: -15px;
    margin-left: -15px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  
  .govuk-footer__meta-item {
    margin-right: 15px;
    margin-bottom: 25px;
    margin-left: 15px;
  }
  
  .govuk-footer__meta-item--grow {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
  }
  
  @media (max-width: 40.0525em) {
    .govuk-footer__meta-item--grow {
      -ms-flex-preferred-size: 320px;
      flex-basis: 320px;
    }
  }
  
  .govuk-footer__licence-logo {
    display: inline-block;
    margin-right: 10px;
    vertical-align: top;
  }
  
  @media (max-width: 48.0525em) {
    .govuk-footer__licence-logo {
      margin-bottom: 15px;
    }
  }
  
  .govuk-footer__licence-description {
    display: inline-block;
  }
  
  .govuk-footer__copyright-logo {
    display: inline-block;
    min-width: 125px;
    padding-top: 112px;
    background-image: url("/assets/images/govuk-crest.png");
    background-repeat: no-repeat;
    background-position: 50% 0%;
    background-size: 125px 102px;
    text-align: center;
    white-space: nowrap;
  }
  
  @media only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx) {
    .govuk-footer__copyright-logo {
      background-image: url("/assets/images/govuk-crest-2x.png");
    }
  }
  
  .govuk-footer__inline-list {
    margin-top: 0;
    margin-bottom: 15px;
    padding: 0;
  }
  
  .govuk-footer__meta-custom {
    margin-bottom: 20px;
  }
  
  .govuk-footer__inline-list-item {
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 5px;
  }
  
  .govuk-footer__heading {
    margin-bottom: 25px;
    padding-bottom: 20px;
    border-bottom: 1px solid #b1b4b6;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-footer__heading {
      margin-bottom: 40px;
    }
  }
  
  @media (max-width: 40.0525em) {
    .govuk-footer__heading {
      padding-bottom: 10px;
    }
  }
  
  .govuk-footer__navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: -15px;
    margin-left: -15px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  
  .govuk-footer__section {
    display: inline-block;
    margin-right: 15px;
    margin-bottom: 30px;
    margin-left: 15px;
    vertical-align: top;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
  }
  
  @media (max-width: 48.0525em) {
    .govuk-footer__section {
      -ms-flex-preferred-size: 200px;
      flex-basis: 200px;
    }
  }
  
  @media (min-width: 48.0625em) {
    .govuk-footer__section:first-child:nth-last-child(2) {
      -webkit-box-flex: 2;
      -ms-flex-positive: 2;
      flex-grow: 2;
    }
  }
  
  .govuk-footer__list {
    margin: 0;
    padding: 0;
    list-style: none;
    -webkit-column-gap: 30px;
    column-gap: 30px;
  }
  
  .govuk-footer__list .govuk-footer__link:hover {
    text-decoration-thickness: auto;
  }
  
  @media (min-width: 48.0625em) {
    .govuk-footer__list--columns-2 {
      -webkit-column-count: 2;
      column-count: 2;
    }
    .govuk-footer__list--columns-3 {
      -webkit-column-count: 3;
      column-count: 3;
    }
  }
  
  .govuk-footer__list-item {
    margin-bottom: 15px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-footer__list-item {
      margin-bottom: 20px;
    }
  }
  
  .govuk-footer__list-item:last-child {
    margin-bottom: 0;
  }
  
  .govuk-header {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    border-bottom: 10px solid #ffffff;
    color: #ffffff;
    background: #0b0c0c;
  }
  
  @media print {
    .govuk-header {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-header {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-header {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  .govuk-header__container--full-width {
    padding: 0 15px;
    border-color: #1d70b8;
  }
  
  .govuk-header__container--full-width .govuk-header__menu-button {
    right: 15px;
  }
  
  .govuk-header__container {
    position: relative;
    margin-bottom: -10px;
    padding-top: 10px;
    border-bottom: 10px solid #1d70b8;
  }
  
  .govuk-header__container:after {
    content: "";
    display: block;
    clear: both;
  }
  
  .govuk-header__logotype {
    display: inline-block;
    margin-right: 5px;
    forced-color-adjust: none;
  }
  
  .govuk-header__logotype:last-child {
    margin-right: 0;
  }
  
  .govuk-header__logotype-crown {
    position: relative;
    top: -1px;
    margin-right: 1px;
    fill: currentColor;
    vertical-align: top;
  }
  
  .govuk-header__logotype-crown-fallback-image {
    width: 36px;
    height: 32px;
    border: 0;
    vertical-align: middle;
  }
  
  .govuk-header__product-name {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1;
    display: inline-table;
  }
  
  @media print {
    .govuk-header__product-name {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-header__product-name {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1;
    }
  }
  
  @media print {
    .govuk-header__product-name {
      font-size: 18pt;
      line-height: 1;
    }
  }
  
  .govuk-header__link {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: none;
  }
  
  @media print {
    .govuk-header__link {
      font-family: sans-serif;
    }
  }
  
  .govuk-header__link:link, .govuk-header__link:visited {
    color: #ffffff;
  }
  
  .govuk-header__link:hover, .govuk-header__link:active {
    color: rgba(255, 255, 255, 0.99);
  }
  
  .govuk-header__link:focus {
    color: #0b0c0c;
  }
  
  .govuk-header__link:hover {
    text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 0.1em;
  }
  
  .govuk-header__link:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .govuk-header__link--homepage {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    display: inline-block;
    margin-right: 10px;
    font-size: 30px;
    line-height: 1;
  }
  
  @media print {
    .govuk-header__link--homepage {
      font-family: sans-serif;
    }
  }
  
  .govuk-header__link--homepage:link, .govuk-header__link--homepage:visited {
    text-decoration: none;
  }
  
  .govuk-header__link--homepage:hover, .govuk-header__link--homepage:active {
    margin-bottom: -3px;
    border-bottom: 3px solid;
  }
  
  .govuk-header__link--homepage:focus {
    margin-bottom: 0;
    border-bottom: 0;
  }
  
  .govuk-header__link--service-name {
    display: inline-block;
    margin-bottom: 10px;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
  }
  
  @media print {
    .govuk-header__link--service-name {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-header__link--service-name {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-header__link--service-name {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  .govuk-header__logo,
  .govuk-header__content {
    box-sizing: border-box;
  }
  
  .govuk-header__logo {
    margin-bottom: 10px;
    padding-right: 50px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-header__logo {
      margin-bottom: 10px;
    }
  }
  
  @media (min-width: 48.0625em) {
    .govuk-header__logo {
      width: 33.33%;
      padding-right: 15px;
      float: left;
      vertical-align: top;
    }
  }
  
  @media (min-width: 48.0625em) {
    .govuk-header__content {
      width: 66.66%;
      padding-left: 15px;
      float: left;
    }
  }
  
  .govuk-header__menu-button {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    display: none;
    position: absolute;
    top: 20px;
    right: 0;
    margin: 0;
    padding: 0;
    border: 0;
    color: #ffffff;
    background: none;
    cursor: pointer;
  }
  
  @media print {
    .govuk-header__menu-button {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-header__menu-button {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-header__menu-button {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  .govuk-header__menu-button:hover {
    -webkit-text-decoration: solid underline 3px;
    text-decoration: solid underline 3px;
    text-underline-offset: 0.1em;
  }
  
  .govuk-header__menu-button:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .govuk-header__menu-button:after {
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    -webkit-clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
    clip-path: polygon(0% 0%, 50% 100%, 100% 0%);
    border-width: 8.66px 5px 0 5px;
    border-top-color: inherit;
    content: "";
    margin-left: 5px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-header__menu-button {
      top: 15px;
    }
  }
  
  .govuk-header__menu-button--open:after {
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent;
    -webkit-clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    border-width: 0 5px 8.66px 5px;
    border-bottom-color: inherit;
  }
  
  .govuk-header__navigation {
    margin-bottom: 10px;
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-header__navigation {
      margin-bottom: 10px;
    }
  }
  
  .js-enabled .govuk-header__menu-button {
    display: block;
  }
  
  @media (min-width: 48.0625em) {
    .js-enabled .govuk-header__menu-button {
      display: none;
    }
  }
  
  .js-enabled .govuk-header__navigation {
    display: none;
  }
  
  @media (min-width: 48.0625em) {
    .js-enabled .govuk-header__navigation {
      display: block;
    }
  }
  
  .js-enabled .govuk-header__navigation--open {
    display: block;
  }
  
  @media (min-width: 48.0625em) {
    .govuk-header__navigation--end {
      margin: 0;
      padding: 5px 0;
      text-align: right;
    }
  }
  
  .govuk-header__navigation--no-service-name {
    padding-top: 40px;
  }
  
  .govuk-header__navigation-item {
    padding: 10px 0;
    border-bottom: 1px solid #2e3133;
  }
  
  @media (min-width: 48.0625em) {
    .govuk-header__navigation-item {
      display: inline-block;
      margin-right: 15px;
      padding: 5px 0;
      border: 0;
    }
  }
  
  .govuk-header__navigation-item a {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    white-space: nowrap;
  }
  
  @media print {
    .govuk-header__navigation-item a {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-header__navigation-item a {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-header__navigation-item a {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  .govuk-header__navigation-item--active a:link, .govuk-header__navigation-item--active a:hover, .govuk-header__navigation-item--active a:visited {
    color: #1d8feb;
  }
  
  .govuk-header__navigation-item--active a:focus {
    color: #0b0c0c;
  }
  
  .govuk-header__navigation-item:last-child {
    margin-right: 0;
  }
  
  @media print {
    .govuk-header {
      border-bottom-width: 0;
      color: #0b0c0c;
      background: transparent;
    }
    .govuk-header__logotype-crown-fallback-image {
      display: none;
    }
    .govuk-header__link:link, .govuk-header__link:visited {
      color: #0b0c0c;
    }
    .govuk-header__link:after {
      display: none;
    }
  }
  
  .govuk-inset-text {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    padding: 15px;
    margin-top: 20px;
    margin-bottom: 20px;
    clear: both;
    border-left: 10px solid #b1b4b6;
  }
  
  @media print {
    .govuk-inset-text {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-inset-text {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-inset-text {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-inset-text {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-inset-text {
      margin-top: 30px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-inset-text {
      margin-bottom: 30px;
    }
  }
  
  .govuk-inset-text > :first-child {
    margin-top: 0;
  }
  
  .govuk-inset-text > :only-child,
  .govuk-inset-text > :last-child {
    margin-bottom: 0;
  }
  
  .govuk-notification-banner {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin-bottom: 30px;
    border: 5px solid #1d70b8;
    background-color: #1d70b8;
  }
  
  @media print {
    .govuk-notification-banner {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-notification-banner {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-notification-banner {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-notification-banner {
      margin-bottom: 50px;
    }
  }
  
  .govuk-notification-banner:focus {
    outline: 3px solid #ffdd00;
  }
  
  .govuk-notification-banner__header {
    padding: 2px 15px 5px;
    border-bottom: 1px solid transparent;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-notification-banner__header {
      padding: 2px 20px 5px;
    }
  }
  
  .govuk-notification-banner__title {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin: 0;
    padding: 0;
    color: #ffffff;
  }
  
  @media print {
    .govuk-notification-banner__title {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-notification-banner__title {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-notification-banner__title {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-notification-banner__content {
    color: #0b0c0c;
    padding: 15px;
    background-color: #ffffff;
  }
  
  @media print {
    .govuk-notification-banner__content {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-notification-banner__content {
      padding: 20px;
    }
  }
  
  .govuk-notification-banner__content > * {
    box-sizing: border-box;
    max-width: 100%;
  }
  
  .govuk-notification-banner__content > :last-child {
    margin-bottom: 0;
  }
  
  .govuk-notification-banner__heading {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    margin: 0 0 15px 0;
    padding: 0;
  }
  
  @media print {
    .govuk-notification-banner__heading {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-notification-banner__heading {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-notification-banner__heading {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  .govuk-notification-banner__link {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
  }
  
  @media print {
    .govuk-notification-banner__link {
      font-family: sans-serif;
    }
  }
  
  .govuk-notification-banner__link:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .govuk-notification-banner__link:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .govuk-notification-banner__link:link {
    color: #1d70b8;
  }
  
  .govuk-notification-banner__link:visited {
    color: #1d70b8;
  }
  
  .govuk-notification-banner__link:hover {
    color: #003078;
  }
  
  .govuk-notification-banner__link:active {
    color: #0b0c0c;
  }
  
  .govuk-notification-banner__link:focus {
    color: #0b0c0c;
  }
  
  .govuk-notification-banner--success {
    border-color: #00703c;
    background-color: #00703c;
  }
  
  .govuk-notification-banner--success .govuk-notification-banner__link:link, .govuk-notification-banner--success .govuk-notification-banner__link:visited {
    color: #00703c;
  }
  
  .govuk-notification-banner--success .govuk-notification-banner__link:hover {
    color: #004e2a;
  }
  
  .govuk-notification-banner--success .govuk-notification-banner__link:active {
    color: #00703c;
  }
  
  .govuk-notification-banner--success .govuk-notification-banner__link:focus {
    color: #0b0c0c;
  }
  
  .govuk-panel {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    box-sizing: border-box;
    margin-bottom: 15px;
    padding: 35px;
    border: 5px solid transparent;
    text-align: center;
  }
  
  @media print {
    .govuk-panel {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-panel {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-panel {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media (max-width: 40.0525em) {
    .govuk-panel {
      padding: 25px;
    }
  }
  
  .govuk-panel--confirmation {
    color: #ffffff;
    background: #00703c;
  }
  
  @media print {
    .govuk-panel--confirmation {
      border-color: currentColor;
      color: #000000;
      background: none;
    }
  }
  
  .govuk-panel__title {
    margin-top: 0;
    margin-bottom: 30px;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 32px;
    font-size: 2rem;
    line-height: 1.09375;
  }
  
  @media print {
    .govuk-panel__title {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-panel__title {
      font-size: 48px;
      font-size: 3rem;
      line-height: 1.04167;
    }
  }
  
  @media print {
    .govuk-panel__title {
      font-size: 32pt;
      line-height: 1.15;
    }
  }
  
  .govuk-panel__title:last-child {
    margin-bottom: 0;
  }
  
  .govuk-panel__body {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.04167;
  }
  
  @media print {
    .govuk-panel__body {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-panel__body {
      font-size: 36px;
      font-size: 2.25rem;
      line-height: 1.11111;
    }
  }
  
  @media print {
    .govuk-panel__body {
      font-size: 24pt;
      line-height: 1.05;
    }
  }
  
  .govuk-tag {
    display: inline-block;
    outline: 2px solid transparent;
    outline-offset: -2px;
    color: #ffffff;
    background-color: #1d70b8;
    letter-spacing: 1px;
    text-decoration: none;
    text-transform: uppercase;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1;
    padding-top: 5px;
    padding-right: 8px;
    padding-bottom: 4px;
    padding-left: 8px;
  }
  
  @media print {
    .govuk-tag {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-tag {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1;
    }
  }
  
  @media print {
    .govuk-tag {
      font-size: 14pt;
      line-height: 1;
    }
  }
  
  .govuk-tag--inactive {
    background-color: #505a5f;
  }
  
  .govuk-tag--grey {
    color: #383f43;
    background: #eeefef;
  }
  
  .govuk-tag--purple {
    color: #3d2375;
    background: #dbd5e9;
  }
  
  .govuk-tag--turquoise {
    color: #10403c;
    background: #bfe3e0;
  }
  
  .govuk-tag--blue {
    color: #144e81;
    background: #d2e2f1;
  }
  
  .govuk-tag--yellow {
    color: #594d00;
    background: #fff7bf;
  }
  
  .govuk-tag--orange {
    color: #6e3619;
    background: #fcd6c3;
  }
  
  .govuk-tag--red {
    color: #942514;
    background: #f6d7d2;
  }
  
  .govuk-tag--pink {
    color: #80224d;
    background: #f7d7e6;
  }
  
  .govuk-tag--green {
    color: #005a30;
    background: #cce2d8;
  }
  
  .govuk-phase-banner {
    padding-top: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #b1b4b6;
  }
  
  .govuk-phase-banner__content {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    color: #0b0c0c;
    display: table;
    margin: 0;
  }
  
  @media print {
    .govuk-phase-banner__content {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-phase-banner__content {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-phase-banner__content {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  @media print {
    .govuk-phase-banner__content {
      color: #000000;
    }
  }
  
  .govuk-phase-banner__content__tag {
    margin-right: 10px;
  }
  
  .govuk-phase-banner__text {
    display: table-cell;
    vertical-align: middle;
  }
  
  .govuk-tabs {
    margin-top: 5px;
    margin-bottom: 20px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-tabs {
      margin-top: 5px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-tabs {
      margin-bottom: 30px;
    }
  }
  
  .govuk-tabs__title {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    margin-bottom: 10px;
  }
  
  @media print {
    .govuk-tabs__title {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-tabs__title {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-tabs__title {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-tabs__title {
      color: #000000;
    }
  }
  
  .govuk-tabs__list {
    margin: 0;
    padding: 0;
    list-style: none;
    margin-bottom: 20px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-tabs__list {
      margin-bottom: 30px;
    }
  }
  
  .govuk-tabs__list-item {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin-left: 25px;
  }
  
  @media print {
    .govuk-tabs__list-item {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-tabs__list-item {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-tabs__list-item {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-tabs__list-item:before {
    color: #0b0c0c;
    content: "\2014 ";
    margin-left: -25px;
    padding-right: 5px;
  }
  
  @media print {
    .govuk-tabs__list-item:before {
      color: #000000;
    }
  }
  
  .govuk-tabs__tab {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
    display: inline-block;
    margin-bottom: 10px;
  }
  
  @media print {
    .govuk-tabs__tab {
      font-family: sans-serif;
    }
  }
  
  .govuk-tabs__tab:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .govuk-tabs__tab:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .govuk-tabs__tab:link {
    color: #1d70b8;
  }
  
  .govuk-tabs__tab:visited {
    color: #4c2c92;
  }
  
  .govuk-tabs__tab:hover {
    color: #003078;
  }
  
  .govuk-tabs__tab:active {
    color: #0b0c0c;
  }
  
  .govuk-tabs__tab:focus {
    color: #0b0c0c;
  }
  
  .govuk-tabs__panel {
    margin-bottom: 30px;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-tabs__panel {
      margin-bottom: 50px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .js-enabled .govuk-tabs__list {
      margin-bottom: 0;
      border-bottom: 1px solid #b1b4b6;
    }
    .js-enabled .govuk-tabs__list:after {
      content: "";
      display: block;
      clear: both;
    }
    .js-enabled .govuk-tabs__title {
      display: none;
    }
    .js-enabled .govuk-tabs__list-item {
      position: relative;
      margin-right: 5px;
      margin-bottom: 0;
      margin-left: 0;
      padding: 10px 20px;
      float: left;
      background-color: #f3f2f1;
      text-align: center;
    }
    .js-enabled .govuk-tabs__list-item:before {
      content: none;
    }
    .js-enabled .govuk-tabs__list-item--selected {
      position: relative;
      margin-top: -5px;
      margin-bottom: -1px;
      padding-top: 14px;
      padding-right: 19px;
      padding-bottom: 16px;
      padding-left: 19px;
      border: 1px solid #b1b4b6;
      border-bottom: 0;
      background-color: #ffffff;
    }
    .js-enabled .govuk-tabs__list-item--selected .govuk-tabs__tab {
      text-decoration: none;
    }
    .js-enabled .govuk-tabs__tab {
      margin-bottom: 0;
    }
    .js-enabled .govuk-tabs__tab:link, .js-enabled .govuk-tabs__tab:visited {
      color: #0b0c0c;
    }
  }
  
  @media print and (min-width: 40.0625em) {
    .js-enabled .govuk-tabs__tab:link, .js-enabled .govuk-tabs__tab:visited {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .js-enabled .govuk-tabs__tab:hover {
      color: rgba(11, 12, 12, 0.99);
    }
    .js-enabled .govuk-tabs__tab:active, .js-enabled .govuk-tabs__tab:focus {
      color: #0b0c0c;
    }
  }
  
  @media print and (min-width: 40.0625em) {
    .js-enabled .govuk-tabs__tab:active, .js-enabled .govuk-tabs__tab:focus {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .js-enabled .govuk-tabs__tab:after {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
    }
    .js-enabled .govuk-tabs__panel {
      margin-bottom: 0;
      padding: 30px 20px;
      border: 1px solid #b1b4b6;
      border-top: 0;
    }
  }
  
  @media (min-width: 40.0625em) and (min-width: 40.0625em) {
    .js-enabled .govuk-tabs__panel {
      margin-bottom: 0;
    }
  }
  
  @media (min-width: 40.0625em) {
    .js-enabled .govuk-tabs__panel > :last-child {
      margin-bottom: 0;
    }
    .js-enabled .govuk-tabs__panel--hidden {
      display: none;
    }
  }
  
  .govuk-radios__item {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    display: block;
    position: relative;
    min-height: 40px;
    margin-bottom: 10px;
    padding-left: 40px;
    clear: left;
  }
  
  @media print {
    .govuk-radios__item {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-radios__item {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-radios__item {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-radios__item:last-child,
  .govuk-radios__item:last-of-type {
    margin-bottom: 0;
  }
  
  .govuk-radios__input {
    cursor: pointer;
    position: absolute;
    z-index: 1;
    top: -2px;
    left: -2px;
    width: 44px;
    height: 44px;
    margin: 0;
    opacity: 0;
  }
  
  .govuk-radios__label {
    display: inline-block;
    margin-bottom: 0;
    padding: 8px 15px 5px;
    cursor: pointer;
    -ms-touch-action: manipulation;
    touch-action: manipulation;
  }
  
  .govuk-radios__label:before {
    content: "";
    box-sizing: border-box;
    position: absolute;
    top: 0;
    left: 0;
    width: 40px;
    height: 40px;
    border: 2px solid currentColor;
    border-radius: 50%;
    background: transparent;
  }
  
  .govuk-radios__label:after {
    content: "";
    position: absolute;
    top: 10px;
    left: 10px;
    width: 0;
    height: 0;
    border: 10px solid currentColor;
    border-radius: 50%;
    opacity: 0;
    background: currentColor;
  }
  
  .govuk-radios__hint {
    display: block;
    padding-right: 15px;
    padding-left: 15px;
  }
  
  .govuk-radios__input:focus + .govuk-radios__label:before {
    border-width: 4px;
    box-shadow: 0 0 0 4px #ffdd00;
  }
  
  .govuk-radios__input:checked + .govuk-radios__label:after {
    opacity: 1;
  }
  
  .govuk-radios__input:disabled,
  .govuk-radios__input:disabled + .govuk-radios__label {
    cursor: default;
  }
  
  .govuk-radios__input:disabled + .govuk-radios__label {
    opacity: .5;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-radios--inline:after {
      content: "";
      display: block;
      clear: both;
    }
    .govuk-radios--inline .govuk-radios__item {
      margin-right: 20px;
      float: left;
      clear: none;
    }
  }
  
  .govuk-radios--inline.govuk-radios--conditional .govuk-radios__item {
    margin-right: 0;
    float: none;
  }
  
  .govuk-radios__divider {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    width: 40px;
    margin-bottom: 10px;
    text-align: center;
  }
  
  @media print {
    .govuk-radios__divider {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-radios__divider {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-radios__divider {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-radios__divider {
      color: #000000;
    }
  }
  
  .govuk-radios__conditional {
    margin-bottom: 15px;
    margin-left: 18px;
    padding-left: 33px;
    border-left: 4px solid #b1b4b6;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-radios__conditional {
      margin-bottom: 20px;
    }
  }
  
  .js-enabled .govuk-radios__conditional--hidden {
    display: none;
  }
  
  .govuk-radios__conditional > :last-child {
    margin-bottom: 0;
  }
  
  .govuk-radios--small .govuk-radios__item {
    min-height: 0;
    margin-bottom: 0;
    padding-left: 34px;
    float: left;
  }
  
  .govuk-radios--small .govuk-radios__item:after {
    content: "";
    display: block;
    clear: both;
  }
  
  .govuk-radios--small .govuk-radios__input {
    left: -10px;
  }
  
  .govuk-radios--small .govuk-radios__label {
    margin-top: -2px;
    padding: 13px 15px 13px 1px;
    float: left;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-radios--small .govuk-radios__label {
      padding: 11px 15px 10px 1px;
    }
  }
  
  .govuk-radios--small .govuk-radios__label:before {
    top: 8px;
    width: 24px;
    height: 24px;
  }
  
  .govuk-radios--small .govuk-radios__label:after {
    top: 15px;
    left: 7px;
    border-width: 5px;
  }
  
  .govuk-radios--small .govuk-radios__hint {
    padding: 0;
    clear: both;
    pointer-events: none;
  }
  
  .govuk-radios--small .govuk-radios__conditional {
    margin-left: 10px;
    padding-left: 20px;
    clear: both;
  }
  
  .govuk-radios--small .govuk-radios__divider {
    width: 24px;
    margin-bottom: 5px;
  }
  
  .govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label:before {
    box-shadow: 0 0 0 10px #b1b4b6;
  }
  
  .govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label:before {
    box-shadow: 0 0 0 4px #ffdd00, 0 0 0 10px #b1b4b6;
  }
  
  @media (hover: none), (pointer: coarse) {
    .govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:not(:disabled) + .govuk-radios__label:before {
      box-shadow: initial;
    }
    .govuk-radios--small .govuk-radios__item:hover .govuk-radios__input:focus + .govuk-radios__label:before {
      box-shadow: 0 0 0 4px #ffdd00;
    }
  }
  
  .govuk-select {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    box-sizing: border-box;
    max-width: 100%;
    height: 40px;
    height: 2.5rem;
    padding: 5px;
    border: 2px solid #0b0c0c;
  }
  
  @media print {
    .govuk-select {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-select {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-select {
      font-size: 14pt;
      line-height: 1.25;
    }
  }
  
  .govuk-select:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 0;
    box-shadow: inset 0 0 0 2px;
  }
  
  .govuk-select option:active,
  .govuk-select option:checked,
  .govuk-select:focus::-ms-value {
    color: #ffffff;
    background-color: #1d70b8;
  }
  
  .govuk-select--error {
    border: 2px solid #d4351c;
  }
  
  .govuk-select--error:focus {
    border-color: #0b0c0c;
  }
  
  .govuk-skip-link {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    display: block;
    padding: 10px 15px;
  }
  
  .govuk-skip-link:active, .govuk-skip-link:focus {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: inherit !important;
    overflow: visible !important;
    clip: auto !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    white-space: inherit !important;
  }
  
  @media print {
    .govuk-skip-link {
      font-family: sans-serif;
    }
  }
  
  .govuk-skip-link:link, .govuk-skip-link:visited {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-skip-link:link, .govuk-skip-link:visited {
      color: #000000;
    }
  }
  
  .govuk-skip-link:hover {
    color: rgba(11, 12, 12, 0.99);
  }
  
  .govuk-skip-link:active, .govuk-skip-link:focus {
    color: #0b0c0c;
  }
  
  @media print {
    .govuk-skip-link:active, .govuk-skip-link:focus {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-skip-link {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-skip-link {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  @supports (padding: max(calc(0px))) {
    .govuk-skip-link {
      padding-right: max(15px, calc(15px + env(safe-area-inset-right)));
      padding-left: max(15px, calc(15px + env(safe-area-inset-left)));
    }
  }
  
  .govuk-skip-link:focus {
    outline: 3px solid #ffdd00;
    outline-offset: 0;
    background-color: #ffdd00;
    box-shadow: none;
  }
  
  .govuk-table {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    width: 100%;
    margin-bottom: 20px;
    border-spacing: 0;
    border-collapse: collapse;
  }
  
  @media print {
    .govuk-table {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-table {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-table {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-table {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-table {
      margin-bottom: 30px;
    }
  }
  
  .govuk-table__header {
    font-weight: 700;
  }
  
  .govuk-table__header,
  .govuk-table__cell {
    padding: 10px 20px 10px 0;
    border-bottom: 1px solid #b1b4b6;
    text-align: left;
    vertical-align: top;
  }
  
  .govuk-table__cell--numeric {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-feature-settings: "tnum" 1;
    font-feature-settings: "tnum" 1;
    font-weight: 400;
  }
  
  @media print {
    .govuk-table__cell--numeric {
      font-family: sans-serif;
    }
  }
  
  @supports (font-variant-numeric: tabular-nums) {
    .govuk-table__cell--numeric {
      -webkit-font-feature-settings: normal;
      font-feature-settings: normal;
      font-variant-numeric: tabular-nums;
    }
  }
  
  .govuk-table__header--numeric,
  .govuk-table__cell--numeric {
    text-align: right;
  }
  
  .govuk-table__header:last-child,
  .govuk-table__cell:last-child {
    padding-right: 0;
  }
  
  .govuk-table__caption {
    font-weight: 700;
    display: table-caption;
    text-align: left;
  }
  
  .govuk-table__caption--xl {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 32px;
    font-size: 2rem;
    line-height: 1.09375;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-table__caption--xl {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-table__caption--xl {
      font-size: 48px;
      font-size: 3rem;
      line-height: 1.04167;
    }
  }
  
  @media print {
    .govuk-table__caption--xl {
      font-size: 32pt;
      line-height: 1.15;
    }
  }
  
  .govuk-table__caption--l {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.04167;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-table__caption--l {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-table__caption--l {
      font-size: 36px;
      font-size: 2.25rem;
      line-height: 1.11111;
    }
  }
  
  @media print {
    .govuk-table__caption--l {
      font-size: 24pt;
      line-height: 1.05;
    }
  }
  
  .govuk-table__caption--m {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
    margin-bottom: 15px;
  }
  
  @media print {
    .govuk-table__caption--m {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-table__caption--m {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .govuk-table__caption--m {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  .govuk-table__caption--s {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
  
  @media print {
    .govuk-table__caption--s {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-table__caption--s {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-table__caption--s {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .govuk-warning-text {
    position: relative;
    margin-bottom: 20px;
    padding: 10px 0;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-warning-text {
      margin-bottom: 30px;
    }
  }
  
  .govuk-warning-text__assistive {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
  }
  
  .govuk-warning-text__icon {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    box-sizing: border-box;
    display: inline-block;
    position: absolute;
    left: 0;
    min-width: 35px;
    min-height: 35px;
    margin-top: -7px;
    border: 3px solid #0b0c0c;
    border-radius: 50%;
    color: #ffffff;
    background: #0b0c0c;
    font-size: 30px;
    line-height: 29px;
    text-align: center;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    forced-color-adjust: none;
  }
  
  @media print {
    .govuk-warning-text__icon {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-warning-text__icon {
      margin-top: -5px;
    }
  }
  
  @media screen and (forced-colors: active) {
    .govuk-warning-text__icon {
      border-color: windowText;
      color: windowText;
      background: transparent;
    }
  }
  
  .govuk-warning-text__text {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    color: #0b0c0c;
    display: block;
    padding-left: 45px;
  }
  
  @media print {
    .govuk-warning-text__text {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .govuk-warning-text__text {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .govuk-warning-text__text {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media print {
    .govuk-warning-text__text {
      color: #000000;
    }
  }
  
  .govuk-clearfix:after {
    content: "";
    display: block;
    clear: both;
  }
  
  .govuk-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
  }
  
  .govuk-visually-hidden-focusable {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
  }
  
  .govuk-visually-hidden-focusable:active, .govuk-visually-hidden-focusable:focus {
    position: static !important;
    width: auto !important;
    height: auto !important;
    margin: inherit !important;
    overflow: visible !important;
    clip: auto !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    white-space: inherit !important;
  }
  
  .govuk-\!-display-inline {
    display: inline !important;
  }
  
  .govuk-\!-display-inline-block {
    display: inline-block !important;
  }
  
  .govuk-\!-display-block {
    display: block !important;
  }
  
  .govuk-\!-display-none {
    display: none !important;
  }
  
  @media print {
    .govuk-\!-display-none-print {
      display: none !important;
    }
  }
  
  .govuk-\!-margin-0 {
    margin: 0 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-0 {
      margin: 0 !important;
    }
  }
  
  .govuk-\!-margin-top-0 {
    margin-top: 0 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-top-0 {
      margin-top: 0 !important;
    }
  }
  
  .govuk-\!-margin-right-0 {
    margin-right: 0 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-right-0 {
      margin-right: 0 !important;
    }
  }
  
  .govuk-\!-margin-bottom-0 {
    margin-bottom: 0 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-bottom-0 {
      margin-bottom: 0 !important;
    }
  }
  
  .govuk-\!-margin-left-0 {
    margin-left: 0 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-left-0 {
      margin-left: 0 !important;
    }
  }
  
  .govuk-\!-margin-1 {
    margin: 5px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-1 {
      margin: 5px !important;
    }
  }
  
  .govuk-\!-margin-top-1 {
    margin-top: 5px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-top-1 {
      margin-top: 5px !important;
    }
  }
  
  .govuk-\!-margin-right-1 {
    margin-right: 5px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-right-1 {
      margin-right: 5px !important;
    }
  }
  
  .govuk-\!-margin-bottom-1 {
    margin-bottom: 5px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-bottom-1 {
      margin-bottom: 5px !important;
    }
  }
  
  .govuk-\!-margin-left-1 {
    margin-left: 5px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-left-1 {
      margin-left: 5px !important;
    }
  }
  
  .govuk-\!-margin-2 {
    margin: 10px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-2 {
      margin: 10px !important;
    }
  }
  
  .govuk-\!-margin-top-2 {
    margin-top: 10px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-top-2 {
      margin-top: 10px !important;
    }
  }
  
  .govuk-\!-margin-right-2 {
    margin-right: 10px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-right-2 {
      margin-right: 10px !important;
    }
  }
  
  .govuk-\!-margin-bottom-2 {
    margin-bottom: 10px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-bottom-2 {
      margin-bottom: 10px !important;
    }
  }
  
  .govuk-\!-margin-left-2 {
    margin-left: 10px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-left-2 {
      margin-left: 10px !important;
    }
  }
  
  .govuk-\!-margin-3 {
    margin: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-3 {
      margin: 15px !important;
    }
  }
  
  .govuk-\!-margin-top-3 {
    margin-top: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-top-3 {
      margin-top: 15px !important;
    }
  }
  
  .govuk-\!-margin-right-3 {
    margin-right: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-right-3 {
      margin-right: 15px !important;
    }
  }
  
  .govuk-\!-margin-bottom-3 {
    margin-bottom: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-bottom-3 {
      margin-bottom: 15px !important;
    }
  }
  
  .govuk-\!-margin-left-3 {
    margin-left: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-left-3 {
      margin-left: 15px !important;
    }
  }
  
  .govuk-\!-margin-4 {
    margin: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-4 {
      margin: 20px !important;
    }
  }
  
  .govuk-\!-margin-top-4 {
    margin-top: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-top-4 {
      margin-top: 20px !important;
    }
  }
  
  .govuk-\!-margin-right-4 {
    margin-right: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-right-4 {
      margin-right: 20px !important;
    }
  }
  
  .govuk-\!-margin-bottom-4 {
    margin-bottom: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-bottom-4 {
      margin-bottom: 20px !important;
    }
  }
  
  .govuk-\!-margin-left-4 {
    margin-left: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-left-4 {
      margin-left: 20px !important;
    }
  }
  
  .govuk-\!-margin-5 {
    margin: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-5 {
      margin: 25px !important;
    }
  }
  
  .govuk-\!-margin-top-5 {
    margin-top: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-top-5 {
      margin-top: 25px !important;
    }
  }
  
  .govuk-\!-margin-right-5 {
    margin-right: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-right-5 {
      margin-right: 25px !important;
    }
  }
  
  .govuk-\!-margin-bottom-5 {
    margin-bottom: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-bottom-5 {
      margin-bottom: 25px !important;
    }
  }
  
  .govuk-\!-margin-left-5 {
    margin-left: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-left-5 {
      margin-left: 25px !important;
    }
  }
  
  .govuk-\!-margin-6 {
    margin: 20px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-6 {
      margin: 30px !important;
    }
  }
  
  .govuk-\!-margin-top-6 {
    margin-top: 20px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-top-6 {
      margin-top: 30px !important;
    }
  }
  
  .govuk-\!-margin-right-6 {
    margin-right: 20px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-right-6 {
      margin-right: 30px !important;
    }
  }
  
  .govuk-\!-margin-bottom-6 {
    margin-bottom: 20px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-bottom-6 {
      margin-bottom: 30px !important;
    }
  }
  
  .govuk-\!-margin-left-6 {
    margin-left: 20px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-left-6 {
      margin-left: 30px !important;
    }
  }
  
  .govuk-\!-margin-7 {
    margin: 25px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-7 {
      margin: 40px !important;
    }
  }
  
  .govuk-\!-margin-top-7 {
    margin-top: 25px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-top-7 {
      margin-top: 40px !important;
    }
  }
  
  .govuk-\!-margin-right-7 {
    margin-right: 25px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-right-7 {
      margin-right: 40px !important;
    }
  }
  
  .govuk-\!-margin-bottom-7 {
    margin-bottom: 25px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-bottom-7 {
      margin-bottom: 40px !important;
    }
  }
  
  .govuk-\!-margin-left-7 {
    margin-left: 25px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-left-7 {
      margin-left: 40px !important;
    }
  }
  
  .govuk-\!-margin-8 {
    margin: 30px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-8 {
      margin: 50px !important;
    }
  }
  
  .govuk-\!-margin-top-8 {
    margin-top: 30px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-top-8 {
      margin-top: 50px !important;
    }
  }
  
  .govuk-\!-margin-right-8 {
    margin-right: 30px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-right-8 {
      margin-right: 50px !important;
    }
  }
  
  .govuk-\!-margin-bottom-8 {
    margin-bottom: 30px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-bottom-8 {
      margin-bottom: 50px !important;
    }
  }
  
  .govuk-\!-margin-left-8 {
    margin-left: 30px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-left-8 {
      margin-left: 50px !important;
    }
  }
  
  .govuk-\!-margin-9 {
    margin: 40px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-9 {
      margin: 60px !important;
    }
  }
  
  .govuk-\!-margin-top-9 {
    margin-top: 40px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-top-9 {
      margin-top: 60px !important;
    }
  }
  
  .govuk-\!-margin-right-9 {
    margin-right: 40px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-right-9 {
      margin-right: 60px !important;
    }
  }
  
  .govuk-\!-margin-bottom-9 {
    margin-bottom: 40px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-bottom-9 {
      margin-bottom: 60px !important;
    }
  }
  
  .govuk-\!-margin-left-9 {
    margin-left: 40px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-margin-left-9 {
      margin-left: 60px !important;
    }
  }
  
  .govuk-\!-padding-0 {
    padding: 0 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-0 {
      padding: 0 !important;
    }
  }
  
  .govuk-\!-padding-top-0 {
    padding-top: 0 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-top-0 {
      padding-top: 0 !important;
    }
  }
  
  .govuk-\!-padding-right-0 {
    padding-right: 0 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-right-0 {
      padding-right: 0 !important;
    }
  }
  
  .govuk-\!-padding-bottom-0 {
    padding-bottom: 0 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-bottom-0 {
      padding-bottom: 0 !important;
    }
  }
  
  .govuk-\!-padding-left-0 {
    padding-left: 0 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-left-0 {
      padding-left: 0 !important;
    }
  }
  
  .govuk-\!-padding-1 {
    padding: 5px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-1 {
      padding: 5px !important;
    }
  }
  
  .govuk-\!-padding-top-1 {
    padding-top: 5px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-top-1 {
      padding-top: 5px !important;
    }
  }
  
  .govuk-\!-padding-right-1 {
    padding-right: 5px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-right-1 {
      padding-right: 5px !important;
    }
  }
  
  .govuk-\!-padding-bottom-1 {
    padding-bottom: 5px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-bottom-1 {
      padding-bottom: 5px !important;
    }
  }
  
  .govuk-\!-padding-left-1 {
    padding-left: 5px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-left-1 {
      padding-left: 5px !important;
    }
  }
  
  .govuk-\!-padding-2 {
    padding: 10px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-2 {
      padding: 10px !important;
    }
  }
  
  .govuk-\!-padding-top-2 {
    padding-top: 10px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-top-2 {
      padding-top: 10px !important;
    }
  }
  
  .govuk-\!-padding-right-2 {
    padding-right: 10px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-right-2 {
      padding-right: 10px !important;
    }
  }
  
  .govuk-\!-padding-bottom-2 {
    padding-bottom: 10px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-bottom-2 {
      padding-bottom: 10px !important;
    }
  }
  
  .govuk-\!-padding-left-2 {
    padding-left: 10px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-left-2 {
      padding-left: 10px !important;
    }
  }
  
  .govuk-\!-padding-3 {
    padding: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-3 {
      padding: 15px !important;
    }
  }
  
  .govuk-\!-padding-top-3 {
    padding-top: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-top-3 {
      padding-top: 15px !important;
    }
  }
  
  .govuk-\!-padding-right-3 {
    padding-right: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-right-3 {
      padding-right: 15px !important;
    }
  }
  
  .govuk-\!-padding-bottom-3 {
    padding-bottom: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-bottom-3 {
      padding-bottom: 15px !important;
    }
  }
  
  .govuk-\!-padding-left-3 {
    padding-left: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-left-3 {
      padding-left: 15px !important;
    }
  }
  
  .govuk-\!-padding-4 {
    padding: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-4 {
      padding: 20px !important;
    }
  }
  
  .govuk-\!-padding-top-4 {
    padding-top: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-top-4 {
      padding-top: 20px !important;
    }
  }
  
  .govuk-\!-padding-right-4 {
    padding-right: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-right-4 {
      padding-right: 20px !important;
    }
  }
  
  .govuk-\!-padding-bottom-4 {
    padding-bottom: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-bottom-4 {
      padding-bottom: 20px !important;
    }
  }
  
  .govuk-\!-padding-left-4 {
    padding-left: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-left-4 {
      padding-left: 20px !important;
    }
  }
  
  .govuk-\!-padding-5 {
    padding: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-5 {
      padding: 25px !important;
    }
  }
  
  .govuk-\!-padding-top-5 {
    padding-top: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-top-5 {
      padding-top: 25px !important;
    }
  }
  
  .govuk-\!-padding-right-5 {
    padding-right: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-right-5 {
      padding-right: 25px !important;
    }
  }
  
  .govuk-\!-padding-bottom-5 {
    padding-bottom: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-bottom-5 {
      padding-bottom: 25px !important;
    }
  }
  
  .govuk-\!-padding-left-5 {
    padding-left: 15px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-left-5 {
      padding-left: 25px !important;
    }
  }
  
  .govuk-\!-padding-6 {
    padding: 20px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-6 {
      padding: 30px !important;
    }
  }
  
  .govuk-\!-padding-top-6 {
    padding-top: 20px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-top-6 {
      padding-top: 30px !important;
    }
  }
  
  .govuk-\!-padding-right-6 {
    padding-right: 20px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-right-6 {
      padding-right: 30px !important;
    }
  }
  
  .govuk-\!-padding-bottom-6 {
    padding-bottom: 20px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-bottom-6 {
      padding-bottom: 30px !important;
    }
  }
  
  .govuk-\!-padding-left-6 {
    padding-left: 20px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-left-6 {
      padding-left: 30px !important;
    }
  }
  
  .govuk-\!-padding-7 {
    padding: 25px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-7 {
      padding: 40px !important;
    }
  }
  
  .govuk-\!-padding-top-7 {
    padding-top: 25px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-top-7 {
      padding-top: 40px !important;
    }
  }
  
  .govuk-\!-padding-right-7 {
    padding-right: 25px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-right-7 {
      padding-right: 40px !important;
    }
  }
  
  .govuk-\!-padding-bottom-7 {
    padding-bottom: 25px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-bottom-7 {
      padding-bottom: 40px !important;
    }
  }
  
  .govuk-\!-padding-left-7 {
    padding-left: 25px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-left-7 {
      padding-left: 40px !important;
    }
  }
  
  .govuk-\!-padding-8 {
    padding: 30px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-8 {
      padding: 50px !important;
    }
  }
  
  .govuk-\!-padding-top-8 {
    padding-top: 30px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-top-8 {
      padding-top: 50px !important;
    }
  }
  
  .govuk-\!-padding-right-8 {
    padding-right: 30px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-right-8 {
      padding-right: 50px !important;
    }
  }
  
  .govuk-\!-padding-bottom-8 {
    padding-bottom: 30px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-bottom-8 {
      padding-bottom: 50px !important;
    }
  }
  
  .govuk-\!-padding-left-8 {
    padding-left: 30px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-left-8 {
      padding-left: 50px !important;
    }
  }
  
  .govuk-\!-padding-9 {
    padding: 40px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-9 {
      padding: 60px !important;
    }
  }
  
  .govuk-\!-padding-top-9 {
    padding-top: 40px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-top-9 {
      padding-top: 60px !important;
    }
  }
  
  .govuk-\!-padding-right-9 {
    padding-right: 40px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-right-9 {
      padding-right: 60px !important;
    }
  }
  
  .govuk-\!-padding-bottom-9 {
    padding-bottom: 40px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-bottom-9 {
      padding-bottom: 60px !important;
    }
  }
  
  .govuk-\!-padding-left-9 {
    padding-left: 40px !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-padding-left-9 {
      padding-left: 60px !important;
    }
  }
  
  .govuk-\!-font-size-80 {
    font-size: 53px !important;
    font-size: 3.3125rem !important;
    line-height: 1.03774 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-font-size-80 {
      font-size: 80px !important;
      font-size: 5rem !important;
      line-height: 1 !important;
    }
  }
  
  @media print {
    .govuk-\!-font-size-80 {
      font-size: 53pt !important;
      line-height: 1.1 !important;
    }
  }
  
  .govuk-\!-font-size-48 {
    font-size: 32px !important;
    font-size: 2rem !important;
    line-height: 1.09375 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-font-size-48 {
      font-size: 48px !important;
      font-size: 3rem !important;
      line-height: 1.04167 !important;
    }
  }
  
  @media print {
    .govuk-\!-font-size-48 {
      font-size: 32pt !important;
      line-height: 1.15 !important;
    }
  }
  
  .govuk-\!-font-size-36 {
    font-size: 24px !important;
    font-size: 1.5rem !important;
    line-height: 1.04167 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-font-size-36 {
      font-size: 36px !important;
      font-size: 2.25rem !important;
      line-height: 1.11111 !important;
    }
  }
  
  @media print {
    .govuk-\!-font-size-36 {
      font-size: 24pt !important;
      line-height: 1.05 !important;
    }
  }
  
  .govuk-\!-font-size-27 {
    font-size: 18px !important;
    font-size: 1.125rem !important;
    line-height: 1.11111 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-font-size-27 {
      font-size: 27px !important;
      font-size: 1.6875rem !important;
      line-height: 1.11111 !important;
    }
  }
  
  @media print {
    .govuk-\!-font-size-27 {
      font-size: 18pt !important;
      line-height: 1.15 !important;
    }
  }
  
  .govuk-\!-font-size-24 {
    font-size: 18px !important;
    font-size: 1.125rem !important;
    line-height: 1.11111 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-font-size-24 {
      font-size: 24px !important;
      font-size: 1.5rem !important;
      line-height: 1.25 !important;
    }
  }
  
  @media print {
    .govuk-\!-font-size-24 {
      font-size: 18pt !important;
      line-height: 1.15 !important;
    }
  }
  
  .govuk-\!-font-size-19 {
    font-size: 16px !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-font-size-19 {
      font-size: 19px !important;
      font-size: 1.1875rem !important;
      line-height: 1.31579 !important;
    }
  }
  
  @media print {
    .govuk-\!-font-size-19 {
      font-size: 14pt !important;
      line-height: 1.15 !important;
    }
  }
  
  .govuk-\!-font-size-16 {
    font-size: 14px !important;
    font-size: 0.875rem !important;
    line-height: 1.14286 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-font-size-16 {
      font-size: 16px !important;
      font-size: 1rem !important;
      line-height: 1.25 !important;
    }
  }
  
  @media print {
    .govuk-\!-font-size-16 {
      font-size: 14pt !important;
      line-height: 1.2 !important;
    }
  }
  
  .govuk-\!-font-size-14 {
    font-size: 12px !important;
    font-size: 0.75rem !important;
    line-height: 1.25 !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-font-size-14 {
      font-size: 14px !important;
      font-size: 0.875rem !important;
      line-height: 1.42857 !important;
    }
  }
  
  @media print {
    .govuk-\!-font-size-14 {
      font-size: 12pt !important;
      line-height: 1.2 !important;
    }
  }
  
  .govuk-\!-font-weight-regular {
    font-weight: 400 !important;
  }
  
  .govuk-\!-font-weight-bold {
    font-weight: 700 !important;
  }
  
  .govuk-\!-width-full {
    width: 100% !important;
  }
  
  .govuk-\!-width-three-quarters {
    width: 100% !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-width-three-quarters {
      width: 75% !important;
    }
  }
  
  .govuk-\!-width-two-thirds {
    width: 100% !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-width-two-thirds {
      width: 66.66% !important;
    }
  }
  
  .govuk-\!-width-one-half {
    width: 100% !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-width-one-half {
      width: 50% !important;
    }
  }
  
  .govuk-\!-width-one-third {
    width: 100% !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-width-one-third {
      width: 33.33% !important;
    }
  }
  
  .govuk-\!-width-one-quarter {
    width: 100% !important;
  }
  
  @media (min-width: 40.0625em) {
    .govuk-\!-width-one-quarter {
      width: 25% !important;
    }
  }
  
  .app-step-nav-header {
    color: #0b0c0c;
    position: relative;
    padding: 10px;
    background: #f3f2f1;
    border-top: solid 1px #b1b4b6;
    border-bottom: solid 1px #b1b4b6;
  }
  
  @media print {
    .app-step-nav-header {
      color: #000000;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav-header {
      padding: 15px;
    }
  }
  
  .app-step-nav-header__part-of {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    display: block;
    padding-bottom: .2em;
  }
  
  @media print {
    .app-step-nav-header__part-of {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav-header__part-of {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .app-step-nav-header__part-of {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  .app-step-nav-header__title {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
  }
  
  @media print {
    .app-step-nav-header__title {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav-header__title {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .app-step-nav-header__title {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  .app-step-nav {
    margin-bottom: 30px;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav.app-step-nav--large {
      margin-bottom: 60px;
    }
  }
  
  .js-enabled .app-step-nav.js-hidden {
    display: none;
  }
  
  .app-step-nav__controls {
    padding: 3px 3px 0 0;
    text-align: right;
  }
  
  .app-step-nav__button {
    color: #1d70b8;
    cursor: pointer;
    background: none;
    border: 0;
    margin: 0;
  }
  
  .app-step-nav__button:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .app-step-nav__button::-moz-focus-inner {
    border: 0;
  }
  
  .app-step-nav__button--title {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 19px;
    font-weight: bold;
    line-height: 1.4;
    display: inline-block;
    padding: 0;
    text-align: left;
    color: #0b0c0c;
  }
  
  @media print {
    .app-step-nav__button--title {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav__button--title {
      font-size: 19px;
      line-height: 1.4;
    }
  }
  
  .app-step-nav--large .app-step-nav__button--title {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 19px;
    font-weight: bold;
    line-height: 1.4;
  }
  
  @media print {
    .app-step-nav--large .app-step-nav__button--title {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__button--title {
      font-size: 24px;
      line-height: 1.4;
    }
  }
  
  .app-step-nav__button--controls {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
    font-weight: normal;
    line-height: 1;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
    position: relative;
    z-index: 1;
    padding: .5em 0;
  }
  
  @media print {
    .app-step-nav__button--controls {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav__button--controls {
      font-size: 14px;
      line-height: 1;
    }
  }
  
  @media print {
    .app-step-nav__button--controls {
      font-family: sans-serif;
    }
  }
  
  .app-step-nav__button--controls:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .app-step-nav__button--controls:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .app-step-nav--large .app-step-nav__button--controls {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
    font-weight: normal;
    line-height: 1;
  }
  
  @media print {
    .app-step-nav--large .app-step-nav__button--controls {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__button--controls {
      font-size: 16px;
      line-height: 1;
    }
  }
  
  .app-step-nav__steps {
    padding: 0;
    margin: 0;
  }
  
  .app-step-nav__step {
    position: relative;
    padding-left: 45px;
    list-style: none;
  }
  
  .app-step-nav__step:after {
    content: "";
    position: absolute;
    z-index: 2;
    width: 0;
    height: 100%;
    border-left: solid 2px #b1b4b6;
    background: #ffffff;
    left: 0;
    margin-left: 12px;
    top: 15px;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__step {
      padding-left: 60px;
    }
    .app-step-nav--large .app-step-nav__step:after {
      left: 0;
      margin-left: 16px;
      border-width: 3px;
      top: 30px;
    }
  }
  
  .app-step-nav__step:last-child:before {
    content: "";
    position: absolute;
    z-index: 6;
    bottom: 0;
    left: 0;
    margin-left: 6.5px;
    width: 13px;
    height: 0;
    border-bottom: solid 2px #b1b4b6;
  }
  
  .app-step-nav__step:last-child:after {
    height: -webkit-calc(100% - 15px);
    height: calc(100% - 15px);
  }
  
  .app-step-nav__step:last-child .app-step-nav__help:after {
    height: 100%;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__step:last-child:before {
      margin-left: 8.75px;
      width: 17.5px;
      border-width: 3px;
    }
    .app-step-nav--large .app-step-nav__step:last-child:after {
      height: calc(100% - 30px);
    }
  }
  
  .app-step-nav__step--active:last-child:before,
  .app-step-nav__step--active .app-step-nav__circle--number, .app-step-nav__step--active:after,
  .app-step-nav__step--active .app-step-nav__help:after {
    border-color: #0b0c0c;
  }
  
  .app-step-nav__circle {
    box-sizing: border-box;
    position: absolute;
    z-index: 5;
    top: 15px;
    left: 0;
    width: 26px;
    height: 26px;
    color: #0b0c0c;
    background: #ffffff;
    border-radius: 100px;
    text-align: center;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__circle {
      top: 30px;
      width: 35px;
      height: 35px;
    }
  }
  
  .app-step-nav__circle--number {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    font-weight: bold;
    line-height: 23px;
    border: solid 2px #b1b4b6;
  }
  
  @media print {
    .app-step-nav__circle--number {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav__circle--number {
      font-size: 16px;
      line-height: 23px;
    }
  }
  
  .app-step-nav--large .app-step-nav__circle--number {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    font-weight: bold;
    line-height: 23px;
  }
  
  @media print {
    .app-step-nav--large .app-step-nav__circle--number {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__circle--number {
      font-size: 19px;
      line-height: 30px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__circle--number {
      border-width: 3px;
    }
  }
  
  .app-step-nav__circle--logic {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    font-weight: bold;
    line-height: 28px;
  }
  
  @media print {
    .app-step-nav__circle--logic {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav__circle--logic {
      font-size: 16px;
      line-height: 28px;
    }
  }
  
  .app-step-nav--large .app-step-nav__circle--logic {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    font-weight: bold;
    line-height: 28px;
  }
  
  @media print {
    .app-step-nav--large .app-step-nav__circle--logic {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__circle--logic {
      font-size: 19px;
      line-height: 34px;
    }
  }
  
  .app-step-nav__circle-inner {
    float: right;
    min-width: 100%;
  }
  
  .app-step-nav__circle-background {
    text-shadow: 0 -0.1em 0 #ffffff, 0.1em 0 0 #ffffff, 0 0.1em 0 #ffffff, -0.1em 0 0 #ffffff;
  }
  
  .app-step-nav__circle-step-label,
  .app-step-nav__circle-step-colon {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
  }
  
  .app-step-nav__header {
    padding: 15px 0;
    border-top: solid 2px #b1b4b6;
  }
  
  .app-step-nav--active .app-step-nav__header {
    cursor: pointer;
  }
  
  .app-step-nav__header .app-step-nav__button:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .app-step-nav__header .app-step-nav__button:focus .app-step-nav__toggle-link {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .app-step-nav__header:hover .app-step-nav__button:not(:focus),
  .app-step-nav__header:hover .app-step-nav__circle {
    color: #1d70b8;
  }
  
  .app-step-nav__header:hover .app-step-nav__toggle-link {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  @media print {
    .app-step-nav__header:hover .app-step-nav__toggle-link {
      font-family: sans-serif;
    }
  }
  
  .app-step-nav__header:hover .app-step-nav__toggle-link:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .app-step-nav__header:hover .app-step-nav__toggle-link:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__header {
      padding: 30px 0;
    }
  }
  
  .app-step-nav__title {
    color: #0b0c0c;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 19px;
    font-weight: bold;
    line-height: 1.4;
    margin: 0;
  }
  
  @media print {
    .app-step-nav__title {
      color: #000000;
    }
  }
  
  @media print {
    .app-step-nav__title {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav__title {
      font-size: 19px;
      line-height: 1.4;
    }
  }
  
  .app-step-nav--large .app-step-nav__title {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 19px;
    font-weight: bold;
    line-height: 1.4;
  }
  
  @media print {
    .app-step-nav--large .app-step-nav__title {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__title {
      font-size: 24px;
      line-height: 1.4;
    }
  }
  
  .app-step-nav__toggle-link {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.2;
    display: block;
    color: #1d70b8;
    text-transform: capitalize;
  }
  
  @media print {
    .app-step-nav__toggle-link {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav__toggle-link {
      font-size: 14px;
      line-height: 1.2;
    }
  }
  
  .app-step-nav--large .app-step-nav__toggle-link {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.2;
  }
  
  @media print {
    .app-step-nav--large .app-step-nav__toggle-link {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__toggle-link {
      font-size: 16px;
      line-height: 1.2;
    }
  }
  
  .app-step-nav__panel {
    color: #0b0c0c;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.3;
  }
  
  @media print {
    .app-step-nav__panel {
      color: #000000;
    }
  }
  
  @media print {
    .app-step-nav__panel {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav__panel {
      font-size: 16px;
      line-height: 1.3;
    }
  }
  
  .app-step-nav--large .app-step-nav__panel {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.3;
  }
  
  @media print {
    .app-step-nav--large .app-step-nav__panel {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__panel {
      font-size: 19px;
      line-height: 1.3;
    }
  }
  
  .js-enabled .app-step-nav__panel.js-hidden {
    display: none;
  }
  
  .app-step-nav__paragraph {
    padding-bottom: 15px;
    margin: 0;
    font-size: inherit;
  }
  
  .app-step-nav__paragraph + .app-step-nav__list {
    margin-top: -5px;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__paragraph + .app-step-nav__list {
      margin-top: -govuk-spacing(3);
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__paragraph {
      padding-bottom: 30px;
    }
  }
  
  .app-step-nav__list {
    padding: 0;
    padding-bottom: 10px;
    list-style: none;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__list {
      padding-bottom: 20px;
    }
  }
  
  .app-step-nav__list--choice {
    margin-left: 20px;
    list-style: disc;
  }
  
  .app-step-nav__list--choice .app-step-nav__list-item--active:before {
    left: -65px;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__list--choice .app-step-nav__list-item--active:before {
      left: -80px;
    }
  }
  
  .app-step-nav__list-item {
    margin-bottom: 10px;
  }
  
  .app-step-nav__link {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-decoration: underline;
    text-decoration-thickness: max(1px, .0625rem);
    text-underline-offset: 0.1em;
  }
  
  @media print {
    .app-step-nav__link {
      font-family: sans-serif;
    }
  }
  
  .app-step-nav__link:hover {
    text-decoration-thickness: max(3px, .1875rem, .12em);
  }
  
  .app-step-nav__link:focus {
    outline: 3px solid transparent;
    color: #0b0c0c;
    background-color: #ffdd00;
    box-shadow: 0 -2px #ffdd00, 0 4px #0b0c0c;
    text-decoration: none;
  }
  
  .app-step-nav__link:link {
    color: #1d70b8;
  }
  
  .app-step-nav__link:visited {
    color: #4c2c92;
  }
  
  .app-step-nav__link:hover {
    color: #003078;
  }
  
  .app-step-nav__link:active {
    color: #0b0c0c;
  }
  
  .app-step-nav__link:focus {
    color: #0b0c0c;
  }
  
  .app-step-nav__link-active-context {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    -webkit-clip-path: inset(50%) !important;
    clip-path: inset(50%) !important;
    border: 0 !important;
    white-space: nowrap !important;
  }
  
  .app-step-nav__list-item--active {
    position: relative;
  }
  
  .app-step-nav__list-item--active:before {
    box-sizing: border-box;
    content: "";
    position: absolute;
    z-index: 5;
    top: .6em;
    left: -45px;
    margin-top: -1px;
    margin-left: 13px;
    width: 13px;
    height: 2px;
    background: #0b0c0c;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav--large .app-step-nav__list-item--active:before {
      left: -60px;
      margin-left: 17.5px;
      height: 3px;
    }
  }
  
  .app-step-nav__list-item--active .app-step-nav__link:link, .app-step-nav__list-item--active .app-step-nav__link:visited {
    color: #0b0c0c;
  }
  
  @media print {
    .app-step-nav__list-item--active .app-step-nav__link:link, .app-step-nav__list-item--active .app-step-nav__link:visited {
      color: #000000;
    }
  }
  
  .app-step-nav__list-item--active .app-step-nav__link:hover {
    color: rgba(11, 12, 12, 0.99);
  }
  
  .app-step-nav__list-item--active .app-step-nav__link:active, .app-step-nav__list-item--active .app-step-nav__link:focus {
    color: #0b0c0c;
  }
  
  @media print {
    .app-step-nav__list-item--active .app-step-nav__link:active, .app-step-nav__list-item--active .app-step-nav__link:focus {
      color: #000000;
    }
  }
  
  .app-step-nav__context {
    display: inline-block;
    font-weight: normal;
    color: #505a5f;
  }
  
  .app-step-nav__context:before {
    content: " \2013\00a0";
  }
  
  .app-step-nav-related {
    color: #0b0c0c;
    border-top: 2px solid #1d70b8;
    margin-bottom: 30px;
  }
  
  @media print {
    .app-step-nav-related {
      color: #000000;
    }
  }
  
  .app-step-nav-related__heading {
    margin-top: 15px;
    margin-bottom: 10px;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
  }
  
  @media print {
    .app-step-nav-related__heading {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav-related__heading {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .app-step-nav-related__heading {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  .app-step-nav-related__links {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 14px;
    font-size: 0.875rem;
    line-height: 1.14286;
    margin: 0;
    padding: 0;
  }
  
  @media print {
    .app-step-nav-related__links {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav-related__links {
      font-size: 16px;
      font-size: 1rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .app-step-nav-related__links {
      font-size: 14pt;
      line-height: 1.2;
    }
  }
  
  .app-step-nav-related--singular {
    margin-bottom: 13px;
  }
  
  .app-step-nav-related--singular .app-step-nav-related__heading {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.4;
    margin-top: 20px;
  }
  
  @media print {
    .app-step-nav-related--singular .app-step-nav-related__heading {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav-related--singular .app-step-nav-related__heading {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.4;
    }
  }
  
  @media print {
    .app-step-nav-related--singular .app-step-nav-related__heading {
      font-size: 14pt;
      line-height: 1.4;
    }
  }
  
  @media (max-width: 40.0525em) {
    .app-step-nav-related--singular .app-step-nav-related__heading {
      font-size: 19px;
    }
  }
  
  .app-step-nav-related--singular .app-step-nav-related__pretitle {
    margin-bottom: 7.5px;
  }
  
  .app-step-nav-related__pretitle {
    display: block;
    margin-bottom: 15px;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav-related__pretitle {
      margin-bottom: 5px;
    }
  }
  
  .app-step-nav-related__links {
    list-style: none;
  }
  
  .app-step-nav-related__link-item {
    margin-top: 15px;
  }
  
  @media (min-width: 40.0625em) {
    .app-step-nav-related__link-item {
      margin-top: 5px;
    }
  }
  
  .app-task-list {
    list-style-type: none;
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
  }
  
  @media (min-width: 40.0625em) {
    .app-task-list {
      min-width: 550px;
    }
  }
  
  .app-task-list__section {
    display: table;
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 700;
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.11111;
  }
  
  @media print {
    .app-task-list__section {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-task-list__section {
      font-size: 24px;
      font-size: 1.5rem;
      line-height: 1.25;
    }
  }
  
  @media print {
    .app-task-list__section {
      font-size: 18pt;
      line-height: 1.15;
    }
  }
  
  .app-task-list__section-number {
    display: table-cell;
  }
  
  @media (min-width: 40.0625em) {
    .app-task-list__section-number {
      min-width: 30px;
      padding-right: 0;
    }
  }
  
  .app-task-list__items {
    font-family: "HelveticaNeue", "Helvetica Neue", "Arial", "Helvetica", sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-weight: 400;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.25;
    margin-bottom: 40px;
    list-style: none;
    padding-left: 0;
  }
  
  @media print {
    .app-task-list__items {
      font-family: sans-serif;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-task-list__items {
      font-size: 19px;
      font-size: 1.1875rem;
      line-height: 1.31579;
    }
  }
  
  @media print {
    .app-task-list__items {
      font-size: 14pt;
      line-height: 1.15;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-task-list__items {
      margin-bottom: 60px;
    }
  }
  
  @media (min-width: 40.0625em) {
    .app-task-list__items {
      padding-left: 30px;
    }
  }
  
  .app-task-list__item {
    border-bottom: 1px solid #b1b4b6;
    margin-bottom: 0 !important;
    padding-top: 10px;
    padding-bottom: 10px;
  }
  
  .app-task-list__item:after {
    content: "";
    display: block;
    clear: both;
  }
  
  .app-task-list__item:first-child {
    border-top: 1px solid #b1b4b6;
  }
  
  .app-task-list__task-name {
    display: block;
  }
  
  @media (min-width: 28.125em) {
    .app-task-list__task-name {
      float: left;
    }
  }
  
  .app-task-list__tag,
  .app-task-list__task-completed {
    margin-top: 10px;
    margin-bottom: 5px;
  }
  
  @media (min-width: 28.125em) {
    .app-task-list__tag,
    .app-task-list__task-completed {
      float: right;
      margin-top: 0;
      margin-bottom: 0;
    }
  }
  
  .app-related-items {
    border-top: 2px solid #1d70b8;
    padding-top: 10px;
  }
  
  .app-related-items .govuk-list > li {
    margin-bottom: 10px;
  }
  
  .flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
  }
  
  .brown {
    background-color: #603126;
    border-color: #603126;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .aqua {
    background-color: #63a1d6;
    border-color: #63a1d6;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .green {
    background-color: #3fb64a;
    border-color: #3fb64a;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .purple {
    background-color: #682879;
    border-color: #682879;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .yellow {
    background-color: #f7a72e;
    border-color: #f7a72e;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .grey {
    background-color: #444d52;
    border-color: #444d52;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .pink {
    background-color: #f59bb0;
    border-color: #f59bb0;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .blue {
    background-color: #0f3490;
    border-color: #0f3490;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .orange {
    background-color: #dd5720;
    border-color: #dd5720;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .red {
    background-color: #bd2b27;
    border-color: #bd2b27;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  /* Colors for Leadership in Action */
  .LiA-Yellow {
    background-color: #eaa91f;
    border-color: #eaa91f;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .LiA-Green {
    background-color: #31b049;
    border-color: #31b049;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .LiA-Blue {
    background-color: #253d8c;
    border-color: #253d8c;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .LiA-Purple {
    background-color: #772a76;
    border-color: #772a76;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .LiA-Red {
    background-color: #af272f;
    border-color: #af272f;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .LiA-Aqua {
    background-color: #6f99d0;
    border-color: #6f99d0;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .LiA-Pink {
    background-color: #ed9aaa;
    border-color: #ed9aaa;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  .LiA-Orange {
    background-color: #cd5d29;
    border-color: #cd5d29;
    color: #ffffff !important;
    padding-left: 5px;
  }
  
  /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5icmFuZGVkLmNzcyIsInNvdXJjZXMiOlsidW5icmFuZGVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19hc3NldHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fY29tcGF0aWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19nbG9iYWwtc3R5bGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX2llOC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19tZWRpYS1xdWVyaWVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX2NvbG91cnMtcGFsZXR0ZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL19jb2xvdXJzLW9yZ2FuaXNhdGlvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fY29sb3Vycy1hcHBsaWVkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fY29sb3VyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX3NwYWNpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fbWVhc3VyZW1lbnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX3R5cG9ncmFwaHktZm9udC1mYW1pbGllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL190eXBvZ3JhcGh5LWZvbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9zZXR0aW5ncy9fdHlwb2dyYXBoeS1yZXNwb25zaXZlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvc2V0dGluZ3MvX2xpbmtzLnNjc3MiLCJhcHBsaWNhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbGliL2V4dGVuc2lvbnMvX2V4dGVuc2lvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3Rvb2xzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay90b29scy9fY29tcGF0aWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3Rvb2xzL19leHBvcnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX2ZvbnQtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX2llOC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3Rvb2xzL19pZmYuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay90b29scy9faW1hZ2UtdXJsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX3B4LXRvLWVtLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdG9vbHMvX3B4LXRvLXJlbS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fZGV2aWNlLXBpeGVscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2ZvY3VzZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9oZWxwZXJzL19mb250LWZhY2VzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX2xpbmtzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fbWVkaWEtcXVlcmllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3ZlbmRvci9fc2Fzcy1tcS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX3NoYXBlLWFycm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvaGVscGVycy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2hlbHBlcnMvX3R5cG9ncmFwaHkuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9oZWxwZXJzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb3JlL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb3JlL19saW5rcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvcmUvX2xpc3RzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29yZS9fdGVtcGxhdGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb3JlL190eXBvZ3JhcGh5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29yZS9fc2VjdGlvbi1icmVhay5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvcmUvX2dsb2JhbC1zdHlsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vYmplY3RzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vYmplY3RzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vYmplY3RzL19mb3JtLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvb2JqZWN0cy9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL29iamVjdHMvX21haW4td3JhcHBlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL29iamVjdHMvX3dpZHRoLWNvbnRhaW5lci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvYWNjb3JkaW9uL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvYmFjay1saW5rL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9idXR0b24vX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9jaGVja2JveGVzL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvZXJyb3ItbWVzc2FnZS9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2ZpZWxkc2V0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvaGludC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2xhYmVsL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvY2hhcmFjdGVyLWNvdW50L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvdGV4dGFyZWEvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9jb29raWUtYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvc3VtbWFyeS1saXN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvZGF0ZS1pbnB1dC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2lucHV0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvZGV0YWlscy9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2Vycm9yLXN1bW1hcnkvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9maWxlLXVwbG9hZC9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2Zvb3Rlci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2hlYWRlci9faW5kZXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9jb21wb25lbnRzL2luc2V0LXRleHQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9ub3RpZmljYXRpb24tYmFubmVyL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvcGFuZWwvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy9waGFzZS1iYW5uZXIvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy90YWcvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy90YWJzL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvcmFkaW9zL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvc2VsZWN0L19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvc2tpcC1saW5rL19pbmRleC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2NvbXBvbmVudHMvdGFibGUvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvY29tcG9uZW50cy93YXJuaW5nLXRleHQvX2luZGV4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdXRpbGl0aWVzL19hbGwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay91dGlsaXRpZXMvX2NsZWFyZml4LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZ292dWstZnJvbnRlbmQvZ292dWsvdXRpbGl0aWVzL192aXN1YWxseS1oaWRkZW4uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9nb3Z1ay1mcm9udGVuZC9nb3Z1ay9vdmVycmlkZXMvX2FsbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fZGlzcGxheS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fc3BhY2luZy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL292ZXJyaWRlcy9fd2lkdGguc2NzcyIsInBhdHRlcm5zL19zdGVwLWJ5LXN0ZXAtaGVhZGVyLnNjc3MiLCJwYXR0ZXJucy9fc3RlcC1ieS1zdGVwLW5hdi5zY3NzIiwicGF0dGVybnMvX3N0ZXAtYnktc3RlcC1yZWxhdGVkLnNjc3MiLCJwYXR0ZXJucy9fdGFzay1saXN0LnNjc3MiLCJwYXR0ZXJucy9fcmVsYXRlZC1pdGVtcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoZSB1bmJyYW5kZWQgc3R5bGVzaGVldCBpcyB1c2VkIGlmIHlvdSBuZWVkIHRvIGNyZWF0ZSBwYWdlcyBpbiB5b3VyXG4vLyBwcm90b3R5cGUgd2l0aG91dCB0aGUgR09WLlVLIGJyYW5kaW5nLlxuLy9cbi8vIFNlZSBsb2NhbGhvc3Q6MzAwMC9kb2NzL3RlbXBsYXRlcy9ibGFuay11bmJyYW5kZWRcblxuLy8gSW1wb3J0IHNldHRpbmdzIGZpcnN0IHNvIHdlIGNhbiBvdmVycmlkZSB0aGVtIGJlZm9yZSBpbXBvcnRpbmcgYWxsIG9mIEdPVi5VSyBGcm9udGVuZFxuLy8gSWYgeW91IG5lZWQgdG8gZW5hYmxlIGNvbXBhdGliaWxpdHkgbW9kZSBvciB0aGUgbGVnYWN5IHBhbGV0dGUsIGRvIHRoYXQgKmJlZm9yZSogdGhpcyBpbXBvcnQuXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL3NldHRpbmdzL2FsbFwiO1xuXG4vLyBPdmVycmlkZSB0aGUgZGVmYXVsdCBHT1YuVUsgRnJvbnRlbmQgZm9udCBzdGFja1xuJGdvdnVrLWZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkFyaWFsXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG5cbi8vIE92ZXJyaWRlIHRoZSBjYW52YXMgYmFja2dyb3VuZCBjb2xvdXIsIHdoaWNoIGlzIG5vcm1hbGx5IGdyZXkgdG8gYmxlbmQgd2l0aCB0aGUgR09WLlVLIGZvb3Rlci5cbiRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuXG5AaW1wb3J0IFwiYXBwbGljYXRpb25cIjtcblxuLmZsZXgge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4uYnJvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2MDMxMjY7XG4gICAgYm9yZGVyLWNvbG9yOiM2MDMxMjY7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLmFxdWEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2M2ExZDY7XG4gICAgYm9yZGVyLWNvbG9yOiM2M2ExZDY7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLmdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2ZiNjRhO1xuICAgIGJvcmRlci1jb2xvcjojM2ZiNjRhO1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5wdXJwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2ODI4Nzk7XG4gICAgYm9yZGVyLWNvbG9yOiM2ODI4Nzk7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLnllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3YTcyZTtcbiAgICBib3JkZXItY29sb3I6I2Y3YTcyZTtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4uZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NGQ1MjtcbiAgICBib3JkZXItY29sb3I6ICM0NDRkNTI7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLnBpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNTliYjA7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjU5YmIwO1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYzNDkwO1xuICAgIGJvcmRlci1jb2xvcjogIzBmMzQ5MDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4ub3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGQ1NzIwO1xuICAgIGJvcmRlci1jb2xvcjogI2RkNTcyMDtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4ucmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmQyYjI3O1xuICAgIGJvcmRlci1jb2xvcjogI2JkMmIyNztcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG5cbi8qIENvbG9ycyBmb3IgTGVhZGVyc2hpcCBpbiBBY3Rpb24gKi9cblxuLkxpQS1ZZWxsb3cge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYWE5MWY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWFhOTFmO1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5MaUEtR3JlZW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMWIwNDk7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzFiMDQ5O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5MaUEtQmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI1M2Q4YztcbiAgICBib3JkZXItY29sb3I6ICMyNTNkOGM7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLkxpQS1QdXJwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3NzJhNzY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzcyYTc2O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5MaUEtUmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWYyNzJmO1xuICAgIGJvcmRlci1jb2xvcjogI2FmMjcyZjtcbiAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xufVxuXG4uTGlBLUFxdWEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2Zjk5ZDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmY5OWQwO1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59XG5cbi5MaUEtUGluayB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkOWFhYTtcbiAgICBib3JkZXItY29sb3I6ICNlZDlhYWE7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuLkxpQS1PcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZDVkMjk7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2Q1ZDI5O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG59IiwiLy8gVGhlIG9yZGVyIHdlIGltcG9ydCBzZXR0aW5ncyBpbiBpcyBpbXBvcnRhbnQsIGFzIHNvbWUgc2V0dGluZ3MgZmlsZXMgcmVseSBvblxuLy8gb3RoZXJzXG5cbkBpbXBvcnQgXCJhc3NldHNcIjtcblxuQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJnbG9iYWwtc3R5bGVzXCI7XG5AaW1wb3J0IFwiaWU4XCI7XG5cbkBpbXBvcnQgXCJtZWRpYS1xdWVyaWVzXCI7XG5cbkBpbXBvcnQgXCJjb2xvdXJzLXBhbGV0dGVcIjtcbkBpbXBvcnQgXCJjb2xvdXJzLW9yZ2FuaXNhdGlvbnNcIjtcbkBpbXBvcnQgXCJjb2xvdXJzLWFwcGxpZWRcIjtcblxuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJtZWFzdXJlbWVudHNcIjtcblxuQGltcG9ydCBcInR5cG9ncmFwaHktZm9udC1mYW1pbGllc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHktZm9udFwiO1xuQGltcG9ydCBcInR5cG9ncmFwaHktcmVzcG9uc2l2ZVwiO1xuXG5AaW1wb3J0IFwibGlua3NcIjtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvYXNzZXRzXG4vLy8vXG5cbi8vLyBQYXRoIHRvIHRoZSBhc3NldHMgZGlyZWN0b3J5LCB3aXRoIHRyYWlsaW5nIHNsYXNoLlxuLy8vXG4vLy8gVGhpcyBpcyB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBpbWFnZXMgYW5kIGZvbnRzIHN1YmRpcmVjdG9yaWVzIGxpdmUuIFlvdVxuLy8vIHdpbGwgbmVlZCB0byBtYWtlIHRoaXMgZGlyZWN0b3J5IGF2YWlsYWJsZSB2aWEgeW91ciBhcHBsaWNhdGlvbiDigJMgc2VlIHRoZVxuLy8vIFJFQURNRSBmb3IgZGV0YWlscy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1hc3NldHMtcGF0aDogXCIvYXNzZXRzL1wiICFkZWZhdWx0O1xuXG4vLy8gUGF0aCB0byB0aGUgaW1hZ2VzIGZvbGRlciwgd2l0aCB0cmFpbGluZyBzbGFzaC5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1pbWFnZXMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1pbWFnZXMvXCIgIWRlZmF1bHQ7XG5cbi8vLyBQYXRoIHRvIHRoZSBmb250cyBmb2xkZXIsIHdpdGggdHJhaWxpbmcgc2xhc2guXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9udHMtcGF0aDogXCIjeyRnb3Z1ay1hc3NldHMtcGF0aH1mb250cy9cIiAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBpbWFnZSBVUkwgZnVuY3Rpb25cbi8vL1xuLy8vIElmIHRoZSBidWlsdC1pbiBpbWFnZSBVUkwgaGVscGVyIGRvZXMgbm90IG1lZXQgeW91ciBuZWVkcywgeW91IGNhbiBzcGVjaWZ5XG4vLy8gdGhlIG5hbWUgb2YgYSBjdXN0b20gaGFuZGxlciDigJMgZWl0aGVyIGJ1aWx0IGluIG9yIGJ5IHdyaXRpbmcgeW91ciBvd25cbi8vLyBmdW5jdGlvbi5cbi8vL1xuLy8vIElmIHlvdSBhcmUgd3JpdGluZyB5b3VyIG93biBoYW5kbGVyLCBlbnN1cmUgdGhhdCBpdCByZXR1cm5zIGEgc3RyaW5nIHdyYXBwZWRcbi8vLyB3aXRoIGB1cmwoKWBcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFJhaWxzIGFzc2V0IGhhbmRsaW5nXG4vLy8gICAkZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiAnaW1hZ2UtdXJsJztcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b20gYXNzZXQgaGFuZGxpbmdcbi8vL1xuLy8vICAgQGZ1bmN0aW9uIG15LXVybC1oYW5kbGVyKCRmaWxlbmFtZSkge1xuLy8vICAgICAvLyBTb21lIGN1c3RvbSBVUkwgaGFuZGxpbmdcbi8vLyAgICAgQHJldHVybiB1cmwoJ2V4YW1wbGUuanBnJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb246ICdteS11cmwtaGFuZGxlcic7XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbSBmb250IFVSTCBmdW5jdGlvblxuLy8vXG4vLy8gSWYgdGhlIGJ1aWx0LWluIGZvbnQgVVJMIGhlbHBlciBkb2VzIG5vdCBtZWV0IHlvdXIgbmVlZHMsIHlvdSBjYW4gc3BlY2lmeVxuLy8vIHRoZSBuYW1lIG9mIGEgY3VzdG9tIGhhbmRsZXIg4oCTIGVpdGhlciBidWlsdCBpbiBvciBieSB3cml0aW5nIHlvdXIgb3duXG4vLy8gZnVuY3Rpb24uXG4vLy9cbi8vLyBJZiB5b3UgYXJlIHdyaXRpbmcgeW91ciBvd24gaGFuZGxlciwgZW5zdXJlIHRoYXQgaXQgcmV0dXJucyBhIHN0cmluZyB3cmFwcGVkXG4vLy8gd2l0aCBgdXJsKClgXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBSYWlscyBhc3NldCBoYW5kbGluZ1xuLy8vICAgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uOiAnZm9udC11cmwnO1xuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEN1c3RvbSBhc3NldCBoYW5kbGluZ1xuLy8vXG4vLy8gICBAZnVuY3Rpb24gbXktdXJsLWhhbmRsZXIoJGZpbGVuYW1lKSB7XG4vLy8gICAgIC8vIFNvbWUgY3VzdG9tIFVSTCBoYW5kbGluZ1xuLy8vICAgICBAcmV0dXJuIHVybCgnZXhhbXBsZS53b2ZmJyk7XG4vLy8gICB9XG4vLy9cbi8vLyAgICRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogJ215LXVybC1oYW5kbGVyJztcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1mb250LXVybC1mdW5jdGlvbjogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gJ0NvbXBhdGliaWxpdHkgTW9kZSdcbi8vL1xuLy8vIEVuYWJsaW5nIHRoZXNlIGZsYWdzIGltcHJvdmVzIGNvbXBhdGliaWxpdHkgaWYgeW91IGFyZSB1c2luZyBHT1YuVUsgRnJvbnRlbmRcbi8vLyBpbiBhbiBhcHBsaWNhdGlvbiB0aGF0IGFsc28gdXNlcyBnb3Z1a19lbGVtZW50cywgZ292dWtfZnJvbnRlbmRfdG9vbGtpdCBvclxuLy8vIGdvdnVrX3RlbXBsYXRlICh0aGUgJ2xlZ2FjeSByZXBvcycpLlxuLy8vXG4vLy8gRW5hYmxpbmcgYW55IG9mIHRoZXNlIHNldHRpbmdzIHdpbGwsIGJ5IGRlZmF1bHQ6XG4vLy9cbi8vLyAtIHN3aXRjaCBHT1YuVUsgRnJvbnRlbmQgdG8gdXNpbmcgdGhlIHNhbWUgY29sb3VyIHBhbGV0dGUgYXMgdGhlIGxlZ2FjeVxuLy8vICAgcmVwb3MsIGJ5IHNldHRpbmcgYCRnb3Z1ay11c2UtbGVnYWN5LXBhbGV0dGVgIHRvIHRydWUuXG4vLy9cbi8vLyAtIHByZXZlbnQgR09WLlVLIEZyb250ZW5kIGZyb20gdXNpbmcgcmVtIGZvciBmb250IHNpemluZywgYnkgc2V0dGluZ1xuLy8vICAgYCRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW1gIHRvIGZhbHNlLlxuLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbXBhdGliaWxpdHlcbi8vLy9cblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfZnJvbnRlbmRfdG9vbGtpdFxuLy8vXG4vLy8gU2V0IHRoaXMgdG8gdHJ1ZSBpZiB5b3UgYXJlIGFsc28gaW5jbHVkaW5nIGFscGhhZ292L2dvdnVrX2Zyb250ZW5kX3Rvb2xraXRcbi8vLyBpbiB5b3VyIGFwcGxpY2F0aW9uLlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZnJvbnRlbmR0b29sa2l0OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfdGVtcGxhdGVcbi8vL1xuLy8vIEVuYWJsaW5nIHRoaXMgd2lsbDpcbi8vL1xuLy8vIC0gcHJldmVudCBHT1YuVUsgRnJvbnRlbmQgZnJvbSBpbmNsdWRpbmcgdGhlIE5ldyBUcmFuc3BvcnQgdHlwZWZhY2UsIGFzXG4vLy8gICBpdCdsbCB1c2UgdGhlIHZlcnNpb24gb2YgTmV3IFRyYW5zcG9ydCBpbmNsdWRlZCB3aXRoIEdPVi5VSyBUZW1wbGF0ZS5cbi8vL1xuLy8vIC0gYWx0ZXIgc29tZSBvZiB0aGUgQ1NTIG91dHB1dHRlZCBieSBHT1YuVUsgRnJvbnRlbmQgdG8gJ2NvdW50ZXInXG4vLy8gICBzcGVjaWZpYyBDU1MgcnVsZXMgaW4gR09WLlVLIFRlbXBsYXRlLlxuLy8vXG4vLy8gU2V0IHRoaXMgdG8gdHJ1ZSBpZiB5b3UgYXJlIGFsc28gaW5jbHVkaW5nIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluIHlvdXJcbi8vLyBhcHBsaWNhdGlvbi5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a3RlbXBsYXRlOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgTW9kZTogYWxwaGFnb3YvZ292dWtfZWxlbWVudHNcbi8vL1xuLy8vIEVuYWJsaW5nIHRoaXMgd2lsbDpcbi8vL1xuLy8vIC0gYWx0ZXIgc29tZSBvZiB0aGUgQ1NTIG91dHB1dHRlZCBieSBHT1YuVUsgRnJvbnRlbmQgdG8gJ2NvdW50ZXInXG4vLy8gICBzcGVjaWZpYyBDU1MgcnVsZXMgaW4gR09WLlVLIEVsZW1lbnRzLlxuLy8vXG4vLy8gU2V0IHRoaXMgdG8gdHJ1ZSBpZiB5b3UgYXJlIGFsc28gaW5jbHVkaW5nIGFscGhhZ292L2dvdnVrX2VsZW1lbnRzIGluIHlvdXJcbi8vLyBhcHBsaWNhdGlvbi5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIENvbXBhdGliaWxpdHkgUHJvZHVjdCBNYXBcbi8vL1xuLy8vIE1hcHMgcHJvZHVjdCBuYW1lcyB0byB0aGVpciBzZXR0aW5ncyB0aGF0IHdlIGNhbiB1c2UgdG8gbG9va3VwIHN0YXRlcyBmcm9tXG4vLy8gd2l0aGluIHRoZSBgQGdvdnVrLWNvbXBhdGliaWxpdHlgIG1peGluLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstY29tcGF0aWJpbGl0eTogKFxuICBnb3Z1a19mcm9udGVuZF90b29sa2l0OiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCxcbiAgZ292dWtfdGVtcGxhdGU6ICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUsXG4gIGdvdnVrX2VsZW1lbnRzOiAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzLFxuKTtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvZ2xvYmFsLXN0eWxlc1xuLy8vL1xuXG4vLy8gSW5jbHVkZSAnZ2xvYmFsJyBzdHlsZXNcbi8vL1xuLy8vIFdoZXRoZXIgdG8gc3R5bGUgcGFyYWdyYXBocyAoYDxwPmApIGFuZCBsaW5rcyAoYDxhPmApIHdpdGhvdXQgZXhwbGljaXRseVxuLy8vIGhhdmluZyB0byBhcHBseSB0aGUgYGdvdnVrLWJvZHlgIGFuZCBgZ292dWstbGlua2AgY2xhc3Nlcy5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZ2xvYmFsLXN0eWxlczogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2ludGVybmV0LWV4cGxvcmVyLThcbi8vLy9cblxuLy8vIFdoZXRoZXIgdGhlIHN0eWxlc2hlZXQgYmVpbmcgYnVpbHQgaXMgdGFyZ2V0aW5nIEludGVybmV0IEV4cGxvcmVyIDguXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWlzLWllODogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCB0byB1c2UgYXMgdGhlIHRhcmdldCB3aGVuIHJhc3Rlcml6aW5nIG1lZGlhXG4vLy8gcXVlcmllc1xuLy8vXG4vLy8gQHR5cGUgU3RyaW5nXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWllOC1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9tZWRpYS1xdWVyaWVzXG4vLy8vXG5cbi8vLyBCcmVha3BvaW50IGRlZmluaXRpb25zXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYnJlYWtwb2ludHM6IChcbiAgbW9iaWxlOiAgMzIwcHgsXG4gIHRhYmxldDogIDY0MXB4LFxuICBkZXNrdG9wOiA3NjlweFxuKSAhZGVmYXVsdDtcblxuLy8vIFNob3cgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdG9wLXJpZ2h0IGNvcm5lci5cbi8vL1xuLy8vIE9ubHkgdXNlIHRoaXMgZHVyaW5nIGxvY2FsIGRldmVsb3BtZW50LlxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zaG93LWJyZWFrcG9pbnRzOiBmYWxzZSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCJjb21wYXRpYmlsaXR5XCI7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWxpc3QtbWF4LWVtcHR5LWxpbmVzIC0tIGFsbG93IGVtcHR5IGxpbmVzIGluIGxpc3RzXG4vLyBpbiB0aGlzIGZpbGUgdG8gYWxsb3cgZ3JvdXBpbmdcblxuLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9jb2xvdXJzXG4vLy8vXG5cbi8vLyBVc2UgJ2xlZ2FjeScgY29sb3VyIHBhbGV0dGVcbi8vL1xuLy8vIFdoZXRoZXIgb3Igbm90IHRvIHVzZSB0aGUgY29sb3VyIHBhbGV0dGUgZnJvbSBHT1YuVUsgRWxlbWVudHMgLyBGcm9udGVuZFxuLy8vIFRvb2xraXQsIGZvciB0ZWFtcyB0aGF0IGFyZSBtaWdyYXRpbmcgdG8gR09WLlVLIEZyb250ZW5kIGFuZCBtYXkgYmUgdXNpbmdcbi8vLyBjb21wb25lbnRzIGZyb20gYm90aCBwbGFjZXMgaW4gYSBzaW5nbGUgYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXVzZS1sZWdhY3ktcGFsZXR0ZTogaWYoXG4gIChcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2Zyb250ZW5kdG9vbGtpdCBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrdGVtcGxhdGUgb3JcbiAgICAkZ292dWstY29tcGF0aWJpbGl0eS1nb3Z1a2VsZW1lbnRzXG4gICksXG4gIHRydWUsXG4gIGZhbHNlXG4pICFkZWZhdWx0O1xuXG4vLy8gTW9kZXJuIGNvbG91ciBwYWxldHRlXG4vLy9cbi8vLyBUaGlzIGV4aXN0cyBvbmx5IGJlY2F1c2UgeW91IGNhbm5vdCBlYXNpbHkgc2V0IGEgIWRlZmF1bHQgdmFyaWFibGVcbi8vLyBjb25kaXRpb25hbGx5ICh0aGFua3MgdG8gdGhlIHdheSBzY29wZSB3b3JrcyBpbiBTYXNzKSBzbyB3ZSBzZXRcbi8vLyBgJGdvdnVrLWNvbG91ci1wYWxldHRlYCB1c2luZyB0aGUgYGlmYCBmdW5jdGlvbi5cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kX2dvdnVrLWNvbG91ci1wYWxldHRlLW1vZGVybjogKFxuICBcInJlZFwiOiAjZDQzNTFjLFxuICBcInllbGxvd1wiOiAjZmZkZDAwLFxuICBcImdyZWVuXCI6ICMwMDcwM2MsXG4gIFwiYmx1ZVwiOiAjMWQ3MGI4LFxuICBcImRhcmstYmx1ZVwiOiAjMDAzMDc4LFxuICBcImxpZ2h0LWJsdWVcIjogIzU2OTRjYSxcbiAgXCJwdXJwbGVcIjogIzRjMmM5MixcblxuICBcImJsYWNrXCI6ICMwYjBjMGMsXG4gIFwiZGFyay1ncmV5XCI6ICM1MDVhNWYsXG4gIFwibWlkLWdyZXlcIjogI2IxYjRiNixcbiAgXCJsaWdodC1ncmV5XCI6ICNmM2YyZjEsXG4gIFwid2hpdGVcIjogI2ZmZmZmZixcblxuICBcImxpZ2h0LXB1cnBsZVwiOiAjNmY3MmFmLFxuICBcImJyaWdodC1wdXJwbGVcIjogIzkxMmI4OCxcbiAgXCJwaW5rXCI6ICNkNTM4ODAsXG4gIFwibGlnaHQtcGlua1wiOiAjZjQ5OWJlLFxuICBcIm9yYW5nZVwiOiAjZjQ3NzM4LFxuICBcImJyb3duXCI6ICNiNTg4NDAsXG4gIFwibGlnaHQtZ3JlZW5cIjogIzg1OTk0YixcbiAgXCJ0dXJxdW9pc2VcIjogIzI4YTE5N1xuKTtcblxuLy8vIExlZ2FjeSBjb2xvdXIgcGFsZXR0ZVxuLy8vXG4vLy8gVGhpcyBleGlzdHMgb25seSBiZWNhdXNlIHlvdSBjYW5ub3QgZWFzaWx5IHNldCBhICFkZWZhdWx0IHZhcmlhYmxlXG4vLy8gY29uZGl0aW9uYWxseSAodGhhbmtzIHRvIHRoZSB3YXkgc2NvcGUgd29ya3MgaW4gU2Fzcykgc28gd2Ugc2V0XG4vLy8gYCRnb3Z1ay1jb2xvdXItcGFsZXR0ZWAgdXNpbmcgdGhlIGBpZmAgZnVuY3Rpb24uXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJF9nb3Z1ay1jb2xvdXItcGFsZXR0ZS1sZWdhY3k6IChcbiAgXCJwdXJwbGVcIjogIzJlMzU4YixcbiAgXCJsaWdodC1wdXJwbGVcIjogIzZmNzJhZixcbiAgXCJicmlnaHQtcHVycGxlXCI6ICM5MTJiODgsXG4gIFwicGlua1wiOiAjZDUzODgwLFxuICBcImxpZ2h0LXBpbmtcIjogI2Y0OTliZSxcbiAgXCJyZWRcIjogI2IxMGUxZSxcbiAgXCJicmlnaHQtcmVkXCI6ICNkZjMwMzQsXG4gIFwib3JhbmdlXCI6ICNmNDc3MzgsXG4gIFwiYnJvd25cIjogI2I1ODg0MCxcbiAgXCJ5ZWxsb3dcIjogI2ZmYmY0NyxcbiAgXCJsaWdodC1ncmVlblwiOiAjODU5OTRiLFxuICBcImdyZWVuXCI6ICMwMDY0MzUsXG4gIFwidHVycXVvaXNlXCI6ICMyOGExOTcsXG4gIFwibGlnaHQtYmx1ZVwiOiAjMmI4Y2M0LFxuICBcImJsdWVcIjogIzAwNWVhNSxcblxuICBcImJsYWNrXCI6ICMwYjBjMGMsXG4gIFwiZ3JleS0xXCI6ICM2Zjc3N2IsXG4gIFwiZ3JleS0yXCI6ICNiZmMxYzMsXG4gIFwiZ3JleS0zXCI6ICNkZWUwZTIsXG4gIFwiZ3JleS00XCI6ICNmOGY4ZjgsXG4gIFwid2hpdGVcIjogI2ZmZmZmZlxuKTtcblxuLy8vIENvbG91ciBwYWxldHRlXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRjb2xvdXIgLSBSZXByZXNlbnRhdGlvbiBmb3IgdGhlIGdpdmVuICRjb2xvdXIsIHdoZXJlICRjb2xvdXIgaXMgdGhlXG4vLy8gICBmcmllbmRseSBuYW1lIGZvciB0aGUgY29sb3VyIChlLmcuIFwicmVkXCI6ICNmZjAwMDApO1xuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNvbG91cnM6IGlmKFxuICAkZ292dWstdXNlLWxlZ2FjeS1wYWxldHRlLFxuICAkX2dvdnVrLWNvbG91ci1wYWxldHRlLWxlZ2FjeSxcbiAgJF9nb3Z1ay1jb2xvdXItcGFsZXR0ZS1tb2Rlcm5cbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuLy8vIE9yZ2FuaXNhdGlvbiBjb2xvdXJzXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vL1xuLy8vIEBwcm9wICRvcmdhbmlzYXRpb24uY29sb3VyIC0gQ29sb3VyIGZvciB0aGUgZ2l2ZW4gYCRvcmdhbmlzYXRpb25gXG4vLy8gQHByb3AgJG9yZ2FuaXNhdGlvbi5jb2xvdXItd2Vic2FmZSAtIFdlYnNhZmUgY29sb3VyIGZvciB0aGUgZ2l2ZW5cbi8vLyAgIGAkb3JnYW5pc2F0aW9uYC4gV2UgdXNlIGB3ZWJzYWZlYCB0byBtZWFuIHN0cm9uZyBlbm91Z2ggY29udHJhc3QgYWdhaW5zdFxuLy8vICAgd2hpdGUgdG8gYmUgdXNlZCBmb3IgY29weSBhbmQgbWVldCB0aGUgQUFBIChsYXJnZSB0ZXh0KSBhbmQgQUEgKHNtYWxsZXJcbi8vLyAgIGNvcHkpIFdDQUcgZ3VpZGVsaW5lcy5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1jb2xvdXJzLW9yZ2FuaXNhdGlvbnM6IChcbiAgXCJhdHRvcm5leS1nZW5lcmFscy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzlmMTg4OCxcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwM2E4OFxuICApLFxuICBcImNhYmluZXQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMDVhYmIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJjaXZpbC1zZXJ2aWNlXCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1idXNpbmVzcy1pbm5vdmF0aW9uLXNraWxsc1wiOiAoXG4gICAgY29sb3VyOiAjMDAzNDc5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3ZGE0XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItY29tbXVuaXRpZXMtYW5kLWxvY2FsLWdvdmVybm1lbnRcIjogKFxuICAgIGNvbG91cjogIzAwOTk5OSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODM2ZVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWN1bHR1cmUtbWVkaWEtc3BvcnRcIjogKFxuICAgIGNvbG91cjogI2Q0MDA3MixcbiAgICBjb2xvdXItd2Vic2FmZTogI2EwMzE1NVxuICApLFxuICBcImRlcGFydG1lbnQtZm9yLWVkdWNhdGlvblwiOiAoXG4gICAgY29sb3VyOiAjMDAzYTY5LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzQ3Y2E5XG4gICksXG4gIFwiZGVwYXJ0bWVudC1mb3ItZW52aXJvbm1lbnQtZm9vZC1ydXJhbC1hZmZhaXJzXCI6IChcbiAgICBjb2xvdXI6ICMwMGEzM2IsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDg5MzhcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLWRldmVsb3BtZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDI4NzgsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM0MDVlOWFcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci1pbnRlcm5hdGlvbmFsLXRyYWRlXCI6IChcbiAgICBjb2xvdXI6ICNjZjEwMmQsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVlYTVcbiAgKSxcbiAgXCJkZXBhcnRtZW50LWZvci10cmFuc3BvcnRcIjogKFxuICAgIGNvbG91cjogIzAwNmM1NixcbiAgICBjb2xvdXItd2Vic2FmZTogIzM5ODM3M1xuICApLFxuICBcImRlcGFydG1lbnQtZm9yLXdvcmstcGVuc2lvbnNcIjogKFxuICAgIGNvbG91cjogIzAwYmViNyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzM3ODA3YlxuICApLFxuICBcImRlcGFydG1lbnQtb2YtZW5lcmd5LWNsaW1hdGUtY2hhbmdlXCI6IChcbiAgICBjb2xvdXI6ICMwMDlkZGIsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMyYjdjYWNcbiAgKSxcbiAgXCJkZXBhcnRtZW50LW9mLWhlYWx0aFwiOiAoXG4gICAgY29sb3VyOiAjMDBhZDkzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjMzk4MzZlXG4gICksXG4gIFwiZm9yZWlnbi1jb21tb253ZWFsdGgtZGV2ZWxvcG1lbnQtb2ZmaWNlXCI6IChcbiAgICBjb2xvdXI6ICMwMTIxNjlcbiAgKSxcbiAgXCJmb3JlaWduLWNvbW1vbndlYWx0aC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwM2U3NCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzQwNmU5N1xuICApLFxuICBcImdvdmVybm1lbnQtZXF1YWxpdGllcy1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogICM5MzI1YjJcbiAgKSxcbiAgXCJobS1nb3Zlcm5tZW50XCI6IChcbiAgICBjb2xvdXI6ICMwMDc2YzAsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMzNDdkYTRcbiAgKSxcbiAgXCJobS1yZXZlbnVlLWN1c3RvbXNcIjogKFxuICAgIGNvbG91cjogIzAwOTM5MCxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwODY3MFxuICApLFxuICBcImhtLXRyZWFzdXJ5XCI6IChcbiAgICBjb2xvdXI6ICNhZjI5MmUsXG4gICAgY29sb3VyLXdlYnNhZmU6ICM4MzIzMjJcbiAgKSxcbiAgXCJob21lLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjOTMyNWIyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjOTQ0MGIyXG4gICksXG4gIFwibWluaXN0cnktb2YtZGVmZW5jZVwiOiAoXG4gICAgY29sb3VyOiAjNGQyOTQyLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNWE1YzkyXG4gICksXG4gIFwibWluaXN0cnktb2YtanVzdGljZVwiOiAoXG4gICAgY29sb3VyOiAjMjMxZjIwLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNWE1YzkyXG4gICksXG4gIFwibm9ydGhlcm4taXJlbGFuZC1vZmZpY2VcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzNlNTk4Y1xuICApLFxuICBcIm9mZmljZS1vZi10aGUtYWR2b2NhdGUtZ2VuZXJhbC1mb3Itc2NvdGxhbmRcIjogKFxuICAgIGNvbG91cjogIzAwMjY2MyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcIm9mZmljZS1vZi10aGUtbGVhZGVyLW9mLXRoZS1ob3VzZS1vZi1jb21tb25zXCI6IChcbiAgICBjb2xvdXI6ICMzMTcwMjMsXG4gICAgY29sb3VyLXdlYnNhZmU6ICMwMDVmOGZcbiAgKSxcbiAgXCJvZmZpY2Utb2YtdGhlLWxlYWRlci1vZi10aGUtaG91c2Utb2YtbG9yZHNcIjogKFxuICAgIGNvbG91cjogIzljMTMyZSxcbiAgICBjb2xvdXItd2Vic2FmZTogI2MyMzk1ZFxuICApLFxuICBcInNjb3RsYW5kLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjMDAyNjYzLFxuICAgIGNvbG91ci13ZWJzYWZlOiAjNDA1YzhhXG4gICksXG4gIFwidWstZXhwb3J0LWZpbmFuY2VcIjogKFxuICAgIGNvbG91cjogIzAwNTc0NyxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcInVrLXRyYWRlLWludmVzdG1lbnRcIjogKFxuICAgIGNvbG91cjogI2M4MDY1MSxcbiAgICBjb2xvdXItd2Vic2FmZTogIzAwNWVhNVxuICApLFxuICBcIndhbGVzLW9mZmljZVwiOiAoXG4gICAgY29sb3VyOiAjYTMzMDM4LFxuICAgIGNvbG91ci13ZWJzYWZlOiAjN2EyNDJhXG4gIClcbikgIWRlZmF1bHQ7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL2NvbG91cnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL2hlbHBlcnMvY29sb3VyXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gR2VuZXJpY1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBCcmFuZCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1icmFuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKSAhZGVmYXVsdDtcblxuLy8vIENhbnZhcyBiYWNrZ3JvdW5kIGNvbG91clxuLy8vXG4vLy8gVXNlZCBieSB0aGUgZm9vdGVyIGNvbXBvbmVudCBhbmQgdGVtcGxhdGUgdG8gZ2l2ZSB0aGUgaWxsdXNpb24gb2YgYSBsb25nXG4vLy8gZm9vdGVyLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWNhbnZhcy1iYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktM1wiKSAhZGVmYXVsdDtcblxuLy8vIEJvZHkgYmFja2dyb3VuZCBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3VyIGZvciBwcmludCBtZWRpYVxuLy8vXG4vLy8gVXNlICd0cnVlIGJsYWNrJyB0byBhdm9pZCBwcmludGVycyB1c2luZyBjb2xvdXIgaW5rIHRvIHByaW50IGJvZHkgdGV4dFxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXByaW50LXRleHQtY29sb3VyOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4vLy8gU2Vjb25kYXJ5IHRleHQgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGluIGZvciBleGFtcGxlICdtdXRlZCcgdGV4dCBhbmQgaGVscCB0ZXh0LlxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjogZ292dWstY29sb3VyKFwiZGFyay1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0xXCIpICFkZWZhdWx0O1xuXG4vLy8gRm9jdXMgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBvdXRsaW5lIChhbmQgYmFja2dyb3VuZCwgd2hlcmUgYXBwcm9wcmlhdGUpIHdoZW4gaW50ZXJhY3RpdmVcbi8vLyBlbGVtZW50cyAobGlua3MsIGZvcm0gY29udHJvbHMpIGhhdmUga2V5Ym9hcmQgZm9jdXMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9jdXMtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ5ZWxsb3dcIikgIWRlZmF1bHQ7XG5cbi8vLyBGb2N1c2VkIHRleHQgY29sb3VyXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgY29udHJhc3QgYmV0d2VlbiB0aGUgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvdXIgcGFzc2VzXG4vLy8gV0NBRyBMZXZlbCBBQSBjb250cmFzdCByZXF1aXJlbWVudHMuXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9jdXMtdGV4dC1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG4vLy8gRXJyb3IgY29sb3VyXG4vLy9cbi8vLyBVc2VkIHRvIGhpZ2hsaWdodCBlcnJvciBtZXNzYWdlcyBhbmQgZm9ybSBjb250cm9scyBpbiBhbiBlcnJvciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWVycm9yLWNvbG91cjogZ292dWstY29sb3VyKFwicmVkXCIpICFkZWZhdWx0O1xuXG4vLy8gU3VjY2VzcyBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgdG8gaGlnaGxpZ2h0IHN1Y2Nlc3MgbWVzc2FnZXMgYW5kIGJhbm5lcnNcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1zdWNjZXNzLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JlZW5cIikgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGluIGZvciBleGFtcGxlIGJvcmRlcnMsIHNlcGFyYXRvcnMsIHJ1bGVzIGFuZCBrZXlsaW5lcy5cbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcblxuLy8vIElucHV0IGJvcmRlciBjb2xvdXJcbi8vL1xuLy8vIFVzZWQgZm9yIGZvcm0gaW5wdXRzIGFuZCBjb250cm9sc1xuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpICFkZWZhdWx0O1xuXG4vLy8gSW5wdXQgaG92ZXIgY29sb3VyXG4vLy9cbi8vLyBVc2VkIGZvciBob3ZlciBzdGF0ZXMgb24gZm9ybSBjb250cm9sc1xuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIik7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIExpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1jb2xvdXI6IGdvdnVrLWNvbG91cihcImJsdWVcIikgIWRlZmF1bHQ7XG5cbi8vLyBWaXNpdGVkIGxpbmsgY29sb3VyXG4vLy9cbi8vLyBAdHlwZSBDb2xvdXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay12aXNpdGVkLWNvbG91cjogZ292dWstY29sb3VyKFwicHVycGxlXCIsICRsZWdhY3k6ICM0YzJjOTIpICFkZWZhdWx0O1xuXG4vLy8gTGluayBob3ZlciBjb2xvdXJcbi8vL1xuLy8vIEB0eXBlIENvbG91clxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjogZ292dWstY29sb3VyKFwiZGFyay1ibHVlXCIsICRsZWdhY3k6IFwibGlnaHQtYmx1ZVwiKSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBsaW5rIGNvbG91clxuLy8vXG4vLy8gQHR5cGUgQ29sb3VyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjogZ292dWstY29sb3VyKFwiYmxhY2tcIiwgJGxlZ2FjeTogXCJsaWdodC1ibHVlXCIpICFkZWZhdWx0O1xuIiwiQGltcG9ydCBcIi4uL3NldHRpbmdzL2NvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLXBhbGV0dGVcIjtcbkBpbXBvcnQgXCIuLi9zZXR0aW5ncy9jb2xvdXJzLW9yZ2FuaXNhdGlvbnNcIjtcblxuLy8vL1xuLy8vIEBncm91cCBoZWxwZXJzL2NvbG91clxuLy8vL1xuXG4vLy8gR2V0IGNvbG91clxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjb2xvdXIgLSBOYW1lIG9mIGNvbG91ciBmcm9tIHRoZSBjb2xvdXIgcGFsZXR0ZVxuLy8vICAgKGAkZ292dWstY29sb3Vyc2ApXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRsZWdhY3kgLSBFaXRoZXIgdGhlIG5hbWUgb2YgY29sb3VyIGZyb20gdGhlIGxlZ2FjeSBwYWxldHRlXG4vLy8gICBvciBhIGNvbG91ciBsaXRlcmFsLCB0byByZXR1cm4gaW5zdGVhZCB3aGVuIGluICdsZWdhY3kgbW9kZScgLSBtYXRjaGluZ1xuLy8vICAgdGhlIHBhbGV0dGUgZnJvbSBHT1YuVUsgVGVtcGxhdGUsIEVsZW1lbnRzIG9yIEZyb250ZW5kIFRvb2xraXRcbi8vLyBAcmV0dXJuIHtDb2xvdXJ9IFJlcHJlc2VudGF0aW9uIG9mIG5hbWVkIGNvbG91clxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzaW5nIGxlZ2FjeSBjb2xvdXJzIGZyb20gdGhlIHBhbGV0dGVcbi8vLyAgLmZvbyB7XG4vLy8gICAgYmFja2dyb3VuZC1jb2xvdXI6IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNpbmcgbGVnYWN5IGNvbG91ciBsaXRlcmFsc1xuLy8vICAuZm9vIHtcbi8vLyAgICBiYWNrZ3JvdW5kLWNvbG91cjogZ292dWstY29sb3VyKFwiZ3JlZW5cIiwgJGxlZ2FjeTogI0JBREE1NSk7XG4vLy8gIH1cbi8vL1xuLy8vIEB0aHJvdyBpZiBgJGNvbG91cmAgaXMgbm90IGEgY29sb3VyIGZyb20gdGhlIGNvbG91ciBwYWxldHRlXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWNvbG91cigkY29sb3VyLCAkbGVnYWN5OiBmYWxzZSkge1xuICBAaWYgKCRnb3Z1ay11c2UtbGVnYWN5LXBhbGV0dGUgYW5kICRsZWdhY3kpIHtcbiAgICBAaWYgKHR5cGUtb2YoJGxlZ2FjeSkgPT0gXCJjb2xvclwiKSB7XG4gICAgICBAcmV0dXJuICRsZWdhY3k7XG4gICAgfVxuICAgICRjb2xvdXI6ICRsZWdhY3k7XG4gIH1cblxuICAkY29sb3VyOiBxdW90ZSgkY29sb3VyKTtcblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1jb2xvdXJzLCAkY29sb3VyKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBjb2xvdXIgYCN7JGNvbG91cn1gXCI7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1nZXQoJGdvdnVrLWNvbG91cnMsICRjb2xvdXIpO1xufVxuXG4vLy8gR2V0IHRoZSBjb2xvdXIgZm9yIGEgZ292ZXJubWVudCBvcmdhbmlzYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3JnYW5pc2F0aW9uIC0gT3JnYW5pc2F0aW9uIG5hbWUsIGxvd2VyY2FzZSwgaHlwaGVuYXRlZFxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHdlYnNhZmUgW3RydWVdIC0gQnkgZGVmYXVsdCBhICd3ZWJzYWZlJyB2ZXJzaW9uIG9mIHRoZVxuLy8vICAgY29sb3VyIHdpbGwgYmUgcmV0dXJuZWQgd2hpY2ggbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIC4gSWYgeW91IHdhbnQgdG9cbi8vLyAgIHVzZSB0aGUgbm9uLXdlYnNhZmUgdmVyc2lvbiB5b3UgY2FuIHNldCB0aGlzIHRvIGBmYWxzZWAgYnV0IHlvdXIgc2hvdWxkXG4vLy8gICBlbnN1cmUgdGhhdCB5b3Ugc3RpbGwgbWVldHMgY29udHJhc3QgcmVxdWlyZW1lbnRzIGZvciBhY2Nlc3NpYmlsaXR5IC0gZm9yXG4vLy8gICBleGFtcGxlLCBkbyBub3QgdXNlIHRoZSBub24td2Vic2FmZSB2ZXJzaW9uIGZvciB0ZXh0LlxuLy8vXG4vLy8gQHJldHVybiB7Q29sb3VyfSBSZXByZXNlbnRhdGlvbiBvZiBjb2xvdXIgZm9yIG9yZ2FuaXNhdGlvblxuLy8vIEB0aHJvdyBpZiBgJG9yZ2FuaXNhdGlvbmAgaXMgbm90IGEga25vd24gb3JnYW5pc2F0aW9uXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLW9yZ2FuaXNhdGlvbi1jb2xvdXIoJG9yZ2FuaXNhdGlvbiwgJHdlYnNhZmU6IHRydWUpIHtcbiAgQGlmIG5vdCBtYXAtaGFzLWtleSgkZ292dWstY29sb3Vycy1vcmdhbmlzYXRpb25zLCAkb3JnYW5pc2F0aW9uKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBvcmdhbmlzYXRpb24gYCN7JG9yZ2FuaXNhdGlvbn1gXCI7XG4gIH1cblxuICAkb3JnLWNvbG91cjogbWFwLWdldCgkZ292dWstY29sb3Vycy1vcmdhbmlzYXRpb25zLCAkb3JnYW5pc2F0aW9uKTtcblxuICBAaWYgKCR3ZWJzYWZlIGFuZCBtYXAtaGFzLWtleSgkb3JnLWNvbG91ciwgY29sb3VyLXdlYnNhZmUpKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRvcmctY29sb3VyLCBjb2xvdXItd2Vic2FmZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkb3JnLWNvbG91ciwgY29sb3VyKTtcbiAgfVxufVxuXG4vLy8gTWFrZSBhIGNvbG91ciBkYXJrZXIgYnkgbWl4aW5nIGl0IHdpdGggYmxhY2tcbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3VyfSAkY29sb3VyIC0gY29sb3VyIHRvIHNoYWRlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJjZW50YWdlIC0gcGVyY2VudGFnZSBvZiBgJGNvbG91cmAgaW4gcmV0dXJuZWQgY29sb3Jcbi8vLyBAcmV0dXJuIHtDb2xvdXJ9XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLXNoYWRlKCRjb2xvdXIsICRwZXJjZW50YWdlKSB7XG4gIEByZXR1cm4gbWl4KCMwMDAwMDAsICRjb2xvdXIsICRwZXJjZW50YWdlKTtcbn1cblxuLy8vIE1ha2UgYSBjb2xvdXIgbGlnaHRlciBieSBtaXhpbmcgaXQgd2l0aCB3aGl0ZVxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvdXJ9ICRjb2xvdXIgLSBjb2xvdXIgdG8gdGludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyY2VudGFnZSAtIHBlcmNlbnRhZ2Ugb2YgYCRjb2xvdXJgIGluIHJldHVybmVkIGNvbG9yXG4vLy8gQHJldHVybiB7Q29sb3VyfVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay10aW50KCRjb2xvdXIsICRwZXJjZW50YWdlKSB7XG4gIEByZXR1cm4gbWl4KGdvdnVrLWNvbG91cihcIndoaXRlXCIpLCAkY29sb3VyLCAkcGVyY2VudGFnZSk7XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3NwYWNpbmdcbi8vLy9cblxuLy8vIFNpbmdsZSBwb2ludCBzcGFjaW5nIHZhcmlhYmxlcy4gQWNjZXNzIHVzaW5nIGBnb3Z1ay1zcGFjaW5nKClgXG4vLy8gKHNlZSBgaGVscGVycy9zcGFjaW5nYCkuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuJGdvdnVrLXNwYWNpbmctcG9pbnRzOiAoXG4gIDA6IDAsXG4gIDE6IDVweCxcbiAgMjogMTBweCxcbiAgMzogMTVweCxcbiAgNDogMjBweCxcbiAgNTogMjVweCxcbiAgNjogMzBweCxcbiAgNzogNDBweCxcbiAgODogNTBweCxcbiAgOTogNjBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZyBtYXBzXG4vLy9cbi8vLyBUaGVzZSBkZWZpbml0aW9ucyBhcmUgdXNlZCB0byBnZW5lcmF0ZSByZXNwb25zaXZlIHNwYWNpbmcgdGhhdCBhZGFwdHNcbi8vLyBhY2NvcmRpbmcgdG8gdGhlIGJyZWFrcG9pbnRzIChzZWUgJ2hlbHBlcnMvc3BhY2luZycpLiBUaGVzZSBtYXBzIHNob3VsZCBiZVxuLy8vIHVzZWQgd2hlcmV2ZXIgcG9zc2libGUgdG8gc3RhbmRhcmRpc2UgcmVzcG9uc2l2ZSBzcGFjaW5nLlxuLy8vXG4vLy8gWW91IGNhbiBkZWZpbmUgZGlmZmVyZW50IGJlaGF2aW91ciBvbiB0YWJsZXQgYW5kIGRlc2t0b3AuIFRoZSAnbnVsbCdcbi8vLyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4vLy9cbi8vLyBBY2Nlc3MgcmVzcG9uc2l2ZSBzcGFjaW5nIHdpdGggYGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luYCBvclxuLy8vIGBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmdgIG1peGlucyAoc2VlIGBoZWxwZXJzL3NwYWNpbmdgKS5cbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG4kZ292dWstc3BhY2luZy1yZXNwb25zaXZlLXNjYWxlOiAoXG4gIDA6IChcbiAgICBudWxsOiAwLFxuICAgIHRhYmxldDogMFxuICApLFxuICAxOiAoXG4gICAgbnVsbDogNXB4LFxuICAgIHRhYmxldDogNXB4XG4gICksXG4gIDI6IChcbiAgICBudWxsOiAxMHB4LFxuICAgIHRhYmxldDogMTBweFxuICApLFxuICAzOiAoXG4gICAgbnVsbDogMTVweCxcbiAgICB0YWJsZXQ6IDE1cHhcbiAgKSxcbiAgNDogKFxuICAgIG51bGw6IDE1cHgsXG4gICAgdGFibGV0OiAyMHB4XG4gICksXG4gIDU6IChcbiAgICBudWxsOiAxNXB4LFxuICAgIHRhYmxldDogMjVweFxuICApLFxuICA2OiAoXG4gICAgbnVsbDogMjBweCxcbiAgICB0YWJsZXQ6IDMwcHhcbiAgKSxcbiAgNzogKFxuICAgIG51bGw6IDI1cHgsXG4gICAgdGFibGV0OiA0MHB4XG4gICksXG4gIDg6IChcbiAgICBudWxsOiAzMHB4LFxuICAgIHRhYmxldDogNTBweFxuICApLFxuICA5OiAoXG4gICAgbnVsbDogNDBweCxcbiAgICB0YWJsZXQ6IDYwcHhcbiAgKVxuKSAhZGVmYXVsdDtcbiIsIi8vLy9cbi8vLyBAZ3JvdXAgc2V0dGluZ3MvbWVhc3VyZW1lbnRzXG4vLy8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGFnZSBsYXlvdXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gV2lkdGggb2YgbWFpbiBjb250YWluZXJcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1wYWdlLXdpZHRoOiA5NjBweCAhZGVmYXVsdDtcblxuLy8vIE1hcCBvZiBncmlkIGNvbHVtbiB3aWR0aHNcbi8vL1xuLy8vIEB0eXBlIE1hcFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ncmlkLXdpZHRoczogKFxuICBvbmUtcXVhcnRlcjogMjUlLFxuICBvbmUtdGhpcmQ6IDMzLjMzMzMlLFxuICBvbmUtaGFsZjogNTAlLFxuICB0d28tdGhpcmRzOiA2Ni42NjY2JSxcbiAgdGhyZWUtcXVhcnRlcnM6IDc1JSxcbiAgZnVsbDogMTAwJVxuKSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGd1dHRlciBiZXR3ZWVuIGdyaWQgY29sdW1uc1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWd1dHRlcjogMzBweCAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGhhbGYgdGhlIGd1dHRlciBiZXR3ZWVuIGdyaWQgY29sdW1uc1xuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWd1dHRlci1oYWxmOiAkZ292dWstZ3V0dGVyIC8gMjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBCb3JkZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIFN0YW5kYXJkIGJvcmRlciB3aWR0aFxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWJvcmRlci13aWR0aDogNXB4ICFkZWZhdWx0O1xuXG4vLy8gV2lkZSBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtd2lkZTogMTBweCAhZGVmYXVsdDtcblxuLy8vIE5hcnJvdyBib3JkZXIgd2lkdGhcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93OiA0cHggIWRlZmF1bHQ7XG5cbi8vLyBGb3JtIGNvbnRyb2wgYm9yZGVyIHdpZHRoXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDogMnB4ICFkZWZhdWx0O1xuXG4vLy8gRm9ybSBjb250cm9sIGJvcmRlciB3aWR0aCB3aGVuIGluIGVycm9yIHN0YXRlXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBkZXByZWNhdGVkIFVzZSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBpbnN0ZWFkLiBUaGVyZSBzaG91bGQgYmUgbm9cbi8vLyAgIGRpZmZlcmVuY2UgaW4gdGhpY2tuZXNzIGZvciBpbnB1dHMgaW4gdGhlIGVycm9yIHN0YXRlLCBpbiBvcmRlciB0b1xuLy8vICAgbWFpbnRhaW4gYSBkaXN0aW5jdCBmb2N1cyBzdGF0ZS5cblxuJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQtZXJyb3I6IDJweCAhZGVmYXVsdDtcblxuLy8vIEZvcm0gZ3JvdXAgYm9yZGVyIHdpZHRoIHdoZW4gaW4gZXJyb3Igc3RhdGVcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1ncm91cC1lcnJvcjogJGdvdnVrLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB3aWR0aCBvZiBmb2N1cyBvdXRsaW5lXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstZm9jdXMtd2lkdGg6IDNweCAhZGVmYXVsdDtcblxuLy8vIEhvdmVyIHdpZHRoIGZvciBmb3JtIGNvbnRyb2xzIHdpdGggYSBob3ZlciBzdGF0ZVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWhvdmVyLXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBMaXN0IG9mIGZvbnQgZmFtaWxpZXMgdG8gdXNlIGlmIHVzaW5nIEdEUyBUcmFuc3BvcnQgKHRoZSBkZWZhdWx0IGZvbnRcbi8vLyAnc3RhY2snIGZvciBHT1YuVUspXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LWdkcy10cmFuc3BvcnQ6IFwiR0RTIFRyYW5zcG9ydFwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuLy8vIExpc3Qgb2YgZm9udCBmYW1pbGllcyB0byB1c2UgaWYgdXNpbmcgTlRBIChvbGQgZm9udCAnc3RhY2snIGZvclxuLy8vIEdPVi5VSylcbi8vL1xuLy8vIEB0eXBlIExpc3Rcbi8vLyBAYWNjZXNzIHB1YmxpY1xuLy8vIEBkZXByZWNhdGVkIFRvIGJlIHJlbW92ZWQgb25jZSBzdXBwb3J0IGZvciBjb21wYXRpYmlsaXR5IG1vZGUgaXMgZHJvcHBlZFxuXG4kZ292dWstZm9udC1mYW1pbHktbnRhOiBcIm50YVwiLCBhcmlhbCwgc2Fucy1zZXJpZjtcblxuLy8vIExpc3Qgb2YgZm9udCBmYW1pbGllcyB0byB1c2UgaWYgdXNpbmcgdGhlICd0YWJ1bGFyIG51bWJlcnMnIHN1YnNldCBvZiBOVEFcbi8vLyAodGhlIGRlZmF1bHQgZm9udCAnc3RhY2snIGZvciBHT1YuVUspXG4vLy9cbi8vLyBCZWNhdXNlIG50YXRhYnVsYXJudW1iZXJzIG9ubHkgaW5jbHVkZXMgdGhlIGRpZ2l0cyAwLTEwLCBhbGwgb3RoZXIgZ2x5cGhzXG4vLy8gd2lsbCAnZmFsbC10aHJvdWdoJyB0aGUgc3RhY2sgdG8gTlRBLlxuLy8vXG4vLy8gQHR5cGUgTGlzdFxuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8gQGRlcHJlY2F0ZWQgVG8gYmUgcmVtb3ZlZCBvbmNlIHN1cHBvcnQgZm9yIGNvbXBhdGliaWxpdHkgbW9kZSBpcyBkcm9wcGVkXG5cbiRnb3Z1ay1mb250LWZhbWlseS1udGEtdGFidWxhcjogXCJudGF0YWJ1bGFybnVtYmVyc1wiLCAkZ292dWstZm9udC1mYW1pbHktbnRhO1xuIiwiQGltcG9ydCBcImNvbXBhdGliaWxpdHlcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LWZvbnQtZmFtaWxpZXNcIjtcblxuLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy90eXBvZ3JhcGh5XG4vLy8vXG5cbi8vLyBVc2UgJ2xlZ2FjeScgZm9udHNcbi8vL1xuLy8vIFdoZXRoZXIgb3Igbm90IHRvIHVzZSB2MSBudGEgZm9udCBmcm9tIEdPVi5VSyBFbGVtZW50cyAvIEZyb250ZW5kXG4vLy8gVG9vbGtpdCwgZm9yIHRlYW1zIHRoYXQgYXJlIG1pZ3JhdGluZyB0byBHT1YuVUsgRnJvbnRlbmQgYW5kIG1heSBiZSB1c2luZ1xuLy8vIGNvbXBvbmVudHMgZnJvbSBib3RoIHBsYWNlcyBpbiBhIHNpbmdsZSBhcHBsaWNhdGlvbi5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdXNlLWxlZ2FjeS1mb250OiBpZihcbiAgKFxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZnJvbnRlbmR0b29sa2l0IG9yXG4gICAgJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZSBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZWxlbWVudHNcbiAgKSxcbiAgdHJ1ZSxcbiAgZmFsc2VcbikgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCBmYW1pbGllc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSBmb3IgYWxsIHR5cG9ncmFwaHkgb24gc2NyZWVuIG1lZGlhXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5OiBpZihcbiAgJGdvdnVrLXVzZS1sZWdhY3ktZm9udCxcbiAgJGdvdnVrLWZvbnQtZmFtaWx5LW50YSxcbiAgJGdvdnVrLWZvbnQtZmFtaWx5LWdkcy10cmFuc3BvcnRcbikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlsaWVzIHRvIHVzZSB3aGVuIGRpc3BsYXlpbmcgdGFidWxhciBudW1iZXJzXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXI6IGlmKFxuICAkZ292dWstdXNlLWxlZ2FjeS1mb250LFxuICAkZ292dWstZm9udC1mYW1pbHktbnRhLXRhYnVsYXIsXG4gIGZhbHNlXG4pICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbGllcyB0byB1c2UgZm9yIHByaW50IG1lZGlhXG4vLy9cbi8vLyBXZSByZWNvbW1lbmQgdGhhdCB5b3UgdXNlIHN5c3RlbSBmb250cyB3aGVuIHByaW50aW5nLiBUaGlzIHdpbGwgYXZvaWQgaXNzdWVzXG4vLy8gd2l0aCBzb21lIHByaW50ZXIgZHJpdmVycyBhbmQgb3BlcmF0aW5nIHN5c3RlbXMuXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLWZvbnQtZmFtaWx5LXByaW50OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gSW5jbHVkZSB0aGUgZGVmYXVsdCBAZm9udC1mYWNlIGRlY2xhcmF0aW9uc1xuLy8vXG4vLy8gSWYgeW91IGhhdmUgc2V0ICRnb3Z1ay1mb250LWZhbWlseSB0byBzb21ldGhpbmcgb3RoZXIgdGhhblxuLy8vIGAkZ292dWstZm9udC1mYW1pbHktZ2RzLXRyYW5zcG9ydGAgdGhpcyBvcHRpb24gaXMgZGlzYWJsZWQgYnkgZGVmYXVsdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstaW5jbHVkZS1kZWZhdWx0LWZvbnQtZmFjZTogKFxuICAkZ292dWstZm9udC1mYW1pbHkgPT0gJGdvdnVrLWZvbnQtZmFtaWx5LWdkcy10cmFuc3BvcnRcbikgIWRlZmF1bHQ7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRm9udCB3ZWlnaHRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8vIEZvbnQgd2VpZ2h0IGZvciByZWd1bGFyIHR5cG9ncmFwaHlcbi8vL1xuLy8vIEB0eXBlIE51bWJlclxuLy8vIEBhY2Nlc3MgcHVibGljXG4kZ292dWstZm9udC13ZWlnaHQtcmVndWxhcjogNDAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGJvbGQgdHlwb2dyYXBoeVxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcbiRnb3Z1ay1mb250LXdlaWdodC1ib2xkOiA3MDAgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0IFwiY29tcGF0aWJpbGl0eVwiO1xuXG4vLy8vXG4vLy8gQGdyb3VwIHNldHRpbmdzL3R5cG9ncmFwaHlcbi8vLy9cblxuLy8vIFdoZXRoZXIgb3Igbm90IHRvIGRlZmluZSBmb250IHNpemVzIGluIHJlbSwgaW1wcm92aW5nIGFjY2Vzc2liaWxpdHkgYnlcbi8vLyBhbGxvd2luZyB1c2VycyB0byBhZGp1c3QgdGhlIGJhc2UgZm9udC1zaXplLiBUaGlzIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCxcbi8vLyB1bmxlc3MgYW55IG9mIHRoZSBjb21wYXRpYmlsaXR5IG1vZGUgc2V0dGluZ3MgYXJlIGVuYWJsZWQuXG4vLy9cbi8vLyBZb3Ugc2hvdWxkIG1ha2Ugc3VyZSB0aGF0ICRnb3Z1ay1yb290LWZvbnQtc2l6ZSBpcyBzZXQgY29ycmVjdGx5IGZvciB5b3VyXG4vLy8gcHJvamVjdC5cbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstdHlwb2dyYXBoeS11c2UtcmVtOiBpZihcbiAgKFxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZnJvbnRlbmR0b29sa2l0IG9yXG4gICAgJGdvdnVrLWNvbXBhdGliaWxpdHktZ292dWt0ZW1wbGF0ZSBvclxuICAgICRnb3Z1ay1jb21wYXRpYmlsaXR5LWdvdnVrZWxlbWVudHNcbiAgKSxcbiAgZmFsc2UsXG4gIHRydWVcbikgIWRlZmF1bHQ7XG5cbi8vLyBSb290IGZvbnQgc2l6ZVxuLy8vXG4vLy8gVGhpcyBpcyB1c2VkIHRvIGNhbGN1bGF0ZSByZW0gc2l6ZXMgZm9yIHRoZSB0eXBvZ3JhcGh5LCBhbmQgc2hvdWxkIG1hdGNoIHRoZVxuLy8vIF9lZmZlY3RpdmVfIGZvbnQtc2l6ZSBvZiB5b3VyIHJvb3QgKG9yIGh0bWwpIGVsZW1lbnQuXG4vLy9cbi8vLyBJZGVhbGx5IHlvdSBzaG91bGQgbm90IGJlIHNldHRpbmcgdGhlIGZvbnQtc2l6ZSBvbiB0aGUgaHRtbCBvciByb290IGVsZW1lbnRcbi8vLyBpbiBvcmRlciB0byBhbGxvdyBpdCB0byBzY2FsZSB3aXRoIHVzZXItcHJlZmVyZW5jZSwgaW4gd2hpY2ggY2FzZSB0aGlzXG4vLy8gc2hvdWxkIGJlIHNldCB0byAxNnB4LlxuLy8vXG4vLy8gSWYgeW91IGFyZSBpbnRlZ3JhdGluZyBGcm9udGVuZCBpbnRvIGFuIGV4aXN0aW5nIHByb2plY3QgdGhhdCBhbHNvIHVzZXNcbi8vLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBhbmQgeW91IHdpc2ggdG8gZW5hYmxlIGAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtYFxuLy8vIHRoZW4geW91IHNob3VsZCBzZXQgdGhpcyB0byAxMHB4IHRvIG1hdGNoIHRoZSA2Mi41JSAoMTBweCkgYmFzZSBmb250IHNpemVcbi8vLyB0aGF0IGdvdnVrX3RlbXBsYXRlIHNldHMgb24gdGhlIDxodG1sPiBlbGVtZW50LlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuJGdvdnVrLXJvb3QtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLy8gUmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IGZvbnQgbWFwXG4vLy9cbi8vLyBUaGlzIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5IHRoYXQgYWRhcHRzIGFjY29yZGluZyB0byB0aGVcbi8vLyBicmVha3BvaW50cy5cbi8vL1xuLy8vIEZvbnQgc2l6ZSBhbmQgZm9udCB3ZWlnaHQgY2FuIGJlIGRlZmluZWQgZm9yIGVhY2ggYnJlYWtwb2ludC4gWW91IGNhbiBkZWZpbmVcbi8vLyBkaWZmZXJlbnQgYmVoYXZpb3VyIG9uIHRhYmxldCBhbmQgZGVza3RvcC4gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvclxuLy8vIG1vYmlsZS5cbi8vL1xuLy8vIExpbmUtaGVpZ2h0cyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgY29udmVydGVkIGZyb20gcGl4ZWwgbWVhc3VyZW1lbnRzIGludG9cbi8vLyByZWxhdGl2ZSB2YWx1ZXMuIEZvciBleGFtcGxlLCB3aXRoIGEgZm9udC1zaXplIG9mIDE2cHggYW5kIGEgbGluZS1oZWlnaHQgb2Zcbi8vLyAyNHB4LCB0aGUgbGluZS1oZWlnaHQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gMS41IGJlZm9yZSBvdXRwdXQuXG4vLy9cbi8vLyBZb3UgY2FuIGFsc28gc3BlY2lmeSBhIHNlcGFyYXRlIGZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHQgZm9yIHByaW50IG1lZGlhLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy9cbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQuJGJyZWFrcG9pbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCBhdCBgJGJyZWFrcG9pbnRgXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LiRicmVha3BvaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIGF0IGAkYnJlYWtwb2ludGBcbi8vLyBAcHJvcCB7TnVtYmVyfSAkcG9pbnQucHJpbnQuZm9udC1zaXplIC0gRm9udCBzaXplIGZvciBgJHBvaW50YCB3aGVuIHByaW50aW5nXG4vLy8gQHByb3Age051bWJlcn0gJHBvaW50LnByaW50LmxpbmUtaGVpZ2h0IC0gTGluZSBoZWlnaHQgZm9yIGAkcG9pbnRgIHdoZW4gcHJpbnRpbmdcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay10eXBvZ3JhcGh5LXNjYWxlOiAoXG4gIDgwOiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiA1M3B4LFxuICAgICAgbGluZS1oZWlnaHQ6IDU1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiA4MHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDgwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDUzcHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xXG4gICAgKVxuICApLFxuICA0ODogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMzJweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogNDhweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAzMnB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDM2OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAyNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAzNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDQwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDI0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4wNVxuICAgIClcbiAgKSxcbiAgMjc6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE4cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDI3cHgsXG4gICAgICBsaW5lLWhlaWdodDogMzBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMThwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1XG4gICAgKVxuICApLFxuICAyNDogKFxuICAgIG51bGw6IChcbiAgICAgIGZvbnQtc2l6ZTogMThweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4XG4gICAgKSxcbiAgICB0YWJsZXQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMjRweCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4XG4gICAgKSxcbiAgICBwcmludDogKFxuICAgICAgZm9udC1zaXplOiAxOHB0LFxuICAgICAgbGluZS1oZWlnaHQ6IDEuMTVcbiAgICApXG4gICksXG4gIDE5OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxNnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxOXB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDI1cHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDE0cHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4xNVxuICAgIClcbiAgKSxcbiAgMTY6IChcbiAgICBudWxsOiAoXG4gICAgICBmb250LXNpemU6IDE0cHgsXG4gICAgICBsaW5lLWhlaWdodDogMTZweFxuICAgICksXG4gICAgdGFibGV0OiAoXG4gICAgICBmb250LXNpemU6IDE2cHgsXG4gICAgICBsaW5lLWhlaWdodDogMjBweFxuICAgICksXG4gICAgcHJpbnQ6IChcbiAgICAgIGZvbnQtc2l6ZTogMTRwdCxcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJcbiAgICApXG4gICksXG4gIDE0OiAoXG4gICAgbnVsbDogKFxuICAgICAgZm9udC1zaXplOiAxMnB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDE1cHhcbiAgICApLFxuICAgIHRhYmxldDogKFxuICAgICAgZm9udC1zaXplOiAxNHB4LFxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHhcbiAgICApLFxuICAgIHByaW50OiAoXG4gICAgICBmb250LXNpemU6IDEycHQsXG4gICAgICBsaW5lLWhlaWdodDogMS4yXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuIiwiLy8vL1xuLy8vIEBncm91cCBzZXR0aW5ncy9saW5rc1xuLy8vL1xuXG4vLy8gRW5hYmxlIG5ldyBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gSWYgZW5hYmxlZCwgdGhlIGxpbmsgc3R5bGVzIHdpbGwgY2hhbmdlLiBVbmRlcmxpbmVzIHdpbGw6XG4vLy9cbi8vLyAtIGJlIGNvbnNpc3RlbnRseSB0aGlubmVyIGFuZCBhIGJpdCBmdXJ0aGVyIGF3YXkgZnJvbSB0aGUgbGluayB0ZXh0XG4vLy8gLSBoYXZlIGEgY2xlYXJlciBob3ZlciBzdGF0ZSwgd2hlcmUgdGhlIHVuZGVybGluZSBnZXRzIHRoaWNrZXIgdG8gbWFrZSB0aGVcbi8vLyAgIGxpbmsgc3RhbmQgb3V0IHRvIHVzZXJzXG4vLy9cbi8vLyBZb3Ugc2hvdWxkIG9ubHkgZW5hYmxlIHRoZSBuZXcgbGluayBzdHlsZXMgaWYgYm90aDpcbi8vL1xuLy8vIC0geW91J3ZlIG1hZGUgc3VyZSB5b3VyIHdob2xlIHNlcnZpY2Ugd2lsbCB1c2UgdGhlIG5ldyBzdHlsZSBjb25zaXN0ZW50bHlcbi8vLyAtIHlvdSBkbyBub3QgaGF2ZSBsaW5rcyBpbiBhIG11bHRpLWNvbHVtbiBDU1MgbGF5b3V0IC0gdGhlcmUncyBbYSBDaHJvbWl1bVxuLy8vICAgYnVnIHRoYXQgYWZmZWN0cyBsaW5rc10oaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrLWZyb250ZW5kL2lzc3Vlcy8yMjA0KVxuLy8vXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbiRnb3Z1ay1uZXctbGluay1zdHlsZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gVGhpY2tuZXNzIG9mIGxpbmsgdW5kZXJsaW5lc1xuLy8vXG4vLy8gVGhlIGRlZmF1bHQgd2lsbCBiZSBlaXRoZXI6XG4vLy9cbi8vLyAgLSAxcHhcbi8vLyAgLSAwLjA2MjVyZW0sIGlmIGl0J3MgdGhpY2tlciB0aGFuIDFweCBiZWNhdXNlIHRoZSB1c2VyIGhhcyBjaGFuZ2VkIHRoZSB0ZXh0XG4vLy8gICAgc2l6ZSBpbiB0aGVpciBicm93c2VyXG4vLy9cbi8vLyBTZXQgdGhpcyB2YXJpYWJsZSB0byBgZmFsc2VgIHRvIGF2b2lkIHNldHRpbmcgYSB0aGlja25lc3MuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay11bmRlcmxpbmUtdGhpY2tuZXNzOiB1bnF1b3RlKFwibWF4KDFweCwgLjA2MjVyZW0pXCIpICFkZWZhdWx0O1xuXG4vLy8gT2Zmc2V0IG9mIGxpbmsgdW5kZXJsaW5lcyBmcm9tIHRleHQgYmFzZWxpbmVcbi8vL1xuLy8vIFNldCB0aGlzIHZhcmlhYmxlIHRvIGBmYWxzZWAgdG8gYXZvaWQgc2V0dGluZyBhbiBvZmZzZXQuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0OiAuMWVtICFkZWZhdWx0O1xuXG4vLy8gVGhpY2tuZXNzIG9mIGxpbmsgdW5kZXJsaW5lcyBpbiBob3ZlciBzdGF0ZVxuLy8vXG4vLy8gVGhlIGRlZmF1bHQgZm9yIGVhY2ggbGluayB3aWxsIGJlIHRoZSB0aGlja2VzdCBvZiB0aGUgZm9sbG93aW5nOlxuLy8vXG4vLy8gIC0gM3B4XG4vLy8gIC0gMC4xODc1cmVtLCBpZiBpdCdzIHRoaWNrZXIgdGhhbiAzcHggYmVjYXVzZSB0aGUgdXNlciBoYXMgY2hhbmdlZCB0aGUgdGV4dFxuLy8vICAgIHNpemUgaW4gdGhlaXIgYnJvd3NlclxuLy8vICAtIDAuMTJlbSAocmVsYXRpdmUgdG8gdGhlIGxpbmsncyB0ZXh0IHNpemUpXG4vLy9cbi8vLyBTZXQgdGhpcyB2YXJpYWJsZSB0byBgZmFsc2VgIHRvIGF2b2lkIHNldHRpbmcgYSB0aGlja25lc3MuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXJcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG4kZ292dWstbGluay1ob3Zlci11bmRlcmxpbmUtdGhpY2tuZXNzOiB1bnF1b3RlKFwibWF4KDNweCwgLjE4NzVyZW0sIC4xMmVtKVwiKSAhZGVmYXVsdDtcbiIsIi8vIGdsb2JhbCBzdHlsZXMgZm9yIDxhPiBhbmQgPHA+IHRhZ3NcbiRnb3Z1ay1nbG9iYWwtc3R5bGVzOiB0cnVlO1xuJGdvdnVrLW5ldy1saW5rLXN0eWxlczogdHJ1ZTtcblxuLy8gV2UgY2FuJ3QgbW91bnQgR09WLlVLIEZyb250ZW5kJ3MgYXNzZXRzIGF0IHJvb3QgYXMgaXQncyBkb25lIGF1dG9tYXRpY2FsbHkgYnkgdGhlIGV4dGVuc2lvbnMgZnJhbWV3b3JrLlxuJGdvdnVrLWFzc2V0cy1wYXRoOiAnL2dvdnVrL2Fzc2V0cy8nO1xuXG4vLyBJbXBvcnQgR09WLlVLIEZyb250ZW5kIGFuZCBhbnkgZXh0ZW5zaW9uIHN0eWxlcyBpZiBleHRlbnNpb25zIGhhdmUgYmVlbiBjb25maWd1cmVkXG5AaW1wb3J0IFwibGliL2V4dGVuc2lvbnMvZXh0ZW5zaW9uc1wiO1xuXG4vLyBQYXR0ZXJucyB0aGF0IGFyZW4ndCBpbiBGcm9udGVuZFxuQGltcG9ydCBcInBhdHRlcm5zL3N0ZXAtYnktc3RlcC1oZWFkZXJcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9zdGVwLWJ5LXN0ZXAtbmF2XCI7XG5AaW1wb3J0IFwicGF0dGVybnMvc3RlcC1ieS1zdGVwLXJlbGF0ZWRcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy90YXNrLWxpc3RcIjtcbkBpbXBvcnQgXCJwYXR0ZXJucy9yZWxhdGVkLWl0ZW1zXCI7XG5cbi8vIEFkZCBleHRyYSBzdHlsZXMgaGVyZSwgb3IgcmUtb3JnYW5pc2UgdGhlIFNhc3MgZmlsZXMgaW4gd2hpY2hldmVyIHdheSBtYWtlcyBtb3N0IHNlbnNlIHRvIHlvdVxuIiwiJGdvdnVrLWV4dGVuc2lvbnMtdXJsLWNvbnRleHQ6IFwiL2V4dGVuc2lvbi1hc3NldHNcIjsgQGltcG9ydCBcIkQ6L0NvZGUgUHJvamVjdHMvQ1MgQWNyb255bXMgLSBHb3YuVUsvbm9kZV9tb2R1bGVzL2dvdnVrLWZyb250ZW5kL2dvdnVrL2FsbC5zY3NzXCI7IiwiQGltcG9ydCBcImJhc2VcIjtcblxuQGltcG9ydCBcImNvcmUvYWxsXCI7XG5AaW1wb3J0IFwib2JqZWN0cy9hbGxcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvYWxsXCI7XG5cbkBpbXBvcnQgXCJ1dGlsaXRpZXMvYWxsXCI7XG5AaW1wb3J0IFwib3ZlcnJpZGVzL2FsbFwiO1xuIiwiQGltcG9ydCBcInNldHRpbmdzL2FsbFwiO1xuQGltcG9ydCBcInRvb2xzL2FsbFwiO1xuQGltcG9ydCBcImhlbHBlcnMvYWxsXCI7XG4iLCJAaW1wb3J0IFwiY29tcGF0aWJpbGl0eVwiO1xuQGltcG9ydCBcImV4cG9ydHNcIjtcbkBpbXBvcnQgXCJmb250LXVybFwiO1xuQGltcG9ydCBcImllOFwiO1xuQGltcG9ydCBcImlmZlwiO1xuQGltcG9ydCBcImltYWdlLXVybFwiO1xuQGltcG9ydCBcInB4LXRvLWVtXCI7XG5AaW1wb3J0IFwicHgtdG8tcmVtXCI7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzL2NvbXBhdGliaWxpdHktbW9kZVxuLy8vL1xuXG4vLy8gQ29uZGl0aW9uYWwgQ29tcGF0aWJpbGl0eSBNaXhpblxuLy8vXG4vLy8gU2VsZWN0aXZlbHkgb3V0cHV0IGEgYmxvY2sgKGF2YWlsYWJsZSB0byB0aGUgbWl4aW4gYXMgQGNvbnRlbnQpIGlmIGEgZ2l2ZW5cbi8vLyAkcHJvZHVjdCBpcyBhbHNvIGlkZW50aWZpZWQgYXMgYmVpbmcgdXNlZCBpbiB0aGUgcHJvamVjdC5cbi8vL1xuLy8vIFRoaXMgY2FuIHRoZW4gYmUgdXNlZCB0byBpbmNsdWRlIHN0eWxlcyB0aGF0IGFyZSBvbmx5IG5lZWRlZCB0byBvdmVycmlkZVxuLy8vIHN0eWxlcyBwcm92aWRlZCBieSB0aG9zZSBvdGhlciBwcm9kdWN0cyAoZS5nLiB3aGVyZSBnb3Z1a190ZW1wbGF0ZSBoYXMgYVxuLy8vIHZlcnkgc3BlY2lmaWMgbGluayBzZWxlY3RvciB0aGF0IG90aGVyd2lzZSBhZmZlY3RzIGJ1dHRvbnMpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLy8gT3ZlcnJpZGUgLm15LWNsYXNzIGlmIEdPVi5VSyBUZW1wbGF0ZSBpcyBhbHNvIGJlaW5nIHVzZWRcbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbi8vLyAgICAgLm15LWNsYXNzIHtcbi8vLyAgICAgICBjb2xvcjogaW5oZXJpdDtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9kdWN0IC0gTmFtZSBvZiBwcm9kdWN0IHRoYXQgd2UgYXJlICdkZWZlbmRpbmcnIGFnYWluc3QuXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgaXMgb3V0cHV0dGVkIG9ubHkgaWYgRnJvbnRlbmQgaXMgYmVpbmcgdXNlZCB3aXRoXG4vLy8gICB0aGlzIHByb2R1Y3Rcbi8vLyBAdGhyb3cgRXJyb3JzIGlmIHByb2R1Y3QgbmFtZSBpcyBub3QgcmVjb2duaXNlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jb21wYXRpYmlsaXR5KCRwcm9kdWN0KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkX2dvdnVrLWNvbXBhdGliaWxpdHksICRwcm9kdWN0KSB7XG4gICAgQGlmIG1hcC1nZXQoJF9nb3Z1ay1jb21wYXRpYmlsaXR5LCAkcHJvZHVjdCkgPT0gdHJ1ZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciBcIk5vbiBleGlzdGVudCBwcm9kdWN0ICcjeyRwcm9kdWN0fSdcIjtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gTGlzdCBvZiBtb2R1bGVzIHdoaWNoIGhhdmUgYWxyZWFkeSBiZWVuIGV4cG9ydGVkXG4vLy9cbi8vLyBAdHlwZSBMaXN0XG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogKCkgIWRlZmF1bHQ7XG5cbi8vLyBFeHBvcnQgbW9kdWxlXG4vLy9cbi8vLyBFbnN1cmUgdGhhdCB0aGUgbW9kdWxlcyBvZiBDU1MgdGhhdCB3ZSBkZWZpbmUgdGhyb3VnaG91dCBGcm9udGVuZCBhcmUgb25seVxuLy8vIGluY2x1ZGVkIGluIHRoZSBnZW5lcmF0ZWQgQ1NTIG9uY2UsIG5vIG1hdHRlciBob3cgbWFueSB0aW1lcyB0aGV5IGFyZVxuLy8vIGltcG9ydGVkIGFjcm9zcyB0aGUgaW5kaXZpZHVhbCBjb21wb25lbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiBtb2R1bGUgLSBtdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIGNvZGViYXNlXG4vLy8gQGNvbnRlbnQgVGhlIHBhc3NlZCBjb250ZW50IHdpbGwgb25seSBiZSBvdXRwdXR0ZWQgaWYgYSBtb2R1bGUgb2YgdGhlIHNhbWVcbi8vLyAgICRuYW1lIGhhcyBub3QgYWxyZWFkeSBiZWVuIG91dHB1dHRlZFxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1leHBvcnRzKCRuYW1lKSB7XG4gIC8vIElmIHRoZSBtaXhpbiBpcyBub3QgaW4gdGhlIGxpc3Qgb2YgbW9kdWxlcyBhbHJlYWR5IGV4cG9ydGVkLi4uXG4gIEBpZiAoaW5kZXgoJF9nb3Z1ay1pbXBvcnRlZC1tb2R1bGVzLCAkbmFtZSkgPT0gbnVsbCkge1xuICAgIC8vIC4uLiB0aGVuIGFkZCBpdCB0byB0aGUgbGlzdFxuICAgICRfZ292dWstaW1wb3J0ZWQtbW9kdWxlczogYXBwZW5kKCRfZ292dWstaW1wb3J0ZWQtbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgLy8gLi4uIGFuZCBvdXRwdXQgdGhlIENTUyBmb3IgdGhhdCBtb2R1bGVcbiAgICBAY29udGVudDtcbiAgfVxuICAvLyBUaGUgbmV4dCB0aW1lIGV4cG9ydHMgaXMgY2FsbGVkIGZvciB0aGUgbW9kdWxlIG9mIHRoZSBzYW1lIG5hbWUsIGl0IHdpbGwgYmVcbiAgLy8gZm91bmQgaW4gdGhlIGxpc3QgYW5kIHNvIG5vdGhpbmcgd2lsbCBiZSBvdXRwdXR0ZWQuXG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzL2Fzc2V0c1xuLy8vL1xuXG4vLy8gRm9udCBVUkxcbi8vL1xuLy8vIElmIGEgY3VzdG9tIGZvbnQtdXJsIGhhbmRsZXIgaXMgZGVmaW5lZCAoJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uKSB0aGVuXG4vLy8gaXQgd2lsbCBiZSBjYWxsZWQsIG90aGVyd2lzZSBhIHVybCB3aWxsIGJlIHJldHVybmVkIHdpdGggdGhlIGZpbGVuYW1lXG4vLy8gYXBwZW5kZWQgdG8gdGhlIGZvbnQgcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZmlsZW5hbWUgLSBGb250IGZpbGVuYW1lXG4vLy8gQHJldHVybiB7U3RyaW5nfSBVUkwgZm9yIHRoZSBmaWxlbmFtZSwgd3JhcHBlZCBpbiBgdXJsKClgXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWZvbnQtdXJsKCRmaWxlbmFtZSkge1xuICAkdXNlLWN1c3RvbS1mdW5jdGlvbjogdmFyaWFibGUtZXhpc3RzKFwiZ292dWstZm9udC11cmwtZnVuY3Rpb25cIilcbiAgICBhbmQgJGdvdnVrLWZvbnQtdXJsLWZ1bmN0aW9uXG4gICAgYW5kIGZ1bmN0aW9uLWV4aXN0cygkZ292dWstZm9udC11cmwtZnVuY3Rpb24pO1xuXG4gIEBpZiAoJHVzZS1jdXN0b20tZnVuY3Rpb24pIHtcbiAgICBAcmV0dXJuIGNhbGwoZ2V0LWZ1bmN0aW9uKCRnb3Z1ay1mb250LXVybC1mdW5jdGlvbiksICRmaWxlbmFtZSk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsKCRnb3Z1ay1mb250cy1wYXRoICsgJGZpbGVuYW1lKTtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29scy9pbnRlcm5ldC1leHBsb3Jlci04XG4vLy8vXG5cbi8vLyBDb25kaXRpb25hbGx5IGluY2x1ZGUgcnVsZXMgb25seSBmb3IgSUU4XG4vLy9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCBpcyBvbmx5IG91dHB1dHRlZCBpZiB3ZSdyZSBjb21waWxpbmcgYSBzdHlsZXNoZWV0XG4vLy8gICB0aGF0IHRhcmdldHMgSUU4IChpZiBgJGdvdnVrLWlzLWllOGAgaXMgdHJ1ZSlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vXG4vLy8gICAuZm9vIHtcbi8vLyAgICAgbWluLXdpZHRoOiAxMDBweDtcbi8vLyAgICAgLy8gU3BlY2lmeSB3aWR0aCBmb3IgSUU4IG9ubHlcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbi8vLyAgICAgICB3aWR0aDogMTAwcHg7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1pZi1pZTgge1xuICBAaWYgJGdvdnVrLWlzLWllOCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8vIENvbmRpdGlvbmFsbHkgZXhjbHVkZSBydWxlcyBmb3IgSUU4XG4vLy9cbi8vLyBAY29udGVudCBQYXNzZWQgY29udGVudCBpcyBvbmx5IG91dHB1dHRlZCBpZiB3ZSdyZSBub3QgY29tcGlsaW5nIGFcbi8vLyAgIHN0eWxlc2hlZXQgdGhhdCB0YXJnZXRzIElFOCAoaWYgYCRnb3Z1ay1pcy1pZThgIGlzIGZhbHNlKVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy9cbi8vLyAgIC5mb28ge1xuLy8vICAgICBmb250LXdlaWdodDogYm9sZDtcbi8vL1xuLy8vICAgICAvLyBFbmhhbmNlIGZvbyBvbmx5IGZvciBtb2Rlcm4gYnJvd3NlcnMgKG5vdCBJRTgpXG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuLy8vICAgICAgIGZvbnQtZmFtaWx5OiBcIkNvbWljIFNhbnMgTVNcIiwgXCJDdXJseiBNVFwiIGN1cnNpdmUsIHNhbnMtc2VyaWY7XG4vLy8gICAgICAgY29sb3I6ICNGRjY5QjQ7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1ub3QtaWU4IHtcbiAgQGlmIG5vdCAkZ292dWstaXMtaWU4IHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29sc1xuLy8vL1xuXG4vLy8gU3ludGFjdGljIHN1Z2FyIGFyb3VuZCBTYXNzJyBidWlsdC1pbiBgaWZgIGZ1bmN0aW9uIHRoYXQgZG9lcyBub3QgcmVxdWlyZVxuLy8vIHlvdSB0byBwYXNzIGEgdmFsdWUgZm9yIGAkaWYtZmFsc2VgLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY29uZGl0aW9uIC0gV2hldGhlciB0byByZXR1cm4gdGhlIHZhbHVlIG9mIGAkaWYtdHJ1ZWBcbi8vLyBAcGFyYW0ge01peGVkfSAkaWYtdHJ1ZSAtIFZhbHVlIHRvIHJldHVybiBpZiBgJGNvbmRpdGlvbmAgaXMgdHJ1dGh5XG4vLy8gQHJldHVybiB7TWl4ZWR9IFZhbHVlIG9mIGAkaWYtdHJ1ZWAgaWYgYCRjb25kaXRpb25gIGlzIHRydXRoeSwgZWxzZSBudWxsXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy8gQGRlcHJlY2F0ZWQgV2Ugd2lsbCBiZSByZW1vdmluZyB0aGlzIGZ1bmN0aW9uIGluIGEgZnV0dXJlIHJlbGVhc2UsIHVzZSBgaWYoJGNvbmRpdGlvbiwgJGlmLXRydWUsIG51bGwpO2AgaW5zdGVhZC5cblxuQGZ1bmN0aW9uIGlmZigkY29uZGl0aW9uLCAkaWYtdHJ1ZSkge1xuICBAd2FybiBcIlRoZSBgaWZmYCBmdW5jdGlvbiB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZSwgdXNlIGBpZigkY29uZGl0aW9uLCAkaWYtdHJ1ZSwgbnVsbCk7YCBpbnN0ZWFkLlwiO1xuICBAcmV0dXJuIGlmKCRjb25kaXRpb24sICRpZi10cnVlLCBudWxsKTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHMvYXNzZXRzXG4vLy8vXG5cbi8vLyBJbWFnZSBVUkxcbi8vL1xuLy8vIElmIGEgY3VzdG9tIGltYWdlLXVybCBoYW5kbGVyIGlzIGRlZmluZWQgKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pIHRoZW5cbi8vLyBpdCB3aWxsIGJlIGNhbGxlZCwgb3RoZXJ3aXNlIGEgdXJsIHdpbGwgYmUgcmV0dXJuZWQgd2l0aCB0aGUgZmlsZW5hbWVcbi8vLyBhcHBlbmRlZCB0byB0aGUgaW1hZ2UgcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSBGaWxlbmFtZSBmb3IgdGhlIGltYWdlIHRvIGxvYWRcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IFVSTCBmb3IgdGhlIGZpbGVuYW1lLCB3cmFwcGVkIGluIGB1cmwoKWBcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstaW1hZ2UtdXJsKCRmaWxlbmFtZSkge1xuICAkdXNlLWN1c3RvbS1mdW5jdGlvbjogdmFyaWFibGUtZXhpc3RzKFwiZ292dWstaW1hZ2UtdXJsLWZ1bmN0aW9uXCIpXG4gICAgYW5kICRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb25cbiAgICBhbmQgZnVuY3Rpb24tZXhpc3RzKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pO1xuXG4gIEBpZiAoJHVzZS1jdXN0b20tZnVuY3Rpb24pIHtcbiAgICBAcmV0dXJuIGNhbGwoZ2V0LWZ1bmN0aW9uKCRnb3Z1ay1pbWFnZS11cmwtZnVuY3Rpb24pLCAkZmlsZW5hbWUpO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkZ292dWstaW1hZ2VzLXBhdGggKyAkZmlsZW5hbWUpO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIHRvb2xzL3VuaXQtY29udmVyc2lvblxuLy8vL1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBMZW5ndGggaW4gcGl4ZWxzXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb250ZXh0LWZvbnQtc2l6ZSAtIEZvbnQgc2l6ZSBvZiBlbGVtZW50XG4vLy8gQHJldHVybiB7TnVtYmVyfSBMZW5ndGggaW4gZW1zXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWVtKCR2YWx1ZSwgJGNvbnRleHQtZm9udC1zaXplKSB7XG4gIEBpZiAodW5pdGxlc3MoJHZhbHVlKSkge1xuICAgICR2YWx1ZTogJHZhbHVlICogMXB4O1xuICB9XG4gIEBpZiAodW5pdGxlc3MoJGNvbnRleHQtZm9udC1zaXplKSkge1xuICAgICRjb250ZXh0LWZvbnQtc2l6ZTogJGNvbnRleHQtZm9udC1zaXplICogMXB4O1xuICB9XG4gIEByZXR1cm4gJHZhbHVlIC8gJGNvbnRleHQtZm9udC1zaXplICogMWVtO1xufVxuIiwiLy8vL1xuLy8vIEBncm91cCB0b29scy91bml0LWNvbnZlcnNpb25cbi8vLy9cblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIHJlbVxuLy8vXG4vLy8gVGhlICRnb3Z1ay1yb290LWZvbnQtc2l6ZSAoZGVmaW5lZCBpbiBzZXR0aW5ncy9fdHlwb2dyYXBoeS1yZXNwb25zaXZlLnNjc3MpXG4vLy8gbXVzdCBiZSBjb25maWd1cmVkIHRvIG1hdGNoIHRoZSBmb250LXNpemUgb2YgeW91ciByb290IChodG1sKSBlbGVtZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gTGVuZ3RoIGluIHBpeGVsc1xuLy8vIEByZXR1cm4ge051bWJlcn0gTGVuZ3RoIGluIHJlbXNcbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AZnVuY3Rpb24gZ292dWstcHgtdG8tcmVtKCR2YWx1ZSkge1xuICBAaWYgKHVuaXRsZXNzKCR2YWx1ZSkpIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAqIDFweDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlIC8gJGdvdnVrLXJvb3QtZm9udC1zaXplICogMXJlbTtcbn1cbiIsIkBpbXBvcnQgXCJjbGVhcmZpeFwiO1xuQGltcG9ydCBcImNvbG91clwiO1xuQGltcG9ydCBcImRldmljZS1waXhlbHNcIjtcbkBpbXBvcnQgXCJmb2N1c2VkXCI7XG5AaW1wb3J0IFwiZm9udC1mYWNlc1wiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcIm1lZGlhLXF1ZXJpZXNcIjtcbkBpbXBvcnQgXCJzaGFwZS1hcnJvd1wiO1xuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwidmlzdWFsbHktaGlkZGVuXCI7XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvbGF5b3V0XG4vLy8vXG5cbi8vLyBDbGVhciBmbG9hdGVkIGNvbnRlbnQgd2l0aGluIGEgY29udGFpbmVyIHVzaW5nIGEgcHNldWRvIGVsZW1lbnRcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1jbGVhcmZpeCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVyc1xuLy8vL1xuXG4vLy8gTWVkaWEgcXVlcnkgZm9yIHJldGluYSBpbWFnZXMgKGRldmljZS1waXhlbC1yYXRpbylcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmF0aW8gWzJdIC0gRGV2aWNlIHBpeGVsIHJhdGlvXG4vLy8gQGNvbnRlbnQgUGFzc2VkIGNvbnRlbnQgd2lsbCBiZSBvdXRwdXR0ZWQgd2l0aGluIHRoZSBtZWRpYSBxdWVyeVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFByb3ZpZGluZyBhIEAyeCBpbWFnZSBmb3Igc2NyZWVucyB0aGF0IHN1cHBvcnQgaXRcbi8vLyAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLnBuZ1wiKTtcbi8vL1xuLy8vICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbi8vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UtMngucG5nXCIpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzaW5nIGEgY3VzdG9tIHJhdGlvXG4vLy8gICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJteS1pbWFnZS5wbmdcIik7XG4vLy9cbi8vLyAgIEBpbmNsdWRlIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbyB7XG4vLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcIm15LWltYWdlLTJ4LnBuZ1wiKTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvKDMpIHtcbi8vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogZ292dWstaW1hZ2UtdXJsKFwibXktaW1hZ2UtM3gucG5nXCIpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWRldmljZS1waXhlbC1yYXRpbygkcmF0aW86IDIpIHtcbiAgLy8gc3R5bGVsaW50LWRpc2FibGUgaW5kZW50YXRpb25cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAkcmF0aW8pLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7KCRyYXRpbyAqIDk2KX1kcGkpLFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246ICN7JHJhdGlvfWRwcHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9hY2Nlc3NpYmlsaXR5XG4vLy8vXG5cbi8vLyBGb2N1c2VkIHRleHRcbi8vL1xuLy8vIFByb3ZpZGVzIGFuIG91dGxpbmUgdG8gY2xlYXJseSBpbmRpY2F0ZSB3aGVuIHRoZSB0YXJnZXQgZWxlbWVudCBpcyBmb2N1c2VkLlxuLy8vIFVzZWQgZm9yIGludGVyYWN0aXZlIHRleHQtYmFzZWQgZWxlbWVudHMuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZm9jdXNlZC10ZXh0IHtcbiAgLy8gV2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuLCBmb3IgZXhhbXBsZSB3aGVuIHVzZXJzIGhhdmUgYSBkYXJrIG1vZGUsXG4gIC8vIGJhY2tncm91bmRzIGFuZCBib3gtc2hhZG93cyBkaXNhcHBlYXIsIHNvIHdlIG5lZWQgdG8gZW5zdXJlIHRoZXJlJ3MgYVxuICAvLyB0cmFuc3BhcmVudCBvdXRsaW5lIHdoaWNoIHdpbGwgYmUgc2V0IHRvIGEgdmlzaWJsZSBjb2xvdXIuXG5cbiAgLy8gU2luY2UgSW50ZXJuZXQgRXhwbG9yZXIgOCBkb2VzIG5vdCBzdXBwb3J0IGJveC1zaGFkb3csIHdlIHdhbnQgdG8gZm9yY2UgdGhlXG4gIC8vIHVzZXItYWdlbnQgb3V0bGluZXNcbiAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG4gIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIGJveC1zaGFkb3c6IDAgLTJweCAkZ292dWstZm9jdXMtY29sb3VyLCAwIDRweCAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIC8vIFdoZW4gbGluayBpcyBmb2N1c3NlZCwgaGlkZSB0aGUgZGVmYXVsdCB1bmRlcmxpbmUgc2luY2UgdGhlXG4gIC8vIGJveCBzaGFkb3cgYWRkcyB0aGUgXCJ1bmRlcmxpbmVcIlxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnNcbi8vLy9cblxuQGltcG9ydCBcIi4uL3Rvb2xzL2V4cG9ydHNcIjtcblxuLy8vIEZvbnQgRmFjZSAtIEdEUyBUcmFuc3BvcnRcbi8vL1xuLy8vIE91dHB1dHMgdGhlIGZvbnQtZmFjZSBkZWNsYXJhdGlvbiBmb3IgR0RTIFRyYW5zcG9ydCBhdCB0aGUgcm9vdCBvZiB0aGUgQ1NTIGRvY3VtZW50XG4vLy8gdGhlIGZpcnN0IHRpbWUgaXQgaXMgY2FsbGVkLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbkBtaXhpbiBfZ292dWstZm9udC1mYWNlLWdkcy10cmFuc3BvcnQge1xuICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHsgLy8gSW4gSUU4LCB3aGljaCBjYW5ub3QgcmVuZGVyIFdPRkYgZm9ybWF0LCB3ZSBmYWxsIGJhY2sgdG8gc3lzdGVtIGZvbnRzXG4gICAgQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2hlbHBlcnMvZm9udC1mYWNlc1wiKSB7XG4gICAgICBAYXQtcm9vdCB7XG4gICAgICAgIC8qISBDb3B5cmlnaHQgKGMpIDIwMTEgYnkgTWFyZ2FyZXQgQ2FsdmVydCAmIEhlbnJpayBLdWJlbC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4gVGhlIGZvbnQgaGFzIGJlZW4gY3VzdG9taXNlZCBmb3IgZXhjbHVzaXZlIHVzZSBvbiBnb3YudWsuIFRoaXMgY3V0IGlzIG5vdCBjb21tZXJjaWFsbHkgYXZhaWxhYmxlLiAqLyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lIHNjc3MvY29tbWVudC1uby1sb3VkICAqL1xuICAgICAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHRFMgVHJhbnNwb3J0XCI7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgc3JjOlxuICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC05NGEwN2UwNmExLXYyLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLFxuICAgICAgICAgICAgZ292dWstZm9udC11cmwoXCJsaWdodC1mNTkxYjEzZjdkLXYyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgICB9XG5cbiAgICAgICAgQGZvbnQtZmFjZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR0RTIFRyYW5zcG9ydFwiO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBzcmM6XG4gICAgICAgICAgICBnb3Z1ay1mb250LXVybChcImJvbGQtYjU0MmJlYjI3NC12Mi53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSxcbiAgICAgICAgICAgIGdvdnVrLWZvbnQtdXJsKFwiYm9sZC1hZmZhOTY1NzFkLXYyLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgICAgICAgICBmb250LWRpc3BsYXk6IGZhbGxiYWNrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvbGF5b3V0XG4vLy8vXG5cbi8vLyBHcmlkIHdpZHRoIHBlcmNlbnRhZ2Vcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAka2V5IC0gTmFtZSBvZiBncmlkIHdpZHRoIChlLmcuIHR3by10aGlyZHMpXG4vLy8gQHJldHVybiB7TnVtYmVyfSBQZXJjZW50YWdlIHdpZHRoXG4vLy8gQHRocm93IGlmIGAka2V5YCBpcyBub3QgYSB2YWxpZCBncmlkIHdpZHRoXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQGZ1bmN0aW9uIGdvdnVrLWdyaWQtd2lkdGgoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGdvdnVrLWdyaWQtd2lkdGhzLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRnb3Z1ay1ncmlkLXdpZHRocywgJGtleSk7XG4gIH1cblxuICBAZXJyb3IgXCJVbmtub3duIGdyaWQgd2lkdGggYCN7JGtleX1gXCI7XG59XG5cbi8vLyBHZW5lcmF0ZSBncmlkIGNvbHVtbiBzdHlsZXNcbi8vL1xuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiB3aXRoIHN0YW5kYXJkIGd1dHRlciBiZXR3ZWVuIHRoZSBjb2x1bW5zLlxuLy8vXG4vLy8gR3JpZCB3aWR0aHMgYXJlIGRlZmluZWQgaW4gdGhlIGAkZ292dWstZ3JpZC13aWR0aHNgIG1hcC5cbi8vL1xuLy8vIEJ5IGRlZmF1bHQgdGhlIGNvbHVtbiB3aWR0aCBjaGFuZ2VzIGZyb20gMTAwJSB0byBzcGVjaWZpZWQgd2lkdGggYXQgdGhlXG4vLy8gJ3RhYmxldCcgYnJlYWtwb2ludCwgYnV0IG90aGVyIGJyZWFrcG9pbnRzIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlIGAkYXRgXG4vLy8gcGFyYW1ldGVyLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCBbZnVsbF0gbmFtZSBvZiBhIGdyaWQgd2lkdGggZnJvbSAkZ292dWstZ3JpZC13aWR0aHNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGZsb2F0IFtsZWZ0XSBsZWZ0IHwgcmlnaHRcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGF0IFt0YWJsZXRdIC0gbW9iaWxlIHwgdGFibGV0IHwgZGVza3RvcCB8IGFueSBjdXN0b20gYnJlYWtwb2ludFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIERlZmF1bHRcbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi10d28tdGhpcmRzIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4odHdvLXRoaXJkcylcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDdXN0b21pc2luZyB0aGUgYnJlYWtwb2ludCB3aGVyZSB3aWR0aCBwZXJjZW50YWdlIGlzIGFwcGxpZWRcbi8vLyAgIC5nb3Z1ay1ncmlkLWNvbHVtbi1vbmUtaGFsZi1hdC1kZXNrdG9wIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4ob25lLWhhbGYsICRhdDogZGVza3RvcCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3VzdG9taXNpbmcgdGhlIGZsb2F0IGRpcmVjdGlvblxuLy8vICAgLmdvdnVrLWdyaWQtY29sdW1uLW9uZS1oYWxmLXJpZ2h0IHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4odHdvLXRoaXJkcywgJGZsb2F0OiByaWdodCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoOiBmdWxsLCAkZmxvYXQ6IGxlZnQsICRhdDogdGFibGV0KSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIEBpZiAkYXQgIT0gZGVza3RvcCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgcGFkZGluZzogMCAkZ292dWstZ3V0dGVyLWhhbGY7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYXQpIHtcbiAgICB3aWR0aDogZ292dWstZ3JpZC13aWR0aCgkd2lkdGgpO1xuICAgIGZsb2F0OiAkZmxvYXQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9saW5rc1xuLy8vL1xuXG4vLy8gQ29tbW9uIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBQcm92aWRlcyB0aGUgdHlwb2dyYXBoeSBhbmQgZm9jdXMgc3RhdGUsIHJlZ2FyZGxlc3Mgb2YgbGluayBzdHlsZS5cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLWNvbW1vbiB7XG4gIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLWRlY29yYXRpb247XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICB9XG59XG5cbi8vLyBMaW5rIGRlY29yYXRpb25cbi8vL1xuLy8vIFByb3ZpZGVzIHRoZSB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzLCBpbmNsdWRpbmcgdGhpY2tuZXNzIGFuZCB1bmRlcmxpbmVcbi8vLyBvZmZzZXQuIFVzZSB0aGlzIG1peGluIG9ubHkgaWYgeW91IGNhbm5vdCB1c2UgdGhlIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4uXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuQG1peGluIGdvdnVrLWxpbmstZGVjb3JhdGlvbiB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gIEBpZiAoJGdvdnVrLW5ldy1saW5rLXN0eWxlcykge1xuICAgIEBpZiAoJGdvdnVrLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcykge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogJGdvdnVrLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgICB9XG5cbiAgICBAaWYgKCRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQpIHtcbiAgICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIExpbmsgaG92ZXIgZGVjb3JhdGlvblxuLy8vXG4vLy8gUHJvdmlkZXMgdGhlIHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3MgaW4gdGhlaXIgaG92ZXIgc3RhdGUsIGZvciB5b3UgdG8gdXNlXG4vLy8gd2l0aGluIGEgYDpob3ZlcmAgcHNldWRvLXNlbGVjdG9yLiBVc2UgdGhpcyBtaXhpbiBvbmx5IGlmIHlvdSBjYW5ub3QgdXNlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4uXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uIHtcbiAgQGlmICgkZ292dWstbmV3LWxpbmstc3R5bGVzIGFuZCAkZ292dWstbGluay1ob3Zlci11bmRlcmxpbmUtdGhpY2tuZXNzKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogJGdvdnVrLWxpbmstaG92ZXItdW5kZXJsaW5lLXRoaWNrbmVzcztcbiAgfVxufVxuXG4vLy8gRGVmYXVsdCBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBkZWZhdWx0IHVudmlzaXRlZCwgdmlzaXRlZCwgaG92ZXIgYW5kIGFjdGl2ZSBjb2xvdXJzLlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtZGVmYXVsdCB7XG4gICY6bGluayB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgfVxuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLXZpc2l0ZWQtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstYWN0aXZlLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmsgIHMgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMgc29cbiAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEVycm9yIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB1c2UgdGhlIGVycm9yIGNvbG91ci4gVGhlIGxpbmsgd2lsbCBkYXJrZW4gaWYgaXQncyBhY3RpdmUgb3IgYVxuLy8vIHVzZXIgaG92ZXJzIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1lcnJvcjtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLWVycm9yIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHNjYWxlLWNvbG9yKCRnb3Z1ay1lcnJvci1jb2xvdXIsICRsaWdodG5lc3M6IC0zMCUpO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGluayAgcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycyBzb1xuICAvLyBzbyB0aGF0IHVudmlzaXRlZCBsaW5rcyBzdHlsZWQgYXMgYnV0dG9ucyBkbyBub3QgZW5kIHVwIHdpdGggZGFyayBibHVlXG4gIC8vIHRleHQgd2hlbiBmb2N1c3NlZC5cbiAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICY6bGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gU3VjY2VzcyBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3MgdXNlIHRoZSBzdWNjZXNzIGNvbG91ci4gVGhlIGxpbmsgd2lsbCBkYXJrZW4gaWYgaXQncyBhY3RpdmUgb3IgYVxuLy8vIHVzZXIgaG92ZXJzIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1zdWNjZXNzO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtc3VjY2VzcyB7XG4gICY6bGluayxcbiAgJjp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdvdnVrLXN1Y2Nlc3MtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHNjYWxlLWNvbG9yKCRnb3Z1ay1zdWNjZXNzLWNvbG91ciwgJGxpZ2h0bmVzczogLTMwJSk7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRnb3Z1ay1zdWNjZXNzLWNvbG91cjtcbiAgfVxuXG4gIC8vIFdoZW4gZm9jdXNzZWQsIHRoZSB0ZXh0IGNvbG91ciBuZWVkcyB0byBiZSBkYXJrZXIgdG8gZW5zdXJlIHRoYXQgY29sb3VyXG4gIC8vIGNvbnRyYXN0IGlzIHN0aWxsIGFjY2VwdGFibGVcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gIC8vIGRlc2lnbmVkIHRvIG1ha2UgdW52aXNpdGVkIGxpbmsgIHMgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAvLyB3ZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0ZXh0IGNvbG91ciBmb3IgdGhhdCBjb21iaW5hdGlvbiBvZiBzZWxlY3RvcnMgc29cbiAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gIEBpbmNsdWRlIGdvdnVrLWNvbXBhdGliaWxpdHkoZ292dWtfdGVtcGxhdGUpIHtcbiAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICRnb3Z1ay1mb2N1cy10ZXh0LWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIE11dGVkIGxpbmsgc3R5bGVzXG4vLy9cbi8vLyBNYWtlcyBsaW5rcyB1c2UgdGhlIHNlY29uZGFyeSB0ZXh0IGNvbG91ci4gVGhlIGxpbmsgd2lsbCBkYXJrZW4gaWYgaXQnc1xuLy8vIGFjdGl2ZSBvciBhIHVzZXIgaG92ZXJzIHRoZWlyIGN1cnNvciBvdmVyIGl0LlxuLy8vXG4vLy8gSWYgeW91IHVzZSB0aGlzIG1peGluIGluIGEgY29tcG9uZW50LCB5b3UgbXVzdCBhbHNvIGluY2x1ZGUgdGhlXG4vLy8gYGdvdnVrLWxpbmstY29tbW9uYCBtaXhpbiB0byBnZXQgdGhlIGNvcnJlY3QgZm9jdXMgYW5kIGhvdmVyIHN0YXRlcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1jb21wb25lbnRfX2xpbmsge1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW11dGVkIHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAvLyBjb250cmFzdCBpcyBzdGlsbCBhY2NlcHRhYmxlXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvciBkZXNpZ25lZFxuICAvLyB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvIHdlIG5lZWQgdG9cbiAgLy8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICY6bGluazpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFRleHQgbGluayBzdHlsZXNcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgcHJpbWFyeSB0ZXh0IGNvbG91ciwgaW4gYWxsIHN0YXRlcy4gVXNlIHRoaXMgbWl4aW4gZm9yXG4vLy8gbmF2aWdhdGlvbiBjb21wb25lbnRzLCBzdWNoIGFzIGJyZWFkY3J1bWJzIG9yIHRoZSBiYWNrIGxpbmsuXG4vLy9cbi8vLyBJZiB5b3UgdXNlIHRoaXMgbWl4aW4gaW4gYSBjb21wb25lbnQsIHlvdSBtdXN0IGFsc28gaW5jbHVkZSB0aGVcbi8vLyBgZ292dWstbGluay1jb21tb25gIG1peGluIHRvIGdldCB0aGUgY29ycmVjdCBmb2N1cyBhbmQgaG92ZXIgc3RhdGVzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG4vLy8gICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1zdHlsZS10ZXh0IHtcbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICB9XG5cbiAgLy8gRm9yY2UgYSBjb2xvdXIgY2hhbmdlIG9uIGhvdmVyIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIFNhZmFyaVxuICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NDgzXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKCRnb3Z1ay10ZXh0LWNvbG91ciwgLjk5KTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yIGRlc2lnbmVkXG4gIC8vIHRvIG1ha2UgdW52aXNpdGVkIGxpbmtzIGEgc2xpZ2h0bHkgZGFya2VyIGJsdWUgd2hlbiBmb2N1c3NlZCwgc28gd2UgbmVlZCB0b1xuICAvLyBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzLlxuICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJzZSBsaW5rIHN0eWxlc1xuLy8vXG4vLy8gTWFrZXMgbGlua3Mgd2hpdGUsIGluIGFsbCBzdGF0ZXMuIFVzZSB0aGlzIG1peGluIGlmIHlvdSdyZSBkaXNwbGF5aW5nIGxpbmtzXG4vLy8gYWdhaW5zdCBhIGRhcmsgYmFja2dyb3VuZC5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2Uge1xuICAmOmxpbmssXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLy8gRm9yY2UgYSBjb2xvdXIgY2hhbmdlIG9uIGhvdmVyIHRvIHdvcmsgYXJvdW5kIGEgYnVnIGluIFNhZmFyaVxuICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NDgzXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogcmdiYShnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKSwgLjk5KTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBhbHBoYWdvdi9nb3Z1a190ZW1wbGF0ZSBpbmNsdWRlcyBhIHNwZWNpZmljIGE6bGluazpmb2N1cyBzZWxlY3RvciBkZXNpZ25lZFxuICAvLyB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvIHdlIG5lZWQgdG9cbiAgLy8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICY6bGluazpmb2N1cyB7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gRGVmYXVsdCBsaW5rIHN0eWxlcywgd2l0aG91dCBhIHZpc2l0ZWQgc3RhdGVcbi8vL1xuLy8vIE1ha2VzIGxpbmtzIHVzZSB0aGUgZGVmYXVsdCB1bnZpc2l0ZWQsIGhvdmVyIGFuZCBhY3RpdmUgY29sb3Vycywgd2l0aCBub1xuLy8vIGRpc3RpbmN0IHZpc2l0ZWQgc3RhdGUuXG4vLy9cbi8vLyBVc2UgdGhpcyBtaXhpbiB3aGVuIGl0J3Mgbm90IGhlbHBmdWwgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB2aXNpdGVkIGFuZFxuLy8vIG5vbi12aXNpdGVkIGxpbmtzLiBGb3IgZXhhbXBsZSwgd2hlbiB5b3UgbGluayB0byBwYWdlcyB3aXRoXG4vLy8gZnJlcXVlbnRseS1jaGFuZ2luZyBjb250ZW50LCBzdWNoIGFzIHRoZSBkYXNoYm9hcmQgZm9yIGFuIGFkbWluIGludGVyZmFjZS5cbi8vL1xuLy8vIElmIHlvdSB1c2UgdGhpcyBtaXhpbiBpbiBhIGNvbXBvbmVudCwgeW91IG11c3QgYWxzbyBpbmNsdWRlIHRoZVxuLy8vIGBnb3Z1ay1saW5rLWNvbW1vbmAgbWl4aW4gdG8gZ2V0IHRoZSBjb3JyZWN0IGZvY3VzIGFuZCBob3ZlciBzdGF0ZXMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZ292dWstY29tcG9uZW50X19saW5rIHtcbi8vLyAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAmOmxpbmsge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGdvdnVrLWxpbmstaG92ZXItY29sb3VyO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZ292dWstbGluay1hY3RpdmUtY29sb3VyO1xuICB9XG5cbiAgLy8gV2hlbiBmb2N1c3NlZCwgdGhlIHRleHQgY29sb3VyIG5lZWRzIHRvIGJlIGRhcmtlciB0byBlbnN1cmUgdGhhdCBjb2xvdXJcbiAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICB9XG59XG5cbi8vLyBSZW1vdmUgdW5kZXJsaW5lIGZyb20gbGlua3Ncbi8vL1xuLy8vIFJlbW92ZSB1bmRlcmxpbmVzIGZyb20gbGlua3MgdW5sZXNzIHRoZSBsaW5rIGlzIGFjdGl2ZSBvciBhIHVzZXIgaG92ZXJzXG4vLy8gdGhlaXIgY3Vyc29yIG92ZXIgaXQuIFRoaXMgaGFzIG5vIGVmZmVjdCBpbiBJbnRlcm5ldCBFeHBsb3JlciA4IChJRTgpLFxuLy8vIGJlY2F1c2UgSUU4IGRvZXMgbm90IHN1cHBvcnQgYDpub3RgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgLmdvdnVrLWNvbXBvbmVudF9fbGluayB7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuLy8vICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4vLy8gICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lIHtcbiAgJjpub3QoOmhvdmVyKTpub3QoOmFjdGl2ZSkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4vLy8gSW5jbHVkZSBsaW5rIGRlc3RpbmF0aW9uIHdoZW4gcHJpbnRpbmcgdGhlIHBhZ2Vcbi8vL1xuLy8vIElmIHRoZSB1c2VyIHByaW50cyB0aGUgcGFnZSwgYWRkIHRoZSBkZXN0aW5hdGlvbiBVUkwgYWZ0ZXIgdGhlIGxpbmsgdGV4dCwgaWZcbi8vLyB0aGUgVVJMIHN0YXJ0cyB3aXRoIGAvYCwgYGh0dHA6Ly9gIG9yIGBodHRwczovL2AuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstbGluay1wcmludC1mcmllbmRseSB7XG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgICZbaHJlZl49XCIvXCJdLFxuICAgICZbaHJlZl49XCJodHRwOi8vXCJdLFxuICAgICZbaHJlZl49XCJodHRwczovL1wiXSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuXG4gICAgICAgIC8vIEJlY2F1c2UgdGhlIFVSTHMgbWF5IGJlIHZlcnkgbG9uZywgZW5zdXJlIHRoYXQgdGhleSBtYXkgYmUgYnJva2VuXG4gICAgICAgIC8vIGF0IGFyYml0cmFyeSBwb2ludHMgaWYgdGhlcmUgYXJlIG5vIG90aGVyd2lzZSBhY2NlcHRhYmxlIGJyZWFrXG4gICAgICAgIC8vIHBvaW50cyBpbiB0aGUgbGluZVxuICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvbGF5b3V0XG4vLy8vXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gV3JhbmdsZSBzYXNzLW1xIGNvbmZpZy4uLlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFBhc3Mgb3VyIGJyZWFrcG9pbnRzIGFuZCBzdGF0aWMgYnJlYWtwb2ludCBkZWZpbml0aW9ucyB0aHJvdWdoIHRvIHNhc3MtbXEuXG4kbXEtYnJlYWtwb2ludHM6IGlmKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1icmVha3BvaW50cyksICRnb3Z1ay1icmVha3BvaW50cywgKCkpO1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBpZih2YXJpYWJsZS1leGlzdHMoZ292dWstaWU4LWJyZWFrcG9pbnQpLCAkZ292dWstaWU4LWJyZWFrcG9pbnQsIGRlc2t0b3ApO1xuXG4kbXEtc2hvdy1icmVha3BvaW50czogKCk7XG5cbkBpZiAodmFyaWFibGUtZXhpc3RzKGdvdnVrLXNob3ctYnJlYWtwb2ludHMpIGFuZCAkZ292dWstc2hvdy1icmVha3BvaW50cykge1xuICAkbXEtc2hvdy1icmVha3BvaW50czogbWFwLWtleXMoJGdvdnVrLWJyZWFrcG9pbnRzKTtcbn1cblxuLy8gV2hlbiBidWlsZGluZyBhIHN0eWxlc2hlZXQgZm9yIElFOCwgc2V0ICRtcS1yZXNwb25zaXZlIHRvIGZhbHNlIGluIG9yZGVyIHRvXG4vLyAncmFzdGVyaXplJyBhbnkgbWVkaWEgcXVlcmllcy5cblxuJG1xLXJlc3BvbnNpdmU6IHRydWU7XG5AaWYgKHZhcmlhYmxlLWV4aXN0cyhnb3Z1ay1pcy1pZTgpIGFuZCAkZ292dWstaXMtaWU4KSB7XG4gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbn1cblxuLy8gVGhpcyBpcyBhIGhvcnJpYmxlLCBob3JyaWJsZSBoYWNrIHRvIHByZXZlbnQgdGhlICdkZXYgbW9kZScgQ1NTIHRvIGRpc3BsYXlcbi8vIHRoZSBjdXJyZW50IGJyZWFrcG9pbnQgZnJvbSBiZWluZyBpbmNsdWRlZCBtdWx0aXBsZSB0aW1lcy5cbi8vXG4vLyBXZSBjYW4ndCB1c2UgdGhlIGBleHBvcnRzYCBtaXhpbiBmb3IgdGhpcyBiZWNhdXNlIGltcG9ydCBkaXJlY3RpdmVzIGNhbm5vdCBiZVxuLy8gdXNlZCB3aXRoaW4gY29udHJvbCBkaXJlY3RpdmVzIPCfmKBcbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgJHNhc3MtbXEtYWxyZWFkeS1pbmNsdWRlZCB7XG4gICRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKTtcbn1cblxuQGltcG9ydCBcIi4uL3ZlbmRvci9zYXNzLW1xXCI7XG5cbiRzYXNzLW1xLWFscmVhZHktaW5jbHVkZWQ6IHRydWU7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSGVscGVyc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vLyBNZWRpYSBRdWVyeVxuLy8vXG4vLy8gVGhpcyBpcyBhIGN1cnJlbnRseSBhIHdyYXBwZXIgZm9yIHNhc3MtbXEgLSBhYnN0cmFjdGVkIHNvIHRoYXQgd2UgY2FuXG4vLy8gcmVwbGFjZSBpdCBpbiB0aGUgZnV0dXJlIGlmIHdlIHNvIGNob29zZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGZyb20gW2ZhbHNlXSAtIE9uZSBvZiAkZ292dWstYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICR1bnRpbCBbZmFsc2VdIC0gT25lIG9mICRnb3Z1ay1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJGFuZCBbZmFsc2VdIC0gQWRkaXRpb25hbCBtZWRpYSBxdWVyeSBwYXJhbWV0ZXJzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtZWRpYS10eXBlIFthbGxdIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgbXEgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzIFskZ292dWstYnJlYWtwb2ludHNdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50IFskZ292dWstaWU4LWJyZWFrcG9pbnRdXG4vLy8gQGlnbm9yZSBAcGFyYW0ge0Jvb2xlYW59ICRyZXNwb25zaXZlIFskZ292dWstaXMtaWU4XVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1tZWRpYS1xdWVyeSgkYXJncy4uLikge1xuICBAaW5jbHVkZSBtcSgkYXJncy4uLikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBtcSgpIHY0LjAuMlxuLy8gc2Fzcy1tcS9zYXNzLW1xXG5cbkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIGFuZCAkbWVkaWEtdHlwZSAhPSAncHJpbnQnXG4gICAgICAgICkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgIEBlbHNlIHtcbiAgICAgICAgQGlmICRtaW4td2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1pbi13aWR0aDogI3skbWluLXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkbWF4LXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtYXgtd2lkdGg6ICN7JG1heC13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJGFuZCAgICAgICAgICAgIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAjeyRhbmR9JzsgfVxuXG4gICAgICAgIC8vIFJlbW92ZSB1bm5lY2Vzc2FyeSBtZWRpYSBxdWVyeSBwcmVmaXggJ2FsbCBhbmQgJ1xuICAgICAgICBAaWYgKCRtZWRpYS10eXBlID09ICdhbGwnIGFuZCAkbWVkaWEtcXVlcnkgIT0gJycpIHtcbiAgICAgICAgICAgICRtZWRpYS10eXBlOiAnJztcbiAgICAgICAgICAgICRtZWRpYS1xdWVyeTogc3RyLXNsaWNlKHVucXVvdGUoJG1lZGlhLXF1ZXJ5KSwgNik7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZSArICRtZWRpYS1xdWVyeX0ge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBRdWljayBzb3J0XG4vLy9cbi8vLyBAYXV0aG9yIFNhbSBSaWNoYXJkc1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNvcnRcbi8vLyBAcmV0dXJucyB7TGlzdH0gU29ydGVkIExpc3RcbkBmdW5jdGlvbiBfbXEtcXVpY2stc29ydCgkbGlzdCkge1xuICAgICRsZXNzOiAgKCk7XG4gICAgJGVxdWFsOiAoKTtcbiAgICAkbGFyZ2U6ICgpO1xuXG4gICAgQGlmIGxlbmd0aCgkbGlzdCkgPiAxIHtcbiAgICAgICAgJHNlZWQ6IG50aCgkbGlzdCwgY2VpbChsZW5ndGgoJGxpc3QpIC8gMikpO1xuXG4gICAgICAgIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAgICAgICAgIEBpZiAoJGl0ZW0gPT0gJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkZXF1YWw6IGFwcGVuZCgkZXF1YWwsICRpdGVtKTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgKCRpdGVtIDwgJHNlZWQpIHtcbiAgICAgICAgICAgICAgICAkbGVzczogYXBwZW5kKCRsZXNzLCAkaXRlbSk7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICgkaXRlbSA+ICRzZWVkKSB7XG4gICAgICAgICAgICAgICAgJGxhcmdlOiBhcHBlbmQoJGxhcmdlLCAkaXRlbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAcmV0dXJuIGpvaW4oam9pbihfbXEtcXVpY2stc29ydCgkbGVzcyksICRlcXVhbCksIF9tcS1xdWljay1zb3J0KCRsYXJnZSkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGxpc3Q7XG59XG5cbi8vLyBTb3J0IGEgbWFwIGJ5IHZhbHVlcyAod29ya3Mgd2l0aCBudW1iZXJzIG9ubHkpXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzb3J0XG4vLy8gQHJldHVybnMge01hcH0gTWFwIHNvcnRlZCBieSB2YWx1ZVxuQGZ1bmN0aW9uIF9tcS1tYXAtc29ydC1ieS12YWx1ZSgkbWFwKSB7XG4gICAgJG1hcC1zb3J0ZWQ6ICgpO1xuICAgICRtYXAta2V5czogbWFwLWtleXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG4gICAgJG1hcC12YWx1ZXMtc29ydGVkOiBfbXEtcXVpY2stc29ydCgkbWFwLXZhbHVlcyk7XG5cbiAgICAvLyBSZW9yZGVyIGtleS92YWx1ZSBwYWlycyBiYXNlZCBvbiBrZXkgdmFsdWVzXG4gICAgQGVhY2ggJHZhbHVlIGluICRtYXAtdmFsdWVzLXNvcnRlZCB7XG4gICAgICAgICRpbmRleDogaW5kZXgoJG1hcC12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAgICRrZXk6IG50aCgkbWFwLWtleXMsICRpbmRleCk7XG4gICAgICAgICRtYXAtc29ydGVkOiBtYXAtbWVyZ2UoJG1hcC1zb3J0ZWQsICgka2V5OiAkdmFsdWUpKTtcblxuICAgICAgICAvLyBVbnNldCB0aGUgdmFsdWUgaW4gJG1hcC12YWx1ZXMgdG8gcHJldmVudCB0aGUgbG9vcFxuICAgICAgICAvLyBmcm9tIGZpbmRpbmcgdGhlIHNhbWUgaW5kZXggdHdpY2VcbiAgICAgICAgJG1hcC12YWx1ZXM6IHNldC1udGgoJG1hcC12YWx1ZXMsICRpbmRleCwgMCk7XG4gICAgfVxuXG4gICAgQHJldHVybiAkbWFwLXNvcnRlZDtcbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xuICAgICRtcS1icmVha3BvaW50czogX21xLW1hcC1zb3J0LWJ5LXZhbHVlKCRtcS1icmVha3BvaW50cykgIWdsb2JhbDtcbn1cblxuLy8vIFNob3cgdGhlIGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIG9mIHRoZSB2aWV3cG9ydFxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjc2VlaW5nLXRoZS1jdXJyZW50bHktYWN0aXZlLWJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNob3ctYnJlYWtwb2ludHMgKCRtcS1zaG93LWJyZWFrcG9pbnRzKSAtIExpc3Qgb2YgYnJlYWtwb2ludHMgdG8gc2hvdyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vIEBwYXJhbSB7TWFwfSAkYnJlYWtwb2ludHMgKCRtcS1icmVha3BvaW50cykgLSBCcmVha3BvaW50IG5hbWVzIGFuZCBzaXplc1xuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLXNob3ctYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBnbG9iYWwgc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbi8vL1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGN1c3RvbSBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzKChMLCBYTCksIChTOiAzMDBweCwgTDogODAwcHgsIFhMOiAxMjAwcHgpKTtcbkBtaXhpbiBtcS1zaG93LWJyZWFrcG9pbnRzKCRzaG93LWJyZWFrcG9pbnRzOiAkbXEtc2hvdy1icmVha3BvaW50cywgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBib2R5OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGQ0Y4RTM7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGNvbG9yOiAjQzA5ODUzO1xuICAgICAgICBmb250OiBzbWFsbC1jYXB0aW9uO1xuICAgICAgICBwYWRkaW5nOiAzcHggNnB4O1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG5cbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHRoZSBicmVha3BvaW50cyB0aGF0IHNob3VsZCBiZSBzaG93blxuICAgICAgICBAZWFjaCAkc2hvdy1icmVha3BvaW50IGluICRzaG93LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR3aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1xKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50czogJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIjeyRzaG93LWJyZWFrcG9pbnR9IOKJpSAjeyR3aWR0aH0gKCN7bXEtcHgyZW0oJHdpZHRoKX0pXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpZiBsZW5ndGgoJG1xLXNob3ctYnJlYWtwb2ludHMpID4gMCB7XG4gICAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cztcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9zaGFwZXNcbi8vLy9cblxuLy8vIENhbGN1bGF0ZSB0aGUgaGVpZ2h0IG9mIGFuIGVxdWlsYXRlcmFsIHRyaWFuZ2xlXG4vLy9cbi8vLyBNdWx0aXBseWluZyBoYWxmIHRoZSBsZW5ndGggb2YgdGhlIGJhc2Ugb2YgYW4gZXF1aWxhdGVyYWwgdHJpYW5nbGUgYnkgdGhlXG4vLy8gc3F1YXJlIHJvb3Qgb2YgdGhyZWUgZ2l2ZXMgdXMgaXRzIGhlaWdodC4gV2UgdXNlIDEuNzMyIGFzIGFuIGFwcHJveGltYXRpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBMZW5ndGggb2YgdGhlIGJhc2Ugb2YgdGhlIHRyaWFuZ2xlXG4vLy8gQHJldHVybiB7TnVtYmVyfSBDYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgdHJpYW5nbGVcbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1lcXVpbGF0ZXJhbC1oZWlnaHQoJGJhc2UpIHtcbiAgJHNxdWFyZS1yb290LW9mLXRocmVlOiAxLjczMjtcblxuICBAcmV0dXJuICgkYmFzZSAvIDIpICogJHNxdWFyZS1yb290LW9mLXRocmVlO1xufVxuXG4vLy8gQXJyb3cgbWl4aW5cbi8vL1xuLy8vIEdlbmVyYXRlIEFycm93cyAodHJpYW5nbGVzKSBieSB1c2luZyBhIG1peCBvZiB0cmFuc3BhcmVudCAoMSkgYW5kIGNvbG91cmVkXG4vLy8gYm9yZGVycy4gVGhlIGNvbG91cmVkIGJvcmRlcnMgaW5oZXJpdCB0aGUgdGV4dCBjb2xvdXIgb2YgdGhlIGVsZW1lbnQgKDIpLlxuLy8vXG4vLy8gRW5zdXJlIHRoZSBhcnJvdyBpcyByZW5kZXJlZCBjb3JyZWN0bHkgaWYgYnJvd3NlciBjb2xvdXJzIGFyZSBvdmVycmlkZGVuIGJ5XG4vLy8gcHJvdmlkaW5nIGEgY2xpcCBwYXRoICgzKS4gV2l0aG91dCB0aGlzIHRoZSB0cmFuc3BhcmVudCBib3JkZXJzIGFyZVxuLy8vIG92ZXJyaWRkZW4gdG8gYmVjb21lIHZpc2libGUgd2hpY2ggcmVzdWx0cyBpbiBhIHNxdWFyZS5cbi8vL1xuLy8vIFdlIG5lZWQgYm90aCBiZWNhdXNlIG9sZGVyIGJyb3dzZXJzIGRvIG5vdCBzdXBwb3J0IGNsaXAtcGF0aC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIC0gRGlyZWN0aW9uIGZvciBhcnJvdzogdXAsIHJpZ2h0LCBkb3duLCBsZWZ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIExlbmd0aCBvZiB0aGUgdHJpYW5nbGUgJ2Jhc2UnIHNpZGVcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbbnVsbF0gLSBIZWlnaHQgb2YgdHJpYW5nbGUuIE9taXQgZm9yIGVxdWlsYXRlcmFsLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSBbYmxvY2tdIC0gQ1NTIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGFycm93XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbiwgJGJhc2UsICRoZWlnaHQ6IG51bGwsICRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcblxuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIDFcblxuICAkcGVycGVuZGljdWxhcjogJGJhc2UgLyAyO1xuXG4gIEBpZiAoJGhlaWdodCA9PSBudWxsKSB7XG4gICAgJGhlaWdodDogX2dvdnVrLWVxdWlsYXRlcmFsLWhlaWdodCgkYmFzZSk7XG4gIH1cblxuICBAaWYgJGRpcmVjdGlvbiA9PSBcInVwXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDUwJSAwJSwgMCUgMTAwJSwgMTAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbig1MCUgMCUsIDAlIDEwMCUsIDEwMCUgMTAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogMCAkcGVycGVuZGljdWxhciAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IGluaGVyaXQ7IC8vIDJcbiAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IFwicmlnaHRcIiB7XG4gICAgLXdlYmtpdC1jbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDEwMCUgNTAlLCAwJSAxMDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSAwJSwgMTAwJSA1MCUsIDAlIDEwMCUpOyAvLyAzXG5cbiAgICBib3JkZXItd2lkdGg6ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXIgJGhlaWdodDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJkb3duXCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDAlLCA1MCUgMTAwJSwgMTAwJSAwJSk7XG4gICAgICAgICAgICBjbGlwLXBhdGg6IHBvbHlnb24oMCUgMCUsIDUwJSAxMDAlLCAxMDAlIDAlKTsgLy8gM1xuXG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICRwZXJwZW5kaWN1bGFyIDAgJHBlcnBlbmRpY3VsYXI7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gXCJsZWZ0XCIge1xuICAgIC13ZWJraXQtY2xpcC1wYXRoOiBwb2x5Z29uKDAlIDUwJSwgMTAwJSAxMDAlLCAxMDAlIDAlKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogcG9seWdvbigwJSA1MCUsIDEwMCUgMTAwJSwgMTAwJSAwJSk7IC8vIDNcblxuICAgIGJvcmRlci13aWR0aDogJHBlcnBlbmRpY3VsYXIgJGhlaWdodCAkcGVycGVuZGljdWxhciAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogaW5oZXJpdDsgLy8gMlxuICB9IEBlbHNlIHtcbiAgICBAZXJyb3IgXCJJbnZhbGlkIGFycm93IGRpcmVjdGlvbjogZXhwZWN0ZWQgYHVwYCwgYHJpZ2h0YCwgYGRvd25gIG9yIGBsZWZ0YCwgZ290IGAjeyRkaXJlY3Rpb259YFwiO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGhlbHBlcnMvc3BhY2luZ1xuLy8vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvblxuXG4vLy8gU2luZ2xlIHBvaW50IHNwYWNpbmdcbi8vL1xuLy8vIFJldHVybnMgbWVhc3VyZW1lbnQgY29ycmVzcG9uZGluZyB0byB0aGUgc3BhY2luZyBwb2ludCByZXF1ZXN0ZWQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgc3BhY2luZyBzY2FsZSAoc2V0IGluIGBzZXR0aW5ncy9fc3BhY2luZy5zY2NzYClcbi8vL1xuLy8vIEByZXR1cm5zIHtTdHJpbmd9IFNwYWNpbmcgTWVhc3VyZW1lbnQgZWcuIDEwcHhcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg1KTtcbi8vLyAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpICFpbXBvcnRhbnQ7IC8vIGlmIGAhaW1wb3J0YW50YCBpcyByZXF1aXJlZFxuLy8vICAgfVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBmdW5jdGlvbiBnb3Z1ay1zcGFjaW5nKCRzcGFjaW5nLXBvaW50KSB7XG5cbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRzcGFjaW5nLXBvaW50KTtcbiAgQGlmICRhY3R1YWwtaW5wdXQtdHlwZSAhPSBcIm51bWJlclwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICsgXCIjeyRhY3R1YWwtaW5wdXQtdHlwZX0uXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1zcGFjaW5nLXBvaW50cywgJHNwYWNpbmctcG9pbnQpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgdmFyaWFibGUgYCN7JHNwYWNpbmctcG9pbnR9YC4gTWFrZSBzdXJlIHlvdSBhcmUgdXNpbmcgYSBwb2ludCBmcm9tIHRoZSBzcGFjaW5nIHNjYWxlIGluIGBfc2V0dGluZ3Mvc3BhY2luZy5zY3NzYC5cIjtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLWdldCgkZ292dWstc3BhY2luZy1wb2ludHMsICRzcGFjaW5nLXBvaW50KTtcbn1cblxuLy8vIFJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vXG4vLy8gQWRkcyByZXNwb25zaXZlIHNwYWNpbmcgKGVpdGhlciBwYWRkaW5nIG9yIG1hcmdpbiwgZGVwZW5kaW5nIG9uIGAkcHJvcGVydHlgKVxuLy8vIGJ5IGZldGNoaW5nIGEgJ3NwYWNpbmcgbWFwJyBmcm9tIHRoZSByZXNwb25zaXZlIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXNcbi8vLyBkaWZmZXJlbnQgc3BhY2luZyB2YWx1ZXMgYXQgZGlmZmVyZW50IGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gVG8gZ2VuZXJhdGUgcmVzcG9uc2l2ZSBzcGFjaW5nLCB1c2UgJ2dvdnVrLXJlc3BvbnNpdmUtbWFyZ2luJyBvclxuLy8vICdnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcnIG1peGluc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQgLSBQb2ludCBvbiB0aGUgcmVzcG9uc2l2ZSBzcGFjaW5nXG4vLy8gICBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eSAtIFByb3BlcnR5IHRvIGFkZCBzcGFjaW5nIHRvIChlLmcuICdtYXJnaW4nKVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nIGJ5XG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQG1peGluIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgJHByb3BlcnR5LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG5cbiAgJGFjdHVhbC1pbnB1dC10eXBlOiB0eXBlLW9mKCRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICBAaWYgJGFjdHVhbC1pbnB1dC10eXBlICE9IFwibnVtYmVyXCIge1xuICAgIEBlcnJvciBcIkV4cGVjdGVkIGEgbnVtYmVyIChpbnRlZ2VyKSwgYnV0IGdvdCBhIFwiICsgXCIjeyRhY3R1YWwtaW5wdXQtdHlwZX0uXCI7XG4gIH1cblxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpIHtcbiAgICBAZXJyb3IgXCJVbmtub3duIHNwYWNpbmcgcG9pbnQgYCN7JHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludH1gLiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIHBvaW50IGZyb20gdGhlIFwiXG4gICAgKyBcInJlc3BvbnNpdmUgc3BhY2luZyBzY2FsZSBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2AuXCI7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGhhdCB0aGUgcmV0dXJuIHZhbHVlIGZyb20gYF9zZXR0aW5ncy9zcGFjaW5nLnNjc3NgIGlzIGEgbWFwLlxuICAkc2NhbGUtbWFwOiBtYXAtZ2V0KCRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUsICRyZXNwb25zaXZlLXNwYWNpbmctcG9pbnQpO1xuICAkYWN0dWFsLW1hcC10eXBlOiB0eXBlLW9mKCRzY2FsZS1tYXApO1xuICBAaWYgJGFjdHVhbC1tYXAtdHlwZSAhPSBcIm1hcFwiIHtcbiAgICBAZXJyb3IgXCJFeHBlY3RlZCBhIG51bWJlciAoaW50ZWdlciksIGJ1dCBnb3QgYSBcIlxuICAgICsgXCIjeyRhY3R1YWwtbWFwLXR5cGV9LiBNYWtlIHN1cmUgeW91IGFyZSB1c2luZyBhIG1hcCB0byBzZXQgdGhlIHJlc3BvbnNpdmUgc3BhY2luZyBpbiBgX3NldHRpbmdzL3NwYWNpbmcuc2Nzc2ApXCI7XG4gIH1cblxuICAvLyBMb29wIHRocm91Z2ggZWFjaCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRicmVha3BvaW50LXZhbHVlIGluICRzY2FsZS1tYXAge1xuXG4gICAgQGlmICgkYWRqdXN0bWVudCkge1xuICAgICAgJGJyZWFrcG9pbnQtdmFsdWU6ICRicmVha3BvaW50LXZhbHVlICsgJGFkanVzdG1lbnQ7XG4gICAgfVxuXG4gICAgLy8gVGhlICdudWxsJyBicmVha3BvaW50IGlzIGZvciBtb2JpbGUuXG4gICAgQGlmICRicmVha3BvaW50ID09IG51bGwge1xuXG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAjeyRwcm9wZXJ0eX06ICRicmVha3BvaW50LXZhbHVlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBAaWYgJGRpcmVjdGlvbiA9PSBhbGwge1xuICAgICAgICAgICN7JHByb3BlcnR5fTogJGJyZWFrcG9pbnQtdmFsdWUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICN7JHByb3BlcnR5fS0jeyRkaXJlY3Rpb259OiAkYnJlYWtwb2ludC12YWx1ZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVzcG9uc2l2ZSBtYXJnaW5cbi8vL1xuLy8vIEFkZHMgcmVzcG9uc2l2ZSBtYXJnaW4gYnkgZmV0Y2hpbmcgYSAnc3BhY2luZyBtYXAnIGZyb20gdGhlIHJlc3BvbnNpdmVcbi8vLyBzcGFjaW5nIHNjYWxlLCB3aGljaCBkZWZpbmVzIGRpZmZlcmVudCBzcGFjaW5nIHZhbHVlcyBhdCBkaWZmZXJlbnRcbi8vLyBicmVha3BvaW50cy4gV3JhcHBlciBmb3IgdGhlIGBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nYCBtaXhpbi5cbi8vL1xuLy8vIEBzZWUge21peGlufSBfZ292dWstcmVzcG9uc2l2ZS1zcGFjaW5nXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCAtIFBvaW50IG9uIHRoZSByZXNwb25zaXZlIHNwYWNpbmdcbi8vLyBzY2FsZSwgY29ycmVzcG9uZHMgdG8gYSBtYXAgb2YgYnJlYWtwb2ludHMgYW5kIHNwYWNpbmcgdmFsdWVzXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gW2FsbF0gLSBEaXJlY3Rpb24gdG8gYWRkIHNwYWNpbmcgdG9cbi8vLyAgIChgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIGBsZWZ0YCwgYGFsbGApXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgYXMgYCFpbXBvcnRhbnRgXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhZGp1c3RtZW50IFtmYWxzZV0gLSBPZmZzZXQgdG8gYWRqdXN0IHNwYWNpbmcgYnlcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwibGVmdFwiLCAkYWRqdXN0bWVudDogMXB4KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgXCJtYXJnaW5cIiwgJGRpcmVjdGlvbiwgJGltcG9ydGFudCwgJGFkanVzdG1lbnQpO1xufVxuXG4vLy8gUmVzcG9uc2l2ZSBwYWRkaW5nXG4vLy9cbi8vLyBBZGRzIHJlc3BvbnNpdmUgcGFkZGluZyBieSBmZXRjaGluZyBhICdzcGFjaW5nIG1hcCcgZnJvbSB0aGUgcmVzcG9uc2l2ZVxuLy8vIHNwYWNpbmcgc2NhbGUsIHdoaWNoIGRlZmluZXMgZGlmZmVyZW50IHNwYWNpbmcgdmFsdWVzIGF0IGRpZmZlcmVudFxuLy8vIGJyZWFrcG9pbnRzLiBXcmFwcGVyIGZvciB0aGUgYF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdgIG1peGluLlxuLy8vXG4vLy8gQHNlZSB7bWl4aW59IF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmdcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50IC0gUG9pbnQgb24gdGhlIHJlc3BvbnNpdmUgc3BhY2luZ1xuLy8vICAgc2NhbGUsIGNvcnJlc3BvbmRzIHRvIGEgbWFwIG9mIGJyZWFrcG9pbnRzIGFuZCBzcGFjaW5nIHZhbHVlc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIFthbGxdIC0gRGlyZWN0aW9uIHRvIGFkZCBzcGFjaW5nIHRvXG4vLy8gICAoYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBgbGVmdGAsIGBhbGxgKVxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGFzIGAhaW1wb3J0YW50YFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYWRqdXN0bWVudCBbZmFsc2VdIC0gT2Zmc2V0IHRvIGFkanVzdCBzcGFjaW5nXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNiwgXCJsZWZ0XCIsICRhZGp1c3RtZW50OiAxcHgpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZygkcmVzcG9uc2l2ZS1zcGFjaW5nLXBvaW50LCAkZGlyZWN0aW9uOiBcImFsbFwiLCAkaW1wb3J0YW50OiBmYWxzZSwgJGFkanVzdG1lbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1yZXNwb25zaXZlLXNwYWNpbmcoJHJlc3BvbnNpdmUtc3BhY2luZy1wb2ludCwgXCJwYWRkaW5nXCIsICRkaXJlY3Rpb24sICRpbXBvcnRhbnQsICRhZGp1c3RtZW50KTtcbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy90eXBvZ3JhcGh5XG4vLy8vXG5cbkBpbXBvcnQgXCIuLi90b29scy9weC10by1yZW1cIjtcblxuLy8vICdDb21tb24gdHlwb2dyYXBoeScgaGVscGVyXG4vLy9cbi8vLyBTZXRzIHRoZSBmb250IGZhbWlseSBhbmQgYXNzb2NpYXRlZCBwcm9wZXJ0aWVzLCBzdWNoIGFzIGZvbnQgc21vb3RoaW5nLiBBbHNvXG4vLy8gb3ZlcnJpZGVzIHRoZSBmb250IGZvciBwcmludC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGZvbnQtZmFtaWx5IFskZ292dWstZm9udC1mYW1pbHldIEZvbnQgZmFtaWx5IHRvIHVzZVxuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigkZm9udC1mYW1pbHk6ICRnb3Z1ay1mb250LWZhbWlseSkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcblxuICAvLyBJZiB0aGUgdXNlciBpcyB1c2luZyB0aGUgZGVmYXVsdCBHRFMgVHJhbnNwb3J0IGZvbnQgd2UgbmVlZCB0byBpbmNsdWRlXG4gIC8vIHRoZSBmb250LWZhY2UgZGVjbGFyYXRpb25zLlxuICAvL1xuICAvLyBXZSBkbyBub3QgbmVlZCB0byBpbmNsdWRlIHRoZSBHRFMgVHJhbnNwb3J0IGZvbnQtZmFjZSBkZWNsYXJhdGlvbnMgaWZcbiAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaXMgYmVpbmcgdXNlZCBzaW5jZSBudGEgd2lsbCBhbHJlYWR5IGJlIGluY2x1ZGVkIGJ5XG4gIC8vIGRlZmF1bHQuXG4gIEBpZiAoJGdvdnVrLWluY2x1ZGUtZGVmYXVsdC1mb250LWZhY2UpIHtcbiAgICBAaW5jbHVkZSBfZ292dWstZm9udC1mYWNlLWdkcy10cmFuc3BvcnQ7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICBmb250LWZhbWlseTogJGdvdnVrLWZvbnQtZmFtaWx5LXByaW50O1xuICB9XG59XG5cbi8vLyBUZXh0IGNvbG91ciBoZWxwZXJcbi8vL1xuLy8vIFNldHMgdGhlIHRleHQgY29sb3VyLCBpbmNsdWRpbmcgYSBzdWl0YWJsZSBvdmVycmlkZSBmb3IgcHJpbnQuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdGV4dC1jb2xvdXIge1xuICBjb2xvcjogJGdvdnVrLXRleHQtY29sb3VyO1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIGNvbG9yOiAkZ292dWstcHJpbnQtdGV4dC1jb2xvdXI7XG4gIH1cbn1cblxuLy8vIFJlZ3VsYXIgZm9udCB3ZWlnaHQgaGVscGVyXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbXBvcnRhbnQgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gbWFyayBkZWNsYXJhdGlvbnMgYXNcbi8vLyAgIGAhaW1wb3J0YW50YC4gR2VuZXJhbGx5IFVzZWQgdG8gY3JlYXRlIG92ZXJyaWRlIGNsYXNzZXMuXG4vLy8gQGFjY2VzcyBwdWJsaWNcblxuQG1peGluIGdvdnVrLXR5cG9ncmFwaHktd2VpZ2h0LXJlZ3VsYXIoJGltcG9ydGFudDogZmFsc2UpIHtcbiAgZm9udC13ZWlnaHQ6ICRnb3Z1ay1mb250LXdlaWdodC1yZWd1bGFyIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xufVxuXG4vLy8gQm9sZCBmb250IHdlaWdodCBoZWxwZXJcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGltcG9ydGFudCBbZmFsc2VdIC0gV2hldGhlciB0byBtYXJrIGRlY2xhcmF0aW9ucyBhc1xuLy8vICAgYCFpbXBvcnRhbnRgLiBHZW5lcmFsbHkgVXNlZCB0byBjcmVhdGUgb3ZlcnJpZGUgY2xhc3Nlcy5cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiBmYWxzZSkge1xuICBmb250LXdlaWdodDogJGdvdnVrLWZvbnQtd2VpZ2h0LWJvbGQgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBDb252ZXJ0IGxpbmUtaGVpZ2h0cyBzcGVjaWZpZWQgaW4gcGl4ZWxzIGludG8gYSByZWxhdGl2ZSB2YWx1ZSwgdW5sZXNzXG4vLy8gdGhleSBhcmUgYWxyZWFkeSB1bml0LWxlc3MgKGFuZCB0aHVzIGFscmVhZHkgdHJlYXRlZCBhcyByZWxhdGl2ZSB2YWx1ZXMpXG4vLy8gb3IgdGhlIHVuaXRzIGRvIG5vdCBtYXRjaCB0aGUgdW5pdHMgdXNlZCBmb3IgdGhlIGZvbnQgc2l6ZS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbGluZS1oZWlnaHQgTGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBGb250IHNpemVcbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IFRoZSBsaW5lIGhlaWdodCBhcyBlaXRoZXIgYSByZWxhdGl2ZSB2YWx1ZSBvciB1bm1vZGlmaWVkXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcblxuQGZ1bmN0aW9uIF9nb3Z1ay1saW5lLWhlaWdodCgkbGluZS1oZWlnaHQsICRmb250LXNpemUpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkbGluZS1oZWlnaHQpIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gdW5pdCgkZm9udC1zaXplKSB7XG4gICAgJGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQgLyAkZm9udC1zaXplO1xuICB9XG5cbiAgQHJldHVybiAkbGluZS1oZWlnaHQ7XG59XG5cbi8vLyBSZXNwb25zaXZlIHR5cG9ncmFwaHkgaGVscGVyXG4vLy9cbi8vLyBUYWtlcyBhICdmb250IG1hcCcgYXMgYW4gYXJndW1lbnQgYW5kIHVzZXMgaXQgdG8gY3JlYXRlIGZvbnQtc2l6ZSBhbmRcbi8vLyBsaW5lLWhlaWdodCBkZWNsYXJhdGlvbnMgZm9yIGRpZmZlcmVudCBicmVha3BvaW50cywgYW5kIGZvciBwcmludC5cbi8vL1xuLy8vIEV4YW1wbGUgZm9udCBtYXA6XG4vLy9cbi8vLyAkbXktZm9udC1tYXA6IChcbi8vLyAgIG51bGw6IChcbi8vLyAgICAgZm9udC1zaXplOiAxNnB4LFxuLy8vICAgICBsaW5lLWhlaWdodDogMjBweFxuLy8vICAgKSxcbi8vLyAgIHRhYmxldDogKFxuLy8vICAgICBmb250LXNpemU6IDE5cHgsXG4vLy8gICAgIGxpbmUtaGVpZ2h0OiAyNXB4XG4vLy8gICApLFxuLy8vICAgcHJpbnQ6IChcbi8vLyAgICAgZm9udC1zaXplOiAxNHB0LFxuLy8vICAgICBsaW5lLWhlaWdodDogMS4xNVxuLy8vICAgKVxuLy8vICk7XG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJGZvbnQtbWFwIC0gRm9udCBtYXBcbi8vLyBAcGFyYW0ge051bWJlcn0gJG92ZXJyaWRlLWxpbmUtaGVpZ2h0IFtmYWxzZV0gLSBOb24gcmVzcG9uc2l2ZSBjdXN0b20gbGluZVxuLy8vICAgaGVpZ2h0LiBPbWl0IHRvIHVzZSB0aGUgbGluZSBoZWlnaHQgZnJvbSB0aGUgZm9udCBtYXAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFtmYWxzZV0gLSBXaGV0aGVyIHRvIG1hcmsgZGVjbGFyYXRpb25zIGFzXG4vLy8gICBgIWltcG9ydGFudGAuXG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IGZhbHNlLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuXG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGdvdnVrLXR5cG9ncmFwaHktc2NhbGUsICRzaXplKSB7XG4gICAgQGVycm9yIFwiVW5rbm93biBmb250IHNpemUgYCN7JHNpemV9YCAtIGV4cGVjdGVkIGEgcG9pbnQgZnJvbSB0aGUgdHlwb2dyYXBoeSBzY2FsZS5cIjtcbiAgfVxuXG4gICRmb250LW1hcDogbWFwLWdldCgkZ292dWstdHlwb2dyYXBoeS1zY2FsZSwgJHNpemUpO1xuXG4gIEBlYWNoICRicmVha3BvaW50LCAkYnJlYWtwb2ludC1tYXAgaW4gJGZvbnQtbWFwIHtcbiAgICAkZm9udC1zaXplOiBtYXAtZ2V0KCRicmVha3BvaW50LW1hcCwgXCJmb250LXNpemVcIik7XG4gICAgJGZvbnQtc2l6ZS1yZW06IGdvdnVrLXB4LXRvLXJlbSgkZm9udC1zaXplKTtcblxuICAgICRsaW5lLWhlaWdodDogX2dvdnVrLWxpbmUtaGVpZ2h0KFxuICAgICAgJGxpbmUtaGVpZ2h0OiBpZihcbiAgICAgICAgJG92ZXJyaWRlLWxpbmUtaGVpZ2h0LFxuICAgICAgICAkb3ZlcnJpZGUtbGluZS1oZWlnaHQsXG4gICAgICAgIG1hcC1nZXQoJGJyZWFrcG9pbnQtbWFwLCBcImxpbmUtaGVpZ2h0XCIpXG4gICAgICApLFxuICAgICAgJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZVxuICAgICk7XG5cbiAgICAvLyBNYXJrIHJ1bGVzIGFzICFpbXBvcnRhbnQgaWYgJGltcG9ydGFudCBpcyB0cnVlIC0gdGhpcyB3aWxsIHJlc3VsdCBpblxuICAgIC8vIHRoZXNlIHZhcmlhYmxlcyBiZWNvbWluZyBzdHJpbmdzLCBzbyB0aGlzIG5lZWRzIHRvIGhhcHBlbiAqYWZ0ZXIqIHRoZXlcbiAgICAvLyBhcmUgdXNlZCBpbiBjYWxjdWxhdGlvbnNcbiAgICAkZm9udC1zaXplOiAkZm9udC1zaXplIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAgICRmb250LXNpemUtcmVtOiAkZm9udC1zaXplLXJlbSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAkbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXJlbTtcbiAgICAgIH1cbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfSBAZWxzZSBpZiAkYnJlYWtwb2ludCA9PSBcInByaW50XCIge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiAkYnJlYWtwb2ludCkge1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtcmVtO1xuICAgICAgICB9XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBGb250IGhlbHBlclxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIC0gU2l6ZSBvZiB0aGUgZm9udCBhcyBpdCB3b3VsZCBhcHBlYXIgb24gZGVza3RvcCAtXG4vLy8gICB1c2VzIHRoZSByZXNwb25zaXZlIGZvbnQgc2l6ZSBtYXBcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHdlaWdodCBbcmVndWxhcl0gLSBXZWlnaHQ6IGBib2xkYCBvciBgcmVndWxhcmBcbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR0YWJ1bGFyIFtmYWxzZV0gLSBXaGV0aGVyIHRvIHVzZSB0YWJ1bGFyIG51bWJlcnMgb3Igbm90XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRsaW5lLWhlaWdodCBbZmFsc2VdIC0gTGluZS1oZWlnaHQsIGlmIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHRcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay1mb250KCRzaXplLCAkd2VpZ2h0OiByZWd1bGFyLCAkdGFidWxhcjogZmFsc2UsICRsaW5lLWhlaWdodDogZmFsc2UpIHtcbiAgQGlmICR0YWJ1bGFyIHtcbiAgICAvLyBpZiBnb3Z1ay1mb250LWZhbWlseS10YWJ1bGFyIGlzIHNldCB1c2UgJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXJcbiAgICBAaWYgJGdvdnVrLWZvbnQtZmFtaWx5LXRhYnVsYXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb24oJGZvbnQtZmFtaWx5OiAkZ292dWstZm9udC1mYW1pbHktdGFidWxhcik7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiBcInRudW1cIiAxO1xuICAgICAgICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6IFwidG51bVwiIDE7XG5cbiAgICAgIEBzdXBwb3J0cyAoZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcykge1xuICAgICAgICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zO1xuICAgICAgfVxuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb247XG4gIH1cblxuICBAaWYgJHdlaWdodCA9PSByZWd1bGFyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1yZWd1bGFyO1xuICB9IEBlbHNlIGlmICR3ZWlnaHQgPT0gYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgfVxuXG4gIEBpZiAkc2l6ZSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1yZXNwb25zaXZlKCRzaXplLCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCk7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgaGVscGVycy9hY2Nlc3NpYmlsaXR5XG4vLy8vXG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnNcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4vLy8gICAtIEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5LCBKb25hdGhhbiBTbm9vaywgRmVicnVhcnkgMjAxMVxuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvOWYxMzY5NWQyMWZmOTJjNTVjNzhkZmE5ZjE2YmIwMmExYjZlOTExZi9zcmMvY3NzL21haW4uY3NzI0wxMjEtTDE1OFxuLy8vICAgLSBoNWJwL2h0bWw1LWJvaWxlcnBsYXRlIC0gVGhhbmtzIVxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4oJGltcG9ydGFudDogdHJ1ZSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgd2lkdGg6IDFweCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgaGVpZ2h0OiAxcHggaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIC8vIElmIG1hcmdpbiBpcyBzZXQgdG8gYSBuZWdhdGl2ZSB2YWx1ZSBpdCBjYW4gY2F1c2UgdGV4dCB0byBiZSBhbm5vdW5jZWQgaW5cbiAgLy8gdGhlIHdyb25nIG9yZGVyIGluIFZvaWNlT3ZlciBmb3IgT1NYXG4gIG1hcmdpbjogMCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgcGFkZGluZzogMCBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICBvdmVyZmxvdzogaGlkZGVuIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICBjbGlwOiByZWN0KDAgMCAwIDApIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSkgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgYm9yZGVyOiAwIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnMgd2hpbHN0XG4vLy8gYWxsb3dpbmcgdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNlZCB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkIChlLmcuXG4vLy8gZm9yIHRoZSBza2lwIGxpbmspXG4vLy9cbi8vLyBUaGlzIGlzIHNsaWdodGx5IGxlc3Mgb3BpbmlvbmF0ZWQgYWJvdXQgYm9yZGVycyBhbmQgcGFkZGluZyB0byBtYWtlIGl0XG4vLy8gZWFzaWVyIHRvIHN0eWxlIHRoZSBmb2N1c3NlZCBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW1wb3J0YW50IFt0cnVlXSAtIFdoZXRoZXIgdG8gbWFyayBhcyBgIWltcG9ydGFudGBcbi8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG5cbkBtaXhpbiBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlKCRpbXBvcnRhbnQ6IHRydWUpIHtcbiAgcG9zaXRpb246IGFic29sdXRlIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIHdpZHRoOiAxcHggaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gIGhlaWdodDogMXB4IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICAvLyBJZiBtYXJnaW4gaXMgc2V0IHRvIGEgbmVnYXRpdmUgdmFsdWUgaXQgY2FuIGNhdXNlIHRleHQgdG8gYmUgYW5ub3VuY2VkIGluXG4gIC8vIHRoZSB3cm9uZyBvcmRlciBpbiBWb2ljZU92ZXIgZm9yIE9TWFxuICBtYXJnaW46IDAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbiBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgLXdlYmtpdC1jbGlwLXBhdGg6IGluc2V0KDUwJSkgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgICAgICAgY2xpcC1wYXRoOiBpbnNldCg1MCUpIGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gIC8vIEZvciBsb25nIGNvbnRlbnQsIGxpbmUgZmVlZHMgYXJlIG5vdCBpbnRlcnByZXRlZCBhcyBzcGFjZXMgYW5kIHNtYWxsIHdpZHRoXG4gIC8vIGNhdXNlcyBjb250ZW50IHRvIHdyYXAgMSB3b3JkIHBlciBsaW5lOlxuICAvLyBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWMgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG5cbiAgICB3aWR0aDogYXV0byBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICBoZWlnaHQ6IGF1dG8gaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgbWFyZ2luOiBpbmhlcml0IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuXG4gICAgb3ZlcmZsb3c6IHZpc2libGUgaWYoJGltcG9ydGFudCwgIWltcG9ydGFudCwgbnVsbCk7XG4gICAgY2xpcDogYXV0byBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcbiAgICAgICAgICAgIGNsaXAtcGF0aDogbm9uZSBpZigkaW1wb3J0YW50LCAhaW1wb3J0YW50LCBudWxsKTtcblxuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0IGlmKCRpbXBvcnRhbnQsICFpbXBvcnRhbnQsIG51bGwpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwibGlua3NcIjtcbkBpbXBvcnQgXCJsaXN0c1wiO1xuQGltcG9ydCBcInRlbXBsYXRlXCI7XG5AaW1wb3J0IFwidHlwb2dyYXBoeVwiO1xuQGltcG9ydCBcInNlY3Rpb24tYnJlYWtcIjtcbkBpbXBvcnQgXCJnbG9iYWwtc3R5bGVzXCI7XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBjb3JlIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvbGlua3NcIikge1xuXG4gICVnb3Z1ay1saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1wcmludC1mcmllbmRseTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgLy8gVmFyaWFudCBjbGFzc2VzIHNob3VsZCBhbHdheXMgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAuZ292dWstbGlua1xuICAvLyBjbGFzcywgc28gd2UgZG8gbm90IG5lZWQgdGhlIGNvbW1vbiBsaW5rIHN0eWxlcyBhcyB0aGV5IHdpbGwgYmUgaW5oZXJpdGVkLlxuXG4gIC5nb3Z1ay1saW5rLS1tdXRlZCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1tdXRlZDtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS10ZXh0LWNvbG91ciB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLWludmVyc2Uge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtaW52ZXJzZTtcbiAgfVxuXG4gIC5nb3Z1ay1saW5rLS1uby11bmRlcmxpbmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdW5kZXJsaW5lO1xuICB9XG5cbiAgLmdvdnVrLWxpbmstLW5vLXZpc2l0ZWQtc3RhdGUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtbm8tdmlzaXRlZC1zdGF0ZTtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgY29yZSBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2xpc3RzXCIpIHtcblxuICAlZ292dWstbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgIC8vIEFkZCBhIHRvcCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICAgICVnb3Z1ay1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG5cbiAgJWdvdnVrLWxpc3QgPiBsaSB7XG4gICAgLy8gTGlzdHMgd2l0aG91dCBudW1iZXJzIG9yIGJ1bGxldHMgc2hvdWxkIGFsd2F5cyBoYXZlIGV4dHJhIHNwYWNlIGJldHdlZW5cbiAgICAvLyBsaXN0IGl0ZW1zLiBMaXN0cyB3aXRoIG51bWJlcnMgb3IgYnVsbGV0cyBvbmx5IGhhdmUgdGhpcyBleHRyYSBzcGFjZSBvblxuICAgIC8vIHRhYmxldCBhbmQgYWJvdmVcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDEpO1xuICB9XG5cbiAgLmdvdnVrLWxpc3Qge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3Q7XG4gIH1cblxuICAlZ292dWstbGlzdC0tYnVsbGV0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICB9XG5cbiAgJWdvdnVrLWxpc3QtLW51bWJlciB7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgfVxuXG4gICVnb3Z1ay1saXN0LS1idWxsZXQgPiBsaSxcbiAgJWdvdnVrLWxpc3QtLW51bWJlciA+IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstbGlzdC0tc3BhY2VkID4gbGkge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1idWxsZXQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLWJ1bGxldDtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1udW1iZXIge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLW51bWJlcjtcbiAgfVxuXG4gIC5nb3Z1ay1saXN0LS1zcGFjZWQge1xuICAgIEBleHRlbmQgJWdvdnVrLWxpc3QtLXNwYWNlZDtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgY29yZSBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL3RlbXBsYXRlXCIpIHtcblxuICAvLyBBcHBsaWVkIHRvIHRoZSA8aHRtbD4gZWxlbWVudFxuICAuZ292dWstdGVtcGxhdGUge1xuICAgIC8vIFNldCB0aGUgb3ZlcmFsbCBwYWdlIGJhY2tncm91bmQgY29sb3VyIHRvIHRoZSBzYW1lIGNvbG91ciBhcyB1c2VkIGJ5IHRoZVxuICAgIC8vIGZvb3RlciB0byBnaXZlIHRoZSBpbGx1c2lvbiBvZiBhIGxvbmcgZm9vdGVyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1jYW52YXMtYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICAvLyBQcmV2ZW50IGF1dG9tYXRpYyB0ZXh0IHNpemluZywgYXMgd2UgYWxyZWFkeSBjYXRlciBmb3Igc21hbGwgZGV2aWNlcyBhbmRcbiAgICAvLyB3b3VsZCBsaWtlIHRoZSBicm93c2VyIHRvIHN0YXkgb24gMTAwJSB0ZXh0IHpvb20gYnkgZGVmYXVsdC5cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgICAgLW1vei10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAgICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG5cbiAgICAvLyBGb3JjZSB0aGUgc2Nyb2xsYmFyIHRvIGFsd2F5cyBkaXNwbGF5IGluIElFLCB0byBwcmV2ZW50IGhvcml6b250YWwgcGFnZVxuICAgIC8vIGp1bXBzIGFzIGNvbnRlbnQgaGVpZ2h0IGNoYW5nZXMgKGUuZy4gYXV0b2NvbXBsZXRlIHJlc3VsdHMgb3BlbikuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gdGhlIDxib2R5PiBlbGVtZW50XG4gIC5nb3Z1ay10ZW1wbGF0ZV9fYm9keSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgbWFyZ2lucyBzZXQgYnkgdXNlci1hZ2VudHMgYXJlIG5vdCByZXF1aXJlZCBzaW5jZSB3ZSBoYXZlIG91clxuICAgIC8vIG93biBjb250YWluZXJzLlxuICAgIG1hcmdpbjogMDtcbiAgICAvLyBTZXQgdGhlIG92ZXJhbGwgYm9keSBvZiB0aGUgcGFnZSBiYWNrIHRvIHRoZSB0eXBpY2FsIGJhY2tncm91bmQgY29sb3VyLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay1ib2R5LWJhY2tncm91bmQtY29sb3VyO1xuICB9XG59XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBjb3JlIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvdHlwb2dyYXBoeVwiKSB7XG5cbiAgLy8gSGVhZGluZ3NcblxuICAlZ292dWstaGVhZGluZy14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogNDgsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRpbmcteGwge1xuICAgIEBleHRlbmQgJWdvdnVrLWhlYWRpbmcteGw7XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1sIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLWw7XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1tIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLW07XG4gIH1cblxuICAlZ292dWstaGVhZGluZy1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstaGVhZGluZy1zIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1oZWFkaW5nLXM7XG4gIH1cblxuICAvLyBDYXB0aW9ucyB0byBiZSB1c2VkIGluc2lkZSBoZWFkaW5nc1xuXG4gIC5nb3Z1ay1jYXB0aW9uLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNyk7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1jYXB0aW9uLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWNhcHRpb24tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS10ZXh0LWNvbG91cjtcbiAgfVxuXG4gIC8vIEJvZHkgKHBhcmFncmFwaHMpXG5cbiAgJWdvdnVrLWJvZHktbCB7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQpO1xuXG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5LWwge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbDtcbiAgfVxuXG4gICVnb3Z1ay1ib2R5LW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS1tIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cblxuICAlZ292dWstYm9keS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWJvZHktcyB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1zO1xuICB9XG5cbiAgJWdvdnVrLWJvZHkteHMge1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstYm9keS14cyB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS14cztcbiAgfVxuXG4gIC8vIFVzYWdlIGFsaWFzZXNcblxuICAvLyBVc2luZyBleHRlbmQgdG8gYWxpYXMgbWVhbnMgd2UgYWxzbyBpbmhlcml0IGFueSBjb250ZXh0dWFsIGFkanVzdG1lbnRzIHRoYXRcbiAgLy8gcmVmZXIgdG8gdGhlICdvcmlnaW5hbCcgY2xhc3MgbmFtZVxuXG4gIC5nb3Z1ay1ib2R5LWxlYWQge1xuICAgIEBleHRlbmQgJWdvdnVrLWJvZHktbDtcbiAgfVxuXG4gIC5nb3Z1ay1ib2R5IHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1ib2R5LW07XG4gIH1cblxuICAvLyBDb250ZXh0dWFsIGFkanVzdG1lbnRzXG4gIC8vIEFkZCB0b3AgcGFkZGluZyB0byBoZWFkaW5ncyB0aGF0IGFwcGVhciBkaXJlY3RseSBhZnRlciBwYXJhZ3JhcGhzLlxuXG4gICVnb3Z1ay1ib2R5LWwgICsgJWdvdnVrLWhlYWRpbmctbCB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICB9XG4gIH1cblxuICAlZ292dWstYm9keS1tICArICVnb3Z1ay1oZWFkaW5nLWwsXG4gICVnb3Z1ay1ib2R5LXMgICsgJWdvdnVrLWhlYWRpbmctbCxcbiAgJWdvdnVrLWxpc3QgKyAlZ292dWstaGVhZGluZy1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNCwgXCJ0b3BcIik7XG4gIH1cblxuICAlZ292dWstYm9keS1tICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWJvZHktcyArICVnb3Z1ay1oZWFkaW5nLW0sXG4gICVnb3Z1ay1saXN0ICsgJWdvdnVrLWhlYWRpbmctbSxcbiAgJWdvdnVrLWJvZHktbSArICVnb3Z1ay1oZWFkaW5nLXMsXG4gICVnb3Z1ay1ib2R5LXMgKyAlZ292dWstaGVhZGluZy1zLFxuICAlZ292dWstbGlzdCArICVnb3Z1ay1oZWFkaW5nLXMge1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBjb3JlIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvcmUvc2VjdGlvbi1icmVha1wiKSB7XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAvLyBmaXggZG91YmxlLXdpZHRoIHNlY3Rpb24gYnJlYWsgYW5kIGZvcmNlZCB2aXNpYmxlIHNlY3Rpb24gYnJlYWtcbiAgICAvLyB3aGVuIGNvbWJpbmVkIHdpdGggc3R5bGVzIGZyb20gYWxwaGFnb3YvZWxlbWVudHNcbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX2VsZW1lbnRzKSB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWsge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWs7XG4gIH1cblxuICAvLyBTaXplc1xuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS14bCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0teGwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLXhsO1xuICB9XG5cbiAgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwidG9wXCIpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXNlY3Rpb24tYnJlYWstLWwge1xuICAgIEBleHRlbmQgJWdvdnVrLXNlY3Rpb24tYnJlYWstLWw7XG4gIH1cblxuICAlZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJ0b3BcIik7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNCwgXCJib3R0b21cIik7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tbSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tbTtcbiAgfVxuXG4gIC8vIFZpc2libGUgdmFyaWFudFxuXG4gICVnb3Z1ay1zZWN0aW9uLWJyZWFrLS12aXNpYmxlIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZSB7XG4gICAgQGV4dGVuZCAlZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZTtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgY29yZSBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbXBvcnQgXCJsaW5rc1wiO1xuQGltcG9ydCBcInR5cG9ncmFwaHlcIjtcblxuQG1peGluIGdvdnVrLWdsb2JhbC1zdHlsZXMge1xuICBhIHtcbiAgICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xuICB9XG5cbiAgcCB7XG4gICAgQGV4dGVuZCAlZ292dWstYm9keS1tO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb3JlL2dsb2JhbC1zdHlsZXNcIikge1xuXG4gIEBpZiAkZ292dWstZ2xvYmFsLXN0eWxlcyA9PSB0cnVlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1nbG9iYWwtc3R5bGVzO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiYnV0dG9uLWdyb3VwXCI7XG5AaW1wb3J0IFwiZm9ybS1ncm91cFwiO1xuQGltcG9ydCBcImdyaWRcIjtcbkBpbXBvcnQgXCJtYWluLXdyYXBwZXJcIjtcbkBpbXBvcnQgXCJ3aWR0aC1jb250YWluZXJcIjtcbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2J1dHRvbi1ncm91cFwiKSB7XG4gIC8vIEJ1dHRvbiBncm91cHMgY2FuIGJlIHVzZWQgdG8gZ3JvdXAgYnV0dG9ucyBhbmQgbGlua3MgdG9nZXRoZXIgYXMgYSBncm91cC5cbiAgLy9cbiAgLy8gV2l0aGluIGEgYnV0dG9uIGdyb3VwOlxuICAvL1xuICAvLyAtIGxpbmtzIGFyZSBzdHlsZWQgdG8gbGluZSB1cCB2aXN1YWxseSB3aXRoIHRoZSBidXR0b25zLCBpbmNsdWRpbmcgYmVpbmdcbiAgLy8gICBjZW50cmUtYWxpZ25lZCBvbiBtb2JpbGVcbiAgLy8gLSBzcGFjaW5nIGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGlzIGhhbmRsZWQgYXV0b21hdGljYWxseSwgaW5jbHVkaW5nXG4gIC8vICAgd2hlbiB0aGV5IHdyYXAgYWNyb3NzIG11bHRpcGxlIGxpbmVzXG4gIC5nb3Z1ay1idXR0b24tZ3JvdXAge1xuICAgICRob3Jpem9udGFsLWdhcDogZ292dWstc3BhY2luZygzKTtcbiAgICAkdmVydGljYWwtZ2FwOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgLy8gVGhlc2UgbmVlZCB0byBiZSBrZXB0IGluIHN5bmMgd2l0aCB0aGUgYnV0dG9uIGNvbXBvbmVudCdzIHN0eWxlc1xuICAgICRidXR0b24tcGFkZGluZzogZ292dWstc3BhY2luZygyKTtcbiAgICAkYnV0dG9uLXNoYWRvdy1zaXplOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudDtcblxuICAgICRsaW5rLXNwYWNpbmc6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiLCAkYWRqdXN0bWVudDogJHZlcnRpY2FsLWdhcCAqIC0xKTtcblxuICAgIC8vIEZsZXhib3ggaXMgdXNlZCB0byBjZW50ZXItYWxpZ24gbGlua3Mgb24gbW9iaWxlLCBhbGlnbiBldmVyeXRoaW5nIGFsb25nXG4gICAgLy8gdGhlIGJhc2VsaW5lIG9uIHRhYmxldCBhbmQgYWJvdmUsIGFuZCB0byByZW1vdmVzIGV4dHJhIHdoaXRlc3BhY2UgdGhhdFxuICAgIC8vIHdlJ2QgZ2V0IGJldHdlZW4gdGhlIGJ1dHRvbnMgYW5kIGxpbmtzIGJlY2F1c2UgdGhleSdyZSBpbmxpbmUtYmxvY2tzLlxuICAgIC8vXG4gICAgLy8gSWRlYWxseSB3ZSdkIHVzZSBgZ2FwYCB3aXRoIGZsZXhib3ggcmF0aGVyIHRoYW4gaGF2aW5nIHRvIGRvIGl0IGFsbCB3aXRoXG4gICAgLy8gbWFyZ2lucywgYnV0IHVuZm9ydHVuYXRlbHkgdGhlIHN1cHBvcnQgaXNuJ3QgdGhlcmUgKHlldCkgYW5kIEBzdXBwb3J0c1xuICAgIC8vIGRvZXNuJ3QgcGxheSBuaWNlbHkgd2l0aCBpdFxuICAgIC8vIChodHRwczovL2dpdGh1Yi5jb20vdzNjL2Nzc3dnLWRyYWZ0cy9pc3N1ZXMvMzU1OSlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XG4gICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIC8vIEdpdmUgbGlua3Mgd2l0aGluIHRoZSBidXR0b24gZ3JvdXAgdGhlIHNhbWUgZm9udC1zaXplIGFuZCBsaW5lLWhlaWdodFxuICAgIC8vIGFzIGJ1dHRvbnMuXG4gICAgLy9cbiAgICAvLyBCZWNhdXNlIHdlIHdhbnQgdGhlIGZvY3VzIHN0YXRlIHRvIGJlIHRpZ2h0IGFyb3VuZCB0aGUgbGluayB0ZXh0LCB3ZSB1c2VcbiAgICAvLyBtYXJnaW5zIHdoZXJlIHRoZSBidXR0b25zIHdvdWxkIHVzZSBwYWRkaW5nLlxuICAgIC5nb3Z1ay1saW5rIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDE5cHgpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLy8gUHJldmVudCBsaW5rcyBvdmVyZmxvd2luZyB0aGVpciBjb250YWluZXIgaW4gSUUxMC8xMSBiZWNhdXNlIG9mIGJ1Z1xuICAgICAgLy8gd2l0aCBhbGlnbi1pdGVtczogY2VudGVyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAkbGluay1zcGFjaW5nO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGxpbmstc3BhY2luZyArICR2ZXJ0aWNhbC1nYXA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLy8gUmVkdWNlIHRoZSBib3R0b20gbWFyZ2luIHRvIHRoZSBzaXplIG9mIHRoZSB2ZXJ0aWNhbCBnYXAgKGFjY29tbW9kYXRpbmdcbiAgICAvLyB0aGUgYnV0dG9uIHNoYWRvdykg4oCTIHRoZSAnbG9zdCcgbWFyZ2luIGlzIG1vdmVkIHRvIHRoZSBidXR0b24tZ3JvdXAuXG4gICAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdmVydGljYWwtZ2FwICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZTtcbiAgICB9XG5cbiAgICAvLyBPbiB0YWJsZXQgYW5kIGFib3ZlLCB3ZSBhbHNvIGludHJvZHVjZSBhICdjb2x1bW4gZ2FwJyBiZXR3ZWVuIHRoZVxuICAgIC8vIGJ1dHRvbnMgYW5kIGxpbmtzIGluIGVhY2ggcm93IGFuZCBsZWZ0IGFsaWduIGxpbmtzXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLy8gQ2FuY2VsIG91dCB0aGUgY29sdW1uIGdhcCBmb3IgdGhlIGxhc3QgaXRlbSBpbiBlYWNoIHJvd1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoJGhvcml6b250YWwtZ2FwICogLTEpO1xuXG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG5cbiAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuXG4gICAgICAgICAgLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGJhc2VsaW5lO1xuICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBiYXNlbGluZTtcbiAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXG4gICAgICAuZ292dWstYnV0dG9uLFxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpem9udGFsLWdhcDtcbiAgICAgIH1cblxuICAgICAgLmdvdnVrLWxpbmsge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL29iamVjdHMvZm9ybS1ncm91cFwiKSB7XG4gIC5nb3Z1ay1mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIC5nb3Z1ay1mb3JtLWdyb3VwOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZW1vdmUgbWFyZ2luIGZyb20gbGFzdCBpdGVtIGluIG5lc3RlZCBncm91cHNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9ybS1ncm91cC0tZXJyb3Ige1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWdyb3VwLWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAuZ292dWstZm9ybS1ncm91cCB7XG4gICAgICAvLyBSZXNldCBlcnJvciBzdHlsZXMgaW4gbmVzdGVkIGZvcm0gZ3JvdXBzIHRoYXQgbWlnaHQgaGF2ZSBlcnJvciBjbGFzc1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL2dyaWRcIikge1xuICAuZ292dWstZ3JpZC1yb3cge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICAgIG1hcmdpbi1yaWdodDogLSAoJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgICBtYXJnaW4tbGVmdDogLSAoJGdvdnVrLWd1dHRlci1oYWxmKTtcbiAgfVxuXG4gIEBlYWNoICR3aWR0aCBpbiBtYXAta2V5cygkZ292dWstZ3JpZC13aWR0aHMpIHtcbiAgICAuZ292dWstZ3JpZC1jb2x1bW4tI3skd2lkdGh9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWdyaWQtY29sdW1uKCR3aWR0aCk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlc2UgKm11c3QqIGJlIGRlZmluZWQgaW4gYSBzZXBhcmF0ZSBsb29wIGFzIHRoZXkgaGF2ZSB0aGUgc2FtZVxuICAvLyBzcGVjaWZpY2l0eSBhcyB0aGUgbm9uLWJyZWFrcG9pbnQgc3BlY2lmaWMgY2xhc3Nlcywgc28gbmVlZCB0byBhcHBlYXIgYWZ0ZXJcbiAgLy8gdGhlbSBpbiB0aGUgb3V0cHV0dGVkIENTU1xuICBAZWFjaCAkd2lkdGggaW4gbWFwLWtleXMoJGdvdnVrLWdyaWQtd2lkdGhzKSB7XG4gICAgLmdvdnVrLWdyaWQtY29sdW1uLSN7JHdpZHRofS1mcm9tLWRlc2t0b3Age1xuICAgICAgQGluY2x1ZGUgZ292dWstZ3JpZC1jb2x1bW4oJHdpZHRoLCAkYXQ6IGRlc2t0b3ApO1xuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuLy8vL1xuLy8vIEBncm91cCBvYmplY3RzL2xheW91dFxuLy8vL1xuXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGggQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDwhLS0gQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3MgYXJlIHBsYWNlZCBpbiBoZXJlLiAtLT5cbi8vICAgPGRpdiBjbGFzcz1cImdvdnVrLW1haW4td3JhcHBlclwiPlxuLy8gICAgICAgPCEtLSBXcmFwcGVyIGZvciB0aGUgbWFpbiBjb250ZW50IG9mIHlvdXIgcGFnZSB3aGljaCBhcHBsaWVzIHBhZGRpbmdcbi8vICAgICAgICAgICAgdG8gdGhlIHRvcCAvIGJvdHRvbSAtLT5cbi8vICAgPC9kaXY+XG4vLyA8L2Rpdj5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlIHdpdGhvdXQgQnJlYWRjcnVtYnMsIHBoYXNlIGJhbm5lcnMsIGJhY2sgbGlua3M6XG4vLyA8ZGl2IGNsYXNzPVwiZ292dWstd2lkdGgtY29udGFpbmVyXCI+XG4vLyAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1tYWluLXdyYXBwZXIgZ292dWstbWFpbi13cmFwcGVyLS1sXCI+XG4vLyAgICAgICA8IS0tIFdyYXBwZXIgZm9yIHRoZSBtYWluIGNvbnRlbnQgb2YgeW91ciBwYWdlIHdoaWNoIGFwcGxpZXMgcGFkZGluZ1xuLy8gICAgICAgICAgICB0byB0aGUgdG9wIC8gYm90dG9tIC0tPlxuLy8gICA8L2Rpdj5cbi8vIDwvZGl2PlxuXG4vLy8gQGRlcHJlY2F0ZWQgUmVwbGFjZSB0aGlzIG1peGluIHdpdGggbW9yZSBkaXJlY3QgcmVmZXJlbmNlcyB0byB0aGUgW3NwYWNpbmdcbi8vLyBtaXhpbnNdKGh0dHBzOi8vZGVzaWduLXN5c3RlbS5zZXJ2aWNlLmdvdi51ay9zdHlsZXMvc3BhY2luZy8jc3BhY2luZy1vbi1jdXN0b20tY29tcG9uZW50cykuXG5AbWl4aW4gZ292dWstbWFpbi13cmFwcGVyIHtcbiAgLy8gSW4gSUUxMSB0aGUgYG1haW5gIGVsZW1lbnQgY2FuIGJlIHVzZWQsIGJ1dCBpcyBub3QgcmVjb2duaXplZCAg4oCTXG4gIC8vIG1lYW5pbmcgaXQncyBub3QgZGVmaW5lZCBpbiBJRSdzIGRlZmF1bHQgc3R5bGUgc2hlZXQsXG4gIC8vIHNvIGl0IHVzZXMgQ1NTIGluaXRpYWwgdmFsdWUsIHdoaWNoIGlzIGlubGluZS5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgLy8gVGhpcyBzcGFjaW5nIGlzIG1hbnVhbGx5IGFkanVzdGVkIHRvIHJlcGxpY2F0ZSB0aGUgbWFyZ2luIG9mXG4gICAgLy8gZ292dWstaGVhZGluZy14bCAoNTBweCkgbWludXMgdGhlIHNwYWNpbmcgb2YgYmFjayBsaW5rIGFuZFxuICAgIC8vIGJyZWFkY3J1bWJzICgxMHB4KVxuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDcpO1xuICB9XG59XG5cbi8vLyBVc2UgZ292dWstbWFpbi13cmFwcGVyLS1sIHdoZW4geW91IHBhZ2UgZG9lcyBub3QgaGF2ZSBCcmVhZGNydW1icywgcGhhc2Vcbi8vLyBiYW5uZXJzIG9yIGJhY2sgbGlua3MuXG4vLy9cbi8vLyBAZGVwcmVjYXRlZCBSZXBsYWNlIHRoaXMgbWl4aW4gd2l0aCBtb3JlIGRpcmVjdCByZWZlcmVuY2VzIHRvIHRoZSBbc3BhY2luZ1xuLy8vIG1peGluc10oaHR0cHM6Ly9kZXNpZ24tc3lzdGVtLnNlcnZpY2UuZ292LnVrL3N0eWxlcy9zcGFjaW5nLyNzcGFjaW5nLW9uLWN1c3RvbS1jb21wb25lbnRzKS5cbkBtaXhpbiBnb3Z1ay1tYWluLXdyYXBwZXItLWwge1xuICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoOCwgXCJ0b3BcIik7XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL21haW4td3JhcHBlclwiKSB7XG4gIC5nb3Z1ay1tYWluLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1haW4td3JhcHBlcjtcbiAgfVxuXG4gIC8vIFVzaW5nIHRoZSBgLmdvdnVrLW1haW4td3JhcHBlci0tYXV0by1zcGFjaW5nYCBtb2RpZmllciBzaG91bGQgYXBwbHkgdGhlXG4gIC8vIGNvcnJlY3Qgc3BhY2luZyBkZXBlbmRpbmcgb24gd2hldGhlciB0aGVyZSBhcmUgYW55IGVsZW1lbnRzXG4gIC8vIChzdWNoIHRoZSBiYWNrIGxpbmssIGJyZWFkY3J1bWJzIG9yIHBoYXNlIGJhbm5lciBjb21wb25lbnRzKSBiZWZvcmUgdGhlXG4gIC8vIGAuZ292dWstbWFpbi13cmFwcGVyYCBpbiB0aGUgYGdvdnVrLXdpZHRoLWNvbnRhaW5lcmAuXG4gIC8vXG4gIC8vIElmIHlvdSBuZWVkIHRvIGNvbnRyb2wgdGhlIHNwYWNpbmcgbWFudWFsbHksIHVzZSB0aGVcbiAgLy8gYGdvdnVrLW1haW4td3JhcHBlci0tbGAgbW9kaWZpZXIgaW5zdGVhZC5cbiAgLmdvdnVrLW1haW4td3JhcHBlci0tYXV0by1zcGFjaW5nOmZpcnN0LWNoaWxkLFxuICAuZ292dWstbWFpbi13cmFwcGVyLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tYWluLXdyYXBwZXItLWw7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2JqZWN0cy9sYXlvdXRcbi8vLy9cblxuLy8vIFdpZHRoIGNvbnRhaW5lciBtaXhpblxuLy8vXG4vLy8gVXNlZCB0byBjcmVhdGUgcGFnZSB3aWR0aCBhbmQgY3VzdG9tIHdpZHRoIGNvbnRhaW5lciBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3aWR0aCBbJGdvdnVrLXBhZ2Utd2lkdGhdIC0gV2lkdGggaW4gcGl4ZWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gQ3JlYXRpbmcgYSAxMjAwcHggd2lkZSBjb250YWluZXIgY2xhc3Ncbi8vLyAgLmFwcC13aWR0aC1jb250YWluZXItLXdpZGUge1xuLy8vICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcigxMjAwcHgpO1xuLy8vICB9XG4vLy9cbi8vLyBAYWNjZXNzIHB1YmxpY1xuXG5AbWl4aW4gZ292dWstd2lkdGgtY29udGFpbmVyKCR3aWR0aDogJGdvdnVrLXBhZ2Utd2lkdGgpIHtcblxuICAvLyBCeSBkZWZhdWx0LCBsaW1pdCB0aGUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciB0byB0aGUgcGFnZSB3aWR0aFxuICBtYXgtd2lkdGg6ICR3aWR0aDtcblxuICAvLyBPbiBtb2JpbGUsIGFkZCBoYWxmIHdpZHRoIGd1dHRlcnNcbiAgbWFyZ2luLXJpZ2h0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG4gIG1hcmdpbi1sZWZ0OiAkZ292dWstZ3V0dGVyLWhhbGY7XG5cbiAgLy8gUmVzcGVjdCAnZGlzcGxheSBjdXRvdXQnIHNhZmUgYXJlYSAoYXZvaWRzIG5vdGNoZXMgYW5kIHJvdW5kZWQgY29ybmVycylcbiAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpKTtcbiAgICAkZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0OiBjYWxjKCN7JGdvdnVrLWd1dHRlci1oYWxmfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAvLyBFc2NhcGVkIGR1ZSB0byBTYXNzIG1heCgpIHZzLiBDU1MgbmF0aXZlIG1heCgpXG4gICAgbWFyZ2luLXJpZ2h0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1yaWdodH0pXCIpO1xuICAgIG1hcmdpbi1sZWZ0OiB1bnF1b3RlKFwibWF4KCN7JGdvdnVrLWd1dHRlci1oYWxmfSwgI3skZ3V0dGVyLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gIH1cblxuICAvLyBPbiB0YWJsZXQsIGFkZCBmdWxsIHdpZHRoIGd1dHRlcnNcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlcjtcbiAgICBtYXJnaW4tbGVmdDogJGdvdnVrLWd1dHRlcjtcblxuICAgIC8vIFJlc3BlY3QgJ2Rpc3BsYXkgY3V0b3V0JyBzYWZlIGFyZWEgKGF2b2lkcyBub3RjaGVzIGFuZCByb3VuZGVkIGNvcm5lcnMpXG4gICAgQHN1cHBvcnRzIChtYXJnaW46IHVucXVvdGUoXCJtYXgoY2FsYygwcHgpKVwiKSkge1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtcmlnaHQ6IGNhbGMoI3skZ292dWstZ3V0dGVyLWhhbGZ9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICAgJGd1dHRlci1zYWZlLWFyZWEtbGVmdDogY2FsYygjeyRnb3Z1ay1ndXR0ZXItaGFsZn0gKyBlbnYoc2FmZS1hcmVhLWluc2V0LWxlZnQpKTtcblxuICAgICAgLy8gVXNlIG1heCgpIHRvIHBpY2sgbGFyZ2VzdCBtYXJnaW4sIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICAgIG1hcmdpbi1yaWdodDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLXJpZ2h0fSlcIik7XG4gICAgICBtYXJnaW4tbGVmdDogdW5xdW90ZShcIm1heCgjeyRnb3Z1ay1ndXR0ZXJ9LCAjeyRndXR0ZXItc2FmZS1hcmVhLWxlZnR9KVwiKTtcbiAgICB9XG4gIH1cblxuICAvLyBBcyBzb29uIGFzIHRoZSB2aWV3cG9ydCBpcyBncmVhdGVyIHRoYW4gdGhlIHdpZHRoIG9mIHRoZSBwYWdlIHBsdXMgdGhlXG4gIC8vIGd1dHRlcnMsIGp1c3QgY2VudHJlIHRoZSBjb250ZW50IGluc3RlYWQgb2YgYWRkaW5nIGd1dHRlcnMuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRhbmQ6IFwiKG1pbi13aWR0aDogI3soJHdpZHRoICsgJGdvdnVrLWd1dHRlciAqIDIpfSlcIikge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAgIC8vIFNpbmNlIGEgc2FmZSBhcmVhIG1heSBoYXZlIHByZXZpb3VzbHkgYmVlbiBzZXQgYWJvdmUsXG4gICAgLy8gd2UgbmVlZCB0byBkdXBsaWNhdGUgdGhpcyBtYXJnaW4gdGhhdCBjZW50ZXJzIHRoZSBwYWdlLlxuICAgIEBzdXBwb3J0cyAobWFyZ2luOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICAvLyBTaW5jZSBtZWRpYSBxdWVyaWVzIGFyZSBub3Qgc3VwcG9ydGVkIGluIElFOCxcbiAgICAvLyB3ZSBuZWVkIHRvIGR1cGxpY2F0ZSB0aGlzIG1hcmdpbiB0aGF0IGNlbnRlcnMgdGhlIHBhZ2UuXG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vYmplY3RzL3dpZHRoLWNvbnRhaW5lclwiKSB7XG4gIC5nb3Z1ay13aWR0aC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLXdpZHRoLWNvbnRhaW5lcjtcbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuQGltcG9ydCBcImFjY29yZGlvbi9pbmRleFwiO1xuQGltcG9ydCBcImJhY2stbGluay9pbmRleFwiO1xuQGltcG9ydCBcImJyZWFkY3J1bWJzL2luZGV4XCI7XG5AaW1wb3J0IFwiYnV0dG9uL2luZGV4XCI7XG5AaW1wb3J0IFwiY2hlY2tib3hlcy9pbmRleFwiO1xuQGltcG9ydCBcImNoYXJhY3Rlci1jb3VudC9pbmRleFwiO1xuQGltcG9ydCBcImNvb2tpZS1iYW5uZXIvaW5kZXhcIjtcbkBpbXBvcnQgXCJzdW1tYXJ5LWxpc3QvaW5kZXhcIjtcbkBpbXBvcnQgXCJkYXRlLWlucHV0L2luZGV4XCI7XG5AaW1wb3J0IFwiZGV0YWlscy9pbmRleFwiO1xuQGltcG9ydCBcImVycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCJlcnJvci1zdW1tYXJ5L2luZGV4XCI7XG5AaW1wb3J0IFwiZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCJmaWxlLXVwbG9hZC9pbmRleFwiO1xuQGltcG9ydCBcImZvb3Rlci9pbmRleFwiO1xuQGltcG9ydCBcImhpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCJoZWFkZXIvaW5kZXhcIjtcbkBpbXBvcnQgXCJpbnB1dC9pbmRleFwiO1xuQGltcG9ydCBcImluc2V0LXRleHQvaW5kZXhcIjtcbkBpbXBvcnQgXCJsYWJlbC9pbmRleFwiO1xuQGltcG9ydCBcIm5vdGlmaWNhdGlvbi1iYW5uZXIvaW5kZXhcIjtcbkBpbXBvcnQgXCJwYW5lbC9pbmRleFwiO1xuQGltcG9ydCBcInBoYXNlLWJhbm5lci9pbmRleFwiO1xuQGltcG9ydCBcInRhYnMvaW5kZXhcIjtcbkBpbXBvcnQgXCJ0YWcvaW5kZXhcIjtcbkBpbXBvcnQgXCJyYWRpb3MvaW5kZXhcIjtcbkBpbXBvcnQgXCJzZWxlY3QvaW5kZXhcIjtcbkBpbXBvcnQgXCJza2lwLWxpbmsvaW5kZXhcIjtcbkBpbXBvcnQgXCJ0YWJsZS9pbmRleFwiO1xuQGltcG9ydCBcInRleHRhcmVhL2luZGV4XCI7XG5AaW1wb3J0IFwid2FybmluZy10ZXh0L2luZGV4XCI7XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2FjY29yZGlvblwiKSB7XG4gIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLy8gQm9yZGVycyBiZXR3ZWVuIGFjY29yZGlvbiBzZWN0aW9uc1xuICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24taGVhZGluZyB7XG4gICAgLy8gT3ZlcnJpZGUgYnJvd3NlciBkZWZhdWx0cyB0byBlbnN1cmUgY29uc2lzdGVudCBlbGVtZW50IGhlaWdodFxuICAgIC8vIEZvbnQgc2l6ZSBpcyBzZXQgaW4gLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b25cbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KDI0KTtcblxuICAgIG1hcmdpbi10b3A6IDA7IC8vIE92ZXJyaWRlIGJyb3dzZXIgZGVmYXVsdFxuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGJyb3dzZXIgZGVmYXVsdFxuICB9XG5cbiAgLy8gQnV0dG9ucyB3aXRoaW4gdGhlIHNlY3Rpb25zIGRvbuKAmXQgbmVlZCBkZWZhdWx0IHN0eWxpbmdcbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1idXR0b24ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tc3VtbWFyeSB7XG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3R0b20gbWFyZ2luIGZyb20gdGhlIGxhc3QgaXRlbSBpbnNpZGUgdGhlIGNvbnRlbnRcbiAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAvLyBKYXZhU2NyaXB0IGVuYWJsZWRcbiAgLmpzLWVuYWJsZWQge1xuICAgIC5nb3Z1ay1hY2NvcmRpb24ge1xuICAgICAgLy8gQm9yZGVyIGF0IHRoZSBib3R0b20gb2YgdGhlIHdob2xlIGFjY29yZGlvblxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIEJvcmRlcnMgYmV0d2VlbiBhY2NvcmRpb24gc2VjdGlvbnNcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGJvZHkgb2YgY29sbGFwc2VkIHNlY3Rpb25zXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJ0b3BcIik7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoMywgXCJib3R0b21cIik7XG4gICAgfVxuXG4gICAgLy8gU2hvdyB0aGUgYm9keSBvZiBleHBhbmRlZCBzZWN0aW9uc1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tLWV4cGFuZGVkIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIHN0eWxlZCB0byBsb29rIGxpa2UgYSBsaW5rIG5vdCBhIGJ1dHRvblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX29wZW4tYWxsIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xuXG4gICAgICAvLyBSZW1vdmUgZGVmYXVsdCBidXR0b24gZm9jdXMgb3V0bGluZSBpbiBGaXJlZm94XG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlY3Rpb24gaGVhZGVycyBoYXZlIGEgcG9pbnRlciBjdXJzb3IgYXMgYW4gYWRkaXRpb25hbCBhZmZvcmRhbmNlXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi1oZWFkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy8gU2FmZSBhcmVhIG9uIHRoZSByaWdodCB0byBhdm9pZCBjbGFzaGluZyB3aXRoIGljb25cbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9ucyB3aXRoaW4gdGhlIGhlYWRlcnMgZG9u4oCZdCBuZWVkIGRlZmF1bHQgc3R5bGluZ1xuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktY29tbW9uO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBmb2N1cyBvdXRsaW5lIGluIEZpcmVmb3hcbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXh0ZW5kIHRoZSB0b3VjaCBhcmVhIG9mIHRoZSBidXR0b24gdG8gc3BhbiB0aGUgc2VjdGlvbiBoZWFkZXJcbiAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX3NlY3Rpb24tYnV0dG9uOmhvdmVyOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1ob3Zlci1jb2xvdXI7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgLy8gVGhpcyBuZWVkcyB0byBjb21lIGFmdGVyIHRoZSB0ZXh0LWRlY29yYXRpb24gcHJvcGVydHkgb3RoZXJ3aXNlXG4gICAgICAvLyB0ZXh0LWRlY29yYXRpb24sIGFzIGEgc2hvcnRoYW5kIHByb3BlcnR5LCByZXNldHMgaXQgdG8gYXV0b1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICAgIH1cblxuICAgIC8vIEZvciBkZXZpY2VzIHRoYXQgY2FuJ3QgaG92ZXIgc3VjaCBhcyB0b3VjaCBkZXZpY2VzLFxuICAgIC8vIHJlbW92ZSBob3ZlciBzdGF0ZSBhcyBpdCBjYW4gYmUgc3R1Y2sgaW4gdGhhdCBzdGF0ZSAoaU9TKS5cbiAgICBAbWVkaWEgKGhvdmVyOiBub25lKSB7XG4gICAgICAuZ292dWstYWNjb3JkaW9uX19zZWN0aW9uLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19jb250cm9scyB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAvLyBEaXNwbGF5IGFuIGljb24gdG8gdGhlIHJpZ2h0IG9mIGVhY2ggaGVhZGVyIHRvIGluZGljYXRlIG9wZW4vY2xvc2VkIHN0YXR1cyxcbiAgICAvLyBhbmQgYXMgYW4gYWRkaXRpb25hbCBhZmZvcmRhbmNlLlxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19pY29uOmFmdGVyLFxuICAgIC5nb3Z1ay1hY2NvcmRpb25fX2ljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDI1JTtcbiAgICAgIGhlaWdodDogMjUlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19pY29uOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZ292dWstYWNjb3JkaW9uX19pY29uOmFmdGVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBiYXIgc2hvdWxkIGJlIGhpZGRlbiB3aGVuIHNlY3Rpb24gaXMgb3BlbiwgdG8gZGlzcGxheSBhICctJyBpY29uXG4gICAgLmdvdnVrLWFjY29yZGlvbl9fc2VjdGlvbi0tZXhwYW5kZWQgLmdvdnVrLWFjY29yZGlvbl9faWNvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JhY2stbGlua1wiKSB7XG5cbiAgLy8gU2l6ZSBvZiBjaGV2cm9uIChleGNsdWRpbmcgYm9yZGVyKVxuICAkY2hldnJvbi1zaXplOiA3cHg7XG5cbiAgLy8gU2l6ZSBvZiBjaGV2cm9uIGJvcmRlclxuICAkY2hldnJvbi1ib3JkZXItd2lkdGg6IDFweDtcblxuICAvLyBDb2xvdXIgb2YgY2hldnJvblxuICAkY2hldnJvbi1ib3JkZXItY29sb3VyOiAkZ292dWstc2Vjb25kYXJ5LXRleHQtY29sb3VyO1xuXG4gIC5nb3Z1ay1iYWNrLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgICAvLyBBbGxvdyBzcGFjZSBmb3IgdGhlIGFycm93XG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICB9XG5cbiAgLy8gUHJlcGVuZCBsZWZ0IHBvaW50aW5nIGNoZXZyb25cbiAgLmdvdnVrLWJhY2stbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBWZXJ0aWNhbGx5IGFsaWduIHdpdGggdGhlIHBhcmVudCBlbGVtZW50XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgQGlmICRnb3Z1ay11c2UtbGVnYWN5LWZvbnQge1xuICAgICAgLy8gQmVnaW4gYWRqdXN0bWVudHMgZm9yIGZvbnQgYmFzZWxpbmUgb2Zmc2V0XG4gICAgICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIGxlZ2FjeSBmb250IHN1cHBvcnQgaXMgZHJvcHBlZFxuICAgICAgdG9wOiAtMXB4O1xuICAgICAgYm90dG9tOiAxcHg7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuXG4gICAgbGVmdDogM3B4O1xuXG4gICAgd2lkdGg6ICRjaGV2cm9uLXNpemU7XG4gICAgaGVpZ2h0OiAkY2hldnJvbi1zaXplO1xuXG4gICAgbWFyZ2luOiBhdXRvIDA7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG5cbiAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG5cbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDIyNWRlZyk7XG5cbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogJGNoZXZyb24tYm9yZGVyLXdpZHRoICRjaGV2cm9uLWJvcmRlci13aWR0aCAwIDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgLy8gRmFsbCBiYWNrIHRvIGEgbGVzcyB0aGFuIHNpZ24gZm9yIElFOFxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICBjb250ZW50OiBcIlxcMDAzY1wiOyAvLyBMZXNzIHRoYW4gc2lnbiAoPClcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICRjaGV2cm9uLWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIC8vIElFOCBkb2Vzbid0IHNlZW0gdG8gbGlrZSByZW5kZXJpbmcgcHNldWRvLWVsZW1lbnRzIHVzaW5nIEBmb250LWZhY2VzLFxuICAgICAgLy8gc28gZmFsbCBiYWNrIHRvIHVzaW5nIGFub3RoZXIgc2Fucy1zZXJpZiBmb250IHRvIHJlbmRlciB0aGUgY2hldnJvbi5cbiAgICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstYmFjay1saW5rOmZvY3VzOmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstYmFjay1saW5rOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0xNHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogLTE0cHg7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIEBpZiAkZ292dWstdXNlLWxlZ2FjeS1mb250IHtcbiAgICAvLyBCZWdpbiBhZGp1c3RtZW50cyBmb3IgZm9udCBiYXNlbGluZSBvZmZzZXRcbiAgICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIGxlZ2FjeSBmb250IHN1cHBvcnQgaXMgZHJvcHBlZFxuICAgIC5nb3Z1ay1iYWNrLWxpbms6YmVmb3JlIHtcbiAgICAgICRvZmZzZXQ6IDFweDtcblxuICAgICAgdG9wOiAkb2Zmc2V0ICogLTE7XG4gICAgICBib3R0b206ICRvZmZzZXQ7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2JyZWFkY3J1bWJzXCIpIHtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gKGV4Y2x1ZGluZyBib3JkZXIpXG4gICRjaGV2cm9uLXNpemU6IDdweDtcblxuICAvLyBTaXplIG9mIGNoZXZyb24gYm9yZGVyXG4gICRjaGV2cm9uLWJvcmRlci13aWR0aDogMXB4O1xuXG4gIC8vIENvbG91ciBvZiBjaGV2cm9uXG4gICRjaGV2cm9uLWJvcmRlci1jb2xvdXI6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG5cbiAgLy8gQ2FsY3VsYXRlZCBhbHRpdHVkZSAo4paz4oaVKSBvZiB0aGUgcmlnaHQtYW5nbGVkIGlzb3NjZWxlcyBjaGV2cm9uIHdpdGggc2lkZXNcbiAgLy8gb2YgbGVuZ3RoIDggKDdweCArIDFweCBib3JkZXIpOlxuICAvL1xuICAvLyDiiJooOMKyICsgOMKyKSAqIDAuNSDiiYUgNS42NTVcbiAgJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZDogNS42NTVweDtcblxuICAuZ292dWstYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIG1hcmdpbi10b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1ic19fbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG5cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3QtaXRlbSB7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIEFkZCBib3RoIG1hcmdpbiBhbmQgcGFkZGluZyBzdWNoIHRoYXQgdGhlIGNoZXZyb24gYXBwZWFycyBjZW50cmFsbHlcbiAgICAvLyBiZXR3ZWVuIGVhY2ggYnJlYWRjcnVtYiBpdGVtXG4gICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDIpICsgJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZDtcblxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgLy8gQ3JlYXRlIGEgY2hldnJvbiB1c2luZyBhIGJveCB3aXRoIGJvcmRlcnMgb24gdHdvIHNpZGVzLCByb3RhdGVkIDQ1ZGVnLlxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICBAaWYgJGdvdnVrLXVzZS1sZWdhY3ktZm9udCB7XG4gICAgICAgIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAgICAgICAvLyBUaGVzZSBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIGxlZ2FjeSBmb250IHN1cHBvcnQgaXMgZHJvcHBlZFxuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIGJvdHRvbTogMXB4O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBPZmZzZXQgYnkgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgd2lkdGggb2YgdGhlIG5vbi1yb3RhdGVkIHNxdWFyZVxuICAgICAgLy8gYW5kIGl0cyB3aWR0aCB3aGVuIHJvdGF0ZWRcbiAgICAgIGxlZnQ6ICgoJGNoZXZyb24tYWx0aXR1ZGUtY2FsY3VsYXRlZCAqIC0yKSArICRjaGV2cm9uLXNpemUgKyAkY2hldnJvbi1ib3JkZXItd2lkdGgpO1xuXG4gICAgICB3aWR0aDogJGNoZXZyb24tc2l6ZTtcbiAgICAgIGhlaWdodDogJGNoZXZyb24tc2l6ZTtcblxuICAgICAgbWFyZ2luOiBhdXRvIDA7XG5cbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgIGJvcmRlcjogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6ICRjaGV2cm9uLWJvcmRlci13aWR0aCAkY2hldnJvbi1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY2hldnJvbi1ib3JkZXItY29sb3VyO1xuXG4gICAgICAvLyBGYWxsIGJhY2sgdG8gYSBncmVhdGVyIHRoYW4gc2lnbiBmb3IgSUU4XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBjb250ZW50OiBcIlxcMDAzZVwiOyAvLyBHcmVhdGVyIHRoYW4gc2lnbiAoPilcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogJGNoZXZyb24tYm9yZGVyLWNvbG91cjtcblxuICAgICAgICAvLyBJRTggZG9lc24ndCBzZWVtIHRvIGxpa2UgcmVuZGVyaW5nIHBzZXVkby1lbGVtZW50cyB1c2luZyBAZm9udC1mYWNlcyxcbiAgICAgICAgLy8gc28gZmFsbCBiYWNrIHRvIHVzaW5nIGFub3RoZXIgc2Fucy1zZXJpZiBmb250IHRvIHJlbmRlciB0aGUgY2hldnJvbi5cbiAgICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnJlYWRjcnVtYnNfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstY29tbW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgfVxuXG4gIC5nb3Z1ay1icmVhZGNydW1icy0tY29sbGFwc2Utb24tbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgLmdvdnVrLWJyZWFkY3J1bWJzX19saXN0LWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogNnB4O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZ292dWstYnJlYWRjcnVtYnNfX2xpc3Qge1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2J1dHRvblwiKSB7XG4gICRnb3Z1ay1idXR0b24tY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJncmVlblwiLCAkbGVnYWN5OiAjMDA4MjNiKTtcbiAgJGdvdnVrLWJ1dHRvbi1ob3Zlci1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1idXR0b24tY29sb3VyLCAyMCUpO1xuICAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI6IGdvdnVrLXNoYWRlKCRnb3Z1ay1idXR0b24tY29sb3VyLCA2MCUpO1xuICAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAvLyBTZWNvbmRhcnkgYnV0dG9uIHZhcmlhYmxlc1xuICAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIik7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLWhvdmVyLWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyLCAxMCUpO1xuICAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1zaGFkb3ctY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsIDQwJSk7XG4gICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAvLyBXYXJuaW5nIGJ1dHRvbiB2YXJpYWJsZXNcbiAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91cjogZ292dWstY29sb3VyKFwicmVkXCIpO1xuICAkZ292dWstd2FybmluZy1idXR0b24taG92ZXItY29sb3VyOiBnb3Z1ay1zaGFkZSgkZ292dWstd2FybmluZy1idXR0b24tY29sb3VyLCAyMCUpO1xuICAkZ292dWstd2FybmluZy1idXR0b24tc2hhZG93LWNvbG91cjogZ292dWstc2hhZGUoJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91ciwgNjAlKTtcbiAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLXRleHQtY29sb3VyOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcblxuICAvLyBCZWNhdXNlIHRoZSBzaGFkb3cgKHMwKSBpcyB2aXN1YWxseSAncGFydCBvZicgdGhlIGJ1dHRvbiwgd2UgbmVlZCB0byByZWR1Y2VcbiAgLy8gdGhlIGhlaWdodCBvZiB0aGUgYnV0dG9uIHRvIGNvbXBlbnNhdGUgYnkgYWRqdXN0aW5nIGl0cyBwYWRkaW5nIChzMSkgYW5kXG4gIC8vIGluY3JlYXNlIHRoZSBib3R0b20gbWFyZ2luIHRvIGluY2x1ZGUgaXQgKHMyKS5cbiAgJGJ1dHRvbi1zaGFkb3ctc2l6ZTogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgLmdvdnVrLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICRsaW5lLWhlaWdodDogMTlweCk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIiwgJGFkanVzdG1lbnQ6ICRidXR0b24tc2hhZG93LXNpemUpOyAvLyBzMlxuICAgIHBhZGRpbmc6IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQpIGdvdnVrLXNwYWNpbmcoMikgKGdvdnVrLXNwYWNpbmcoMikgLSAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCAtICgkYnV0dG9uLXNoYWRvdy1zaXplIC8gMikpOyAvLyBzMVxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnV0dG9uLWNvbG91cjtcbiAgICBib3gtc2hhZG93OiAwICRidXR0b24tc2hhZG93LXNpemUgMCAkZ292dWstYnV0dG9uLXNoYWRvdy1jb2xvdXI7IC8vIHMwXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICBib3JkZXItYm90dG9tOiAkYnV0dG9uLXNoYWRvdy1zaXplIHNvbGlkICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhhdCBhbnkgZ2xvYmFsIGxpbmsgc3R5bGVzIGFyZSBvdmVycmlkZGVuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCxcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkZ292dWstYnV0dG9uLXRleHQtY29sb3VyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC8vIEZpeCB1bndhbnRlZCBidXR0b24gcGFkZGluZyBpbiBGaXJlZm94XG4gICAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgLy8gQnVtcCB0aGUgYnV0dG9uIGRvd24gc28gaXQgbG9va3MgbGlrZSBpdHMgYmVpbmcgcHJlc3NlZCBpblxuICAgICAgdG9wOiAkYnV0dG9uLXNoYWRvdy1zaXplO1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gV2hlbiBjb2xvdXJzIGFyZSBvdmVycmlkZGVuLCBmb3IgZXhhbXBsZSB3aGVuIHVzZXJzIGhhdmUgYSBkYXJrIG1vZGUsXG4gICAgICAvLyBiYWNrZ3JvdW5kcyBhbmQgYm94LXNoYWRvd3MgZGlzYXBwZWFyLCBzbyB3ZSBuZWVkIHRvIGVuc3VyZSB0aGVyZSdzIGFcbiAgICAgIC8vIHRyYW5zcGFyZW50IG91dGxpbmUgd2hpY2ggd2lsbCBiZSBzZXQgdG8gYSB2aXNpYmxlIGNvbG91ci5cbiAgICAgIC8vIFNpbmNlIEludGVybmV0IEV4cGxvcmVyIDggZG9lcyBub3Qgc3VwcG9ydCBib3gtc2hhZG93LCB3ZSB3YW50IHRvIGZvcmNlIHRoZSB1c2VyLWFnZW50IG91dGxpbmVzXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgICAgLy8gU2luY2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lcyBub3Qgc3VwcG9ydCBgOm5vdCgpYCB3ZSBzZXQgYSBjbGVhcmVyIGZvY3VzIHN0eWxlIHRvIG1hdGNoIHVzZXItYWdlbnQgb3V0bGluZXMuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzIHNvXG4gICAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAgIC8vIHRleHQgd2hlbiBmb2N1c3NlZC5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzOm5vdCg6YWN0aXZlKTpub3QoOmhvdmVyKSB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICBjb2xvcjogJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDAgJGdvdnVrLWZvY3VzLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIFRoZSBmb2xsb3dpbmcgYWRqdXN0bWVudHMgZG8gbm90IHdvcmsgZm9yIDxpbnB1dCB0eXBlPVwiYnV0dG9uXCI+IGFzXG4gICAgLy8gbm9uLWNvbnRhaW5lciBlbGVtZW50cyBjYW5ub3QgaW5jbHVkZSBwc2V1ZG8gZWxlbWVudHMgKGkuZS4gOjpiZWZvcmUpLlxuXG4gICAgLy8gVXNlIGEgcHNldWRvIGVsZW1lbnQgdG8gZXhwYW5kIHRoZSBjbGljayB0YXJnZXQgYXJlYSB0byBpbmNsdWRlIHRoZVxuICAgIC8vIGJ1dHRvbidzIHNoYWRvdyBhcyB3ZWxsLCBpbiBjYXNlIHVzZXJzIHRyeSB0byBjbGljayBpdC5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgdG9wOiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG4gICAgICByaWdodDogLSRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuICAgICAgYm90dG9tOiAtKCRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICsgJGJ1dHRvbi1zaGFkb3ctc2l6ZSk7XG4gICAgICBsZWZ0OiAtJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIFdoZW4gdGhlIGJ1dHRvbiBpcyBhY3RpdmUgaXQgaXMgc2hpZnRlZCBkb3duIGJ5ICRidXR0b24tc2hhZG93LXNpemUgdG9cbiAgICAvLyBkZW5vdGUgYSAncHJlc3NlZCcgc3RhdGUuIElmIHRoZSB1c2VyIGhhcHBlbmVkIHRvIGNsaWNrIGF0IHRoZSB2ZXJ5IHRvcFxuICAgIC8vIG9mIHRoZSBidXR0b24sIHRoZWlyIG1vdXNlIGlzIG5vIGxvbmdlciBvdmVyIHRoZSBidXR0b24gKGJlY2F1c2UgaXQgaGFzXG4gICAgLy8gJ21vdmVkIGJlbmVhdGggdGhlbScpIGFuZCBzbyB0aGUgY2xpY2sgZXZlbnQgaXMgbm90IGZpcmVkLlxuICAgIC8vXG4gICAgLy8gVGhpcyBjb3JyZWN0cyB0aGF0IGJ5IHNoaWZ0aW5nIHRoZSB0b3Agb2YgdGhlIHBzZXVkbyBlbGVtZW50IHNvIHRoYXQgaXRcbiAgICAvLyBjb250aW51ZXMgdG8gY292ZXIgdGhlIGFyZWEgdGhhdCB0aGUgdXNlciBvcmlnaW5hbGx5IGNsaWNrZWQsIHdoaWNoIG1lYW5zXG4gICAgLy8gdGhlIGNsaWNrIGV2ZW50IGlzIHN0aWxsIGZpcmVkLlxuICAgIC8vXG4gICAgLy8g8J+OiVxuICAgICY6YWN0aXZlOmJlZm9yZSB7XG4gICAgICB0b3A6IC0oJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgKyAkYnV0dG9uLXNoYWRvdy1zaXplKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstYnV0dG9uLS1kaXNhYmxlZCxcbiAgLmdvdnVrLWJ1dHRvbltkaXNhYmxlZD1cImRpc2FibGVkXCJdLFxuICAuZ292dWstYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogKC41KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJ1dHRvbi1jb2xvdXI7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1idXR0b24tc2hhZG93LWNvbG91cjsgLy8gczBcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRidXR0b24tc2hhZG93LXNpemUgc29saWQgJGdvdnVrLWJ1dHRvbi1zaGFkb3ctY29sb3VyOyAvLyBzMFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyO1xuICAgIGJveC1zaGFkb3c6IDAgJGJ1dHRvbi1zaGFkb3ctc2l6ZSAwICRnb3Z1ay1zZWNvbmRhcnktYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gYWxwaGFnb3YvZ292dWtfdGVtcGxhdGUgaW5jbHVkZXMgYSBzcGVjaWZpYyBhOmxpbms6Zm9jdXMgc2VsZWN0b3JcbiAgICAvLyBkZXNpZ25lZCB0byBtYWtlIHVudmlzaXRlZCBsaW5rcyBhIHNsaWdodGx5IGRhcmtlciBibHVlIHdoZW4gZm9jdXNzZWQsIHNvXG4gICAgLy8gd2UgbmVlZCB0byBvdmVycmlkZSB0aGUgdGV4dCBjb2xvdXIgZm9yIHRoYXQgY29tYmluYXRpb24gb2Ygc2VsZWN0b3JzIHNvXG4gICAgLy8gc28gdGhhdCB1bnZpc2l0ZWQgbGlua3Mgc3R5bGVkIGFzIGJ1dHRvbnMgZG8gbm90IGVuZCB1cCB3aXRoIGRhcmsgYmx1ZVxuICAgIC8vIHRleHQgd2hlbiBmb2N1c3NlZC5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc2Vjb25kYXJ5LWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG5cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXNlY29uZGFyeS1idXR0b24tY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1idXR0b24tLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1jb2xvdXI7XG4gICAgYm94LXNoYWRvdzogMCAkYnV0dG9uLXNoYWRvdy1zaXplIDAgJGdvdnVrLXdhcm5pbmctYnV0dG9uLXNoYWRvdy1jb2xvdXI7XG5cbiAgICAmLFxuICAgICY6bGluayxcbiAgICAmOnZpc2l0ZWQsXG4gICAgJjphY3RpdmUsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLXRleHQtY29sb3VyO1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycyBzb1xuICAgIC8vIHNvIHRoYXQgdW52aXNpdGVkIGxpbmtzIHN0eWxlZCBhcyBidXR0b25zIGRvIG5vdCBlbmQgdXAgd2l0aCBkYXJrIGJsdWVcbiAgICAvLyB0ZXh0IHdoZW4gZm9jdXNzZWQuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a190ZW1wbGF0ZSkge1xuICAgICAgJjpsaW5rOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRnb3Z1ay13YXJuaW5nLWJ1dHRvbi1ob3Zlci1jb2xvdXI7XG5cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLXdhcm5pbmctYnV0dG9uLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstYnV0dG9uLS1zdGFydCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDI0LCAkb3ZlcnJpZGUtbGluZS1oZWlnaHQ6IDEpO1xuXG4gICAgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94O1xuXG4gICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWluLWhlaWdodDogYXV0bztcblxuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcblxuICAgICAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLmdvdnVrLWJ1dHRvbl9fc3RhcnQtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogZGVza3RvcCkge1xuICAgICAgbWFyZ2luLWxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgfVxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICB9XG5cbiAgQGlmICRnb3Z1ay11c2UtbGVnYWN5LWZvbnQge1xuICAgIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldCB3aGVuIHVzaW5nIHYxIG9mIG50YVxuICAgICRvZmZzZXQ6IDI7XG5cbiAgICAuZ292dWstYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAoZ292dWstc3BhY2luZygyKSAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IC0gKCRidXR0b24tc2hhZG93LXNpemUgLyAyKSArICRvZmZzZXQpOyAvLyBzMVxuICAgICAgcGFkZGluZy1ib3R0b206IChnb3Z1ay1zcGFjaW5nKDIpIC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgLSAoJGJ1dHRvbi1zaGFkb3ctc2l6ZSAvIDIpIC0gJG9mZnNldCArIDEpOyAvLyBzMVxuICAgIH1cblxuICAgIC5nb3Z1ay1idXR0b25fX3N0YXJ0LWljb24ge1xuICAgICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9jaGVja2JveGVzXCIpIHtcblxuICAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU6IDQ0cHg7XG4gICRnb3Z1ay1jaGVja2JveGVzLXNpemU6IDQwcHg7XG4gICRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemU6IDI0cHg7XG4gICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDogZ292dWstc3BhY2luZygzKTtcblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWluLWhlaWdodDogJGdvdnVrLWNoZWNrYm94ZXMtc2l6ZTtcblxuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuXG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstY2hlY2tib3hlc19faXRlbTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQge1xuICAgICRpbnB1dC1vZmZzZXQ6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkZ292dWstY2hlY2tib3hlcy1zaXplKSAvIDI7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTggZG9lc27igJl0IHN1cHBvcnQgcHNldWRvLWVsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmVcbiAgICAvLyBlbGVtZW50cyB0aGVyZS5cbiAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogJGlucHV0LW9mZnNldCAqIC0xO1xuICAgICAgbGVmdDogJGlucHV0LW9mZnNldCAqIC0xO1xuXG4gICAgICB3aWR0aDogJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplO1xuICAgICAgaGVpZ2h0OiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLXNpemUgLyAtMjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZ292dWstY2hlY2tib3hlcy1zaXplIC8gLTI7XG4gICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgLy8gYWRkIGZvY3VzIG91dGxpbmUgdG8gaW5wdXRcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDhweCAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQgZ292dWstc3BhY2luZygxKTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gcmVtb3ZlIDMwMG1zIHBhdXNlIG9uIG1vYmlsZVxuICAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cblxuICAvLyBbIF0gQ2hlY2sgYm94XG4gIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6ICRnb3Z1ay1jaGVja2JveGVzLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstY2hlY2tib3hlcy1zaXplO1xuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLy8g4pyUIENoZWNrIG1hcmtcbiAgLy9cbiAgLy8gVGhlIGNoZWNrIG1hcmsgaXMgYSBib3ggd2l0aCBhIGJvcmRlciBvbiB0aGUgbGVmdCBhbmQgYm90dG9tIHNpZGUgKOKUlOKUgOKUgCksXG4gIC8vIHJvdGF0ZWQgNDUgZGVncmVlc1xuICAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDExcHg7XG4gICAgbGVmdDogOXB4O1xuICAgIHdpZHRoOiAyM3B4O1xuICAgIGhlaWdodDogMTJweDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcblxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBib3JkZXI6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDVweCA1cHg7XG4gICAgLy8gRml4IGJ1ZyBpbiBJRTExIGNhdXNlZCBieSB0cmFuc2Zvcm0gcm90YXRlICgtNDVkZWcpLlxuICAgIC8vIFNlZTogYWxwaGFnb3YvZ292dWtfZWxlbWVudHMvaXNzdWVzLzUxOFxuICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgb3BhY2l0eTogMDtcblxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1jaGVja2JveGVzLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodDtcbiAgfVxuXG4gIC8vIEZvY3VzZWQgc3RhdGVcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmZvY3VzICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOmJlZm9yZSB7XG4gICAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Y2hlY2tlZCArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDphZnRlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmRpc2FibGVkICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gIH1cblxuICAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWwge1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIENvbmRpdGlvbmFsIHJldmVhbHNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gVGhlIG5hcnJvdyBib3JkZXIgaXMgdXNlZCBpbiB0aGUgY29uZGl0aW9uYWwgcmV2ZWFscyBiZWNhdXNlIHRoZSBib3JkZXIgaGFzXG4gIC8vIHRvIGJlIGFuIGV2ZW4gbnVtYmVyIGluIG9yZGVyIHRvIGJlIGNlbnRyZWQgdW5kZXIgdGhlIDQwcHggY2hlY2tib3ggb3IgcmFkaW8uXG4gICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtbmFycm93O1xuICAvLyBDYWxjdWxhdGUgdGhlIGFtb3VudCBvZiBwYWRkaW5nIG5lZWRlZCB0byBrZWVwIHRoZSBib3JkZXIgY2VudGVyZWQgYWdhaW5zdCB0aGUgY2hlY2tib3guXG4gICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZzogKCRnb3Z1ay1jaGVja2JveGVzLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gIC8vIE1vdmUgdGhlIGJvcmRlciBjZW50ZXJlZCB3aXRoIHRoZSBjaGVja2JveFxuICAkY29uZGl0aW9uYWwtbWFyZ2luLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZztcbiAgLy8gTW92ZSB0aGUgY29udGVudHMgb2YgdGhlIGNvbmRpdGlvbmFsIGlubGluZSB3aXRoIHRoZSBsYWJlbFxuICAkY29uZGl0aW9uYWwtcGFkZGluZy1sZWZ0OiAkY29uZGl0aW9uYWwtYm9yZGVyLXBhZGRpbmcgKyAkZ292dWstY2hlY2tib3hlcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG5cbiAgLmdvdnVrLWNoZWNrYm94ZXNfX2NvbmRpdGlvbmFsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBtYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDtcbiAgICBib3JkZXItbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgIC5qcy1lbmFibGVkICYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTbWFsbCBjaGVja2JveGVzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC5nb3Z1ay1jaGVja2JveGVzLS1zbWFsbCB7XG5cbiAgICAkaW5wdXQtb2Zmc2V0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplIC0gJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZSkgLyAyO1xuICAgICRsYWJlbC1vZmZzZXQ6ICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZSAtICRpbnB1dC1vZmZzZXQ7XG5cbiAgICAuZ292dWstY2hlY2tib3hlc19faXRlbSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkbGFiZWwtb2Zmc2V0O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLy8gU2hpZnQgdGhlIHRvdWNoIHRhcmdldCBpbnRvIHRoZSBsZWZ0IG1hcmdpbiBzbyB0aGF0IHRoZSB2aXNpYmxlIGVkZ2Ugb2ZcbiAgICAvLyB0aGUgY29udHJvbCBpcyBhbGlnbmVkXG4gICAgLy9cbiAgICAvLyAgIOKUhldoYXQgY29sb3VycyBkbyB5b3UgbGlrZT9cbiAgICAvLyAg4pSM4pSG4pSA4pSA4pSA4pSQXG4gICAgLy8gIOKUguKUhltdIOKUgiBQdXJwbGVcbiAgICAvLyAg4pSU4pSG4pay4pSA4pSA4pSYXG4gICAgLy8gIOKWsuKUhuKUlOKUgCBDaGVjayBib3ggcHNldWRvIGVsZW1lbnQsIGFsaWduZWQgd2l0aCBtYXJnaW5cbiAgICAvLyAg4pSU4pSA4pSA4pSAIFRvdWNoIHRhcmdldCAoaW52aXNpYmxlIGlucHV0KSwgc2hpZnRlZCBpbnRvIHRoZSBtYXJnaW5cbiAgICAuZ292dWstY2hlY2tib3hlc19faW5wdXQge1xuICAgICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICAgIGxlZnQ6ICRpbnB1dC1vZmZzZXQgKiAtMTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1zbWFsbC1jaGVja2JveGVzLXNpemUgKiAtMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGp1c3QgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBsYWJlbC5cbiAgICAvL1xuICAgIC8vIFVubGlrZSBsYXJnZXIgY2hlY2tib3hlcywgd2UgYWxzbyBoYXZlIHRvIGZsb2F0IHRoZSBsYWJlbCBpbiBvcmRlciB0b1xuICAgIC8vICdzaHJpbmsnIGl0LCBwcmV2ZW50aW5nIHRoZSBob3ZlciBzdGF0ZSBmcm9tIGtpY2tpbmcgaW4gYWNyb3NzIHRoZSBmdWxsXG4gICAgLy8gd2lkdGggb2YgdGhlIHBhcmVudCBlbGVtZW50LlxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbCB7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgcGFkZGluZzogMTNweCBnb3Z1ay1zcGFjaW5nKDMpIDEzcHggMXB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogMTFweCBnb3Z1ay1zcGFjaW5nKDMpIDEwcHggMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFsgXSBDaGVjayBib3hcbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY2hlY2sgYm94IFsxXSwgdmVydGljYWxseSBjZW50ZXIgaXQgd2l0aGluIHRoZVxuICAgIC8vIHRvdWNoIHRhcmdldCBbMl1cbiAgICAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6YmVmb3JlIHtcbiAgICAgIHRvcDogJGlucHV0LW9mZnNldCAtICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50OyAvLyAyXG4gICAgICB3aWR0aDogJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZTsgLy8gMVxuICAgICAgaGVpZ2h0OiAkZ292dWstc21hbGwtY2hlY2tib3hlcy1zaXplOyAvLyAxXG4gICAgfVxuXG4gICAgLy8g4pyUIENoZWNrIG1hcmtcbiAgICAvL1xuICAgIC8vIFJlZHVjZSB0aGUgc2l6ZSBvZiB0aGUgY2hlY2sgbWFyayBhbmQgcmUtYWxpZ24gd2l0aGluIHRoZSBjaGVja2JveFxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDphZnRlciB7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgICBsZWZ0OiA2cHg7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogNi41cHg7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAzcHggM3B4O1xuICAgIH1cblxuICAgIC8vIEZpeCBwb3NpdGlvbiBvZiBoaW50IHdpdGggc21hbGwgY2hlY2tib3hlc1xuICAgIC8vXG4gICAgLy8gRG8gbm90IHVzZSBoaW50cyB3aXRoIHNtYWxsIGNoZWNrYm94ZXMg4oCTIGJlY2F1c2UgdGhleSdyZSB3aXRoaW4gdGhlIGlucHV0XG4gICAgLy8gd3JhcHBlciB0aGV5IHRyaWdnZXIgdGhlIGhvdmVyIHN0YXRlLCBidXQgY2xpY2tpbmcgdGhlbSBkb2Vzbid0IGFjdHVhbGx5XG4gICAgLy8gYWN0aXZhdGUgdGhlIGNvbnRyb2wuXG4gICAgLy9cbiAgICAvLyAoSWYgeW91IGRvIHVzZSB0aGVtLCB0aGV5IHdvbid0IGxvb2sgY29tcGxldGVseSBicm9rZW4uLi4gYnV0IHNlcmlvdXNseSxcbiAgICAvLyBkb24ndCB1c2UgdGhlbSlcbiAgICAuZ292dWstY2hlY2tib3hlc19faGludCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gY29uZGl0aW9uYWwgcmV2ZWFscyB3aXRoIHNtYWxsIGNoZWNrYm94ZXNcbiAgICAuZ292dWstY2hlY2tib3hlc19fY29uZGl0aW9uYWwge1xuICAgICAgJG1hcmdpbi1sZWZ0OiAoJGdvdnVrLXNtYWxsLWNoZWNrYm94ZXMtc2l6ZSAvIDIpIC0gKCRjb25kaXRpb25hbC1ib3JkZXItd2lkdGggLyAyKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxlZnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRsYWJlbC1vZmZzZXQgLSAoJG1hcmdpbi1sZWZ0ICsgJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCk7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBzdGF0ZSBmb3Igc21hbGwgY2hlY2tib3hlcy5cbiAgICAvL1xuICAgIC8vIFdlIHVzZSBhIGhvdmVyIHN0YXRlIGZvciBzbWFsbCBjaGVja2JveGVzIGJlY2F1c2UgdGhlIHRvdWNoIHRhcmdldCBzaXplXG4gICAgLy8gaXMgc28gbXVjaCBsYXJnZXIgdGhhbiB0aGVpciB2aXNpYmxlIHNpemUsIGFuZCBzbyB3ZSBuZWVkIHRvIHByb3ZpZGVcbiAgICAvLyBmZWVkYmFjayB0byB0aGUgdXNlciBhcyB0byB3aGljaCBjaGVja2JveCB0aGV5IHdpbGwgc2VsZWN0IHdoZW4gdGhlaXJcbiAgICAvLyBjdXJzb3IgaXMgb3V0c2lkZSBvZiB0aGUgdmlzaWJsZSBhcmVhLlxuICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWhvdmVyLXdpZHRoICRnb3Z1ay1ob3Zlci1jb2xvdXI7XG4gICAgfVxuXG4gICAgLy8gQmVjYXVzZSB3ZSd2ZSBvdmVycmlkZGVuIHRoZSBib3JkZXItc2hhZG93IHByb3ZpZGVkIGJ5IHRoZSBmb2N1cyBzdGF0ZSxcbiAgICAvLyB3ZSBuZWVkIHRvIHJlZGVmaW5lIHRoYXQgdG9vLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIHR3byBib3ggc2hhZG93cywgb25lIHRoYXQgcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGZvY3VzIHN0YXRlIFsxXVxuICAgIC8vIGFuZCBhbm90aGVyIHRoYXQgdGhlbiBhcHBsaWVzIHRoZSBob3ZlciBzdGF0ZSBbMl0uXG4gICAgLmdvdnVrLWNoZWNrYm94ZXNfX2l0ZW06aG92ZXIgLmdvdnVrLWNoZWNrYm94ZXNfX2lucHV0OmZvY3VzICsgLmdvdnVrLWNoZWNrYm94ZXNfX2xhYmVsOmJlZm9yZSB7XG4gICAgICBib3gtc2hhZG93OlxuICAgICAgICAwIDAgMCAkZ292dWstZm9jdXMtd2lkdGggJGdvdnVrLWZvY3VzLWNvbG91ciwgLy8gMVxuICAgICAgICAwIDAgMCAkZ292dWstaG92ZXItd2lkdGggJGdvdnVrLWhvdmVyLWNvbG91cjsgLy8gMlxuICAgIH1cblxuICAgIC8vIEZvciBkZXZpY2VzIHRoYXQgZXhwbGljaXRseSBkb24ndCBzdXBwb3J0IGhvdmVyLCBkb24ndCBwcm92aWRlIGEgaG92ZXJcbiAgICAvLyBzdGF0ZSAoZS5nLiBvbiB0b3VjaCBkZXZpY2VzIGxpa2UgaU9TKS5cbiAgICAvL1xuICAgIC8vIFdlIGNhbid0IHVzZSBgQG1lZGlhIChob3ZlcjogaG92ZXIpYCBiZWNhdXNlIHdlIHdvdWxkbid0IGdldCB0aGUgaG92ZXJcbiAgICAvLyBzdGF0ZSBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYEBtZWRpYSAoaG92ZXIpYCAobGlrZSBJbnRlcm5ldFxuICAgIC8vIEV4cGxvcmVyKSDigJMgc28gd2UgaGF2ZSB0byAndW5kbycgdGhlIGhvdmVyIHN0YXRlIGluc3RlYWQuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSksIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgIC5nb3Z1ay1jaGVja2JveGVzX19pdGVtOmhvdmVyIC5nb3Z1ay1jaGVja2JveGVzX19pbnB1dDpub3QoOmRpc2FibGVkKSArIC5nb3Z1ay1jaGVja2JveGVzX19sYWJlbDpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstY2hlY2tib3hlc19faXRlbTpob3ZlciAuZ292dWstY2hlY2tib3hlc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstY2hlY2tib3hlc19fbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Vycm9yLW1lc3NhZ2VcIikge1xuICAuZ292dWstZXJyb3ItbWVzc2FnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTksICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIGNvbG9yOiAkZ292dWstZXJyb3ItY29sb3VyO1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2ZpZWxkc2V0XCIpIHtcbiAgLmdvdnVrLWZpZWxkc2V0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG5cbiAgLy8gRml4IGZvciBGaXJlZm94IDwgNTNcbiAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA0NjIyXG4gIEBzdXBwb3J0cyBub3QgKGNhcmV0LWNvbG9yOiBhdXRvKSB7XG4gICAgLmdvdnVrLWZpZWxkc2V0LFxuICAgIHg6LW1vei1hbnktbGluayB7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgc2VsZWN0b3ItdHlwZS1uby11bmtub3duXG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICAvLyBGaXggbGVnZW5kIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUVcbiAgICAvLyAxLiBJRTktMTEgJiBFZGdlIDEyLTEzXG4gICAgLy8gMi4gSUU4LTExXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAgICAgICAgIC8vIDJcbiAgICBtYXgtd2lkdGg6IDEwMCU7ICAgICAgICAvLyAxXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgICAgLy8gMVxuICB9XG5cbiAgLy8gTW9kaWZpZXJzIHRoYXQgbWFrZSBsZWdlbmRzIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZC0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDM2LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC8vIFdoZW4gdGhlIGxlZ2VuZCBjb250YWlucyBhbiBIMSwgd2Ugd2FudCB0aGUgSDEgdG8gaW5oZXJpdCBhbGwgc3R5bGVzIGZyb21cbiAgLy8gdGhlIGxlZ2VuZC4gRWZmZWN0aXZlbHkgd2Ugd2FudCB0byBiZSBhYmxlIHRvIHRyZWF0IHRoZSBoZWFkaW5nIGFzIGlmIGl0IGlzXG4gIC8vIG5vdCB0aGVyZS5cbiAgLmdvdnVrLWZpZWxkc2V0X19oZWFkaW5nIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2hpbnRcIikge1xuICAuZ292dWstaGludCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgY29sb3I6ICRnb3Z1ay1zZWNvbmRhcnktdGV4dC1jb2xvdXI7XG4gIH1cblxuICAvLyBSZWR1Y2VzIG1hcmdpbi1ib3R0b20gb2YgaGludCB3aGVuIHVzZWQgYWZ0ZXIgdGhlIGRlZmF1bHQgbGFiZWwgKG5vIGNsYXNzKVxuICAvLyBvciBnb3Z1ay1sYWJlbC0tcyBmb3IgYmV0dGVyIHZlcnRpY2FsIGFsaWdubWVudC5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayB3aGVuIHRoZSBsYWJlbCBpcyBpbnNpZGUgdGhlIDxoMT4sIGhvd2V2ZXIgaXRcbiAgLy8gaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1sYWJlbC0tcyBjbGFzcyB3b3VsZCBiZSB1c2VkIGluIHRoaXNcbiAgLy8gY2FzZS5cblxuICAvLyBUaGlzIGFkanVzdG1lbnQgd2lsbCBub3Qgd29yayBpbiBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IDpub3QoKS5cbiAgLy8gVXNlcnMgd2l0aCB0aGVzZSBicm93c2VycyB3aWxsIHNlZSB0aGUgZGVmYXVsdCBzaXplIG1hcmdpbiAoNXB4IGxhcmdlcikuXG5cbiAgLmdvdnVrLWxhYmVsOm5vdCguZ292dWstbGFiZWwtLW0pOm5vdCguZ292dWstbGFiZWwtLWwpOm5vdCguZ292dWstbGFiZWwtLXhsKSArIC5nb3Z1ay1oaW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLy8gUmVkdWNlcyBtYXJnaW4tYm90dG9tIG9mIGhpbnQgd2hlbiB1c2VkIGFmdGVyIHRoZSBkZWZhdWx0IGxlZ2VuZCAobm8gY2xhc3MpXG4gIC8vIG9yIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLXMgZm9yIGJldHRlciB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5cbiAgLy8gVGhpcyBhZGp1c3RtZW50IHdpbGwgbm90IHdvcmsgd2hlbiB0aGUgbGVnZW5kIGlzIG91dHNpZGUgdGhlIDxoMT4sIGhvd2V2ZXJcbiAgLy8gaXQgaXMgdW5saWtlbHkgdGhhdCB0aGUgZGVmYXVsdCBvciBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1zIGNsYXNzIHdvdWxkIGJlXG4gIC8vIHVzZWQgaW4gdGhpcyBjYXNlLlxuXG4gIC8vIFRoaXMgYWRqdXN0bWVudCB3aWxsIG5vdCB3b3JrIGluIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgOm5vdCgpLlxuICAvLyBVc2VycyB3aXRoIHRoZXNlIGJyb3dzZXJzIHdpbGwgc2VlIHRoZSBkZWZhdWx0IHNpemUgbWFyZ2luICg1cHggbGFyZ2VyKS5cblxuICAuZ292dWstZmllbGRzZXRfX2xlZ2VuZDpub3QoLmdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLW0pOm5vdCguZ292dWstZmllbGRzZXRfX2xlZ2VuZC0tbCk6bm90KC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kLS14bCkgKyAuZ292dWstaGludCB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC8vIFJlZHVjZXMgdmlzdWFsIHNwYWNpbmcgb2YgbGVnZW5kIHdoZW4gdGhlcmUgaXMgYSBoaW50XG4gIC5nb3Z1ay1maWVsZHNldF9fbGVnZW5kICsgLmdvdnVrLWhpbnQge1xuICAgIG1hcmdpbi10b3A6IC0oZ292dWstc3BhY2luZygxKSk7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvbGFiZWxcIikge1xuICAuZ292dWstbGFiZWwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgbGFiZWxzIGxvb2sgbW9yZSBsaWtlIHRoZWlyIGVxdWl2YWxlbnQgaGVhZGluZ3NcblxuICAuZ292dWstbGFiZWwtLXhsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiA0OCwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay1sYWJlbC0tbCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstbGFiZWwtLW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLWxhYmVsLS1zIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAvLyBXaGVuIHRoZSBsYWJlbCBpcyBuZXN0ZWQgaW5zaWRlIGEgaGVhZGluZywgb3ZlcnJpZGUgdGhlIGhlYWRpbmcgc28gdGhhdCBpdFxuICAvLyBkb2VzIG5vdCBoYXZlIGEgbWFyZ2luLiBFZmZlY3RpdmVseSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gdHJlYXQgdGhlIGhlYWRpbmdcbiAgLy8gYXMgaWYgaXQgaXMgbm90IHRoZXJlLlxuICAvL1xuICAvLyBUaGlzIGJyZWFrcyBCRU0gY29udmVudGlvbnMgYmVjYXVzZSBpdCBleGlzdHMgYXMgYSBwYXJlbnQgb2YgdGhlICdibG9jaycsXG4gIC8vIHNvIHdlIGNhbid0IHJlYWxseSBjb25zaWRlciBhbiBlbGVtZW50LlxuICAuZ292dWstbGFiZWwtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL3RleHRhcmVhL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvY2hhcmFjdGVyLWNvdW50XCIpIHtcbiAgLmdvdnVrLWNoYXJhY3Rlci1jb3VudCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG5cbiAgICAuZ292dWstZm9ybS1ncm91cCxcbiAgICAuZ292dWstdGV4dGFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstY2hhcmFjdGVyLWNvdW50X19tZXNzYWdlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBmYWxzZSwgJHRhYnVsYXI6IHRydWUpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1jaGFyYWN0ZXItY291bnRfX21lc3NhZ2UtLWRpc2FibGVkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGV4dGFyZWFcIikge1xuICAuZ292dWstdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkbGluZS1oZWlnaHQ6IDEuMjUpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gc2hvdWxkIHRoaXMgYmUgZ2xvYmFsP1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcblxuICAgIHJlc2l6ZTogdmVydGljYWw7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgLy8gRW5zdXJlIG91dGxpbmUgYXBwZWFycyBvdXRzaWRlIG9mIHRoZSBlbGVtZW50XG4gICAgICBvdXRsaW5lLW9mZnNldDogMDtcbiAgICAgIC8vIERvdWJsZSB0aGUgYm9yZGVyIGJ5IGFkZGluZyBpdHMgd2lkdGggYWdhaW4uIFVzZSBgYm94LXNoYWRvd2AgdG8gZG9cbiAgICAgIC8vIHRoaXMgaW5zdGVhZCBvZiBjaGFuZ2luZyBgYm9yZGVyLXdpZHRoYCAod2hpY2ggY2hhbmdlcyBlbGVtZW50IHNpemUpIGFuZFxuICAgICAgLy8gc2luY2UgYG91dGxpbmVgIGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlIHllbGxvdyBmb2N1cyBzdGF0ZS5cbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50O1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1pZi1pZTgge1xuICAgICAgICAvLyBJRTggZG9lc24ndCBzdXBwb3J0IGBib3gtc2hhZG93YCBzbyBkb3VibGUgdGhlIGJvcmRlciB3aXRoXG4gICAgICAgIC8vIGBib3JkZXItd2lkdGhgLlxuICAgICAgICBib3JkZXItd2lkdGg6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50ICogMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstdGV4dGFyZWEtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Nvb2tpZS1iYW5uZXJcIikge1xuXG4gIC8vIFRoaXMgbmVlZHMgdG8gYmUga2VwdCBpbiBzeW5jIHdpdGggdGhlIGhlYWRlciBjb21wb25lbnQncyBzdHlsZXNcbiAgJGJvcmRlci1ib3R0b20td2lkdGg6IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgLmdvdnVrLWNvb2tpZS1iYW5uZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIC8vIFRoZSBjb21wb25lbnQgZG9lcyBub3Qgc2V0IGJvdHRvbSBzcGFjaW5nLlxuICAgIC8vIFRoZSBib3R0b20gc3BhY2luZyBzaG91bGQgYmUgY3JlYXRlZCBieSB0aGUgaXRlbXMgaW5zaWRlIHRoZSBjb21wb25lbnQuXG5cbiAgICAvLyBWaXN1YWxseSBzZXBhcmF0ZSB0aGUgY29va2llIGJhbm5lciBmcm9tIGNvbnRlbnQgdW5kZXJuZWF0aFxuICAgIC8vIHdoZW4gdXNlciBjaGFuZ2VzIGNvbG91cnMgaW4gdGhlaXIgYnJvd3Nlci5cbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyLWJvdHRvbS13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIik7XG4gIH1cblxuICAvLyBTdXBwb3J0IG9sZGVyIGJyb3dzZXJzIHdoaWNoIGRvbid0IGhpZGUgZWxlbWVudHMgd2l0aCB0aGUgYGhpZGRlbmAgYXR0cmlidXRlXG4gIC8vIHdoZW4gdXNlciBoaWRlcyB0aGUgd2hvbGUgY29va2llIGJhbm5lciB3aXRoIGEgJ0hpZGUnIGJ1dHRvbi5cbiAgLmdvdnVrLWNvb2tpZS1iYW5uZXJbaGlkZGVuXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5nb3Z1ay1jb29raWUtYmFubmVyX19tZXNzYWdlIHtcbiAgICAvLyBSZW1vdmUgdGhlIGV4dHJhIGhlaWdodCBhZGRlZCBieSB0aGUgc2VwYXJhdG9yIGJvcmRlci5cbiAgICBtYXJnaW4tYm90dG9tOiAtJGJvcmRlci1ib3R0b20td2lkdGg7XG5cbiAgICAmW2hpZGRlbl0ge1xuICAgICAgLy8gU3VwcG9ydCBvbGRlciBicm93c2VycyB3aGljaCBkb24ndCBoaWRlIGVsZW1lbnRzIHdpdGggdGhlIGBoaWRkZW5gIGF0dHJpYnV0ZVxuICAgICAgLy8gd2hlbiB0aGUgdmlzaWJpbGl0eSBvZiBjb29raWUgYW5kIHJlcGxhY2VtZW50IG1lc3NhZ2VzIGlzIHRvZ2dsZWQuXG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gUmVtb3ZlIHRoZSBuYXRpdmUgdmlzaWJsZSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgZWxlbWVudCBpcyBwcm9ncmFtbWF0aWNhbGx5IGZvY3VzZWQuXG4gICAgICAvL1xuICAgICAgLy8gVGhlIGZvY3VzZWQgY29va2llIGJhbm5lciBpcyB0aGUgZmlyc3QgZWxlbWVudCBvbiB0aGUgcGFnZSBhbmQgdGhlIGxhc3QgdGhpbmcgdGhlIHVzZXJcbiAgICAgIC8vIGludGVyYWN0ZWQgd2l0aCBwcmlvciB0byBpdCBnYWluaW5nIGZvY3VzLlxuICAgICAgLy8gV2UgdGhlcmVmb3JlIGFzc3VtZSB0aGF0IG1vdmluZyBmb2N1cyB0byBpdCBpcyBub3QgZ29pbmcgdG8gc3VycHJpc2UgdXNlcnMsIGFuZCB0aGF0IGdpdmluZ1xuICAgICAgLy8gaXQgYSB2aXNpYmxlIGZvY3VzIGluZGljYXRvciBjb3VsZCBiZSBtb3JlIGNvbmZ1c2luZyB0aGFuIGhlbHBmdWwsIGVzcGVjaWFsbHkgYXMgdGhlXG4gICAgICAvLyBlbGVtZW50IGlzIG5vdCBub3JtYWxseSBrZXlib2FyZCBvcGVyYWJsZS5cbiAgICAgIC8vXG4gICAgICAvLyBXZSBoYXZlIGZsYWdnZWQgdGhpcyBpbiB0aGUgcmVzZWFyY2ggc2VjdGlvbiBvZiB0aGUgZ3VpZGFuY2UgYXMgc29tZXRoaW5nIHRvIG1vbml0b3IuXG4gICAgICAvL1xuICAgICAgLy8gQSByZWxhdGVkIGRpc2N1c3Npb246IGh0dHBzOi8vZ2l0aHViLmNvbS93M2Mvd2NhZy9pc3N1ZXMvMTAwMVxuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvc3VtbWFyeS1saXN0XCIpIHtcbiAgLmdvdnVrLXN1bW1hcnktbGlzdCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyAvLyBSZXF1aXJlZCB0byBhbGxvdyB1cyB0byB3cmFwIHdvcmRzIHRoYXQgb3ZlcmZsb3cuXG4gICAgfVxuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fcm93IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgICB9XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSxcbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUsXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgIG1hcmdpbjogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlIHtcbiAgICAvLyBBdXRvbWF0aWMgd3JhcHBpbmcgZm9yIHVuYnJlYWthYmxlIHRleHQgKGUuZy4gVVJMcylcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IC8vIEZhbGxiYWNrIGZvciBvbGRlciBicm93c2VycyBvbmx5XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2tleSB7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgIH1cbiAgfVxuXG4gIC8vIEV4cGFuZCB3aWR0aCB3aGVuIHZhbHVlIGlzIGxhc3QgY29sdW1uIChubyBhY3Rpb24pXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX3ZhbHVlOmxhc3QtY2hpbGQge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA3MCU7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgPiBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMtbGlzdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwOyAvLyBSZXNldCBkZWZhdWx0IHVzZXIgYWdlbnQgc3R5bGVzXG4gICAgcGFkZGluZzogMDsgLy8gUmVzZXQgZGVmYXVsdCB1c2VyIGFnZW50IHN0eWxlc1xuICB9XG5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC8vIEluIG9sZGVyIGJyb3dzZXJzIHN1Y2ggYXMgSUU4LCA6bGFzdC1jaGlsZCBpcyBub3QgYXZhaWxhYmxlLFxuICAvLyBzbyBvbmx5IHNob3cgdGhlIGJvcmRlciBkaXZpZGVyIHdoZXJlIGl0IGlzIGF2YWlsYWJsZS5cbiAgLmdvdnVrLXN1bW1hcnktbGlzdF9fYWN0aW9ucy1saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zLWxpc3QtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBObyBib3JkZXIgb24gZW50aXJlIHN1bW1hcnkgbGlzdFxuICAuZ292dWstc3VtbWFyeS1saXN0LS1uby1ib3JkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19yb3cge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fa2V5LFxuICAgICAgLmdvdnVrLXN1bW1hcnktbGlzdF9fdmFsdWUsXG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19hY3Rpb25zIHtcbiAgICAgICAgLy8gUmVtb3ZlIDFweCBib3JkZXIsIGFkZCAxcHggaGVpZ2h0IGJhY2sgb25cbiAgICAgICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgKyAxcHg7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBObyBib3JkZXIgb24gc3BlY2lmaWMgcm93c1xuICAuZ292dWstc3VtbWFyeS1saXN0X19yb3ctLW5vLWJvcmRlciB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X19rZXksXG4gICAgICAuZ292dWstc3VtbWFyeS1saXN0X192YWx1ZSxcbiAgICAgIC5nb3Z1ay1zdW1tYXJ5LWxpc3RfX2FjdGlvbnMge1xuICAgICAgICAvLyBSZW1vdmUgMXB4IGJvcmRlciwgYWRkIDFweCBoZWlnaHQgYmFjayBvblxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZygyKSArIDFweDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9pbnB1dC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RhdGUtaW5wdXRcIikge1xuICAuZ292dWstZGF0ZS1pbnB1dCB7XG4gICAgQGluY2x1ZGUgZ292dWstY2xlYXJmaXg7XG4gICAgLy8gZm9udC1zaXplOiAwIHJlbW92ZXMgd2hpdGVzcGFjZSBjYXVzZWQgYnkgaW5saW5lLWJsb2NrXG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgLmdvdnVrLWRhdGUtaW5wdXRfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1kYXRlLWlucHV0X19sYWJlbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGF0ZS1pbnB1dF9faW5wdXQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vaGludC9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2xhYmVsL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaW5wdXRcIikge1xuICAuZ292dWstaW5wdXQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgIGhlaWdodDogZ292dWstcHgtdG8tcmVtKDQwcHgpO1xuICAgIH1cbiAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcbiAgICAvLyBzZXR0aW5nIGFueSBiYWNrZ3JvdW5kLWNvbG9yIG1ha2VzIHRleHQgaW52aXNpYmxlIHdoZW4gY2hhbmdpbmcgY29sb3VycyB0byBkYXJrIGJhY2tncm91bmRzIGluIEZpcmVmb3ggKGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzU0NzYpXG4gICAgLy8gYXMgYmFja2dyb3VuZC1jb2xvciBhbmQgY29sb3IgbmVlZCB0byBhbHdheXMgYmUgc2V0IHRvZ2V0aGVyLCBjb2xvciBzaG91bGQgbm90IGJlIHNldCBlaXRoZXJcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAvLyBEaXNhYmxlIGlubmVyIHNoYWRvdyBhbmQgcmVtb3ZlIHJvdW5kZWQgY29ybmVyc1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIC8vIEVuc3VyZSBvdXRsaW5lIGFwcGVhcnMgb3V0c2lkZSBvZiB0aGUgZWxlbWVudFxuICAgICAgb3V0bGluZS1vZmZzZXQ6IDA7XG4gICAgICAvLyBEb3VibGUgdGhlIGJvcmRlciBieSBhZGRpbmcgaXRzIHdpZHRoIGFnYWluLiBVc2UgYGJveC1zaGFkb3dgIGZvciB0aGlzIC8vIGluc3RlYWQgb2YgY2hhbmdpbmcgYGJvcmRlci13aWR0aGAgLSB0aGlzIGlzIGZvciBjb25zaXN0ZW5jeSB3aXRoXG4gICAgICAvLyBjb21wb25lbnRzIHN1Y2ggYXMgdGV4dGFyZWEgd2hlcmUgd2UgYXZvaWQgY2hhbmdpbmcgYGJvcmRlci13aWR0aGAgYXNcbiAgICAgIC8vIGl0IHdpbGwgY2hhbmdlIHRoZSBlbGVtZW50IHNpemUuIEFsc28sIGBvdXRsaW5lYCBjYW5ub3QgYmUgdXRpbGlzZWRcbiAgICAgIC8vIGhlcmUgYXMgaXQgaXMgYWxyZWFkeSB1c2VkIGZvciB0aGUgeWVsbG93IGZvY3VzIHN0YXRlLlxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgYGJveC1zaGFkb3dgIHNvIGRvdWJsZSB0aGUgYm9yZGVyIHdpdGhcbiAgICAgICAgLy8gYGJvcmRlci13aWR0aGAuXG4gICAgICAgIGJvcmRlci13aWR0aDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgKiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLmdvdnVrLWlucHV0Ojotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS1lcnJvciB7XG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudC1lcnJvciBzb2xpZCAkZ292dWstZXJyb3ItY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSBleCBtZWFzdXJlbWVudHMgYXJlIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgVydzIHRoYXQgY2FuIGZpdCBpbnNpZGUgdGhlIGlucHV0XG4gIC8vIEV4dHJhIHNwYWNlIGlzIGxlZnQgb24gdGhlIHJpZ2h0IGhhbmQgc2lkZSB0byBhbGxvdyBmb3IgdGhlIFNhZmFyaSBwcmVmaWxsIGljb25cbiAgLy8gTGluZWFyIHJlZ3Jlc3Npb24gZXN0aW1hdGlvbiBiYXNlZCBvbiB2aXN1YWwgdGVzdHM6IHkgPSAxLjc2ICsgMS44MXhcblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTMwIHtcbiAgICBtYXgtd2lkdGg6IDU2ZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTIwIHtcbiAgICBtYXgtd2lkdGg6IDM4ZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTEwIHtcbiAgICBtYXgtd2lkdGg6IDIwZXggKyAzZXg7XG4gIH1cblxuICAuZ292dWstaW5wdXQtLXdpZHRoLTUge1xuICAgIG1heC13aWR0aDogMTAuOGV4O1xuICB9XG5cbiAgLmdvdnVrLWlucHV0LS13aWR0aC00IHtcbiAgICBtYXgtd2lkdGg6IDlleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMyB7XG4gICAgbWF4LXdpZHRoOiA3LjJleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dC0td2lkdGgtMiB7XG4gICAgbWF4LXdpZHRoOiA1LjRleDtcbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dF9fd3JhcHBlciB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIC5nb3Z1ay1pbnB1dCB7XG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuICAgICAgICAgIC1tcy1mbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgfVxuXG4gICAgLmdvdnVrLWlucHV0OmZvY3VzIHtcbiAgICAgIC8vIEhhY2sgdG8gc3RvcCBmb2N1cyBzdHlsZSBiZWluZyBvdmVybGFwcGVkIGJ5IHRoZSBzdWZmaXhcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLy8gU3BsaXQgcHJlZml4L3N1ZmZpeCBvbnRvIHNlcGFyYXRlIGxpbmVzIG9uIG5hcnJvdyBzY3JlZW5zXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiBtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAuZ292dWstaW5wdXQge1xuICAgICAgICAvLyBTZXQgbWF4LXdpZHRoIHRvIG92ZXJyaWRlIHBvdGVudGlhbCB3aWR0aCBvdmVycmlkZSBjbGFzcyBvbiB0aGUgaW5wdXRcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dF9fcHJlZml4LFxuICAuZ292dWstaW5wdXRfX3N1ZmZpeCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiA0MHB4O1xuICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgIG1pbi13aWR0aDogZ292dWstcHgtdG8tcmVtKDQwcHgpO1xuICAgIH1cbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgQGlmICRnb3Z1ay10eXBvZ3JhcGh5LXVzZS1yZW0ge1xuICAgICAgaGVpZ2h0OiBnb3Z1ay1weC10by1yZW0oNDBweCk7XG4gICAgfVxuXG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygxKTtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImxpZ2h0LWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIik7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgfVxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAvLyBFbXBoYXNpc2Ugbm9uLWVkaXRhYmxlIHN0YXR1cyBvZiBwcmVmaXhlcyBhbmQgc3VmZml4ZXNcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAtd2Via2l0LWJveC1mbGV4OiAwO1xuXG4gICAgICAgIC1tcy1mbGV4OiAwIDAgYXV0bztcblxuICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG5cbiAgICAvLyBTcGxpdCBwcmVmaXgvc3VmZml4IG9udG8gc2VwYXJhdGUgbGluZXMgb24gbmFycm93IHNjcmVlbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1pbnB1dF9fcHJlZml4IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkdW50aWw6IG1vYmlsZSkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgZ292dWstbm90LWllOCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTcGxpdCBwcmVmaXgvc3VmZml4IG9udG8gc2VwYXJhdGUgbGluZXMgb24gbmFycm93IHNjcmVlbnNcbiAgLmdvdnVrLWlucHV0X19zdWZmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogbW9iaWxlKSB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2RldGFpbHNcIikge1xuICAuZ292dWstZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeSB7XG4gICAgLy8gTWFrZSB0aGUgZm9jdXMgb3V0bGluZSBzaHJpbmstd3JhcCB0aGUgdGV4dCBjb250ZW50IG9mIHRoZSBzdW1tYXJ5XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgLy8gQWJzb2x1dGVseSBwb3NpdGlvbiB0aGUgbWFya2VyIGFnYWluc3QgdGhpcyBlbGVtZW50XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICAgIC8vIEFsbG93IGZvciBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQgbWFya2VyIGFuZCBhbGlnbiB3aXRoIGRpc2Nsb3NlZCB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpICsgJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgIC8vIFN0eWxlIHRoZSBzdW1tYXJ5IHRvIGxvb2sgbGlrZSBhIGxpbmsuLi5cbiAgICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICRnb3Z1ay1saW5rLWhvdmVyLWNvbG91cjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICB9XG4gIH1cblxuICAvLyAuLi5idXQgb25seSB1bmRlcmxpbmUgdGhlIHRleHQsIG5vdCB0aGUgYXJyb3dcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuICB9XG5cbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6aG92ZXIgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnktdGV4dCB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSB1bmRlcmxpbmUgd2hlbiBmb2N1c3NlZCB0byBhdm9pZCBkdXBsaWNhdGUgYm9yZGVyc1xuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTpmb2N1cyAuZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0IHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgZGV0YWlscyBtYXJrZXIgc28gd2UgY2FuIHN0eWxlIG91ciBvd24gY29uc2lzdGVudGx5IGFuZFxuICAvLyBlbnN1cmUgaXQgZGlzcGxheXMgaW4gRmlyZWZveCAoc2VlIGltcGxlbWVudGF0aW9uLm1kIGZvciBkZXRhaWxzKVxuICAuZ292dWstZGV0YWlsc19fc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFwcGVuZCBvdXIgb3duIG9wZW4gLyBjbG9zZWQgbWFya2VyIHVzaW5nIGEgcHNldWRvLWVsZW1lbnRcbiAgLmdvdnVrLWRldGFpbHNfX3N1bW1hcnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHRvcDogLTFweDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcblxuICAgIG1hcmdpbjogYXV0bztcblxuICAgIEBpbmNsdWRlIGdvdnVrLXNoYXBlLWFycm93KCRkaXJlY3Rpb246IHJpZ2h0LCAkYmFzZTogMTRweCk7XG5cbiAgICAuZ292dWstZGV0YWlsc1tvcGVuXSA+ICYge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogZG93biwgJGJhc2U6IDE0cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg0KTtcbiAgICBib3JkZXItbGVmdDogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0IHAge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgfVxuXG4gIC5nb3Z1ay1kZXRhaWxzX190ZXh0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi8uLi9jb3JlL2xpc3RzXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvZXJyb3Itc3VtbWFyeVwiKSB7XG4gIC5nb3Z1ay1lcnJvci1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNCk7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWVycm9yLWNvbG91cjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2JvZHkge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENyb3NzLWNvbXBvbmVudCBjbGFzcyAtIGFkanVzdHMgc3R5bGluZyBvZiBsaXN0IGNvbXBvbmVudFxuICAuZ292dWstZXJyb3Itc3VtbWFyeV9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmdvdnVrLWVycm9yLXN1bW1hcnlfX2xpc3QgYSB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWVycm9yO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vZXJyb3ItbWVzc2FnZS9pbmRleFwiO1xuQGltcG9ydCBcIi4uL2hpbnQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9sYWJlbC9pbmRleFwiO1xuXG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2ZpbGUtdXBsb2FkXCIpIHtcbiAgJGNvbXBvbmVudC1wYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gIC5nb3Z1ay1maWxlLXVwbG9hZCB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGNvbXBvbmVudC1wYWRkaW5nO1xuICAgIHBhZGRpbmc6ICRjb21wb25lbnQtcGFkZGluZztcblxuICAgIC8vIFRoZSBkZWZhdWx0IGZpbGUgdXBsb2FkIGJ1dHRvbiBpbiBTYWZhcmkgZG9lcyBub3RcbiAgICAvLyBzdXBwb3J0IHNldHRpbmcgYSBjdXN0b20gZm9udC1zaXplLiBTZXQgYC13ZWJraXQtYXBwZWFyYW5jZWBcbiAgICAvLyB0byBgYnV0dG9uYCB0byBkcm9wIG91dCBvZiB0aGUgbmF0aXZlIGFwcGVhcmFuY2Ugc28gdGhlXG4gICAgLy8gZm9udC1zaXplIGlzIHNldCB0byAxOXB4XG4gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNDc0NlxuICAgICY6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBmb250OiBpbmhlcml0O1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICAvLyBVc2UgYGJveC1zaGFkb3dgIHRvIGFkZCBib3JkZXIgaW5zdGVhZCBvZiBjaGFuZ2luZyBgYm9yZGVyLXdpZHRoYFxuICAgICAgLy8gKHdoaWNoIGNoYW5nZXMgZWxlbWVudCBzaXplKSBhbmQgc2luY2UgYG91dGxpbmVgIGlzIGFscmVhZHkgdXNlZCBmb3IgdGhlXG4gICAgICAvLyB5ZWxsb3cgZm9jdXMgc3RhdGUuXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgYGJveC1zaGFkb3dgIHNvIGFkZCBhbiBhY3R1YWwgYm9yZGVyXG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICRnb3Z1ay1pbnB1dC1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldCBcImZvY3VzLXdpdGhpblwiIHRvIGZpeCBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMwMTk2XG4gICAgLy8gc28gdGhhdCBjb21wb25lbnQgcmVjZWl2ZXMgZm9jdXMgaW4gRmlyZWZveC5cbiAgICAvLyBUaGlzIGNhbid0IGJlIHNldCB0b2dldGhlciB3aXRoIGA6Zm9jdXNgIGFzIGFsbCB2ZXJzaW9ucyBvZiBJRSBmYWlsXG4gICAgLy8gdG8gcmVjb2duaXNlIGBmb2N1cy13aXRoaW5gIGFuZCBkb24ndCBzZXQgYW55IHN0eWxlcyBmcm9tIHRoZSBibG9ja1xuICAgIC8vIHdoZW4gaXQncyBhIHNlbGVjdG9yLlxuICAgICY6Zm9jdXMtd2l0aGluIHtcbiAgICAgIG91dGxpbmU6ICRnb3Z1ay1mb2N1cy13aWR0aCBzb2xpZCAkZ292dWstZm9jdXMtY29sb3VyO1xuXG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCA0cHggJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L2Zvb3RlclwiKSB7XG5cbiAgJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kOiAkZ292dWstY2FudmFzLWJhY2tncm91bmQtY29sb3VyO1xuICAkZ292dWstZm9vdGVyLWJvcmRlcjogJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIC8vIFRoaXMgdmFyaWFibGUgY2FuIGJlIHJlbW92ZWQgZW50aXJlbHkgb25jZSB0aGUgbGVnYWN5IHBhbGV0dGUgZ29lcyBhd2F5LFxuICAvLyBhcyBpdCdsbCBqdXN0IGJlIHRoZSBzYW1lIGFzICRnb3Z1ay1mb290ZXItYm9yZGVyLlxuICAkZ292dWstZm9vdGVyLWJvcmRlci10b3A6ICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAkZ292dWstZm9vdGVyLXRleHQ6ICRnb3Z1ay10ZXh0LWNvbG91cjtcbiAgJGdvdnVrLWZvb3Rlci1saW5rLWhvdmVyLWNvbG91cjogbnVsbDsgLy8gT25seSB1c2VkIHdpdGggdGhlIGxlZ2FjeSBwYWxldHRlXG5cbiAgQGlmICgkZ292dWstdXNlLWxlZ2FjeS1wYWxldHRlKSB7XG4gICAgJGdvdnVrLWZvb3Rlci1ib3JkZXItdG9wOiAjYTFhY2IyO1xuICAgICRnb3Z1ay1mb290ZXItYm9yZGVyOiBnb3Z1ay1jb2xvdXIoXCJncmV5LTJcIik7XG4gICAgJGdvdnVrLWZvb3Rlci10ZXh0OiAjNDU0YTRjO1xuICAgICRnb3Z1ay1mb290ZXItbGluay1ob3Zlci1jb2xvdXI6ICMxNzE4MTk7XG4gIH1cblxuICAvLyBCYXNlZCBvbiB0aGUgZ292dWstY3Jlc3QtMngucG5nIGltYWdlIGRpbWVuc2lvbnMuXG4gICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2Utd2lkdGgtMng6IDI1MHB4O1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodC0yeDogMjA0cHg7XG4gIC8vIEhhbGYgdGhlIDJ4IGltYWdlIHNvIHRoYXQgaXQgZml0cyB0aGUgcmVndWxhciAxeCBzaXplLlxuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoOiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS13aWR0aC0yeCAvIDIpO1xuICAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLWhlaWdodDogKCRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0LTJ4IC8gMik7XG5cbiAgLmdvdnVrLWZvb3RlciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtcGFkZGluZyg3LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLXBhZGRpbmcoNSwgXCJib3R0b21cIik7XG5cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXItdG9wO1xuICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLXRleHQ7XG4gICAgYmFja2dyb3VuZDogJGdvdnVrLWZvb3Rlci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG5cbiAgICBAaWYgKCRnb3Z1ay11c2UtbGVnYWN5LXBhbGV0dGUpIHtcbiAgICAgICY6bGluayxcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLXRleHQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9vdGVyLWxpbmstaG92ZXItY29sb3VyO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICAgIH1cblxuICAgIC8vIGFscGhhZ292L2dvdnVrX3RlbXBsYXRlIGluY2x1ZGVzIGEgc3BlY2lmaWMgYTpsaW5rOmZvY3VzIHNlbGVjdG9yXG4gICAgLy8gZGVzaWduZWQgdG8gbWFrZSB1bnZpc2l0ZWQgbGlua3MgYSBzbGlnaHRseSBkYXJrZXIgYmx1ZSB3aGVuIGZvY3Vzc2VkLCBzb1xuICAgIC8vIHdlIG5lZWQgdG8gb3ZlcnJpZGUgdGhlIHRleHQgY29sb3VyIGZvciB0aGF0IGNvbWJpbmF0aW9uIG9mIHNlbGVjdG9ycy5cbiAgICBAaW5jbHVkZSBnb3Z1ay1jb21wYXRpYmlsaXR5KGdvdnVrX3RlbXBsYXRlKSB7XG4gICAgICAmOmxpbms6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19zZWN0aW9uLWJyZWFrIHtcbiAgICBtYXJnaW46IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IG1hcmdpbnNcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig4LCBcImJvdHRvbVwiKTtcbiAgICBib3JkZXI6IDA7IC8vIFJlc2V0IGA8aHI+YCBkZWZhdWx0IGJvcmRlcnNcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19tZXRhLWl0ZW0ge1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNSk7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX21ldGEtaXRlbS0tZ3JvdyB7XG4gICAgLXdlYmtpdC1ib3gtZmxleDogMTtcbiAgICAgICAgLW1zLWZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4OiAxOyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzIwcHg7XG4gICAgICAgICAgZmxleC1iYXNpczogMzIwcHg7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saWNlbmNlLWxvZ28ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCR1bnRpbDogZGVza3RvcCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICB9XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2xpY2VuY2UtZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5nb3Z1ay1mb290ZXJfX2NvcHlyaWdodC1sb2dvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWluLXdpZHRoOiAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiAoJGdvdnVrLWZvb3Rlci1jcmVzdC1pbWFnZS1oZWlnaHQgKyBnb3Z1ay1zcGFjaW5nKDIpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBnb3Z1ay1pbWFnZS11cmwoXCJnb3Z1ay1jcmVzdC5wbmdcIik7XG4gICAgQGluY2x1ZGUgZ292dWstZGV2aWNlLXBpeGVsLXJhdGlvIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGdvdnVrLWltYWdlLXVybChcImdvdnVrLWNyZXN0LTJ4LnBuZ1wiKTtcbiAgICB9XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkZ292dWstZm9vdGVyLWNyZXN0LWltYWdlLXdpZHRoICRnb3Z1ay1mb290ZXItY3Jlc3QtaW1hZ2UtaGVpZ2h0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9faW5saW5lLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbWV0YS1jdXN0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoNCk7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19pbmxpbmUtbGlzdC1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig3LCBcImJvdHRvbVwiKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIH1cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWZvb3Rlci1ib3JkZXI7XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4OyAvLyBTdXBwb3J0OiBGbGV4Ym94XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1sZWZ0OiAtJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIC1tcy1mbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDsgLy8gU3VwcG9ydDogRmxleGJveFxuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fc2VjdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogJGdvdnVrLWd1dHRlci1oYWxmO1xuICAgIG1hcmdpbi1ib3R0b206ICRnb3Z1ay1ndXR0ZXI7XG4gICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIC8vIEVuc3VyZSBjb2x1bW5zIHRha2UgdXAgZXF1YWwgd2lkdGggKHR5cGljYWxseSBvbmUtaGFsZjpvbmUtaGFsZilcbiAgICAtd2Via2l0LWJveC1mbGV4OiAxO1xuICAgICAgICAtbXMtZmxleC1wb3NpdGl2ZTogMTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAxO1xuICAgICAgICBmbGV4LXNocmluazogMTsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkdW50aWw6IGRlc2t0b3ApIHtcbiAgICAgIC8vIE1ha2Ugc3VyZSBjb2x1bW5zIGRvIG5vdCBkcm9wIGJlbG93IDIwMHB4IGluIHdpZHRoXG4gICAgICAvLyBXaWxsIHR5cGljYWxseSByZXN1bHQgaW4gd3JhcHBpbmcsIGFuZCBlbmQgdXAgaW4gYSBzaW5nbGUgY29sdW1uIG9uIHNtYWxsZXIgc2NyZWVucy5cbiAgICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyMDBweDtcbiAgICAgICAgICBmbGV4LWJhc2lzOiAyMDBweDsgLy8gU3VwcG9ydDogRmxleGJveFxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRoZXJlIGFyZSBvbmx5IHR3byBzZWN0aW9ucywgc2V0IHRoZSBsYXlvdXQgdG8gYmUgdHdvLXRoaXJkOm9uZS10aGlyZCBvbiBkZXNrdG9wXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogZGVza3RvcCkge1xuICAgIC8vIFdlIG1hdGNoIHRoZSBmaXJzdCBzZWN0aW9uIHdpdGggYDpmaXJzdC1jaGlsZGAuXG4gICAgLy8gVG8gZW5zdXJlIHRoZSBzZWN0aW9uIGlzIG9uZSBvZiB0d28sIHdlIGNhbiBjb3VudCBiYWNrd2FyZHMgdXNpbmcgYDpudGgtbGFzdC1jaGlsZCgyKWAuXG4gICAgLmdvdnVrLWZvb3Rlcl9fc2VjdGlvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB7XG4gICAgICAtd2Via2l0LWJveC1mbGV4OiAyO1xuICAgICAgICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAyO1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDI7IC8vIFN1cHBvcnQ6IEZsZXhib3hcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGdvdnVrLWd1dHRlcjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRnb3Z1ay1ndXR0ZXI7IC8vIFN1cHBvcnQ6IENvbHVtbnNcblxuICAgIC8vIERpc2FibGUgdGhpY2tlciB1bmRlcmxpbmVzIG9uIGhvdmVyIGJlY2F1c2Ugb2YgYSBidWcgaW4gQ2hyb21pdW1cbiAgICAvLyBhZmZlY3RpbmcgbGlua3Mgd2l0aGluIGNvbHVtbnNcbiAgICAvLyBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMTkwOTg3XG4gICAgLmdvdnVrLWZvb3Rlcl9fbGluazpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogZGVza3RvcCkge1xuICAgIC5nb3Z1ay1mb290ZXJfX2xpc3QtLWNvbHVtbnMtMiB7XG4gICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAyOyAvLyBTdXBwb3J0OiBDb2x1bW5zXG4gICAgfVxuXG4gICAgLmdvdnVrLWZvb3Rlcl9fbGlzdC0tY29sdW1ucy0zIHtcbiAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAzO1xuICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7IC8vIFN1cHBvcnQ6IENvbHVtbnNcbiAgICB9XG4gIH1cblxuICAuZ292dWstZm9vdGVyX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDQsIFwiYm90dG9tXCIpO1xuICB9XG5cbiAgLmdvdnVrLWZvb3Rlcl9fbGlzdC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvaGVhZGVyXCIpIHtcblxuICAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAkZ292dWstaGVhZGVyLWJvcmRlci1jb2xvcjogJGdvdnVrLWJyYW5kLWNvbG91cjtcbiAgJGdvdnVrLWhlYWRlci1ib3JkZXItd2lkdGg6IGdvdnVrLXNwYWNpbmcoMik7XG4gICRnb3Z1ay1oZWFkZXItdGV4dDogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICRnb3Z1ay1oZWFkZXItbGluay1hY3RpdmU6ICMxZDhmZWI7XG4gICRnb3Z1ay1oZWFkZXItbmF2LWl0ZW0tYm9yZGVyLWNvbG9yOiAjMmUzMTMzO1xuICAkZ292dWstaGVhZGVyLWxpbmstdW5kZXJsaW5lLXRoaWNrbmVzczogM3B4O1xuXG4gIC5nb3Z1ay1oZWFkZXIge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2KTtcblxuICAgIGJvcmRlci1ib3R0b206IGdvdnVrLXNwYWNpbmcoMikgc29saWQgZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgY29sb3I6ICRnb3Z1ay1oZWFkZXItdGV4dDtcbiAgICBiYWNrZ3JvdW5kOiAkZ292dWstaGVhZGVyLWJhY2tncm91bmQ7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250YWluZXItLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmc6IDAgZ292dWstc3BhY2luZygzKTtcbiAgICBib3JkZXItY29sb3I6ICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuXG4gICAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24ge1xuICAgICAgcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoO1xuICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGJvcmRlci1ib3R0b206ICRnb3Z1ay1oZWFkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1oZWFkZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC8vIEFkZCBhIGdhcCBiZXR3ZWVuIGxvZ28gYW5kIGFueSBwcm9kdWN0IG5hbWVcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAvLyBQcmV2ZW50IHJlYWRhYmlsaXR5IGJhY2twbGF0ZSBmcm9tIG9ic2N1cmluZyB1bmRlcmxpbmUgaW4gV2luZG93c1xuICAgIC8vIEhpZ2ggQ29udHJhc3QgTW9kZVxuICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IG5vbmU7XG5cbiAgICAvLyBCdXQgcmVtb3ZlIGl0IGlmIHRoZXJlJ3Mgbm90aGluZyBhZnRlciB0aGUgbG9nbyB0byBrZWVwIGhvdmVyIGFuZCBmb2N1c1xuICAgIC8vIHN0YXRlcyBuZWF0XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xvZ290eXBlLWNyb3duLWZhbGxiYWNrLWltYWdlIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19wcm9kdWN0LW5hbWUge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDI0LCAkbGluZS1oZWlnaHQ6IDEpO1xuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgIC8vIEF2b2lkIHVzaW5nIHRoZSBgZ292dWstbGluay1jb21tb25gIG1peGluIGJlY2F1c2UgdGhlIGxpbmtzIGluIHRoZSBoZWFkZXJcbiAgICAvLyBnZXQgYSBzcGVjaWFsIHRyZWF0bWVudCwgYmVjYXVzZTpcbiAgICAvL1xuICAgIC8vIC0gdW5kZXJsaW5lcyBhcmUgb25seSB2aXNpYmxlIG9uIGhvdmVyXG4gICAgLy8gLSBhbGwgbGlua3MgZ2V0IGEgM3B4IHVuZGVybGluZSByZWdhcmRsZXNzIG9mIHRleHQgc2l6ZSwgYXMgdGhlcmUgYXJlXG4gICAgLy8gICBtdWx0aXBsZSBncm91cGVkIGVsZW1lbnRzIGNsb3NlIHRvIG9uZSBhbm90aGVyIGFuZCBoYXZpbmcgc2xpZ2h0bHlcbiAgICAvLyAgIGRpZmZlcmVudCB1bmRlcmxpbmUgd2lkdGhzIGxvb2tzIHVuYmFsYW5jZWRcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWludmVyc2U7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3M7XG5cbiAgICAgIEBpZiAoJGdvdnVrLWxpbmstdW5kZXJsaW5lLW9mZnNldCkge1xuICAgICAgICB0ZXh0LXVuZGVybGluZS1vZmZzZXQ6ICRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0taG9tZXBhZ2Uge1xuICAgIC8vIEZvbnQgc2l6ZSBuZWVkcyB0byBiZSBzZXQgb24gdGhlIGxpbmsgc28gdGhhdCB0aGUgYm94IHNpemluZyBpcyBjb3JyZWN0XG4gICAgLy8gaW4gRmlyZWZveFxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IGZhbHNlLCAkd2VpZ2h0OiBib2xkKTtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgZm9udC1zaXplOiAzMHB4OyAvLyBXZSBkb24ndCBoYXZlIGEgbWl4aW4gdGhhdCBwcm9kdWNlcyAzMHB4IGZvbnQgc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJjpsaW5rLFxuICAgICY6dmlzaXRlZCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAvLyBOZWdhdGUgdGhlIGFkZGVkIGJvcmRlclxuICAgICAgbWFyZ2luLWJvdHRvbTogJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3MgKiAtMTtcbiAgICAgIC8vIE9taXR0aW5nIGNvbG91ciB3aWxsIHVzZSBkZWZhdWx0IHZhbHVlIG9mIGN1cnJlbnRDb2xvciDigJMgaWYgd2VcbiAgICAgIC8vIHNwZWNpZmllZCBjdXJyZW50Q29sb3IgZXhwbGljaXRseSBJRTggd291bGQgaWdub3JlIHRoaXMgcnVsZS5cbiAgICAgIGJvcmRlci1ib3R0b206ICRnb3Z1ay1oZWFkZXItbGluay11bmRlcmxpbmUtdGhpY2tuZXNzIHNvbGlkO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBhbnkgYm9yZGVycyB0aGF0IHNob3cgd2hlbiBmb2N1c2VkIGFuZCBob3ZlcmVkLlxuICAgICY6Zm9jdXMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbGluay0tc2VydmljZS1uYW1lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAyNCwgJHdlaWdodDogYm9sZCk7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19sb2dvLFxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbG9nbyB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg4KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogZGVza3RvcCkge1xuICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiA2Ni42NiU7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1ndXR0ZXItaGFsZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOiBzb2xpZCB1bmRlcmxpbmUgJGdvdnVrLWhlYWRlci1saW5rLXVuZGVybGluZS10aGlja25lc3M7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogc29saWQgdW5kZXJsaW5lICRnb3Z1ay1oZWFkZXItbGluay11bmRlcmxpbmUtdGhpY2tuZXNzO1xuXG4gICAgICBAaWYgKCRnb3Z1ay1saW5rLXVuZGVybGluZS1vZmZzZXQpIHtcbiAgICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAkZ292dWstbGluay11bmRlcmxpbmUtb2Zmc2V0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogZG93biwgJGJhc2U6IDEwcHgsICRkaXNwbGF5OiBpbmxpbmUtYmxvY2spO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogdGFibGV0KSB7XG4gICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoMyk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbWVudS1idXR0b24tLW9wZW4ge1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgZ292dWstc2hhcGUtYXJyb3coJGRpcmVjdGlvbjogdXAsICRiYXNlOiAxMHB4LCAkZGlzcGxheTogaW5saW5lLWJsb2NrKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigyLCBcImJvdHRvbVwiKTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgLmpzLWVuYWJsZWQge1xuICAgIC5nb3Z1ay1oZWFkZXJfX21lbnUtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkgKCRmcm9tOiBkZXNrdG9wKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLW9wZW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi0tZW5kIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1oZWFkZXJfX25hdmlnYXRpb24tLW5vLXNlcnZpY2UtbmFtZSB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoNyk7XG4gIH1cblxuICAuZ292dWstaGVhZGVyX19uYXZpZ2F0aW9uLWl0ZW0ge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWhlYWRlci1uYXYtaXRlbS1ib3JkZXItY29sb3I7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSAoJGZyb206IGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygzKTtcbiAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMSkgMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE2LCAkd2VpZ2h0OiBib2xkKTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtLS1hY3RpdmUge1xuICAgIGEge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6dmlzaXRlZCB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstaGVhZGVyLWxpbmstYWN0aXZlO1xuICAgICAgfVxuXG4gICAgICAvLyBXaGVuIGZvY3Vzc2VkLCB0aGUgdGV4dCBjb2xvdXIgbmVlZHMgdG8gYmUgZGFya2VyIHRvIGVuc3VyZSB0aGF0IGNvbG91clxuICAgICAgLy8gY29udHJhc3QgaXMgc3RpbGwgYWNjZXB0YWJsZVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkZ292dWstZm9jdXMtdGV4dC1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLWhlYWRlcl9fbmF2aWdhdGlvbi1pdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRtZWRpYS10eXBlOiBwcmludCkge1xuICAgIC5nb3Z1ay1oZWFkZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIEhpZGUgdGhlIGludmVydGVkIGNyb3duIHdoZW4gcHJpbnRpbmcgaW4gYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IFNWRy5cbiAgICAuZ292dWstaGVhZGVyX19sb2dvdHlwZS1jcm93bi1mYWxsYmFjay1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX2xpbmsge1xuICAgICAgJjpsaW5rLFxuICAgICAgJjp2aXNpdGVkIHtcbiAgICAgICAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgICAgfVxuXG4gICAgICAvLyBEbyBub3QgYXBwZW5kIGxpbmsgaHJlZiB0byBHT1YuVUsgbGluayB3aGVuIHByaW50aW5nIChlLmcuICcoLyknKVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRnb3Z1ay11c2UtbGVnYWN5LWZvbnQge1xuICAgIC8vIEJlZ2luIGFkanVzdG1lbnRzIGZvciBmb250IGJhc2VsaW5lIG9mZnNldFxuICAgIC8vIFRoZXNlIHNob3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIGZvbnQgaXMgdXBkYXRlZCB3aXRoIHRoZSBjb3JyZWN0IGJhc2VsaW5lXG4gICAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24sXG4gICAgLmdvdnVrLWhlYWRlcl9fbG9nb3R5cGUtY3Jvd24tZmFsbGJhY2staW1hZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtNHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAuZ292dWstaGVhZGVyIHtcbiAgICAgICRvZmZzZXQ6IDNweDtcbiAgICAgIHBhZGRpbmctdG9wOiAkb2Zmc2V0O1xuICAgIH1cblxuICAgIC5nb3Z1ay1oZWFkZXJfX2xpbmstLWhvbWVwYWdlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICAvLyBFbmQgYWRqdXN0bWVudHNcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9pbnNldC10ZXh0XCIpIHtcbiAgLmdvdnVrLWluc2V0LXRleHQge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAgIC8vIE1hcmdpbiB0b3AgaW50ZW5kZWQgdG8gY29sbGFwc2VcbiAgICAvLyBUaGlzIGFkZHMgYW4gYWRkaXRpb25hbCAxMHB4IHRvIHRoZSBwYXJhZ3JhcGggYWJvdmVcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcblxuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgYm9yZGVyLWxlZnQ6ICRnb3Z1ay1ib3JkZXItd2lkdGgtd2lkZSBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgPiA6b25seS1jaGlsZCxcbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L25vdGlmaWNhdGlvbi1iYW5uZXJcIikge1xuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lciB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDgsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoIHNvbGlkICRnb3Z1ay1icmFuZC1jb2xvdXI7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstYnJhbmQtY29sb3VyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9faGVhZGVyIHtcbiAgICBwYWRkaW5nOiAycHggZ292dWstc3BhY2luZygzKSBnb3Z1ay1zcGFjaW5nKDEpO1xuXG4gICAgLy8gRW5zdXJlcyB0aGUgbm90aWZpY2F0aW9uIGhlYWRlciBhcHBlYXJzIHNlcGFyYXRlIHRvIHRoZSBub3RpZmljYXRpb24gYm9keSB0ZXh0IGluIGhpZ2ggY29udHJhc3QgbW9kZVxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDJweCBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMSk7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBtYXJnaW46IDA7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICB9XG5cbiAgLmdvdnVrLW5vdGlmaWNhdGlvbi1iYW5uZXJfX2NvbnRlbnQge1xuICAgICRwYWRkaW5nLXRhYmxldDogZ292dWstc3BhY2luZyg0KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZy10YWJsZXQ7XG4gICAgfVxuXG4gICAgLy8gV3JhcCBjb250ZW50IGF0IHRoZSBzYW1lIHBsYWNlIHRoYXQgYSAyLzMgZ3JpZCBjb2x1bW4gZW5kcywgdG8gbWFpbnRhaW5cbiAgICAvLyBzaG9ydGVyIGxpbmUtbGVuZ3RocyB3aGVuIHRoZSBub3RpZmljYXRpb24gYmFubmVyIGlzIGZ1bGwgd2lkdGhcbiAgICA+ICoge1xuICAgICAgLy8gV2hlbiBlbGVtZW50cyBoYXZlIHRoZWlyIG93biBwYWRkaW5nIChsaWtlIGxpc3RzKSwgaW5jbHVkZSB0aGUgcGFkZGluZ1xuICAgICAgLy8gaW4gdGhlIG1heC13aWR0aCBjYWxjdWxhdGlvblxuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBpbnRlcm5hbCB3aWR0aCBvZiBhIHR3by10aGlyZHMgY29sdW1uLi4uXG4gICAgICAkdHdvLWNvbC13aWR0aDogKCRnb3Z1ay1wYWdlLXdpZHRoICogMiAvIDMpIC0gKCRnb3Z1ay1ndXR0ZXIgKiAxIC8gMyk7XG5cbiAgICAgIC8vIC4uLmFuZCB0aGVuIGZhY3RvciBpbiB0aGUgbGVmdCBib3JkZXIgYW5kIHBhZGRpbmdcbiAgICAgICRiYW5uZXItZXh0ZXJpb3I6ICgkcGFkZGluZy10YWJsZXQgKyAkZ292dWstYm9yZGVyLXdpZHRoKTtcbiAgICAgIG1heC13aWR0aDogJHR3by1jb2wtd2lkdGggLSAkYmFubmVyLWV4dGVyaW9yO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuXG4gICAgbWFyZ2luOiAwIDAgZ292dWstc3BhY2luZygzKSAwO1xuXG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5nb3Z1ay1ub3RpZmljYXRpb24tYmFubmVyX19saW5rIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLW5vLXZpc2l0ZWQtc3RhdGU7XG4gIH1cblxuICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lci0tc3VjY2VzcyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkZ292dWstc3VjY2Vzcy1jb2xvdXI7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ292dWstc3VjY2Vzcy1jb2xvdXI7XG5cbiAgICAuZ292dWstbm90aWZpY2F0aW9uLWJhbm5lcl9fbGluayB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXN1Y2Nlc3M7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3BhbmVsXCIpIHtcbiAgLmdvdnVrLXBhbmVsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDcpIC0gJGdvdnVrLWJvcmRlci13aWR0aDtcblxuICAgIGJvcmRlcjogJGdvdnVrLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCR1bnRpbDogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDYpIC0gJGdvdnVrLWJvcmRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstcGFuZWwtLWNvbmZpcm1hdGlvbiB7XG4gICAgY29sb3I6IGdvdnVrLWNvbG91cihcIndoaXRlXCIpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLWNvbG91cihcImdyZWVuXCIsICRsZWdhY3k6IFwidHVycXVvaXNlXCIpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJG1lZGlhLXR5cGU6IHByaW50KSB7XG4gICAgICBib3JkZXItY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIGNvbG9yOiAkZ292dWstcHJpbnQtdGV4dC1jb2xvdXI7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fdGl0bGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1wYW5lbF9fYm9keSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMzYpO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vdGFnL2luZGV4XCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvcGhhc2UtYmFubmVyXCIpIHtcbiAgLmdvdnVrLXBoYXNlLWJhbm5lciB7XG4gICAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG4gICAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxNik7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG5cbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZ292dWstcGhhc2UtYmFubmVyX19jb250ZW50X190YWcge1xuICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay1waGFzZS1iYW5uZXJfX3RleHQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWdcIikge1xuICAuZ292dWstdGFnIHtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC8vIFdoZW4gYSB1c2VyIGN1c3RvbWlzZXMgdGhlaXIgY29sb3VycyBvZnRlbiB0aGUgYmFja2dyb3VuZCBpcyByZW1vdmVkLFxuICAgIC8vIGJ5IGFkZGluZyBhIG91dGxpbmUgd2UgZW5zdXJlIHRoYXQgdGhlIHRhZyBjb21wb25lbnQgc3RpbGwga2VlcHMgaXQncyBtZWFuaW5nLlxuICAgIC8vIGh0dHBzOi8vYWNjZXNzaWJpbGl0eS5ibG9nLmdvdi51ay8yMDE3LzAzLzI3L2hvdy11c2Vycy1jaGFuZ2UtY29sb3Vycy1vbi13ZWJzaXRlcy9cbiAgICBvdXRsaW5lOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG5cbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaWYgJGdvdnVrLXVzZS1sZWdhY3ktZm9udCB7XG4gICAgICAvLyBTaW5jZSBOZXcgVHJhbnNwb3J0IHNpdHMgc2xpZ2h0bHkgaGlnaGVyIHRoYW4gb3RoZXIgY29tbW9uIGZvbnRzLlxuICAgICAgLy8gV2UgdXNlIGludGVudGlvbmFsbHkgdW5ldmVuIHBhZGRpbmcgdG8gbWFrZSBpdCBiYWxhbmNlZCwgdGhpcyBjYW4gYmVcbiAgICAgIC8vIHJlbW92ZWQgdXNpbmcgdGhlIHZlcnNpb24gb2YgdGhlIGZvbnQgdGhhdCBoYXMgYSBtb3JlIGNvbW1vbiB2ZXJ0aWNhbCBzcGFjaW5nLlxuICAgICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS4yNSk7XG4gICAgICBwYWRkaW5nLXRvcDogNHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDFweDtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMSk7XG4gICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIH1cbiAgfVxuXG4gIC8vIERlcHJlY2F0ZWQuIFdlJ2xsIHJlbW92ZSB0aGlzIGNsYXNzIGluIGEgZnV0dXJlIHJlbGVhc2UuIFVzZSBgLmdvdnVrLXRhZy0tZ3JleWAgaW5zdGVhZC5cbiAgLmdvdnVrLXRhZy0taW5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLWdyZXkge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJkYXJrLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTFcIiksIDMwKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImRhcmstZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMVwiKSwgOTApO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcHVycGxlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwicHVycGxlXCIpLCAyMCk7XG4gICAgYmFja2dyb3VuZDogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJwdXJwbGVcIiksIDgwKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLXR1cnF1b2lzZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcInR1cnF1b2lzZVwiKSwgNjApO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwidHVycXVvaXNlXCIpLCA3MCk7XG4gIH1cblxuICAuZ292dWstdGFnLS1ibHVlIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiYmx1ZVwiKSwgMzApO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwiYmx1ZVwiKSwgODApO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0teWVsbG93IHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwieWVsbG93XCIpLCA2NSk7XG4gICAgYmFja2dyb3VuZDogZ292dWstdGludChnb3Z1ay1jb2xvdXIoXCJ5ZWxsb3dcIiksIDc1KTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLW9yYW5nZSB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcIm9yYW5nZVwiKSwgNTUpO1xuICAgIGJhY2tncm91bmQ6IGdvdnVrLXRpbnQoZ292dWstY29sb3VyKFwib3JhbmdlXCIpLCA3MCk7XG4gIH1cblxuICAuZ292dWstdGFnLS1yZWQge1xuICAgIGNvbG9yOiBnb3Z1ay1zaGFkZShnb3Z1ay1jb2xvdXIoXCJyZWRcIiksIDMwKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcInJlZFwiKSwgODApO1xuICB9XG5cbiAgLmdvdnVrLXRhZy0tcGluayB7XG4gICAgY29sb3I6IGdvdnVrLXNoYWRlKGdvdnVrLWNvbG91cihcInBpbmtcIiksIDQwKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcInBpbmtcIiksIDgwKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWctLWdyZWVuIHtcbiAgICBjb2xvcjogZ292dWstc2hhZGUoZ292dWstY29sb3VyKFwiZ3JlZW5cIiksIDIwKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay10aW50KGdvdnVrLWNvbG91cihcImdyZWVuXCIpLCA4MCk7XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9jb21wb25lbnQvdGFic1wiKSB7XG4gIC5nb3Z1ay10YWJzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbigxLCBcInRvcFwiKTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX190aXRsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIH1cblxuICAuZ292dWstdGFic19fbGlzdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig2LCBcImJvdHRvbVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0ge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBtYXJnaW4tbGVmdDogZ292dWstc3BhY2luZyg1KTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgICAgY29udGVudDogXCJcXDIwMTQgXCI7IC8vIFwi4oCUIFwiXG4gICAgICBtYXJnaW4tbGVmdDogLSBnb3Z1ay1zcGFjaW5nKDUpO1xuICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG4gIH1cblxuICAuZ292dWstdGFic19fdGFiIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLWRlZmF1bHQ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJzX19wYW5lbCB7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOCwgXCJib3R0b21cIik7XG4gIH1cblxuICAvLyBKYXZhU2NyaXB0IGVuYWJsZWRcbiAgLmpzLWVuYWJsZWQge1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmdvdnVrLXRhYnNfX2xpc3Qge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRnb3Z1ay1ib3JkZXItY29sb3VyO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstdGFic19fbGlzdC1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZygxKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZyg0KTtcblxuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktNFwiKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19saXN0LWl0ZW0tLXNlbGVjdGVkIHtcbiAgICAgICAgJGJvcmRlci13aWR0aDogMXB4O1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBtYXJnaW4tdG9wOiAtIGdvdnVrLXNwYWNpbmcoMSk7XG5cbiAgICAgICAgLy8gQ29tcGVuc2F0aW9uIGZvciBib3JkZXIgKG90aGVyd2lzZSB3ZSBnZXQgYSBzaGlmdClcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLSRib3JkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctdG9wOiBnb3Z1ay1zcGFjaW5nKDMpIC0gJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogZ292dWstc3BhY2luZyg0KSAtICRib3JkZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpICsgJGJvcmRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDQpIC0gJGJvcmRlci13aWR0aDtcblxuICAgICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWJvZHktYmFja2dyb3VuZC1jb2xvdXI7XG5cbiAgICAgICAgLmdvdnVrLXRhYnNfX3RhYiB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX190YWIge1xuICAgICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLXN0eWxlLXRleHQ7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmdvdnVrLXRhYnNfX3BhbmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oMCwgXCJib3R0b21cIik7XG4gICAgICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoNikgZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG5cbiAgICAgICAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5nb3Z1ay10YWJzX19wYW5lbC0taGlkZGVuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCIuLi9lcnJvci1tZXNzYWdlL2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vZmllbGRzZXQvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9yYWRpb3NcIikge1xuXG4gICRnb3Z1ay10b3VjaC10YXJnZXQtc2l6ZTogNDRweDtcbiAgJGdvdnVrLXJhZGlvcy1zaXplOiA0MHB4O1xuICAkZ292dWstc21hbGwtcmFkaW9zLXNpemU6IDI0cHg7XG4gICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0OiBnb3Z1ay1zcGFjaW5nKDMpO1xuICAvLyBXaGVuIHRoZSBkZWZhdWx0IGZvY3VzIHdpZHRoIGlzIHVzZWQgb24gYSBjdXJ2ZWQgZWRnZSBpdCBsb29rcyB2aXN1YWxseSBzbWFsbGVyLlxuICAvLyBTbyBmb3IgdGhlIGNpcmN1bGFyIHJhZGlvcyB3ZSBidW1wIHRoZSBkZWZhdWx0IHRvIG1ha2UgaXQgbG9vayB2aXN1YWxseSBjb25zaXN0ZW50LlxuICAkZ292dWstcmFkaW9zLWZvY3VzLXdpZHRoOiAkZ292dWstZm9jdXMtd2lkdGggKyAxcHg7XG5cbiAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgbWluLWhlaWdodDogJGdvdnVrLXJhZGlvcy1zaXplO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZTtcblxuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faXRlbTpsYXN0LWNoaWxkLFxuICAuZ292dWstcmFkaW9zX19pdGVtOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0IHtcbiAgICAkaW5wdXQtb2Zmc2V0OiAoJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplIC0gJGdvdnVrLXJhZGlvcy1zaXplKSAvIDI7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTggZG9lc27igJl0IHN1cHBvcnQgcHNldWRvLWVsZW1lbnRzLCBzbyB3ZSBkb27igJl0IHdhbnQgdG8gaGlkZSBuYXRpdmVcbiAgICAvLyBlbGVtZW50cyB0aGVyZS5cbiAgICBAaW5jbHVkZSBnb3Z1ay1ub3QtaWU4IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRvcDogJGlucHV0LW9mZnNldCAqIC0xO1xuICAgICAgbGVmdDogJGlucHV0LW9mZnNldCAqIC0xO1xuXG4gICAgICB3aWR0aDogJGdvdnVrLXRvdWNoLXRhcmdldC1zaXplO1xuICAgICAgaGVpZ2h0OiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemU7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgZ292dWstaWYtaWU4IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZSAvIC0yO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRnb3Z1ay1yYWRpb3Mtc2l6ZSAvIC0yO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgIC8vIGFkZCBmb2N1cyBvdXRsaW5lIHRvIGlucHV0XG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDhweCAkZ292dWstcmFkaW9zLWxhYmVsLXBhZGRpbmctbGVmdC1yaWdodCBnb3Z1ay1zcGFjaW5nKDEpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyByZW1vdmUgMzAwbXMgcGF1c2Ugb24gbW9iaWxlXG4gICAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgfVxuXG4gIC8vICggKSBSYWRpbyByaW5nXG4gIC5nb3Z1ay1yYWRpb3NfX2xhYmVsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAkZ292dWstcmFkaW9zLXNpemU7XG4gICAgaGVpZ2h0OiAkZ292dWstcmFkaW9zLXNpemU7XG5cbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyAg4oCiICBSYWRpbyBidXR0b25cbiAgLy9cbiAgLy8gV2UgY3JlYXRlIHRoZSAnYnV0dG9uJyBlbnRpcmVseSBvdXQgb2YgJ2JvcmRlcicgc28gdGhhdCB0aGV5IHJlbWFpblxuICAvLyAnZmlsbGVkJyBldmVuIHdoZW4gY29sb3VycyBhcmUgb3ZlcnJpZGRlbiBpbiB0aGUgYnJvd3Nlci5cbiAgLmdvdnVrLXJhZGlvc19fbGFiZWw6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIGxlZnQ6IGdvdnVrLXNwYWNpbmcoMik7XG5cbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICBib3JkZXI6IGdvdnVrLXNwYWNpbmcoMikgc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjtcbiAgfVxuXG4gIC5nb3Z1ay1yYWRpb3NfX2hpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogJGdvdnVrLXJhZGlvcy1sYWJlbC1wYWRkaW5nLWxlZnQtcmlnaHQ7XG4gIH1cblxuICAvLyBGb2N1c2VkIHN0YXRlXG4gIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6YmVmb3JlIHtcbiAgICBib3JkZXItd2lkdGg6IDRweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkZ292dWstcmFkaW9zLWZvY3VzLXdpZHRoICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gIH1cblxuICAvLyBTZWxlY3RlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpjaGVja2VkICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuZ292dWstcmFkaW9zX19pbnB1dDpkaXNhYmxlZCxcbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgLmdvdnVrLXJhZGlvc19faW5wdXQ6ZGlzYWJsZWQgKyAuZ292dWstcmFkaW9zX19sYWJlbCB7XG4gICAgb3BhY2l0eTogLjU7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gSW5saW5lIHJhZGlvc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAuZ292dWstcmFkaW9zLS1pbmxpbmUge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5ICgkZnJvbTogdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcblxuICAgICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogZ292dWstc3BhY2luZyg0KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByZXZlbnQgaW5saW5lIG1vZGlmaWVyIGJlaW5nIHVzZWQgd2l0aCBjb25kaXRpb25hbCByZXZlYWxzXG4gICAgJi5nb3Z1ay1yYWRpb3MtLWNvbmRpdGlvbmFsIHtcbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBEaXZpZGVycyAoJ29yJylcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLmdvdnVrLXJhZGlvc19fZGl2aWRlciB7XG4gICAgJGdvdnVrLWRpdmlkZXItc2l6ZTogJGdvdnVrLXJhZGlvcy1zaXplICFkZWZhdWx0O1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgICB3aWR0aDogJGdvdnVrLWRpdmlkZXItc2l6ZTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBDb25kaXRpb25hbCByZXZlYWxzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFRoZSBuYXJyb3cgYm9yZGVyIGlzIHVzZWQgaW4gdGhlIGNvbmRpdGlvbmFsIHJldmVhbHMgYmVjYXVzZSB0aGUgYm9yZGVyIGhhc1xuICAvLyB0byBiZSBhbiBldmVuIG51bWJlciBpbiBvcmRlciB0byBiZSBjZW50cmVkIHVuZGVyIHRoZSA0MHB4IGNoZWNrYm94IG9yIHJhZGlvLlxuICAkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoOiAkZ292dWstYm9yZGVyLXdpZHRoLW5hcnJvdztcbiAgLy8gQ2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgcGFkZGluZyBuZWVkZWQgdG8ga2VlcCB0aGUgYm9yZGVyIGNlbnRlcmVkIGFnYWluc3QgdGhlIHJhZGlvcy5cbiAgJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nOiAoJGdvdnVrLXJhZGlvcy1zaXplIC8gMikgLSAoJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCAvIDIpO1xuICAvLyBNb3ZlIHRoZSBib3JkZXIgY2VudGVyZWQgd2l0aCB0aGUgcmFkaW9zXG4gICRjb25kaXRpb25hbC1tYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci1wYWRkaW5nO1xuICAvLyBNb3ZlIHRoZSBjb250ZW50cyBvZiB0aGUgY29uZGl0aW9uYWwgaW5saW5lIHdpdGggdGhlIGxhYmVsXG4gICRjb25kaXRpb25hbC1wYWRkaW5nLWxlZnQ6ICRjb25kaXRpb25hbC1ib3JkZXItcGFkZGluZyArICRnb3Z1ay1yYWRpb3MtbGFiZWwtcGFkZGluZy1sZWZ0LXJpZ2h0O1xuXG4gIC5nb3Z1ay1yYWRpb3NfX2NvbmRpdGlvbmFsIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1yZXNwb25zaXZlLW1hcmdpbig0LCBcImJvdHRvbVwiKTtcbiAgICBtYXJnaW4tbGVmdDogJGNvbmRpdGlvbmFsLW1hcmdpbi1sZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGNvbmRpdGlvbmFsLXBhZGRpbmctbGVmdDtcbiAgICBib3JkZXItbGVmdDogJGNvbmRpdGlvbmFsLWJvcmRlci13aWR0aCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcblxuICAgIC5qcy1lbmFibGVkICYtLWhpZGRlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBTbWFsbCBjaGVja2JveGVzXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC5nb3Z1ay1yYWRpb3MtLXNtYWxsIHtcblxuICAgICRpbnB1dC1vZmZzZXQ6ICgkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkZ292dWstc21hbGwtcmFkaW9zLXNpemUpIC8gMjtcbiAgICAkbGFiZWwtb2Zmc2V0OiAkZ292dWstdG91Y2gtdGFyZ2V0LXNpemUgLSAkaW5wdXQtb2Zmc2V0O1xuXG4gICAgLmdvdnVrLXJhZGlvc19faXRlbSB7XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1jbGVhcmZpeDtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkbGFiZWwtb2Zmc2V0O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLy8gU2hpZnQgdGhlIHRvdWNoIHRhcmdldCBpbnRvIHRoZSBsZWZ0IG1hcmdpbiBzbyB0aGF0IHRoZSB2aXNpYmxlIGVkZ2Ugb2ZcbiAgICAvLyB0aGUgY29udHJvbCBpcyBhbGlnbmVkXG4gICAgLy9cbiAgICAvLyAgIOKUhldoaWNoIGNvbG91ciBpcyB5b3VyIGZhdm91cml0ZT9cbiAgICAvLyAg4pSM4pSG4pSA4pSA4pSA4pSQXG4gICAgLy8gIOKUguKUhigpIOKUgiBQdXJwbGVcbiAgICAvLyAg4pSU4pSG4pay4pSA4pSA4pSYXG4gICAgLy8gIOKWsuKUhuKUlOKUgCBSYWRpbyBwc2V1ZG8gZWxlbWVudCwgYWxpZ25lZCB3aXRoIG1hcmdpblxuICAgIC8vICDilJTilIDilIDilIAgVG91Y2ggdGFyZ2V0IChpbnZpc2libGUgaW5wdXQpLCBzaGlmdGVkIGludG8gdGhlIG1hcmdpblxuICAgIC5nb3Z1ay1yYWRpb3NfX2lucHV0IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLW5vdC1pZTgge1xuICAgICAgICBsZWZ0OiAkaW5wdXQtb2Zmc2V0ICogLTE7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ292dWstc21hbGwtcmFkaW9zLXNpemUgKiAtMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBZGp1c3QgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHRoZSBsYWJlbC5cbiAgICAvL1xuICAgIC8vIFVubGlrZSBsYXJnZXIgcmFkaW9zLCB3ZSBhbHNvIGhhdmUgdG8gZmxvYXQgdGhlIGxhYmVsIGluIG9yZGVyIHRvXG4gICAgLy8gJ3NocmluaycgaXQsIHByZXZlbnRpbmcgdGhlIGhvdmVyIHN0YXRlIGZyb20ga2lja2luZyBpbiBhY3Jvc3MgdGhlIGZ1bGxcbiAgICAvLyB3aWR0aCBvZiB0aGUgcGFyZW50IGVsZW1lbnQuXG4gICAgLmdvdnVrLXJhZGlvc19fbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIHBhZGRpbmc6IDEzcHggZ292dWstc3BhY2luZygzKSAxM3B4IDFweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6IDExcHggZ292dWstc3BhY2luZygzKSAxMHB4IDFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAoICkgUmFkaW8gcmluZ1xuICAgIC8vXG4gICAgLy8gUmVkdWNlIHRoZSBzaXplIG9mIHRoZSBjb250cm9sIFsxXSwgdmVydGljYWxseSBjZW50ZXJpbmcgaXQgd2l0aGluIHRoZVxuICAgIC8vIHRvdWNoIHRhcmdldCBbMl1cbiAgICAuZ292dWstcmFkaW9zX19sYWJlbDpiZWZvcmUge1xuICAgICAgdG9wOiAkaW5wdXQtb2Zmc2V0IC0gJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7IC8vIDJcbiAgICAgIHdpZHRoOiAkZ292dWstc21hbGwtcmFkaW9zLXNpemU7IC8vIDFcbiAgICAgIGhlaWdodDogJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplOyAvLyAxXG4gICAgfVxuXG4gICAgLy8gIOKAoiAgUmFkaW8gYnV0dG9uXG4gICAgLy9cbiAgICAvLyBSZWR1Y2UgdGhlIHNpemUgb2YgdGhlICdidXR0b24nIGFuZCBjZW50ZXIgaXQgd2l0aGluIHRoZSByaW5nXG4gICAgLmdvdnVrLXJhZGlvc19fbGFiZWw6YWZ0ZXIge1xuICAgICAgdG9wOiAxNXB4O1xuICAgICAgbGVmdDogN3B4O1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgfVxuXG4gICAgLy8gRml4IHBvc2l0aW9uIG9mIGhpbnQgd2l0aCBzbWFsbCByYWRpb3NcbiAgICAvL1xuICAgIC8vIERvIG5vdCB1c2UgaGludHMgd2l0aCBzbWFsbCByYWRpb3Mg4oCTIGJlY2F1c2UgdGhleSdyZSB3aXRoaW4gdGhlIGlucHV0XG4gICAgLy8gd3JhcHBlciB0aGV5IHRyaWdnZXIgdGhlIGhvdmVyIHN0YXRlLCBidXQgY2xpY2tpbmcgdGhlbSBkb2Vzbid0IGFjdHVhbGx5XG4gICAgLy8gYWN0aXZhdGUgdGhlIGNvbnRyb2wuXG4gICAgLy9cbiAgICAvLyAoSWYgeW91IGRvIHVzZSB0aGVtLCB0aGV5IHdvbid0IGxvb2sgY29tcGxldGVseSBicm9rZW4uLi4gYnV0IHNlcmlvdXNseSxcbiAgICAvLyBkb24ndCB1c2UgdGhlbSlcbiAgICAuZ292dWstcmFkaW9zX19oaW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIEFsaWduIGNvbmRpdGlvbmFsIHJldmVhbHMgd2l0aCBzbWFsbCByYWRpb3NcbiAgICAuZ292dWstcmFkaW9zX19jb25kaXRpb25hbCB7XG4gICAgICAkbWFyZ2luLWxlZnQ6ICgkZ292dWstc21hbGwtcmFkaW9zLXNpemUgLyAyKSAtICgkY29uZGl0aW9uYWwtYm9yZGVyLXdpZHRoIC8gMik7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbi1sZWZ0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAkbGFiZWwtb2Zmc2V0IC0gKCRtYXJnaW4tbGVmdCArICRjb25kaXRpb25hbC1ib3JkZXItd2lkdGgpO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgLmdvdnVrLXJhZGlvc19fZGl2aWRlciB7XG4gICAgICB3aWR0aDogJGdvdnVrLXNtYWxsLXJhZGlvcy1zaXplO1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcbiAgICB9XG5cbiAgICAvLyBIb3ZlciBzdGF0ZSBmb3Igc21hbGwgcmFkaW9zLlxuICAgIC8vXG4gICAgLy8gV2UgdXNlIGEgaG92ZXIgc3RhdGUgZm9yIHNtYWxsIHJhZGlvcyBiZWNhdXNlIHRoZSB0b3VjaCB0YXJnZXQgc2l6ZVxuICAgIC8vIGlzIHNvIG11Y2ggbGFyZ2VyIHRoYW4gdGhlaXIgdmlzaWJsZSBzaXplLCBhbmQgc28gd2UgbmVlZCB0byBwcm92aWRlXG4gICAgLy8gZmVlZGJhY2sgdG8gdGhlIHVzZXIgYXMgdG8gd2hpY2ggcmFkaW8gdGhleSB3aWxsIHNlbGVjdCB3aGVuIHRoZWlyXG4gICAgLy8gY3Vyc29yIGlzIG91dHNpZGUgb2YgdGhlIHZpc2libGUgYXJlYS5cbiAgICAuZ292dWstcmFkaW9zX19pdGVtOmhvdmVyIC5nb3Z1ay1yYWRpb3NfX2lucHV0Om5vdCg6ZGlzYWJsZWQpICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6YmVmb3JlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRnb3Z1ay1ob3Zlci13aWR0aCAkZ292dWstaG92ZXItY29sb3VyO1xuICAgIH1cblxuICAgIC8vIEJlY2F1c2Ugd2UndmUgb3ZlcnJpZGRlbiB0aGUgYm9yZGVyLXNoYWRvdyBwcm92aWRlZCBieSB0aGUgZm9jdXMgc3RhdGUsXG4gICAgLy8gd2UgbmVlZCB0byByZWRlZmluZSB0aGF0IHRvby5cbiAgICAvL1xuICAgIC8vIFdlIHVzZSB0d28gYm94IHNoYWRvd3MsIG9uZSB0aGF0IHJlc3RvcmVzIHRoZSBvcmlnaW5hbCBmb2N1cyBzdGF0ZSBbMV1cbiAgICAvLyBhbmQgYW5vdGhlciB0aGF0IHRoZW4gYXBwbGllcyB0aGUgaG92ZXIgc3RhdGUgWzJdLlxuICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW06aG92ZXIgLmdvdnVrLXJhZGlvc19faW5wdXQ6Zm9jdXMgKyAuZ292dWstcmFkaW9zX19sYWJlbDpiZWZvcmUge1xuICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyLCAvLyAxXG4gICAgICAgIDAgMCAwICRnb3Z1ay1ob3Zlci13aWR0aCAgICAgICAgJGdvdnVrLWhvdmVyLWNvbG91cjsgLy8gMlxuICAgIH1cblxuICAgIC8vIEZvciBkZXZpY2VzIHRoYXQgZXhwbGljaXRseSBkb24ndCBzdXBwb3J0IGhvdmVyLCBkb24ndCBwcm92aWRlIGEgaG92ZXJcbiAgICAvLyBzdGF0ZSAoZS5nLiBvbiB0b3VjaCBkZXZpY2VzIGxpa2UgaU9TKS5cbiAgICAvL1xuICAgIC8vIFdlIGNhbid0IHVzZSBgQG1lZGlhIChob3ZlcjogaG92ZXIpYCBiZWNhdXNlIHdlIHdvdWxkbid0IGdldCB0aGUgaG92ZXJcbiAgICAvLyBzdGF0ZSBpbiBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgYEBtZWRpYSAoaG92ZXIpYCAobGlrZSBJbnRlcm5ldFxuICAgIC8vIEV4cGxvcmVyKSDigJMgc28gd2UgaGF2ZSB0byAndW5kbycgdGhlIGhvdmVyIHN0YXRlIGluc3RlYWQuXG4gICAgQG1lZGlhIChob3Zlcjogbm9uZSksIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAgIC5nb3Z1ay1yYWRpb3NfX2l0ZW06aG92ZXIgLmdvdnVrLXJhZGlvc19faW5wdXQ6bm90KDpkaXNhYmxlZCkgKyAuZ292dWstcmFkaW9zX19sYWJlbDpiZWZvcmUge1xuICAgICAgICBib3gtc2hhZG93OiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgICAuZ292dWstcmFkaW9zX19pdGVtOmhvdmVyIC5nb3Z1ay1yYWRpb3NfX2lucHV0OmZvY3VzICsgLmdvdnVrLXJhZGlvc19fbGFiZWw6YmVmb3JlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGdvdnVrLXJhZGlvcy1mb2N1cy13aWR0aCAkZ292dWstZm9jdXMtY29sb3VyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCBcIi4uL2Vycm9yLW1lc3NhZ2UvaW5kZXhcIjtcbkBpbXBvcnQgXCIuLi9oaW50L2luZGV4XCI7XG5AaW1wb3J0IFwiLi4vbGFiZWwvaW5kZXhcIjtcblxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC9zZWxlY3RcIikge1xuICAuZ292dWstc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJGxpbmUtaGVpZ2h0OiAxLjI1KTtcblxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIHNob3VsZCB0aGlzIGJlIGdsb2JhbD9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIEBpZiAkZ292dWstdHlwb2dyYXBoeS11c2UtcmVtIHtcbiAgICAgIGhlaWdodDogZ292dWstcHgtdG8tcmVtKDQwcHgpO1xuICAgIH1cbiAgICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDEpOyAvLyB3YXMgNXB4IDRweCA0cHggLSBzaXplIG9mIGl0IHNob3VsZCBiZSBhZGp1c3RlZCB0byBtYXRjaCBvdGhlciBmb3JtIGVsZW1lbnRzXG4gICAgYm9yZGVyOiAkZ292dWstYm9yZGVyLXdpZHRoLWZvcm0tZWxlbWVudCBzb2xpZCAkZ292dWstaW5wdXQtYm9yZGVyLWNvbG91cjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogJGdvdnVrLWZvY3VzLXdpZHRoIHNvbGlkICRnb3Z1ay1mb2N1cy1jb2xvdXI7XG4gICAgICAvLyBFbnN1cmUgb3V0bGluZSBhcHBlYXJzIG91dHNpZGUgb2YgdGhlIGVsZW1lbnRcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgLy8gRG91YmxlIHRoZSBib3JkZXIgYnkgYWRkaW5nIGl0cyB3aWR0aCBhZ2Fpbi4gVXNlIGBib3gtc2hhZG93YCB0byBkb1xuICAgICAgLy8gdGhpcyBpbnN0ZWFkIG9mIGNoYW5naW5nIGBib3JkZXItd2lkdGhgICh3aGljaCBjaGFuZ2VzIGVsZW1lbnQgc2l6ZSkgYW5kXG4gICAgICAvLyBzaW5jZSBgb3V0bGluZWAgaXMgYWxyZWFkeSB1c2VkIGZvciB0aGUgeWVsbG93IGZvY3VzIHN0YXRlLlxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQ7XG5cbiAgICAgIEBpbmNsdWRlIGdvdnVrLWlmLWllOCB7XG4gICAgICAgIC8vIElFOCBkb2Vzbid0IHN1cHBvcnQgYGJveC1zaGFkb3dgIHNvIGRvdWJsZSB0aGUgYm9yZGVyIHdpdGhcbiAgICAgICAgLy8gYGJvcmRlci13aWR0aGAuXG4gICAgICAgIGJvcmRlci13aWR0aDogJGdvdnVrLWJvcmRlci13aWR0aC1mb3JtLWVsZW1lbnQgKiAyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nb3Z1ay1zZWxlY3Qgb3B0aW9uOmFjdGl2ZSxcbiAgLmdvdnVrLXNlbGVjdCBvcHRpb246Y2hlY2tlZCxcbiAgLmdvdnVrLXNlbGVjdDpmb2N1czo6LW1zLXZhbHVlIHtcbiAgICBjb2xvcjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgfVxuXG4gIC5nb3Z1ay1zZWxlY3QtLWVycm9yIHtcbiAgICBib3JkZXI6ICRnb3Z1ay1ib3JkZXItd2lkdGgtZm9ybS1lbGVtZW50LWVycm9yIHNvbGlkICRnb3Z1ay1lcnJvci1jb2xvdXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGdvdnVrLWlucHV0LWJvcmRlci1jb2xvdXI7XG4gICAgfVxuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvY29tcG9uZW50L3NraXAtbGlua1wiKSB7XG4gIC5nb3Z1ay1za2lwLWxpbmsge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbi1mb2N1c2FibGU7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS1jb21tb247XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1kZWNvcmF0aW9uO1xuICAgIEBpbmNsdWRlIGdvdnVrLWxpbmstc3R5bGUtdGV4dDtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXJlc3BvbnNpdmUoJHNpemU6IDE2KTtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMikgZ292dWstc3BhY2luZygzKTtcblxuICAgIC8vIFJlc3BlY3QgJ2Rpc3BsYXkgY3V0b3V0JyBzYWZlIGFyZWEgKGF2b2lkcyBub3RjaGVzIGFuZCByb3VuZGVkIGNvcm5lcnMpXG4gICAgQHN1cHBvcnRzIChwYWRkaW5nOiB1bnF1b3RlKFwibWF4KGNhbGMoMHB4KSlcIikpIHtcbiAgICAgICRwYWRkaW5nLXNhZmUtYXJlYS1yaWdodDogY2FsYygje2dvdnVrLXNwYWNpbmcoMyl9ICsgZW52KHNhZmUtYXJlYS1pbnNldC1yaWdodCkpO1xuICAgICAgJHBhZGRpbmctc2FmZS1hcmVhLWxlZnQ6IGNhbGMoI3tnb3Z1ay1zcGFjaW5nKDMpfSArIGVudihzYWZlLWFyZWEtaW5zZXQtbGVmdCkpO1xuXG4gICAgICAvLyBVc2UgbWF4KCkgdG8gcGljayBsYXJnZXN0IHBhZGRpbmcsIGRlZmF1bHQgb3Igd2l0aCBzYWZlIGFyZWFcbiAgICAgIC8vIEVzY2FwZWQgZHVlIHRvIFNhc3MgbWF4KCkgdnMuIENTUyBuYXRpdmUgbWF4KClcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHVucXVvdGUoXCJtYXgoI3tnb3Z1ay1zcGFjaW5nKDMpfSwgI3skcGFkZGluZy1zYWZlLWFyZWEtcmlnaHR9KVwiKTtcbiAgICAgIHBhZGRpbmctbGVmdDogdW5xdW90ZShcIm1heCgje2dvdnVrLXNwYWNpbmcoMyl9LCAjeyRwYWRkaW5nLXNhZmUtYXJlYS1sZWZ0fSlcIik7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAkZ292dWstZm9jdXMtd2lkdGggc29saWQgJGdvdnVrLWZvY3VzLWNvbG91cjtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdvdnVrLWZvY3VzLWNvbG91cjtcblxuICAgICAgLy8gVW5kbyB1bndhbnRlZCBjaGFuZ2VzIHdoZW4gZ2xvYmFsIHN0eWxlcyBhcmUgZW5hYmxlZFxuICAgICAgQGlmICgkZ292dWstZ2xvYmFsLXN0eWxlcykge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC90YWJsZVwiKSB7XG4gIC5nb3Z1ay10YWJsZSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMTkpO1xuICAgIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIGdvdnVrLXJlc3BvbnNpdmUtbWFyZ2luKDYsIFwiYm90dG9tXCIpO1xuXG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9faGVhZGVyIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXIsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbCB7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSBnb3Z1ay1zcGFjaW5nKDQpIGdvdnVrLXNwYWNpbmcoMikgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdvdnVrLWJvcmRlci1jb2xvdXI7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIC8vIEdPVi5VSyBFbGVtZW50cyBzZXRzIHRoZSBmb250LXNpemUgYW5kIGxpbmUtaGVpZ2h0IGZvciBhbGwgaGVhZGVycyBhbmQgY2VsbHNcbiAgICAvLyBpbiB0YWJsZXMuXG4gICAgQGluY2x1ZGUgZ292dWstY29tcGF0aWJpbGl0eShnb3Z1a19lbGVtZW50cykge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jZWxsLS1udW1lcmljIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBmYWxzZSwgJHRhYnVsYXI6IHRydWUpO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19oZWFkZXItLW51bWVyaWMsXG4gIC5nb3Z1ay10YWJsZV9fY2VsbC0tbnVtZXJpYyB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2hlYWRlcjpsYXN0LWNoaWxkLFxuICAuZ292dWstdGFibGVfX2NlbGw6bGFzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZDtcblxuICAgIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gIC8vIE1vZGlmaWVycyB0aGF0IG1ha2UgY2FwdGlvbnMgbG9vayBtb3JlIGxpa2UgdGhlaXIgZXF1aXZhbGVudCBoZWFkaW5nc1xuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0teGwge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDQ4LCAkd2VpZ2h0OiBib2xkKTtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmdvdnVrLXRhYmxlX19jYXB0aW9uLS1sIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAzNiwgJHdlaWdodDogYm9sZCk7XG4gICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygzKTtcbiAgfVxuXG4gIC5nb3Z1ay10YWJsZV9fY2FwdGlvbi0tbSB7XG4gICAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQpO1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cblxuICAuZ292dWstdGFibGVfX2NhcHRpb24tLXMge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5LCAkd2VpZ2h0OiBib2xkKTtcbiAgfVxufVxuIiwiQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL2NvbXBvbmVudC93YXJuaW5nLXRleHRcIikge1xuICAuZ292dWstd2FybmluZy10ZXh0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oNiwgXCJib3R0b21cIik7XG4gICAgcGFkZGluZzogZ292dWstc3BhY2luZygyKSAwO1xuICB9XG5cbiAgLmdvdnVrLXdhcm5pbmctdGV4dF9fYXNzaXN0aXZlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW47XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X19pY29uIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiBmYWxzZSwgJHdlaWdodDogYm9sZCk7XG5cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBtaW4td2lkdGg6IDM1cHg7XG4gICAgbWluLWhlaWdodDogMzVweDtcbiAgICBtYXJnaW4tdG9wOiAtN3B4O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICB9XG5cbiAgICAvLyBXaGVuIGEgdXNlciBjdXN0b21pc2VzIHRoZWlyIGNvbG91cnMgdGhlIGJhY2tncm91bmQgY29sb3VyIHdpbGwgb2Z0ZW4gYmUgcmVtb3ZlZC5cbiAgICAvLyBBZGRpbmcgYSBib3JkZXIgdG8gdGhlIGNvbXBvbmVudCBrZWVwcyBpdCdzIHNoYXBlIGFzIGEgY2lyY2xlLlxuICAgIGJvcmRlcjogM3B4IHNvbGlkIGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcblxuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC8vIFByZXZlbnQgdGhlIGV4Y2xhbWF0aW9uIG1hcmsgZnJvbSBiZWluZyBpbmNsdWRlZCB3aGVuIHRoZSB3YXJuaW5nIHRleHRcbiAgICAvLyBpcyBjb3BpZWQsIGZvciBleGFtcGxlLlxuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAvLyBJbXByb3ZlIHJlbmRlcmluZyBpbiBXaW5kb3dzIEhpZ2ggQ29udHJhc3QgTW9kZSAoRWRnZSksIHdoZXJlIGFcbiAgICAvLyByZWFkYWJpbGl0eSBiYWNrcGxhdGUgYmVoaW5kIHRoZSBleGNsYW1hdGlvbiBtYXJrIG9ic2N1cmVzIHRoZSBjaXJjbGVcbiAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBub25lO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSkge1xuICAgICAgYm9yZGVyLWNvbG9yOiB3aW5kb3dUZXh0O1xuICAgICAgY29sb3I6IHdpbmRvd1RleHQ7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstd2FybmluZy10ZXh0X190ZXh0IHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb250KCRzaXplOiAxOSwgJHdlaWdodDogYm9sZCk7XG4gICAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xuICB9XG59XG4iLCJAaW1wb3J0IFwiY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJ2aXN1YWxseS1oaWRkZW5cIjtcbiIsIkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay91dGlsaXRpZXMvY2xlYXJmaXhcIikge1xuICAuZ292dWstY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xuICB9XG59XG4iLCJAaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvdXRpbGl0aWVzL3Zpc3VhbGx5LWhpZGRlblwiKSB7XG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4ge1xuICAgIEBpbmNsdWRlIGdvdnVrLXZpc3VhbGx5LWhpZGRlbjtcbiAgfVxuXG4gIC5nb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay12aXN1YWxseS1oaWRkZW4tZm9jdXNhYmxlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiZGlzcGxheVwiO1xuQGltcG9ydCBcInNwYWNpbmdcIjtcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XG5AaW1wb3J0IFwid2lkdGhcIjtcbiIsIkBpZiBub3QgbWl4aW4tZXhpc3RzKFwiZ292dWstZXhwb3J0c1wiKSB7XG4gIEB3YXJuIFwiSW1wb3J0aW5nIGl0ZW1zIGZyb20gdGhlIG92ZXJyaWRlcyBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuQGluY2x1ZGUgZ292dWstZXhwb3J0cyhcImdvdnVrL292ZXJyaWRlcy9kaXNwbGF5XCIpIHtcbiAgLmdvdnVrLVxcIS1kaXNwbGF5LWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZ292dWstXFwhLWRpc3BsYXktaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZGlzcGxheS1ub25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkbWVkaWEtdHlwZTogcHJpbnQpIHtcbiAgICAuZ292dWstXFwhLWRpc3BsYXktbm9uZS1wcmludCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgbm90IG1peGluLWV4aXN0cyhcImdvdnVrLWV4cG9ydHNcIikge1xuICBAd2FybiBcIkltcG9ydGluZyBpdGVtcyBmcm9tIHRoZSBvdmVycmlkZXMgbGF5ZXIgd2l0aG91dCBmaXJzdCBpbXBvcnRpbmcgYGJhc2VgIGlzIGRlcHJlY2F0ZWQsIGFuZCB3aWxsIG5vIGxvbmdlciB3b3JrIGFzIG9mIEdPVi5VSyBGcm9udGVuZCB2NC4wLlwiO1xufVxuXG5AaW1wb3J0IFwiLi4vYmFzZVwiO1xuXG4vLy8vXG4vLy8gQGdyb3VwIG92ZXJyaWRlc1xuLy8vL1xuXG4vLy8gRGlyZWN0aW9ucyBmb3Igc3BhY2luZ1xuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5cbiRfc3BhY2luZy1kaXJlY3Rpb25zOiAoXG4gIFwidG9wXCIsXG4gIFwicmlnaHRcIixcbiAgXCJib3R0b21cIixcbiAgXCJsZWZ0XCJcbikgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIG92ZXJyaWRlIGNsYXNzZXNcbi8vL1xuLy8vIEdlbmVyYXRlIHNwYWNpbmcgb3ZlcnJpZGUgY2xhc3NlcyBmb3IgdGhlIGdpdmVuIHByb3BlcnR5IChlLmcuIG1hcmdpbilcbi8vLyBmb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZS5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBQcm9wZXJ0eSB0byBhZGQgc3BhY2luZyB0byAoZS5nLiAnbWFyZ2luJylcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgIC5nb3Z1ay1cXCEtbWFyZ2luLTAge1xuLy8vICAgICAgbWFyZ2luOiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gIC5nb3Z1ay1cXCEtbWFyZ2luLXRvcC0xIHtcbi8vLyAgICAgbWFyZ2luLXRvcDogW3doYXRldmVyIHNwYWNpbmcgcG9pbnQgMSBpcy4uLl1cbi8vLyAgIH1cbi8vL1xuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuXG5AbWl4aW4gX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKCRwcm9wZXJ0eSkge1xuICAvLyBGb3IgZWFjaCBwb2ludCBpbiB0aGUgc3BhY2luZyBzY2FsZSAoZGVmaW5lZCBpbiBzZXR0aW5ncyksIGNyZWF0ZSBhblxuICAvLyBvdmVycmlkZSB0aGF0IGFmZmVjdHMgYWxsIGRpcmVjdGlvbnMuLi5cbiAgQGVhY2ggJHNjYWxlLXBvaW50LCAkc2NhbGUtbWFwIGluICRnb3Z1ay1zcGFjaW5nLXJlc3BvbnNpdmUtc2NhbGUge1xuXG4gICAgLmdvdnVrLVxcIS0jeyRwcm9wZXJ0eX0tI3skc2NhbGUtcG9pbnR9IHtcblxuICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgXCJhbGxcIiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gLi4uIGFuZCB0aGVuIGFuIG92ZXJyaWRlIGZvciBlYWNoIGluZGl2aWR1YWwgZGlyZWN0aW9uXG4gICAgQGVhY2ggJGRpcmVjdGlvbiBpbiAkX3NwYWNpbmctZGlyZWN0aW9ucyB7XG5cbiAgICAgIC5nb3Z1ay1cXCEtI3skcHJvcGVydHl9LSN7JGRpcmVjdGlvbn0tI3skc2NhbGUtcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgX2dvdnVrLXJlc3BvbnNpdmUtc3BhY2luZygkc2NhbGUtcG9pbnQsICRwcm9wZXJ0eSwgJGRpcmVjdGlvbiwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvc3BhY2luZ1wiKSB7XG4gIEBpbmNsdWRlIF9nb3Z1ay1nZW5lcmF0ZS1zcGFjaW5nLW92ZXJyaWRlcyhcIm1hcmdpblwiKTtcbiAgQGluY2x1ZGUgX2dvdnVrLWdlbmVyYXRlLXNwYWNpbmctb3ZlcnJpZGVzKFwicGFkZGluZ1wiKTtcbn1cbiIsIkBpZiBub3QgbWl4aW4tZXhpc3RzKFwiZ292dWstZXhwb3J0c1wiKSB7XG4gIEB3YXJuIFwiSW1wb3J0aW5nIGl0ZW1zIGZyb20gdGhlIG92ZXJyaWRlcyBsYXllciB3aXRob3V0IGZpcnN0IGltcG9ydGluZyBgYmFzZWAgaXMgZGVwcmVjYXRlZCwgYW5kIHdpbGwgbm8gbG9uZ2VyIHdvcmsgYXMgb2YgR09WLlVLIEZyb250ZW5kIHY0LjAuXCI7XG59XG5cbkBpbXBvcnQgXCIuLi9iYXNlXCI7XG5cbkBpbmNsdWRlIGdvdnVrLWV4cG9ydHMoXCJnb3Z1ay9vdmVycmlkZXMvdHlwb2dyYXBoeVwiKSB7XG4gIC8vIEZvbnQgc2l6ZSBhbmQgbGluZSBoZWlnaHRcblxuICAvLyBHZW5lcmF0ZSB0eXBvZ3JhcGh5IG92ZXJyaWRlIGNsYXNzZXMgZm9yIGVhY2ggcmVzcG9uc2l2ZSBmb250IG1hcCBpbiB0aGVcbiAgLy8gdHlwb2dyYXBoeSBzY2FsZSBlZyAuZ292dWstXFwhLWZvbnQtc2l6ZS04MFxuICBAZWFjaCAkc2l6ZSBpbiBtYXAta2V5cygkZ292dWstdHlwb2dyYXBoeS1zY2FsZSkge1xuICAgIC5nb3Z1ay1cXCEtZm9udC1zaXplLSN7JHNpemV9IHtcbiAgICAgIEBpbmNsdWRlIGdvdnVrLXR5cG9ncmFwaHktcmVzcG9uc2l2ZSgkc2l6ZSwgJGltcG9ydGFudDogdHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2VpZ2h0c1xuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtcmVndWxhciB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtcmVndWxhcigkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxuXG4gIC5nb3Z1ay1cXCEtZm9udC13ZWlnaHQtYm9sZCB7XG4gICAgQGluY2x1ZGUgZ292dWstdHlwb2dyYXBoeS13ZWlnaHQtYm9sZCgkaW1wb3J0YW50OiB0cnVlKTtcbiAgfVxufVxuIiwiQGlmIG5vdCBtaXhpbi1leGlzdHMoXCJnb3Z1ay1leHBvcnRzXCIpIHtcbiAgQHdhcm4gXCJJbXBvcnRpbmcgaXRlbXMgZnJvbSB0aGUgb3ZlcnJpZGVzIGxheWVyIHdpdGhvdXQgZmlyc3QgaW1wb3J0aW5nIGBiYXNlYCBpcyBkZXByZWNhdGVkLCBhbmQgd2lsbCBubyBsb25nZXIgd29yayBhcyBvZiBHT1YuVUsgRnJvbnRlbmQgdjQuMC5cIjtcbn1cblxuQGltcG9ydCBcIi4uL2Jhc2VcIjtcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5AaW5jbHVkZSBnb3Z1ay1leHBvcnRzKFwiZ292dWsvb3ZlcnJpZGVzL3dpZHRoXCIpIHtcbiAgLmdvdnVrLVxcIS13aWR0aC1mdWxsIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC10aHJlZS1xdWFydGVycyB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA3NSUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLXR3by10aGlyZHMge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB3aWR0aDogNjYuNjYlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmdvdnVrLVxcIS13aWR0aC1vbmUtaGFsZiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS10aGlyZCB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAzMy4zMyUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuZ292dWstXFwhLXdpZHRoLW9uZS1xdWFydGVyIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgd2lkdGg6IDI1JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL2FscGhhZ292L2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9ibG9iL3YyMi4wLjAvYXBwL2Fzc2V0cy9zdHlsZXNoZWV0cy9nb3Z1a19wdWJsaXNoaW5nX2NvbXBvbmVudHMvY29tcG9uZW50cy9fc3RlcC1ieS1zdGVwLW5hdi1oZWFkZXIuc2Nzc1xuLy8gTm90ZSAtIHRoaXMgY29kZSBmb3IgcHJvdG90eXBlIHB1cnBvc2VzIG9ubHkuIEl0IGlzIG5vdCBwcm9kdWN0aW9uIGNvZGUuXG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyIHtcbiAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwibGlnaHQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktNFwiKTtcbiAgYm9yZGVyLXRvcDogc29saWQgMXB4IGdvdnVrLWNvbG91cihcIm1pZC1ncmV5XCIsICRsZWdhY3k6IFwiZ3JleS0yXCIpO1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIHBhZGRpbmc6IGdvdnVrLXNwYWNpbmcoMyk7XG4gIH1cbn1cblxuLy8gc2Nzcy1saW50OmRpc2FibGUgU2VsZWN0b3JGb3JtYXRcblxuLmFwcC1zdGVwLW5hdi1oZWFkZXJfX3BhcnQtb2Yge1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE2LCAkd2VpZ2h0OiBib2xkKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IC4yZW07XG59XG5cbi5hcHAtc3RlcC1uYXYtaGVhZGVyX190aXRsZSB7XG4gIEBleHRlbmQgJWdvdnVrLWxpbms7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMjQsICR3ZWlnaHQ6IGJvbGQpO1xufVxuXG4vLyBzY3NzLWxpbnQ6ZW5hYmxlIFNlbGVjdG9yRm9ybWF0XG4iLCIvLyBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2Jsb2IvdjIyLjAuMC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9jb21wb25lbnRzL19zdGVwLWJ5LXN0ZXAtbmF2LnNjc3Ncbi8vIE5vdGUgLSB0aGlzIGNvZGUgZm9yIHByb3RvdHlwZSBwdXJwb3NlcyBvbmx5LiBJdCBpcyBub3QgcHJvZHVjdGlvbiBjb2RlLlxuXG4kc3Ryb2tlLXdpZHRoOiAycHg7XG4kc3Ryb2tlLXdpZHRoLWxhcmdlOiAzcHg7XG4kbnVtYmVyLWNpcmNsZS1zaXplOiAyNnB4O1xuJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTogMzVweDtcbiR0b3AtYm9yZGVyOiBzb2xpZCAycHggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTNcIik7XG5cbkBtaXhpbiBzdGVwLW5hdi12ZXJ0aWNhbC1saW5lICgkbGluZS1zdHlsZTogc29saWQpIHtcbiAgY29udGVudDogXCJcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBib3JkZXItbGVmdDogJGxpbmUtc3R5bGUgJHN0cm9rZS13aWR0aCBnb3Z1ay1jb2xvdXIoXCJtaWQtZ3JleVwiLCAkbGVnYWN5OiBcImdyZXktMlwiKTtcbiAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG59XG5cbkBtaXhpbiBzdGVwLW5hdi1saW5lLXBvc2l0aW9uIHtcbiAgbGVmdDogMDtcbiAgbWFyZ2luLWxlZnQ6ICgkbnVtYmVyLWNpcmNsZS1zaXplIC8gMikgLSAoJHN0cm9rZS13aWR0aCAvIDIpO1xufVxuXG5AbWl4aW4gc3RlcC1uYXYtbGluZS1wb3NpdGlvbi1sYXJnZSB7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAoJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZSAvIDIpIC0gKCRzdHJva2Utd2lkdGgtbGFyZ2UgLyAyKTtcbiAgYm9yZGVyLXdpZHRoOiAkc3Ryb2tlLXdpZHRoLWxhcmdlO1xufVxuXG4vLyBjdXN0b20gbWl4aW4gYXMgZ292dWstZm9udCBkb2VzIHVuZGVzaXJhYmxlIHRoaW5ncyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHNcbi8vIHdlIHdhbnQgdG8gZW5zdXJlIHRoYXQgYm90aCBsYXJnZSBhbmQgc21hbGwgc3RlcCBuYXZzIGhhdmUgdGhlIHNhbWUgc2l6ZSBmb250IG9uIG1vYmlsZVxuLy8gdGhpcyB3aWxsIHN0b3AgdGV4dCByZXNpemluZyBpZiBjb21wYXRpYmlsaXR5IG1vZGUgaXMgdHVybmVkIG9mZlxuQG1peGluIHN0ZXAtbmF2LWZvbnQoJHNpemUsICR0YWJsZXQtc2l6ZTogJHNpemUsICR3ZWlnaHQ6IG5vcm1hbCwgJGxpbmUtaGVpZ2h0OiAxLjMsICR0YWJsZXQtbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodCkge1xuICBAaW5jbHVkZSBnb3Z1ay10eXBvZ3JhcGh5LWNvbW1vbigpO1xuICBmb250LXNpemU6ICRzaXplICsgcHg7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuXG4gIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICBmb250LXNpemU6ICR0YWJsZXQtc2l6ZSArIHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAkdGFibGV0LWxpbmUtaGVpZ2h0O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXYge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xuXG4gICYuYXBwLXN0ZXAtbmF2LS1sYXJnZSB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZyg5KTtcbiAgICB9XG4gIH1cblxuICAuanMtZW5hYmxlZCAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jb250cm9scyB7XG4gIHBhZGRpbmc6IDNweCAzcHggMCAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmFwcC1zdGVwLW5hdl9fYnV0dG9uIHtcbiAgY29sb3I6ICRnb3Z1ay1saW5rLWNvbG91cjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1mb2N1c2VkLXRleHQ7XG4gIH1cbn1cblxuLy8gcmVtb3ZlcyBleHRyYSBkb3R0ZWQgb3V0bGluZSBmcm9tIGJ1dHRvbnMgaW4gRmlyZWZveFxuLy8gb24gZm9jdXMgKHN0YW5kYXJkIHllbGxvdyBvdXRsaW5lIHVuYWZmZWN0ZWQpXG4uYXBwLXN0ZXAtbmF2X19idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2J1dHRvbi0tdGl0bGUge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTksICR0YWJsZXQtc2l6ZTogMjQsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19idXR0b24tLWNvbnRyb2xzIHtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNCwgJGxpbmUtaGVpZ2h0OiAxKTtcbiAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTsgLy8gdGhpcyBhbmQgcmVsYXRpdmUgcG9zaXRpb24gc3RvcHMgZm9jdXMgb3V0bGluZSB1bmRlcmxhcCB3aXRoIGJvcmRlciBvZiBhY2NvcmRpb25cbiAgcGFkZGluZzogLjVlbSAwO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTQsICR0YWJsZXQtc2l6ZTogMTYsICRsaW5lLWhlaWdodDogMSk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fc3RlcHMge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG59XG5cbi5hcHAtc3RlcC1uYXZfX3N0ZXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg2KSArIGdvdnVrLXNwYWNpbmcoMyk7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gbGluZSBkb3duIHRoZSBzaWRlIG9mIGEgc3RlcFxuICAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi12ZXJ0aWNhbC1saW5lO1xuICAgIEBpbmNsdWRlIHN0ZXAtbmF2LWxpbmUtcG9zaXRpb247XG4gICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiBnb3Z1ay1zcGFjaW5nKDkpO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3RlcC1uYXYtbGluZS1wb3NpdGlvbi1sYXJnZTtcbiAgICAgICAgdG9wOiBnb3Z1ay1zcGFjaW5nKDYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwOmxhc3QtY2hpbGQge1xuICAvLyBsaXR0bGUgZGFzaCBhdCB0aGUgYm90dG9tIG9mIHRoZSBsaW5lXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA2O1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkbnVtYmVyLWNpcmNsZS1zaXplIC8gNDtcbiAgICB3aWR0aDogJG51bWJlci1jaXJjbGUtc2l6ZSAvIDI7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1ib3R0b206IHNvbGlkICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICAgIC8vIHNhc3MtbGludDpkaXNhYmxlIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gICAgaGVpZ2h0OiAtd2Via2l0LWNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZygzKX0pOyAvLyBmYWxsYmFjayBmb3IgaXBob25lIDRcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZygzKX0pO1xuICAgIC8vIHNhc3MtbGludDplbmFibGUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgICAvLyBzY3NzLWxpbnQ6ZW5hYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19oZWxwOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbnVtYmVyLWNpcmNsZS1zaXplLWxhcmdlIC8gNDtcbiAgICAgICAgd2lkdGg6ICRudW1iZXItY2lyY2xlLXNpemUtbGFyZ2UgLyAyO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzdHJva2Utd2lkdGgtbGFyZ2U7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtICN7Z292dWstc3BhY2luZyg2KX0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19zdGVwLS1hY3RpdmUge1xuICAmOmxhc3QtY2hpbGQ6YmVmb3JlLFxuICAuYXBwLXN0ZXAtbmF2X19jaXJjbGUtLW51bWJlcixcbiAgJjphZnRlcixcbiAgLmFwcC1zdGVwLW5hdl9faGVscDphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJibGFja1wiKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDU7XG4gIHRvcDogZ292dWstc3BhY2luZygzKTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6ICRudW1iZXItY2lyY2xlLXNpemU7XG4gIGhlaWdodDogJG51bWJlci1jaXJjbGUtc2l6ZTtcbiAgY29sb3I6IGdvdnVrLWNvbG91cihcImJsYWNrXCIpO1xuICBiYWNrZ3JvdW5kOiBnb3Z1ay1jb2xvdXIoXCJ3aGl0ZVwiKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICB0b3A6IGdvdnVrLXNwYWNpbmcoNik7XG4gICAgICB3aWR0aDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTtcbiAgICAgIGhlaWdodDogJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1udW1iZXIge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE2LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDIzcHgpO1xuICBib3JkZXI6IHNvbGlkICRzdHJva2Utd2lkdGggZ292dWstY29sb3VyKFwibWlkLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTJcIik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyM3B4LCAkdGFibGV0LWxpbmUtaGVpZ2h0OiAzMHB4KTtcblxuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIGJvcmRlci13aWR0aDogJHN0cm9rZS13aWR0aC1sYXJnZTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fY2lyY2xlLS1sb2dpYyB7XG4gIEBpbmNsdWRlIHN0ZXAtbmF2LWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMjhweCk7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSwgJHdlaWdodDogYm9sZCwgJGxpbmUtaGVpZ2h0OiAyOHB4LCAkdGFibGV0LWxpbmUtaGVpZ2h0OiAzNHB4KTtcbiAgfVxufVxuXG4vLyBtYWtlcyBzdXJlIGxvZ2ljIHRleHQgZXhwYW5kcyB0byB0aGUgbGVmdCBpZiB0ZXh0IHNpemUgaXMgem9vbWVkLCBwcmV2ZW50aW5nIG92ZXJsYXBcbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1pbm5lciB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWluLXdpZHRoOiAxMDAlO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtYmFja2dyb3VuZCB7XG4gICRzaGFkb3ctb2Zmc2V0OiAuMWVtO1xuICAkc2hhZG93LWNvbG91cjogZ292dWstY29sb3VyKFwid2hpdGVcIik7XG5cbiAgLy8gdG8gbWFrZSBudW1iZXJzIHJlYWRhYmxlIGZvciB1c2VycyB6b29taW5nIHRleHQgb25seSBpbiBicm93c2VycyBzdWNoIGFzIEZpcmVmb3hcbiAgdGV4dC1zaGFkb3c6IDAgLSN7JHNoYWRvdy1vZmZzZXR9IDAgJHNoYWRvdy1jb2xvdXIsICRzaGFkb3ctb2Zmc2V0IDAgMCAkc2hhZG93LWNvbG91ciwgMCAkc2hhZG93LW9mZnNldCAwICRzaGFkb3ctY29sb3VyLCAtI3skc2hhZG93LW9mZnNldH0gMCAwICRzaGFkb3ctY29sb3VyO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19jaXJjbGUtc3RlcC1sYWJlbCxcbi5hcHAtc3RlcC1uYXZfX2NpcmNsZS1zdGVwLWNvbG9uIHtcbiAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19oZWFkZXIge1xuICBwYWRkaW5nOiBnb3Z1ay1zcGFjaW5nKDMpIDA7XG4gIGJvcmRlci10b3A6ICR0b3AtYm9yZGVyO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWFjdGl2ZSAmIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2X19idXR0b24ge1xuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZ292dWstZm9jdXNlZC10ZXh0O1xuXG4gICAgICAuYXBwLXN0ZXAtbmF2X190b2dnbGUtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGdvdnVrLWZvY3VzZWQtdGV4dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAuYXBwLXN0ZXAtbmF2X19idXR0b246bm90KDpmb2N1cyksXG4gICAgLmFwcC1zdGVwLW5hdl9fY2lyY2xlIHtcbiAgICAgIGNvbG9yOiAkZ292dWstbGluay1jb2xvdXI7XG4gICAgfVxuXG4gICAgLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgZ292dWstbGluay1jb21tb247XG4gICAgICBAaW5jbHVkZSBnb3Z1ay1saW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgfVxuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgcGFkZGluZzogZ292dWstc3BhY2luZyg2KSAwO1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X190aXRsZSB7XG4gIEBpbmNsdWRlIGdvdnVrLXRleHQtY29sb3VyO1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIG1hcmdpbjogMDtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE5LCAkdGFibGV0LXNpemU6IDI0LCAkd2VpZ2h0OiBib2xkLCAkbGluZS1oZWlnaHQ6IDEuNCk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fdG9nZ2xlLWxpbmsge1xuICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkbGluZS1oZWlnaHQ6IDEuMik7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogJGdvdnVrLWxpbmstY29sb3VyO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBzdGVwLW5hdi1mb250KDE0LCAkdGFibGV0LXNpemU6IDE2LCAkbGluZS1oZWlnaHQ6IDEuMik7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fcGFuZWwge1xuICBAaW5jbHVkZSBnb3Z1ay10ZXh0LWNvbG91cjtcbiAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNik7XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgc3RlcC1uYXYtZm9udCgxNiwgJHRhYmxldC1zaXplOiAxOSk7XG4gIH1cblxuICAuanMtZW5hYmxlZCAmLmpzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBjb250ZW50cyBvZiB0aGUgc3RlcHMsIHN1Y2ggYXMgcGFyYWdyYXBocyBhbmQgbGlua3NcblxuLmFwcC1zdGVwLW5hdl9fcGFyYWdyYXBoIHtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuXG4gICsgLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogLTVweDtcblxuICAgIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAtZ292dWstc3BhY2luZygzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZ292dWstc3BhY2luZyg2KTtcbiAgICB9XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdl9fbGlzdCB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5hcHAtc3RlcC1uYXYtLWxhcmdlICYge1xuICAgIEBpbmNsdWRlIGdvdnVrLW1lZGlhLXF1ZXJ5KCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LS1jaG9pY2Uge1xuICAkbGlua3MtbWFyZ2luOiAyMHB4O1xuXG4gIG1hcmdpbi1sZWZ0OiAkbGlua3MtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBkaXNjO1xuXG4gIC5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbS0tYWN0aXZlOmJlZm9yZSB7XG4gICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDYpICsgZ292dWstc3BhY2luZygzKSkgLSAkbGlua3MtbWFyZ2luO1xuICB9XG5cbiAgLmFwcC1zdGVwLW5hdi0tbGFyZ2UgJiB7XG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgICAgLmFwcC1zdGVwLW5hdl9fbGlzdC1pdGVtLS1hY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogLShnb3Z1ay1zcGFjaW5nKDkpKSAtICRsaW5rcy1tYXJnaW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpc3QtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5hcHAtc3RlcC1uYXZfX2xpbmsge1xuICBAaW5jbHVkZSBnb3Z1ay1saW5rLWNvbW1vbjtcbiAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS1kZWZhdWx0O1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saW5rLWFjdGl2ZS1jb250ZXh0IHtcbiAgQGluY2x1ZGUgZ292dWstdmlzdWFsbHktaGlkZGVuO1xufVxuXG4uYXBwLXN0ZXAtbmF2X19saXN0LWl0ZW0tLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIHRvcDogLjZlbTsgLy8gcG9zaXRpb24gdGhlIGRvdCB0byBhbGlnbiB3aXRoIHRoZSBmaXJzdCByb3cgb2YgdGV4dCBpbiB0aGUgbGlua1xuICAgIGxlZnQ6IC0oZ292dWstc3BhY2luZyg2KSArIGdvdnVrLXNwYWNpbmcoMykpO1xuICAgIG1hcmdpbi10b3A6IC0oJHN0cm9rZS13aWR0aCAvIDIpO1xuICAgIG1hcmdpbi1sZWZ0OiAoJG51bWJlci1jaXJjbGUtc2l6ZSAvIDIpO1xuICAgIHdpZHRoOiAkbnVtYmVyLWNpcmNsZS1zaXplIC8gMjtcbiAgICBoZWlnaHQ6ICRzdHJva2Utd2lkdGg7XG4gICAgYmFja2dyb3VuZDogZ292dWstY29sb3VyKFwiYmxhY2tcIik7XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LS1sYXJnZSAmIHtcbiAgICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IC0oZ292dWstc3BhY2luZyg5KSk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoJG51bWJlci1jaXJjbGUtc2l6ZS1sYXJnZSAvIDIpO1xuICAgICAgICBoZWlnaHQ6ICRzdHJva2Utd2lkdGgtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFwcC1zdGVwLW5hdl9fbGluayB7XG4gICAgQGluY2x1ZGUgZ292dWstbGluay1zdHlsZS10ZXh0O1xuICB9XG59XG5cbi5hcHAtc3RlcC1uYXZfX2NvbnRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiBnb3Z1ay1jb2xvdXIoXCJkYXJrLWdyZXlcIiwgJGxlZ2FjeTogXCJncmV5LTFcIik7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFxcMjAxM1xcMDBhMFwiOyAvLyBkYXNoIGZvbGxvd2VkIGJ5ICZuYnNwO1xuICB9XG59XG4iLCIvLyBCYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vYWxwaGFnb3YvZ292dWtfcHVibGlzaGluZ19jb21wb25lbnRzL2Jsb2IvdjIyLjAuMC9hcHAvYXNzZXRzL3N0eWxlc2hlZXRzL2dvdnVrX3B1Ymxpc2hpbmdfY29tcG9uZW50cy9jb21wb25lbnRzL19zdGVwLWJ5LXN0ZXAtcmVsYXRlZC5zY3NzXG4vLyBOb3RlIC0gdGhpcyBjb2RlIGZvciBwcm90b3R5cGUgcHVycG9zZXMgb25seS4gSXQgaXMgbm90IHByb2R1Y3Rpb24gY29kZS5cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkIHtcbiAgQGluY2x1ZGUgZ292dWstdGV4dC1jb2xvdXI7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCBnb3Z1ay1jb2xvdXIoXCJibHVlXCIpO1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpO1xufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2hlYWRpbmcge1xuICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDMpO1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpO1xuICBAaW5jbHVkZSBnb3Z1ay1mb250KDE5LCAkd2VpZ2h0OiBib2xkKTtcbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rcyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTYsICR3ZWlnaHQ6IGJvbGQpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZC0tc2luZ3VsYXIge1xuICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDIpICsgMztcblxuICAuYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2hlYWRpbmcge1xuICAgIEBpbmNsdWRlIGdvdnVrLWZvbnQoMTksICR3ZWlnaHQ6IGJvbGQsICRsaW5lLWhlaWdodDogMS40KTtcbiAgICBtYXJnaW4tdG9wOiBnb3Z1ay1zcGFjaW5nKDQpO1xuXG4gICAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICB9XG4gIH1cblxuICAuYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX3ByZXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiBnb3Z1ay1zcGFjaW5nKDYpIC8gNDtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX3ByZXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMyk7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1hcmdpbi1ib3R0b206IGdvdnVrLXNwYWNpbmcoMSk7XG4gIH1cbn1cblxuLmFwcC1zdGVwLW5hdi1yZWxhdGVkX19saW5rcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5hcHAtc3RlcC1uYXYtcmVsYXRlZF9fbGluay1pdGVtIHtcbiAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygzKTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogdGFibGV0KSB7XG4gICAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygxKTtcbiAgfVxufVxuXG4uYXBwLXN0ZXAtbmF2LXJlbGF0ZWRfX2xpbmsge1xuICBAZXh0ZW5kICVnb3Z1ay1saW5rO1xufVxuIiwiLy8gVGFzayBsaXN0IHBhdHRlcm5cblxuLmFwcC10YXNrLWxpc3Qge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1pbi13aWR0aDogNTUwcHg7XG4gIH1cbn1cblxuLmFwcC10YXNrLWxpc3RfX3NlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgQGluY2x1ZGUgZ292dWstZm9udCgkc2l6ZToyNCwgJHdlaWdodDogYm9sZCk7XG59XG5cbi5hcHAtdGFzay1saXN0X19zZWN0aW9uLW51bWJlciB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIG1pbi13aWR0aDogZ292dWstc3BhY2luZyg2KTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5hcHAtdGFzay1saXN0X19pdGVtcyB7XG4gIEBpbmNsdWRlIGdvdnVrLWZvbnQoJHNpemU6IDE5KTtcbiAgQGluY2x1ZGUgZ292dWstcmVzcG9uc2l2ZS1tYXJnaW4oOSwgXCJib3R0b21cIik7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgQGluY2x1ZGUgZ292dWstbWVkaWEtcXVlcnkoJGZyb206IHRhYmxldCkge1xuICAgIHBhZGRpbmctbGVmdDogZ292dWstc3BhY2luZyg2KTtcbiAgfVxufVxuXG4uYXBwLXRhc2stbGlzdF9faXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgcGFkZGluZy1ib3R0b206IGdvdnVrLXNwYWNpbmcoMik7XG4gIEBpbmNsdWRlIGdvdnVrLWNsZWFyZml4O1xufVxuXG4uYXBwLXRhc2stbGlzdF9faXRlbTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ292dWstYm9yZGVyLWNvbG91cjtcbn1cblxuLmFwcC10YXNrLWxpc3RfX3Rhc2stbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogNDUwcHgpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG4vLyBUaGUgYGFwcC10YXNrLWxpc3RfX3Rhc2stY29tcGxldGVkYCBjbGFzcyB3YXMgcHJldmlvdXNseSB1c2VkIG9uIHRoZSB0YXNrXG4vLyBsaXN0IGZvciB0aGUgY29tcGxldGVkIHRhZyAoY2hhbmdlZCBpbiA4NmM5MGVjKSDigJMgaXQncyBzdGlsbCBpbmNsdWRlZCBoZXJlIHRvXG4vLyBhdm9pZCBicmVha2luZyB0YXNrIGxpc3RzIGluIGV4aXN0aW5nIHByb3RvdHlwZXMuXG4uYXBwLXRhc2stbGlzdF9fdGFnLFxuLmFwcC10YXNrLWxpc3RfX3Rhc2stY29tcGxldGVkIHtcbiAgbWFyZ2luLXRvcDogZ292dWstc3BhY2luZygyKTtcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygxKTtcblxuICBAaW5jbHVkZSBnb3Z1ay1tZWRpYS1xdWVyeSgkZnJvbTogNDUwcHgpIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4iLCIvLyBUaGlzIGlzIGEgR09WLlVLIFB1Ymxpc2hpbmcgc3BlY2lmaWMgY29tcG9uZW50IHRoYXRcbi8vIGNhbiBiZSBzZWVuIGF0IGh0dHA6Ly9nb3Z1ay1zdGF0aWMuaGVyb2t1YXBwLmNvbS9jb21wb25lbnQtZ3VpZGUvcmVsYXRlZF9pdGVtc1xuXG4uYXBwLXJlbGF0ZWQtaXRlbXMge1xuICBib3JkZXItdG9wOiAycHggc29saWQgZ292dWstY29sb3VyKFwiYmx1ZVwiKTtcbiAgcGFkZGluZy10b3A6IGdvdnVrLXNwYWNpbmcoMik7XG59XG5cbi5hcHAtcmVsYXRlZC1pdGVtcyAuZ292dWstbGlzdCA+IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogZ292dWstc3BhY2luZygyKTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQTRDY0UsQUFOQSxXQU1XLEVLSlgsQ0FBQyxFK0NlSCwyQkFBMkIsRUVrQzNCLDJCQUEyQixDdERuRGI7RUhPWixXQUFXLEV6Q0xPLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVU7RXlDTXJGLHNCQUFzQixFQUFFLFdBQVc7RUFDbkMsdUJBQXVCLEVBQUUsU0FBUztFTGFsQyxlQUFlLEVBQUUsU0FBUztFQUl0Qix5QkFBeUIsRXBCRUUsa0JBQTZCO0VvQkV4RCxxQkFBcUIsRXBCT0csS0FBSTtDNEJqQy9COztBVktLLG9MQUFvTDtBQUFDLGtEQUFrRDtBQUN2TyxVQUFVO0VBQ1IsV0FBVyxFQUFFLGVBQWU7RUFDNUIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsR0FBRyxFVkFELDhDQUFrQyxDVUNVLGVBQWUsRVZEM0QsNkNBQWtDLENVRVMsY0FBYztFQUMzRCxZQUFZLEVBQUUsUUFBUTs7O0FBR3hCLFVBQVU7RUFDUixXQUFXLEVBQUUsZUFBZTtFQUM1QixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixHQUFHLEVWVkQsNkNBQWtDLENVV1MsZUFBZSxFVlgxRCw0Q0FBa0MsQ1VZUSxjQUFjO0VBQzFELFlBQVksRUFBRSxRQUFROzs7QUlpTXhCLE1BQU0sQ0FBQyxLQUFLO0VNdE5sQixBQU5BLFdBTVcsRUtKWCxDQUFDLEUrQ2VILDJCQUEyQixFRWtDM0IsMkJBQTJCLEN0RG5EYjtJSHNCVixXQUFXLEUzQjhCVyxVQUFVO0c4QmhEakM7OztBQUVELEFSQUEsV1FBVyxBUkFWLE1BQU0sRWFKUCxDQUFDLEFiSUEsTUFBTSxFNERXVCwyQkFBMkIsQTVEWHhCLE1BQU0sRThENkNULDJCQUEyQixBOUQ3Q3hCLE1BQU0sQ0FBQztFQXVDTix5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QVE1WUwsQVJ1TUEsa0JRdk1rQixBUnVNakIsS0FBSyxFUXZNTixrQkFBa0IsQVJ3TWpCLFFBQVEsQ0FBQztFQUNSLEtBQUssRTdCaExNLE9BQU87QzZCaUxuQjs7QVExTUQsQVI0TUEsa0JRNU1rQixBUjRNakIsTUFBTSxFUTVNUCxrQkFBa0IsQVI2TWpCLE9BQU8sQ0FBQztFQUNQLEtBQUssRTdCdExFLE9BQU87QzZCdUxmOztBUS9NRCxBUm1OQSxrQlFuTmtCLEFSbU5qQixNQUFNLENBQUM7RUFDTixLQUFLLEU3QjVMRSxPQUFPO0M2QjZMZjs7QVFqTkQsQVI4T0Esd0JROU93QixBUjhPdkIsS0FBSyxFUTlPTix3QkFBd0IsQVIrT3ZCLFFBQVEsQ0FBQztFSy9OVixLQUFLLEVsQ0lJLE9BQU87QzZCNk5mOztBRXRDSyxNQUFNLENBQUMsS0FBSztFTTNNbEIsQVI4T0Esd0JROU93QixBUjhPdkIsS0FBSyxFUTlPTix3QkFBd0IsQVIrT3ZCLFFBQVEsQ0FBQztJSzVOUixLQUFLLEVoQ0lpQixPQUFPO0cyQjBOOUI7OztBUWpQRCxBUnFQQSx3QlFyUHdCLEFScVB2QixNQUFNLENBQUM7RUFDTixLQUFLLEU3QmxPRSxzQkFBTztDNkJtT2Y7O0FRdlBELEFSeVBBLHdCUXpQd0IsQVJ5UHZCLE9BQU8sRVF6UFIsd0JBQXdCLEFSMFB2QixNQUFNLENBQUM7RUsxT1IsS0FBSyxFbENJSSxPQUFPO0M2QndPZjs7QUVqREssTUFBTSxDQUFDLEtBQUs7RU0zTWxCLEFSeVBBLHdCUXpQd0IsQVJ5UHZCLE9BQU8sRVF6UFIsd0JBQXdCLEFSMFB2QixNQUFNLENBQUM7SUt2T04sS0FBSyxFaENJaUIsT0FBTztHMkJxTzlCOzs7QVF4UEQsQVJxUkEsb0JRclJvQixBUnFSbkIsS0FBSyxFUXJSTixvQkFBb0IsQVJzUm5CLFFBQVEsQ0FBQztFQUNSLEtBQUssRTdCblFFLE9BQU87QzZCb1FmOztBUXhSRCxBUjRSQSxvQlE1Um9CLEFSNFJuQixNQUFNLEVRNVJQLG9CQUFvQixBUjZSbkIsT0FBTyxDQUFDO0VBQ1AsS0FB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Qjs7QUFFRCxBQUFBLE1BQU0sQ0FBQztFQUNILGdCQUFnQixFQUFFLE9BQU87RUFDekIsWUFBWSxFQUFDLE9BQU87RUFDcEIsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixZQUFZLEVBQUUsR0FBRztDQUNwQjs7QUFFRCxBQUFBLE9BQU8sQ0FBQztFQUNKLGdCQUFnQixFQUFFLE9BQU87RUFDekIsWUFBWSxFQUFDLE9BQU87RUFDcEIsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixZQUFZLEVBQUUsR0FBRztDQUNwQjs7QUFFRCxBQUFBLE9BQU8sQ0FBQztFQUNKLGdCQUFnQixFQUFFLE9BQU87RUFDekIsWUFBWSxFQUFDLE9BQU87RUFDcEIsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixZQUFZLEVBQUUsR0FBRztDQUNwQjs7QUFFRCxBQUFBLEtBQUssQ0FBQztFQUNGLGdCQUFnQixFQUFFLE9BQU87RUFDekIsWUFBWSxFQUFFLE9BQU87RUFDckIsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixZQUFZLEVBQUUsR0FBRztDQUNwQjs7QUFFRCxBQUFBLEtBQUssQ0FBQztFQUNGLGdCQUFnQixFQUFFLE9BQU87RUFDekIsWUFBWSxFQUFFLE9BQU87RUFDckIsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixZQUFZLEVBQUUsR0FBRztDQUNwQjs7QUFFRCxBQUFBLEtBQUssQ0FBQztFQUNGLGdCQUFnQixFQUFFLE9BQU87RUFDekIsWUFBWSxFQUFFLE9BQU87RUFDckIsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixZQUFZLEVBQUUsR0FBRztDQUNwQjs7QUFFRCxBQUFBLE9BQU8sQ0FBQztFQUNKLGdCQUFnQixFQUFFLE9BQU87RUFDekIsWUFBWSxFQUFFLE9BQU87RUFDckIsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixZQUFZLEVBQUUsR0FBRztDQUNwQjs7QUFFRCxBQUFBLElBQUksQ0FBQztFQUNELGdCQUFnQixFQUFFLE9BQU87RUFDekIsWUFBWSxFQUFFLE9BQU87RUFDckIsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixZQUFZLEVBQUUsR0FBRztDQUNwQjs7QUFHRCxxQ0FBcUM7QUFFckMsQUFBQSxXQUFXLENBQUM7RUFDUixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLFlBQVksRUFBRSxPQUFPO0VBQ3JCLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsWUFBWSxFQUFFLEdBQUc7Q0FDcEI7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDUCxnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLFlBQVksRUFBRSxPQUFPO0VBQ3JCLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsWUFBWSxFQUFFLEdBQUc7Q0FDcEI7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDTixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLFlBQVksRUFBRSxPQUFPO0VBQ3JCLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsWUFBWSxFQUFFLEdBQUc7Q0FDcEI7O0FBRUQsQUFBQSxXQUFXLENBQUM7RUFDUixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLFlBQVksRUFBRSxPQUFPO0VBQ3JCLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsWUFBWSxFQUFFLEdBQUc7Q0FDcEI7O0FBRUQsQUFBQSxRQUFRLENBQUM7RUFDTCxnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLFlBQVksRUFBRSxPQUFPO0VBQ3JCLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsWUFBWSxFQUFFLEdBQUc7Q0FDcEI7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDTixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLFlBQVksRUFBRSxPQUFPO0VBQ3JCLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsWUFBWSxFQUFFLEdBQUc7Q0FDcEI7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDTixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLFlBQVksRUFBRSxPQUFPO0VBQ3JCLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsWUFBWSxFQUFFLEdBQUc7Q0FDcEI7O0FBRUQsQUFBQSxXQUFXLENBQUM7RUFDUixnQkFBZ0IsRUFBRSxPQUFPO0VBQ3pCLFlBQVksRUFBRSxPQUFPO0VBQ3JCLEtBQUssRUFBRSxrQkFBa0I7RUFDekIsWUFBWSxFQUFFLEdBQUc7Q0FDcEIifQ== */
  