@charset "UTF-8";
/**
 * Variables Portal Web del Ayuntamiento de Valladolid
 */
/**
 * Fichero general SCSS que importa todos los ficheros de variables definidos a nivel de proyecto, a fin
 * de permitir la composición de un SASS que disponga de todos los datos del proyecto.
 *
 * @author drodriguez
 */
/**
 * Sobreescritura de ciertos elementos en funcion de parametrizaciones de proxia
 * por defecto.
 */
/**
 * Variables predefinidas de Proxia para la maquetación de datos
 */
/**
 * Mixins y variables de compatibilidad entre BS3 y BS4
 */
.nav-repeat-group.nav-tabs > .nav-item {
  float: left;
  margin-bottom: -1px; }
  .nav-repeat-group.nav-tabs > .nav-item > .nav-link {
    margin-right: 2px;
    line-height: 1.4286;
    border: 1px solid transparent;
    border-radius: 4px 4px 0 0; }
    .nav-repeat-group.nav-tabs > .nav-item > .nav-link:hover, .nav-repeat-group.nav-tabs > .nav-item > .nav-link:active, .nav-repeat-group.nav-tabs > .nav-item > .nav-link:focus, .nav-repeat-group.nav-tabs > .nav-item > .nav-link:active:hover, .nav-repeat-group.nav-tabs > .nav-item > .nav-link:active:focus {
      border-color: white white #ddd; }
    .nav-repeat-group.nav-tabs > .nav-item > .nav-link.active, .nav-repeat-group.nav-tabs > .nav-item > .nav-link.active:hover, .nav-repeat-group.nav-tabs > .nav-item > .nav-link.active:focus {
      color: #616161;
      background-color: #ffffff;
      border: 1px solid #ddd;
      border-bottom-color: transparent; }

/**
 * Mixins que tenemos y permitimos su reutilización en otros proyectos.
 */
body.proxia-restful-printable {
  background-color: transparent;
  margin: 0px;
  padding: 0px; }

iframe.proxia-restful-printable {
  height: 400px;
  width: 100%; }

div[data-proxiarestful="true"] {
  /**
 * Aspecto general del sistema de navegación de los componentes REACT
 *
 * @author David Rodríguez Alfayate (drodriguez@divisait.com)
 * @since Proxia CMS 10.2
 */
  /**
 * Aspecto general de formularios dentro del sopaorte de REACT con los controles gestionados
 * por el propio sistema, controles verificados, aspecto de radio button y checks, padding
 * sobre campos de formulario
 *
 * @author David Rodríguez Alfayate
 * @since Proxia CMS 10.2
 */
  /**
 * Soporte del selector de fecha a través del control react-date-picker
 *
 * @author David Rodríguez Alfayate
 * @since Proxia CMS 10.2
 */
  /**
 * Para controlar la apariencia de elementos autocompletados por el sistema.
 *
 * @author David Rodríguez Alfayate
 * @since Proxia CMS 10.2
 */
  /**
 * Estilos CSS para el selector general de ficheros y para el control que permite visualizar el selector
 * de ficheros vía Excel para su procesado posterior
 *
 * @author David Rodríguez Alfayate (drodriguez@divisait.com)
 */
  /**
 * Permite mostrar el control de selección de contenidos para la búsqueda de los mismos en el sistema
 *
 * @author David Rodríguez Alfayate (drodriguez@divisait.com)
 */
  /**
 * Elementos básicos de CORE de Proxia REACT que dan ciertos estilos predefinidos
 */ }
  div[data-proxiarestful="true"] .navigation.navigation-short,
  div[data-proxiarestful="true"] .navigation.navigation-long {
    margin-top: 30px; }
    div[data-proxiarestful="true"] .navigation.navigation-short .totalPageList,
    div[data-proxiarestful="true"] .navigation.navigation-long .totalPageList {
      float: left; }
    div[data-proxiarestful="true"] .navigation.navigation-short .numPageList,
    div[data-proxiarestful="true"] .navigation.navigation-long .numPageList {
      float: right; }
      div[data-proxiarestful="true"] .navigation.navigation-short .numPageList ul,
      div[data-proxiarestful="true"] .navigation.navigation-long .numPageList ul {
        margin: 0px;
        padding: 0px;
        list-style: none; }
        div[data-proxiarestful="true"] .navigation.navigation-short .numPageList ul > li,
        div[data-proxiarestful="true"] .navigation.navigation-long .numPageList ul > li {
          display: inline-block; }
          div[data-proxiarestful="true"] .navigation.navigation-short .numPageList ul > li + li,
          div[data-proxiarestful="true"] .navigation.navigation-long .numPageList ul > li + li {
            padding-left: 6px; }
    div[data-proxiarestful="true"] .navigation.navigation-short:before, div[data-proxiarestful="true"] .navigation.navigation-short:after,
    div[data-proxiarestful="true"] .navigation.navigation-long:before,
    div[data-proxiarestful="true"] .navigation.navigation-long:after {
      display: table;
      content: " "; }
    div[data-proxiarestful="true"] .navigation.navigation-short:after,
    div[data-proxiarestful="true"] .navigation.navigation-long:after {
      clear: both; }
  div[data-proxiarestful="true"] .navigation.navigation-short .numPageList > * + * {
    margin-left: 6px; }
  div[data-proxiarestful="true"] .navigation.navigation-long .totalPageList div {
    display: inline-block; }
    div[data-proxiarestful="true"] .navigation.navigation-long .totalPageList div + div {
      margin-left: 6px; }
    div[data-proxiarestful="true"] .navigation.navigation-long .totalPageList div.changePageSize input {
      padding: 0px 3px;
      border: 1px solid #767677;
      width: 80px; }
      div[data-proxiarestful="true"] .navigation.navigation-long .totalPageList div.changePageSize input + label {
        margin-left: 6px;
        font-weight: normal;
        display: inline-block; }
  div[data-proxiarestful="true"] form, div[data-proxiarestful="true"] .form, div[data-proxiarestful="true"] .form-filter {
    position: relative; }
    div[data-proxiarestful="true"] form > .loading, div[data-proxiarestful="true"] .form > .loading, div[data-proxiarestful="true"] .form-filter > .loading {
      position: absolute;
      height: 100%;
      background-color: rgba(255, 255, 255, 0.3); }
    div[data-proxiarestful="true"] form .toastr.form-error, div[data-proxiarestful="true"] .form .toastr.form-error, div[data-proxiarestful="true"] .form-filter .toastr.form-error {
      padding: 15px;
      margin: 15px;
      background: #ee0000;
      color: white;
      font-size: 16px;
      position: absolute;
      right: 0px;
      width: 250px;
      z-index: 4;
      opacity: 0.8;
      display: -webkit-box;
      display: -moz-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      div[data-proxiarestful="true"] form .toastr.form-error:hover, div[data-proxiarestful="true"] .form .toastr.form-error:hover, div[data-proxiarestful="true"] .form-filter .toastr.form-error:hover {
        opacity: 1; }
      div[data-proxiarestful="true"] form .toastr.form-error .toastr-icon, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-icon, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-icon {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        align-self: center;
        padding-right: 15px; }
      div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button form .toastr.form-error .toastr-close a.printButton, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .form .toastr.form-error .toastr-close a.printButton, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .form-filter .toastr.form-error .toastr-close a.printButton {
        padding: 0px;
        margin: 0px;
        color: inherit; }
        div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn:hover, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .printable-button a.printButton:hover, div[data-proxiarestful="true"] .printable-button form .toastr.form-error .toastr-close a.printButton:hover, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn:active, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .printable-button a.printButton:active, div[data-proxiarestful="true"] .printable-button form .toastr.form-error .toastr-close a.printButton:active, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn:focus, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .printable-button a.printButton:focus, div[data-proxiarestful="true"] .printable-button form .toastr.form-error .toastr-close a.printButton:focus, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn:active:hover, div[data-proxiarestful="true"] form .toastr.form-error .toastr-close .btn:active:focus, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn:hover, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .printable-button a.printButton:hover, div[data-proxiarestful="true"] .printable-button .form .toastr.form-error .toastr-close a.printButton:hover, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn:active, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .printable-button a.printButton:active, div[data-proxiarestful="true"] .printable-button .form .toastr.form-error .toastr-close a.printButton:active, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn:focus, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .printable-button a.printButton:focus, div[data-proxiarestful="true"] .printable-button .form .toastr.form-error .toastr-close a.printButton:focus, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn:active:hover, div[data-proxiarestful="true"] .form .toastr.form-error .toastr-close .btn:active:focus, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn:hover, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .printable-button a.printButton:hover, div[data-proxiarestful="true"] .printable-button .form-filter .toastr.form-error .toastr-close a.printButton:hover, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn:active, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .printable-button a.printButton:active, div[data-proxiarestful="true"] .printable-button .form-filter .toastr.form-error .toastr-close a.printButton:active, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn:focus, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .printable-button a.printButton:focus, div[data-proxiarestful="true"] .printable-button .form-filter .toastr.form-error .toastr-close a.printButton:focus, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn:active:hover, div[data-proxiarestful="true"] .form-filter .toastr.form-error .toastr-close .btn:active:focus {
          color: inherit; }
    div[data-proxiarestful="true"] form .form-control.react-date-picker--disabled, div[data-proxiarestful="true"] .form .form-control.react-date-picker--disabled, div[data-proxiarestful="true"] .form-filter .form-control.react-date-picker--disabled {
      background-color: white; }
    div[data-proxiarestful="true"] form .input-group.verified-control, div[data-proxiarestful="true"] .form .input-group.verified-control, div[data-proxiarestful="true"] .form-filter .input-group.verified-control {
      width: 100%;
      background-color: white;
      border: 1px solid #767677; }
      div[data-proxiarestful="true"] form .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-append,
      div[data-proxiarestful="true"] form .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-addon,
      div[data-proxiarestful="true"] form .input-group.verified-control .form-control:disabled + .input-group-addon,
      div[data-proxiarestful="true"] form .input-group.verified-control .form-control:disabled + .input-group-append, div[data-proxiarestful="true"] .form .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-append,
      div[data-proxiarestful="true"] .form .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-addon,
      div[data-proxiarestful="true"] .form .input-group.verified-control .form-control:disabled + .input-group-addon,
      div[data-proxiarestful="true"] .form .input-group.verified-control .form-control:disabled + .input-group-append, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-append,
      div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control[readonly]:not(.dialog-input-control) + .input-group-addon,
      div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control:disabled + .input-group-addon,
      div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control:disabled + .input-group-append {
        background-color: white;
        opacity: 1; }
      div[data-proxiarestful="true"] form .input-group.verified-control:focus-within, div[data-proxiarestful="true"] .form .input-group.verified-control:focus-within, div[data-proxiarestful="true"] .form-filter .input-group.verified-control:focus-within {
        box-shadow: 0 0 0 2px rgba(152, 0, 70, 0.25); }
      div[data-proxiarestful="true"] form .input-group.verified-control[data-contains-error="true"], div[data-proxiarestful="true"] .form .input-group.verified-control[data-contains-error="true"], div[data-proxiarestful="true"] .form-filter .input-group.verified-control[data-contains-error="true"] {
        border-color: red; }
      div[data-proxiarestful="true"] form .input-group.verified-control .form-control, div[data-proxiarestful="true"] .form .input-group.verified-control .form-control, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control {
        box-shadow: none;
        border: 0px; }
        div[data-proxiarestful="true"] form .input-group.verified-control .form-control:not([type="radio"]):not([type="checkbox"]), div[data-proxiarestful="true"] .form .input-group.verified-control .form-control:not([type="radio"]):not([type="checkbox"]), div[data-proxiarestful="true"] .form-filter .input-group.verified-control .form-control:not([type="radio"]):not([type="checkbox"]) {
          height: 40.8571px; }
      div[data-proxiarestful="true"] form .input-group.verified-control .input-group-text, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-text, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-text {
        background-color: transparent;
        border: 0px; }
        div[data-proxiarestful="true"] form .input-group.verified-control .input-group-text .fa-times, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-text .fa-times, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-text .fa-times {
          color: red; }
        div[data-proxiarestful="true"] form .input-group.verified-control .input-group-text .fa-check, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-text .fa-check, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-text .fa-check {
          color: green; }
        div[data-proxiarestful="true"] form .input-group.verified-control .input-group-text .show, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-text .show, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-text .show {
          color: #4E6FB8;
          font-size: 10.5px;
          display: block; }
      div[data-proxiarestful="true"] form .input-group.verified-control .input-group-text.unset *, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-text.unset *, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-text.unset * {
        display: none; }
      div[data-proxiarestful="true"] form .input-group.verified-control .input-group-append,
      div[data-proxiarestful="true"] form .input-group.verified-control .input-group-addon, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-append,
      div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-addon, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-append,
      div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-addon {
        border: 0px;
        border-radius: 0px;
        min-width: 27px;
        margin-left: 0px; }
        div[data-proxiarestful="true"] form .input-group.verified-control .input-group-append > span,
        div[data-proxiarestful="true"] form .input-group.verified-control .input-group-addon > span, div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-append > span,
        div[data-proxiarestful="true"] .form .input-group.verified-control .input-group-addon > span, div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-append > span,
        div[data-proxiarestful="true"] .form-filter .input-group.verified-control .input-group-addon > span {
          display: inline-block;
          width: 100%;
          padding-left: 0px;
          padding-right: 6px; }
    div[data-proxiarestful="true"] form .form-group.form-inline label, div[data-proxiarestful="true"] .form .form-group.form-inline label, div[data-proxiarestful="true"] .form-filter .form-group.form-inline label {
      margin-right: 6px; }
    div[data-proxiarestful="true"] form input[type="checkbox"] + label,
    div[data-proxiarestful="true"] form input[type="radio"] + label, div[data-proxiarestful="true"] .form input[type="checkbox"] + label,
    div[data-proxiarestful="true"] .form input[type="radio"] + label, div[data-proxiarestful="true"] .form-filter input[type="checkbox"] + label,
    div[data-proxiarestful="true"] .form-filter input[type="radio"] + label {
      padding-left: 6px;
      font-size: 14px;
      line-height: 20px;
      font-weight: normal; }
      div[data-proxiarestful="true"] form input[type="checkbox"] + label .required,
      div[data-proxiarestful="true"] form input[type="radio"] + label .required, div[data-proxiarestful="true"] .form input[type="checkbox"] + label .required,
      div[data-proxiarestful="true"] .form input[type="radio"] + label .required, div[data-proxiarestful="true"] .form-filter input[type="checkbox"] + label .required,
      div[data-proxiarestful="true"] .form-filter input[type="radio"] + label .required {
        display: none; }
    div[data-proxiarestful="true"] form input[type="radio"] + label.error, div[data-proxiarestful="true"] .form input[type="radio"] + label.error, div[data-proxiarestful="true"] .form-filter input[type="radio"] + label.error {
      color: unset; }
    div[data-proxiarestful="true"] form label + input[type="checkbox"],
    div[data-proxiarestful="true"] form label + input[type="radio"], div[data-proxiarestful="true"] .form label + input[type="checkbox"],
    div[data-proxiarestful="true"] .form label + input[type="radio"], div[data-proxiarestful="true"] .form-filter label + input[type="checkbox"],
    div[data-proxiarestful="true"] .form-filter label + input[type="radio"] {
      margin-left: 6px; }
    div[data-proxiarestful="true"] form input[type="checkbox"],
    div[data-proxiarestful="true"] form input[type="radio"], div[data-proxiarestful="true"] .form input[type="checkbox"],
    div[data-proxiarestful="true"] .form input[type="radio"], div[data-proxiarestful="true"] .form-filter input[type="checkbox"],
    div[data-proxiarestful="true"] .form-filter input[type="radio"] {
      position: relative;
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      width: 18px;
      height: 18px;
      top: 3px;
      border: 0px;
      display: inline-block;
      padding: 0px; }
      div[data-proxiarestful="true"] form input[type="checkbox"]:after,
      div[data-proxiarestful="true"] form input[type="radio"]:after, div[data-proxiarestful="true"] .form input[type="checkbox"]:after,
      div[data-proxiarestful="true"] .form input[type="radio"]:after, div[data-proxiarestful="true"] .form-filter input[type="checkbox"]:after,
      div[data-proxiarestful="true"] .form-filter input[type="radio"]:after {
        position: absolute;
        display: block;
        left: 0px;
        z-index: 1;
        content: '';
        width: 18px;
        height: 18px;
        background-color: white;
        border: 2px solid #980046; }
      div[data-proxiarestful="true"] form input[type="checkbox"]:disabled:after,
      div[data-proxiarestful="true"] form input[type="radio"]:disabled:after, div[data-proxiarestful="true"] .form input[type="checkbox"]:disabled:after,
      div[data-proxiarestful="true"] .form input[type="radio"]:disabled:after, div[data-proxiarestful="true"] .form-filter input[type="checkbox"]:disabled:after,
      div[data-proxiarestful="true"] .form-filter input[type="radio"]:disabled:after {
        background-color: white;
        border-color: #767677; }
      div[data-proxiarestful="true"] form input[type="checkbox"][type="radio"]:checked:after,
      div[data-proxiarestful="true"] form input[type="radio"][type="radio"]:checked:after, div[data-proxiarestful="true"] .form input[type="checkbox"][type="radio"]:checked:after,
      div[data-proxiarestful="true"] .form input[type="radio"][type="radio"]:checked:after, div[data-proxiarestful="true"] .form-filter input[type="checkbox"][type="radio"]:checked:after,
      div[data-proxiarestful="true"] .form-filter input[type="radio"][type="radio"]:checked:after {
        background: radial-gradient(ellipse at center, #980046 0%, #980046 35%, #980046 35%, transparent 47%, transparent 48%); }
      div[data-proxiarestful="true"] form input[type="checkbox"][type="checkbox"]:checked:after,
      div[data-proxiarestful="true"] form input[type="radio"][type="checkbox"]:checked:after, div[data-proxiarestful="true"] .form input[type="checkbox"][type="checkbox"]:checked:after,
      div[data-proxiarestful="true"] .form input[type="radio"][type="checkbox"]:checked:after, div[data-proxiarestful="true"] .form-filter input[type="checkbox"][type="checkbox"]:checked:after,
      div[data-proxiarestful="true"] .form-filter input[type="radio"][type="checkbox"]:checked:after {
        background: linear-gradient(#980046, #980046) 50% 50%/50% 50%; }
    div[data-proxiarestful="true"] form input[type="checkbox"]:after, div[data-proxiarestful="true"] .form input[type="checkbox"]:after, div[data-proxiarestful="true"] .form-filter input[type="checkbox"]:after {
      border-radius: 2px; }
    div[data-proxiarestful="true"] form input[type="radio"]:after, div[data-proxiarestful="true"] .form input[type="radio"]:after, div[data-proxiarestful="true"] .form-filter input[type="radio"]:after {
      border-radius: 18px; }
    div[data-proxiarestful="true"] form textarea, div[data-proxiarestful="true"] .form textarea, div[data-proxiarestful="true"] .form-filter textarea {
      resize: none; }
    div[data-proxiarestful="true"] form .form-control, div[data-proxiarestful="true"] .form .form-control, div[data-proxiarestful="true"] .form-filter .form-control {
      border-radius: 0px;
      border-color: #767677;
      font-size: 16px;
      line-height: 22.8571px;
      background-color: white; }
      div[data-proxiarestful="true"] form .form-control.dialog-input-control[readonly]:not(:disabled), div[data-proxiarestful="true"] .form .form-control.dialog-input-control[readonly]:not(:disabled), div[data-proxiarestful="true"] .form-filter .form-control.dialog-input-control[readonly]:not(:disabled) {
        background-color: white; }
      div[data-proxiarestful="true"] form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea), div[data-proxiarestful="true"] .form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea), div[data-proxiarestful="true"] .form-filter .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea) {
        border-width: 1px;
        height: 42.8571px; }
        div[data-proxiarestful="true"] form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):not(.react-date-picker), div[data-proxiarestful="true"] .form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):not(.react-date-picker), div[data-proxiarestful="true"] .form-filter .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):not(.react-date-picker) {
          padding: 9px 12px; }
        div[data-proxiarestful="true"] form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):disabled, div[data-proxiarestful="true"] .form .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):disabled, div[data-proxiarestful="true"] .form-filter .form-control:not([type="radio"]):not([type="checkbox"]):not(textarea):disabled {
          background: white; }
      div[data-proxiarestful="true"] form .form-control:focus, div[data-proxiarestful="true"] .form .form-control:focus, div[data-proxiarestful="true"] .form-filter .form-control:focus {
        box-shadow: 0 0 0 2px rgba(152, 0, 70, 0.25); }
    div[data-proxiarestful="true"] form .form-control.error,
    div[data-proxiarestful="true"] form .form-control[data-error="true"], div[data-proxiarestful="true"] .form .form-control.error,
    div[data-proxiarestful="true"] .form .form-control[data-error="true"], div[data-proxiarestful="true"] .form-filter .form-control.error,
    div[data-proxiarestful="true"] .form-filter .form-control[data-error="true"] {
      border-color: red; }
    div[data-proxiarestful="true"] form .error-area-description.error-active, div[data-proxiarestful="true"] .form .error-area-description.error-active, div[data-proxiarestful="true"] .form-filter .error-area-description.error-active {
      position: absolute;
      display: block;
      padding: 0;
      width: 100%;
      z-index: 3; }
      div[data-proxiarestful="true"] form .error-area-description.error-active > span, div[data-proxiarestful="true"] .form .error-area-description.error-active > span, div[data-proxiarestful="true"] .form-filter .error-area-description.error-active > span {
        margin-top: 5px;
        font-size: 10.5px;
        line-height: 15px;
        background: #ee0000;
        color: white;
        padding: 3px 6px;
        display: inline-block; }
        div[data-proxiarestful="true"] form .error-area-description.error-active > span:before, div[data-proxiarestful="true"] .form .error-area-description.error-active > span:before, div[data-proxiarestful="true"] .form-filter .error-area-description.error-active > span:before {
          position: absolute;
          width: 0;
          height: 0;
          border-color: transparent;
          border-style: solid;
          top: 5px;
          left: 9px;
          margin-top: -5px;
          border-width: 0 5px 5px;
          border-bottom-color: #ee0000;
          display: block;
          content: ''; }
    div[data-proxiarestful="true"] form div[data-anyof=true] .error .error-area-description.error-active,
    div[data-proxiarestful="true"] form legend.error .error-area-description.error-active,
    div[data-proxiarestful="true"] form .legend.error .error-area-description.error-active, div[data-proxiarestful="true"] .form div[data-anyof=true] .error .error-area-description.error-active,
    div[data-proxiarestful="true"] .form legend.error .error-area-description.error-active,
    div[data-proxiarestful="true"] .form .legend.error .error-area-description.error-active, div[data-proxiarestful="true"] .form-filter div[data-anyof=true] .error .error-area-description.error-active,
    div[data-proxiarestful="true"] .form-filter legend.error .error-area-description.error-active,
    div[data-proxiarestful="true"] .form-filter .legend.error .error-area-description.error-active {
      color: initial;
      display: inline;
      position: initial;
      position: unset;
      width: auto;
      font-weight: normal; }
      div[data-proxiarestful="true"] form div[data-anyof=true] .error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] form legend.error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] form .legend.error .error-area-description.error-active > span, div[data-proxiarestful="true"] .form div[data-anyof=true] .error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] .form legend.error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] .form .legend.error .error-area-description.error-active > span, div[data-proxiarestful="true"] .form-filter div[data-anyof=true] .error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] .form-filter legend.error .error-area-description.error-active > span,
      div[data-proxiarestful="true"] .form-filter .legend.error .error-area-description.error-active > span {
        color: #ee0000;
        background: transparent;
        display: inline; }
        div[data-proxiarestful="true"] form div[data-anyof=true] .error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] form legend.error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] form .legend.error .error-area-description.error-active > span:before, div[data-proxiarestful="true"] .form div[data-anyof=true] .error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] .form legend.error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] .form .legend.error .error-area-description.error-active > span:before, div[data-proxiarestful="true"] .form-filter div[data-anyof=true] .error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] .form-filter legend.error .error-area-description.error-active > span:before,
        div[data-proxiarestful="true"] .form-filter .legend.error .error-area-description.error-active > span:before {
          content: none; }
    div[data-proxiarestful="true"] form .form-group, div[data-proxiarestful="true"] .form .form-group, div[data-proxiarestful="true"] .form-filter .form-group {
      position: relative; }
    div[data-proxiarestful="true"] form .form-group .error-area-description, div[data-proxiarestful="true"] .form .form-group .error-area-description, div[data-proxiarestful="true"] .form-filter .form-group .error-area-description {
      display: block; }
    div[data-proxiarestful="true"] form label,
    div[data-proxiarestful="true"] form .label, div[data-proxiarestful="true"] .form label,
    div[data-proxiarestful="true"] .form .label, div[data-proxiarestful="true"] .form-filter label,
    div[data-proxiarestful="true"] .form-filter .label {
      font-weight: 600;
      font-size: 14px;
      line-height: 20px; }
    div[data-proxiarestful="true"] form .label, div[data-proxiarestful="true"] .form .label, div[data-proxiarestful="true"] .form-filter .label {
      margin-bottom: 5px; }
    div[data-proxiarestful="true"] form label.error-field,
    div[data-proxiarestful="true"] form div.error-field, div[data-proxiarestful="true"] .form label.error-field,
    div[data-proxiarestful="true"] .form div.error-field, div[data-proxiarestful="true"] .form-filter label.error-field,
    div[data-proxiarestful="true"] .form-filter div.error-field {
      color: red; }
    div[data-proxiarestful="true"] form label.error,
    div[data-proxiarestful="true"] form .label.error, div[data-proxiarestful="true"] .form label.error,
    div[data-proxiarestful="true"] .form .label.error, div[data-proxiarestful="true"] .form-filter label.error,
    div[data-proxiarestful="true"] .form-filter .label.error {
      color: red; }
    div[data-proxiarestful="true"] form div[data-anyof=true] .error, div[data-proxiarestful="true"] .form div[data-anyof=true] .error, div[data-proxiarestful="true"] .form-filter div[data-anyof=true] .error {
      color: initial; }
    div[data-proxiarestful="true"] form .btn, div[data-proxiarestful="true"] form .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button form a.printButton, div[data-proxiarestful="true"] .form .btn, div[data-proxiarestful="true"] .form .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .form a.printButton, div[data-proxiarestful="true"] .form-filter .btn, div[data-proxiarestful="true"] .form-filter .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .form-filter a.printButton {
      font-size: 16px;
      padding-left: 12px;
      padding-right: 12px;
      border-radius: 0px; }
      div[data-proxiarestful="true"] form .btn + .btn, div[data-proxiarestful="true"] form .printable-button a.printButton + .btn, div[data-proxiarestful="true"] .printable-button form a.printButton + .btn, div[data-proxiarestful="true"] form .printable-button .btn + a.printButton, div[data-proxiarestful="true"] .printable-button form .btn + a.printButton, div[data-proxiarestful="true"] form .printable-button a.printButton + a.printButton, div[data-proxiarestful="true"] .printable-button form a.printButton + a.printButton, div[data-proxiarestful="true"] form .btn + .btn-group, div[data-proxiarestful="true"] form .printable-button a.printButton + .btn-group, div[data-proxiarestful="true"] .printable-button form a.printButton + .btn-group, div[data-proxiarestful="true"] .form .btn + .btn, div[data-proxiarestful="true"] .form .printable-button a.printButton + .btn, div[data-proxiarestful="true"] .printable-button .form a.printButton + .btn, div[data-proxiarestful="true"] .form .printable-button .btn + a.printButton, div[data-proxiarestful="true"] .printable-button .form .btn + a.printButton, div[data-proxiarestful="true"] .form .printable-button a.printButton + a.printButton, div[data-proxiarestful="true"] .printable-button .form a.printButton + a.printButton, div[data-proxiarestful="true"] .form .btn + .btn-group, div[data-proxiarestful="true"] .form .printable-button a.printButton + .btn-group, div[data-proxiarestful="true"] .printable-button .form a.printButton + .btn-group, div[data-proxiarestful="true"] .form-filter .btn + .btn, div[data-proxiarestful="true"] .form-filter .printable-button a.printButton + .btn, div[data-proxiarestful="true"] .printable-button .form-filter a.printButton + .btn, div[data-proxiarestful="true"] .form-filter .printable-button .btn + a.printButton, div[data-proxiarestful="true"] .printable-button .form-filter .btn + a.printButton, div[data-proxiarestful="true"] .form-filter .printable-button a.printButton + a.printButton, div[data-proxiarestful="true"] .printable-button .form-filter a.printButton + a.printButton, div[data-proxiarestful="true"] .form-filter .btn + .btn-group, div[data-proxiarestful="true"] .form-filter .printable-button a.printButton + .btn-group, div[data-proxiarestful="true"] .printable-button .form-filter a.printButton + .btn-group {
        margin-left: 15px; }
    div[data-proxiarestful="true"] form legend, div[data-proxiarestful="true"] form .legend, div[data-proxiarestful="true"] form .title, div[data-proxiarestful="true"] .form legend, div[data-proxiarestful="true"] .form .legend, div[data-proxiarestful="true"] .form .title, div[data-proxiarestful="true"] .form-filter legend, div[data-proxiarestful="true"] .form-filter .legend, div[data-proxiarestful="true"] .form-filter .title {
      font-weight: 600;
      font-size: 22px;
      line-height: 31.4286px;
      border-bottom: 0px; }
    div[data-proxiarestful="true"] form .title, div[data-proxiarestful="true"] .form .title, div[data-proxiarestful="true"] .form-filter .title {
      margin-bottom: 6px; }
    div[data-proxiarestful="true"] form .help-info, div[data-proxiarestful="true"] .form .help-info, div[data-proxiarestful="true"] .form-filter .help-info {
      /* position: absolute;
    background-color: white;
    top: $line-height-base * $form-control-legend-font-size;*/
      margin-top: 31.4286px;
      font-size: 10.5px;
      z-index: 3; }
      div[data-proxiarestful="true"] form .help-info .content, div[data-proxiarestful="true"] .form .help-info .content, div[data-proxiarestful="true"] .form-filter .help-info .content {
        position: relative;
        border: 1px solid #F2D16B;
        background-color: #FBF0CF;
        width: 80%;
        padding: 3px; }
    div[data-proxiarestful="true"] form .form-control.select-multiple-holder, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder {
      min-height: 42.8571px;
      height: auto !important;
      padding: 6px 2px 0px !important; }
      div[data-proxiarestful="true"] form .form-control.select-multiple-holder:before, div[data-proxiarestful="true"] form .form-control.select-multiple-holder:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder:before, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder:before, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder:after {
        display: table;
        content: " "; }
      div[data-proxiarestful="true"] form .form-control.select-multiple-holder:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder:after {
        clear: both; }
      div[data-proxiarestful="true"] form .form-control.select-multiple-holder.disabled, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder.disabled, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder.disabled {
        background-color: white;
        opacity: 1; }
      div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.close-window, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.close-window, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.close-window {
        float: left;
        width: 15px;
        margin: 0 3px; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.close-window button, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.close-window button, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.close-window button {
          padding: 0px;
          display: inline-block;
          margin: 0px;
          width: 100%;
          color: #767677; }
      div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options {
        float: left;
        width: calc(100% - 15px - 6px); }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):before, div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):before, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):before, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after {
          display: table;
          content: " "; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple):after {
          clear: both; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) img, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) img, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) img {
          max-width: 100%; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > *, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > *, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > * {
          float: left;
          width: 50%; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > *:nth-child(2n+1), div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > *:nth-child(2n+1), div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value):not(.multiple) > *:nth-child(2n+1) {
          clear: both; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:before, div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:before, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:before, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after {
          display: table;
          content: " "; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple:after {
          clear: both; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple img, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple img, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple img {
          max-width: 100%; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > *, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > *, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > * {
          float: left;
          width: 33.33%; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > *:nth-child(3n+1), div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > *:nth-child(3n+1), div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value).multiple > *:nth-child(3n+1) {
          clear: both; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value), div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value), div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value) {
          margin-right: -3px;
          margin-left: -3px;
          margin-top: -6px; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value) > *, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value) > *, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options:not(.no-value) > * {
            padding-right: 3px;
            padding-left: 3px;
            padding-top: 6px; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options > *, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options > *, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options > * {
          font-size: 10.5px;
          display: inline-block; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button {
          width: 100%;
          font-size: 10.5px;
          padding: 0px 2px;
          border-radius: 2px;
          font-weight: normal;
          text-align: left;
          display: block; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:after {
            display: table;
            content: " "; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:after {
            clear: both; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:before, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:after {
            display: table;
            content: " "; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button:after, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button:after {
            clear: both; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button .txt, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button .txt, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button .txt {
            display: inline-block;
            float: left;
            width: calc(100% - 10.5px);
            white-space: nowrap;
            overflow: hidden;
            height: 15px;
            text-overflow: ellipsis; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button .icon, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button .icon, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button .icon {
            float: right; }
          div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options button + button, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options button + button, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options button + button {
            margin-left: 0px; }
        div[data-proxiarestful="true"] form .form-control.select-multiple-holder > div.select-multiple-container-options input, div[data-proxiarestful="true"] .form .form-control.select-multiple-holder > div.select-multiple-container-options input, div[data-proxiarestful="true"] .form-filter .form-control.select-multiple-holder > div.select-multiple-container-options input {
          border: 0px;
          border-radius: 0px;
          width: 100%;
          font-size: inherit;
          height: auto;
          font-size: 10.5px;
          display: block;
          text-overflow: ellipsis;
          white-space: nowrap; }
    div[data-proxiarestful="true"] form .special-svg-btn, div[data-proxiarestful="true"] .form .special-svg-btn, div[data-proxiarestful="true"] .form-filter .special-svg-btn {
      border: 0;
      background: transparent;
      padding: 4px 6px; }
      div[data-proxiarestful="true"] form .special-svg-btn:enabled, div[data-proxiarestful="true"] .form .special-svg-btn:enabled, div[data-proxiarestful="true"] .form-filter .special-svg-btn:enabled {
        cursor: pointer; }
        div[data-proxiarestful="true"] form .special-svg-btn:enabled:hover .svg-btn__button__icon, div[data-proxiarestful="true"] form .special-svg-btn:enabled:focus .svg-btn__button__icon, div[data-proxiarestful="true"] .form .special-svg-btn:enabled:hover .svg-btn__button__icon, div[data-proxiarestful="true"] .form .special-svg-btn:enabled:focus .svg-btn__button__icon, div[data-proxiarestful="true"] .form-filter .special-svg-btn:enabled:hover .svg-btn__button__icon, div[data-proxiarestful="true"] .form-filter .special-svg-btn:enabled:focus .svg-btn__button__icon {
          stroke: #0078d7;
          fill: #0078d7; }
      div[data-proxiarestful="true"] form .special-svg-btn:disabled .svg-btn__button__icon, div[data-proxiarestful="true"] .form .special-svg-btn:disabled .svg-btn__button__icon, div[data-proxiarestful="true"] .form-filter .special-svg-btn:disabled .svg-btn__button__icon {
        stroke: #6d6d6d;
        fill: #6d6d6d; }
      div[data-proxiarestful="true"] form .special-svg-btn svg, div[data-proxiarestful="true"] .form .special-svg-btn svg, div[data-proxiarestful="true"] .form-filter .special-svg-btn svg {
        display: inherit; }
  div[data-proxiarestful="true"] .btn-outline-primary {
    background-color: white;
    border-color: #980046;
    color: #980046;
    border-radius: 4px;
    padding-left: 12px;
    padding-right: 12px; }
  div[data-proxiarestful="true"] .btn-outline-secondary {
    color: #1E1E1E;
    border: 1px solid #1E1E1E;
    border-radius: 0px;
    padding-left: 12px;
    padding-right: 12px; }
  div[data-proxiarestful="true"] .cmSearchField.choiceControl {
    position: relative;
    overflow: hidden; }
    div[data-proxiarestful="true"] .cmSearchField.choiceControl:focus-within {
      overflow: unset; }
    div[data-proxiarestful="true"] .cmSearchField.choiceControl select,
    div[data-proxiarestful="true"] .cmSearchField.choiceControl select.form-control {
      -webkit-appearance: none;
      -moz-appearance: none;
      appearance: none;
      text-overflow: ellipsis;
      white-space: nowrap;
      padding-right: 16px; }
      div[data-proxiarestful="true"] .cmSearchField.choiceControl select::-ms-expand,
      div[data-proxiarestful="true"] .cmSearchField.choiceControl select.form-control::-ms-expand {
        display: none; }
    div[data-proxiarestful="true"] .cmSearchField.choiceControl::before {
      content: '';
      width: 0;
      height: 0;
      border-width: 0 5px;
      border-style: solid;
      border-top-width: 6px;
      border-color: #980046 transparent transparent transparent;
      position: absolute;
      right: 10px;
      top: 16px;
      pointer-events: none; }
  div[data-proxiarestful="true"] ul.radio-group-controls {
    list-style: none;
    margin: 0px;
    padding: 0px; }
    div[data-proxiarestful="true"] ul.radio-group-controls li {
      display: inline-block; }
      div[data-proxiarestful="true"] ul.radio-group-controls li + li {
        margin-left: 6px; }
  div[data-proxiarestful="true"] .react-date-picker {
    display: inline-flex;
    position: relative; }
    div[data-proxiarestful="true"] .react-date-picker, div[data-proxiarestful="true"] .react-date-picker *, div[data-proxiarestful="true"] .react-date-picker *:before, div[data-proxiarestful="true"] .react-date-picker *:after {
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    div[data-proxiarestful="true"] .react-date-picker--disabled {
      background-color: #f0f0f0;
      color: #6d6d6d; }
    div[data-proxiarestful="true"] .react-date-picker__wrapper {
      display: flex;
      flex-grow: 1;
      flex-shrink: 0;
      border: thin solid gray; }
    div[data-proxiarestful="true"] .react-date-picker__inputGroup {
      min-width: calc(12px + 4.32em +  0.434em);
      flex-grow: 1;
      padding: 0 2px;
      box-sizing: content-box; }
      div[data-proxiarestful="true"] .react-date-picker__inputGroup__divider {
        padding: 1px 0;
        white-space: pre; }
      div[data-proxiarestful="true"] .react-date-picker__inputGroup__input {
        min-width: 0.54em;
        height: 100%;
        position: relative;
        padding: 0 1px;
        border: 0;
        background: none;
        font: inherit;
        box-sizing: content-box;
        -moz-appearance: textfield; }
        div[data-proxiarestful="true"] .react-date-picker__inputGroup__input::-webkit-outer-spin-button, div[data-proxiarestful="true"] .react-date-picker__inputGroup__input::-webkit-inner-spin-button {
          -webkit-appearance: none;
          margin: 0; }
        div[data-proxiarestful="true"] .react-date-picker__inputGroup__input:invalid {
          background: rgba(128, 0, 0, 0.3);
          color: black; }
          div[data-proxiarestful="true"] .react-date-picker__inputGroup__input:invalid::placeholder {
            color: black; }
        div[data-proxiarestful="true"] .react-date-picker__inputGroup__input--hasLeadingZero {
          margin-left: -0.54em;
          padding-left: calc(0.54em + 1px); }
    div[data-proxiarestful="true"] .react-date-picker__button {
      border: 0;
      background: transparent;
      padding: 4px 6px; }
      div[data-proxiarestful="true"] .react-date-picker__button:enabled {
        cursor: pointer; }
        div[data-proxiarestful="true"] .react-date-picker__button:enabled:hover .react-date-picker__button__icon, div[data-proxiarestful="true"] .react-date-picker__button:enabled:focus .react-date-picker__button__icon {
          stroke: #0078d7; }
      div[data-proxiarestful="true"] .react-date-picker__button:disabled .react-date-picker__button__icon {
        stroke: #6d6d6d; }
      div[data-proxiarestful="true"] .react-date-picker__button svg {
        display: inherit; }
    div[data-proxiarestful="true"] .react-date-picker__calendar {
      width: 350px;
      max-width: 100vw;
      position: absolute;
      top: 100%;
      left: 0;
      z-index: 3; }
      div[data-proxiarestful="true"] .react-date-picker__calendar--closed {
        display: none; }
      div[data-proxiarestful="true"] .react-date-picker__calendar .react-calendar {
        border-width: thin; }
  div[data-proxiarestful="true"] .react-date-picker.form-control {
    padding: 0px; }
    div[data-proxiarestful="true"] .react-date-picker.form-control > .react-date-picker__wrapper {
      padding: 6px 15px;
      border: 0px; }
  div[data-proxiarestful="true"] .react-calendar {
    width: 350px;
    max-width: 100%;
    background: white;
    border: 1px solid #a0a096;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.125em; }
    div[data-proxiarestful="true"] .react-calendar--doubleView {
      width: 700px; }
      div[data-proxiarestful="true"] .react-calendar--doubleView .react-calendar__viewContainer {
        display: flex;
        margin: -.5em; }
        div[data-proxiarestful="true"] .react-calendar--doubleView .react-calendar__viewContainer > * {
          width: 50%;
          margin: .5em; }
    div[data-proxiarestful="true"] .react-calendar, div[data-proxiarestful="true"] .react-calendar *, div[data-proxiarestful="true"] .react-calendar *:before, div[data-proxiarestful="true"] .react-calendar *:after {
      -moz-box-sizing: border-box;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    div[data-proxiarestful="true"] .react-calendar button {
      margin: 0;
      border: 0;
      outline: none; }
      div[data-proxiarestful="true"] .react-calendar button:enabled:hover {
        cursor: pointer; }
    div[data-proxiarestful="true"] .react-calendar__navigation {
      height: 44px;
      margin-bottom: 1em; }
      div[data-proxiarestful="true"] .react-calendar__navigation button {
        min-width: 44px;
        background: none; }
        div[data-proxiarestful="true"] .react-calendar__navigation button:enabled:hover, div[data-proxiarestful="true"] .react-calendar__navigation button:enabled:focus {
          background-color: #e6e6e6; }
        div[data-proxiarestful="true"] .react-calendar__navigation button[disabled] {
          background-color: #f0f0f0; }
    div[data-proxiarestful="true"] .react-calendar__month-view__weekdays {
      text-align: center;
      text-transform: uppercase;
      font-weight: bold;
      font-size: .75em; }
      div[data-proxiarestful="true"] .react-calendar__month-view__weekdays__weekday {
        padding: .5em; }
    div[data-proxiarestful="true"] .react-calendar__month-view__weekNumbers {
      font-weight: bold; }
      div[data-proxiarestful="true"] .react-calendar__month-view__weekNumbers .react-calendar__tile {
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: .75em;
        padding: calc(.75em / .75) calc(.5em / .75); }
    div[data-proxiarestful="true"] .react-calendar__month-view__days__day--weekend {
      color: #d10000; }
    div[data-proxiarestful="true"] .react-calendar__month-view__days__day--neighboringMonth {
      color: #757575; }
    div[data-proxiarestful="true"] .react-calendar__year-view .react-calendar__tile, div[data-proxiarestful="true"] .react-calendar__decade-view .react-calendar__tile, div[data-proxiarestful="true"] .react-calendar__century-view .react-calendar__tile {
      padding: 2em .5em; }
    div[data-proxiarestful="true"] .react-calendar__tile {
      max-width: 100%;
      text-align: center;
      padding: .75em .5em;
      background: none; }
      div[data-proxiarestful="true"] .react-calendar__tile:disabled {
        background-color: #f0f0f0; }
      div[data-proxiarestful="true"] .react-calendar__tile:enabled:hover, div[data-proxiarestful="true"] .react-calendar__tile:enabled:focus {
        background-color: #e6e6e6; }
      div[data-proxiarestful="true"] .react-calendar__tile--now {
        background: #ffff76; }
        div[data-proxiarestful="true"] .react-calendar__tile--now:enabled:hover, div[data-proxiarestful="true"] .react-calendar__tile--now:enabled:focus {
          background: #ffffa9; }
      div[data-proxiarestful="true"] .react-calendar__tile--hasActive {
        background: #76bbff; }
        div[data-proxiarestful="true"] .react-calendar__tile--hasActive:enabled:hover, div[data-proxiarestful="true"] .react-calendar__tile--hasActive:enabled:focus {
          background: #a9d4ff; }
      div[data-proxiarestful="true"] .react-calendar__tile--active {
        background: #006edc;
        color: white; }
        div[data-proxiarestful="true"] .react-calendar__tile--active:enabled:hover, div[data-proxiarestful="true"] .react-calendar__tile--active:enabled:focus {
          background: #1088ff; }
    div[data-proxiarestful="true"] .react-calendar--selectRange .react-calendar__tile--hover {
      background-color: #e6e6e6; }
  div[data-proxiarestful="true"] .autocomplete-items {
    padding: 12px 0px;
    background-color: white;
    z-index: 3;
    list-style: none;
    margin: 0px;
    max-height: 200px;
    overflow-y: scroll;
    width: 100%;
    width: calc(100% - 1px);
    border: 1px solid #cccccc; }
    div[data-proxiarestful="true"] .autocomplete-items > li a,
    div[data-proxiarestful="true"] .autocomplete-items > li button {
      display: block;
      width: 100%;
      padding: 6px;
      color: #646464;
      font-size: 14px;
      background-color: white;
      border: 0px;
      text-align: left; }
      div[data-proxiarestful="true"] .autocomplete-items > li a .help,
      div[data-proxiarestful="true"] .autocomplete-items > li button .help {
        padding-left: 6px; }
    div[data-proxiarestful="true"] .autocomplete-items.multiple > li a,
    div[data-proxiarestful="true"] .autocomplete-items.multiple > li button {
      border: 1px solid transparent; }
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li a:hover, div[data-proxiarestful="true"] .autocomplete-items.multiple > li a:active, div[data-proxiarestful="true"] .autocomplete-items.multiple > li a:focus, div[data-proxiarestful="true"] .autocomplete-items.multiple > li a:active:hover, div[data-proxiarestful="true"] .autocomplete-items.multiple > li a:active:focus,
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li button:hover,
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li button:active,
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li button:focus,
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li button:active:hover,
      div[data-proxiarestful="true"] .autocomplete-items.multiple > li button:active:focus {
        border: 1px solid #980046; }
    div[data-proxiarestful="true"] .autocomplete-items.multiple > li:focus a,
    div[data-proxiarestful="true"] .autocomplete-items.multiple > li:focus button {
      border: 1px solid #980046; }
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li a:hover, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li a:active, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li a:focus, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li a:active:hover, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li a:active:focus,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li button:hover,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li button:active,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li button:focus,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li button:active:hover,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li button:active:focus {
      color: white;
      background-color: #980046; }
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus a:hover, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus a:active, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus a:focus, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus a:active:hover, div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus a:active:focus,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus button:hover,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus button:active,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus button:focus,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus button:active:hover,
    div[data-proxiarestful="true"] .autocomplete-items:not(.multiple) > li:focus button:active:focus {
      color: white;
      background-color: #980046; }
    div[data-proxiarestful="true"] .autocomplete-items > li.selected a,
    div[data-proxiarestful="true"] .autocomplete-items > li.selected button {
      color: white;
      background-color: #980046; }
      div[data-proxiarestful="true"] .autocomplete-items > li.selected a .help-info,
      div[data-proxiarestful="true"] .autocomplete-items > li.selected button .help-info {
        color: #646464;
        padding-left: 6px; }
    div[data-proxiarestful="true"] .autocomplete-items > li + li.add-autocomplete:before {
      display: block;
      padding-top: 6px;
      margin: 6px;
      content: '';
      border-top: 1px solid white; }
    div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a,
    div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button {
      margin: 6px;
      width: auto;
      background-color: white;
      color: #646464;
      border: 1px solid #767677;
      border-radius: 0px;
      text-align: right; }
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a > span.icon,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button > span.icon {
        padding-right: 6px; }
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a:hover, div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a:active, div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a:focus, div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a:active:hover, div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete a:active:focus,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button:hover,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button:active,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button:focus,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button:active:hover,
      div[data-proxiarestful="true"] .autocomplete-items > li.add-autocomplete button:active:focus {
        background-color: white;
        color: #646464;
        text-decoration: underline; }
  div[data-proxiarestful="true"] div.dropzone {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 15px;
    border: 2px dotted #CDCDCD;
    background-color: #F7F7F7;
    border-radius: 2px;
    color: #CDCDCD;
    outline: none;
    transition: border .24s ease-in-out;
    position: relative; }
    div[data-proxiarestful="true"] div.dropzone .currentImage {
      position: absolute;
      top: 0px;
      max-width: 100%;
      max-height: 100%;
      z-index: 1;
      opacity: 0.3; }
    div[data-proxiarestful="true"] div.dropzone .fileArea {
      z-index: 2;
      border: 4px dashed;
      padding: 15px;
      text-align: center;
      border-radius: 15px;
      max-width: 250px;
      margin: 30px 0px;
      color: inherit; }
      div[data-proxiarestful="true"] div.dropzone .fileArea .fa {
        font-size: 34px; }
      div[data-proxiarestful="true"] div.dropzone .fileArea p {
        color: #646464; }
      div[data-proxiarestful="true"] div.dropzone .fileArea.imageArea.with-image p {
        background-color: rgba(255, 255, 255, 0.7); }
    div[data-proxiarestful="true"] div.dropzone .fileArea.imageArea {
      color: #646464; }
  div[data-proxiarestful="true"] .delete-button-area.with-image {
    text-align: right; }
  div[data-proxiarestful="true"] .delete-button-area button {
    margin-top: 6px; }
  div[data-proxiarestful="true"] div.excel-control .sampleExcel {
    margin: 15px 0px;
    font-size: 16px;
    line-height: 22.8571px;
    font-weight: 600; }
    div[data-proxiarestful="true"] div.excel-control .sampleExcel > a {
      color: #767677; }
      div[data-proxiarestful="true"] div.excel-control .sampleExcel > a:before {
        font: normal normal normal 14px/1 "FontAwesome";
        font-size: inherit;
        text-rendering: auto;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        speak: never;
        content: "";
        font-size: 28px;
        padding-right: 6px; }
  div[data-proxiarestful="true"] div.excel-control .mappings-detail {
    margin: 0px;
    padding: 0px;
    list-style: none; }
    div[data-proxiarestful="true"] div.excel-control .mappings-detail > li.header {
      margin: 15px 0px;
      font-weight: bold; }
      div[data-proxiarestful="true"] div.excel-control .mappings-detail > li.header .yours {
        text-align: right; }
      @media screen and (max-width: 767px) {
        div[data-proxiarestful="true"] div.excel-control .mappings-detail > li.header {
          display: none; } }
    @media screen and (min-width: 768px) {
      div[data-proxiarestful="true"] div.excel-control .mappings-detail > li .form-group:first-child {
        text-align: right; }
        div[data-proxiarestful="true"] div.excel-control .mappings-detail > li .form-group:first-child label {
          padding-top: 12px; } }
  div[data-proxiarestful="true"] div.excel-control .actions-area {
    text-align: right; }
  div[data-proxiarestful="true"] div.excel-control .results-view {
    background-color: #f0f0f0;
    padding: 30px; }
    div[data-proxiarestful="true"] div.excel-control .results-view .results {
      font-weight: 600;
      margin-bottom: 15px; }
    div[data-proxiarestful="true"] div.excel-control .results-view .btn-outline-primary {
      font-size: 16px; }
  div[data-proxiarestful="true"] .cmResourcesOuterBox {
    margin-top: 15px !important; }
    div[data-proxiarestful="true"] .cmResourcesOuterBox ul.cmResourceList {
      padding: 0px;
      list-style: none; }
      div[data-proxiarestful="true"] .cmResourcesOuterBox ul.cmResourceList .resourceData4 {
        padding-left: 6px; }
  div[data-proxiarestful="true"] .content-control .content-filter .btn, div[data-proxiarestful="true"] .content-control .content-filter .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .content-control .content-filter a.printButton {
    margin-top: 27px;
    background-color: white;
    font-size: 14px;
    padding: 9px;
    border-color: #9b9b9b; }
  div[data-proxiarestful="true"] .content-control .current-contents {
    margin: 0px;
    padding: 0px;
    list-style: none; }
    div[data-proxiarestful="true"] .content-control .current-contents > li {
      margin: 0px;
      background-color: #e3e3e3;
      font-size: 14px;
      margin: 6px 0;
      width: 160px;
      display: inline-block !important;
      border-radius: 6px;
      position: relative;
      padding: 0 30px 0 6px; }
      div[data-proxiarestful="true"] .content-control .current-contents > li {
        font-size: 14px;
        line-height: 20px;
        height: 80px;
        overflow: hidden;
        text-overflow: ellipsis;
        display: block;
        display: -webkit-box;
        -webkit-line-clamp: 4;
        -webkit-box-orient: vertical; }
      div[data-proxiarestful="true"] .content-control .current-contents > li .options {
        display: inline-block;
        margin-left: 15px;
        position: absolute;
        top: 0px;
        right: 6px;
        color: black; }
        div[data-proxiarestful="true"] .content-control .current-contents > li .options .fa {
          font-size: 20px;
          position: relative;
          top: 2px; }
      div[data-proxiarestful="true"] .content-control .current-contents > li + li {
        margin-left: 6px; }
  div[data-proxiarestful="true"] .content-control .search-results {
    margin: 0px;
    list-style: none;
    padding: 0px; }
    div[data-proxiarestful="true"] .content-control .search-results > li {
      position: relative;
      padding: 0px 6px 0px 30px;
      margin: 0px; }
      div[data-proxiarestful="true"] .content-control .search-results > li:before, div[data-proxiarestful="true"] .content-control .search-results > li:after {
        display: table;
        content: " "; }
      div[data-proxiarestful="true"] .content-control .search-results > li:after {
        clear: both; }
      div[data-proxiarestful="true"] .content-control .search-results > li:before {
        color: #980046;
        position: absolute;
        top: 6px;
        left: 6px;
        content: "";
        font-family: "font-valladolid"; }
      div[data-proxiarestful="true"] .content-control .search-results > li .content-data {
        width: 75%; }
      div[data-proxiarestful="true"] .content-control .search-results > li .content-path a {
        background-color: #9b9b9b;
        border: 1px solid #9b9b9b;
        display: inline-block;
        padding: 3px 15px;
        border-radius: 15px;
        font-size: 12px;
        color: white;
        margin-top: 6px;
        margin-bottom: 6px; }
        div[data-proxiarestful="true"] .content-control .search-results > li .content-path a:after {
          font-family: FontAwesome;
          content: '\f08e';
          padding-left: 6px; }
      div[data-proxiarestful="true"] .content-control .search-results > li .content-add .btn, div[data-proxiarestful="true"] .content-control .search-results > li .content-add .printable-button a.printButton, div[data-proxiarestful="true"] .printable-button .content-control .search-results > li .content-add a.printButton {
        background-color: white; }
  div[data-proxiarestful="true"] ul.master-view {
    margin: 15px 0 0 0;
    padding: 0px;
    list-style: none;
    position: relative; }
    div[data-proxiarestful="true"] ul.master-view > li {
      position: relative;
      padding: 0px 6px 0px 30px;
      margin: 0px; }
      div[data-proxiarestful="true"] ul.master-view > li:before {
        color: #980046;
        position: absolute;
        top: 6px;
        left: 6px;
        content: "";
        font-family: "font-valladolid"; }
      div[data-proxiarestful="true"] ul.master-view > li + li {
        padding-top: 15px; }
        div[data-proxiarestful="true"] ul.master-view > li + li:before {
          top: 21px; }
      div[data-proxiarestful="true"] ul.master-view > li .master-view-title {
        font-size: 18px;
        font-weight: bold;
        line-height: 25.7143px; }
      div[data-proxiarestful="true"] ul.master-view > li .master-view-description {
        font-size: 16px;
        line-height: 22.8571px; }
      div[data-proxiarestful="true"] ul.master-view > li .master-view-features {
        margin-top: 6px; }
        div[data-proxiarestful="true"] ul.master-view > li .master-view-features ul {
          margin: 0px;
          padding: 0px;
          list-style: none; }
          div[data-proxiarestful="true"] ul.master-view > li .master-view-features ul li {
            margin: 0px;
            padding: 0px;
            display: inline-block;
            font-size: 12px;
            border: 1px solid white;
            color: white;
            padding: 3px 18px; }
            div[data-proxiarestful="true"] ul.master-view > li .master-view-features ul li + li {
              margin-left: 15px; }
      div[data-proxiarestful="true"] ul.master-view > li .btn-edit {
        color: #4E6FB8;
        border: 1px solid #4E6FB8;
        padding: 4px 18px;
        border-radius: 0px;
        font-weight: 600; }
      div[data-proxiarestful="true"] ul.master-view > li .btn-delete {
        color: red;
        border: 1px solid red;
        padding: 4px 18px;
        border-radius: 0px;
        font-weight: 600; }
    div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > .btn, div[data-proxiarestful="true"] ul.master-view .printable-button div.master-view-options.btn-group > ul.dropdown-menu > li > a.printButton, div[data-proxiarestful="true"] .printable-button ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > a.printButton {
      padding: 6px 12px; }
    @media screen and (max-width: 991px) {
      div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > button {
        border: 0px;
        border-radius: 0px; }
      div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > * {
        border: 0px;
        background-color: transparent;
        width: 100%;
        text-align: left;
        color: inherit;
        font-weight: normal; }
        div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > * .fa {
          display: none; }
        div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > *:hover, div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > *:active, div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > *:focus, div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > *:active:hover, div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > *:active:focus {
          text-decoration: underline;
          color: #1E1E1E; } }
    @media screen and (min-width: 992px) {
      div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > button {
        display: none; }
      div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu {
        list-style: none;
        position: unset;
        position: static;
        display: block;
        float: none;
        min-width: auto;
        padding: 0px;
        margin: 0px;
        border: 0px;
        border-radius: 0px;
        -webkit-box-shadow: none;
        box-shadow: none;
        background-clip: initial;
        background-color: transparent; }
        div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li {
          display: inline-block; }
          div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li + li {
            margin-left: 6px; }
          div[data-proxiarestful="true"] ul.master-view div.master-view-options.btn-group > ul.dropdown-menu > li > * {
            display: inline-block; } }
  div[data-proxiarestful="true"] .master-results-view {
    position: relative; }
    div[data-proxiarestful="true"] .master-results-view > .loading, div[data-proxiarestful="true"] .master-results-view + .loading {
      position: absolute;
      top: 50%;
      bottom: 50%;
      padding-top: 0; }
  @media screen {
    div[data-proxiarestful="true"] .printable-area {
      margin-bottom: 6px;
      overflow-y: auto;
      overflow-x: hidden;
      height: 90%; } }
  @media print {
    div[data-proxiarestful="true"] .printable-button {
      display: none; } }
  div[data-proxiarestful="true"] a {
    cursor: pointer; }
  div[data-proxiarestful="true"] .disabled {
    opacity: 0.65; }
  div[data-proxiarestful="true"] .failed {
    text-align: center; }
    div[data-proxiarestful="true"] .failed img {
      width: 20%;
      margin-bottom: 6px; }
  div[data-proxiarestful="true"] .loading {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    background-color: transparent;
    padding: 15px 0px;
    text-align: center; }
  div[data-proxiarestful="true"] .edit-view {
    position: relative; }
    div[data-proxiarestful="true"] .edit-view .reloading .loading {
      position: absolute;
      width: 100%;
      height: 100%;
      text-align: center;
      font-size: 40px;
      background-color: rgba(255, 255, 255, 0.6);
      z-index: 4; }
      div[data-proxiarestful="true"] .edit-view .reloading .loading > span {
        position: relative;
        top: calc(40% - 40px); }
  div[data-proxiarestful="true"] .no-content {
    margin: 15px 0;
    text-align: center; }
  div[data-proxiarestful="true"] button.emulated-link {
    outline: 0;
    border: 0;
    padding: 0;
    margin: 0;
    background-color: transparent;
    display: inline; }
    div[data-proxiarestful="true"] button.emulated-link:not(.nav-item) {
      color: #1E1E1E; }
      div[data-proxiarestful="true"] button.emulated-link:not(.nav-item):hover, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item):active, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item):focus, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item):active:hover, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item):active:focus {
        text-decoration: underline;
        color: #980046; }
      div[data-proxiarestful="true"] button.emulated-link:not(.nav-item).disabled:hover, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item).disabled:active, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item).disabled:focus, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item).disabled:active:hover, div[data-proxiarestful="true"] button.emulated-link:not(.nav-item).disabled:active:focus {
        text-decoration: none;
        color: #1E1E1E; }
    div[data-proxiarestful="true"] button.emulated-link.nav-item:focus {
      outline: 5px auto -webkit-focus-ring-color;
      outline-offset: -2px; }
  div[data-proxiarestful="true"] a.emulated-link.disabled:hover, div[data-proxiarestful="true"] a.emulated-link.disabled:active, div[data-proxiarestful="true"] a.emulated-link.disabled:focus, div[data-proxiarestful="true"] a.emulated-link.disabled:active:hover, div[data-proxiarestful="true"] a.emulated-link.disabled:active:focus {
    text-decoration: none;
    color: #1E1E1E; }

@keyframes xFadeIn {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@-moz-keyframes xFadeIn {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@-webkit-keyframes xFadeIn {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@-o-keyframes xFadeIn {
  0% {
    opacity: 0.3; }
  100% {
    opacity: 1; } }

@-ms-keyframes xFadeIn {
  div[data-proxiarestful="true"] 0% {
    opacity: 0.3; }
  div[data-proxiarestful="true"] 100% {
    opacity: 1; } }

@keyframes xFadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0.2; } }

@-moz-keyframes xFadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0.2; } }

@-webkit-keyframes xFadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0.2; } }

@-o-keyframes xFadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0.2; } }

@-ms-keyframes xFadeOut {
  div[data-proxiarestful="true"] 0% {
    opacity: 1; }
  div[data-proxiarestful="true"] 100% {
    opacity: 0.2; } }

.modal[data-proxiarestful="true"] .modal-title + .close {
  position: absolute;
  top: 15px;
  right: 15px;
  float: none; }

div[data-service="proxia-restful-programa-adopta"] > div.loading {
  display: none; }

div[data-service="proxia-restful-programa-adopta"] .sampleExcel:not(.visible) {
  display: none; }

div[data-service="proxia-restful-programa-adopta"] .sampleExcel a {
  color: #1E1E1E !important;
  display: block;
  margin: 15px 0 30px; }
  div[data-service="proxia-restful-programa-adopta"] .sampleExcel a:hover, div[data-service="proxia-restful-programa-adopta"] .sampleExcel a:active, div[data-service="proxia-restful-programa-adopta"] .sampleExcel a:focus, div[data-service="proxia-restful-programa-adopta"] .sampleExcel a:active:hover, div[data-service="proxia-restful-programa-adopta"] .sampleExcel a:active:focus {
    color: #980046; }

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAidGVtcC9lc3RpbG85MzAzOTQ1MzAxMzE1MDM1MTA2LmNzcyIsCgkic291cmNlcyI6IFsKCQkidGVtcC9lc3RpbG85MzAzOTQ1MzAxMzE1MDM1MTA2LmNzcyIsCgkJInRlbXAvZXN0aWxvOTMwMzk0NTMwMTMxNTAzNTEwNi5jc3MvSlNBU1NfQ1VTVE9NLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdGhlbWVzL3ZhbGxhZG9saWQvX3ZhcmlhYmxlcy5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL2FydGlmYWN0LnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvX3NldHRpbmdzLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL192YXJpYWJsZXMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19iczQtY29tcGF0LnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvcHJveGlhL192YXJpYWJsZXMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvYnMzLWNvbXBhdC5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3Byb3hpYS9yZWFjdC9fdmFyaWFibGVzLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL19taXhpbnMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19oaWRlLXRleHQuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19vcGFjaXR5LnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9faW1hZ2Uuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19yZXNldC1maWx0ZXIuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19yZXNpemUuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19zaXplLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fdGFiLWZvY3VzLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL190ZXh0LW92ZXJmbG93LnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fYWxlcnRzLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fYnV0dG9ucy5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19mb3Jtcy5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3Byb2dyZXNzLWJhci5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19ncmFkaWVudHMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy92ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2NlbnRlci1ibG9jay5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX25hdi12ZXJ0aWNhbC1hbGlnbi5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3ZlbmRvcnMvYm9vdHN0cmFwL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvdmVuZG9ycy9ib290c3RyYXAvYm9vdHN0cmFwL21peGlucy9fZ3JpZC5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3Byb3hpYS9fbWl4aW5zLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvcHJveGlhL19yZWFjdC1wcm94aWFwb3J0YWwuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX25hdmlnYXRpb24uc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX2Zvcm0uc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX2RhdGVwaWNrZXIuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX2F1dG9jb21wbGV0ZS5zY3NzIiwKCQkid2ViYXBwcy9ST09UL3N0eWxlc2hlZXRzL3Byb3hpYS9yZWFjdC9fZmlsZXMuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX2NvbnRlbnRjb250cm9sLnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvcHJveGlhL3JlYWN0L19tYXN0ZXJkZXRhaWwuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX3ByaW50LnNjc3MiLAoJCSJ3ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvcHJveGlhL3JlYWN0L2NvcmUuc2NzcyIsCgkJIndlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy9wcm94aWEvcmVhY3QvX2RpYWxvZy5zY3NzIiwKCQkicHJveGlhLXRlbXAvc2VydmljZTg0Mjg2Nzc1OTA0MjI5MjI3OTAvc3R5bGVzaGVldHMvc2VydmljZS5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCBcIi9vcHQvdG9tY2F0L3dlYmFwcHMvUk9PVC9zdHlsZXNoZWV0cy90aGVtZXMvdmFsbGFkb2xpZC9fdmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCIvb3B0L3RvbWNhdC93ZWJhcHBzL1JPT1Qvc3R5bGVzaGVldHMvYXJ0aWZhY3RcIjtcclxuQGltcG9ydCBcIi9vcHQvdG9tY2F0L3Byb3hpYS10ZW1wL3NlcnZpY2U4NDI4Njc3NTkwNDIyOTIyNzkwL3N0eWxlc2hlZXRzL3NlcnZpY2Uuc2Nzc1wiO1xyXG4iLAoJCSIkanNhc3Mtdm9pZDoganNhc3NfaW1wb3J0X3N0YWNrX3B1c2goMSk7XG4iLAoJCSIvKipcbiAqIFZhcmlhYmxlcyBQb3J0YWwgV2ViIGRlbCBBeXVudGFtaWVudG8gZGUgVmFsbGFkb2xpZFxuICovXG5cbi8vVkFSSUFCTEVTIEdMT0JBTEVTIERFIExBIFdFQlxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAzMHB4O1xuJGhhbGZHdXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aC8yO1xuJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nOiA2cHg7XG4kaW1hZ2UtZ2FsbGVyeS1jb2x1bW5zOiAoJ3hzJzoyLCdzbSc6NCwnbWQnOjQpICFkZWZhdWx0O1xuXG4vLyBWYXJpYWJsZXMgcGFyYSBlbCBncmlkXG4kc2NyZWVuLXhsLW1pbjogMTI1OHB4O1xuLy8gJGNvbnRhaW5lci14bDogMTE5OHB4O1xuJGNvbnRhaW5lci14bDogMTIyOHB4O1xuXG4vL0ZPTlRTXG4kbWFpbi1mb250OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcbiRmb250cy1kZWZhdWx0LWZvbnQtc2l6ZTogMzhweDtcblxuLy8gQ09MT1JFUyBQUklOQ0lQQUxFU1xuJGJyYW5kLXByaW1hcnk6ICAgICAgICAgICAgICM5ODAwNDY7IC8vIzk5MEE0MjtcbiRicmFuZC1zZWNvbmRhcnk6ICAgICAgICAgICAjMUUxRTFFO1xuJGJyYW5kLXRlcnRpYXJ5OiAgICAgICAgICAgICM3OWFkZGU7IFxuJGJyYW5kLXRlcnRpYXJ5LWNvbnRyYXN0OiAgICM0ODc5YTQ7IC8vNC42OjFcbiR3aGl0ZTogICAgICAgICAgICAgICAgICAgICAjZmZmZmZmO1xuJGJsYWNrOiAgICAgICAgICAgICAgICAgICAgICMwMDAwMDA7XG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAjZmZmZmZmO1xuJGRhcmstYmc6ICAgICAgICAgICAgICAgICAgICMwMDAwMDA7XG4kZGFyay1jb250ZW50LXRleHQ6ICAgICAgICAgIzJDMkMyQzsgICAgXG4kYWdlbmRhLWRlc3RhY2FkbzogICAgICAgICAgI0Y4RTcxQztcbiRzZXJ2aWNpb3MtYmc6ICAgICAgICAgICAgICAjRjZGNkY2O1xuJG1heC10ZW1wOiAgICAgICAgICAgICAgICAgICNERjM3Mzc7XG4kc2VtYW5hLXZpZGVvLXZpZXdtb3JlOiAgICAgI0JCNTYyNzsgLy80Ljc6MVxuJG9yYW5nZS1ob3Zlci1tZW51OiAgICAgICAgICNDMzU2MTk7XG4kaW50ZXJlc3QtbGluay1ob3ZlcjogICAgICAgIzNFNTRBODtcbiRtZW51LW1vdmlsLWJnOiAgICAgICAgICAgICAjM0QzRDNEO1xuJGN1cnJlbnQtbW92aWwtbWVudTogICAgICAgICNFRkNENTc7XG4kaG92ZXItYWxjYWxkZTogICAgICAgICAgICAgI0I2Mjk1RjtcbiRibHVlLWJ1bGxldDogICAgICAgICAgICAgICAjM0U1NEE4O1xuJG9yYW5nZS1kcm9wZG93bjogICAgICAgICAgICNGRkMwMDA7XG4kd2VhdGhlci1tYXg6ICAgICAgICAgICAgICAgI2QyMzMzMzsgLy80Ljk6MVxuJHdlYXRoZXItbWluOiAgICAgICAgICAgICAgICMyNzczQzE7XG4kbWFzY29uc3VsdGFkby12aWV3bW9yZTogICAgIzNjNzJhMDsgLy80Ljc6MVxuJHNxbC1leHBvcnQtZXhjZWw6ICAgICAgICAgICMzQzg1M0M7IC8vNC42XG4kb3JkZW4tZGlhLWNvbG9yOiAgICAgICAgICAgI0Q2RTNGRjtcbiRhcnJvd3MtY29sb3I6ICAgICAgICAgICAgICAjMjUzZjc5O1xuJGFkZHJlc3MtYmx1ZTogICAgICAgICAgICAgICM0RTZGQjg7XG4kcHJveGlhLWxpbmtzLWNvbG9yOiAgICAgICAgJGJyYW5kLXNlY29uZGFyeTtcbiRsaW5rLW90aGVyczogICAgICAgICAgICAgICAjNTA2OGMwO1xuJGxpbmstdmlld01vcmUtcGx1czogICAgICAgICM2YTcxOTQ7XG4kd2hpdGU6ICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcblxuLy8gcnJzc1xuJHl0Yi1jb2xvcjogICAgICAgICAgICAgICAgICNmZjAwMDA7XG4kZmItY29sb3I6ICAgICAgICAgICAgICAgICAgIzNmNTFiNTtcblxuLy9FU0NBTEEgREUgR1JJU0VTXG4gICAgJGdyYXktYmFzZTogICAgICAgICAjMjQyNDI0O1xuICAgICRncmF5LWRhcmtlcjogICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA4JSk7XG4gICAgXG4gICAgLy9UZXh0b1xuICAgICRncmF5LWRhcms6ICAgICAgICAgIzY0NjQ2NDsgXG4gICAgJGdyYXk6ICAgICAgICAgICAgICAjNjE2MTYxOyAvLzYuMjoxXG4gICAgJGdyYXktbGlnaHQ6ICAgICAgICAjNzY3Njc3OyAvLzQuNToxXG4gICAgJG9sYXAtY2FsZW5kYXItY29sb3I6ICNDN0E1QUM7XG4gICAgJHBvbGl0aWNhbC1wYXJ0eS1jb2xvcjogIzdFN0U3RTtcbiAgICAkcmV1bmlvbmVzLXRpdGxlLWNvbG9yOiAjM0IzQjNCO1xuICAgICRhc2FtYmxlYS1kYXRlLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICAkZmlsZS1pY29uOiAgICAgICAgICAgI0NFQ0VDRTtcbiAgICAkb2ZmaWNlLXRoZW1lOiAgICAgICMyQzJDMkM7XG5cbiAgICAvL0JvcmRlclxuICAgICRib3JkZXItZ3JheTogICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgNDYuNSUpO1xuICAgICRib3JkZXItZ3JheS1saWdodDogICNDRENEQ0Q7XG4gICAgJGJvcmRlci1ncmF5LXNvbGljaXR1ZGVzOiAjREZERkRGO1xuICAgIFxuICAgIC8vQmFja2dyb3VuZFxuICAgICRiZy1ncmF5LWRhcmtlcjogICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA4JSk7XG4gICAgJGJnLWdyYXk6ICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDQ2LjUlKTtcbiAgICAkYmctZ3JheS1saWdodDogICAgICAgICNiZmJmYmY7XG4gICAgJGJnLWdyYXktbGlnaHRlcjogICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDc1JSk7XG4gICAgJGJnLWdyYXktbGlnaHRlc3Q6ICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDgwJSk7XG4gICAgJGJnLWdyYXktY29udGVudDogICAgICAjRjdGN0Y3O1xuICAgICRiZy1ncmF5LXRlbWFzOiAgICAgICAgIzIzMjUyNjtcbiAgICAkYmctZ3JheS10ZW1hcy1tb2JpbGU6ICMxQTFBMUE7XG4gICAgJGJnLWdyYXktYWRvcHRhLWZvcm06ICAjZTNlM2UzO1xuICAgICRiZy1ncmF5LWludGVyZXM6ICAgICAgI0VGRUZFRjtcbiAgICAkYmctZ3JheS1iaWVuZXM6ICAgICAgICM3Njc2Nzc7XG5cbi8vIEJPUkRFU1xuJHZhbGxhZG9saWQtYmFzZS1ib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1saWdodDtcblxuLy8gRm9udCBXZWlnaHRzXG5cbiR3ZWlnaHQtcmVndWxhcjogNDAwO1xuJHdlaWdodC1tZWRpdW06IDUwMDtcbiR3ZWlnaHQtc2VtaWJvbGQ6IDYwMDtcbiR3ZWlnaHQtYm9sZDogNzAwO1xuXG4vLyBUQU1Bw5FPUyBERSBMRVRSQVxuJGZvbnQtc2l6ZS1zbWFsbDogICAxMnB4OyBcbiRmb250LXNpemUtYmFzZTpcdDE0cHg7XG4kZm9udC1zaXplLWxhcmdlOiAgIDE2cHg7XG4kZm9udC1zaXplLWxhcmdlc3Q6IDE4cHg7IFxuXG4kZm9udC1zaXplLWgyOiAgICAgIDI4cHg7ICAgXG4kZm9udC1zaXplLWg0OiAgICAgIDI0cHg7IFxuJGZvbnQtc2l6ZS1oNTogICAgICAyMnB4OyBcbiRmb250LXNpemUtaDY6ICAgICAgMjBweDsgXG5cbiR0aXR1bG8tdGVtYXM6IFx0XHQzMnB4O1xuJHRpdHVsby14cy10cmFuc3BhcmVuY2lhOiAzMnB4O1x0XHRcdFx0XG4kdGl0dWxvLWFsY2FsZGU6ICAgIDQycHg7IFxuXG4kaG9tZS1zbGlkZXItYXJyb3dzOiA3MHB4O1xuXG4vL1NMSURFUlxuJHNsaWRlci1jb250cm9sLWRvdFNtYWxsOiAgICAxMXB4O1xuJHNsaWRlci1jb250cm9sLWJnOiAkZ3JheS1saWdodDtcblxuLy8gLS0tLS0tLS0tLS0tLS1cbi8vIEZvbnQgV2VpZ2h0c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHdlaWdodC1yZWd1bGFyOiA0MDA7XG4kd2VpZ2h0LW1lZGl1bTogNTAwO1xuJHdlaWdodC1zZW1pYm9sZDogNjAwO1xuJHdlaWdodC1ib2xkOiA3MDA7XG5cbi8vIENvbnRlbmlkb3MgcmVsYWNpb25hZG9zLCB2YXJpYWJsZXMgZXNwZWPDrWZpY2FzIHBhcmEgZGVmaW5pY2nDs24gZGUgbGEgbWFxdWV0YWNpw7NuIGRlbCBibG9xdWUuXG4kcmVsYXRlZC1ibG9jay1mb250LXNpemUtYmFzZTogJGZvbnQtc2l6ZS1oNjtcbiRyZWxhdGVkLWJsb2NrLW1hcmdpbjogMDtcbiRyZWxhdGVkLWJsb2NrLXBhZGRpbmc6IDA7XG4kcmVsYXRlZC1ibG9jay10aXRsZS1jb2xvcjogJGdyYXktZGFyaztcbiRyZWxhdGVkLWJsb2NrLWl0ZW0tcGFkZGluZzogMDtcbiRyZWxhdGVkLWJsb2NrLWl0ZW0tbWFyZ2luOiAwO1xuJHJlbGF0ZWQtYmxvY2staXRlbS1pY29uOiAnJztcblxuLy8gU3ViY29udGVuaWRvcywgdmFyaWFibGVzIGVzcGVjw61maWNhcyBwYXJhIGxhIG1hcXVldGFjacOzbiBkZWwgYmxvcXVlXG4kc3ViY29udGVudHMtYmxvY2stbWFyZ2luOiAwIDAgJGhhbGZHdXR0ZXIgMDtcbiRzdWJjb250ZW50cy1ibG9jay1wYWRkaW5nOiAwO1xuJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tY29sb3I6ICRicmFuZC1zZWNvbmRhcnk7XG4kc3ViY29udGVudHMtYmxvY2staXRlbS1ib3JkZXItdG9wOiAxcHggJGJvcmRlci1ncmF5LWxpZ2h0IHNvbGlkO1xuJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tcGFkZGluZzogJGhhbGZHdXR0ZXIgMCAkaGFsZkd1dHRlciAkaGFsZkd1dHRlcjtcbiRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb246ICAnXFxlOTNlJztcbiRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tZm9udDogJ2ZvbnQtdmFsbGFkb2xpZCc7XG4kc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uLWNvbG9yOiAkYmx1ZS1idWxsZXQ7XG4kc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uLXBhZGRpbmc6IDA7XG5cbi8vIEF1dG9yZWxhY2lvbmFkb3NcbiRhdXRvcmVsYXRlZC1ibG9jay1tYXJnaW46IDA7XG4kYXV0b3JlbGF0ZWQtYmxvY2stcGFkZGluZzogMDtcblxuLy8gUmVjdXJzb3NcbiRyZXNvdXJjZXMtYmxvY2stZm9udC1zaXplLWJhc2U6ICRmb250LXNpemUtbGFyZ2U7XG4kcmVzb3VyY2VzLWJsb2NrLW1hcmdpbjogMDtcbiRyZXNvdXJjZXMtYmxvY2stcGFkZGluZzogMCAkZ3JpZC1ndXR0ZXItd2lkdGg7XG4kcmVzb3VyY2VzLWNvbHVtbnM6IDIgIWRlZmF1bHQ7XG5cbi8vTUFQQSBXRUJcbiRnbG9iYWwtc2l0ZW1hcC1sZXZlbDEtY29sdW1uczogMTtcbiRnbG9iYWwtc2l0ZW1hcC1sZXZlbDItY29sdW1uczogMTtcbiRzaXRlbWFwLWxldmVsMTogKFxuICAgICAgICBibG9jay1wYWRkaW5nOiAwcHggMHB4IDBweCAkaGFsZkd1dHRlcixcbiAgICAgICAgYmxvY2staXRlbS1mb250LXNpemU6ICRmb250LXNpemUtaDQsXG4gICAgICAgIGJsb2NrLWl0ZW0tY29sb3I6ICRicmFuZC1wcmltYXJ5LFxuICAgICAgICBibG9jay1pdGVtLWNvbG9yLWhvdmVyOiAkaW50ZXJlc3QtbGluay1ob3ZlcixcbiAgICAgICAgYmxvY2staXRlbS1tYXJnaW46IDAgMCAkaGFsZkd1dHRlciAwLFxuICAgICAgICB0aXRsZS1pY29uOiAnXFxlOTQ1JyxcbiAgICAgICAgdGl0bGUtaWNvbi1mb250OiAnZm9udC12YWxsYWRvbGlkJyxcbiAgICAgICAgdGl0bGUtaWNvbi1jb2xvcjogJGludGVyZXN0LWxpbmstaG92ZXIsXG4gICAgICAgIHRpdGxlLWljb24tcGFkZGluZzogJGhhbGZHdXR0ZXJcbik7XG4kc2l0ZW1hcC1sZXZlbDI6IG1hcF9tZXJnZSgkc2l0ZW1hcC1sZXZlbDEsKFxuICAgICAgICBibG9jay1pdGVtLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZXN0LFxuICAgICAgICB0aXRsZS1pY29uOiAgJ1xcZTk0NScsXG4gICAgICAgIHRpdGxlLWljb24tZm9udDogJ2ZvbnQtdmFsbGFkb2xpZCcsXG4gICAgICAgIHRpdGxlLWljb24tY29sb3I6ICRvcmFuZ2UtaG92ZXItbWVudSxcbiAgICAgICAgdGl0bGUtaWNvbi1wYWRkaW5nOiAkaGFsZkd1dHRlcixcbiAgICAgICAgdGl0bGUtbWFyZ2luOiAwLFxuICAgICAgICBpbmRlbnQtbWFyZ2luOiAkaGFsZkd1dHRlclxuKSk7XG5cbi8vIENvbG9yIHBhcmEgcmVzdWx0YWRvcyBkZSBsYSBiw7pzcXVlZGFcbiRoaWdobGlnaHRlZC10ZXh0LWNvbG9yOiAkYnJhbmQtc2Vjb25kYXJ5O1xuJGhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3I6ICNGRkZGQzA7XG5cbi8vIEJsb3F1ZSBkZSByZWRlcyBzb2NpYWxlcy4uLiByZWRlZmluaW1vcyBlbCB0YW1hw7FvIGRlIGljb25vcywgZnVlbnRlcyB5IGRlbcOhcy5cbiRjb250ZW50LXNlcnZpY2VzLWl0ZW0tYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1ncmF5LWxpZ2h0O1xuJGNvbnRlbnQtc2VydmljZXMtY29sb3I6ICRncmF5LWRhcms7XG4kY29udGVudC1zZXJ2aWNlcy1hY3RpdmUtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xuJGNvbnRlbnQtc2VydmljZXMtaXRlbS1sYXJnZS1ib3gtd2lkdGg6IDUwcHg7XG4kY29udGVudC1zZXJ2aWNlcy1pdGVtLWZvbnQtbGFyZ2U6ICRmb250LXNpemUtaDQ7XG5cbi8vIFRhbWHDsW9zIHBlcXVlw7FvcyBzZSB1dGlsaXphIGVuIHRlbWFzXG4kY29udGVudC1zZXJ2aWNlcy1pdGVtLXNtYWxsLWJveC13aWR0aDogMzBweDtcbiRjb250ZW50LXNlcnZpY2VzLWl0ZW0tZm9udC1zbWFsbDogJGZvbnQtc2l6ZS1sYXJnZTtcblxuLy8gQ3VhbmRvIGNhdGVnb3JpemFtb3MgY29uZXRuaWRvc1xuJGNhdGVnb3JpemVyLWNhdGVnb3J5LWJvcmRlci1zdHlsZTogbm9uZTtcbiRjYXRlZ29yaXplci1jYXRlZ29yeS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiRjYXRlZ29yaXplci1jYXRlZ29yeS1mb250LXNpemU6ICRmb250LXNpemUtaDQ7XG4kY2F0ZWdvcml6ZXItYmxvY2stcGFkZGluZzogMDtcbiRjYXRlZ29yaXplci1ibG9jay1pdGVtLXBhZGRpbmc6ICRoYWxmR3V0dGVyO1xuJGNhdGVnb3JpemVyLWJsb2NrLWl0ZW0tbWFyZ2luOiAkaGFsZkd1dHRlciAwIDAgMDtcbiRzdWJjb250ZW50cy1jYXRlZ29yeS1ibG9jay1pdGVtLWljb246ICcnO1xuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLWl0ZW0tYm9yZGVyLXRvcDogbm9uZTtcbiRzdWJjb250ZW50cy1jYXRlZ29yeS1ibG9jay1wYWRkaW5nOiAwO1xuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLWl0ZW0tbWFyZ2luOiAwIDAgMCAkaGFsZkd1dHRlcjtcbiRzdWJjb250ZW50cy1jYXRlZ29yeS1ibG9jay1pdGVtLXBhZGRpbmc6ICRoYWxmR3V0dGVyIDAgMCAwO1xuXG4vL0NBTEVOREFSSU9cbiRjYWxlbmRhci1jdXJyZW50ZGF5OiAjZGE1NTJmO1xuJGNhbGVuZGFyLWhvbGlkYXk6ICRkYXJrLWJnO1xuJGNhbGVuZGFyLWhvbGlkYXktZW5jaXJjbGVkOiBmYWxzZTtcbiRjYWxlbmRhci1ldmVudC1lbmNpcmNsZWQ6IGZhbHNlO1xuJGNhbGVuZGFyLWhlYWRlci1iZ2NvbG9yOiAkYm9keS1iZztcbiRjYWxlbmRhci1jZWxscy1pbm5lci1ib3JkZXI6IGZhbHNlO1xuJGNhbGVuZGFyLWZvbnQtc2l6ZS1iYXNlOiAkZm9udC1zaXplLXNtYWxsO1xuJGNhbGVuZGFyLWV2ZW50OiAkZGFyay1iZztcbiRjYWxlbmRhci1ib3JkZXI6IDFweCBzb2xpZCAjQzVDNUM1O1xuJGNhbGVuZGFyLW90aGVyZGF5cy1vcGFjaXRpeTogMC45OyAvLyBBY2Nlc2liaWxpZGFkXG5cblxuLy9SQ0NBVkFcbiRyY2NhdmEtYmx1ZTogIzYzQ0VGRjtcbiRyY2NhdmEtaG9tZS1ibHVlOiAjM0U1NEE4O1xuJHJjY2F2YS1ob21lLWdyZWVuLWFycm93OiAjOUFDRTk4O1xuJHJjY2F2YS1ob21lLWxpbmstYmc6ICNFRUVFRUU7XG4kcmNjYXZhLWljb24tZm9udC1zaXplOiA1OHB4O1xuJHJjY2F2YS1ib3gtc2hhZG93OiAwIDhweCAxNnB4IDAgcmdiYSgwLDAsMCwwLjA2KTtcbiRyY2NhdmEtY29udGVudC1iZzogI0Y3RjdGNztcbiRyY2NhdmEtdGl0bGUtZm9udC1zaXplOiA0MHB4O1xuJHJjY2F2YS1tZW51LWNvbHVtbnM6ICgnc20nOjUsICdtZCc6NSk7XG4kcmNjYXZhLW1lbnUtYm9yZGVyOiA0cHggc29saWQgJHJjY2F2YS1jb250ZW50LWJnO1xuJHJjY2F2YS1ob21lLXRpdGxlLWJnOiAjOUZBQUVGO1xuXG4vLyBBRE9QVEFcbiRhbmltYWxzLXNpdHVhdGlvbi1jb2xvcjogI0MzNTYxOTtcbiRhbmltYWxzLWNhci1jb2xvcjogIzk5MEE0MjtcblxuLy8gU0VBUkNIXG4kYmctc2VhcmNoOiAjOTkwQTQyO1xuXG4vLyBNYXBhc1xuJG1hcHMtb3B0aW9ucy1kaXNwb3NpdGlvbjogKCd4cyc6KDEyLDEyKSk7XG5cbi8vTm90YXMgZGUgcHJlbnNhXG4kb2xhcGNhbGVuZGFyLWNsb3VkLXNpemU6ICgneHMnOjEyLCdzbSc6MTIsJ21kJzo0LCdsZyc6Myk7XG4kbm90YXMtcHJlbnNhLWJhc2UtYm9yZGVyOiAxcHggc29saWQgI0M1QzVDNTtcbiRub3Rhcy1wcmVuc2EtbWVzOiAgICAgICAgICAjNkI2QjZCOyAvLzQuNjoxXG4kbm90YXMtcHJlbnNhLW1lcy1iZzogICAgICAgI0VERURFRDsgXG5cbi8vU2VzaW9uZXMgcGxlbmFyaWFzXG4kc2VzaW9uLWJsdWUtY29sb3I6ICM0RTZGQjg7XG5cbi8vUGFydGlkb3MgcG9saXRpY29zXG4kY29uY2VqYWxlcy1saXN0LWJvcmRlcjogMXB4IHNvbGlkICNDQUNBQ0E7XG4kYWdlbmRhLWJnLWNvbG9yOiAjRjNGM0YzO1xuXG4vL8OTcmdhbm9zIHBhcnRpY2lwYXRpdm9zXG4kb3JnYW5vLWJnLWNvbG9yOiAjRjVGNUY1O1xuJG9yZ2Fuby1kZXN0LXRpdGxlOiAzMnB4O1xuJG9yZ2Fuby1zaG93bW9yZS1jb2xvcjogIzRFNkZCODtcbiRvcmdhbm8tdGl0bGU6IDM2cHg7XG4kb3JnYW5vLXJlbGF0ZWQtYmc6ICNGQkZCRkI7XG5cbi8vQmllbmVzXG4kYmllbi1pY29uLWNvbG9yOiAjQjlCOUI5O1xuJGJpZW4taWNvbi1zaXplOiAzNnB4O1xuXG4vL1ZpZGVvdGVjYVxuJHZpZGVvdGVjYS1zZWNvbmRhcnktdGl0bGUtZm9udC1zaXplOiAxNXB4O1xuJHZpZGVvdGVjYS10ZXh0LWZvbnQtc2l6ZTogMTNweDtcbiR2aWRlb3RlY2EtdGV4dC1jb2xvcjogIzJDMkMyQztcbiR2aWRlb3RlY2EtbWFpbi10aXRsZTogMzBweDtcbiR2aWRlb3RlY2EtaWNvbi1mb250LXNpemU6IDcwcHg7XG4kdmlkZW90ZWNhLWxpc3QtaWNvbi1mb250LXNpemU6IDI2cHg7XG5cbi8vQ2VudHJvcyBDaXZpY29zL011bmljaXBhbGVzXG4kY2VudHJvcy1pY29uLWZvbnQtc2l6ZTogNjZweDtcbiRjZW50cm9zLXN1YmNvbnRlbnQtYm9yZGVyOiA4cHggc29saWQgI0YzQkZEMztcbiRjZW50cm9zLWluc3RhbGFjaW9uZXMtYm9yZGVyOiAycHggc29saWQgI0M5QzlDOTtcbiRjZW50cm9zLWluc3RhbGFjaW9uZXMtaWNvbjogJGdyYXktbGlnaHQ7IC8vIEFjY2VzaWJpbGlkYWQsIGVsIGNvbnRyYXN0ZSBlcmEgYmFqby5cbiRjZW50cm9zLWluc3RhbGFjaW9uZXMtaWNvbi1zaXplOiAzNnB4O1xuXG4vLyBBc3BlY3RvIGRlbCBsaWdodGJveC4uLlxuJGxpZ2h0Ym94LXRpdGxlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjtcbiRsaWdodGJveC10aXRsZS1iYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiRsaWdodGJveC10aXRsZS1jb2xvcjogJGJyYW5kLXNlY29uZGFyeTtcbiRsaWdodGJveC1mb290ZXItYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiAjZmZmLCAkYnJhbmQtcHJpbWFyeSwgZGFya2VuKCRicmFuZC1wcmltYXJ5LCA1JSkgO1xuXG4kZHJvcHpvbmUtcmVzdWx0cy1iYWNrZ3JvdW5kOiAkYmctZ3JheS1saWdodGVzdDtcbiRkcm9wem9uZS1iYWNrZ3JvdW5kOiAkYmctZ3JheS1jb250ZW50O1xuJGRyb3B6b25lLWNvbG9yOiAkYm9yZGVyLWdyYXktbGlnaHQ7XG5cbiRjb250ZW50LWNvbnRyb2wtYmFja2dyb3VuZDogJGJnLWdyYXktbGlnaHRlcjtcbiRjb250ZW50LWNvbnRyb2wtY29sb3I6ICRiZy1ncmF5O1xuJGNvbnRlbnQtY29udHJvbC1pdGVtLWljb24tZm9udDogJ2ZvbnQtdmFsbGFkb2xpZCc7XG4kY29udGVudC1jb250cm9sLWl0ZW0taWNvbjogJ1xcZTkzZSc7XG4kZm9ybS1jb250cm9sLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcblxuLy8gTWVyY2Fkb3MgTXVuaWNpcGFsZXNcbiRtZXJjYWRvcy1pY29uLWNvbG9yOiAjNTYyNjdkO1xuJG1lcmNhZG9zLWljb24tc2l6ZTogOTBweDtcbiRtZXJjYWRvcy1iYXItY29sb3I6ICM1ODNGOUE7XG4kbWVyY2Fkb3MtaGVhZGVyLXRleHQtY29sb3I6ICNGQkYwMjQ7XG4kbWVyY2Fkb3MtaGVhZGVyLXRleHQtc2l6ZTogNDZweDtcbiRtZXJjYWRvcy1oZWFkZXItdGV4dC1zaXplLW1vYmlsZTogNi41dnc7XG5cbi8vIEFqdXN0YW1vcyBlbCBwYWRkaW5nIFkgZGUgbG9zIGZvcm11bGFyaW9zIFJFQUNULCBwb3JxdWUgdGVuZW1vcyB0b2RvcyBsb3MgYm90b25lcyBhanVzdGFkb3Ncbi8vIGEgZXNlIHRhbWHDsW8uXG4kZm9ybS1jb250cm9sLXBhZGRpbmcteTogMS41KiRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcblxuLy8gRWwgYm9yZGUgZGUgbG9zIGlucHV0IGEgZ3JheSBsaWdodFxuJGlucHV0LWJvcmRlcjogJGdyYXktbGlnaHQ7XG5cbi8vIEZvY28gY29udHJvbGVzIGZvcm11bGFyaW9cbiRmb3JtLWNvbnRyb2wtYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoJGJyYW5kLXByaW1hcnksIC4yNSkgIWRlZmF1bHQ7XG5cbi8vIE1lbnUgQm9keVxuJG1lbnUtY29udGFpbmVyLXBhZGRpbmc6IDM4cHggMTVweCA2NnB4O1xuJG1lbnUtY29udGFpbmVyLWJnOiAjMzkzOTM5O1xuJG1lbnUtYm9keS1ob21lLWdhcDogMjZweDtcbiRtZW51LWJvZHktZGFyay1pY29uLWNvbG9yOiAjZDJkMmQyO1xuJG1lbnUtYm9keS1saWdodC1ob3Zlci1iZzogI0VCRUJFQjtcblxuLy8gQXRlbmNpw7NuIHByZXNlbmNpYWxcbiRhdGVuY2lvbi1wcmVzZW5jaWFsLWxhYmVsLWNvbG9yOiAjNEM0QzRDO1xuJGF0ZW5jaW9uLXByZXNlbmNpYWwtZmllbGQtZm9udC1zaXplOiAxNXB4O1xuJGF0ZW5jaW9uLXByZXNlbmNpYWwtcGxhY2Vob2xkZXItY29sb3I6ICNCMUIxQjE7XG4kYXRlbmNpb24tcHJlc2VuY2lhbC1jYXJldC1jb2xvcjogIzM3MzczNztcbiRhdGVuY2lvbi1wcmVzZW5jaWFsLWZlYXR1cmVzLWNvbG9yOiAjNjY2NjY2O1xuJGF0ZW5jaW9uLXByZXNlbmNpYWwtZmVhdHVyZXMtc2l6ZTogMTNweDtcbiIsCgkJIi8qKlxuICogRmljaGVybyBnZW5lcmFsIFNDU1MgcXVlIGltcG9ydGEgdG9kb3MgbG9zIGZpY2hlcm9zIGRlIHZhcmlhYmxlcyBkZWZpbmlkb3MgYSBuaXZlbCBkZSBwcm95ZWN0bywgYSBmaW5cbiAqIGRlIHBlcm1pdGlyIGxhIGNvbXBvc2ljacOzbiBkZSB1biBTQVNTIHF1ZSBkaXNwb25nYSBkZSB0b2RvcyBsb3MgZGF0b3MgZGVsIHByb3llY3RvLlxuICpcbiAqIEBhdXRob3IgZHJvZHJpZ3VlelxuICovXG5cbi8vIFNldHRpbmdzIHByaW5jaXBhbGVzIGRlIFByb3hpYSwgaW5pY2lhbGl6YSBjaWVydGFzIHZhcmlhYmxlc1xuLy8gZGUgYm9vdHN0cmFwIHF1ZSBwdWVkZSBzZXIgbmVjZXNhcmlvIHJlZGVmaW5pciwgYXPDrSBjb21vIGZpamFyXG4vLyBjaWVydG9zIHBhdGhzIGltcG9ydGFudGVzLiBzZXLDrWEgdW4gZmljaGVybyBwb3IgZGVmZWN0bywgbm8gZGViZVxuLy8gdG9jYXJzZSBlbiBjYXNvIGRlIGV4aXN0aXIgdW4gZmljaGVybyBkZSB2YXJpYWJsZXMgZGVsIHRlbWEgc2UgaW1wb3J0YXLDoVxuLy8gw6lzdGUgcG9yIGRlZmVjdG9cbkBpbXBvcnQgXCJzZXR0aW5nc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW1wb3J0cyBWZW5kb3IgVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBCb290c3RyYXBcbkBpbXBvcnQgXCJ2ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvdmFyaWFibGVzXCI7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEltcG9ydHMgUHJveGlhIFZhcmlhYmxlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInByb3hpYS92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJwcm94aWEvYnMzLWNvbXBhdFwiO1xuQGltcG9ydCBcInByb3hpYS9yZWFjdC92YXJpYWJsZXNcIjtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBJbXBvcnQgQm9vdHN0cmFwIE1peGluc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbkBpbXBvcnQgXCJ2ZW5kb3JzL2Jvb3RzdHJhcC9ib290c3RyYXAvbWl4aW5zXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEltcG9ydCBQcm94aWEgTWl4aW5zIChkZXNwdcOpcyBkZSBjb21wYXRpYmlsaWRhZCBiczMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInByb3hpYS9taXhpbnNcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSW1wb3J0IFByb3hpYSBSRUFDVCBlbiBtb2RvIFBvcnRhbFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0IFwicHJveGlhL3JlYWN0LXByb3hpYXBvcnRhbFwiO1xuXG5cblxuXG5cblxuIiwKCQkiLyoqXG4gKiBTb2JyZWVzY3JpdHVyYSBkZSBjaWVydG9zIGVsZW1lbnRvcyBlbiBmdW5jaW9uIGRlIHBhcmFtZXRyaXphY2lvbmVzIGRlIHByb3hpYVxuICogcG9yIGRlZmVjdG8uXG4gKi9cblxuLy8gU29icmVlc2NyaWJlLCB2ZW5kb3IvYm9vdHN0cmFwL2Jvb3RzdHJhcC9fdmFyaWFibGVzIChHbHlwaGljb25zKVxuJGljb24tZm9udC1wYXRoOiAnL2ZvbnRzL2dseXBoaWNvbnMvJztcblxuLy8gU29icmVlc2NyaWJlLCB2ZW5kb3IvZm9udC1hd2Vzb21lL192YXJpYWJsZXMgKEZvbnRhd2Vzb21lKVxuJGZhLWZvbnQtcGF0aDogJy9mb250cy9mb250LWF3ZXNvbWUnO1xuIiwKCQkiJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlcjogZmFsc2UgIWRlZmF1bHQ7XG4vL1xuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vPT0gQ29sb3JzXG4vL1xuLy8jIyBHcmF5IGFuZCBicmFuZCBjb2xvcnMgZm9yIHVzZSBhY3Jvc3MgQm9vdHN0cmFwLlxuXG5AaW1wb3J0IFwibWl4aW5zL2JzNC1jb21wYXRcIjtcblxuJGdyYXktYmFzZTogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAxMy41JSkgIWRlZmF1bHQ7IC8vICMyMjJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDIwJSkgIWRlZmF1bHQ7ICAgLy8gIzMzM1xuJGdyYXk6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpICFkZWZhdWx0OyAvLyAjNTU1XG4kZ3JheS1saWdodDogICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA0Ni43JSkgIWRlZmF1bHQ7IC8vICM3NzdcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDkzLjUlKSAhZGVmYXVsdDsgLy8gI2VlZVxuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICBkYXJrZW4oIzQyOGJjYSwgNi41JSkgIWRlZmF1bHQ7IC8vICMzMzdhYjdcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICAoKCRmb250LXNpemUtYmFzZSAqIDEuMjUpKSAhZGVmYXVsdDsgLy8gfjE4cHhcbiRmb250LXNpemUtc21hbGw6ICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICAoKCRmb250LXNpemUtYmFzZSAqIDIuNikpICFkZWZhdWx0OyAvLyB+MzZweFxuJGZvbnQtc2l6ZS1oMjogICAgICAgICAgICAoKCRmb250LXNpemUtYmFzZSAqIDIuMTUpKSAhZGVmYXVsdDsgLy8gfjMwcHhcbiRmb250LXNpemUtaDM6ICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAxLjcpKSAhZGVmYXVsdDsgLy8gfjI0cHhcbiRmb250LXNpemUtaDQ6ICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuLy8qKiBVbml0LWxlc3MgYGxpbmUtaGVpZ2h0YCBmb3IgdXNlIGluIGNvbXBvbmVudHMgbGlrZSBidXR0b25zLlxuJGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjQyODU3MTQyOSAhZGVmYXVsdDsgLy8gMjAvMTRcbi8vKiogQ29tcHV0ZWQgXCJsaW5lLWhlaWdodFwiIChgZm9udC1zaXplYCAqIGBsaW5lLWhlaWdodGApIGZvciB1c2Ugd2l0aCBgbWFyZ2luYCwgYHBhZGRpbmdgLCBldGMuXG4kbGluZS1oZWlnaHQtY29tcHV0ZWQ6ICAgICgoJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UpKSAhZGVmYXVsdDsgLy8gfjIwcHhcblxuLy8qKiBCeSBkZWZhdWx0LCB0aGlzIGluaGVyaXRzIGZyb20gdGhlIGA8Ym9keT5gLlxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgIDEuMSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcblxuXG4vLz09IEljb25vZ3JhcGh5XG4vL1xuLy8jIyBTcGVjaWZ5IGN1c3RvbSBsb2NhdGlvbiBhbmQgZmlsZW5hbWUgb2YgdGhlIGluY2x1ZGVkIEdseXBoaWNvbnMgaWNvbiBmb250LiBVc2VmdWwgZm9yIHRob3NlIGluY2x1ZGluZyBCb290c3RyYXAgdmlhIEJvd2VyLlxuXG4vLyoqIExvYWQgZm9udHMgZnJvbSB0aGlzIGRpcmVjdG9yeS5cblxuLy8gW2NvbnZlcnRlcl0gSWYgJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciBpZiB1c2VkLCBwcm92aWRlIHBhdGggcmVsYXRpdmUgdG8gdGhlIGFzc2V0cyBsb2FkIHBhdGguXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGJlY2F1c2Ugc29tZSBhc3NldCBoZWxwZXJzLCBzdWNoIGFzIFNwcm9ja2V0cywgZG8gbm90IHdvcmsgd2l0aCBmaWxlLXJlbGF0aXZlIHBhdGhzLlxuJGljb24tZm9udC1wYXRoOiBpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCBcImJvb3RzdHJhcC9cIiwgXCIuLi9mb250cy9ib290c3RyYXAvXCIpICFkZWZhdWx0O1xuXG4vLyoqIEZpbGUgbmFtZSBmb3IgYWxsIGZvbnQgZmlsZXMuXG4kaWNvbi1mb250LW5hbWU6ICAgICAgICAgIFwiZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhclwiICFkZWZhdWx0O1xuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxuJGljb24tZm9udC1zdmctaWQ6ICAgICAgICBcImdseXBoaWNvbnNfaGFsZmxpbmdzcmVndWxhclwiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29tcG9uZW50c1xuLy9cbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxuXG4kcGFkZGluZy1iYXNlLXZlcnRpY2FsOiAgICAgNnB4ICFkZWZhdWx0O1xuJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDEycHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsOiAgICAxMHB4ICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDE2cHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOiAgICA1cHggIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMTBweCAhZGVmYXVsdDtcblxuJHBhZGRpbmcteHMtdmVydGljYWw6ICAgICAgIDFweCAhZGVmYXVsdDtcbiRwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICA1cHggIWRlZmF1bHQ7XG5cbiRsaW5lLWhlaWdodC1sYXJnZTogICAgICAgICAxLjMzMzMzMzMgIWRlZmF1bHQ7IC8vIGV4dHJhIGRlY2ltYWxzIGZvciBXaW4gOC4xIENocm9tZVxuJGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgIDRweCAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICA2cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbWFsbDogICAgICAgM3B4ICFkZWZhdWx0O1xuXG4vLyoqIEdsb2JhbCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXG4kY29tcG9uZW50LWFjdGl2ZS1jb2xvcjogICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogR2xvYmFsIGJhY2tncm91bmQgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4vLyoqIFdpZHRoIG9mIHRoZSBgYm9yZGVyYCBmb3IgZ2VuZXJhdGluZyBjYXJldHMgdGhhdCBpbmRpY2F0ZSBkcm9wZG93bnMuXG4kY2FyZXQtd2lkdGgtYmFzZTogICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXG4kY2FyZXQtd2lkdGgtbGFyZ2U6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVGFibGVzXG4vL1xuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbi8vKiogUGFkZGluZyBmb3IgYDx0aD5gcyBhbmQgYDx0ZD5gcy5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGZvciBjZWxscyBpbiBgLnRhYmxlLWNvbmRlbnNlZGAuXG4kdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweCAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYWxsIHRhYmxlcy5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1zdHJpcGVkYC5cbiR0YWJsZS1iZy1hY2NlbnQ6ICAgICAgICAgICAgICAgI2Y5ZjlmOSAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cbiR0YWJsZS1iZy1ob3ZlcjogICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR0YWJsZS1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgJHRhYmxlLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGFibGUgYW5kIGNlbGwgYm9yZGVycy5cbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IEJ1dHRvbnNcbi8vXG4vLyMjIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcblxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1wcmltYXJ5LWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbigkYnRuLXN1Y2Nlc3MtYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKCRidG4taW5mby1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi13YXJuaW5nLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKCRidG4tZGFuZ2VyLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXMtYmFzZTogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICAgJGJvcmRlci1yYWRpdXMtbGFyZ2UgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbWFsbCAhZGVmYXVsdDtcblxuXG4vLz09IEZvcm1zXG4vL1xuLy8jI1xuXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXG4kaW5wdXQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgPGlucHV0IGRpc2FibGVkPmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBgPGlucHV0PmBzXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dD5gIGJvcmRlciBjb2xvclxuJGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuLy8gVE9ETzogUmVuYW1lIGAkaW5wdXQtYm9yZGVyLXJhZGl1c2AgdG8gYCRpbnB1dC1ib3JkZXItcmFkaXVzLWJhc2VgIGluIHY0XG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbi8vIFRoaXMgaGFzIG5vIGVmZmVjdCBvbiBgPHNlbGVjdD5gcyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgYDxzZWxlY3Q+YHMgaW4gQ1NTLlxuJGlucHV0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbi8vKiogTGFyZ2UgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgYm9yZGVyIHJhZGl1c1xuJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xuJGlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAgICAgIzY2YWZlOSAhZGVmYXVsdDtcblxuLy8qKiBQbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4kaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgYC5mb3JtLWNvbnRyb2xgIGhlaWdodFxuJGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgYnNfYWRkKCRsaW5lLWhlaWdodC1jb21wdXRlZCwgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgICBic19hZGQoKCRmb250LXNpemUtbGFyZ2UgKiAkbGluZS1oZWlnaHQtbGFyZ2UpLCAoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LXNtYWxsOiAgICAgICAgICAgICBic19hZGQoKCRmb250LXNpemUtc21hbGwgKiAkbGluZS1oZWlnaHQtc21hbGwpLCAoJHBhZGRpbmctc21hbGwtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuXG4vLyoqIGAuZm9ybS1ncm91cGAgbWFyZ2luXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAxNXB4ICFkZWZhdWx0O1xuXG4kbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJGxlZ2VuZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBjdXJzb3IgZm9yIGZvcm0gY29udHJvbHMgYW5kIGJ1dHRvbnMuXG4kY3Vyc29yLWRpc2FibGVkOiAgICAgICAgICAgICAgICBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuXG4vLz09IERyb3Bkb3duc1xuLy9cbi8vIyMgRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4vLyoqIEJhY2tncm91bmQgZm9yIHRoZSBkcm9wZG93biBtZW51LlxuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cbiRkcm9wZG93bi1ib3JkZXI6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjE1KSAhZGVmYXVsdDtcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYCAqKmZvciBJRTgqKi5cbiRkcm9wZG93bi1mYWxsYmFjay1ib3JkZXI6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGNvbG9yIGZvciBkcm9wZG93biBsaW5rcy5cbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbigkZ3JheS1kYXJrLCA1JSkgIWRlZmF1bHQ7XG4vLyoqIEhvdmVyIGJhY2tncm91bmQgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItYmc6ICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIHRleHQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I6ICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjogICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIERlcHJlY2F0ZWQgYCRkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXG4kZHJvcGRvd24tY2FyZXQtY29sb3I6ICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG5cbi8vLS0gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuLy9cbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxuXG4kemluZGV4LW5hdmJhcjogICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuJHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2dyb3VuZDogIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy9cbi8vIyMgRGVmaW5lIHRoZSBicmVha3BvaW50cyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSwgYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcy5cblxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14c2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXhzOiAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXG4kc2NyZWVuLXhzLW1pbjogICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tcGhvbmVgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICA3NjhweCAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1zbSAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAkc2NyZWVuLW1kICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbiAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHggIWRlZmF1bHQ7XG4kc2NyZWVuLWxnLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGctZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcblxuXG4vLz09IEdyaWQgc3lzdGVtXG4vL1xuLy8jIyBEZWZpbmUgeW91ciBjdXN0b20gcmVzcG9uc2l2ZSBncmlkLlxuXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgIDEyICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGJldHdlZW4gY29sdW1ucy4gR2V0cyBkaXZpZGVkIGluIGhhbGYgZm9yIHRoZSBsZWZ0IGFuZCByaWdodC5cbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4ICFkZWZhdWx0O1xuLy8gTmF2YmFyIGNvbGxhcHNlXG4vLyoqIFBvaW50IGF0IHdoaWNoIHRoZSBuYXZiYXIgYmVjb21lcyB1bmNvbGxhcHNlZC5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWdpbnMgY29sbGFwc2luZy5cbiRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4OiAoJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gQ29udGFpbmVyIHNpemVzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbiRjb250YWluZXItdGFibGV0OiAgICAgICAgICAgICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tc20tbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLXNtOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci10YWJsZXQgIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXG4kY29udGFpbmVyLWRlc2t0b3A6ICAgICAgICAgICAgKDk0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1tZDogICAgICAgICAgICAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICAgICAgKDExNDBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cbiRjb250YWluZXItbGc6ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLWxhcmdlLWRlc2t0b3AgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZiYXJcbi8vXG4vLyMjXG5cbi8vIEJhc2ljcyBvZiBhIG5hdmJhclxuJG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAkbGluZS1oZWlnaHQtY29tcHV0ZWQgIWRlZmF1bHQ7XG4kbmF2YmFyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSkgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgIGJzX3N1YnRyYWN0KCRuYXZiYXItaGVpZ2h0LzIsJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbGxhcHNlLW1heC1oZWlnaHQ6ICAgICAgIDM0MHB4ICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICNmOGY4ZjggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgbGlua3NcbiRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjNzc3ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJnLCA2LjUlKSAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAkbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yLCAxMCUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ib3JkZXItY29sb3I6ICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PT0gSW52ZXJ0ZWQgbmF2YmFyXG4vLyBSZXNldCBpbnZlcnRlZCBuYXZiYXIgYmFzaWNzXG4kbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xuJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWxpZ2h0LCAxNSUpICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWludmVyc2UtYmcsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICM0NDQgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgYnJhbmQgbGFiZWxcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLyBJbnZlcnRlZCBuYXZiYXIgdG9nZ2xlXG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWhvdmVyLWJnOiAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cblxuLy89PSBOYXZzXG4vL1xuLy8jI1xuXG4vLz09PSBTaGFyZWQgbmF2IHN0eWxlc1xuJG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kbmF2LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtZGlzYWJsZWQtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLz09IFRhYnNcbiRuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAkZ3JheSAhZGVmYXVsdDtcbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgI2RkZCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdi10YWJzLWp1c3RpZmllZC1hY3RpdmUtbGluay1ib3JkZXItY29sb3I6ICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuLy89PSBQaWxsc1xuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBQYWdpbmF0aW9uXG4vL1xuLy8jI1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI6ICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYm9yZGVyOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2VyXG4vL1xuLy8jI1xuXG4kcGFnZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1iZyAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJvcmRlciAhZGVmYXVsdDtcbiRwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRwYWdlci1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kcGFnZXItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kcGFnZXItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkcGFnaW5hdGlvbi1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cbiRwYWdlci1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8vPT0gSnVtYm90cm9uXG4vL1xuLy8jI1xuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWhlYWRpbmctY29sb3I6ICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU6ICAgICgoJGZvbnQtc2l6ZS1iYXNlICogNC41KSkgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgY29sb3JzIGZvciBmb3JtIGZlZWRiYWNrIHN0YXRlcyBhbmQsIGJ5IGRlZmF1bHQsIGFsZXJ0cy5cblxuJHN0YXRlLXN1Y2Nlc3MtdGV4dDogICAgICAgICAgICAgIzNjNzYzZCAhZGVmYXVsdDtcbiRzdGF0ZS1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICNkZmYwZDggIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtc3VjY2Vzcy1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG4kc3RhdGUtaW5mby10ZXh0OiAgICAgICAgICAgICAgICAjMzE3MDhmICFkZWZhdWx0O1xuJHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNyAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS1pbmZvLWJnLCAtMTApLCA3JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgICM4YTZkM2IgIWRlZmF1bHQ7XG4kc3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXdhcm5pbmctYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgI2E5NDQ0MiAhZGVmYXVsdDtcbiRzdGF0ZS1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICNmMmRlZGUgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtZGFuZ2VyLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBUb29sdGlwc1xuLy9cbi8vIyNcblxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgdGV4dCBjb2xvclxuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBiYWNrZ3JvdW5kIGNvbG9yXG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuJHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjkgIWRlZmF1bHQ7XG5cbi8vKiogVG9vbHRpcCBhcnJvdyB3aWR0aFxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIGFycm93IGNvbG9yXG4kdG9vbHRpcC1hcnJvdy1jb2xvcjogICAgICAgICAkdG9vbHRpcC1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFBvcG92ZXJzXG4vL1xuLy8jI1xuXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgbWF4aW11bSB3aWR0aFxuJHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBib3JkZXIgY29sb3JcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMikgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgZmFsbGJhY2sgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yXG4kcG9wb3Zlci10aXRsZS1iZzogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgYXJyb3cgd2lkdGhcbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgICgkcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG91dGVyIGFycm93IGNvbG9yXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICAgIGZhZGVfaW4oJHBvcG92ZXItYm9yZGVyLWNvbG9yLCAwLjA1KSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBmYWxsYmFjayBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpICFkZWZhdWx0O1xuXG5cbi8vPT0gTGFiZWxzXG4vL1xuLy8jI1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRlZmF1bHQtYmc6ICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXByaW1hcnktYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIFN1Y2Nlc3MgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIEluZm8gbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWluZm8tYmc6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLXdhcm5pbmctYmc6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXG4kbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgbGFiZWwgdGV4dCBjb2xvclxuJGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIGEgbGlua2VkIGxhYmVsXG4kbGFiZWwtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8vPT0gTW9kYWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXG4kbW9kYWwtdGl0bGUtcGFkZGluZzogICAgICAgICAxNXB4ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCB0aXRsZSBsaW5lLWhlaWdodFxuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBjb250ZW50IGFyZWFcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogTW9kYWwgY29udGVudCBib3JkZXIgY29sb3JcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMikgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXG4kbW9kYWwtY29udGVudC1mYWxsYmFjay1ib3JkZXItY29sb3I6ICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgYmFja2Ryb3Agb3BhY2l0eVxuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGhlYWRlciBib3JkZXIgY29sb3JcbiRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICNlNWU1ZTUgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1tZDogICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLXNtOiAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBBbGVydHNcbi8vXG4vLyMjIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRhbGVydC1saW5rLWZvbnQtd2VpZ2h0OiAgICAgIGJvbGQgIWRlZmF1bHQ7XG5cbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLWJnICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtdGV4dDogICAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgICRzdGF0ZS1zdWNjZXNzLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgJHN0YXRlLWluZm8tYmcgIWRlZmF1bHQ7XG4kYWxlcnQtaW5mby10ZXh0OiAgICAgICAgICAgICAkc3RhdGUtaW5mby10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tYm9yZGVyOiAgICAgICAgICAgJHN0YXRlLWluZm8tYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iZzogICAgICAgICAgICAkc3RhdGUtd2FybmluZy1iZyAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICRzdGF0ZS13YXJuaW5nLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy1ib3JkZXI6ICAgICAgICAkc3RhdGUtd2FybmluZy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1kYW5nZXItYmc6ICAgICAgICAgICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vLz09IFByb2dyZXNzIGJhcnNcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuLy8qKiBQcm9ncmVzcyBiYXIgdGV4dCBjb2xvclxuJHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogVmFyaWFibGUgZm9yIHNldHRpbmcgcm91bmRlZCBjb3JuZXJzIG9uIHByb2dyZXNzIGJhci5cbiRwcm9ncmVzcy1ib3JkZXItcmFkaXVzOiAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4vLyoqIFdhcm5pbmcgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmc6ICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci1kYW5nZXItYmc6ICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbi8vKiogSW5mbyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuXG5cbi8vPT0gTGlzdCBncm91cFxuLy9cbi8vIyNcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9uIGAubGlzdC1ncm91cC1pdGVtYFxuJGxpc3QtZ3JvdXAtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXG4kbGlzdC1ncm91cC1ib3JkZXI6ICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIExpc3QgZ3JvdXAgYm9yZGVyIHJhZGl1c1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2Ygc2luZ2xlIGxpc3QgaXRlbXMgb24gaG92ZXJcbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogQm9yZGVyIGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGVsZW1lbnRzXG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yOiAgbGlnaHRlbigkbGlzdC1ncm91cC1hY3RpdmUtYmcsIDQwJSkgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBkaXNhYmxlZCBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtbGluay1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICAkbGlzdC1ncm91cC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFuZWxzXG4vL1xuLy8jI1xuXG4kcGFuZWwtYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBhbmVsLWJvZHktcGFkZGluZzogICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItcGFkZGluZzogICAgICAgICRwYW5lbC1oZWFkaW5nLXBhZGRpbmcgIWRlZmF1bHQ7XG4kcGFuZWwtYm9yZGVyLXJhZGl1czogICAgICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xuJHBhbmVsLWlubmVyLWJvcmRlcjogICAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1mb290ZXItYmc6ICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kZWZhdWx0LXRleHQ6ICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcGFuZWwtZGVmYXVsdC1ib3JkZXI6ICAgICAgICAjZGRkICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtaGVhZGluZy1iZzogICAgI2Y1ZjVmNSAhZGVmYXVsdDtcblxuJHBhbmVsLXByaW1hcnktdGV4dDogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWJvcmRlcjogICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRwYW5lbC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtc3VjY2Vzcy1oZWFkaW5nLWJnOiAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1pbmZvLWhlYWRpbmctYmc6ICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1kYW5nZXItdGV4dDogICAgICAgICAgICRzdGF0ZS1kYW5nZXItdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItYm9yZGVyOiAgICAgICAgICRzdGF0ZS1kYW5nZXItYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgJHN0YXRlLWRhbmdlci1iZyAhZGVmYXVsdDtcblxuXG4vLz09IFRodW1ibmFpbHNcbi8vXG4vLyMjXG5cbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBpbWFnZVxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcbiR0aHVtYm5haWwtYm9yZGVyOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4vLyoqIFRodW1ibmFpbCBib3JkZXIgcmFkaXVzXG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEN1c3RvbSB0ZXh0IGNvbG9yIGZvciB0aHVtYm5haWwgY2FwdGlvbnNcbiR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjogICAgICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cbiR0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nOiAgIDlweCAhZGVmYXVsdDtcblxuXG4vLz09IFdlbGxzXG4vL1xuLy8jI1xuXG4kd2VsbC1iZzogICAgICAgICAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuJHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgZGFya2VuKCR3ZWxsLWJnLCA3JSkgIWRlZmF1bHQ7XG5cblxuLy89PSBCYWRnZXNcbi8vXG4vLyMjXG5cbiRiYWRnZS1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXG4kYmFkZ2UtbGluay1ob3Zlci1jb2xvcjogICAgICAjZmZmICFkZWZhdWx0O1xuJGJhZGdlLWJnOiAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogQmFkZ2UgdGV4dCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xuJGJhZGdlLWFjdGl2ZS1iZzogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1saW5lLWhlaWdodDogICAgICAgICAgIDEgIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQnJlYWRjcnVtYnNcbi8vXG4vLyMjXG5cbiRicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgOHB4ICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuLy8qKiBCcmVhZGNydW1iIGJhY2tncm91bmQgY29sb3JcbiRicmVhZGNydW1iLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXG4kYnJlYWRjcnVtYi1jb2xvcjogICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgY3VycmVudCBwYWdlIGluIHRoZSBicmVhZGNydW1iXG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBUZXh0dWFsIHNlcGFyYXRvciBmb3IgYmV0d2VlbiBicmVhZGNydW1iIGVsZW1lbnRzXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3I6ICAgICAgICAgIFwiL1wiICFkZWZhdWx0O1xuXG5cbi8vPT0gQ2Fyb3VzZWxcbi8vXG4vLyMjXG5cbiRjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAuNikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENsb3NlXG4vL1xuLy8jI1xuXG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgIDAgMXB4IDAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IENvZGVcbi8vXG4vLyMjXG5cbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICNjNzI1NGUgIWRlZmF1bHQ7XG4kY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjZjlmMmY0ICFkZWZhdWx0O1xuXG4ka2JkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuJHByZS1iZzogICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiRwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kcHJlLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBlXG4vL1xuLy8jI1xuXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXG4kY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsOiAxODBweCAhZGVmYXVsdDtcbi8vKiogVGV4dCBtdXRlZCBjb2xvclxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zIGJvcmRlciBjb2xvclxuJGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEhlYWRpbmdzIHNtYWxsIGNvbG9yXG4kaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogQmxvY2txdW90ZSBzbWFsbCBjb2xvclxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgZm9udCBzaXplXG4kYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgYm9yZGVyIGNvbG9yXG4kYmxvY2txdW90ZS1ib3JkZXItY29sb3I6ICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcbiRwYWdlLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4vLyoqIFdpZHRoIG9mIGhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdCB0aXRsZXNcbiRkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgICRjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWwgIWRlZmF1bHQ7XG4vLyoqIFBvaW50IGF0IHdoaWNoIC5kbC1ob3Jpem9udGFsIGJlY29tZXMgaG9yaXpvbnRhbFxuJGRsLWhvcml6b250YWwtYnJlYWtwb2ludDogICAgJGdyaWQtZmxvYXQtYnJlYWtwb2ludCAhZGVmYXVsdDtcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxuJGhyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiIsCgkJIlxuLy8gUmV0dXJuIHZhbGlkIGNhbGMgKGNvcGlhZG8gZGUgQlM0LCB0YWwgY3VhbClcbkBmdW5jdGlvbiBic19hZGQoJHZhbHVlMSwgJHZhbHVlMiwgJHJldHVybi1jYWxjOiB0cnVlKSB7XG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMjtcbiAgfVxuXG4gIEBpZiAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gJHZhbHVlMTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZTEpID09IG51bWJlciBhbmQgdHlwZS1vZigkdmFsdWUyKSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHZhbHVlMSwgJHZhbHVlMikge1xuICAgIEByZXR1cm4gJHZhbHVlMSArICR2YWx1ZTI7XG4gIH1cblxuICBAcmV0dXJuIGlmKCRyZXR1cm4tY2FsYyA9PSB0cnVlLCBjYWxjKCN7JHZhbHVlMX0gKyAjeyR2YWx1ZTJ9KSwgJHZhbHVlMSArIHVucXVvdGUoXCIgKyBcIikgKyAkdmFsdWUyKTtcbn1cblxuQGZ1bmN0aW9uIGJzX3N1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG4iLAoJCSIvKipcbiAqIFZhcmlhYmxlcyBwcmVkZWZpbmlkYXMgZGUgUHJveGlhIHBhcmEgbGEgbWFxdWV0YWNpw7NuIGRlIGRhdG9zXG4gKi9cblxuLy8vL1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cbi8vLyBBdGFqbyBkZSBsb3MgY29ydGVzIGRlIGVzY2VuYXJpb3MgKFBob25lKSAuXG4vLy8gQGV4YW1wbGVcbi8vLyAgIEBtZWRpYSAjeyR0YWJsZXR9ey4uLn1cbiRwaG9uZTogICAgICAgIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KTsgXG5cbi8vLyBBdGFqbyBkZSBsb3MgY29ydGVzIGRlIGVzY2VuYXJpb3MgKFRhYmxldCkuIFxuLy8vIEBleGFtcGxlXG4vLy8gICBAbWVkaWEgI3skdGFibGV0fXsuLi59XG4kdGFibGV0OiAgICAgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpO1xuXG4vLy8gQXRham8gZGUgbG9zIGNvcnRlcyBkZSBlc2NlbmFyaW9zIChEZXNrdG9wKS4gXG4vLy8gQGV4YW1wbGVcbi8vLyAgIEBtZWRpYSAjeyR0YWJsZXR9ey4uLn1cbiRkZXNrdG9wOiAgICAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCk7XG5cbi8vLyBBdGFqbyBkZSBsb3MgY29ydGVzIGRlIGVzY2VuYXJpb3MgKERlc2t0b3AtTGcpLiBcbi8vLyBAZXhhbXBsZVxuLy8vICAgQG1lZGlhICN7JHRhYmxldH17Li4ufVxuJGRlc2t0b3BMZzogICAgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pO1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSByYW1hIGRlIGNvbG9yIGdyaXNcbi8vLyBAdHlwZSBDb2xvclxuJGJyYW5kLWdyYXk6ICAgICAgI2YyZjJmMiFkZWZhdWx0O1xuXG4vLyRicmFuZC1wcmltYXJ5OiAgICMzMDQzODEgIWRlZmF1bHQ7IC8vIGRlZmluaWRvIHZhciB0aGVtZVxuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSByYW1hIGRlIGNvbG9yZXMgc2VjdW5kYXJpYVxuLy8vIEB0eXBlIENvbG9yXG4kYnJhbmQtc2Vjb25kYXJ5OiAjZmY0MjAwIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIHJhbWEgZGUgY29sb3JlcyB0ZXJjaWFyaWFcbi8vLyBAdHlwZSBDb2xvclxuJGJyYW5kLXRlcnRpYXJ5OiAgI2ZmZTUwMCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgZXJyb3IgZGUgbG9zIGZvcm11bGFyaW9zIFxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1lcnJvci1jb2xvcjogI2ZmZmZmZiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGUgZXJyb3IgZGUgbG9zIGZvcm11bGFyaW9zXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWVycm9yLWJnOiAgICAjZWUwMDAwICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBmdWVudGUgZXh0cmEgcGVxdWXDsWFcbi8vLyBAdHlwZSBOdW1iZXJcbiRmb250LXNpemUtc21hbGxlcjogICAgICAgICAgICAgICAgKCgkZm9udC1zaXplLWJhc2UgKiAwLjc1KSkgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWxhcmdlc3Q6ICAgICAgICAgICAgICAgICgoJGZvbnQtc2l6ZS1iYXNlICogMS41KSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBib3TDs24gc2VjdW5kYXJpbyBcbi8vLyBAdHlwZSBDb2xvclxuJGJ0bi1zZWNvbmRhcnktY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgYm90w7NuIHNlY3VuZGFyaW9cbi8vLyBAdHlwZSBDb2xvclxuJGJ0bi1zZWNvbmRhcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtc2Vjb25kYXJ5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBib3JkZSBkZWwgYm90w7NuIHNlY3VuZGFyaW9cbi8vLyBAdHlwZSBDb2xvclxuJGJ0bi1zZWNvbmRhcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1zZWNvbmRhcnktYmcsIDUlKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGJvdMOzbiB0ZXJjaWFyaW9cbi8vLyBAdHlwZSBDb2xvclxuJGJ0bi10ZXJ0aWFyeS1jb2xvcjogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCBib3TDs24gdGVyY2lhcmlvXG4vLy8gQHR5cGUgQ29sb3JcbiRidG4tdGVydGlhcnktYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtdGVydGlhcnkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGJvcmRlIGRlbCBib3TDs24gdGVyY2lhcmlvXG4vLy8gQHR5cGUgQ29sb3JcbiRidG4tdGVydGlhcnktYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi10ZXJ0aWFyeS1iZywgNSUpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgYm90w7NuIGdyaXNcbi8vLyBAdHlwZSBDb2xvclxuJGJ0bi1ncmF5LWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIGJvdMOzbiBncmlzXG4vLy8gQHR5cGUgQ29sb3JcbiRidG4tZ3JheS1iZzogICAgICAgICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBib3JkZSBkZWwgYm90w7NuIGdyaXNcbi8vLyBAdHlwZSBDb2xvclxuJGJ0bi1ncmF5LWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tZ3JheS1iZywgNSUpICFkZWZhdWx0O1xuXG5cblxuLy8vIE1hcmdlbiBxdWUgdGVuZW1vcyBlbnRyZSBkaXN0aW50b3MgZWxlbWVudG9zIGRlbCBzaXN0ZW1hXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGFsZkd1dHRlcjogZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKSAhZGVmYXVsdDtcblxuLy8vIE1hcmdlbiBxdWUgdGVuZW1vcyBlbnRyZSBkaXN0aW50b3MgZWxlbWVudG9zIGRlbCBzaXN0ZW1hXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3BhY2UtZ3V0dGVyOiRoYWxmR3V0dGVyICFkZWZhdWx0O1xuXG4vLy8gRXNwYWNpYWRvIG3DrW5pbW8gZW50cmUgZWxlbWVudG9zIHF1ZSByZXByZXNlbnRhbW9zIGVuIG1vZG8gaW5saW5lLWJsb2NrXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc6IDZweCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgYm9yZGUgcXVlIHNlcGFyYSBkaXN0aW50b3MgZWxlbWVudG9zIGRlbCBzaXN0ZW1hXG4vLy8gQHR5cGUgQ29sb3JcbiRzZXBhcmF0aW9uLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8vIFNhbmdyaWEgZGVsIG1hcmdlbiBcbi8vLyBAdHlwZSBOdW1iZXJcbiRpbmRlbnQtbWFyZ2luOiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoICogNCkgLyAzKSAhZGVmYXVsdDtcblxuLy8vIE1hcmdlbiBob3Jpem9udGFsIGRlIGxhIGltYWdlbiBkZSB1biBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbWFnZS1tYXJnaW4taG9yaXpvbnRhbDogJGhhbGZHdXR0ZXIgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnZW4gdmVydGljYWwgZGUgbGEgaW1hZ2VuIGRlIHVuIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGltYWdlLW1hcmdpbi12ZXJ0aWNhbDogZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAqIDIpIC8gMykgIWRlZmF1bHQ7XG5cbi8vLyBBbmNobyBkZSBsYSBpbWFnZW4gZW4gbGEgcGxhbnRpbGxhIGRlIGxpc3RhZG8gY29uIGltYWdlbiBhbGluZWFkYSBhIGxhIGl6ZGEgbyBkY2hhXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHRtbGxpc3RpbWFnZS13aWR0aDogMjUlICFkZWZhdWx0OyBcblxuLy8vIEVzcGFjaWFkbyBlbnRyZSBsYSBpbWFnZW4geSBlbCB0ZXh0byBlbiBsYSBwbGFudGlsbGEgZGUgbGlzdGFkbyBjb24gaW1hZ2VuIGFsaW5lYWRhIGEgbGEgaXpkYSBvIGRjaGFcbi8vLyBAdHlwZSBOdW1iZXJcbiRodG1sbGlzdGltYWdlLWd1dHRlcjogJGhhbGZHdXR0ZXIgIWRlZmF1bHQ7IFxuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZSBsYXMgY29va2llc1xuLy8vIEB0eXBlIENvbG9yXG4kY29va2llcy1iZy1jb2xvcjogICAgcmdiYSgkYnRuLXByaW1hcnktYmcgLCAwLjg1KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbGFzIGNvb2tpZXNcbi8vLyBAdHlwZSBDb2xvclxuJGNvb2tpZXMtdGV4dC1jb2xvcjogIHJnYmEoJGJ0bi1wcmltYXJ5LWNvbG9yLCAwLjgpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgYm90b24gZGUgbGFzIGNvb2tpZXNcbi8vLyBAdHlwZSBDb2xvclxuJGNvb2tpZXMtYnRuLWJnLWNvbG9yOiBsaWdodGVuKCRjb29raWVzLWJnLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgYm90b24gZGUgbGFzIGNvb2tpZXNcbi8vLyBAdHlwZSBDb2xvclxuJGNvb2tpZXMtYnRuLXRleHQtY29sb3I6ICRidG4tcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIFNsaWRlclxuLy8vIEB0eXBlIENvbG9yXG4kc2xpZGVyLWNvbnRyb2wtYmc6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBTbGlkZXJcbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1jb250cm9sLWNvbG9yOiAgICAgICAgI0ZGRiAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gdXNhZG8gcGFyYSBsb3MgZG90cyBkZSBuYXZlZ2FjacOzbiBkZWwgU2xpZGVyXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWNvbnRyb2wtZG90U21hbGw6ICAgIDIwcHggIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIHVzYWRvIHBhcmEgZWwgY29udGVuZWRvciBkZSBsb3MgZG90cyBkZSBuYXZlZ2FjaW9uIGRlbCBTbGlkZXJcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItY29udHJvbC1kb3Q6ICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gdXNhZG8gcGFyYSBsYXMgZmxlY2hhcyBkZSBuYXZlZ2FjacOzbiBkZWwgU2xpZGVyXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWFycm93cy1zaXplOiAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZ3JhbmRlIHBhcmEgbGFzIGZsZWNoYXMgZGUgbmF2ZWdhY2nDs24gZGVsIFNsaWRlclxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1iaWctYXJyb3dzLXNpemU6ICAgICRzbGlkZXItYXJyb3dzLXNpemUgKiAyICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgU2xpZGVyXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItdGV4dC1jb2xvcjogICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZSBsYXMgZmxlY2hhcyBkZSBuYXZlZ2FjacOzbiBkZWwgU2xpZGVyXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItYXJyb3dzLWJnOiAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhcyBmbGVjaGFzIGRlIG5hdmVnYWNpw7NuIGRlbCBTbGlkZXJcbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1hcnJvd3MtY29sb3I6ICAgICAgICByZ2JhKDIyMCwgMjE2LCAyMTYsIDAuODgpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgYm90w7NuIFNjcm9sbCB0byBUb3AgXG4vLy8gQHR5cGUgQ29sb3JcbiR0by10b3AtYmctY29sb3I6ICMwMDAgICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBpY29ubyBkZWwgYm90w7NuIFNjcm9sbCB0byBUb3Bcbi8vLyBAdHlwZSBDb2xvclxuJHRvLXRvcC1pY29uLWNvbG9yOiAjRkZGICAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGVsIGJvcmRlci1yYWRpb3VzIGRlbCBib3TDs24gU2Nyb2xsIHRvIFRvcFxuLy8vIEB0eXBlIE51bWJlclxuJHRvLXRvcC1iLXJhZGl1czogNTAlICAhZGVmYXVsdDtcblxuLy8vIEJvcmRlIGRlbCBib3TDs24gU2Nyb2xsIHRvIFRvcFxuLy8vIEB0eXBlIE51bWJlclxuJHRvLXRvcC1ib3JkZXI6IDFweCBzb2xpZCAjMDAwICAhZGVmYXVsdDtcblxuLy8vIEhhYmlsaXRhIGxhIGFuaW1hY2nDs24gZGVsIGJvdMOzbiBTY3JvbGwgdG8gVG9wXG4vLy8gQHR5cGUgYm9vbFxuJHRvLXRvcC1hbmltYXRpb24tcm90YXRlLWVuYWJsZWQ6IHRydWUgICFkZWZhdWx0O1xuXG4vLy8gRGF0b3MgYsOhc2ljb3MgcXVlIHNvbiBjb21wYXJ0aWRvcyBwb3IgdG9kb3MgbG9zIGxpc3RhZG9zLCBwZXJvIHF1ZSBjb252aWVuZSBpbmRpY2FyIGFxdWkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29udGVudExpc3RJY29uRm9udEZhbWlseTogJycgIWRlZmF1bHQ7XG5cbi8vLyBEYXRvcyBiw6FzaWNvcyBxdWUgc29uIGNvbXBhcnRpZG9zIHBvciB0b2RvcyBsb3MgbGlzdGFkb3MsIHBlcm8gcXVlIGNvbnZpZW5lIGluZGljYXIgYXF1aS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb250ZW50TGlzdEljb25QYWRkaW5nOiAkaGFsZkd1dHRlciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbG9zIGVubGFjZXMgaW50ZXJub3MgZGUgcHJveGlhIChzZSByZXByZXNlbnRhbiBzaWVtcHJlIGVuIGVsIGNvbG9yIGRlbCB0ZXh0b1xuLy8vIHkgY29uIGludmVyc28gZWwgZGUgbGEgbWFyY2EsIGF1bnF1ZSBwdWVkZW4gbW9kaWZpY2Fyc2UgYSBuaXZlbCBkZSBpdGVtIGluZGl2aWR1YWwgYXPDrSBlcyBtw6FzIGZhY2lsIGhhY2VybG8pXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm94aWEtbGlua3MtY29sb3I6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGhvdmVyIGVuIGxvcyBlbmxhY2VzIGludGVybm9zIGRlIHByb3hpYSAoc2UgcmVwcmVzZW50YW4gc2llbXByZSBlbiBlbCBjb2xvciBkZWwgdGV4dG9cbi8vLyB5IGNvbiBpbnZlcnNvIGVsIGRlIGxhIG1hcmNhLCBhdW5xdWUgcHVlZGVuIG1vZGlmaWNhcnNlIGEgbml2ZWwgZGUgaXRlbSBpbmRpdmlkdWFsIGFzw60gZXMgbcOhcyBmYWNpbCBoYWNlcmxvKVxuLy8vIEB0eXBlIENvbG9yXG4kcHJveGlhLWxpbmtzLWNvbG9yLWhvdmVyOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGVsIHTDrXR1bG8gZW4gdW4gbGlnaHRib3hcbi8vLyBAdHlwZSBOdW1iZXJcbiRsaWdodGJveC10aXRsZS1mb250LXNpemU6ICRmb250LXNpemUtaDMgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlbCBjdWVycG8gZW4gdW4gbGlnaHRib3hcbi8vLyBAdHlwZSBOdW1iZXJcbiRsaWdodGJveC1ib2R5LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgdMOtdHVsbyBlbiB1biBsaWdodGJveFxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHRib3gtdGl0bGUtYmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCBmb290ZXIgZW4gdW4gbGlnaHRib3hcbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0Ym94LWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIHTDrXR1bG8gZW4gdW4gbGlnaHRib3hcbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0Ym94LXRpdGxlLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGZvb3RlciBlbiB1biBsaWdodGJveFxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHRib3gtZm9vdGVyLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGJvdMOzbiBlbiB1biBsaWdodGJveFxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHRib3gtYnV0dG9uLWNvbG9yOiB3aGl0ZSBkYXJrZW4oJGxpZ2h0Ym94LWZvb3Rlci1iYWNrZ3JvdW5kLWNvbG9yLDMwJSkgIWRlZmF1bHQ7XG5cbi8vLyBFc3BhY2lhZG8gZW50cmUgY29tcG9uZW50ZXMgKE1hcmdpbilcbi8vLyBAdHlwZSBOdW1iZXJcbiRibG9jay1tYXJnaW46IDAgMCAkaGFsZkd1dHRlciAhZGVmYXVsdDtcblxuLy8vIEVzcGFjaWFkbyBlbnRyZSBjb21wb25lbnRlcyAoUGFkZGluZylcbi8vLyBAdHlwZSBOdW1iZXJcbiRibG9jay1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZWwgY29tcG9uZW50ZSBkZSBtaWdhcyBkZSBwYW5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1iLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgRmFtaWx5IHBhcmEgZWwgc2VwYXJhZG9yIGRlbCBjb21wb25lbnRlIGRlIG1pZ2FzIGRlIHBhbiAoUG9yIGRlZmVjdG8gbm8gdGVuZW1vcyBmYW1pbGlhIGRlIGZ1ZW50ZXMgcGFyYSBlbCBzZXBhcmFkb3IpXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3ItZm9udC1mYW1pbHk6ICcnICFkZWZhdWx0OyBcblxuLy8vIEljb25vIHBhcmEgbGEgaG9tZSBkZSBGb250LUF3ZXNvbWUgcGFyYSBlbCBjb21wb25lbnRlIGRlIG1pZ2FzIGRlIHBhblxuLy8vIEB0eXBlIFN0cmluZ1xuJGJyZWFkY3J1bWItaG9tZS1pY29uOiAnXFxmMDE1JyAhZGVmYXVsdDtcblxuLy8vIEZhbWlsaWEgZGVsIGljb25vIHBhcmEgbGEgaG9tZSBwYXJhIGVsIGNvbXBvbmVudGUgZGUgbWlnYXMgZGUgcGFuIChQb3IgZGVmZWN0byBwb25lbW9zIGVsIGljb25vIHBhcmEgbGEgSE9NRSBkZSBmb250LWF3ZXNvbWUpXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnJlYWRjcnVtYi1ob21lLWljb24tZmFtaWx5OiBGb250QXdlc29tZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGVsIHNlcGFyYWRvciBkZWwgY29tcG9uZW50ZSBkZSBtaWdhcyBkZSBwYW4gKFBvciBzaSBxdWVyZW1vcyBwaXNhciBlbCBwYWRkaW5nIGRlbCBzZXBhcmFkb3IpXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3ItcGFkZGluZzogMCAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcgIWRlZmF1bHQ7IFxuXG4vLy8gSWNvbm8gZGVsIHNlcGFyYWRvciBwYXJhIGVsIGNvbXBvbmVudGUgZGUgbWlnYXMgZGUgcGFuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnJlYWRjcnVtYi1zZXBhcmF0b3ItaWNvbjogXCJ8XCIgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBtaWdhcyBkZSBwYW5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWItaXRlbS1jb2xvcjogJHByb3hpYS1saW5rcy1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGhvdmVyIGVuIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBtaWdhcyBkZSBwYW5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWItaXRlbS1jb2xvci1ob3ZlcjogJHByb3hpYS1saW5rcy1jb2xvci1ob3ZlciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIGNvbXBvbmVudGUgZGUgYmxvcXVlcyBkZSBzZXJ2aWNpb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kY29udGVudC1zZXJ2aWNlcy1iZy1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCBjb21wb25lbnRlIGRlIGJsb3F1ZXMgZGUgc2VydmljaW9zIGRlbCBjb250ZW5pZG8gY3VhbmRvIGVzdGEgYWN0aXZvXG4vLy8gQHR5cGUgQ29sb3JcbiRjb250ZW50LXNlcnZpY2VzLWFjdGl2ZS1iZy1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBjb21wb25lbnRlIGRlIGJsb3F1ZXMgZGUgc2VydmljaW9zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBDb2xvclxuJGNvbnRlbnQtc2VydmljZXMtY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBjb21wb25lbnRlIGRlIGJsb3F1ZXMgZGUgc2VydmljaW9zIGRlbCBjb250ZW5pZG8gY3VhbmRvIGVzdGEgYWN0aXZvXG4vLy8gQHR5cGUgQ29sb3JcbiRjb250ZW50LXNlcnZpY2VzLWFjdGl2ZS1jb2xvcjogJHByb3hpYS1saW5rcy1jb2xvci1ob3ZlciAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZ3JhbmRlIGRlIGxldHJhIHBhcmEgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGJsb3F1ZXMgZGUgc2VydmljaW9zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb250ZW50LXNlcnZpY2VzLWl0ZW0tZm9udC1sYXJnZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBwZXF1ZcOxbyBkZSBsZXRyYSBwYXJhIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBibG9xdWVzIGRlIHNlcnZpY2lvcyBkZWwgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kY29udGVudC1zZXJ2aWNlcy1pdGVtLWZvbnQtc21hbGw6ICRmb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG5cbi8vLyBBbmNobyBncmFuZGUgZGVsIGNvbnRlbmVkb3IgZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGJsb3F1ZXMgZGUgc2VydmljaW9zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb250ZW50LXNlcnZpY2VzLWl0ZW0tbGFyZ2UtYm94LXdpZHRoOiAyLjUqJGNvbnRlbnQtc2VydmljZXMtaXRlbS1mb250LWxhcmdlICFkZWZhdWx0O1xuXG4vLy8gQW5jaG8gcGVxdWXDsW8gZGVsIGNvbnRlbmVkb3IgZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGJsb3F1ZXMgZGUgc2VydmljaW9zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb250ZW50LXNlcnZpY2VzLWl0ZW0tc21hbGwtYm94LXdpZHRoOiAyKiRjb250ZW50LXNlcnZpY2VzLWl0ZW0tZm9udC1zbWFsbCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlIHBhcmEgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGJsb3F1ZXMgZGUgc2VydmljaW9zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRjb250ZW50LXNlcnZpY2VzLWl0ZW0tYm9yZGVyOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBpY29ubyBSU1MgZGVsIGNvbXBvbmVudGUgZGUgYmxvcXVlcyBkZSBzZXJ2aWNpb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kY29udGVudC1zZXJ2aWNlcy1yc3MtY29sb3I6ICNmODk5MWQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBpY29ubyBQREYgZGVsIGNvbXBvbmVudGUgZGUgYmxvcXVlcyBkZSBzZXJ2aWNpb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kY29udGVudC1zZXJ2aWNlcy1wZGYtY29sb3I6ICNjYjA2MDYgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlIGxhIG1hcXVldGFjacOzbiBkZSBsb3MgY29udGVuaWRvcyBhIHRyYXbDqXMgZGUgc3VzIHBsYW50aWxsYXMgZXNwZWNpYWxlc1xuLy8vIEB0eXBlIE51bWJlclxuJHRlbXBsYXRpbmctZmVhdHVyZXMtZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZWwgbWFyZ2luLXRvcCBkZSBsYSBtYXF1ZXRhY2nDs24gZGUgbG9zIGNvbnRlbmlkb3MgYSB0cmF2w6lzIGRlIHN1cyBwbGFudGlsbGFzIGVzcGVjaWFsZXNcbi8vLyBAdHlwZSBOdW1iZXJcbiR0ZW1wbGF0aW5nLWZlYXR1cmVzLW1hcmdpbi10b3A6ICRoYWxmR3V0dGVyLzIgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCB0w610dWxvIGRlIGxhIG1hcXVldGFjacOzbiBkZSBsb3MgY29udGVuaWRvcyBhIHRyYXbDqXMgZGUgc3VzIHBsYW50aWxsYXMgZXNwZWNpYWxlc1xuLy8vIEB0eXBlIENvbG9yXG4kdGVtcGxhdGluZy1mZWF0dXJlcy10aXRsZS1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIFRyYW5zZm9ybWFjacOzbiBkZWwgdMOtdHVsbyBkZSBsYSBtYXF1ZXRhY2nDs24gZGUgbG9zIGNvbnRlbmlkb3MgYSB0cmF2w6lzIGRlIHN1cyBwbGFudGlsbGFzIGVzcGVjaWFsZXNcbiR0ZW1wbGF0aW5nLWZlYXR1cmVzLXRpdGxlLXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgY29sdW1uYXMgZGUgbGFzIHN1YnNlY2Npb25lcyBkZSBsYSBtYXF1ZXRhY2nDs24gZGUgbG9zIGNvbnRlbmlkb3MgYSB0cmF2w6lzIGRlIHN1cyBwbGFudGlsbGFzIGVzcGVjaWFsZXNcbi8vLyBAdHlwZSBOdW1iZXJcbiR0ZW1wbGF0aW5nLXN1YnNlY3Rpb24tY29sdW1uczogMiAhZGVmYXVsdDtcblxuLy8vIFBlc28gZGVsIHTDrXR1bG8gZGUgbGFzIHN1YnNlY2Npb25lcyBkZSBsYSBtYXF1ZXRhY2nDs24gZGUgbG9zIGNvbnRlbmlkb3MgYSB0cmF2w6lzIGRlIHN1cyBwbGFudGlsbGFzIGVzcGVjaWFsZXNcbi8vLyBAdHlwZSBOdW1iZXJcbiR0ZW1wbGF0aW5nLXN1YnNlY3Rpb24tdGl0bGUtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgdMOtdHVsbyBkZSBsYXMgc3Vic2VjY2lvbmVzIGRlIGxhIG1hcXVldGFjacOzbiBkZSBsb3MgY29udGVuaWRvcyBhIHRyYXbDqXMgZGUgc3VzIHBsYW50aWxsYXMgZXNwZWNpYWxlc1xuLy8vIEB0eXBlIENvbG9yXG4kdGVtcGxhdGluZy1zdWJzZWN0aW9uLXRpdGxlLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNmb3JtYWNpw7NuIGRlbCB0w610dWxvIGRlIGxhcyBzdWJzZWNjaW9uZXMgZGUgbGEgbWFxdWV0YWNpw7NuIGRlIGxvcyBjb250ZW5pZG9zIGEgdHJhdsOpcyBkZSBzdXMgcGxhbnRpbGxhcyBlc3BlY2lhbGVzXG4kdGVtcGxhdGluZy1zdWJzZWN0aW9uLXRpdGxlLXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIGNvbXBvbmVudGUgZGUgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kc3ViY29udGVudHMtYmxvY2stYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlbCBtYXJnZW4gZGVsIGNvbXBvbmVudGUgZGUgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJHN1YmNvbnRlbnRzLWJsb2NrLW1hcmdpbjogJGJsb2NrLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGVsIHBhZGRpbmcgZGVsIGNvbXBvbmVudGUgZGUgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlciBcbiRzdWJjb250ZW50cy1ibG9jay1wYWRkaW5nOiAkYmxvY2stcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBzdWJjb250ZW5pZG9zIGFsIGhhY2VyIGhvdmVyXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJjb250ZW50cy1ibG9jay1pdGVtLWNvbG9yLWhvdmVyOiAkcHJveGlhLWxpbmtzLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHRvcCBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgc3ViY29udGVuaWRvc1xuJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tYm9yZGVyLXRvcDogMXB4ICRncmF5LWxpZ2h0IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZWwgcGFkZGluZyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tcGFkZGluZzogJGhhbGZHdXR0ZXIgMCAkaGFsZkd1dHRlciAwICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZWwgbWFyZ2VuIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViY29udGVudHMtYmxvY2staXRlbS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBwYXJhIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uOiAgJz4nICFkZWZhdWx0O1xuXG4vLy8gRnVlbnRlIGRlbCBpY29ubyBlbiBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbi1mb250OiAkY29udGVudExpc3RJY29uRm9udEZhbWlseSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbi1jb2xvcjogJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uLXBhZGRpbmc6ICRjb250ZW50TGlzdEljb25QYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZWwgY2F0ZWdvcml6YWRvciBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXRlZ29yaXplci1ibG9jay1wYWRkaW5nOiAkc3ViY29udGVudHMtYmxvY2stcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGUgbG9zIGl0ZW1zIGRlbCBjYXRlZ29yaXphZG9yIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGNhdGVnb3JpemVyLWJsb2NrLWl0ZW0tcGFkZGluZzogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIE1hcmdlbiBkZWwgY2F0ZWdvcml6YWRvciBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXRlZ29yaXplci1jYXRlZ29yeS1tYXJnaW46IDBweCAhZGVmYXVsdDsgXG5cbi8vLyBQYWRkaW5nIGRlIGxhIGNhdGVnb3JpYSBkZWwgY2F0ZWdvcml6YWRvciBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRjYXRlZ29yaXplci1jYXRlZ29yeS1wYWRkaW5nOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcgIWRlZmF1bHQ7IFxuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZSBsYSBjYXRlZ29yaWEgZGVsIGNhdGVnb3JpemFkb3IgZGVudHJvIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXRlZ29yaXplci1jYXRlZ29yeS1iYWNrZ3JvdW5kOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8vIENvbW8gc2UgbXVlc3RyYSBsYXMgY2F0ZWdvcmlhcyBkZWwgY2F0ZWdvcml6YWRvciBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3NcbiRjYXRlZ29yaXplci1jYXRlZ29yeS1kaXNwbGF5OiBibG9jayAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGUgbGFzIGNhdGVnb3JpYXMgZGVsIGNhdGVnb3JpemFkb3IgZGVudHJvIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2F0ZWdvcml6ZXItY2F0ZWdvcnktZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbi8vLyBFc3RpbG8gZGVsIGJvcmRlIGRlIGxhcyBjYXRlZ29yaWFzIGRlbCBjYXRlZ29yaXphZG9yIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuJGNhdGVnb3JpemVyLWNhdGVnb3J5LWJvcmRlci1zdHlsZTogbm9uZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGRlbCBib3JkZSBkZSBsYXMgY2F0ZWdvcmlhcyBkZWwgY2F0ZWdvcml6YWRvciBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJGNhdGVnb3JpemVyLWNhdGVnb3J5LWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBBbmNobyBkZWwgYm9yZGUgZGUgbGFzIGNhdGVnb3JpYXMgZGVsIGNhdGVnb3JpemFkb3IgZGVudHJvIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2F0ZWdvcml6ZXItY2F0ZWdvcnktYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZSBsYXMgY2F0ZWdvcmlhcyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLXBhZGRpbmc6IDBweCAwcHggMHB4ICRoYWxmR3V0dGVyICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLWl0ZW0tY29sb3I6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgZGUgbG9zIHN1YmNvbnRlbmlkb3MgY3VhbmRvIHNlIGhhY2UgaG92ZXJcbi8vLyBAdHlwZSBDb2xvclxuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLWl0ZW0tY29sb3ItaG92ZXI6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHRvcCBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgZGUgbG9zIHN1YmNvbnRlbmlkb3NcbiRzdWJjb250ZW50cy1jYXRlZ29yeS1ibG9jay1pdGVtLWJvcmRlci10b3A6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWJvcmRlci10b3AgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJHN1YmNvbnRlbnRzLWNhdGVnb3J5LWJsb2NrLWl0ZW0tcGFkZGluZzogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJjb250ZW50cy1jYXRlZ29yeS1ibG9jay1pdGVtLW1hcmdpbjogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gZGUgbG9zIGl0ZW1zIGRlIGxhcyBjYXRlZ29yaWFzIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViY29udGVudHMtY2F0ZWdvcnktYmxvY2staXRlbS1pY29uOiAgJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbiAhZGVmYXVsdDtcblxuLy8vIEZ1ZW50ZSBkZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlIGxhcyBjYXRlZ29yaWFzIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViY29udGVudHMtY2F0ZWdvcnktYmxvY2staXRlbS1pY29uLWZvbnQ6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tZm9udCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kc3ViY29udGVudHMtY2F0ZWdvcnktYmxvY2staXRlbS1pY29uLWNvbG9yOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlIGxhcyBjYXRlZ29yaWFzIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViY29udGVudHMtY2F0ZWdvcnktYmxvY2staXRlbS1pY29uLXBhZGRpbmc6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tcGFkZGluZyAhZGVmYXVsdDtcblxuXG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCBjb21wb25lbnRlIGRlIGF1dG9yZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJGF1dG9yZWxhdGVkLWJsb2NrLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2VuIGRlbCBjb21wb25lbnRlIGRlIGF1dG9yZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvcmVsYXRlZC1ibG9jay1tYXJnaW46ICRibG9jay1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlbCBjb21wb25lbnRlIGRlIGF1dG9yZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvcmVsYXRlZC1ibG9jay1wYWRkaW5nOiAkYmxvY2stcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGF1dG9yZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0tY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBhdXRvcmVsYWNpb25hZG9zIGN1YW5kbyBzZSBoYWNlIGhvdmVyXG4vLy8gQHR5cGUgQ29sb3JcbiRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLWNvbG9yLWhvdmVyOiAkcHJveGlhLWxpbmtzLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHRvcCBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgYXV0b3JlbGFjaW9uYWRvc1xuJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0tYm9yZGVyLXRvcDogMHB4ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgYXV0b3JlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0tcGFkZGluZzogJGhhbGZHdXR0ZXIgMCAkaGFsZkd1dHRlciAwICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2VuIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBhdXRvcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgYXV0b3JlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIFN0cmluZ1xuJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0taWNvbjogICcnICFkZWZhdWx0O1xuXG4vLy8gRnVlbnRlIGRlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgYXV0b3JlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIFN0cmluZ1xuJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0taWNvbi1mb250OiAkY29udGVudExpc3RJY29uRm9udEZhbWlseSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBhdXRvcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgQ29sb3JcbiRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLWljb24tY29sb3I6ICRncmF5LWRhcmsgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzYWRvIHBhcmEgZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGF1dG9yZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLWljb24tcGFkZGluZzogJGNvbnRlbnRMaXN0SWNvblBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlbCBjYXRlZ29yaXphZG9yIGF1dG9yZWxhY2lvbmFkbyBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvcmVsYXRlZC1jYXRlZ29yaXplci1ibG9jay1wYWRkaW5nOiAkYXV0b3JlbGF0ZWQtYmxvY2stcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGUgbG9zIGl0ZW1zIGRlbCBjYXRlZ29yaXphZG9yIGF1dG9yZWxhY2lvbmFkbyBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvcmVsYXRlZC1jYXRlZ29yaXplci1ibG9jay1pdGVtLXBhZGRpbmc6ICRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnZW4gZGUgbGFzIGNhdGVnb3JpYXMgZGVsIGNhdGVnb3JpemFkb3IgYXV0b3JlbGFjaW9uYWRvIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWNhdGVnb3JpemVyLWNhdGVnb3J5LW1hcmdpbjogMHB4ICFkZWZhdWx0OyBcblxuLy8vIFBhZGRpbmcgZGUgbGFzIGNhdGVnb3JpYXMgZGVsIGNhdGVnb3JpemFkb3IgYXV0b3JlbGFjaW9uYWRvIGRlbnRybyBkZSBsb3Mgc3ViY29udGVuaWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWNhdGVnb3JpemVyLWNhdGVnb3J5LXBhZGRpbmc6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAhZGVmYXVsdDsgXG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlIGxhcyBjYXRlZ29yaWFzIGRlbCBjYXRlZ29yaXphZG9yIGF1dG9yZWxhY2lvbmFkbyBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJGF1dG9yZWxhdGVkLWNhdGVnb3JpemVyLWNhdGVnb3J5LWJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQ29tbyBzZSBtdWVzdHJhbiBsYXMgY2F0ZWdvcmlhcyBkZWwgY2F0ZWdvcml6YWRvciBhdXRvcmVsYWNpb25hZG8gZGVudHJvIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcml6ZXItY2F0ZWdvcnktZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XG5cbi8vLyBFc3RpbG8gZGVsIGJvcmRlIGRlIGxhcyBjYXRlZ29yaWFzIGRlbCBjYXRlZ29yaXphZG9yIGF1dG9yZWxhY2lvbmFkbyBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3NcbiRhdXRvcmVsYXRlZC1jYXRlZ29yaXplci1jYXRlZ29yeS1ib3JkZXItc3R5bGU6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGJvcmRlIGRlIGxhcyBjYXRlZ29yaWFzIGRlbCBjYXRlZ29yaXphZG9yIGF1dG9yZWxhY2lvbmFkbyBkZW50cm8gZGUgbG9zIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJGF1dG9yZWxhdGVkLWNhdGVnb3JpemVyLWNhdGVnb3J5LWJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZSBkZSBsYXMgY2F0ZWdvcmlhcyBkZWwgY2F0ZWdvcml6YWRvciBhdXRvcmVsYWNpb25hZG8gZGVudHJvIGRlIGxvcyBzdWJjb250ZW5pZG9zXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcml6ZXItY2F0ZWdvcnktYm9yZGVyOiAwICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZSBsYXMgY2F0ZWdvcmlhcyBhdXRvcmVsYWNpb25hZGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcnktYmxvY2stcGFkZGluZzogMHB4IDBweCAwcHggJGhhbGZHdXR0ZXIgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBpdGVtcyBkZSBsYXMgY2F0ZWdvcmlhcyBhdXRvcmVsYWNpb25hZGFzXG4vLy8gQHR5cGUgQ29sb3JcbiRhdXRvcmVsYXRlZC1jYXRlZ29yeS1ibG9jay1pdGVtLWNvbG9yOiAkYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGl0ZW1zIGRlIGxhcyBjYXRlZ29yaWFzIGF1dG9yZWxhY2lvbmFkYXMgY3VhbmRvIHNlIGhhY2UgaG92ZXJcbi8vLyBAdHlwZSBDb2xvclxuJGF1dG9yZWxhdGVkLWNhdGVnb3J5LWJsb2NrLWl0ZW0tY29sb3ItaG92ZXI6ICRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHRvcCBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgYXV0b3JlbGFjaW9uYWRhc1xuJGF1dG9yZWxhdGVkLWNhdGVnb3J5LWJsb2NrLWl0ZW0tYm9yZGVyLXRvcDogJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0tYm9yZGVyLXRvcCAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGUgbG9zIGl0ZW1zIGRlIGxhcyBjYXRlZ29yaWFzIGF1dG9yZWxhY2lvbmFkYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvcmVsYXRlZC1jYXRlZ29yeS1ibG9jay1pdGVtLXBhZGRpbmc6ICRhdXRvcmVsYXRlZC1ibG9jay1pdGVtLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gZGUgbG9zIGl0ZW1zIGRlIGxhcyBjYXRlZ29yaWFzIGF1dG9yZWxhY2lvbmFkYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvcmVsYXRlZC1jYXRlZ29yeS1ibG9jay1pdGVtLW1hcmdpbjogJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0tbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gZGUgbG9zIGl0ZW1zIGRlIGxhcyBjYXRlZ29yaWFzIGF1dG9yZWxhY2lvbmFkYXNcbi8vLyBAdHlwZSBTdHJpbmcgXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcnktYmxvY2staXRlbS1pY29uOiAgJGF1dG9yZWxhdGVkLWJsb2NrLWl0ZW0taWNvbiAhZGVmYXVsdDtcblxuLy8vIEZ1ZW50ZSBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgYXV0b3JlbGFjaW9uYWRhc1xuLy8vIEB0eXBlIFN0cmluZ1xuJGF1dG9yZWxhdGVkLWNhdGVnb3J5LWJsb2NrLWl0ZW0taWNvbi1mb250OiAkYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1pY29uLWZvbnQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgYXV0b3JlbGFjaW9uYWRhc1xuLy8vIEB0eXBlIENvbG9yXG4kYXV0b3JlbGF0ZWQtY2F0ZWdvcnktYmxvY2staXRlbS1pY29uLWNvbG9yOiAkYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1pY29uLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZSBsb3MgaXRlbXMgZGUgbGFzIGNhdGVnb3JpYXMgYXV0b3JlbGFjaW9uYWRhc1xuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9yZWxhdGVkLWNhdGVnb3J5LWJsb2NrLWl0ZW0taWNvbi1wYWRkaW5nOiAkYXV0b3JlbGF0ZWQtYmxvY2staXRlbS1pY29uLXBhZGRpbmcgIWRlZmF1bHQ7XG4gXG4vLy8gQmxvcXVlIGRlIHZhcmlhYmxlcyByZWxhY2lvbmFkYXMgY29uIGVsIG1hcGEgV2ViOiBcbi8vLyBcbi8vLyAgICAgYmxvY2stcGFkZGluZzogICAgICAgICAgRWwgcGFkZGluZyBkZWwgbWFwYSB3ZWJcbi8vLyAgICAgYmxvY2staXRlbS1mb250LXNpemU6ICAgRWwgdGFtYcOxbyBkZSBmdWVudGUgZGUgY2FkYSBlbGVtZW50b1xuLy8vICAgICBibG9jay1pdGVtLWNvbG9yOiAgICAgICBFbCBjb2xvciBkZSBsYSBmdWVudGUgZGUgY2FkYSBlbGVtZW50b1xuLy8vICAgICBibG9jay1pdGVtLWNvbG9yLWhvdmVyOiBFbCBjb2xvciBkZSBsYSBmdWVudGUgZGUgY2FkYSBlbGVtZW50byBjdWFuZG8gc2UgaGFjZSBob3ZlclxuLy8vICAgICBibG9jay1pdGVtLWJvcmRlci10b3A6ICBFbCBib3JkZSBzdXBlcmlvciBkZSBjYWRhIGVsZW1lbnRvXG4vLy8gICAgIGJsb2NrLWl0ZW0tcGFkZGluZzogICAgIEVsIG1hcmdlbiBpbnRlcmlvciBkZSBjYWRhIGVsZW1lbnRvXG4vLy8gICAgIGJsb2NrLWl0ZW0tbWFyZ2luOiAgICAgIEVsIG1hcmdlbiBkZSBjYWRhIGVsZW1lbnRvXG4vLy8gICAgIHRpdGxlLWljb246ICAgICAgICAgICAgIEVsIGljb25vIGRlbCB0w610dWxvIGRlbCBtYXBhIHdlYlxuLy8vICAgICB0aXRsZS1pY29uLWZvbnQ6ICAgICAgICBMYSBmdWVudGUgZGVsIGljb25vIGRlbCB0w610dWxvXG4vLy8gICAgIHRpdGxlLWljb24tcGFkZGluZzogICAgIEVsIG1hcmdlbiBpbnRlcmlvciBkZWwgaWNvbm8gZGVsIHTDrXR1bG9cbi8vLyAgICAgdGl0bGUtbWFyZ2luOiAgICAgICAgICAgRWwgbWFyZ2VuIGRlbCB0w610dWxvXG4vLy8gICAgIHRpdGxlLWJhY2tncm91bmQ6ICAgICAgIEVsIGNvbG9yIGRlbCBmb25kbyBkZWwgdMOtdHVsb1xuLy8vICAgICB0aXRsZS1wYWRkaW5nOiAgICAgICAgICBFbCBtYXJnZW4gaW50ZXJpb3IgZGVsIHTDrXR1bG9cbi8vLyAgICAgdGl0bGUtZGlzcGxheTogICAgICAgICAgTGEgZm9ybWEgZW4gbGEgcXVlIHNlIHZhIGEgbW9zdHJhciBlbCB0w610dWxvXG4vLy8gICAgIHRpdGxlLWJvcmRlci1zdHlsZTogICAgIEVsIGVzdGlsbyBkZWwgYm9yZGUgZGVsIHTDrXR1bG8gZGVsIG1hcGEgd2ViXG4vLy8gICAgIHRpdGxlLWJvcmRlci1jb2xvcjogICAgIEVsIGNvbG9yIGRlbCBib3JkZSBkZWwgdMOtdHVsb1xuLy8vICAgICB0aXRsZS1ib3JkZXI6ICAgICAgICAgICBFbCB0aXBvIGRlIGJvcmRlIHF1ZSB0ZW5kcmEgZWwgdMOtdHVsb1xuLy8vICAgICBcbi8vLyBAdHlwZSBNYXBcbiRzaXRlbWFwLWxldmVsMTogKFxuICAgIGJsb2NrLXBhZGRpbmc6IDBweCAwcHggMHB4ICRoYWxmR3V0dGVyLFxuICAgIGJsb2NrLWl0ZW0tZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UsXG4gICAgYmxvY2staXRlbS1jb2xvcjogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tY29sb3IsXG4gICAgYmxvY2staXRlbS1jb2xvci1ob3ZlcjogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tY29sb3ItaG92ZXIsXG4gICAgYmxvY2staXRlbS1ib3JkZXItdG9wOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1ib3JkZXItdG9wLFxuICAgIGJsb2NrLWl0ZW0tcGFkZGluZzogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tcGFkZGluZyxcbiAgICBibG9jay1pdGVtLW1hcmdpbjogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0tbWFyZ2luLFxuICAgIHRpdGxlLWljb246ICAkc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uLFxuICAgIHRpdGxlLWljb24tZm9udDogJHN1YmNvbnRlbnRzLWJsb2NrLWl0ZW0taWNvbi1mb250LFxuICAgIHRpdGxlLWljb24tY29sb3I6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tY29sb3IsXG4gICAgdGl0bGUtaWNvbi1wYWRkaW5nOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uLXBhZGRpbmcsXG4gICAgdGl0bGUtbWFyZ2luOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcgMHB4ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAwcHgsXG4gICAgdGl0bGUtYmFja2dyb3VuZDogdHJhbnNwYXJlbnQsXG4gICAgdGl0bGUtcGFkZGluZzogMHB4LFxuICAgIHRpdGxlLWRpc3BsYXk6IGJsb2NrLFxuICAgIHRpdGxlLWJvcmRlci1zdHlsZTogbm9uZSxcbiAgICB0aXRsZS1ib3JkZXItY29sb3I6IHRyYW5zcGFyZW50LFxuICAgIHRpdGxlLWJvcmRlcjogMHB4XG4pICFkZWZhdWx0O1xuXG4vLy8gQmxvcXVlIGRlIHZhcmlhYmxlcyByZWxhY2lvbmFkYXMgY29uIGVsIG1hcGEgV2ViIDJcbiRzaXRlbWFwLWxldmVsMjogJHNpdGVtYXAtbGV2ZWwxICFkZWZhdWx0O1xuXG4vLy8gQmxvcXVlIGRlIHZhcmlhYmxlcyByZWxhY2lvbmFkYXMgY29uIGVsIG1hcGEgV2ViIDNcbiRzaXRlbWFwLWxldmVsMzogJHNpdGVtYXAtbGV2ZWwyICFkZWZhdWx0O1xuXG4vLy8gQmxvcXVlIGRlIHZhcmlhYmxlcyByZWxhY2lvbmFkYXMgY29uIGVsIG1hcGEgV2ViIDRcbiRzaXRlbWFwLWxldmVsNDogJHNpdGVtYXAtbGV2ZWwzICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZWwgY2FsZW5kYXJpbyBcbi8vLyBAdHlwZSBib29sIHwgTnVtYmVyXG4kY2FsZW5kYXItbW9udGhldmVudGJsb2NrLXNpemU6ICgneHMnOjEyLCdzbSc6NiwnbWQnOjYsJ2xnJzo3KSAhZGVmYXVsdDtcblxuLy8vIFJhdGlvIGRlIGxhcyBjb2x1bW5hcyBkZWwgY2FsZW5kYXJpbyBcbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxlbmRhci1jZWxsLWFzcGVjdC1yYXRpbzogMS4zICFkZWZhdWx0O1xuXG4vLy8gQWxpbmVhbWllbnRvIGRlIGxhIGNvbHVtbmEgZGVsIGRpYSBkZWwgY2FsZW5kYXJpb1xuJGNhbGVuZGFyLWNlbGwtZGF5LWFsaWduOiBtaWRkbGUgY2VudGVyICFkZWZhdWx0O1xuXG4vLy8gTG9zIGTDrWFzIHB1ZWRlbiBwcmVzZW50YXJzZSBkZSB2YXJpYXMgZm9ybWFzLlxuLy8vIGEpIETDrWEgYWN0aXZvLi4uIFxuLy8vICAgICogQ29uIHVuIGNvbG9yIGRlIGZvbmRvIGVzcGVjaWFsXG4vLy8gICAgKiBDb24gdW4gY29sb3IgZGUgbGV0cmEgZXNwZWNpYWxcbi8vLyAgICAqIEVudnVlbHRvIGVuIHVuIGNpcmN1bG9cbi8vL1xuLy8vIGIpIETDrWEgZmVzdGl2by4uLlxuLy8vICAgICogQ29uIHVuIGNvbG9yIGRlIGZvbmRvIGVzcGVjaWFsXG4vLy8gICAgKiBDb24gdW4gY29sb3IgZGUgbGV0cmEgZXNwY2lhbFxuLy8vICAgICogRW52dWVsdG8gZW4gdW4gY2lyY3Vsb1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBtYXJjYXIgZWwgZGlhIGFjdHVhbCBkZWwgY2FsZW5kYXJpb1xuLy8vIEB0eXBlIENvbG9yXG4kY2FsZW5kYXItY3VycmVudGRheTogJGJyYW5kLXByaW1hcnkgd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBSb2RlYXIgY29uIHVuIGNpcmN1bG8gZWwgZGlhIGFjdHVhbFxuLy8vIEB0eXBlIGJvb2xcbiRjYWxlbmRhci1jdXJyZW50ZGF5LWVuY2lyY2xlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBlbiBlbCBjYWxlbmRhcmlvIHBhcmEgbWFyY2FyIHVuIGRpYSBkZSB2YWNhY2lvbmVzXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxlbmRhci1ob2xpZGF5OiB0cmFuc3BhcmVudCByZWQgIWRlZmF1bHQ7XG5cbi8vLyBSb2RlYXIgY29uIHVuIGNpcmN1bG8gdW4gZGlhIGRlIHZhY2FjaW9uZXNcbi8vLyBAdHlwZSBib29sXG4kY2FsZW5kYXItaG9saWRheS1lbmNpcmNsZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGRpYSBlbiBlbCBxdWUgb2N1cnJhIHVuIGV2ZW50byAoRWwgZMOtYSBkZWwgZXZlbnRvIHB1ZWRlIGNvbXBvcnRhcnNlIGlndWFsLCB0ZW5lciB1biBjb2xvciBkZSBmb25kbyB0ZW5lciB1biBjaXJjdWxvLCB1biBjb2xvciB5IGFkZW3DoXMgZGViZW1vcyBwb2RlciBhc29jaWFyIGRpc3RpbnRvcyBlc3RpbG9zIGFsIGVsZW1lbnRvIGNvbW8gdW4gaWNvbm8gZGUgZXZlbnRvIGRlIGNhbGVuZGFyaW8gcGFyYSBxdWUgc2Ugc2VwYSBxdWUgaGF5IGFsZ28pXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxlbmRhci1ldmVudDogJGJyYW5kLXNlY29uZGFyeSB3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFJvZGVhciBjb24gdW4gY2lyY3VsbyB1biBkaWEgZW4gZWwgcXVlIGhheWEgdW4gZXZlbnRvIChFbCBkw61hIGRlbCBldmVudG8gcHVlZGUgY29tcG9ydGFyc2UgaWd1YWwsIHRlbmVyIHVuIGNvbG9yIGRlIGZvbmRvIHRlbmVyIHVuIGNpcmN1bG8sIHVuIGNvbG9yIHkgYWRlbcOhcyBkZWJlbW9zIHBvZGVyIGFzb2NpYXIgZGlzdGludG9zIGVzdGlsb3MgYWwgZWxlbWVudG8gY29tbyB1biBpY29ubyBkZSBldmVudG8gZGUgY2FsZW5kYXJpbyBwYXJhIHF1ZSBzZSBzZXBhIHF1ZSBoYXkgYWxnbylcbi8vLyBAdHlwZSBib29sXG4kY2FsZW5kYXItZXZlbnQtZW5jaXJjbGVkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gcGFyYSB1biBkaWEgZW4gZWwgcXVlIG9jdXJyYSB1biBldmVudG8gZW4gZWwgY2FsZW5kYXJpbyAoRWwgZMOtYSBkZWwgZXZlbnRvIHB1ZWRlIGNvbXBvcnRhcnNlIGlndWFsLCB0ZW5lciB1biBjb2xvciBkZSBmb25kbyB0ZW5lciB1biBjaXJjdWxvLCB1biBjb2xvciB5IGFkZW3DoXMgZGViZW1vcyBwb2RlciBhc29jaWFyIGRpc3RpbnRvcyBlc3RpbG9zIGFsIGVsZW1lbnRvIGNvbW8gdW4gaWNvbm8gZGUgZXZlbnRvIGRlIGNhbGVuZGFyaW8gcGFyYSBxdWUgc2Ugc2VwYSBxdWUgaGF5IGFsZ28pXG4kY2FsZW5kYXItZXZlbnQtaWNvbjogRm9udEF3ZXNvbWUgJ1xcZjI3NCcgJGZvbnQtc2l6ZS1zbWFsbGVyICFkZWZhdWx0O1xuXG4vLyBPcGFjaWRhZCBkZSBsb3MgZGlhcyBxdWUgbm8gc29uIGRlbCBtZXMgKExvcyBkw61hcyBxdWUgbm8gc29uIGRlbCBtZXMgdGllbmVuIHVuYSBvcGFjaWRhZCBkZXRlcm1pbmFkYSlcbiRjYWxlbmRhci1vdGhlcmRheXMtb3BhY2l0aXk6IDAuNSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlIGludGVybm8gZGUgbGFzIGNvbHVtbmFzIGRlbCBjYWxlbmRhcmlvXG4vLy8gQHR5cGUgYm9vbFxuJGNhbGVuZGFyLWNlbGxzLWlubmVyLWJvcmRlcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlIGV4dGVyaW9yIGRlbCBjYWxlbmRhcmlvIFxuLy8vIEB0eXBlIGJvb2xcbiRjYWxlbmRhci1vdXRlci1ib3JkZXI6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlIGxhIGNhYmVjZXJhIGRlbCBjYWxlbmRhcmlvXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxlbmRhci1oZWFkZXItYmdjb2xvcjogJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgYm9yZGUgZGVsIGNhbGVuZGFyaW9cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGVuZGFyLWJvcmRlci1jb2xvcjogICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZWwgYm9yZGUgcmFkaW91cyBkZWwgY2FsZW5kYXJpb1xuLy8vIEB0eXBlIE51bWJlclxuJGNhbGVuZGFyLWJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBiYXNlIGRlbCBjYWxlbmRhcmlvXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsZW5kYXItZm9udC1zaXplLWJhc2U6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciB0b3AgZGUgdW4gZGlhIGRlIGNhbGVuZGFyaW8gY29uIGV2ZW50b1xuJGNhbGVuZGFyLWluZXZlbnQtYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjYWxlbmRhci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNhbGVuZGFyaW8gY29uIGV2ZW50b1xuLy8vIEB0eXBlIFN0cmluZ1xuJGNhbGVuZGFyLWluZXZlbnQtYmxvY2staXRlbS1pY29uOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1pY29uICFkZWZhdWx0O1xuXG4vLy8gRnVlbnRlIGRlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNhbGVuZGFyaW8gY29uIGV2ZW50b1xuLy8vIEB0eXBlIFN0cmluZ1xuJGNhbGVuZGFyLWluZXZlbnQtYmxvY2staXRlbS1pY29uLWZvbnQ6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tZm9udCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGljb25vcyBkZSBsb3MgaXRlbXMgZGVsIGNhbGVuZGFyaW8gY29uIGV2ZW50b1xuLy8vIEB0eXBlIENvbG9yXG4kY2FsZW5kYXItaW5ldmVudC1ibG9jay1pdGVtLWljb24tY29sb3I6ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLWljb24tY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNhbGVuZGFyaW8gY29uIGV2ZW50b1xuLy8vIEB0eXBlIE51bWJlclxuJGNhbGVuZGFyLWluZXZlbnQtYmxvY2staXRlbS1pY29uLXBhZGRpbmc6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGUgbG9zIGRpYXMgZGUgY2FsZW5kYXJpbyBjb24gZXZlbnRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsZW5kYXItaW5ldmVudC1ibG9jay1mb250LXNpemU6ICRmb250LXNpemUtc21hbGxlciAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgZGltZW5zaW9uZXMgZGVsIGN1Ym8gZGl2aWRpZW5kbyBlbnRyZSBsYSBudWJlIGRlIGV0aXF1ZXRhcyB5IGxvcyBkYXRvcyBmw61zaWNvcyBhc29jaWFkb3NcbiRvbGFwY2FsZW5kYXItY2xvdWQtc2l6ZTogKCd4cyc6MTIsJ3NtJzoyLCdtZCc6MywnbGcnOjIpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgcG9yIGRlZmVjdG8gZGUgbG9zIGNvbXBvbmVudGVzIGRlIGJhbm5lcnMgY3VhbmRvIHNlIGhhY2UgaG92ZXJcbi8vLyBAdHlwZSBDb2xvclxuJGJhbm5lci1jb2xvci1ob3ZlcjogJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLyBPcGNpb25lcyBwYXJhIGVsIGJvdMOzbiBkZSBtb3N0cmFyIG1hcyBkZSB1biBiYW5uZXI6XG4vLy8gXG4vLy8gICAgIHRleHQtY29sb3I6ICAgICAgICAgRWwgY29sb3IgZGUgbGEgZnVlbnRlIGRlbCBib3TDs25cbi8vLyAgICAgYmctY29sb3I6ICAgICAgICAgICBFbCBjb2xvciBkZSBmb25kbyBkZWwgYm90w7NuXG4vLy8gICAgIGZvbnQtc2l6ZTogICAgICAgICAgRWwgdGFtYcOxbyBkZSBsZXRyYSBiYXNlIGRlbCBib3TDs25cbi8vLyAgICAgYm9yZGVyLXJhZGl1czogICAgICBFbCByZWRvbmRlbyBkZWwgY29udG9ybm8gZGVsIGJvdMOzblxuLy8vICAgICBpY29uLWNvbnRlbnQ6ICAgICAgIEVsIGljb25vIHF1ZSBzZSB2YSBhIHVzYXIgYXNvY2lhZG8gYWwgYm90w7NuXG4vLy8gICAgIGljb24tZm9udC1mYW1pbHk6ICAgRWwgdGlwbyBkZSBmYW1pbGlhIGRlbCBpY29ubyBhc29jaWFkbyBhbCBib3TDs25cbi8vLyAgICAgaWNvbi1wb3NpdGlvbjogICAgICBMYSBwb3NpY2nDs24gZG9uZGUgc2UgcGludGFyYSBlbCBpY29ubyAoYWZ0ZXIgbyBiZWZvcmUpXG4vLy8gICAgIFxuLy8vIEB0eXBlIE1hcCAgICAgXG4kYmFubmVyLXNob3dtb3JlLWJ1dHRvbjogKFxuICAgIHRleHQtY29sb3I6ICRidG4tcHJpbWFyeS1jb2xvcixcbiAgICBiZy1jb2xvcjogJGJyYW5kLXByaW1hcnksXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UsXG4gICAgYm9yZGVyLXJhZGl1czogJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UsXG4gICAgaWNvbi1jb250ZW50OiAnXFxmMDU0JyxcbiAgICBpY29uLWZvbnQtZmFtaWx5OiBGb250QXdlc29tZSxcbiAgICBpY29uLXBvc2l0aW9uOiAncmlnaHQnXG4pICFkZWZhdWx0O1xuXG4vLy8gQW5jaG8gcG9yIGRlZmVjdG8gZGUgbGEgaW1hZ2VuIGNvbiB0ZXh0byBkZWwgYmFubmVyXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFubmVyLXdpdGgtdGV4dC1kZWZhdWx0LWltYWdlLXdpZHRoOiA1MCUgIWRlZmF1bHQ7XG5cbi8vLyBBbHR1cmEgcG9yIGRlZmVjdG8gZGUgbG9zIGNvbXBvbmVudGVzIGRlIGJhbm5lclxuLy8vIEB0eXBlIE51bWJlclxuJGJhbm5lci1iZWxvdy1kZWZhdWx0LWhlaWdodDogMTMwcHggIWRlZmF1bHQ7XG5cblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgYmFzZSBkZWwgY29tcG9uZW50ZSBkZSByZWN1cnNvcyBkZWwgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzb3VyY2VzLWJsb2NrLWZvbnQtc2l6ZS1iYXNlOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBDb2xvclxuJHJlc291cmNlcy1ibG9jay1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8vIE1hcmdlbiBkZWwgY29tcG9uZW50ZSBkZSByZWN1cnNvcyBkZWwgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzb3VyY2VzLWJsb2NrLW1hcmdpbjogJGJsb2NrLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGVsIGNvbXBvbmVudGUgZGUgcmVjdXJzb3MgZGVsIGNvbnRlbmlkb1xuJHJlc291cmNlcy1ibG9jay1wYWRkaW5nOiAkYmxvY2stcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgdMOtdHVsbyBkZWwgY29tcG9uZW50ZSBkZSByZWN1cnNvcyBkZWwgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXNvdXJjZXMtYmxvY2stdGl0bGUtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBpdGVtIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBDb2xvclxuJHJlc291cmNlcy1ibG9jay1pdGVtLWNvbG9yOiAkcHJveGlhLWxpbmtzLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgaXRlbSBkZWwgY29tcG9uZW50ZSBkZSByZWN1cnNvcyBkZWwgY29udGVuaWRvIGN1YW5kbyBzZSBoYWNlIGhvdmVyXG4kcmVzb3VyY2VzLWJsb2NrLWl0ZW0tY29sb3ItaG92ZXI6ICRwcm94aWEtbGlua3MtY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgdG9wIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSByZWN1cnNvcyBkZWwgY29udGVuaWRvXG4kcmVzb3VyY2VzLWJsb2NrLWl0ZW0tYm9yZGVyLXRvcDogMHB4ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgcmVjdXJzb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJHJlc291cmNlcy1ibG9jay1pdGVtLXBhZGRpbmc6ICRzdWJjb250ZW50cy1ibG9jay1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2VuIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSByZWN1cnNvcyBkZWwgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVzb3VyY2VzLWJsb2NrLWl0ZW0tbWFyZ2luOiAkc3ViY29udGVudHMtYmxvY2stbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBTdHJpbmdcbiRyZXNvdXJjZXMtYmxvY2staXRlbS1pY29uOiAnJyAhZGVmYXVsdDtcblxuLy8vIEZ1ZW50ZSBkZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBTdHJpbmdcbiRyZXNvdXJjZXMtYmxvY2staXRlbS1pY29uLWZvbnQ6ICRjb250ZW50TGlzdEljb25Gb250RmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgaWNvbm8gZGVsIGNvbXBvbmVudGUgZGUgcmVjdXJzb3MgZGVsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kcmVzb3VyY2VzLWJsb2NrLWl0ZW0taWNvbi1jb2xvcjogJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHJlY3Vyc29zIGRlbCBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNvdXJjZXMtYmxvY2staXRlbS1pY29uLXBhZGRpbmc6IDBweCAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgYmFzZSBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJHJlbGF0ZWQtYmxvY2stZm9udC1zaXplLWJhc2U6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIGNvbXBvbmVudGUgZGUgY29udGVuaWRvcyByZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJHJlbGF0ZWQtYmxvY2stYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnZW4gZGVsIGNvbXBvbmVudGUgZGUgY29udGVuaWRvcyByZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRyZWxhdGVkLWJsb2NrLW1hcmdpbjogJGJsb2NrLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGVsIGNvbXBvbmVudGUgZGUgY29udGVuaWRvcyByZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRyZWxhdGVkLWJsb2NrLXBhZGRpbmc6ICRibG9jay1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCB0w610dWxvIGRlbCBjb21wb25lbnRlIGRlIGNvbnRlbmlkb3MgcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgQ29sb3JcbiRyZWxhdGVkLWJsb2NrLXRpdGxlLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgaXRlbSBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIENvbG9yXG4kcmVsYXRlZC1ibG9jay1pdGVtLWNvbG9yOiAkcHJveGlhLWxpbmtzLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgaXRlbSBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvcyBjdWFuZG8gc2UgaGFjZSBob3ZlclxuLy8vIEB0eXBlIENvbG9yXG4kcmVsYXRlZC1ibG9jay1pdGVtLWNvbG9yLWhvdmVyOiAkcHJveGlhLWxpbmtzLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHRvcCBkZWwgaXRlbSBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuJHJlbGF0ZWQtYmxvY2staXRlbS1ib3JkZXItdG9wOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJHJlbGF0ZWQtYmxvY2staXRlbS1wYWRkaW5nOiAkc3ViY29udGVudHMtYmxvY2staXRlbS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2VuIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIE51bWJlclxuJHJlbGF0ZWQtYmxvY2staXRlbS1tYXJnaW46ICRzdWJjb250ZW50cy1ibG9jay1pdGVtLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEljb25vIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIFN0cmluZ1xuJHJlbGF0ZWQtYmxvY2staXRlbS1pY29uOiAnPicgIWRlZmF1bHQ7XG5cbi8vLyBGdWVudGUgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZSBjb250ZW5pZG9zIHJlbGFjaW9uYWRvc1xuLy8vIEB0eXBlIFN0cmluZ1xuJHJlbGF0ZWQtYmxvY2staXRlbS1pY29uLWZvbnQ6ICRjb250ZW50TGlzdEljb25Gb250RmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGVsIGNvbXBvbmVudGUgZGUgY29udGVuaWRvcyByZWxhY2lvbmFkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJHJlbGF0ZWQtYmxvY2staXRlbS1pY29uLWNvbG9yOiAkZ3JheS1kYXJrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZWwgaWNvbm8gZGUgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIGNvbnRlbmlkb3MgcmVsYWNpb25hZG9zXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmVsYXRlZC1ibG9jay1pdGVtLWljb24tcGFkZGluZzogJGNvbnRlbnRMaXN0SWNvblBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBtZW51c1xuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1jb2xvcjogJycgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBtZW51cyBjdWFuZG8gc2UgaGFjZSBob3ZlclxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1jb2xvci1ob3ZlcjogJHByb3hpYS1saW5rcy1jb2xvci1ob3ZlciAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgY29sdW1uYXMgZGUgbG9zIHN1Ym1lbnVzXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3VibWVudS1jb2xzOiAyICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gZGUgbG9zIHN1Ym1lbnVzXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3VibWVudS1pY29uOiAnPicgIWRlZmF1bHQ7XG5cbi8vLyBGdWVudGUgZGVsIGljb25vIGRlIGxvcyBzdWJtZW51c1xuLy8vIEB0eXBlIFN0cmluZ1xuJHN1Ym1lbnUtaWNvbi1mb250OiAnJyAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgaWNvbm8gZGUgbG9zIHN1Ym1lbnVzXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3VibWVudS1pY29uLWNvbG9yOiAnJyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGVsIGljb25vIGRlIGxvcyBzdWJtZW51c1xuLy8vIEB0eXBlIE51bWJlclxuJHN1Ym1lbnUtaWNvbi1wYWRkaW5nOiAkaGFsZkd1dHRlciAhZGVmYXVsdDtcblxuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgdMOtdHVsbyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBDb2xvclxuJGFic3RyYWN0LWJsb2NrLXRpdGxlLWNvbG9yOiAkcHJveGlhLWxpbmtzLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgdMOtdHVsbyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG8gY3VhbmRvIHNlIGhhY2UgaG92ZXJcbi8vLyBAdHlwZSBDb2xvclxuJGFic3RyYWN0LWJsb2NrLXRpdGxlLWNvbG9yLWhvdmVyOiAkcHJveGlhLWxpbmtzLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZWwgdMOtdHVsbyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRhYnN0cmFjdC1ibG9jay10aXRsZS1zaXplOiAkZm9udC1zaXplLWgxICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZWwgdMOtdHVsbyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRhYnN0cmFjdC1ibG9jay10aXRsZS1wYWRkaW5nOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBNYXJnZW4gZGVsIHTDrXR1bG8gZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWJzdHJhY3QtYmxvY2stdGl0bGUtbWFyZ2luOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlbCB0w610dWxvIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kYWJzdHJhY3QtYmxvY2stdGl0bGUtYmdjb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlbCB0w610dWxvIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0tdGl0bGUtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZSAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgbGluZWFzIGRlbCB0w610dWxvIGRlIGxvcyBzdWJjb250ZW5pZG8gZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtaXRlbS10aXRsZS1saW5lczogMyAhZGVmYXVsdDtcblxuLy8vIE1hcmdlbiBkZWwgY29udGVuaWRvIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0tY29udGVudC1tYXJnaW46ICRoYWxmR3V0dGVyICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZWwgY29udGVuaWRvIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0tY29udGVudC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbi8vLyBOw7ptZXJvIGRlIGxpbmVhcyBkZWwgY29udGVuaWRvIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0tY29udGVudC1saW5lczogNiAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGVsIFwiTWFzIGluZm9cIiBkZSBsb3Mgc3ViY290ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLW1vcmVpbmZvLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIFwiTWFzIGluZm9cIiBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBDb2xvclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLW1vcmVpbmZvLWNvbG9yOiAkYWJzdHJhY3QtYmxvY2stdGl0bGUtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBcIk1hcyBpbmZvXCIgZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvIGN1YW5kbyBzZSBoYWNlIGhvdmVyXG4vLy8gQHR5cGUgQ29sb3JcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1tb3JlaW5mby1jb2xvci1ob3ZlcjogJGFic3RyYWN0LWJsb2NrLXRpdGxlLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBkZWwgXCJNYXMgaW5mb1wiIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtbW9yZWluZm8tYmdjb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlbCBcIk1hcyBpbmZvXCIgZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtbW9yZWluZm8tcGFkZGluZzogMHB4ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2VuIGRlbCBcIk1hcyBpbmZvXCIgZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtbW9yZWluZm8tbWFyZ2luOiAkaGFsZkd1dHRlciAwIDAgMCAhZGVmYXVsdDtcblxuLy8vIEljb25vIGRlIFwiTWFzIGluZm9cIiBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBTdHJpbmdcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1tb3JlaW5mby1pY29uLWNvbnRlbnQ6ICdcXGYwNTQnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZGVsIGljb25vIGRlIFwiTWFzIGluZm9cIiBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBTdHJpbmdcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1tb3JlaW5mby1pY29uLWZvbnQtZmFtaWx5OiBGb250QXdlc29tZSAhZGVmYXVsdDtcblxuLy8vIFBvc2ljacOzbiBkZWwgaWNvbm8gZGUgXCJNYXMgaW5mb1wiICBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBTdHJpbmdcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1tb3JlaW5mby1pY29uLXBvc2l0aW9uOiAncmlnaHQnICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1wYWRkaW5nOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBNYXJnZW4gZGUgbG9zIGl0ZW1zIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIE51bWJlclxuJGFic3RyYWN0LWJsb2NrLXN1YmNvbnRlbnRzLWl0ZW0tbWFyZ2luOiAwcHggIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGRlIGxvcyBpdGVtcyBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1pdGVtLXBhZGRpbmc6IDBweCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGl0ZW1zIGRlIGxvcyBzdWJjb250ZW5pZG9zIGRlbCBjb21wb25lbnRlIGRlIGVubGFjZSBhIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtaXRlbS1jb2xvcjogJGFic3RyYWN0LWJsb2NrLXRpdGxlLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsb3MgaXRlbXMgZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvIGN1YW5kbyBzZSBoYWNlIGhvdmVyXG4vLy8gQHR5cGUgQ29sb3JcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1pdGVtLWNvbG9yLWhvdmVyOiAkYWJzdHJhY3QtYmxvY2stdGl0bGUtY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgdG9wIGRlIGxvcyBpdGVtcyBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1pdGVtLWJvcmRlci10b3A6IDBweCAhZGVmYXVsdDtcblxuLy8vIEljb25vIGRlIGxvcyBpdGVtcyBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBTdHJpbmdcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1pdGVtLWljb246ICcnICFkZWZhdWx0O1xuXG4vLy8gRnVlbnRlIGRlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWJzdHJhY3QtYmxvY2stc3ViY29udGVudHMtaXRlbS1pY29uLWZvbnQ6ICcnICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBpY29ubyBkZSBsb3MgaXRlbXMgZGUgbG9zIHN1YmNvbnRlbmlkb3MgZGVsIGNvbXBvbmVudGUgZGUgZW5sYWNlIGEgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1pdGVtLWljb24tY29sb3I6ICRhYnN0cmFjdC1ibG9jay10aXRsZS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZSBsb3Mgc3ViY29udGVuaWRvcyBkZWwgY29tcG9uZW50ZSBkZSBlbmxhY2UgYSBjb250ZW5pZG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRhYnN0cmFjdC1ibG9jay1zdWJjb250ZW50cy1pdGVtLWljb24tcGFkZGluZzogJGNvbnRlbnRMaXN0SWNvblBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBWYXJpYWJsZSBwYXJhIGluZGljYXIgc2kgc2UgbXVlc3RyYW4gbG9zIGljb25vcyBkZSBkaXJlY2Npb24gbyBub1xuLy8vIEB0eXBlIGJvb2xcbiRhZGRyZXNzLXNob3ctaWNvbnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBGdWVudGUgZGVsIGljb25vIGRlIGRpcmVjY2nDs25cbi8vLyBAdHlwZSBTdHJpbmdcbiRhZGRyZXNzLWljb24tZm9udDogJ0ZvbnRBd2Vzb21lJyAhZGVmYXVsdDtcblxuLy8vIEljb25vIGRlIGVtYWlsIGFsIGluZGljYXIgZGF0b3MgZGUgZGlyZWNjacOzblxuLy8vIEB0eXBlIFN0cmluZ1xuJGFkZHJlc3MtaWNvbi1lbWFpbDogJ1xcZjBlMCcgIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBkZSB3ZWIgYWwgaW5kaWNhciBkYXRvcyBkZSBkaXJlY2Npw7NuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWRkcmVzcy1pY29uLXdlYjogJ1xcZjBjMScgIWRlZmF1bHQ7XG5cbi8vLyBJY29ubyBkZSB0ZWxlZm9ubyBhbCBpbmRpY2FyIGRhdG9zIGRlIGRpcmVjY2nDs25cbi8vLyBAdHlwZSBTdHJpbmdcbiRhZGRyZXNzLWljb24tcGhvbmU6ICdcXGYwOTUnICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gZGUgZmF4IGFsIGluZGljYXIgZGF0b3MgZGUgZGlyZWNjacOzblxuLy8vIEB0eXBlIFN0cmluZ1xuJGFkZHJlc3MtaWNvbi1mYXg6ICdcXGYxYWMnICFkZWZhdWx0O1xuXG4vLy8gSWNvbm8gZGUgbW92aWwgYWwgaW5kaWNhciBkYXRvcyBkZSBkaXJlY2Npw7NuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWRkcmVzcy1pY29uLW1vYmlsZTogJ1xcZjEwYicgIWRlZmF1bHQ7XG5cbi8vLyBBbHR1cmEgZGVsIGNvbXBvbmVudGUgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRtYXBzLWhlaWdodDogNDAwcHggIWRlZmF1bHQ7XG5cbi8vLyBMYSBmb3JtYSBlbiBsYSBxdWUgYXBhcmVjZW4gbGFzIG9wY2lvbmVzIGVuIG1vZG8gZW1iZWJpZG8gZGVsIGNvbXBvbmVudGUgZGUgbWFwYXMgKHNlIGVzcGVjaWZpY2Fcbi8vLyB1biBtYXBhIGluZGV4YWRvIHBvciBsYSByZXNvbHVjacOzbiAoeHMsIHNtLCBtZCwgbGcpIHkgcGFyYSBjYWRhIHVubyBcbi8vLyB1biBwYXIgZWwgcHJpbWVybyBlbCB0YW1hw7FvIGRlbCBibG9xdWUgZGUgbWFwYSB5IGVsIHNlZ3VuZG8gZGUgb3BjaW9uZXMpLlxuLy8vIFxuLy8vICAgICB4czogRGlzcG9zaXRpdm9zIGV4dHJhIHBlcXVlw7FvcyAgKFRlbGVmb25vKTtcbi8vLyAgICAgc206IERpc3Bvc2l0aXZvcyBwZXF1ZcOxb3MgKFRhYmxldHMpO1xuLy8vICAgICBtZDogRGlzcG9zaXRpdm9zIG1lZGlvcyAoTW9uaXRvcmVzKTtcbi8vLyAgICAgbGc6IERpc3Bvc2l0aXZvcyBncmFuZGVzIChNb25pdG9yZXMgPiAxMjAwcHgpO1xuLy8vICAgICBcbi8vLyBAdHlwZSBNYXBcbiRtYXBzLW9wdGlvbnMtZGlzcG9zaXRpb246ICgneHMnOiAoMTIsMTIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzbSc6ICgxMiwxMiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21kJzogKDYsNiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2xnJzogKDgsNCkpICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZWwgdMOtdHVsbyBkZSBsYSB2ZW50YW5hIGRlIGluZm9ybWFjacOzbiBlbiBlbCBjb21wb25lbnRlIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyIFxuJG1hcHMtaW5mb3dpbmRvdy10aXRsZS1mb250LXNpemU6ICRmb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlbCBjdWVycG8gZGUgbGEgdmVudGFuYSBkZSBpbmZvcm1hY2nDs24gZW4gZWwgY29tcG9uZW50ZSBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hcHMtaW5mb3dpbmRvdy1ib2R5LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbGVyICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCB0ZXh0byBkZWwgY3VlcnBvIGRlIGxhIHZlbnRhbmEgZGUgaW5mb3JtYWNpw7NuIGVuIGVsIGNvbXBvbmVudGUgZGUgbWFwYXNcbi8vLyBAdHlwZSBDb2xvclxuJG1hcHMtaW5mb3dpbmRvdy1ib2R5LXRleHQtY29sb3I6ICR0ZXh0LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZSBsb3MgZW5sYWNlcyBkZSBsYSB2ZW50YW5hIGRlIGluZm9ybWFjacOzbiBlbiBlbCBjb21wb25lbnRlIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWFwcy1pbmZvd2luZG93LWxpbmstZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZSBsYSBsZXllbmRhIGRlbCBidXNjYWRvciBlbiBlbCBjb21wb25lbnRlIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWFwcy1zZWFyY2hlci1sZWdlbmQtZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZWwgYnVzY2Fkb3IgZW4gZWwgY29tcG9uZW50ZSBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hcHMtc2VhcmNoZXItZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuXG4vLy8gVmFyaWFibGUgcXVlIGluZGljYSBzaSBlbCBmaWVsZHNldCBkZWwgYnVzY2Fkb3IgdGllbmUgYm9yZGUgbyBub1xuLy8vIEB0eXBlIGJvb2xcbiRtYXBzLXNlYXJjaGVyLWZpZWxkc2V0LWhhcy1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gVmFyaWFibGUgcXVlIGluZGljYSBzaSBsYSBsZXllbmRhIGRlbCBidXNjYWRvciB0aWVuZSBib3JkZSBvIG5vXG4vLy8gQHR5cGUgYm9vbFxuJG1hcHMtc2VhcmNoZXItbGVnZW5kLWhhcy1ib3JkZXI6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGJvcmRlIGRlbCBidXNjYWRvciBlbiBlbCBjb21wb25lbnRlIGRlIG1hcGFzXG4vLy8gQHR5cGUgQ29sb3JcbiRtYXBzLXNlYXJjaGVyLWJvcmRlci1jb2xvcjogJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBOw7ptZXJvIGRlIGNvbHVtbmFzIGRlbCBtYXJrZXIgZGVsIGJ1c2NhZG9yIGVuIGVsIGNvbXBvbmVudGUgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRtYXBzLXNlYXJjaGVyLW1hcmtlci1jb2x1bW5zOiAzICFkZWZhdWx0O1xuXG4vLy8gTsO6bWVybyBkZSBwdW50b3MgZGUgcnVwdHVyYSBkZWwgbWFya2VyIGRlbCBidXNjYWRvciBkZXBlbmRpZW5kbyBkZSBsYSByZXNvbHVjaW9uIGVuIGVsIGNvbXBvbmVudGUgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRtYXBzLXNlYXJjaGVyLW1hcmtlci1icmVha3BvaW50czogKCd4cyc6MSwnc20nOjIsJ21kJzoyKSAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGVsIG1hcmtlciBkZWwgYnVzY2Fkb3IgZW4gZWwgY29tcG9uZW50ZSBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hcHMtc2VhcmNoZXItbWFya2VyLWZvbnQtc2l6ZTogJG1hcHMtc2VhcmNoZXItZm9udC1zaXplICFkZWZhdWx0OyBcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGVsIGJvdMOzbiBkZWwgYnVzY2Fkb3IgZW4gZWwgY29tcG9uZW50ZSBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hcHMtc2VhcmNoZXItYnV0dG9uLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIGJvdMOzbiBwb3IgZGVmZWN0byBkZWwgYnVzY2Fkb3IgZW4gZWwgY29tcG9uZW50ZSBkZSBtYXBhc1xuLy8vIEB0eXBlIENvbG9yXG4kbWFwcy1zZWFyY2hlci1idXR0b24tZGVmYXVsdC1jb2xvcnM6ICRncmF5LWRhcmsgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGJvdMOzbiBkZWwgYnVzY2Fkb3IgZW4gZWwgY29tcG9uZW50ZSBkZSBtYXBhc1xuLy8vIEB0eXBlIENvbG9yXG4kbWFwcy1zZWFyY2hlci1idXR0b24tYXJyaXZlLWNvbG9yczogI2ZmZmZmZiAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8vIEFsdHVyYSBkZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRzZWFyY2gtbWFwcy1oZWlnaHQ6ICRtYXBzLWhlaWdodCAhZGVmYXVsdDtcblxuLy8gTGEgZm9ybWEgZW4gbGEgcXVlIGFwYXJlY2VuIGxhcyBvcGNpb25lcyBlbiBtb2RvIGVtYmViaWRvIChzZSBlc3BlY2lmaWNhXG4vLyB1biBtYXBhIGluZGV4YWRvIHBvciBsYSByZXNvbHVjacOzbiAoeHMsIHNtLCBtZCwgbGcpIHkgcGFyYSBjYWRhIHVubyBcbi8vIHVuIHBhciBlbCBwcmltZXJvIGVsIHRhbWHDsW8gZGVsIGJsb3F1ZSBkZSBtYXBhIHkgZWwgc2VndW5kbyBkZSBvcGNpb25lcylcbiRzZWFyY2gtbWFwcy1vcHRpb25zLWRpc3Bvc2l0aW9uOiAkbWFwcy1vcHRpb25zLWRpc3Bvc2l0aW9uICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZWwgdMOtdHVsbyBkZSBsYSB2ZW50YW5hIGRlIGluZm9ybWFjacOzbiBkZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRzZWFyY2gtbWFwcy1pbmZvd2luZG93LXRpdGxlLWZvbnQtc2l6ZTogJG1hcHMtaW5mb3dpbmRvdy10aXRsZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlbCBjdWVycG8gZGUgbGEgdmVudGFuYSBkZSBpbmZvcm1hY2nDs24gZGVsIGJ1c2NhZG9yIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2VhcmNoLW1hcHMtaW5mb3dpbmRvdy1ib2R5LWZvbnQtc2l6ZTogJG1hcHMtaW5mb3dpbmRvdy1ib2R5LWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgdGV4dG8gZGVsIGN1ZXJwbyBkZSBsYSB2ZW50YW5hIGRlIGluZm9ybWFjacOzbiBkZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBDb2xvclxuJHNlYXJjaC1tYXBzLWluZm93aW5kb3ctYm9keS10ZXh0LWNvbG9yOiAkbWFwcy1pbmZvd2luZG93LWJvZHktdGV4dC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGUgbG9zIGVubGFjZXMgZGUgbGEgdmVudGFuYSBkZSBpbmZvcm1hY2nDs24gZW4gZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRzZWFyY2gtbWFwcy1pbmZvd2luZG93LWxpbmstZm9udC1zaXplOiAkbWFwcy1pbmZvd2luZG93LWxpbmstZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZSBsYSBsZXllbmRhIGRlbCBidXNjYWRvciBlbiBlbCBidXNjYWRvciBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1tYXBzLXNlYXJjaGVyLWxlZ2VuZC1mb250LXNpemU6ICRtYXBzLXNlYXJjaGVyLWxlZ2VuZC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlbCBidXNjYWRvciBlbiBlbCBidXNjYWRvciBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1tYXBzLXNlYXJjaGVyLWZvbnQtc2l6ZTogJG1hcHMtc2VhcmNoZXItZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gVmFyaWFibGUgcXVlIGluZGljYSBzaSBlbCBmaWVsZHNldCBkZWwgYnVzY2Fkb3IgZW4gZWwgYnVzY2Fkb3IgZGUgbWFwYXMgdGllbmUgYm9yZGUgbyBub1xuLy8vIEB0eXBlIGJvb2xcbiRzZWFyY2gtbWFwcy1zZWFyY2hlci1maWVsZHNldC1oYXMtYm9yZGVyOiAkbWFwcy1zZWFyY2hlci1maWVsZHNldC1oYXMtYm9yZGVyICFkZWZhdWx0O1xuXG4vLy8gVmFyaWFibGUgcXVlIGluZGljYSBzaSBsYSBsZXllbmRhIGRlbCBidXNjYWRvciBlbiBlbCBidXNjYWRvciBkZSBtYXBhcyB0aWVuZSBib3JkZSBvIG5vXG4vLy8gQHR5cGUgYm9vbFxuJHNlYXJjaC1tYXBzLXNlYXJjaGVyLWxlZ2VuZC1oYXMtYm9yZGVyOiAkbWFwcy1zZWFyY2hlci1sZWdlbmQtaGFzLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgYm9yZGUgZGVsIGJ1c2NhZG9yIGVuIGVsIGJ1c2NhZG9yIGRlIG1hcGFzXG4vLy8gQHR5cGUgQ29sb3IgXG4kc2VhcmNoLW1hcHMtc2VhcmNoZXItYm9yZGVyLWNvbG9yOiAkbWFwcy1zZWFyY2hlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBOw7ptZXJvIGRlIGNvbHVtbmFzIGRlbCBtYXJrZXIgZGVsIGJ1c2NhZG9yIGVuIGVsIGJ1c2NhZG9yIGRlIG1hcGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2VhcmNoLW1hcHMtc2VhcmNoZXItbWFya2VyLWNvbHVtbnM6ICRtYXBzLXNlYXJjaGVyLW1hcmtlci1jb2x1bW5zICFkZWZhdWx0O1xuXG4vLy8gUHVudG9zIGRlIHJ1cHR1cmEgZGVsIG1hcmtlciBkZWwgYnVzY2Fkb3IgZGVwZW5kaWVuZG8gZGUgbGEgcmVzb2x1Y2nDs24gZW4gZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRzZWFyY2gtbWFwcy1zZWFyY2hlci1tYXJrZXItYnJlYWtwb2ludHM6ICRtYXBzLXNlYXJjaGVyLW1hcmtlci1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGVsIG1hcmtlciBkZWwgYnVzY2Fkb3IgZW4gZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRzZWFyY2gtbWFwcy1zZWFyY2hlci1tYXJrZXItZm9udC1zaXplOiAkbWFwcy1zZWFyY2hlci1tYXJrZXItZm9udC1zaXplICFkZWZhdWx0OyBcblxuLy8vIFRhbWHDsW8gZGUgbGEgbGV0cmEgZGVsIGJvdMOzbiBkZWwgYnVzY2Fkb3IgZW4gZWwgYnVzY2Fkb3IgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRzZWFyY2gtbWFwcy1zZWFyY2hlci1idXR0b24tZm9udC1zaXplOiAkbWFwcy1zZWFyY2hlci1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgYm90w7NuIHBvciBkZWZlY3RvIGRlbCBidXNjYWRvciBlbiBlbCBidXNjYWRvciBkZSBtYXBhc1xuLy8vIEB0eXBlIENvbG9yXG4kc2VhcmNoLW1hcHMtc2VhcmNoZXItYnV0dG9uLWRlZmF1bHQtY29sb3JzOiAkbWFwcy1zZWFyY2hlci1idXR0b24tZGVmYXVsdC1jb2xvcnMgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBib3TDs24gcG9yIGRlZmVjdG8gZGVsIGJ1c2NhZG9yIGVuIGVsIGJ1c2NhZG9yIGRlIG1hcGFzXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWFyY2gtbWFwcy1zZWFyY2hlci1idXR0b24tYXJyaXZlLWNvbG9yczogJG1hcHMtc2VhcmNoZXItYnV0dG9uLWFycml2ZS1jb2xvcnMgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlbCB0w610dWxvIGRlIGxhIHZlbnRhbmEgZGUgaW5mb3JtYWNpw7NuIGRlIGxvcyBtYXBhcyBwb3B1cFxuLy8vIEB0eXBlIE51bWJlclxuJHBvcHVwLW1hcHMtaW5mb3dpbmRvdy10aXRsZS1mb250LXNpemU6ICRtYXBzLWluZm93aW5kb3ctdGl0bGUtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZWwgY3VlcnBvIGRlIGxhIHZlbnRhbmEgZGUgaW5mb3JtYWNpw7NuIGRlIGxvcyBtYXBhcyBwb3B1cFxuLy8vIEB0eXBlIE51bWJlclxuJHBvcHVwLW1hcHMtaW5mb3dpbmRvdy1ib2R5LWZvbnQtc2l6ZTogJG1hcHMtaW5mb3dpbmRvdy1ib2R5LWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgdGV4dG8gZGVsIGN1ZXJwbyBkZSBsYSB2ZW50YW5hIGRlIGluZm9ybWFjacOzbiBkZSBsb3MgbWFwYXMgcG9wdXBcbi8vLyBAdHlwZSBDb2xvclxuJHBvcHVwLW1hcHMtaW5mb3dpbmRvdy1ib2R5LXRleHQtY29sb3I6ICRtYXBzLWluZm93aW5kb3ctYm9keS10ZXh0LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZSBsb3MgZW5sYWNlcyBlbiBsYSB2ZW50YW5hIGRlIGluZm9ybWFjacOzbiBkZSBsb3MgbWFwYXMgcG9wdXBcbi8vLyBAdHlwZSBOdW1iZXJcbiRwb3B1cC1tYXBzLWluZm93aW5kb3ctbGluay1mb250LXNpemU6ICRtYXBzLWluZm93aW5kb3ctbGluay1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlIGxhIGxleWVuZGEgZGVsIGJ1c2NhZG9yIGVuIGxvIG1hcGFzIHBvcHVwXG4vLy8gQHR5cGUgTnVtYmVyXG4kcG9wdXAtbWFwcy1zZWFyY2hlci1sZWdlbmQtZm9udC1zaXplOiAkbWFwcy1zZWFyY2hlci1sZWdlbmQtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsZXRyYSBkZWwgYnVzY2Fkb3IgZW4gbG9zIG1hcGFzIHBvcHVwXG4vLy8gQHR5cGUgTnVtYmVyXG4kcG9wdXAtbWFwcy1zZWFyY2hlci1mb250LXNpemU6ICRtYXBzLXNlYXJjaGVyLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIFZhcmlhYmxlIHF1ZSBpbmRpY2Egc2kgZWwgZmllbGRzZXQgZGVsIGJ1c2NhZG9yIGVuIGxvcyBtYXBhcyBwb3B1cCB0aWVuZSBib3JkZSBvIG5vXG4vLy8gQHR5cGUgYm9vbFxuJHBvcHVwLW1hcHMtc2VhcmNoZXItZmllbGRzZXQtaGFzLWJvcmRlcjogJG1hcHMtc2VhcmNoZXItZmllbGRzZXQtaGFzLWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFZhcmlhYmxlIHF1ZSBpbmRpY2Egc2kgbGEgbGV5ZW5kYSBkZWwgYnVzY2Fkb3IgZW4gbG9zIG1hcGFzIHBvcHVwIHRpZW5lIGJvcmRlIG8gbm9cbi8vLyBAdHlwZSBib29sXG4kcG9wdXAtbWFwcy1zZWFyY2hlci1sZWdlbmQtaGFzLWJvcmRlcjogJG1hcHMtc2VhcmNoZXItbGVnZW5kLWhhcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGJvcmRlIGRlbCBidXNjYWRvciBlbiBsb3MgbWFwYXMgcG9wdXBcbi8vLyBAdHlwZSBDb2xvclxuJHBvcHVwLW1hcHMtc2VhcmNoZXItYm9yZGVyLWNvbG9yOiAkbWFwcy1zZWFyY2hlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBOw7ptZXJvIGRlIGNvbHVtbmFzIGRlbCBtYXJrZXIgZGVsIGJ1c2NhZG9yIGVuIGxvcyBtYXBhcyBwb3B1cFxuLy8vIEB0eXBlIE51bWJlciBcbiRwb3B1cC1tYXBzLXNlYXJjaGVyLW1hcmtlci1jb2x1bW5zOiAkbWFwcy1zZWFyY2hlci1tYXJrZXItY29sdW1ucyAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgcHVudG9zIGRlIHJ1cHR1cmEgZGVsIG1hcmtlciBkZWwgYnVzY2Fkb3IgZW4gbG9zIG1hcGFzIHBvcHVwXG4vLy8gQHR5cGUgTnVtYmVyXG4kcG9wdXAtbWFwcy1zZWFyY2hlci1tYXJrZXItYnJlYWtwb2ludHM6ICRtYXBzLXNlYXJjaGVyLW1hcmtlci1icmVha3BvaW50cyAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGVsIG1hcmtlciBkZWwgYnVzY2Fkb3IgZW4gbG9zIG1hcGFzIHBvcHVwXG4vLy8gQHR5cGUgTnVtYmVyXG4kcG9wdXAtbWFwcy1zZWFyY2hlci1tYXJrZXItZm9udC1zaXplOiAkbWFwcy1zZWFyY2hlci1tYXJrZXItZm9udC1zaXplICFkZWZhdWx0OyBcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGVsIGJvdMOzbiBkZWwgYnVzY2Fkb3IgZW4gbG9zIG1hcGFzIHBvcHVwXG4vLy8gQHR5cGUgTnVtYmVyXG4kcG9wdXAtbWFwcy1zZWFyY2hlci1idXR0b24tZm9udC1zaXplOiAkbWFwcy1zZWFyY2hlci1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZWwgYm90w7NuIHBvciBkZWZlY3RvIGRlbCBidXNjYWRvciBlbiBsb3MgbWFwYXMgcG9wdXBcbi8vLyBAdHlwZSBDb2xvclxuJHBvcHVwLW1hcHMtc2VhcmNoZXItYnV0dG9uLWRlZmF1bHQtY29sb3JzOiAkbWFwcy1zZWFyY2hlci1idXR0b24tZGVmYXVsdC1jb2xvcnMgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBib3TDs24gZGVsIGJ1c2NhZG9yIGVuIGxvcyBtYXBhcyBwb3B1cFxuLy8vIEB0eXBlIENvbG9yXG4kcG9wdXAtbWFwcy1zZWFyY2hlci1idXR0b24tYXJyaXZlLWNvbG9yczogJG1hcHMtc2VhcmNoZXItYnV0dG9uLWFycml2ZS1jb2xvcnMgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlIGxvcyBtYXBhcyBwb3B1cFxuLy8vIEB0eXBlIENvbG9yXG4kcG9wdXAtbWFwcy1iYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBsYSBsZXRyYSBkZSBsb3MgbWFwYXMgcG9wdXBcbi8vLyBAdHlwZSBDb2xvclxuJHBvcHVwLW1hcHMtdGV4dC1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlIGxvcyBzdGF0ZSBkZSBsYSBsaXN0YSBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hcHMtbGlzdC1zdGF0ZS1mb250LXNpemU6ICRmb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxldHJhIGRlIGxhIGNhdGVnb3JpYSBkZSBsYSBsaXN0YSBkZSBtYXBhc1xuLy8vIEB0eXBlIE51bWJlclxuJG1hcHMtbGlzdC1jYXRlZ29yeS1mb250LXNpemU6ICRmb250LXNpemUtc21hbGxlciAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgbGV0cmEgZGVsIGl0ZW0gZGUgbGEgbGlzdGEgZGUgbWFwYXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRtYXBzLWxpc3QtaXRlbS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgY29sdW1uYXMgZGVsIG5pdmVsIDEgZGVsIHNpdGVtYXBcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtc2l0ZW1hcC1sZXZlbDEtY29sdW1uczogMSAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgcHVudG9zIGRlIHJ1cHR1cmEgZGVsIG5pdmVsIDEgZGVsIHNpdGVtYXBcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtc2l0ZW1hcC1sZXZlbDEtY29sdW1ucy1icmVha3BvaW50czogKCd4cyc6MSkgIWRlZmF1bHQ7XG5cbi8vLyBOw7ptZXJvIGRlIGNvbHVtbmFzIGRlbCBuaXZlbCAyIGRlbCBzaXRlbWFwXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXNpdGVtYXAtbGV2ZWwyLWNvbHVtbnM6IDIgIWRlZmF1bHQ7XG5cbi8vLyBOw7ptZXJvIGRlIHB1bnRvcyBkZSBydXB0dXJhIGRlbCBuaXZlbCAyIGRlbCBzaXRlbWFwXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXNpdGVtYXAtbGV2ZWwyLWNvbHVtbnMtYnJlYWtwb2ludHM6ICgneHMnOjEpICFkZWZhdWx0O1xuXG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCB0ZXh0byBhbCBlbmZhdGl6YXIgZWwgcmVzdWx0YWRvIGRlIHVuYSBiw7pzcXVlZGEgZGUgdW4gdMOpcm1pbm8gcXVlIGV4aXN0ZVxuLy8vIEB0eXBlIENvbG9yXG4kaGlnaGxpZ2h0ZWQtdGV4dC1jb2xvcjogeWVsbG93ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNhZG8gcGFyYSBlbCBmb25kbyBhbCBlbmZhdGl6YXIgZWwgcmVzdWx0YWRvIGRlIHVuYSBiw7pzcXVlZGEgZGUgdW4gdMOpcm1pbm8gcXVlIGV4aXN0ZVxuLy8vIEB0eXBlIENvbG9yXG4kaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBlbmxhY2UgcXVlIHNhbHRhIGFsIGNvbnRlbmlkb1xuLy8vIEB0eXBlIENvbG9yXG4kanVtcHRvY29udGVudC10ZXh0LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgZWwgZm9uZG8gZGVsIGVubGFjZSBxdWUgc2FsdGEgYWwgY29udGVuaWRvXG4vLy8gQHR5cGUgQ29sb3JcbiRqdW1wdG9jb250ZW50LWJhY2tncm91bmQtY29sb3I6IHllbGxvdyAhZGVmYXVsdDtcblxuLy8vIE7Dum1lcm8gZGUgY29sdW1uYXMgcG9yIGRlZmVjdG8gcGFyYSBsYSBnYWxlcsOtYSBkZSBpbWFnZW5lc1xuLy8vIEB0eXBlIE51bWJlclxuJGltYWdlLWdhbGxlcnktY29sdW1ucy1kZWZhdWx0OiA0ICFkZWZhdWx0O1xuXG4vLy8gTsO6bWVybyBkZSBjb2x1bW5hcyBkZXBlbmRpZW5kbyBkZSBsYSByZXNvbHVjacOzbiBwYXJhIGxhIGdhbGVyw61hIGRlIGltYWdlbmVzXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW1hZ2UtZ2FsbGVyeS1jb2x1bW5zOiAoJ3hzJzoxLCdzbSc6MywnbWQnOjQpICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBzZXBhcmFjacOzbiBlbnRyZSBsb3MgY29tcG9uZW50ZXMgZW4gbGEgZ2FsZXLDrWEgZGUgaW1hZ2VuZXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRpbWFnZS1nYWxsZXJ5LWd1dHRlcjogJGhhbGZHdXR0ZXIgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlIGxhIGxleWVuZGEgZW4gbGEgZ2FsZXLDrWEgZGUgaW1hZ2VuZXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRpbWFnZS1nYWxsZXJ5LWxlZ2VuZC1mb250LXNpemU6ICRmb250LXNpemUtc21hbGwgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxvcyBlbmxhY2VzIGRlIGF1dGVudGljYWNpw7NuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYXV0aC1saW5rcy1jb2xvcjogJHByb3hpYS1saW5rcy1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGUgbG9zIGVubGFjZXMgZGUgYXV0ZW50aWNhY2nDs24gY3VhbmRvIHNlIGhhY2UgaG92ZXJcbi8vLyBAdHlwZSBDb2xvclxuJGF1dGgtbGlua3MtY29sb3ItaG92ZXI6ICRwcm94aWEtbGlua3MtY29sb3ItaG92ZXIgIWRlZmF1bHQ7XG5cbi8vLyBUYW1hw7FvIGRlIGxhIGxldHJhIGRlIGxvcyBlbmxhY2VzIGRlIGF1dGVudGljYWNpw7NuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYXV0aC1vcHRpb25zLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4vLy8gVmFyaWFibGUgcXVlIGluZGljYSBzaSBzZSBvY3VsdGEgZWwgdGV4dG8gZGUgbG9zIGVubGFjZXMgZGUgYXV0ZW50aWNhY2nDs24gbyBub1xuLy8vIEB0eXBlIGJvb2xcbiRhdXRoLW9wdGlvbnMtaGlkZS10ZXh0OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBsYSBsZXRyYSBkZWwgb3ZlcmxheSBkZW50cm8gZGUgdW4gY29udGVuZWRvclxuLy8vIEB0eXBlIE51bWJlclxuJG92ZXJsYXktc2l6ZTogMTVweCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzYWRvIHBhcmEgbGEgbGV0cmEgZGVsIG92ZXJsYXkgZGVudHJvIGRlIHVuIGNvbnRlbmVkb3Jcbi8vLyBAdHlwZSBDb2xvclxuJG92ZXJsYXktY29sb3I6ICNhYWEgIWRlZmF1bHQ7XG5cbi8vLyBBbmNobyBwYXJhIGxhIHDDoWdpbmEgZGUgZXJyb3IgeSBtZW5zYWplXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnZS1lcnJvci13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGVsIGZvbmRvIGRlIGxhIHDDoWdpbmEgZGUgZXJyb3IgeSBtZW5zYWplXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdlLWVycm9yLWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlIGxhIHDDoWdpbmEgZGUgZXJyb3IgeSBtZW5zYWplXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdlLWVycm9yLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGUgcGFyYSBsYSBsYSBww6FnaW5hIGRlIGVycm9yIHkgbWVuc2FqZVxuJHBhZ2UtZXJyb3ItYm9yZGVyOiAzcHggc29saWQgI2NjYyAhZGVmYXVsdDtcblxuLy8vIEFsaW5lYWNpw7NuIGRlbCB0w610dWxvIHBhcmEgbGEgcMOhZ2luYSBkZSBlcnJvciB5IG1lbnNhamVcbiRwYWdlLWVycm9yLXRpdGxlLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBzdWJ0w610dWxvIHBhcmEgbGEgcMOhZ2luYSBkZSBlcnJvciB5IG1lbnNhamVcbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2UtZXJyb3Itc3VidGl0bGUtY29sb3I6ICM4ODggIWRlZmF1bHQ7XG5cbi8vLyBBbGluZWFjacOzbiBkZWwgY29udGVuaWRvIGVuIGxhIHDDoWdpbmEgZGUgZXJyb3IgeSBtZW5zYWplXG4kcGFnZS1lcnJvci1jb250ZW50LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2FkbyBwYXJhIGxhIGxldHJhIGRlbCBjb250ZW5pZG8gZW4gbGEgbGEgcMOhZ2luYSBkZSBlcnJvciB5IG1lbnNhamVcbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2UtZXJyb3ItY29udGVudC1jb2xvcjogIzQ0NCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGRlIGZvbmRvIHBhcmEgZWwgbWVuw7ogZGUgYXV0b2NvbXBsZXRhciBlbiBsYXMgYsO6c3F1ZWRhc1xuLy8vIEB0eXBlIENvbG9yXG4kc2VhcmNoLWF1dG9jb21wbGV0ZS1iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZGUgbGV0cmEgcGFyYSBlbCBtZW7DuiBkZSBhdXRvY29tcGxldGFyIGVuIGxhcyBiw7pzcXVlZGFzXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWFyY2gtYXV0b2NvbXBsZXRlLWNvbG9yOiAjN2M3YzdjICFkZWZhdWx0O1xuXG4vLy8gQm9yZGUgcGFyYSBlbCBtZW7DuiBkZSBhdXRvY29tcGxldGFyIGVuIGxhcyBiw7pzcXVlZGFzXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2VhcmNoLWF1dG9jb21wbGV0ZS1ib3JkZXI6IDFweCBzb2xpZCAjY2NjICFkZWZhdWx0O1xuXG4vLy8gQW5jaG8gbcOtbmltbyBkZWwgYXV0b2NvbXBsZXRhciBlbiBsYXMgYsO6c3F1ZWRhc1xuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1hdXRvY29tcGxldGUtbWluLXdpZHRoOiAxMDBweCAhZGVmYXVsdDtcblxuLy8vIEFuY2hvIG3DoXhpbW8gZGVsIGF1dG9jb21wbGV0YXIgZW4gbGFzIGLDunNxdWVkYXMuIEFwYXJ0ZSBkZSBlc3RvLCBlbCBhbmNobyBtw6F4aW1vIHNpZW1wcmUgZXMgaGFzdGEgZWwgYm9yZGUgZGVyZWNobyBkZSBsYSB2ZW50YW5hLlxuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1hdXRvY29tcGxldGUtbWF4LXdpZHRoOiA3MDBweCAhZGVmYXVsdDtcblxuLy8vIEFsdG8gbcOheGltbyBkZWwgYXV0b2NvbXBsZXRhciBlbiBsYXMgYsO6c3F1ZWRhc1xuLy8vIEB0eXBlIE51bWJlclxuJHNlYXJjaC1hdXRvY29tcGxldGUtbWF4LWhlaWdodDogNTAwcHggIWRlZmF1bHQ7XG5cbiIsCgkJIi8vIENvcHlyaWdodCAoYykgMjAyMS4gRGl2aXNhIGlUIFNBVVxuXG4vKipcbiAqIE1peGlucyB5IHZhcmlhYmxlcyBkZSBjb21wYXRpYmlsaWRhZCBlbnRyZSBCUzMgeSBCUzRcbiAqL1xuJHByaW1hcnkgICA6ICRicmFuZC1wcmltYXJ5ICAgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5IDogJGJyYW5kLXNlY29uZGFyeSAhZGVmYXVsdDtcbiRoMS1mb250LXNpemU6ICRmb250LXNpemUtaDEgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAkZm9udC1zaXplLWgyICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMyAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6ICRmb250LXNpemUtaDQgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAkZm9udC1zaXplLWg1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNiAhZGVmYXVsdDtcbiRmb250LXNpemUteHNtOiAkZm9udC1zaXplLXNtYWxsZXIgIWRlZmF1bHQ7XG4kZm9udC1zaXplLXNtOiAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS14bGc6ICRmb250LXNpemUtbGFyZ2VzdCAhZGVmYXVsdDtcbiRmb250LXNpemUtbGc6ICRmb250LXNpemUtbGFyZ2UgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogJHRleHQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKCRwcmltYXJ5LCAuMjUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogJHBhZGRpbmctYmFzZS12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAkcGFkZGluZy1iYXNlLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy15OiAkcGFkZGluZy1iYXNlLXZlcnRpY2FsICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAkYnRuLWJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogJGlucHV0LWJnLWRpc2FibGVkICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlciAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206IDVweCAhZGVmYXVsdDtcbiRiczM6IHRydWU7XG4kZ3JheS0yMDA6ICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7O1xuJGdyYXktMzAwOiAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRncmF5LTQwMDogJGdyYXktYmFzZSAhZGVmYXVsdDtcbiRncmF5LTcwMDogJGdyYXktZGFyayAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAkdGV4dC1jb2xvciAhZGVmYXVsdDtcblxuJHhzOiAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcbiRzbTogJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG4kbWQ6ICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xuJGxnOiAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcbiR4bDogJHNjcmVlbi1sZy1taW4gIWRlZmF1bHQ7XG5cbi8vLyBQYXJhIGV2aXRhciBwcm9ibGVtYXMgcmFyb3MsIEJTNCB0cmFiYWphIGNvbiBSRU0gZW4gQlMzIGNvbiBweCwgYXPDrSBxdWUgc2ltcGxlbWVudGUgdW5hIGZ1bmNpw7NuIHBhcmEgaGFjZXIgdW4gZXF1aXZhbGVudGVcbi8vLyBlbnRyZSBhbWJvcyBzaW4gdGVuZXIgcXVlIHJlZXNjcmliaXIgZWwgc2lzdGVtYSwgc2ltcGxlbWVudGUgZW4gQlMzIGRldm9sdmVtb3MgZWwgdmFsb3Igc29saWNpdGFkbyBzaW4gY29udmVydGlybG8gYSBSRU1cbkBmdW5jdGlvbiByZW0oJHVuaXQpIHtcbiAgQHJldHVybiAkdW5pdDtcbn1cblxuQGZ1bmN0aW9uIHB4KCR1bml0KSB7XG4gIEByZXR1cm4gJHVuaXQ7XG59XG5cbi8vIE1peGluIHBhcmEgQG1lZGlhLWJyZWFrcG9pbnQtdXAgeSBAbWVkaWEtYnJlYWtwaW50LWRvd247IGVzIHVuYVxuLy8gaW1wbGFudGFjacOzbiBiYXN0YW50ZSBiw6FzaWNhLCBwZXJvIG5vcyBwZXJtaXRlIG1hbnRlbmVyIGNvbXBhdGliaWxpZGFkXG4vLyBlbnRyZSBhbWJvcyBlbnRvcm5vcyAoYnMzIHkgYnM0KVxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJHVuaXQpIHtcbiAgJG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW47XG5cbiAgQGlmICR1bml0ID09IHhzIHtcbiAgICAkbWluLXdpZHRoOiAkc2NyZWVuLXhzLW1pbjtcbiAgfSBAZWxzZSBpZiAkdW5pdCA9PSBzbSB7XG4gICAgJG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW47XG4gIH0gQGVsc2UgaWYgJHVuaXQgPT0gbWQge1xuICAgICRtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1pbi13aWR0aCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJHVuaXQpIHtcbiAgJG1heC13aWR0aDogJHNjcmVlbi1sZy1taW47XG5cbiAgQGlmICR1bml0ID09IHhzIHtcbiAgICAkbWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heDtcbiAgfSBAZWxzZSBpZiAkdW5pdCA9PSBzbSB7XG4gICAgJG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXg7XG4gIH0gQGVsc2UgaWYgJHVuaXQgPT0gbWQge1xuICAgICRtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4O1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1heC13aWR0aCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFJldHVybiB2YWxpZCBjYWxjIChjb3BpYWRvIGRlIEJTNCwgdGFsIGN1YWwpXG5AZnVuY3Rpb24gYWRkKCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgKyAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9ICsgI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiICsgXCIpICsgJHZhbHVlMik7XG59XG5cbkBmdW5jdGlvbiBjb21wYXRTdHJpcFVuaXQoJHZhbHVlKSB7XG4gIEByZXR1cm4gJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKTtcbn1cblxuQGZ1bmN0aW9uIHN1bSgkdmFsdWUuLi4pIHtcbiAgJHJlc3VsdDogWzBweCwwZW0sMHJlbSwwJSwwdmgsMHZ2LCcnXTtcblxuICBAZWFjaCAkdiBpbiAkdmFsdWUge1xuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHYsbnRoKCRyZXN1bHQsMSkpIHtcbiAgICAgICRyOiBudGgoJHJlc3VsdCwxKTtcbiAgICAgICRyZXN1bHQ6IHNldC1udGgoJHJlc3VsdCwxLCR2KyRyKTtcbiAgICB9XG4gICAgQGlmIHR5cGUtb2YoJHYpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdixudGgoJHJlc3VsdCwyKSkge1xuICAgICAgJHI6IG50aCgkcmVzdWx0LDIpO1xuICAgICAgJHJlc3VsdDogc2V0LW50aCgkcmVzdWx0LDIsJHYrJHIpO1xuICAgIH1cbiAgICBAaWYgdHlwZS1vZigkdikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2LG50aCgkcmVzdWx0LDMpKSB7XG4gICAgICAkcjogbnRoKCRyZXN1bHQsMyk7XG4gICAgICAkcmVzdWx0OiBzZXQtbnRoKCRyZXN1bHQsMywkdiskcik7XG4gICAgfVxuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSBudW1iZXIgYW5kIGNvbXBhcmFibGUoJHYsbnRoKCRyZXN1bHQsNCkpIHtcbiAgICAgICRyOiBudGgoJHJlc3VsdCw0KTtcbiAgICAgICRyZXN1bHQ6IHNldC1udGgoJHJlc3VsdCw0LCR2KyRyKTtcbiAgICB9XG4gICAgQGlmIHR5cGUtb2YoJHYpID09IG51bWJlciBhbmQgY29tcGFyYWJsZSgkdixudGgoJHJlc3VsdCw1KSkge1xuICAgICAgJHI6IG50aCgkcmVzdWx0LDUpO1xuICAgICAgJHJlc3VsdDogc2V0LW50aCgkcmVzdWx0LDUsJHYrJHIpO1xuICAgIH1cbiAgICBAaWYgdHlwZS1vZigkdikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2LG50aCgkcmVzdWx0LDYpKSB7XG4gICAgICAkcjogbnRoKCRyZXN1bHQsNik7XG4gICAgICAkcmVzdWx0OiBzZXQtbnRoKCRyZXN1bHQsNiwkdiskcik7XG4gICAgfVxuICAgIEBpZiB0eXBlLW9mKCR2KSA9PSBzdHJpbmcge1xuICAgICAgJHI6IG50aCgkcmVzdWx0LDcpO1xuICAgICAgQGlmICRyID09ICcnIHtcbiAgICAgICAgJHJlc3VsdDogc2V0LW50aCgkcmVzdWx0LCA3LCAnI3skdn0nKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkcmVzdWx0OiBzZXQtbnRoKCRyZXN1bHQsIDcsICcjeyR2fSArICN7JHJ9Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuXG4gICRvdXRwdXQ6Jyc7XG4gIEBlYWNoICRyIGluICRyZXN1bHQge1xuXG4gICAgQGlmIHR5cGUtb2YoJHIpID09IG51bWJlciBhbmQgY29tcGF0U3RyaXBVbml0KCRyKSAhPSAwIHtcbiAgICAgIEBpZiAkb3V0cHV0ICE9ICcnIHtcbiAgICAgICAgJG91dHB1dDogJG91dHB1dCsnICsgI3skcn0nO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICRvdXRwdXQ6ICcjeyRyfSc7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZih0eXBlLW9mKCRyKSA9PSBzdHJpbmcgYW5kICRyIT0nJykge1xuICAgICAgQGlmICRvdXRwdXQgIT0gJycge1xuICAgICAgICAkb3V0cHV0OiAkb3V0cHV0KycgKyAjeyRyfSc7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJG91dHB1dDogJyN7JHJ9JztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHJldHVybiBjYWxjKCN7JG91dHB1dH0pO1xuXG59XG5cblxuQGZ1bmN0aW9uIHN1YnRyYWN0KCR2YWx1ZTEsICR2YWx1ZTIsICRyZXR1cm4tY2FsYzogdHJ1ZSkge1xuICBAaWYgJHZhbHVlMSA9PSBudWxsIGFuZCAkdmFsdWUyID09IG51bGwge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIEBpZiAkdmFsdWUxID09IG51bGwge1xuICAgIEByZXR1cm4gLSR2YWx1ZTI7XG4gIH1cblxuICBAaWYgJHZhbHVlMiA9PSBudWxsIHtcbiAgICBAcmV0dXJuICR2YWx1ZTE7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkdmFsdWUxKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJHZhbHVlMikgPT0gbnVtYmVyIGFuZCBjb21wYXJhYmxlKCR2YWx1ZTEsICR2YWx1ZTIpIHtcbiAgICBAcmV0dXJuICR2YWx1ZTEgLSAkdmFsdWUyO1xuICB9XG5cbiAgQHJldHVybiBpZigkcmV0dXJuLWNhbGMgPT0gdHJ1ZSwgY2FsYygjeyR2YWx1ZTF9IC0gI3skdmFsdWUyfSksICR2YWx1ZTEgKyB1bnF1b3RlKFwiIC0gXCIpICsgJHZhbHVlMik7XG59XG5cblxuLy8gTG9zIHRhYnMgZW4gYm9vdHN0cmFwIDMgbm8gc29uIGNvbW8gZW4gNCwgZSBpbnRlcm5hbWVudGUgZW4gZWwgcmVwZWF0LWdyb3VwIHNlIHV0aWxpemFuLFxuLy8gbG8gcmV0cm9jb21wYXRpYmlsaXphbW9zIHBhcmEgcXVlIHNlIHZlYW4gY29tbyBlbiAzLCBwZXJvIGNvbiBsYSBlc3RydWN0dXJhIGludGVybmFcbi5uYXYtcmVwZWF0LWdyb3VwLm5hdi10YWJzIHtcbiAgPiAubmF2LWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIE1ha2UgdGhlIGxpc3QtaXRlbXMgb3ZlcmxheSB0aGUgYm90dG9tIGJvcmRlclxuICAgIG1hcmdpbi1ib3R0b206IC0xcHg7XG5cbiAgICAvLyBBY3R1YWwgdGFicyAoYXMgbGlua3MpXG4gICAgPiAubmF2LWxpbmsge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgJGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZTpob3ZlcixcbiAgICAgICY6YWN0aXZlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgICAvLyBDYW1iaWEgbGEgZXN0cnVjdHVyYSBlbiBib290c3RyYXAgNCByZXNwZWN0byBhIDMsIGFzw60gcXVlIGFxdWkgY29tbyBnZW5lcmFtb3NcbiAgICAgIC8vIGPDs2RpZ28gYnM0IGNvbXBhdGlibGUgbG8gZW1iZWJlbW9zIGVuIGVzdGUgcHVudG8uXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1ib3JkZXItY29sb3I7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwKCQkiLy8vIFZhcmlhYmxlcyBwcmVkZWZpbmlkYXMgcGFyYSBlc3BhY2lhZG9cbiRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZzogNnB4ICFkZWZhdWx0O1xuXG4vLy8gaGFsZkd1dHRlclxuJGhhbGZHdXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG5cbi8vLyBWYXJpYWJsZXMgcGFyYSBzZXJ2aWNpb3MgUkVBQ1QgY29uIGVsIHNvcG9ydGUgZGUgZm9ybXVsYXJpb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWNvbnRyb2wtZm9udC1zaXplOiAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZWwgcmFkaW8gYnV0dG9uIGRlIFJFQUNUIHBhcmEgbGEgc2VsZWNjacOzbiBkZSBjYW1wb3Ncbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWNvbnRyb2wtcmFkaW8tc2l6ZTogJGZvbnQtc2l6ZS14bGcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZSBkZSBsb3MgY29udHJvbGVzIGRlIGZvcm11bGFyaW8gUkVBQ1Rcbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWNvbnRyb2wtYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBmdWVudGUgZGUgbGEgbGV5ZW5kYSBlbiBmb3JtdWxhcmlvcyBSRUFDVFxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tY29udHJvbC1sZWdlbmQtZm9udC1zaXplOiAkaDUtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBmdWVudGUgZGUgbGEgZXRpcXVldGEgZW4gZm9ybXVsYXJpb3MgUkVBQ1Rcbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWNvbnRyb2wtbGFiZWwtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBkZWwgYm9yZGVcbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tY29udHJvbC1ib3JkZXItY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIFBhcmEgZWwgc2VsZWN0b3IgbXVsdGlwbGUgZWwgdGFtYcOxbyBkZWwgY2FtcG8gZGUgdGV4dG8gaW50ZXJub1xuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tY29udHJvbC1tdWx0aXBsZS1zZWxlY3QtZm9udC1zaXplOiAkZm9udC1zaXplLXhzbSAhZGVmYXVsdDtcblxuLy8vIFNvbWJyYSBkZWwgb2JqZXRvIGNvbiBmb2N1c1xuJGZvcm0tY29udHJvbC1ib3gtc2hhZG93OiAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbi8vLyBGb25kbyBkZWwgY29udHJvbFxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1jb250cm9sLWJnY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0dXJhIGVuIHBpeGVsZXMgZGVsIGJvcmRlXG4kZm9ybS1jb250cm9sLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuLy8gUGFkZGluZyBkZWwgY29udHJvbCBkZSBmb3JtdWxhcmlvIGVuIFlcbiRmb3JtLWNvbnRyb2wtcGFkZGluZy15OiAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuXG4vLyBQYWRkaW5nIGRlbCBjb250cm9sIGRlIGZvcm11bGFyaW8gZW4gWFxuJGZvcm0tY29udHJvbC1wYWRkaW5nLXg6ICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cblxuXG4vLy8gQWx0dXJhIGRlIGzDrW5lYSBkZWwgY29udHJvbCBkZSBmb3JtdWxhcmlvXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1jb250cm9sLWxpbmUtaGVpZ2h0OiAkZm9ybS1jb250cm9sLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4vLy8gQWx0dXJhIGJhc2UgZGVsIGNvbnRyb2wgZGUgZm9ybXVsYXJpb1xuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tY29udHJvbC1oZWlnaHQtYmFzZTogYWRkKCRmb3JtLWNvbnRyb2wtbGluZS1oZWlnaHQsMiokZm9ybS1jb250cm9sLXBhZGRpbmcteSkgIWRlZmF1bHQ7XG5cbi8vLyBBbHR1cmEgZGVsIGNvbnRyb2wgZGUgZm9ybXVsYXJpbyBjb21wbGV0b1xuJGZvcm0tY29udHJvbC1oZWlnaHQ6IGFkZCgkZm9ybS1jb250cm9sLWhlaWdodC1iYXNlLCAyKiRmb3JtLWNvbnRyb2wtYm9yZGVyLXdpZHRoLHRydWUpO1xuXG4vLy8gUGFkZGluZyBwYXJhIGxvcyBjb250cm9sZXMgZGUgZm9ybXVsYXJpbyBlc3TDoW5kYXJcbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWNvbnRyb2wtcGFkZGluZzogJGZvcm0tY29udHJvbC1wYWRkaW5nLXkgJGZvcm0tY29udHJvbC1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbi8vLyBFbiBlbCBhdXRvY29tcGxldGUsIGNvbG9yIGRlIGZvbmRvIGRlbCBib3TDs24gZGUgYcOxYWRpciB1biBpdGVtXG4vLy8gQHR5cGUgTnVtYmVyXG4kYXV0b2NvbXBsZXRlLWVkaXQtYmFja2dyb3VuZDogJGdyYXktMjAwICFkZWZhdWx0O1xuXG4vLy8gRW4gZWwgYXV0b2NvbXBsZXRlLCBib3JkZSBkZWwgYm90w7NuIGRlIGHDsWFkaXIgdW4gaXRlbVxuLy8vIEB0eXBlIE51bWJlclxuJGF1dG9jb21wbGV0ZS1lZGl0LWJvcmRlci1jb2xvcjogJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEVuIGVsIGF1dG9jb21wbGV0ZSwgcmFkaW8gZGVsIGJvdMOzbiBkZSBhw7FhZGlyIHVuIGl0ZW1cbi8vLyBAdHlwZSBOdW1iZXJcbiRhdXRvY29tcGxldGUtZWRpdC1ib3JkZXItcmFkaXVzOiAkZm9ybS1jb250cm9sLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBFbiBlbCBhdXRvY29tcGxldGUsIGFsaW5lYWNpw7NuIGRlbCB0ZXh0byBlbnRybyBkZWwgYm90w7NuIGRlIGHDsWFkaXIgdW4gaXRlbVxuLy8vIEB0eXBlIFN0cmluZ1xuJGF1dG9jb21wbGV0ZS1lZGl0LXRleHQtYWxpZ246IHJpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gRW4gZWwgYXV0b2NvbXBsZXRlLCBjb2xvciBkZSB0ZXh0byBkZWwgYm90w7NuIGRlIGHDsWFkaXIgdW4gaXRlbS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhdXRvY29tcGxldGUtZWRpdC10ZXh0LWNvbG9yOiAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFpvbmEgZXNwZWPDrWZpY2EgZmljaGVyb3MgUkVBQ1Rcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3B6b25lLXJlc3VsdHMtYmFja2dyb3VuZDogJGdyYXktMjAwICFkZWZhdWx0O1xuXG4vLy8gT3BhY2ljaWRhZCBkZSBmb25kbyBkZSBsYSBpbWFnZW4gZW4gZWwgY29udHJvbCBkZSB0aXBvIGltYWdlblxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3B6b25lLWN1cnJlbnRpbWFnZS1vcGFjaXR5OiAwLjMgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBkZWwgYm9yZGUgZGUgbGEgem9uYSBkZSBzdWJpZGEgZGUgZG9jdW1lbnRvc1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcHpvbmUtZmlsZWFyZWEtY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBkZWwgYm9yZGUgZGUgbGEgem9uYSBkZSBzdWJpZGEgZGUgZG9jdW1lbnRvc1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcHpvbmUtaW1hZ2VhcmVhLWNvbG9yOiAkZ3JheS03MDAgIWRlZmF1bHQ7XG5cblxuLy8vIEZvbmRvIGdlbmVyYWwgZGUgbGEgem9uYSBkZSBSRUFDVCBkZSBmaWNoZXJvc1xuLy8vIEB0eXBlIENvbG9yXG4kZHJvcHpvbmUtYmFja2dyb3VuZDogJGdyYXktNDAwICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZGUgdGV4dG8gZGUgbGEgWm9uYSBkZSBmaWNoZXJvcyBlbiBjb21wb25lbnRlcyBSRUFDVFxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcHpvbmUtY29sb3I6ICRncmF5LTMwMCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGRlIHRleHRvIGRlIGxhIHpvbmEgZGUgYXl1ZGEgZGUgZGVzY2FyZ2EgZGUgZmljaGVyb3MgZW4gUkVBQ1Rcbi8vLyBAdHlwZSBDb2xvclxuJGRyb3B6b25lLWxpbmstY29sb3I6ICRncmF5LTMwMCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGRlIGZvbmRvIGRlbCBjb250cm9sIGRlIGLDunN1cWVkYSBkZSBjb250ZW5pZG9zXG4vLy8gQHR5cGUgQ29sb3JcbiRjb250ZW50LWNvbnRyb2wtYmFja2dyb3VuZDogJGdyYXktMjAwICFkZWZhdWx0OztcblxuLy8vIENvbG9yIGRlIHRleHRvIGRlIGxhIHpvbmEgZGUgYsO6c3F1ZWRhIGRlIGNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBDb2xvclxuJGNvbnRlbnQtY29udHJvbC1jb2xvcjogJGdyYXktNDAwICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZGUgdGV4dG8gZGVsIGJvcmRlIGRlIGxhcyBmZWF0dXJlcyBkZSBsYSB6b25hIG1hZXN0cm8tZGV0YWxsZVxuLy8vIEB0eXBlIENvbG9yXG4kY29udGVudC1jb2xvci1mZWF0dXJlcy1ib3JkZXItY29sb3I6ICRncmF5LTIwMCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGRlIHRleHRvIGRlIGxhcyBmZWF0dXJlcyBkZSBsYSB6b25hIG1hZXN0cm8tZGV0YWxsZVxuLy8vIEB0eXBlIENvbG9yXG4kY29udGVudC1jb2xvci1mZWF0dXJlcy1jb2xvcjogJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vLyBGdWVudGUgZGVsIGljb25vIGRlIGxvcyBpdGVtcyBkZWwgY29tcG9uZW50ZSBkZWwgcmVzdWx0YWRvIGRlIGLDunNxdWVkYSBkZSBjb250ZW5pZG9zXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29udGVudC1jb250cm9sLWl0ZW0taWNvbi1mb250OiAnJyAhZGVmYXVsdDtcblxuLy8vIEljb25vIHBhcmEgbG9zIGl0ZW1zIGRlbCBjb21wb25lbnRlIGRlIHN1YmNvbnRlbmlkb3Ncbi8vLyBAdHlwZSBTdHJpbmdcbiRjb250ZW50LWNvbnRyb2wtaXRlbS1pY29uOiAnPicgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBkZSBsb3MgaXRlbXMgZW4gZGVsIGNvbXBvbmV0ZSBkZSBzdWJjb250ZW5pZG9zIGVuIFJFQUNUXG4vLy8gQHR5cGUgQ29sb3JcbiRjb250ZW50LWNvbnRyb2wtaXRlbS1jb2xvcjogJHByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBkZSBsb3MgaXRlbXMgZW4gZGVsIGNvbXBvbmV0ZSBkZSBzdWJjb250ZW5pZG9zIGVuIFJFQUNUIGVuIHZpc3RhIG1hZXN0cm8tZGV0YWxsZVxuLy8vIEB0eXBlIENvbG9yXG4kY29udGVudC1jb250cm9sLW1hc3RlcmRldGFpbC1pdGVtLWNvbG9yOiAkcHJpbWFyeSAhZGVmYXVsdDtcblxuXG4vLy8gTGEgem9uYSBkZSBlcnJvciBkZWwgZm9ybXVsYXJpbyAoZnVlbnRlKVxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tY29udHJvbC1lcnJvcmFyZWEtZm9udC1zaXplOiAkZm9udC1zaXplLXhzbSAhZGVmYXVsdDtcblxuLy8vIExhIHpvbmEgZGUgZXJyb3IgZGVsIGZvcm11bGFyaW8gc2kgcXVlcmVtb3Mgc2FjYXJsbyBmbG90YW50ZSBvIG5vIGVuIGxvcyBjYW1wb3MgYW55T2Zcbi8vLyBwb3IgZGVmZWN0byBlcyBmYWxzZVxuJGZvcm0tY29udHJvbC1lcnJvcmFyZWEtYW55b2YtZmxvYXQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgZGUgZm9uZG8gZGUgbGEgem9uYSBkZSBlcnJvclxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1jb250cm9sLWVycm9yYXJlYS1iYWNrZ3JvdW5kOiAjZWUwMDAwICFkZWZhdWx0O1xuXG5cbi8vLyBDb2xvciBkZSB0ZXh0byBkZSBsYSB6b25hIGRlIGVycm9yXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWNvbnRyb2wtZXJyb3JhcmVhLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRhbWHDsW8gZGUgZnVlbnRlIGRlIHTDrXR1bG9cbi8vLyBAdHlwZSBOdW1iZXJcbiRtYXN0ZXItdmlldy10aXRsZS1mb250LXNpemU6ICRmb250LXNpemUteGxnICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBmdWVudGUgZGUgZGVzY3JpcGNpw7NuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWFzdGVyLXZpZXctZGVzY3JpcHRpb24tZm9udC1zaXplOiAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuXG4vLy8gVGFtYcOxbyBkZSBmdWVudGUgZGUgZmVhdHVyZXNcbi8vLyBAdHlwZSBOdW1iZXJcbiRtYXN0ZXItdmlldy1mZWF0dXJlcy1mb250LXNpemU6ICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG5cblxuXG4iLAoJCSIvLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvb3BhY2l0eVwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9sYWJlbHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtZmlsdGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNwb25zaXZlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy90YWItZm9jdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtb3ZlcmZsb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdmVuZG9yLXByZWZpeGVzXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcGFuZWxzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy9wcm9ncmVzcy1iYXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyYWRpZW50c1wiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvY2VudGVyLWJsb2NrXCI7XG5AaW1wb3J0IFwibWl4aW5zL25hdi12ZXJ0aWNhbC1hbGlnblwiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkLWZyYW1ld29ya1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmlkXCI7XG4iLAoJCSIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCBvbmx5IGAuaGlkZS10ZXh0KClgLCBidXQgcGVyIG91ciBwYXR0ZXJuIGZvclxuLy8gbWl4aW5zIGJlaW5nIHJldXNlZCBhcyBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSwgdGhpcyBkb2Vzbid0IGhvbGQgdXAuIEFzXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC5cbi8vXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcblxuLy8gRGVwcmVjYXRlZCBhcyBvZiB2My4wLjEgKGhhcyBiZWVuIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsCgkJIi8vIE9wYWNpdHlcblxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcbiAgJG9wYWNpdHktaWU6ICgkb3BhY2l0eSAqIDEwMCk7ICAvLyBJRTggZmlsdGVyXG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0kb3BhY2l0eS1pZSk7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xufVxuIiwKCQkiLy8gUmVzcG9uc2l2ZSBpbWFnZVxuLy9cbi8vIEtlZXAgaW1hZ2VzIGZyb20gc2NhbGluZyBiZXlvbmQgdGhlIHdpZHRoIG9mIHRoZWlyIHBhcmVudHMuXG5AbWl4aW4gaW1nLXJlc3BvbnNpdmUoJGRpc3BsYXk6IGJsb2NrKSB7XG4gIGRpc3BsYXk6ICRkaXNwbGF5O1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIGhlaWdodDogYXV0bzsgLy8gUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmdcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuIE5vdGUgdGhhdCB0aGVcbi8vIHNwZWxsaW5nIG9mIGBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW9gIGlzIGludGVudGlvbmFsLlxuQG1peGluIGltZy1yZXRpbmEoJGZpbGUtMXgsICRmaWxlLTJ4LCAkd2lkdGgtMXgsICRoZWlnaHQtMXgpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMXh9XCIpLCBcIiN7JGZpbGUtMXh9XCIpKTtcblxuICBAbWVkaWFcbiAgb25seSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggbWluLXJlc29sdXRpb246IDE5MmRwaSksXG4gIG9ubHkgc2NyZWVuIGFuZCAoIG1pbi1yZXNvbHV0aW9uOiAyZHBweCkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTJ4fVwiKSwgXCIjeyRmaWxlLTJ4fVwiKSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxufVxuIiwKCQkiLy8gTGFiZWxzXG5cbkBtaXhpbiBsYWJlbC12YXJpYW50KCRjb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG5cbiAgJltocmVmXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsCgkJIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLAoJCSIvLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG4gIHRhYmxlI3skcGFyZW50fSAgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRyI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aCN7JHBhcmVudH0sXG4gIHRkI3skcGFyZW50fSAgICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJHBhcmVudCkge1xuICAjeyRwYXJlbnR9IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsCgkJIi8vIFNpemluZyBzaG9ydGN1dHNcblxuQG1peGluIHNpemUoJHdpZHRoLCAkaGVpZ2h0KSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbn1cblxuQG1peGluIHNxdWFyZSgkc2l6ZSkge1xuICBAaW5jbHVkZSBzaXplKCRzaXplLCAkc2l6ZSk7XG59XG4iLAoJCSIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gV2ViS2l0LXNwZWNpZmljLiBPdGhlciBicm93c2VycyB3aWxsIGtlZXAgdGhlaXIgZGVmYXVsdCBvdXRsaW5lIHN0eWxlLlxuICAvLyAoSW5pdGlhbGx5IHRyaWVkIHRvIGFsc28gZm9yY2UgZGVmYXVsdCB2aWEgYG91dGxpbmU6IGluaXRpYWxgLFxuICAvLyBidXQgdGhhdCBzZWVtcyB0byBlcnJvbmVvdXNseSByZW1vdmUgdGhlIG91dGxpbmUgaW4gRmlyZWZveCBhbHRvZ2V0aGVyLilcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsCgkJIkBtaXhpbiByZXNldC10ZXh0KCkge1xuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkbyBOT1QgcmVzZXQgZm9udC1zaXplLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgbGluZS1icmVhazogYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xufVxuIiwKCQkiLy8gVHlwb2dyYXBoeVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIsXG4gIGEjeyRwYXJlbnR9OmZvY3VzIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwKCQkiLy8gVGV4dCBvdmVyZmxvd1xuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC1vdmVyZmxvdygpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLAoJCSIvLyBWZW5kb3IgUHJlZml4ZXNcbi8vXG4vLyBBbGwgdmVuZG9yIG1peGlucyBhcmUgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgZHVlIHRvIHRoZSBpbnRyb2R1Y3Rpb24gb2Zcbi8vIEF1dG9wcmVmaXhlciBpbiBvdXIgR3J1bnRmaWxlLiBUaGV5IGhhdmUgYmVlbiByZW1vdmVkIGluIHY0LlxuXG4vLyAtIEFuaW1hdGlvbnNcbi8vIC0gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gLSBCb3ggc2hhZG93XG4vLyAtIEJveCBzaXppbmdcbi8vIC0gQ29udGVudCBjb2x1bW5zXG4vLyAtIEh5cGhlbnNcbi8vIC0gUGxhY2Vob2xkZXIgdGV4dFxuLy8gLSBUcmFuc2Zvcm1hdGlvbnNcbi8vIC0gVHJhbnNpdGlvbnNcbi8vIC0gVXNlciBTZWxlY3RcblxuXG4vLyBBbmltYXRpb25zXG5AbWl4aW4gYW5pbWF0aW9uKCRhbmltYXRpb24pIHtcbiAgLXdlYmtpdC1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgLW8tYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tbmFtZSgkbmFtZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogJG5hbWU7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uKCRkdXJhdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZGVsYXkoJGRlbGF5KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG4gICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogJGl0ZXJhdGlvbi1jb3VudDtcbiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xufVxuQG1peGluIGFuaW1hdGlvbi1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlKCRmaWxsLW1vZGUpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiAkZmlsbC1tb2RlO1xuICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5gXG5cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogJHZpc2liaWxpdHk7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLy9cbi8vIE5vdGU6IERlcHJlY2F0ZWQgYC5ib3gtc2hhZG93KClgIGFzIG9mIHYzLjEuMCBzaW5jZSBhbGwgb2YgQm9vdHN0cmFwJ3Ncbi8vIHN1cHBvcnRlZCBicm93c2VycyB0aGF0IGhhdmUgYm94IHNoYWRvdyBjYXBhYmlsaXRpZXMgbm93IHN1cHBvcnQgaXQuXG5cbkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAkc2hhZG93OyAvLyBpT1MgPDQuMyAmIEFuZHJvaWQgPDQuMVxuICAgICAgICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG59XG5cbi8vIEJveCBzaXppbmdcbkBtaXhpbiBib3gtc2l6aW5nKCRib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogJGJveG1vZGVsO1xufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuQG1peGluIGNvbnRlbnQtY29sdW1ucygkY29sdW1uLWNvdW50LCAkY29sdW1uLWdhcDogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogJGNvbHVtbi1nYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG5AbWl4aW4gaHlwaGVucygkbW9kZTogYXV0bykge1xuICAtd2Via2l0LWh5cGhlbnM6ICRtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6ICRtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6ICRtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6ICRtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6ICRtb2RlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbkBtaXhpbiBwbGFjZWhvbGRlcigkY29sb3I6ICRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcikge1xuICAvLyBGaXJlZm94XG4gICY6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogMTsgLy8gT3ZlcnJpZGUgRmlyZWZveCdzIHVudXN1YWwgZGVmYXVsdCBvcGFjaXR5OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTE1MjZcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkY29sb3I7IH0gLy8gSW50ZXJuZXQgRXhwbG9yZXIgMTArXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBTYWZhcmkgYW5kIENocm9tZVxufVxuXG4vLyBUcmFuc2Zvcm1hdGlvbnNcbkBtaXhpbiBzY2FsZSgkcmF0aW8uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7XG59XG5cbkBtaXhpbiBzY2FsZVgoJHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbn1cbkBtaXhpbiBzY2FsZVkoJHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbn1cbkBtaXhpbiBza2V3KCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzQ4ODU7IElFOStcbiAgICAgICAtby10cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xufVxuQG1peGluIHRyYW5zbGF0ZSgkeCwgJHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xufVxuQG1peGluIHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG59XG5AbWl4aW4gcm90YXRlKCRkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpO1xufVxuQG1peGluIHJvdGF0ZVgoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xufVxuQG1peGluIHJvdGF0ZVkoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xufVxuQG1peGluIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG4gICAgIC1tb3otcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHBlcnNwZWN0aXZlLW9yaWdpbigkcGVyc3BlY3RpdmUpIHtcbiAgLXdlYmtpdC1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbiAgICAgICAgICBwZXJzcGVjdGl2ZS1vcmlnaW46ICRwZXJzcGVjdGl2ZTtcbn1cbkBtaXhpbiB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xuICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjsgLy8gSUU5IG9ubHlcbiAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luO1xufVxuXG5cbi8vIFRyYW5zaXRpb25zXG5cbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1wcm9wZXJ0eSgkdHJhbnNpdGlvbi1wcm9wZXJ0eS4uLikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6ICR0cmFuc2l0aW9uLXByb3BlcnR5O1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6ICR0cmFuc2l0aW9uLXByb3BlcnR5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZGVsYXkoJHRyYW5zaXRpb24tZGVsYXkpIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkdHJhbnNpdGlvbi1kZWxheTtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0cmFuc2l0aW9uLWR1cmF0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbikge1xuICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIHRyYW5zaXRpb24tdHJhbnNmb3JtKCR0cmFuc2l0aW9uLi4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgIC1tb3otdHJhbnNpdGlvbjogLW1vei10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogLW8tdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbn1cblxuXG4vLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG5cbkBtaXhpbiB1c2VyLXNlbGVjdCgkc2VsZWN0KSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6ICRzZWxlY3Q7IC8vIElFMTArXG4gICAgICAgICAgdXNlci1zZWxlY3Q6ICRzZWxlY3Q7XG59XG4iLAoJCSIvLyBBbGVydHNcblxuQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICR0ZXh0LWNvbG9yKSB7XG4gIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCR0ZXh0LWNvbG9yLCAxMCUpO1xuICB9XG59XG4iLAoJCSIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICB9XG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXIsIDEyJSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxNyUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgICB9XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbn1cbiIsCgkJIi8vIFBhbmVsc1xuXG5AbWl4aW4gcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiAkaGVhZGluZy10ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGhlYWRpbmctYm9yZGVyO1xuXG4gICAgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyO1xuICAgIH1cbiAgICAuYmFkZ2Uge1xuICAgICAgY29sb3I6ICRoZWFkaW5nLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbiAgJiA+IC5wYW5lbC1mb290ZXIge1xuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy12ZXJ0aWNhbCwgJHBhZGRpbmctaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICA+IGxpIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYsIGJ1dHRvbiYgdG8gYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LCBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfVxuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZTpob3ZlcixcbiAgICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG59XG4iLAoJCSIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBmb3Jtcy5sZXNzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCR0ZXh0LWNvbG9yOiAjNTU1LCAkYm9yZGVyLWNvbG9yOiAjY2NjLCAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAuaGVscC1ibG9jayxcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lLFxuICAmLnJhZGlvIGxhYmVsLFxuICAmLmNoZWNrYm94IGxhYmVsLFxuICAmLnJhZGlvLWlubGluZSBsYWJlbCxcbiAgJi5jaGVja2JveC1pbmxpbmUgbGFiZWwgIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRjb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cykge1xuICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgc2VsZWN0I3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEjeyRwYXJlbnR9LFxuICBzZWxlY3RbbXVsdGlwbGVdI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLAoJCSIvLyBQcm9ncmVzcyBiYXJzXG5cbkBtaXhpbiBwcm9ncmVzcy1iYXItdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIERlcHJlY2F0ZWQgcGFyZW50IGNsYXNzIHJlcXVpcmVtZW50IGFzIG9mIHYzLjIuMFxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkO1xuICB9XG59XG4iLAoJCSIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX0sXG4gICAgPiB0aC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX0gPiB0ZCxcbiAgICAmLiN7JHN0YXRlfSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIge1xuICAgID4gdGQuI3skc3RhdGV9OmhvdmVyLFxuICAgID4gdGguI3skc3RhdGV9OmhvdmVyLFxuICAgICYuI3skc3RhdGV9OmhvdmVyID4gdGQsXG4gICAgJjpob3ZlciA+IC4jeyRzdGF0ZX0sXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcblxuLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG4gIGEjeyRwYXJlbnR9OmhvdmVyLFxuICBhI3skcGFyZW50fTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwKCQkiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbn1cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbiIsCgkJIlxuXG4vLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7ICAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyN7aWUtaGV4LXN0cigkc3RhcnQtY29sb3IpfScsIGVuZENvbG9yc3RyPScje2llLWhleC1zdHIoJGVuZC1jb2xvcil9JywgR3JhZGllbnRUeXBlPTEpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMTUpLCAkYW5nbGU6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbn1cbiIsCgkJIi8vIENsZWFyZml4XG4vL1xuLy8gRm9yIG1vZGVybiBicm93c2Vyc1xuLy8gMS4gVGhlIHNwYWNlIGNvbnRlbnQgaXMgb25lIHdheSB0byBhdm9pZCBhbiBPcGVyYSBidWcgd2hlbiB0aGVcbi8vICAgIGNvbnRlbnRlZGl0YWJsZSBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4vLyAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbi8vICAgIHRoYXQgYXJlIGNsZWFyZml4ZWQuXG4vLyAyLiBUaGUgdXNlIG9mIGB0YWJsZWAgcmF0aGVyIHRoYW4gYGJsb2NrYCBpcyBvbmx5IG5lY2Vzc2FyeSBpZiB1c2luZ1xuLy8gICAgYDpiZWZvcmVgIHRvIGNvbnRhaW4gdGhlIHRvcC1tYXJnaW5zIG9mIGNoaWxkIGVsZW1lbnRzLlxuLy9cbi8vIFNvdXJjZTogaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svXG5cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuIiwKCQkiLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuXG5AbWl4aW4gY2VudGVyLWJsb2NrKCkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbiIsCgkJIi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy9cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXItdmVydGljYWwtYWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG5cbkBtaXhpbiBuYXZiYXItdmVydGljYWwtYWxpZ24oJGVsZW1lbnQtaGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6IChic19zdWJ0cmFjdCgkbmF2YmFyLWhlaWdodCwgJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoYnNfc3VidHJhY3QoJG5hdmJhci1oZWlnaHQsJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuIiwKCQkiLy8gRnJhbWV3b3JrIGdyaWQgZ2VuZXJhdGlvblxuLy9cbi8vIFVzZWQgb25seSBieSBCb290c3RyYXAgdG8gZ2VuZXJhdGUgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGdyaWQgY2xhc3NlcyBnaXZlblxuLy8gYW55IHZhbHVlIG9mIGAkZ3JpZC1jb2x1bW5zYC5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkaTogMSwgJGxpc3Q6IFwiLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wteHMtI3skaX0sIC5jb2wtc20tI3skaX0sIC5jb2wtbWQtI3skaX0sIC5jb2wtbGctI3skaX1cIjtcbiAgfVxuICAjeyRsaXN0fSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICAvLyBJbm5lciBndXR0ZXIgdmlhIHBhZGRpbmdcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICAgIHBhZGRpbmctbGVmdDogY2VpbCgoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwKCQkiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwYWRkaW5nLXJpZ2h0OiBjZWlsKCgkZ3V0dGVyIC8gMikpO1xuICBwYWRkaW5nLWxlZnQ6IGZsb29yKCgkZ3V0dGVyIC8gMikpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gQ3JlYXRlcyBhIHdyYXBwZXIgZm9yIGEgc2VyaWVzIG9mIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLXJpZ2h0OiBmbG9vcigoJGd1dHRlciAvIC0yKSk7XG4gIG1hcmdpbi1sZWZ0OiBjZWlsKCgkZ3V0dGVyIC8gLTIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBleHRyYSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS14cy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbWVkaXVtIGNvbHVtbnNcbkBtaXhpbiBtYWtlLW1kLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuXG4vLyBHZW5lcmF0ZSB0aGUgbGFyZ2UgY29sdW1uc1xuQG1peGluIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLAoJCSIvKipcbiAqIE1peGlucyBxdWUgdGVuZW1vcyB5IHBlcm1pdGltb3Mgc3UgcmV1dGlsaXphY2nDs24gZW4gb3Ryb3MgcHJveWVjdG9zLlxuICovXG5cbi8vLyBGdW5jacOzbiBxdWUgcGVybWl0ZSBzZWxlY2Npb25hciBlbCB2YWxvciBwYXNhZG8gY29tbyBwYXLDoW1ldHJvIG8gc2kgZXN0ZSBlcyBtZW5vciBxdWVcbi8vLyB1biB2YWxvciBtw61uaW1vIGVsIHZhbG9yIG3DrW5pbW8gcGFzYWRvIGNvbW8gc2VndW5kbyBwYXLDoW1ldHJvXG4vLy9cbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IHZhbHVlICAgICAgICAtIEVsIHZhbG9yIHF1ZSBuZWNlc2l0YW1vcyBwYXNhclxuLy8vIEBwYXJhbWV0ZXIgIHtOdW1iZXJ9IGxpbWl0ZWRCeSAgICAgLSBFbCB2YWxvciBtw61uaW1vIHF1ZSBwdWVkZSB0ZW5lclxuLy8vIEByZXR1cm4ge051bWJlcn1cbkBmdW5jdGlvbiBnZXRMaW1pdGVkVmFsdWUoJHZhbHVlLCRsaW1pdGVkQnkpIHtcbiAgICBAaWYgJHZhbHVlIDwgJGxpbWl0ZWRCeSB7XG4gICAgICAgIEByZXR1cm4gJGxpbWl0ZWRCeTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICB9XG59XG5cbi8vLyBPYnRpZW5lIGVsIHByaW1lciBlbGVtZW50byBkZSB1bmEgbGlzdGFcbi8vL1xuLy8vIEBwYXJhbWV0ZXIge0xpc3R9IGxpc3QgLSBMYSBsaXN0YSBkZSBsYSBxdWUgcmVjdXBlcmFtb3MgZWwgdmFsb3JcbkBmdW5jdGlvbiBmaXJzdCgkbGlzdCkge1xuICAgIEByZXR1cm4gbnRoKCRsaXN0LCAxKTtcbn1cblxuLy8vIE9idGllbmUgZWwgdWx0aW1vIGVsZW1lbnRvIGRlIHVuYSBsaXN0YVxuLy8vXG4vLy8gQHBhcmFtZXRlciB7TGlzdH0gbGlzdCAtIExhIGxpc3RhIGRlIGxhIHF1ZSByZWN1cGVyYW1vcyBlbCB2YWxvclxuQGZ1bmN0aW9uIGxhc3QoJGxpc3QpIHtcbiAgICBAcmV0dXJuIG50aCgkbGlzdCwgbGVuZ3RoKCRsaXN0KSk7XG59XG5cblxuXG4vLy8gTWl4aW4gcXVlIG5vcyBwZXJtaXRlIGluY2x1aXIgdW5hIGZ1ZW50ZSBkZXRlcm1pbmFkYSBlbiBlbCBjw7NkaWdvLCByZWNpYmUgY29tbyBwYXLDoW1ldHJvc1xuLy8vIGVsIG5vbWJyZSBkZSBsYSBmdWVudGUgeSBnZW5lcmEgdW4gQ1NTIGFkZWN1YWRvIHBhcmEgc3UgaW5jbHVzacOzblxuLy8vXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBmb250LWZhbWlseSBbJyddIC0gRWwgbm9tYnJlIGRlIGxhIGZhbWlsaWEgZGUgZnVlbnRlcyBxdWUgZW1wbGVhbW9zXG5AbWl4aW4gZm9udCgkZm9udC1mYW1pbHk6JycpIHtcbiAgICBAaWYoJGZvbnQtZmFtaWx5ICE9ICcnKSB7XG4gICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSAkZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBzcGVhazogbmV2ZXI7XG4gICAgfVxufVxuXG4vLy8gR2VuZXJhIHVuIGJsb3F1ZSBjb3JyZXNwb25kaWVudGUgYSB1bmEgZnVlbnRlIGluc2VydGFuZG8gbGEgaW5mcm1hY2nDs24gZGUgdW5hIGRldGVybWluYWRhXG4vLy8gZnVlbnRlIGRlbCBzaXN0ZW1hLlxuLy8vXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSAkZm9udC1mYW1pbHkgLSBFbCBub21icmUgZGUgbGEgZmFtaWxpYSBkZSBmdWVudGVzIHF1ZSBlbXBsZWFtb3Ncbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9ICR0ZXh0IC0gRWwgdGV4dG8gYSBpbmNsdWlyIGNvbW8gY29udGVuaWRvXG4vLy8gQGNvbnRlbnQgRW4gY2FzbyBkZSBxdWVyZXIgYcOxYWRpciBpbmZvcm1hY2nDs24gZXh0cmEuXG5AbWl4aW4gZm9udEJsb2NrKCRmb250LWZhbWlseSwkdGV4dCkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udCgkZm9udC1mYW1pbHkpO1xuICAgICAgICBjb250ZW50OiAkdGV4dDtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLy8gR2VuZXJhIHVuIGJsb3F1ZSBjb3JyZXNwb25kaWVudGUgYSB1bmEgZnVlbnRlIGluc2VydGFuZG8gbGEgaW5mcm1hY2nDs24gZGUgdW5hIGRldGVybWluYWRhXG4vLy8gZnVlbnRlIGRlbCBzaXN0ZW1hLlxuLy8vXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSAkZm9udC1mYW1pbHkgLSBFbCBub21icmUgZGUgbGEgZmFtaWxpYSBkZSBmdWVudGVzIHF1ZSBlbXBsZWFtb3Ncbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9ICR0ZXh0IC0gRWwgdGV4dG8gYSBpbmNsdWlyIGNvbW8gY29udGVuaWRvXG4vLy8gQGNvbnRlbnQgRW4gY2FzbyBkZSBxdWVyZXIgYcOxYWRpciBpbmZvcm1hY2nDs24gZXh0cmEuXG5AbWl4aW4gZm9udEJsb2NrQWZ0ZXIoJGZvbnQtZmFtaWx5LCR0ZXh0KSB7XG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGZvbnQoJGZvbnQtZmFtaWx5KTtcbiAgICBjb250ZW50OiAkdGV4dDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLy8gTWl4aW4gcXVlIHBlcm1pdGUgdW5hIGFsaW5lYWNpw7NuIHZlcnRpY2FsIGRlIHVuIGVsZW1lbnRvXG5AbWl4aW4gdmNlbnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZmxvYXQ6IG5vbmU7XG59XG5cbi8vLyBNaXhpbiBxdWUgbm9zIHBlcm1pdGUgaGFjZXIgdW4gbWFzb25yeSBkZSB1biBjb250ZW5lZG9yXG4vLy9cbi8vLyBAcGFyYW1ldGVyIHtNYXB9ICRjb2xzIFsoKV0gLSBVbiBtYXBhIGNvbiBsYXMgY29sdW1uYXMgZW4gY2FkYSByZXNvbHVjacOzblxuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gJGd1dHRlciBbJGhhbGZHdXR0ZXJdIC0gRWwgZ3V0dGVyIHBvciBkZWZlY3RvIHF1ZSB0ZW5lbW9zXG4vLy8gQGNvbnRlbnQgRW4gY2FzbyBkZSBxdWVyZXIgYcOxYWRpciBpbmZvcm1hY2nDs24gZXh0cmEuXG5AbWl4aW4gbWFzb25yeSgkY29sczooKSwgJGd1dHRlcjokaGFsZkd1dHRlcikge1xuICAgICYge1xuICAgICAgICAkeHM6IGlmKG1hcC1oYXMta2V5KCRjb2xzLCd4cycpLG1hcC1nZXQoJGNvbHMsJ3hzJyksMSk7XG4gICAgICAgICRzbTogaWYobWFwLWhhcy1rZXkoJGNvbHMsJ3NtJyksbWFwLWdldCgkY29scywnc20nKSwkeHMpO1xuICAgICAgICAkbWQ6IGlmKG1hcC1oYXMta2V5KCRjb2xzLCdtZCcpLG1hcC1nZXQoJGNvbHMsJ21kJyksMCk7XG4gICAgICAgICRsZzogaWYobWFwLWhhcy1rZXkoJGNvbHMsJ2xnJyksbWFwLWdldCgkY29scywnbGcnKSwwKTtcblxuICAgICAgICAvLyBMYXMgY29uZGljaW9uZXMgZGUgWFMgeSBTTSBlc3RhbiBmaWphcy5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4cykge1xuICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICR4cztcbiAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAkeHM7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogJHhzO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWdhcDogJGd1dHRlcjtcbiAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWdhcDogJGd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uLWdhcDogJGd1dHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAkc207XG4gICAgICAgICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogJHNtO1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6ICRzbTtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1nYXA6ICRndXR0ZXI7XG4gICAgICAgICAgICAgICAtbW96LWNvbHVtbi1nYXA6ICRndXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRndXR0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpZiAkbWQgPiAwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogJG1kO1xuICAgICAgICAgICAgICAgICAgIC1tb3otY29sdW1uLWNvdW50OiAkbWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6ICRtZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaWYgJGxnID4gMCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRsZztcbiAgICAgICAgICAgICAgICAgICAtbW96LWNvbHVtbi1jb3VudDogJGxnO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uLWNvdW50OiAkbGc7XG4gICAgICAgICAgICB9ICAgICAgICBcbiAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgICAgIFxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRndXR0ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWJyZWFrLWluc2lkZTogYXZvaWQ7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgICAgICAgICAgICAgICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgLyogRmlyZWZveCAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWstaW5zaWRlOiBhdm9pZDsgLyogSUUxMCsgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQtY29sdW1uOyAvKiBXaGVuIHN1cHBvcnRlZCAqL1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIE1peGluIHF1ZSBwZXJtaXRlIGdlbmVyYXIgY29sdW1uYXMgZGVudHJvIGRlIGxhIHBlc3Rhw7FhIGRlIHVuIGNvbnRlbmlkby5cbi8vL1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gJGNvbHVtbnMgLSBFbCBuw7ptZXJvIGRlIGNvbHVtbmFzIGVuIGxhcyBxdWUgcXVlcmVtb3MgZGl2aWRpciBsb3MgZWxlbWVudG9zIGRlIGxhIHBlc3Rhw7FhLlxuQG1peGluIGNvbHVtbml6ZS1jb250ZW50dGFicygkY29sdW1ucykge1xuXG4gICAgLyoqXG4gICAgICogTm9zIGFzZWd1cmFtb3MgZGUgcXVlIHRlbmVtb3MgbGltcGlhIGxhIGluZm9ybWFjacOzbiBjb3JyZXNwb25kaWVudGUuXG4gICAgICovXG4gICAgLnNlY3Rpb24tZGF0YSxcbiAgICAuY29udGVudC1zZWN0aW9uLWJsb2NrIHtcbiAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICB9XG4gICAgXG4gICAgICAgIFxuICAgIC8qKlxuICAgICAqIEluZGljYW1vcyBsYSBhbmNodXJhIGRlIGNhZGEgY29sdW1uYSBxdWUgdGVuZW1vcyBpbnRlcm5hbWVudGUsIHNpZW1wcmUgbG8gaGFjZW1vcyBhIG5pdmVsXG4gICAgICogZGUgc3Vic2VjY2lvbiBubyBkZSBzZWNjaW9uIGludGVybmEsIHkgc2llbXByZSB5IGN1YW5kbyBubyBlc3RlIGFzb2NpYWRhIGEgdW4gdmFsb3IsIHBvcnF1ZSBlbiBlc2VcbiAgICAgKiBjYXNvIG5vIGFwbGljYSBsYSBkaXZpc2nDs24gZW4gY29sdW1uYXNcbiAgICAgKi9cbiAgICAuc2VjdGlvbi1kYXRhOm5vdCgucHZhbCkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAtd2Via2l0LWNvbHVtbi1jb3VudDogJGNvbHVtbnM7IC8qIENocm9tZSwgU2FmYXJpLCBPcGVyYSAqL1xuICAgICAgICAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW5zOyAvKiBGaXJlZm94ICovXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbnM7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLm9sZC1icm93c2VyICYge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJGNvbHVtbnMpO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIC8vIEVsIG4tc2ltbyB0aWVuZSBxdWUgc2FsaXIgZGVsIGJsb3F1ZVxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKCN7JGNvbHVtbnN9bisxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAvKipcbiAgICAgKiBNYXJjYW1vcyBsb3MgZXN0aWxvcyBkZWwgdMOtdHVsbyB5IGRlIGxhIHN1YnNlY2Npw7NuXG4gICAgICovXG4gICAgaDQuc3Vic2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIjpcIjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBkaXYuc3Vic2VjdGlvbi1kYXRhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIGRpdi5wdmFsLWNvbXBsZXgge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgID4gZGwge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtY29sdW1uLWNvdW50OiAkY29sdW1uczsgLyogQ2hyb21lLCBTYWZhcmksIE9wZXJhICovXG4gICAgICAgICAgICAgICAgICAgLW1vei1jb2x1bW4tY291bnQ6ICRjb2x1bW5zOyAvKiBGaXJlZm94ICovXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW4tY291bnQ6ICRjb2x1bW5zO1xuICAgICAgICAgICAgICAgID4gZHQucGRlZiB7XG4gICAgICAgICAgICAgICAgICAgIC5vbGQtYnJvd3NlciAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDAuMy8kY29sdW1ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOm50aC1jaGlsZCgjezIqJGNvbHVtbnN9bisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCI6XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgID4gZGQucHZhbCB7XG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC5vbGQtYnJvd3NlciAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDAuNy8kY29sdW1ucyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiBcbiBcbi8vLyBNaXhpbiBxdWUgYWN0dWEgcGFyYSBwZXJtaXRpciByZXByZXNlbnRhciB1biBibG9xdWUgZGUgY29udGVuaWRvcyBvIHJlY3Vyc29zLCBwZXJtaXRpZW5kbyByZWNpYmlyXG4vLy8gZGlzdGludG9zIHBhcsOhbWV0cm9zIHF1ZSBwZXJtaXRlbiBjb250cm9sYXIgZWwgbWFyZ2VuIGRlbCBibG9xdWUsIHBhZGRpbmcsIHkgZWwgdGlwbyBkZSBpY29ub1xuLy8vIGEgdXRpbGl6YXIgcGFyYSBjYWRhIGxpc3QtaXRlbS5cbi8vL1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gYmxvY2stcGFkZGluZyAtIEVsIHBhZGRpbmcgZGVsIGJsb3F1ZSBxdWUgdGVuZW1vc1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gbWFyZ2luIC0gRWwgbWFyZ2VuIHF1ZSB0aWVuZSBjYWRhIHVubyBkZSBsaSBxdWUgZm9ybWFuIHBhcnRlIGRlbCBsaXN0YWRvXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBwYWRkaW5nIC0gQ2FkZW5hIHF1ZSBjb250aWVuZSB0b2RhcyBsYXMgcG9zaWNpb25lcyBkZSBwYWRkaW5nIGFzb2NpYWRhcyBhbCBsaVxuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gY29sb3IgICAtIEVsIGNvbG9yIHF1ZSBhc29jaWFtb3MgYWwgZWxlbWVudG9cbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9IGNvbG9yLWhvdmVyIC0gRWwgY29sb3IgY3VhbmRvIGVzdGFtb3MgZW5jaW1hIGRlbCBlbGVtZW50b1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gaXRlbS1ib3JkZXItdG9wIC0gRWwgZm9ybWF0byBkZWwgYm9yZGUgc3VwZXJpb3IgZGUgY2FkYSBlbGVtZW50byBkZWwgbGlzdGFkb1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gaXRlbS1pY29uIFsnJ10gLSBFbCB0ZXh0byBxdWUgdmFtb3MgYSB1dGlsaXphciBjb21vIGVsZW1lbnRvIGFkaWNpb25hbCBlbiBsb3MgbGlzdGFkb3MsIHBvciBkZWZlY3RvIGVzIHVuYSBjYWRlbmEgdmFjw61hXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBpY29uLWZvbnQtZmFtaWx5IFskY29udGVudExpc3RJY29uRm9udEZhbWlseV0gLSBMYSBmYW1pbGlhIGRlIGZ1ZW50ZXMgcXVlIHV0aWxpemFtb3MgcGFyYSByZXByZXNlbnRhciBhIGxvcyBpY29ub3MuXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSBpY29uLWNvbG9yIFsnJ10gLSBFbCBjb2xvciBkZWwgaWNvbm8uXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBpY29uLXBhZGRpbmcgWyRjb250ZW50TGlzdEljb25QYWRkaW5nXSAtIEVsIHBhZGRpbmcgcXVlIGFzb2NpYW1vcyBhIGNhZGEgdW5vIGRlIGxvcyBsaSBlbiBlbCBjYXNvIGRlIHRlbmVyIHVuIGljb25vIGEgbGEgaXpxdWllcmRhLCBhIGZpbiBkZSBxdWUgc2UgcHVlZGEgZGlmZXJlbmNpYXIgZW50cmUgaWNvbm8geSBlbGVtZW50b1xuLy8vIEBwYXJhbWV0ZXIge0Jvb2xlYW59IHJlc2V0IFt0cnVlXSAtIFNpIHRlbmVtb3MgcXVlIGdlbmVyYXIgQ1NTIHBhcmEgcmVzZXRlYXIgcG9zaWJsZXMgdmFsb3JlcyBlc3BlY2lmaWNhZG9zIGVuIGxhIGhvamEgZGUgZXN0aWxvcyBjdWFuZG8gcXVlcmVtb3MgcG9uZXIgdW4gaXRlbUljb24gdmFjw61vLCBwb3IgZGVmZWN0byBzaS5cbi8vLyBAY29udGVudCBQZXJtaXRlIGFuaWRhciBjdWVycG8gZGVsIGNvbnRlbmlkbyBlbiBlbCBpbnRlcmlvci5cbkBtaXhpbiBjb250ZW50QmxvY2soJGJsb2NrLXBhZGRpbmcsICRtYXJnaW4sJHBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICRjb2xvciwkY29sb3ItaG92ZXIsXG4gICAgICAgICAgICAgICAgICAgICRpdGVtLWJvcmRlci10b3AsIFxuICAgICAgICAgICAgICAgICAgICAkaXRlbS1pY29uOicnLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbi1mb250LWZhbWlseTokY29udGVudExpc3RJY29uRm9udEZhbWlseSxcbiAgICAgICAgICAgICAgICAgICAgJGljb24tY29sb3I6ICcnLFxuICAgICAgICAgICAgICAgICAgICAkaWNvbi1wYWRkaW5nOiRjb250ZW50TGlzdEljb25QYWRkaW5nLFxuICAgICAgICAgICAgICAgICAgICAkcmVzZXQ6dHJ1ZSkge1xuICAgICAgICAgICAgICAgXG4gICAgJiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogJGJsb2NrLXBhZGRpbmc7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIC5jbUNvbnRlbnRMaW5rLCBhLmNtQ29udGVudExpbms6dmlzaXRlZCxcbiAgICAgICAgLmNtUmVzb3VyY2VMaW5rLCBhLmNtUmVzb3VyY2VMaW5rOnZpc2l0ZWQge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBhLmNtQ29udGVudExpbms6aG92ZXIsIGEuY21Db250ZW50TGluazphY3RpdmUsIGEuY21Db250ZW50TGluazpmb2N1cyxcbiAgICAgICAgYS5jbVJlc291cmNlTGluazpob3ZlciwgYS5jbVJlc291cmNlTGluazphY3RpdmUsIGEuY21SZXNvdXJjZUxpbms6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgICA+IGxpIHsgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIG1hcmdpbjogJG1hcmdpbjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgQGlmICRpdGVtLWljb24gIT0gJycge1xuICAgICAgICAgICAgICAgICY6YmVmb3JlICB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoJGljb24tZm9udC1mYW1pbHkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAkaXRlbS1pY29uO1xuICAgICAgICAgICAgICAgICAgICBAaWYgJGljb24tY29sb3IhPScnIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRpY29uLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmPiAqIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaWNvbi1wYWRkaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICRyZXNldCB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUgIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY+ICoge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAgICAgJi5jbUljb25Db250ZW50SXRlbSA+ICoge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGNvbnRlbnQ7XG5cbiAgICAgICAgfVxuICAgIFxuICAgICAgICAvLyBMaW1waWFtb3MgZWwgcHJpbWVyIGhpam8uXG4gICAgICAgID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vIEZ1bmNpb25lcyBleHRyYSBxdWUgdGVuZW1vcyBxdWUgc29wb3J0YXIgcGFyYSBlbCBmdW5jaW9uYW1laW50byBtdWx0aS1jb2x1bW5hXG4gICAgICAgICY6bm90KC5uQ29sdW1ucykge1xuICAgICAgICAgICAgPiBsaStsaSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJGl0ZW0tYm9yZGVyLXRvcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gQWhvcmEgZXNwZWNpZmljYW1vcyBsb3MgZXN0aWxvcyBlbiBmdW5jacOzbiBkZSBsYXMgbi1jb2x1bW5hc1xuICAgICAgICBAZm9yICRjb2wgZnJvbSAyIHRocm91Z2ggMTIge1xuICAgICAgICAgICAgJGN1cnJJdGVtOiAgJGNvbCArIDE7XG4gICAgICAgICAgICAmLm5Db2x1bW5zXyN7JGNvbH0gPiBsaTpudGgtY2hpbGQobisjeyRjdXJySXRlbX0pIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkaXRlbS1ib3JkZXItdG9wO1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgICAgICBcbiAgICAgICAgXG4gICAgfVxufVxuXG4vLy8gTWl4aW4gcXVlIG5vcyBwZXJtaXRlIGVzdGFibGVjZXIgdW4gdGFtYcOxbyBkZSBsb3MgZGlzdGludG9zIGVsZW1lbnRvcyBkZSB1biBibG9xdWUgZGUgY29udGVuaWRvcyBhc29jaWFkbyBhIHVuIGRldGVybWluYWRvXG4vLy8gdGFtYcOxbyBkZSBmdWVudGUgcXVlIHBhc2Ftb3MgY29tbyBwYXLDoW1ldHJvLCB0aWVuZSBlbiBjdWVudGEgZWwgcmVzdG8gZGUgdGFtYcOxb3MgZGVmaW5pZG9zIHBhcmEgY2FsY3VsYXIgZWwgdGFtYcOxbyBhZGVjdWFkbyxcbi8vLyBwYXJ0ZSBkZWwgJGZvbnQtc2l6ZS1iYXNlLCBzaSBlcyBlbCBtaXNtbyBubyBnZW5lcmEgbmFkYSwgZW4gb3RybyBjYXNvIGdlbmVyYSBpbmZvcm1hY2nDs24gYWRlY3VhZGEgcGFyYSBwaW50YXIgbG9zIGRpc3RpbnRvc1xuLy8vIGVsZW1lbnRvcy5cbi8vLyBcbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9IGJsb2NrLXBhZGRpbmcgLSBFbCBwYWRkaW5nIGRlbCBibG9xdWUgcXVlIHRlbmVtb3NcbkBtaXhpbiBjb250ZW50QmxvY2tTaXppbmcoJGZvbnQtYmFzZSkge1xuICAgICYge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIC8vIExhIGZ1ZW50ZSBiYXNlIGRlIHRvZG8gZWwgY3VlcnBvXG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LWJhc2U7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIEVsIHRhbWHDsW8gZGUgbG9zIGVsZW1lbnRvcyBpbnRlbnJvcyBxdWUgdGVuZW1vcywgcXVlIGFqdXN0YW1vcyBlbiBmdW5jacOzbiBkZSBlc3RhLCBiw6FzaWNhbWVudGVcbiAgICAgICAgICAgIC8vIHPDs2xvIGFqdXN0YW1vcyBlbCB0YW1hw7FvIGRlIGxhcyBjYXJhY3RlcsOtc3RpY2FzLCBxdWUgZXMgbG8gw7puaWNvIHF1ZSBhcGFyZW50ZW1lbnRlIHB1ZWRlIHZhcmlhci5cbiAgICAgICAgICAgIC50ZW1wbGF0ZUh0bWxMaXN0RGV0YWlsIHtcbiAgICAgICAgICAgICAgICAuZmVhdHVyZXMge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkdGVtcGxhdGluZy1mZWF0dXJlcy1mb250LXNpemUgLyAkZm9udC1zaXplLWJhc2UpKiRmb250LWJhc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vLyBNaXhpbiBxdWUgcGVybWl0ZSByZXByZXNlbnRhciB1biBmb3JtYXRvIGRlIG1hcGEgd2ViLCByZWNpYmllbmRvIGVsIG5pdmVsIHkgZWwgZXN0aWxvIGFzb2NpYWRvIGNvbW8gdW4gXG4vLy8gbWFwYSBlbiBlbCBxdWUgc2UgZGVmaW5lbiB2YXJpYXMgdmFyaWFibGVzLCB2ZWFzZSBlbCBmaWNoZXJvIGRlIHZhcmlhYmxlcyBnbG9iYWwgZGUgUHJveGlhIHBhcmEgXG4vLy8gY29uZmlndXJhciBhZGVjdWFkYW1lbnRlIHN1IGZvcm1hdG8uXG4vLy8gXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBsZXZlbCAtIEVsIG5pdmVsIGRlbCBtYXBhIFdlYiBlbiBlbCBxdWUgbm9zIGVuY29udHJhbW9zXG4vLy8gQHBhcmFtZXRlciB7TWFwfSBjb25maWd1cmF0aW9uIC0gTGEgY29uZmlndXJhY2nDs24gZGVsIGVsZW1lbnRvIGRlbCBtYXBhIFdlYiBxdWUgZXN0YW1vcyBwaW50YW5kby5cbkBtaXhpbiBzaXRlbWFwKCRsZXZlbCwkY29uZmlndXJhdGlvbikge1xuICAgIHVsLmNtV2ViTWFwTGV2ZWwjeyRsZXZlbH0ge1xuICAgICAgICAvLyBObyBxdWVyZW1vcyBxdWUgbm9zIGdlbmVyZSBpY29ubywgcG9ycXVlIHNlIGxvIHZhbW9zIGEgbWV0ZXIgZGlyZWN0YW1lbnRlIGFsIG5pdmVsXG4gICAgICAgIC8vIGRlIGZvcm1hIG1hbnVhbC5cbiAgICAgICAgQGluY2x1ZGUgY29udGVudEJsb2NrKG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ2Jsb2NrLXBhZGRpbmcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ2Jsb2NrLWl0ZW0tbWFyZ2luJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRjb25maWd1cmF0aW9uLCdibG9jay1pdGVtLXBhZGRpbmcnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ2Jsb2NrLWl0ZW0tY29sb3InKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ2Jsb2NrLWl0ZW0tY29sb3ItaG92ZXInKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ2Jsb2NrLWl0ZW0tYm9yZGVyLXRvcCcpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAvLyBFbCB0YW1hw7FvIGRlIGxhIGZ1ZW50ZSBxdWUgYXBsaWNhbW9zIGFsIGJsb3F1ZS4uLlxuICAgICAgICBAaW5jbHVkZSBjb250ZW50QmxvY2tTaXppbmcobWFwLWdldCgkY29uZmlndXJhdGlvbiwnYmxvY2staXRlbS1mb250LXNpemUnKSk7XG5cbiAgICAgICAgJGxldmVsbWFyZ2luOiBpZihtYXAtaGFzLWtleSgkY29uZmlndXJhdGlvbiwnaW5kZW50LW1hcmdpbicpLG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ2luZGVudC1tYXJnaW4nKSwkaW5kZW50LW1hcmdpbik7ICAgICAgICBcbiAgICAgICAgXG4gICAgICAgIC8vIHZhbW9zIGEgaW50cm9kdWNpciBzaWVtcHJlIHVuIHBhZGRpbmcgYSBsYSBpenF1aWVyZGEsIGV4Y2VwdG8gc2kgZXN0YW1vcyBlbiBlbCBuaXZlbCAxLCBwdWVzdG8gcXVlXG4gICAgICAgIC8vIGVzZSBubyBhcGljYVxuICAgICAgICBAaWYgJGxldmVsICE9IDEge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRsZXZlbG1hcmdpbiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAvLyBJbnRyb2R1Y2ltb3MgZWwgc3R5bGluZyBkZWwgRElWXG4gICAgICAgIC5jbVdlYk1hcExldmVsI3skbGV2ZWx9SGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ3RpdGxlLW1hcmdpbicpO1xuICAgICAgICAgICAgLmNtV2ViTWFwTGV2ZWwjeyRsZXZlbH0ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ3RpdGxlLWJhY2tncm91bmQnKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjb25maWd1cmF0aW9uLCd0aXRsZS1wYWRkaW5nJyk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbWFwLWdldCgkY29uZmlndXJhdGlvbiwndGl0bGUtZGlzcGxheScpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogbWFwLWdldCgkY29uZmlndXJhdGlvbiwndGl0bGUtYm9yZGVyLXN0eWxlJyk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb25maWd1cmF0aW9uLCd0aXRsZS1ib3JkZXItY29sb3InKTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ3RpdGxlLWJvcmRlcicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSW50cm9kdWNpbW9zIGxvcyBkYXRvcyByZWxhY2lvbmFkb3MgY29uIGVsIGljb25vLCBzaSBlcyBcbiAgICAgICAgICAgIC8vIHF1ZSBleGlzdGUgZW4gZWwgbWFwYS5cbiAgICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkY29uZmlndXJhdGlvbiwndGl0bGUtaWNvbicpIHtcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQobWFwLWdldCgkY29uZmlndXJhdGlvbiwndGl0bGUtaWNvbi1mb250JykpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRjb25maWd1cmF0aW9uLCd0aXRsZS1pY29uJyk7XG4gICAgICAgICAgICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkY29uZmlndXJhdGlvbiwndGl0bGUtaWNvbi1jb2xvcicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb25maWd1cmF0aW9uLCd0aXRsZS1pY29uLWNvbG9yJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IG1hcC1nZXQoJGNvbmZpZ3VyYXRpb24sJ3RpdGxlLWljb24tcGFkZGluZycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUgIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiA+ICo6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi8vLyBNaXhpbiBxdWUgcGVybWl0ZSBkZWZpbmlyIGVsIGZvcm1hdG8gZGVsIGJvdMOzbiBkZSB2ZXIgbcOhcy5cbi8vL1xuLy8vIEBwYXJhbWV0ZXIgIHtNYXB9ICAgIHVzZXJTZXR0aW5ncyAgLSAgQWp1c3RlcyBkZWwgYm90w7NuIGRlIHZlciBtw6FzXG5AbWl4aW4gYmFubmVyLXNob3dtb3JlKCR1c2VyU2V0dGluZ3MpIHtcbiAgICAmIHtcbiAgICAgICAgJHNob3dNb3JlSWNvbjogbWFwLWdldCgkdXNlclNldHRpbmdzLCdpY29uLWNvbnRlbnQnKTtcbiAgICAgICAgJHNob3dNb3JlRmFtaWx5OiBtYXAtZ2V0KCR1c2VyU2V0dGluZ3MsJ2ljb24tZm9udC1mYW1pbHknKTtcbiAgICAgICAgJHNob3dNb3JlUG9zaXRpb246IG1hcC1nZXQoJHVzZXJTZXR0aW5ncywnaWNvbi1wb3NpdGlvbicpO1xuXG4gICAgXG4gICAgICAgICRzZXR0aW5nczogbWFwLW1lcmdlKCRiYW5uZXItc2hvd21vcmUtYnV0dG9uLCR1c2VyU2V0dGluZ3MpO1xuICAgICAgIFxuICAgICAgICAuaGFzLXNob3ctbW9yZSB7XG4gICAgICAgICAgICAuYmFubmVyU2hvd01vcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChtYXAtZ2V0KCRzZXR0aW5ncywndGV4dC1jb2xvcicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJHNldHRpbmdzLCdiZy1jb2xvcicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1nZXQoJHNldHRpbmdzLCdiZy1jb2xvcicpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcsMiokbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLWdldCgkc2V0dGluZ3MsJ2ZvbnQtc2l6ZScpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgobWFwLWdldCgkc2V0dGluZ3MsJ2ZvbnQtc2l6ZScpICogJGxpbmUtaGVpZ2h0LWJhc2UpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAtZ2V0KCRzZXR0aW5ncywnYm9yZGVyLXJhZGl1cycpKTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIEBpZiAkc2hvd01vcmVJY29uICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICRzaG93TW9yZVBvc2l0aW9uID09ICdyaWdodCcge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJHNob3dNb3JlSWNvbjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCRzaG93TW9yZUZhbWlseSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzaG93TW9yZUljb247XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQoJHNob3dNb3JlRmFtaWx5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICBcbiAgICB9XG5cbn1cblxuLy8vIE1peGluIHBhcmEgY29sb2NhciB1biBiYW5uZXIgZW4gbGEgcG9zaWNpw7NuIHRvcFxuLy8vXG4vLy8gQHBhcmFtZXRlciAge01hcH0gICAgYmFubmVyLXNob3dtb3JlLXNldHRpbmdzIFskYmFubmVyLXNob3dtb3JlLWJ1dHRvbl0gLSAgQWp1c3RlcyBkZWwgYm90w7NuIGRlIHZlciBtw6FzXG5AbWl4aW4gYmFubmVyLXRvcCgkYmFubmVyLXNob3dtb3JlLXNldHRpbmdzOiRiYW5uZXItc2hvd21vcmUtYnV0dG9uKSB7XG4gICAgJiB7XG4gICAgICAgIGltZywgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJhbm5lci1zaG93bW9yZSgkYmFubmVyLXNob3dtb3JlLXNldHRpbmdzKTtcbiAgICB9XG59XG5cbi8vLyBNaXhpbiBwYXJhIGNvbG9jYXIgdW4gYmFubmVyIGVuIGxhIHBvc2ljacOzbiBib3R0b21cbi8vL1xuLy8vIEBwYXJhbWV0ZXIgIHtNYXB9ICAgIGJhbm5lci1zaG93bW9yZS1zZXR0aW5ncyBbJGJhbm5lci1zaG93bW9yZS1idXR0b25dIC0gIEFqdXN0ZXMgZGVsIGJvdMOzbiBkZSB2ZXIgbcOhc1xuQG1peGluIGJhbm5lci1ib3R0b20oJGJhbm5lci1zaG93bW9yZS1zZXR0aW5nczokYmFubmVyLXNob3dtb3JlLWJ1dHRvbikge1xuICAgICYge1xuICAgICAgICBpbWcsIC5jbUJhbm5lcklubmVyIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5jbUJhbm5lcklubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJhbm5lci1zaG93bW9yZSgkYmFubmVyLXNob3dtb3JlLXNldHRpbmdzKTsgICAgICAgIFxuICAgIH1cbn1cbi8vLyBNaXhpbiBxdWUgbm9zIHBlcm1pdGUgZ2VuZXJhciB1biBiYW5uZXIgZW4gcG9zaWNpw7NuIGl6cXVpZXJkYSwgcmVjaWJlIGNvbW8gYXJndW1lbnRvcyBsYSBhbmNodXJhIG3DoXhpbWFcbi8vLyBkZSBsYSBpbWFnZW4geSBsYSBhbmNodXJhIG3DoXhpbWEgZGVsIGNhbXBvIGRlIHRleHRvLlxuLy8vXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBpbWFnZS13aWR0aCAtIEVsIGFuY2hvIHF1ZSBzZSBkZXNlYSBkYXIgYSBsYSBpbWFnZW5cbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IHRleHQtd2lkdGggLSBFbCBhbmNobyBxdWUgc2UgZGVzZWEgZGFyIGEgbGEgY2FwYSBkZSB0ZXh0b1xuLy8vIEBwYXJhbWV0ZXIgIHtNYXB9ICAgIGJhbm5lci1zaG93bW9yZS1zZXR0aW5ncyBbJGJhbm5lci1zaG93bW9yZS1idXR0b25dIC0gIEFqdXN0ZXMgZGVsIGJvdMOzbiBkZSB2ZXIgbcOhc1xuQG1peGluIGJhbm5lci1sZWZ0KCRpbWFnZS13aWR0aCwgJHRleHQtd2lkdGgsJGJhbm5lci1zaG93bW9yZS1zZXR0aW5nczokYmFubmVyLXNob3dtb3JlLWJ1dHRvbikge1xuICAgICYge1xuICAgICAgICAgICBpbWcsIC5jbUJhbm5lcklubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaGFsZkd1dHRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBiYW5uZXItc2hvd21vcmUoJGJhbm5lci1zaG93bW9yZS1zZXR0aW5ncyk7ICAgICAgICBcbiAgICB9XG4gICAgXG4gICAgJi5pbWFnZVRleHQge1xuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkaW1hZ2Utd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC5jbUJhbm5lcklubmVyIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogJHRleHQtd2lkdGg7XG4gICAgICAgIH1cbiAgICB9ICAgIFxufVxuXG4vLy8gTWl4aW4gcXVlIG5vcyBwZXJtaXRlIGdlbmVyYXIgdW4gYmFubmVyIGVuIHBvc2ljacOzbiBpenF1aWVyZGEsIHJlY2liZSBjb21vIGFyZ3VtZW50b3MgbGEgYW5jaHVyYSBtw6F4aW1hXG4vLy8gZGUgbGEgaW1hZ2VuIHkgbGEgYW5jaHVyYSBtw6F4aW1hIGRlbCBjYW1wbyBkZSB0ZXh0by5cbi8vLyBcbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IGltYWdlLXdpZHRoIC0gRWwgYW5jaG8gcXVlIHNlIGRlc2VhIGRhciBhIGxhIGltYWdlblxuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gdGV4dC13aWR0aCAtIEVsIGFuY2hvIHF1ZSBzZSBkZXNlYSBkYXIgYSBsYSBjYXBhIGRlIHRleHRvXG4vLy8gQHBhcmFtZXRlciAge01hcH0gICAgYmFubmVyLXNob3dtb3JlLXNldHRpbmdzIFskYmFubmVyLXNob3dtb3JlLWJ1dHRvbl0gLSAgQWp1c3RlcyBkZWwgYm90w7NuIGRlIHZlciBtw6FzXG5AbWl4aW4gYmFubmVyLXJpZ2h0KCRpbWFnZS13aWR0aCwgJHRleHQtd2lkdGgsJGJhbm5lci1zaG93bW9yZS1zZXR0aW5nczokYmFubmVyLXNob3dtb3JlLWJ1dHRvbikge1xuICAgICYge1xuICAgICAgICBpbWcsIC5jbUJhbm5lcklubmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHZjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGhhbGZHdXR0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJhbm5lci1zaG93bW9yZSgkYmFubmVyLXNob3dtb3JlLXNldHRpbmdzKTsgICAgICAgIFxuICAgIH1cbiAgICBcbiAgICAmLmltYWdlVGV4dCB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRpbWFnZS13aWR0aDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLmNtQmFubmVySW5uZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAkdGV4dC13aWR0aDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFVuIG1peGluIHF1ZSBwZXJtaXRlIGNyZWFyIGVsIHTDrXR1bG8gZGUgdW4gYmxvcXVlIGRlIGVubGFjZSBhIGNvbnRlbmlkbyBlbiBlbCBzaXN0ZW1hLCBhdW5xdWUgcG9kcsOtYSB1c2Fyc2UgY29uIG90cm9cbi8vLyBvYmpldGl2by5cbi8vL1xuLy8vIEBwYXJhbWV0ZXIgICAge1N0cmluZ30gdGl0bGUtY29sb3IgICAgICAgICAgICAgICAgICAgIC0gRWwgY29sb3IgcG9yIGRlZmVjdG8gcXVlIHV0aWxpemFtb3Ncbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSB0aXRsZS1jb2xvci1ob3ZlciAgICAgICAgICAgICAgLSBFbCBjb2xvciBwb3IgZGVmZWN0byBxdWUgdXRpbGl6YW1vcyBwYXJhIGxvcyBlbmxhY2VzXG4vLy8gQHBhcmFtZXRlciAge1N0cmluZ30gdGl0bGUtc2l6ZSAgICAgICAgICAgICAgICAgICAgIC0gRWwgdGFtYcOxbyBhc29jaWFkbyBhbCBjdWVycG8gZGVsIGNvbnRlbmlkb3Ncbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSB0aXRsZS1wYWRkaW5nICAgICAgICAgICAgICAgICAgLSBFbCBwYWRkaW5nIGFzb2NpYWRvIGFsIHTDrXR1bG9cbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSB0aXRsZS1tYXJnaW4gICAgICAgICAgICAgICAgICAgLSBFbCBtYXJnZW4gYXNvY2lhZG8gYWwgdMOtdHVsb1xuLy8vIEBwYXJhbWV0ZXIgIHtTdHJpbmd9IHRpdGxlLWJnY29sb3IgICAgICAgICAgICAgICAgICAtIEVsIGNvbG9yIGRlIGZvbmRvIGFzb2NpYWRvIGFsIHTDrXR1bG9cbi8vLyBAY29udGVudCAgICBBZG1pdGUgY3VlcnBvIGRlbCBjb250ZW5pZG9cbkBtaXhpbiBhYnN0cmFjdEJsb2NrVGl0bGUoJHRpdGxlLWNvbG9yLCR0aXRsZS1jb2xvci1ob3ZlciwkdGl0bGUtc2l6ZSwkdGl0bGUtcGFkZGluZywkdGl0bGUtbWFyZ2luLCR0aXRsZS1iZ2NvbG9yKSB7XG4gICAgJiB7XG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0aXRsZS1zaXplO1xuICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1jb2xvcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICR0aXRsZS1wYWRkaW5nO1xuICAgICAgICAgICAgbWFyZ2luOiAkdGl0bGUtbWFyZ2luO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRpdGxlLWJnY29sb3I7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGEsIGE6dmlzaXRlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBhOmZvY3VzLGE6aG92ZXIsIGE6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRpdGxlLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIFxuICAgICAgICBcbiAgICAgICAgfVxuICAgIFxuICAgIH1cblxufVxuXG4vLy8gVW4gbWl4aW4gcXVlIGhhY2UgdW4gZWxsaXBzaXMgYSB1biBuw7ptZXJvIGRlIGxpbmVhcyBkZSB1biBibG9xdWUgZGUgdGV4dG9cbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IHNpemUgLSBFbCB0YW1hw7FvIGRlIGZ1ZW50ZXNcbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IGxpbmVzIC0gRWwgbsO6bWVybyBkZSBsaW5lYXNcbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IGxpbmUtaGVpZ2h0IC0gRWwgdGFtYcOxbyBkZSBsYSBsaW5lYSBzaSBubyBzZSBxdWllcmUgZWwgdmFsb3IgcG9yIGRlZmVjdG9cbkBtaXhpbiBjdXRUZXh0KCRzaXplLCAkbGluZXMsICRsaW5lLWhlaWdodDogLTEpIHtcbiAgICAkYWN0dWFsTGluZUhlaWdodDogaWYoJGxpbmUtaGVpZ2h0ID09IC0xLCAoJHNpemUqJGxpbmUtaGVpZ2h0LWJhc2UpLCAkbGluZS1oZWlnaHQpO1xuXG4gICAgJiB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkYWN0dWFsTGluZUhlaWdodDtcbiAgICAgICAgQGlmICRsaW5lcyAhPSAtMSB7XG4gICAgICAgICAgICBoZWlnaHQ6ICRsaW5lcyAqICRhY3R1YWxMaW5lSGVpZ2h0O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogJGxpbmVzO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBvdmVyZmxvdzogaW5pdGlhbDtcbiAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGluaXRpYWw7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIFVuIG1peGluIHF1ZSBwZXJtaXRlIGRlZmluaXIgZGF0b3MgZXNwZWNpYWxlcyByZWxhY2lvbmFkb3MgY29uIGVsIGN1ZXJwbyBkZSBsb3Mgc3ViY29udGVuaWRvcyBhc29jaWFkb3MgYWwgY3VlcnBvIGRlIHVuIGVubGFjZVxuLy8vXG4vLy8gQHBhcmFtZXRlciAge1N0cmluZ30gYmFja2dyb3VuZC1jb2xvciAgICAgICAgLSBFbCBjb2xvciBkZSBmb25kbyBkZWwgZWxlbWVudG8gY29tcGxldG9cbi8vLyBAcGFyYW1ldGVyICB7TnVtYmVyfSBpdGVtLXRpdGxlLXNpemUgICAgICAgICAtIEVsIHRhbWHDsW8gZGUgZnVlbnRlIGFzb2NpYWRvIGFsIHTDrXR1bG8gZGUgY2FkYSBpdGVtXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gaXRlbS10aXRsZS1saW5lcyAgICAgICAgLSBFbCBuw7ptZXJvIG3DoXhpbW8gZGUgbMOtbmVhcyBxdWUgcXVlcmVtc28gbW9zdHJhciBkZWwgdMOtdHVsb1xuLy8vIEBwYXJhbWV0ZXIgIHtOdW1iZXJ9IGl0ZW0tY29udGVudC1tYXJnaW4tdG9wIC0gRWwgbWFyZ2VuIGRlIGxhIHBhcnRlIHN1cGVyaW9yIHF1ZSB0ZW5lbW9zLlxuLy8vIEBwYXJhbWV0ZXIgIHtOdW1iZXJ9IGl0ZW0tY29udGVudC1zaXplICAgICAgIC0gRWwgdGFtYcOxbyBkZSBmdWVudGUgYXNvY2lhZG8gYWwgY3VlcnBvIGRlIGNhZGEgaXRlbVxuLy8vIEBwYXJhbWV0ZXIgIHtOdW1iZXJ9IGl0ZW0tY29udGVudC1saW5lcyAgICAgIC0gRWwgbsO6bWVybyBtw6F4aW1vIGRlIGzDrW5lYXMgcXVlIHF1ZXJlbW9zIG1vc3RyYXIgZGVsIGN1ZXJwb1xuLy8vIEBwYXJhbWV0ZXIgIHtOdW1iZXJ9IGl0ZW0tbW9yZWluZm8tc2l6ZSAgICAgIC0gRWwgdGFtYcOxbyBkZSBmdWVudGUgYXNvY2lhZG8gYSBsYSBldGlxdWV0YSBkZSBtw6FzIGluZm9ybWFjacOzblxuLy8vIEBjb250ZW50ICAgIEluZm9ybWFjacOzbiBleHRyYSBhIGHDsWFkaXIgYWwgYmxvcXVlIGRlIGluZm9ybWFjacOzblxuQG1peGluIGFic3RyYWN0QmxvY2tTdWJjb250ZW50c1NpemluZygkYmFja2dyb3VuZC1jb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGl0ZW0tdGl0bGUtc2l6ZSwgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpdGVtLXRpdGxlLWxpbmVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXRlbS1jb250ZW50LW1hcmdpbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGl0ZW0tY29udGVudC1zaXplLCBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGl0ZW0tY29udGVudC1saW5lcykge1xuICAgICYge1xuICAgICAgICAuY21Db250ZW50TGlzdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNvbnRlbnQtbmFtZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY3V0VGV4dCgkaXRlbS10aXRsZS1zaXplLCRpdGVtLXRpdGxlLWxpbmVzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNvbnRlbnQtdGV4dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGl0ZW0tY29udGVudC1tYXJnaW47XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY3V0VGV4dCgkaXRlbS1jb250ZW50LXNpemUsJGl0ZW0tY29udGVudC1saW5lcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgXG4gICAgfVxufVxuXG4vLy8gVW4gbWl4aW4gcXVlIHBlcm1pdGUgbWFxdWV0YXIgZWwgYmxvcXVlIGRlIG3DoXMgaW5mb3JtYWNpw7NuIHZpbmN1bGFkbyBhIHVuIGljb25vLCBjb24gbGEgcG9zaWJpbGlkYWQgZGUgYcOxYWRpclxuLy8vIHVuIGl0ZW0sIGVzcGVjaWZpY2FyIHVuIG1hcmdpbiB1biBwYWRkaW5nLCBldGMuXG4vLy8gXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gZm9udC1zaXplICAgICAgICAgIC0gRWwgdGFtYcOxbyBkZSBsYSBmdWVudGUgZGVsIGJsb3F1ZSBkZSBtw6FzIGluZm9ybWFjacOzblxuLy8vIEBwYXJhbWV0ZXIgIHtTdHJpbmd9IGNvbG9yICAgICAgICAgICAgICAtIEVsIGNvbG9yIGRlIGZ1ZW50ZSBkZWwgZWxlbWVudG9cbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSBjb2xvci1ob3ZlciAgICAgICAgLSBFbCBjb2xvciBkZSBmdWVudGUgYWwgcGFzYXIgZWwgcmF0w7NuIHBvciBlbmNpbWEgZGVsIGVsZW1lbnRvXG4vLy8gQHBhcmFtZXRlciAge1N0cmluZ30gYmdjb2xvciAgICAgICAgICAgIC0gRWwgY29sb3IgZGUgZm9uZG8gZGVsIGJsb3F1ZSBkZSBtw6FzIGluZm9ybWFjacOzblxuLy8vIEBwYXJhbWV0ZXIgIHtOdW1iZXJ9IHBhZGRpbmcgICAgICAgICAgICAtIEVsIG1hcmdlbiBpbnRlcmlvciBkZWwgYmxvcXVlIGRlIG3DoXMgaW5mb3JtYWNpw7NuXG4vLy8gQHBhcmFtZXRlciAge051bWJlcn0gbWFyZ2luICAgICAgICAgICAgIC0gRWwgbWFyZ2VuIGRlbCBibG9xdWUgZGUgbcOhcyBpbmZvcm1hY2nDs25cbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSBpY29uLWNvbnRlbnQgICAgICAgLSBFbCBpY29ubyBjb24gZWwgcXVlIHNlIHZhIGEgdmluY3VsYXJcbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSBpY29uLWZvbnQtZmFtaWx5ICAgLSBFbCB0aXBvIGRlIGZ1ZW50ZSBkZSBmYW1pbGlhIGEgbGEgcXVlIHBlcnRlbmVjZSBlbCBpY29ubyBcbi8vLyBAcGFyYW1ldGVyICB7U3RyaW5nfSBpY29uLXBvc2l0aW9uICAgICAgLSBMYSBwb3NpY2nDs24gcGFyYSBpbmNsdWlyIGVsIGljb25vIGVuIGVsIGFmdGVyIG8gZW4gZWwgYmVmb3JlXG5AbWl4aW4gYWJzdHJhY3RCbG9ja1N1YmNvbnRlbnRzTW9yZUluZm9ybWF0aW9uKCRmb250LXNpemUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWhvdmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYmdjb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhZGRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRtYXJnaW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpY29uLWNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpY29uLWZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaWNvbi1wb3NpdGlvbikge1xuICAgICYge1xuICAgICAgICAuY21Db250ZW50TGlzdCB7XG4gICAgICAgICAgICAubW9yZS1pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICAgICAgYSxhOnZpc2l0ZWQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYTpmb2N1cyxhOmhvdmVyLGE6YWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkbWFyZ2luO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ2NvbG9yO1xuICAgICAgICAgICAgICAgIEBpZiAkaWNvbi1jb250ZW50ICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGlmICRpY29uLXBvc2l0aW9uID09ICdyaWdodCcge1xuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCRpY29uLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJGljb24tY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KCRpY29uLWZvbnQtZmFtaWx5KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vLyBVbiBtaXhpbiBwYXJhIHBvbmVyIGxhIGltYWdlbiBkZWJham8gZGVsIHRleHRvLlxuLy8vXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBiYW5uZXItaGVpZ2h0ICAgIC0gTGEgYWx0dXJhIHF1ZSBkZXNlYW1vcyB0ZW5nYSBlbCBiYW5uZXJcbi8vLyBAcGFyYW1ldGVyICB7TnVtYmVyfSBwYWRkaW5nLWJveFswXSAgICAtIEVsIHRhbWHDsW8gZGVsIHBhZGRpbmcgYm94IGRlIGxhIGNhamEgcGFyYSBjYWxjdWxhciBsYSBhbHR1cmEgYWRlY3VhZGFtZW50ZVxuLy8vIEBwYXJhbWV0ZXIgIHtNYXB9ICAgIGJhbm5lci1zaG93bW9yZS1zZXR0aW5ncyBbJGJhbm5lci1zaG93bW9yZS1idXR0b25dIC0gIEFqdXN0ZXMgZGVsIGJvdMOzbiBkZSB2ZXIgbcOhc1xuQG1peGluIGJhbm5lci1iZWxvdygkYmFubmVyLWhlaWdodCwkcGFkZGluZy1ib3g6MCwgJGJhbm5lci1zaG93bW9yZS1zZXR0aW5nczokYmFubmVyLXNob3dtb3JlLWJ1dHRvbikge1xuICAgICYge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgLmNtQmFubmVyT3V0ZXIge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jbUJhbm5lcklubmVyIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgLmJhbm5lclRleHQsLmJhbm5lclNob3dNb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdmNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmJhbm5lclNob3dNb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gICAgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJhbm5lci1zaG93bW9yZSgkYmFubmVyLXNob3dtb3JlLXNldHRpbmdzKTsgICAgICAgIFxuICAgIH1cblxufVxuXG4vLy8gTWl4aW4gb3JpZW50YWRvIGEgZXNwYWNpYXIgbG9zIGVsZW1lbnRvcyBkZSB1bmEgbGlzdGEgcXVlIGhhbiBzaWRvIGNvbnZlcnRpZG9zIGVuIGNvbHVtbmFzIHByZXZpYW1lbnRlIHVuXG4vLy8gZGV0ZXJtaW5hZG8gZXNwYWNpYWRvIHZlcnRpY2FsIHkgdW5vIGhvcml6b250YWxcbi8vL1xuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gY29sLXNwYWNpbmcgLSAgIEVsIGVzcGFjaWFkbyBlbnRyZSBjb2x1bW5hc1xuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gcm93LXNwYWNpbmcgLSAgIEVsIGVzcGFjaWFkbyBlbnRyZSBmaWxhc1xuQG1peGluIHNwYWNlLWNvbHVtbml6ZWQtbGlzdCAoJGNvbC1zcGFjaW5nLCRyb3ctc3BhY2luZykge1xuICAgICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kY29sLXNwYWNpbmcvMjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kY29sLXNwYWNpbmcvMjtcbiAgICAgICAgbWFyZ2luLXRvcDogLSRyb3ctc3BhY2luZztcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29sLXNwYWNpbmcvMjtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbC1zcGFjaW5nLzI7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogJHJvdy1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbkBtaXhpbiBzcGFjZS1jb2x1bW5pemVkLWFueSAoJGNvbC1zcGFjaW5nLCRyb3ctc3BhY2luZykge1xuICAgICYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kY29sLXNwYWNpbmcvMjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kY29sLXNwYWNpbmcvMjtcbiAgICAgICAgbWFyZ2luLXRvcDogLSRyb3ctc3BhY2luZztcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb2wtc3BhY2luZy8yO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29sLXNwYWNpbmcvMjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkcm93LXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuXG4vLy8gTWl4aW4gcXVlIGNhbGN1bGEgZWwgcG9yY2VudGFqZSBkZSBwYW50YWxsYSBwYXJhIHVuIGRldGVybWluYWRvIHZhbG9yIHNvYnJlIGVsIDEwMCUsIGVuIGNhc28gZGUgcXVlIGxhIG11bHRpcGxpY2FjacOzbiBkZSBsb3Mgc3VwZXJpb3JlcyBzZWFcbi8vLyBtYXlvciBxdWUgZWwgMTAwJSByZXN0YSAwLjAxIGFsIHZhbG9yLlxuLy8vXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBjb2xzICAtIEVsIHZhbG9yIHNvYnJlIGVsIHF1ZSBzZSBjYWxjdWxhcmEgc3UgcG9yY2VudGFqZSBkZSBwYW50YWxsYSBvY3VwYWRhXG4vLy8gQHJldHVybiB7TnVtYmVyfVxuQGZ1bmN0aW9uIGNvbXB1dGVQZXJjZW50YWdlKCRjb2xzKSB7XG4gICAgJHRtcDogZmxvb3IoMTAwMDAgLyAkY29scyk7XG5cbiAgICAvLyBFc3RvIG5vcyBkYXLDoSBlbCBwb3JjZW50YWplIHF1ZSB0ZW5lbW9zIGNvbW8gbnVtZXJpY28sIGFob3JhIGxvIHF1ZSBoYWNlbW9zIGVzIHJlY29udmVydGlybG8gYSAxMC5cbiAgICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHRtcCAvIDEwMDAwKTtcblxuXG59XG5cbi8vLyBNaXhpbiBvcmllbnRhZG8gYSBwZXJtaXRpciBtb3N0cmFyIHVuYSBsw61zdGEgY29tbyB1biBjb25qdW50byBkZSBjb2x1bW5hcy5cbi8vL1xuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gY29scyAgICAgICAgLSBFbCBuw7ptZXJvIGRlIGNvbHVtbmFzIGVuIGxhcyBxdWUgcXVlcmVtb3MgZGl2aWRpciBlbCBlbGVtZW50byBkZSBtZW51XG4vLy8gQHBhcmFtZXRlciB7TWFwfSAgICBicmVha3BvaW50cyAtIEVuIGVsIGNhc28gZGUgcXVlIHF1ZXJhbW9zIHJvbXBlciBlbCBkaXNlw7FvIGRlIGxhIGNvbHVtbmEgZW4gY2llcnRhcyBwb3NpY2lvbmVzIGVuIGZ1bmNpw7NuIGRlbCB0YW1hw7FvXG4vLy8gQGNvbnRlbnQgLSBBZG1pdGUgY3VlcnBvIGRlIGNvbnRlbmlkbyBxdWUgc2UgaW5jbHV5ZSBkZW50cm8gZGUgbG9zIGxpIGludGVybm9zLlxuQG1peGluIGNvbHVtbml6ZS1saXN0ICgkY29scywkYnJlYWtwb2ludHM6JycpIHtcbiAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG5cbiAgICAgICAgQGlmKCRicmVha3BvaW50cyA9PSAnJykge1xuXG4gICAgICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogY29tcHV0ZVBlcmNlbnRhZ2UoJGNvbHMpO1xuICAgICAgICAgICAgICAgIC8vIEluY2x1aW1vcyBlbCBjdWVycG8gZGVsIGNvbnRlbmlkbyBxdWUgbm9zIHB1ZWRlbiBhZGp1bnRhclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGxpOm50aC1jaGlsZCgjeyRjb2xzfW4rMSkge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICR4czogaWYobWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCd4cycpLG1hcC1nZXQoJGJyZWFrcG9pbnRzLCd4cycpLDEpO1xuICAgICAgICAgICAgJHNtOiBpZihtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsJ3NtJyksbWFwLWdldCgkYnJlYWtwb2ludHMsJ3NtJyksJGNvbHMpO1xuICAgICAgICAgICAgJG1kOiBpZihtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsJ21kJyksbWFwLWdldCgkYnJlYWtwb2ludHMsJ21kJyksJGNvbHMpO1xuICAgICAgICAgICAgJGxnOiBpZihtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsJ2xnJyksbWFwLWdldCgkYnJlYWtwb2ludHMsJ2xnJyksJGNvbHMpO1xuXG4gICAgICAgICAgICAvLyBHZW5lcmFtb3MgbG9zIG1lZGlhIHBhcmEgY2FkYSBjYXNvLi4uXG4gICAgICAgICAgICBAaW5jbHVkZSBjb2x1bW5pemUtbGlzdCAoJHhzKSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJHNtICE9ICR4cyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICAvLyBZIGFkZW3DoXMgZGViZW1vcyByZXNldGVhciBlbCBjbGVhciBkZWwgY2FzbyBhbnRlcmlvciwgcG9ycXVlIHNpbm8gcm9tcGVyXG4gICAgICAgICAgICAgICAgICAgIC8vIGRvbmRlIG5vIHRvY2EuXG4gICAgICAgICAgICAgICAgICAgID4gbGk6bnRoLWNoaWxkKCN7JHhzfW4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2x1bW5pemUtbGlzdCAoJHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRtZCE9ICRzbSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gWSBhZGVtw6FzIGRlYmVtb3MgcmVzZXRlYXIgZWwgY2xlYXIgZGVsIGNhc28gYW50ZXJpb3IsIHBvcnF1ZSBzaW5vIHJvbXBlclxuICAgICAgICAgICAgICAgICAgICAvLyBkb25kZSBubyB0b2NhLlxuICAgICAgICAgICAgICAgICAgICA+IGxpOm50aC1jaGlsZCgjeyRzbX1uKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sdW1uaXplLWxpc3QgKCRtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGxnIT0gJG1kIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAvLyBZIGFkZW3DoXMgZGViZW1vcyByZXNldGVhciBlbCBjbGVhciBkZWwgY2FzbyBhbnRlcmlvciwgcG9ycXVlIHNpbm8gcm9tcGVyXG4gICAgICAgICAgICAgICAgICAgIC8vIGRvbmRlIG5vIHRvY2EuXG4gICAgICAgICAgICAgICAgICAgID4gbGk6bnRoLWNoaWxkKCN7JG1kfW4rMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2x1bW5pemUtbGlzdCAoJGxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gTWl4aW4gcXVlIG5vcyBwZXJtaXRlIGVsaW1pbmFyIHVuYSBjb2x1bW5pemFjacOzbiBxdWUgdGVuZW1vcyBwYXJhIHVuIG1vZG8gWFNcbi8vL1xuLy8vIEBwYXJhbWV0ZXIgIHtOdW1iZXJ9IG1hcmdpbiBbJGhhbGZHdXR0ZXJdIC0gRWwgbWFyZ2VuIHBhcmEgY2FkYSBsaVxuLy8vIEBwYXJhbWV0ZXIgIHtOdW1iZXJ9IHBhZGRpbmcgWyRoYWxmR3V0dGVyXSAtIEVsIHBhZGRpbmcgcGFyYSBjYWRhIGxpXG5AbWl4aW4gY2xlYXIteHMtY29sdW1ucygkbWFyZ2luOiRoYWxmR3V0dGVyLCAkcGFkZGluZzokaGFsZkd1dHRlcikge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAkaGFsZkd1dHRlcjtcblxuICAgICAgICAgICAgKyBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBNaXhpbiBvcmllbnRhZG8gYSBwZXJtaXRpciBtb3N0cmFyIHVuYSBsw61zdGEgZGUgZWxlbWVudG9zIGNvbW8gdW4gY29uanVudG8gZGUgY29sdW1uYXMuXG4vLy9cbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IGNvbHMgICAgICAgIC0gRWwgbsO6bWVybyBkZSBjb2x1bW5hcyBlbiBsYXMgcXVlIHF1ZXJlbW9zIGRpdmlkaXIgZWwgZWxlbWVudG8gZGUgbWVudVxuLy8vIEBwYXJhbWV0ZXIge01hcH0gICAgYnJlYWtwb2ludHMgLSBFbiBlbCBjYXNvIGRlIHF1ZSBxdWVyYW1vcyByb21wZXIgZWwgZGlzZcOxbyBkZSBsYSBjb2x1bW5hIGVuIGNpZXJ0YXMgcG9zaWNpb25lcyBlbiBmdW5jacOzbiBkZWwgdGFtYcOxb1xuLy8vIEBjb250ZW50IC0gQWRtaXRlIGN1ZXJwbyBkZSBjb250ZW5pZG8gcXVlIHNlIGluY2x1eWUgZGVudHJvIGRlIGxvcyBsaSBpbnRlcm5vcy5cbkBtaXhpbiBjb2x1bW5pemUtYW55ICgkY29scywkYnJlYWtwb2ludHM6JycpIHtcbiAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZigkYnJlYWtwb2ludHMgPT0gJycpIHtcblxuICAgICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogY29tcHV0ZVBlcmNlbnRhZ2UoJGNvbHMpO1xuICAgICAgICAgICAgICAgIC8vIEluY2x1aW1vcyBlbCBjdWVycG8gZGVsIGNvbnRlbmlkbyBxdWUgbm9zIHB1ZWRlbiBhZGp1bnRhclxuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+ICo6bnRoLWNoaWxkKCN7JGNvbHN9bisxKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJHhzOiBpZihtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsJ3hzJyksbWFwLWdldCgkYnJlYWtwb2ludHMsJ3hzJyksMSk7XG4gICAgICAgICAgICAkc206IGlmKG1hcC1oYXMta2V5KCRicmVha3BvaW50cywnc20nKSxtYXAtZ2V0KCRicmVha3BvaW50cywnc20nKSwkY29scyk7XG4gICAgICAgICAgICAkbWQ6IGlmKG1hcC1oYXMta2V5KCRicmVha3BvaW50cywnbWQnKSxtYXAtZ2V0KCRicmVha3BvaW50cywnbWQnKSwkY29scyk7XG4gICAgICAgICAgICAkbGc6IGlmKG1hcC1oYXMta2V5KCRicmVha3BvaW50cywnbGcnKSxtYXAtZ2V0KCRicmVha3BvaW50cywnbGcnKSwkY29scyk7XG5cbiAgICAgICAgICAgIC8vIEdlbmVyYW1vcyBsb3MgbWVkaWEgcGFyYSBjYWRhIGNhc28uLi5cbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1hbnkgKCR4cykge1xuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRzbSAhPSAkeHMge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFkgYWRlbcOhcyBkZWJlbW9zIHJlc2V0ZWFyIGVsIGNsZWFyIGRlbCBjYXNvIGFudGVyaW9yLCBwb3JxdWUgc2lubyByb21wZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gZG9uZGUgbm8gdG9jYS5cbiAgICAgICAgICAgICAgICAgICAgPiAqOm50aC1jaGlsZCgjeyR4c31uKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgY29sdW1uaXplLWFueSAoJHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAkbWQhPSAkc20ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFkgYWRlbcOhcyBkZWJlbW9zIHJlc2V0ZWFyIGVsIGNsZWFyIGRlbCBjYXNvIGFudGVyaW9yLCBwb3JxdWUgc2lubyByb21wZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gZG9uZGUgbm8gdG9jYS5cbiAgICAgICAgICAgICAgICAgICAgPiAqOm50aC1jaGlsZCgjeyRzbX1uKzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1hbnkgKCRtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGxnIT0gJG1kIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAvLyBZIGFkZW3DoXMgZGViZW1vcyByZXNldGVhciBlbCBjbGVhciBkZWwgY2FzbyBhbnRlcmlvciwgcG9ycXVlIHNpbm8gcm9tcGVyXG4gICAgICAgICAgICAgICAgICAgIC8vIGRvbmRlIG5vIHRvY2EuXG4gICAgICAgICAgICAgICAgICAgID4gKjpudGgtY2hpbGQoI3skbWR9bisxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2x1bW5pemUtYW55ICgkbGcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gR2VuZXJhIHBhcmEgdW4gbWVudSBsYSBtYXF1ZXRhY2nDs24gZW4gY29sdW1uYXMgcGVybWl0aWVuZG8gYcOxYWRpciB1biBpY29ubyBhIGNhZGEgdW5vIGRlIGxvcyBlbGVtZW50b3Ncbi8vLyBxdWUgdGVuZW1vc1xuLy8vXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBjb2xzIC0gRWwgbsO6bWVybyBkZSBjb2x1bW5hc1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gaWNvbiAtIENhZGVuYSBkZSB0ZXh0byBxdWUgdXRpbGl6YW1vcyBwYXJhIGluY2x1aXIgdW4gaWNvbm8gY29uIGFudGVyaW9yaWRhZCBhbCBlbGVtZW50b1xuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gZmFtaWx5IC0gRmFtaWxpYSBkZSBmdWVudGVzIHBhcmEgcmVwcmVzZW50YXIgZWwgaWNvbm8uIFxuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gaWNvbi1wYWRkaW5nIC0gUGFkZGluZyBhIGxhIGl6cXVpZXJkYSBkZWwgaWNvbm8sIHBhcmEgY29uc2VndWlyIHF1ZSBsYSBtYXF1ZXRhY2nDs24gc2VhIGNvcnJlY3RhLlxuLy8vIEBwYXJhbWV0ZXIge1N0cmluZ30gJGljb24tY29sb3IgLSBDb2xvciBwYXJhIGVsIGljb25vLiBTb2xvIHNlIGFwbGljYSBzaSBlc3TDoSBkZWZpbmlkbyBwb3IgZWwgdXN1YXJpby5cbkBtaXhpbiBtZW51LWNvbHVtbnMoJGNvbHMsJGljb24sJGZhbWlseSwkaWNvbi1wYWRkaW5nLCRpY29uLWNvbG9yOicnKSB7XG4gICAgJiB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1saXN0KCRjb2xzKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250QmxvY2soJGZhbWlseSwkaWNvbil7XG4gICAgICAgICAgICAgICAgLy8gU2kgaGF5IGRlZmluaWRvIHVuIGNvbG9yIHBhcmEgZWwgaWNvbm8gZGVsIHN1Ym1lbnUgbG8gYXBsaWNhbW9zLlxuICAgICAgICAgICAgICAgIEBpZiAkaWNvbi1jb2xvciAhPSAnJyB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaWNvbi1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgJGljb24gIT0gJycge1xuICAgICAgICAgICAgICAgICY+ICoge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRpY29uLXBhZGRpbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gTWl4aW4gcGFyYSByZXByZXNuZXRhciB1biBiYW5uZXIgYSBwYW50YWxsYSBjb21wbGV0YVxuLy8vIFxuLy8vIEJhbm5lcnMgcXVlIHNlIG11ZXN0cmFuIGEgcGFudGFsbGEgY29tcGxldGEsIHJlc2V0ZWFtb3MgdG9kbyBlbCBHdXR0ZXIgZGUgbG9zIGxhZG9zIGUgaW5kaWNhbW9zXG4vLy8gcXVlIGxhIGltYWdlbiBpbnRlcmlvciBlcyBhIDEwMCUgZGUgdGFtYcOxbyB5IGFsdHVyYSBhdXRvbcOhdGljYS5cbkBtaXhpbiBtYWluLWJhbm5lcigpIHtcbiAgICBtYXJnaW46IDBweCAoLSRoYWxmR3V0dGVyKSAwcHggKC0kaGFsZkd1dHRlcik7XG4gICAgXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbn1cblxuLy8vIE1peGluIHF1ZSBwZXJtaXRlIG1vc3RyYXIgdW4gbWFwYSBkZSBHb29nbGUgTWFwcyBjb24gc3VzIGNvbmp1bnRvcyBkZSBvcGNpb25lc1xuLy8vXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBoZWlnaHQgICAgICAgIC0gRWwgdmFsb3IgZGUgbGEgY2FwYSBkZSBtYXBhcywgZGViZSBzZXIgbnVtw6lyaWNvLCBwdWVzdG8gcXVlIGVuIG90cm8gY2FzbyBlbCBtYXBhIG5vIHNlIG11ZXN0cmFuXG4vLy8gQHBhcmFtZXRlciAgICB7TWFwfSBvcHRpb25zLWRpc3Bvc2l0aW9uIC0gVW4gbWFwYSBxdWUgY29udGllbmUgcGFyYSBjYWRhIHByb3BpZWRhZCAoeHMsIHNtLCBtZCwgbGcpIHVuIHBhciBkZSB2YWxvcmVzIChvIHVubyksIGVsIHByaW1lZXJvOiBsYSBhbmNodXJhIGRlIGxhIGNvbHVtbmEgZGUgbWFwYXMsIGVsIHNlZ3VuZG8gbGEgZGUgbGEgb3BjaW9uZXMsIHNpIHNlIHBhc2EgdmFjw61vIHNlIGFzdW1lIHF1ZSBlcyAxMiwgMTJcbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IGluZm93aW5kb3ctYm9keS1mb250LXNpemUgLSBUYW1hw7FvIGRlIGZ1ZW50ZSBkZSBsYSB2ZW50YW5hIGRlIG9wY2lvbmVzXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBpbmZvd2luZG93LXRpdGxlLWZvbnQtc2l6ZSAtIFRhbWHDsW8gZGVsIHTDrXR1bG8gZGUgbGEgdmVudGFuYSBkZSBkZXRhbGxlIGRlbCBtYXBhLlxuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gaW5mb3dpbmRvdy1saW5rLWZvbnQtc2l6ZSAtIFRhbWHDsW8gZGUgbGEgZnVlbnRlIGRlIGxhIHZlbnRhbmEgZGUgZGV0YWxsZSBkZWwgbWFwYVxuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gc2VhcmNoZXItZm9udC1zaXplIC0gVGFtYcOxbyBkZWwgZnVlbnRlIHBhcmEgZWwgYmxvcXVlIGRlIG9wY2lvbmVzIGRlbnRybyBkZWwgYnVzY2Fkb3Jcbi8vLyBAcGFyYW1ldGVyICAgIHtOdW1iZXJ9IHNlYXJjaGVyLWxlZ2VuZC1mb250LXNpemUgIC0gVGFtYcOxbyBkZSBsYSBsZXllbmRhXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBzZWFyY2hlci1maWVsZHNldC1oYXMtYm9yZGVyIC0gSU5kaWNhIHNpIGRlYmUgYcOxYWRpcnNlIHVuIGJvcmRlIGFsIGZpZWxkc2V0IHF1ZSBjb250aWVuZSBhIHVuIGdydXBvIGRlIGNhbXBvcyBvIG5vXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBzZWFyY2hlci1sZWdlbmQtaGFzLWJvcmRlciAtIElOZGljYSBzaSBkZWJlIGHDsWFkaXJzZSB1biBib3JkZSBpbmZlcmlvciBhIGxhIGxleWVuZGEgcXVlIGNvbnRpZW5lIGEgdW4gZ3J1cG8gZGUgY2FtcG9zIG8gbm8sIHNvbG8gYXBsaWNhIHNpIG5vIHNlIGRlZmluZSBhbCBmaWVsZHNldFxuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gc2VhcmNoZXItYm9yZGVyLWNvbG9yIC0gQ29sb3IgZGVsIGJvcmRlICAgICAgICAgICAgICAgIFxuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gc2VhcmNoZXItYnV0dG9uLWZvbnQtc2l6ZSAtIFRhbWHDsW8gZGVsIGZ1ZW50ZSBkZWwgYm90w7NuXG4vLy8gQHBhcmFtZXRlciAgICB7TnVtYmVyfSBzZWFyY2hlci1tYXJrZXItY29sdW1ucyAtIENvbHVtbmFzIHBvciBkZWZlY3RvIHBhcmEgbWFyY2Fkb3Jlc1xuLy8vIEBwYXJhbWV0ZXIgICAge01hcH0gc2VhcmNoZXItbWFya2VyLWJyZWFrcG9pbnRzIC0gUHVudG9zIGRlIHJ1cHR1cmEgZW4gbGFzIGNvbHVtbmFzIGEgZGlzdGludGFzIGRpbWVuc2lvbmVzLlxuLy8vIEBwYXJhbWV0ZXIgICAge051bWJlcn0gc2VhcmNoZXItbWFya2VyLWZvbnQtc2l6ZSAtIFRhbW5hw7FvIGRlIGZ1ZW50ZSBkZWwgbWFyY2Fkb3IuXG4vLy8gQHBhcmFtZXRlciAgICB7TGlzdH0gc2VhcmNoZXItYnV0dG9uLWRlZmF1bHQtY29sb3JzIC0gUGFyIGNvbiBlbCBjb2xvciBkZSB0ZXh0byB5IGZvbmRvIGRlIGxvcyBib3RvbmVzIHBvciBkZWZlY3RvXG4vLy8gQHBhcmFtZXRlciAgICB7TGlzdH0gc2VhcmNoZXItYnV0dG9uLWFycml2ZS1jb2xvcnMgLSBQYXIgY29uIGVsIGNvbG9yIGRlIHRleHRvIHkgZm9uZG8gZGVsIGJvdMOzbiBkZSBhbXBsaWFyIHkvbyBjb21vIGxsZWdhci5cbkBtaXhpbiBzaG93LW1hcCgkaGVpZ2h0LCBcbiAgICAgICAgICAgICAgICAkb3B0aW9ucy1kaXNwb3NpdGlvbixcbiAgICAgICAgICAgICAgICAkaW5mb3dpbmRvdy1ib2R5LWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAkaW5mb3dpbmRvdy1ib2R5LXRleHQtY29sb3IsXG4gICAgICAgICAgICAgICAgJGluZm93aW5kb3ctdGl0bGUtZm9udC1zaXplLFxuICAgICAgICAgICAgICAgICRpbmZvd2luZG93LWxpbmstZm9udC1zaXplLFxuICAgICAgICAgICAgICAgICRzZWFyY2hlci1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJHNlYXJjaGVyLWxlZ2VuZC1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJHNlYXJjaGVyLWZpZWxkc2V0LWhhcy1ib3JkZXIsXG4gICAgICAgICAgICAgICAgJHNlYXJjaGVyLWxlZ2VuZC1oYXMtYm9yZGVyLFxuICAgICAgICAgICAgICAgICRzZWFyY2hlci1ib3JkZXItY29sb3IsXG4gICAgICAgICAgICAgICAgJHNlYXJjaGVyLWJ1dHRvbi1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJHNlYXJjaGVyLW1hcmtlci1jb2x1bW5zLFxuICAgICAgICAgICAgICAgICRzZWFyY2hlci1tYXJrZXItYnJlYWtwb2ludHMsXG4gICAgICAgICAgICAgICAgJHNlYXJjaGVyLW1hcmtlci1mb250LXNpemUsXG4gICAgICAgICAgICAgICAgJHNlYXJjaGVyLWJ1dHRvbi1kZWZhdWx0LWNvbG9ycyxcbiAgICAgICAgICAgICAgICAkc2VhcmNoZXItYnV0dG9uLWFycml2ZS1jb2xvcnMpIHtcbiAgICAmIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgJjpub3QoLmVtcHR5LWNvbXBvbmVudCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGhhbGZHdXR0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgIC8vIFZhbG9yZXMgcG9yIGRlZmVjdG8gcXVlIGFzaWduYW1vcy5cbiAgICAgICAgJHhzX21hcDogaWYobWFwLWhhcy1rZXkoJG9wdGlvbnMtZGlzcG9zaXRpb24sJ3hzJyksbWFwLWdldCgkb3B0aW9ucy1kaXNwb3NpdGlvbiwneHMnKSwxMik7XG4gICAgICAgICRzbV9tYXA6IGlmKG1hcC1oYXMta2V5KCRvcHRpb25zLWRpc3Bvc2l0aW9uLCdzbScpLG1hcC1nZXQoJG9wdGlvbnMtZGlzcG9zaXRpb24sJ3NtJyksJycpO1xuICAgICAgICAkbWRfbWFwOiBpZihtYXAtaGFzLWtleSgkb3B0aW9ucy1kaXNwb3NpdGlvbiwnbWQnKSxtYXAtZ2V0KCRvcHRpb25zLWRpc3Bvc2l0aW9uLCdtZCcpLCcnKTtcbiAgICAgICAgJGxnX21hcDogaWYobWFwLWhhcy1rZXkoJG9wdGlvbnMtZGlzcG9zaXRpb24sJ2xnJyksbWFwLWdldCgkb3B0aW9ucy1kaXNwb3NpdGlvbiwnbGcnKSwnJyk7XG4gICAgICAgIFxuICAgICAgICAkaGFzUm93OiBpZigoJHNtX21hcCAhPSAnJyBvciAkbWRfbWFwICE9ICcnIG9yICRsZ19tYXAgIT0gJycgb3IgZmlyc3QoJHhzX21hcCkhPTEyKSx0cnVlLGZhbHNlKTtcbiAgICAgICAgXG4gICAgICAgIEBpZiAkaGFzUm93IHtcbiAgICAgICAgICAgIC5jb250ZW50RGF0YTIsIFxuICAgICAgICAgICAgLmNtTWFwX2FjdHVhbE1hcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1yb3coKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIFxuICAgICAgICAuY21NYXBfQ29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpZiAkaGFzUm93IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXhzLWNvbHVtbihmaXJzdCgkeHNfbWFwKSk7XG4gICAgICAgICAgICAgICAgQGlmICRzbV9tYXAgIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXNtLWNvbHVtbihmaXJzdCgkc21fbWFwKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAkbWRfbWFwICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1tZC1jb2x1bW4oZmlyc3QoJG1kX21hcCkpO1xuICAgICAgICAgICAgICAgIH0gICAgIFxuICAgICAgICAgICAgICAgIEBpZiAkbGdfbWFwICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1sZy1jb2x1bW4oZmlyc3QoJGxnX21hcCkpO1xuICAgICAgICAgICAgICAgIH0gICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5jbU1hcF9nb29nbGVNYXBzIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5sZWFmbGV0LXRvb2x0aXAuY2x1c3Rlci1sYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAubGVhZmxldC1yb3V0aW5nLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JheS1kYXJrZXI7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5sZWFmbGV0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICAgIC5sZWFmbGV0LW1hcC1wYW5lLFxuICAgICAgICAgICAgICAgICAgICAubGVhZmxldC10b3AsXG4gICAgICAgICAgICAgICAgICAgIC5sZWFmbGV0LWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgZGl2LmluZm9XaW5kb3dPdmVybGF5VG9TaG93IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaW5mb3dpbmRvdy1ib2R5LWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGl2LmluZm9XaW5kb3dXcmFwcGVyIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2FsY3VsYW1vcyBsYSBhbmNodXJhIG3DoXhpbWEgZW4gZnVuY2nDs24gZGVsIHRhbWHDsW8gZGUgbGEgY2VsZGEuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAkZGltc206IGlmKCRzbV9tYXAhPScnLGZpcnN0KCRzbV9tYXApLGZpcnN0KCR4c19tYXApKTtcbiAgICAgICAgICAgICAgICAgICAgJGRpbW1kOiBpZigkbWRfbWFwIT0nJyxmaXJzdCgkbWRfbWFwKSwkZGltc20pO1xuICAgICAgICAgICAgICAgICAgICAkZGltbGc6IGlmKCRsZ19tYXAhPScnLGZpcnN0KCRsZ19tYXApLCRkaW1tZCk7XG5cblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDAuNiAqICRjb250YWluZXItc20gKiAkZGltc20gLyAkZ3JpZC1jb2x1bW5zO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMC42ICogJGNvbnRhaW5lci1tZCAqICRkaW1tZCAvICRncmlkLWNvbHVtbnM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAwLjYgKiAkY29udGFpbmVyLWxnICogJGRpbWxnIC8gJGdyaWQtY29sdW1ucztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRpbmZvd2luZG93LWJvZHktZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGluZm93aW5kb3ctYm9keS10ZXh0LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAuY29udGVudC1uYW1lLFxuICAgICAgICAgICAgICAgICAgICAuY29udGVudE5hbWUsXG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50LXRleHQsXG4gICAgICAgICAgICAgICAgICAgIC5jb250ZW50QWJzdHJhY3QsXG4gICAgICAgICAgICAgICAgICAgIC5pbmZvV2luZG93VXJsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQtbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnROYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGluZm93aW5kb3ctdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAuaW5mb1dpbmRvd1VybCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRpbmZvd2luZG93LWxpbmstZm9udC1zaXplO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICAuaW5mb1dpbmRvd0NvbnRlbnRzIC5zcGlubmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMyokaGFsZkd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmF5LWJhc2U7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jbU1hcF9zZWFyY2hGb3JtIHtcbiAgICAgICAgICAgIEBpZiAkaGFzUm93IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXhzLWNvbHVtbihsYXN0KCR4c19tYXApKTtcbiAgICAgICAgICAgICAgICBAaWYobGFzdCgkeHNfbWFwKSA9PSAxMikge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIEBpZiAkc21fbWFwICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1zbS1jb2x1bW4obGFzdCgkc21fbWFwKSk7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICBAaWYobGFzdCgkc21fbWFwKSA9PSAxMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgJG1kX21hcCAhPSAnJyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtbWQtY29sdW1uKGxhc3QoJG1kX21hcCkpO1xuICAgICAgICAgICAgICAgICAgICBAaWYobGFzdCgkbWRfbWFwKSA9PSAxMikge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gICAgIFxuICAgICAgICAgICAgICAgIEBpZiAkbGdfbWFwICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1sZy1jb2x1bW4obGFzdCgkbGdfbWFwKSk7XG4gICAgICAgICAgICAgICAgICAgIEBpZihsYXN0KCRsZ19tYXApID09IDEyKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9ICAgIFxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIExhIGNvbmZpZ3VyY2nDs24gZXNwZWNpYWwgZGUgbGEgem9uYSBkZSBvcGNpb25lcyBkZWwgbWFwYS5cbiAgICAgICAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgICAgICAgICBAaWYgJHNlYXJjaGVyLWZpZWxkc2V0LWhhcy1ib3JkZXIge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkc2VhcmNoZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzZWFyY2hlci1mb250LXNpemU7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgICAgIGxlZ2VuZCB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAkc2VhcmNoZXItZmllbGRzZXQtaGFzLWJvcmRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAkc2VhcmNoZXItbGVnZW5kLWhhcy1ib3JkZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkc2VhcmNoZXItYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2VhcmNoZXItbGVnZW5kLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmICsgZmllbGRzZXQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgICAgICAgICAgICAgIC8vIExhIGFsdHV0cmEsIGRvcyB2ZWNlcyBlbCBwYWRkaW5nIChzdXBlcmlvciBlIGluZmVyaW9yKSB5IDIgcGl4ZWxzIGRlIGJvcmRlXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYWRkKCgkc2VhcmNoZXItZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UpLDIqJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nICsgMik7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAyKiRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2VhcmNoZXItZm9udC1zaXplIDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICgkc2VhcmNoZXItZm9udC1zaXplICAqICRsaW5lLWhlaWdodC1iYXNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZywyKiRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHNlYXJjaGVyLWZvbnQtc2l6ZSAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkc2VhcmNoZXItZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNlYXJjaGVyLWZvbnQtc2l6ZSA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAoJHNlYXJjaGVyLWZvbnQtc2l6ZSAgKiAkbGluZS1oZWlnaHQtYmFzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAubWFya2VycyB7XG4gICAgICAgICAgICAgICAgZmllbGRzZXQgZGl2IHtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb2x1bW5pemUtYW55KCRzZWFyY2hlci1tYXJrZXItY29sdW1ucywkc2VhcmNoZXItbWFya2VyLWJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2VhcmNoZXItbWFya2VyLWZvbnQtc2l6ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICsgLmJ1dHRvbnMge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5idXR0b25zIHtcbiAgICAgICAgICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLDIqJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc2VhcmNoZXItYnV0dG9uLWZvbnQtc2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRzZWFyY2hlci1idXR0b24tZm9udC1zaXplKiAkbGluZS1oZWlnaHQtYmFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyBDcmVhbW9zIGVsIG1hcmt1cCBkZSBsb3MgYm90b25lcy5cbiAgICAgICAgICAgICAgICAuYnRuLXNob3dsaXN0LFxuICAgICAgICAgICAgICAgIC5idG4tcHJpbnRsaXN0IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoZmlyc3QoJHNlYXJjaGVyLWJ1dHRvbi1kZWZhdWx0LWNvbG9ycyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3QoJHNlYXJjaGVyLWJ1dHRvbi1kZWZhdWx0LWNvbG9ycyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3QoJHNlYXJjaGVyLWJ1dHRvbi1kZWZhdWx0LWNvbG9ycykpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuYnRuLWhvd3RvYXJyaXZlLFxuICAgICAgICAgICAgICAgIC5idG4tZW5sYXJnZW1hcCB7XG4gICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudChmaXJzdCgkc2VhcmNoZXItYnV0dG9uLWFycml2ZS1jb2xvcnMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdCgkc2VhcmNoZXItYnV0dG9uLWFycml2ZS1jb2xvcnMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdCgkc2VhcmNoZXItYnV0dG9uLWFycml2ZS1jb2xvcnMpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jbVNlYXJjaENvbnRhaW5lciArIC5tYXJrZXJzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICAgICAgLmNtU2VhcmNoQ29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBzZWxlY3QsIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBcbiAgICAgICAgfSAgXG4gICAgfVxufVxuXG4vLy8gTWl4aW4gaW1wbGVtZW50YXIgbG9zIGVzdGlsb3MgZGUgYSBlbiBjb25qdW50b1xuLy8vXG4vLy8gQHBhcmFtZXRlciAge1N0cmluZ30gY3NzLWNsYXNzWycnXSAgLSBOb21icmUgZGUgbGEgY2xhc2UgbyBlbGVtZW50byBkb25kZSBhcGxpY2FyIGxvcyBlc3RpbG9zIDpsaW5rIHkgOnZpc2l0ZWQsIHNpIG5vIHNlIGVzcGVjaWZpY2Egc2UgdXRpbGl6YW1vcyBjcG9tbyB2YWxvciBlbCBub2RvIGVuIGVsIHF1ZSBub3MgZW5jb250cmFtb3Ncbi8vLyBAcGFyYW1ldGVyICB7Qm9vbGVhbn0gaG92ZXIgW3RydWVdICAtIFBvciBkZWZlY3RvIHNlIGluY2x1eWVuIGxvcyBldmVudG9zIDpob3ZlciwgOmFjdGl2ZSB5IDpmb2N1c1xuLy8vIEBjb250ZW50ICAgIEluZm9ybWFjacOzbiBleHRyYSBhIGHDsWFkaXIgYWwgYmxvcXVlIGRlIGluZm9ybWFjacOzblxuQG1peGluIGEtZXZlbnRzKCRjc3MtY2xhc3M6JycsICRob3ZlcjogdHJ1ZSkge1xuXG4gICAgQGlmICRjc3MtY2xhc3MgPT0gJycge1xuICAgICAgICAmLCAmOnZpc2l0ZWQge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skY3NzLWNsYXNzfSxcbiAgICAgICAgI3skY3NzLWNsYXNzfTp2aXNpdGVkIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAkaG92ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYS1ldmVudHMtaG92ZXIoJGNzcy1jbGFzcykge1xuICAgICAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gTWl4aW4gaW1wbGVtZW50YXIgbG9zIGV2ZW50b3MgZGUgbG9zIGVzdGlsb3MgZGUgdW4gYSBlbiBjb25qdW50b1xuLy8vXG4vLy8gQHBhcmFtZXRlciAge1N0cmluZ30gY3NzLWNsYXNzICAgICAgLSBOb21icmUgZGUgbGEgY2xhc2UgbyBlbGVtZW50byBkb25kZSBhcGxpY2FyIGxvcyBlc3RpbG9zIDpob3ZlciwgOmFjdGl2ZSB5IDpmb2N1cywgc2kgbm8gc2UgZXNwZWNpZmljYSBzZSB1c2EgZWwgdmFsb3IgZGVsIG5vZG8gYWN0aXZvXG4vLy8gQGNvbnRlbnQgICAgSW5mb3JtYWNpw7NuIGV4dHJhIGEgYcOxYWRpciBhbCBibG9xdWUgZGUgaW5mb3JtYWNpw7NuXG5AbWl4aW4gYS1ldmVudHMtaG92ZXIoJGNzcy1jbGFzczonJykge1xuICAgIEBpZiAkY3NzLWNsYXNzID09ICcnIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjphY3RpdmUsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6YWN0aXZlOmhvdmVyLFxuICAgICAgICAmOmFjdGl2ZTpmb2N1cyB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICAjeyRjc3MtY2xhc3N9OmhvdmVyLFxuICAgICAgICAjeyRjc3MtY2xhc3N9OmFjdGl2ZSxcbiAgICAgICAgI3skY3NzLWNsYXNzfTpmb2N1cyxcbiAgICAgICAgI3skY3NzLWNsYXNzfTphY3RpdmU6aG92ZXIsXG4gICAgICAgICN7JGNzcy1jbGFzc306YWN0aXZlOmZvY3VzIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gTWl4aW4gcXVlIHBlcm1pdGUgaW1wcmltaXIgdW4gZMOtYSBkZSBjYWxlbmRhcmlvIGNvbmNyZXRvXG4vLy8gXG4vLy8gQHBhcmFtZXRlciB7Qm9vbGVhbn0gJGVuY2lyY2xlZCAtIFNpIHRlbmVtb3MgcXVlIGludHJvZHVjaXIgLSBvIG5vIC0gZW4gdW4gY2lyY3VsbyBlbCBkw61hXG4vLy8gQHBhcmFtZXRlciB7TGlzdH0gJGNvbG9ycyAtIExpc3RhIGNvbiBlbCBjb2xvciBkZSBmb25kbyAoZWwgcHJpbWVyIGNvbG9yKSB5IGVsIGNvbG9yIGFjdGl2byAoZWwgc2VndW5kbyBjb2xvcilcbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9ICRhc3BlY3QtcmF0aW8gLSBMYSByZWxhY2nDs24gZGUgYXNwZWN0byBkZSBsYSBjZWxkYSBxdWUgdGVuZW1vcy5cbi8vLyBAcGFyYW1ldGVyIHtCb29sZWFufSAkdmFsaWduW2ZhbHNlXSAgLSBTaSBkZWJlbW9zIGFsaW5lYXIgZWwgZMOtYSB2ZXJ0aWNhbG1lbnRlIG8gbm8uXG4vLy8gQHBhcmFtZXRlciB7TGlzdH0gJGljb24gWycnXSAtIEVsIGljb25vIHF1ZSBzZSBpbXByaW1lIGJham8gZWwgZMOtYSBlbiBlbCBjYXNvIGRlIHF1ZSBlbCBldmVudG8gc2UgbWV0YSBlbiB1biBjw61yY3Vsby4gSW5jbHV5ZSBmdWVudGUsIGNhcmFjdGVyIHkgdGFtYcOxby5cbkBtaXhpbiBwcmludC1kYXkoJGVuY2lyY2xlZCwkY29sb3JzLCRhc3BlY3QtcmF0aW8sJHZhbGlnbjpmYWxzZSwkaWNvbjonJykge1xuICAgICYge1xuICAgICAgICAvLyBTaSBlbCBjYWxlbmRhcmlvIGVzdMOhIGVuIHVuIGNpcmN1bG8sIGxvIHF1ZSBoYWNlbW9zIGVzIG1vZGlmaWNhciBlbCB0YWJsZSBpbnRlcm5vIHkgZWwgdGFibGUtY2VsbCBpbnRlcm5vXG4gICAgICAgIEBpZiAkZW5jaXJjbGVkIHtcbiAgICAgICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgICAgICAgLmFjdHVhbC1kYXktY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmFjdHVhbC1kYXktd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAkaWNvbiAhPSAnJyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3NSUgLyAkYXNwZWN0LXJhdGlvO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQobnRoKCRpY29uLDEpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBudGgoJGljb24sMik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiBudGgoJGljb24sMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCUgLyAkYXNwZWN0LXJhdGlvO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICR2YWxpZ24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSAvICRhc3BlY3QtcmF0aW8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUgLyAkYXNwZWN0LXJhdGlvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSAvICRhc3BlY3QtcmF0aW8pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC01MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgLmFjdHVhbC1kYXktdGFibGUtY2VsbCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIC8vIFJlc2V0YW1vcyBwdWVzdG8gcXVlIHB1ZWRlIGNvaW5jaWRpciBjb24gdW4gZMOtYSBmZXN0aXZvLlxuICAgICAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgICAgICAuYWN0dWFsLWRheS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5hY3R1YWwtZGF5LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBAaWYgJHZhbGlnbiA9PSBmYWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7ICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJSAvICRhc3BlY3QtcmF0aW87XG4gICAgICAgICAgICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUgLyAkYXNwZWN0LXJhdGlvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUgLyAkYXNwZWN0LXJhdGlvKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlIC8gJGFzcGVjdC1yYXRpbyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC01MCU7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5hY3R1YWwtZGF5LXRhYmxlLWNlbGwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBBaG9yYSB0ZW5lbW9zIHF1ZSBjb2xvcmVhciBlbCBmb25kbyBkZSBsYSBjZWxkYS5cbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGEtZXZlbnRzLWhvdmVyKCdhLmFjdHVhbC1kYXktY29udGFpbmVyJykge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBsYXN0KCRjb2xvcnMpO1xuICAgICAgICAgICAgfSAgIFxuICAgICAgICAgICAgQGlmKCRlbmNpcmNsZWQgPT0gZmFsc2UgYW5kICR2YWxpZ24pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmaXJzdCgkY29sb3JzKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuYWN0dWFsLWRheS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbGFzdCgkY29sb3JzKTtcbiAgICAgICAgICAgICAgICBAaWYoJGVuY2lyY2xlZCBvciAkdmFsaWduID09IGZhbHNlKSB7XG4gICAgICAgICAgICAgICAgICAgIC5hY3R1YWwtZGF5LXRhYmxlLWNlbGwge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmlyc3QoJGNvbG9ycyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBNaXhpbiBxdWUgbm9zIHBlcm1pdGUgdWJpY2FyIGFkZWN1YWRhbWVudGUgdW4gY2FsZW5kYXJpbyBlbiBlbCBzaXN0ZW1hLCBjb24gZWwgb2JqZXRvIGRlIHF1ZSBwdWVkYVxuLy8vIHNlciByZWNvbG9jYWJsZSBiYWpvIGNpZXJ0YXMgY2lyY3Vuc3RhbmNpYXMsIHBvciBlamVtcGxvIGxvIHViaWNhbW9zIGVuIHVuYSB6b25hIGNvbiBtZW5vcyBlc3BhY2lvIGxpYnJlIHlcbi8vLyBuZWNlc2l0YW1vcyBkaXNwb25lciBlbCBsaXN0YWRvIGRlIHVuYSBmb3JtYSBhbHRlcm5hdGl2YS5cbi8vL1xuLy8vIEBwYXJhbWV0ZXIge01hcH0gbW9udGhldmVudHMtYmxvY2stc2l6ZSBbJyddIFVuIG1hcGEgY29uIGVsIHRhbWHDsW8gcXVlIG9jdXBhIGxhIGNlbGRhIGRlIGNvbnRlbmlkb3NcbkBtaXhpbiBwbGFjZS1jYWxlbmRhci1ibG9jaygkbW9udGhldmVudHMtYmxvY2stc2l6ZSkge1xuICAgICYge1xuICAgICAgICAvLyBWYW1vcyBhIGludGVudGFyIGNhbGN1bGFyIGxhIGRpc3BvbmliaWxpZGFkIHF1ZSB0ZW5lbW9zIGRlIGNhZGEgY2FzbyBjb25jcmV0byBwYXJhIHZlciBcbiAgICAgICAgLy8gY29tbyBkaWJ1amFtb3MgbGEgaW5mb3JtYWNpw7NuLlxuICAgICAgICAkeHNfbWFwOiBpZihtYXAtaGFzLWtleSgkbW9udGhldmVudHMtYmxvY2stc2l6ZSwneHMnKSxtYXAtZ2V0KCRtb250aGV2ZW50cy1ibG9jay1zaXplLCd4cycpLDEyKTtcbiAgICAgICAgJHNtX21hcDogaWYobWFwLWhhcy1rZXkoJG1vbnRoZXZlbnRzLWJsb2NrLXNpemUsJ3NtJyksbWFwLWdldCgkbW9udGhldmVudHMtYmxvY2stc2l6ZSwnc20nKSwnJyk7XG4gICAgICAgICRtZF9tYXA6IGlmKG1hcC1oYXMta2V5KCRtb250aGV2ZW50cy1ibG9jay1zaXplLCdtZCcpLG1hcC1nZXQoJG1vbnRoZXZlbnRzLWJsb2NrLXNpemUsJ21kJyksJycpO1xuICAgICAgICAkbGdfbWFwOiBpZihtYXAtaGFzLWtleSgkbW9udGhldmVudHMtYmxvY2stc2l6ZSwnbGcnKSxtYXAtZ2V0KCRtb250aGV2ZW50cy1ibG9jay1zaXplLCdsZycpLCcnKTtcbiAgICAgICAgXG4gICAgICAgICRoYXNSb3c6IGlmKCgkc21fbWFwICE9ICcnIG9yICRtZF9tYXAgIT0gJycgb3IgJGxnX21hcCAhPSAnJyBvciAkeHNfbWFwIT0xMiksdHJ1ZSxmYWxzZSk7XG4gICAgICAgIFxuICAgICAgICBAaWYgJGhhc1JvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXJvdygpO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyBBaG9yYSBkaWJ1amFtb3MgZWwgZXNwYWNpYWRvIGVuIGNvbHVtbmFzIGRlIGNhZGEgdW5hIGRlIGxhcyBkb3MgcGFydGVzIHF1ZSB0ZW5lbW9zIGRlIGxhIHBhbnRhbGxhLlxuICAgICAgICAgICAgLmNtQ2FsZW5kYXJWaWV3Q29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXhzLWNvbHVtbihpZigkeHNfbWFwID09IDEyLDEyLDEyLSR4c19tYXApKTtcbiAgICAgICAgICAgICAgICBAaWYgJHNtX21hcCAhPSAnJyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2Utc20tY29sdW1uKGlmKCRzbV9tYXAgPT0gMTIsMTIsMTItJHNtX21hcCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYgJG1kX21hcCAhPSAnJyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2UtbWQtY29sdW1uKGlmKCRtZF9tYXAgPT0gMTIsMTIsMTItJG1kX21hcCkpO1xuICAgICAgICAgICAgICAgIH0gICAgIFxuICAgICAgICAgICAgICAgIEBpZiAkbGdfbWFwICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1sZy1jb2x1bW4oaWYoJGxnX21hcCA9PSAxMiwxMiwxMi0kbGdfbWFwKSk7XG4gICAgICAgICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5jbU1vbnRoRXZlbnRzQ29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXhzLWNvbHVtbigkeHNfbWFwKTtcbiAgICAgICAgICAgICAgICBAaWYgJHhzX21hcCA9PSAxMiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bih4cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICRzbV9tYXAgIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXNtLWNvbHVtbigkc21fbWFwKTtcbiAgICAgICAgICAgICAgICAgICAgQGlmICRzbV9tYXAgPT0gMTIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGlmICRtZF9tYXAgIT0gJycge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLW1kLWNvbHVtbigkbWRfbWFwKTtcbiAgICAgICAgICAgICAgICAgICAgQGlmICRtZF9tYXAgPT0gMTIge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH0gICAgIFxuICAgICAgICAgICAgICAgIEBpZiAkbGdfbWFwICE9ICcnIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1sZy1jb2x1bW4oJGxnX21hcCk7XG4gICAgICAgICAgICAgICAgICAgIEBpZiAkbGdfbWFwID09IDEyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICB9ICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgfVxuICAgIFxuICAgIFxuICAgIH1cblxufVxuXG5cbiAvLy8gTWl4aW4gZGUgdXRpbGlkYWQgcGFyYSBtYXF1ZXRhciB1biBmb3JtdWxhcmlvIGdlbmVyYWwsIGNvbiB1biBjb2xvciBkZSBmb25kbyB5IGNvbiB1bmEgcmVwcmVzZW50YWNpw7NuIGRlIGVsZW1lbnRvcyBlbiBuIGNvbHVtbmFzIGNvbiBpbmRlcGVuZGVuY2lhXG4gLy8vIGRlIGxvcyBkYXRvcyBpbnRlcm5vcyBxdWUgdGVuZ2Ftb3MgcmVmbGVqYWRvcy4gU2UgbWFudGllbmUgYXF1aSBwb3Igc2kgZXMgbmVjZXNhcmlvIHN1IHVzbyBlbiBkaXN0aW50b3MgcHJveWVjdG9zLCBtYXF1ZXRhIGRlIGZvcm1hIHByZWRldGVybWluYWRhXG4gLy8vIGxvcyBib3RvbmVzLCBldGMuXG4gLy8vXG4gLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gY29scyAgICAgLSBFbCBuw7ptZXJvIGRlIGNvbHVtbmFzIGNvbiBlbCBxdWUgc2UgcmVwcmVzZW50YXJhIGVsIGNvbnRlbmlkb1xuIC8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9IGJnQ29sb3IgIC0gRWwgY29sb3IgZGUgZm9uZG8gZGVsIGZvcm11bGFyaW9cbiAvLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBmb250U2l6ZSAtIEVsIHRhbWHDsW8gZGUgZnVlbnRlIHBhcmEgZWwgZm9ybXVsYXJpb1xuQG1peGluIGZvcm0oJGNvbHM6MSwkYmdDb2xvcjokZ3JheS1saWdodGVyLCRmb250U2l6ZTokZm9udC1zaXplLXNtYWxsKSB7XG4gICAgJiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRmb250U2l6ZTtcbiAgICAgICAgcGFkZGluZzogJGhhbGZHdXR0ZXI7XG5cbiAgICAgICAgJi5uby1maWVsZHNldHMgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkaGFsZkd1dHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdi5wcm94aWFfbWFwVG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXhzLWNvbHVtbigxMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXNtLWNvbHVtbigxMik7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLW1kLWNvbHVtbigxMik7XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5jbVNlYXJjaExhYmVsLCBcbiAgICAgICAgICAgIC5jbUxvY2F0aW9uTGVnZW5kIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzci1vbmx5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5mb3JtLWhvcml6b250YWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gICAgICAgICAgICAgICAgLmZvcm0tZ3JvdXAge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLXhzLWNvbHVtbigxMik7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1ha2Utc20tY29sdW1uKDYpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtYWtlLW1kLWNvbHVtbig0KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIFxuICAgICAgICAucGFuZWwge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICAgICAuZm9ybS1ncm91cCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuXG4gICAgICAgICAgICAgICAgJiArIC5mb3JtLWdyb3VwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGFuZWwtaGVhZGluZyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wYW5lbC1ib2R5IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAaWYoJGNvbHMgPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1hbnkoJGNvbHMsKCkpO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuZm9ybS1ncm91cDpudGgtY2hpbGQoI3skY29sc30pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYgKyAucGFuZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jbVNlYXJjaEJ1dHRvblpvbmUsXG4gICAgICAgIC5kaXZCb3R0b20gIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMCAkaGFsZkd1dHRlcjtcbiAgICAgICAgICAgIC5mYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgIC8vIFBpc2Ftb3MgbG9zIGJvdG9uZXMuLi5cbiAgICAgICAgICAgIC5idG4tZGVmYXVsdCxcbiAgICAgICAgICAgIC5idG4tcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLDIqJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb250U2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJGZvbnRTaXplKiAkbGluZS1oZWlnaHQtYmFzZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idG4tZGVmYXVsdCAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRncmF5LWRhcmssXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJnQ29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJnQ29sb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbn1cblxuLy8vIE1peGluIHBhcmEgZWwgbWVuw7ogcHJpbmNpcGFsIFxuLy8vIFxuLy8vIFNlIHB1ZWRlIGVzcGVjaWZpY2FyIGEgcGFydGlyIGRlIHF1ZSBlc2NlbmFyaW8gc2UgcXVpZXJlIHF1ZSBhcGFyZXpjYSBsYSBoYW1idXJndWVzYTogcG9yIGRlZmVjdG8gbGEgWFMgJGNvbHM6MVxuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gc2NyZWVuLW1heCAgLSBFbCB0YW1hw7FvIG1heGltbyBkZSBwYW50YWxsYSBwYXJhIGFwbGljYXIgYSBsYSBtZWRpYSBxdWVyeVxuQG1peGluIG1haW4tbWVudS1ob2xkZXIoJHNjcmVlbi1tYXg6IHhzLCAkbWVudU9wZW5Db250YWluZXI6ICd1bC5jbU1lbnVMZXZlbDEnKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRzY3JlZW4tbWF4KSB7XG5cdFx0Lm1haW5NZW51IHtcblx0XHRcdC8vIExvIG9jdWx0YW1vcyBlbiBlc3RlIG5pdmVsLi4uXG5cdFx0XHQjeyRtZW51T3BlbkNvbnRhaW5lcn0ge1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAtMTAwJTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdHBhZGRpbmc6JGhhbGZHdXR0ZXIgMDtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZjtcblx0XHRcdFx0ei1pbmRleDogMTIwO1xuXHRcdFx0XHRmbG9hdDogbm9uZTsgICAgICAgIFxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQvLyBBaG9yYSBsbyBtb3N0cmFtb3MsIGN1YW5kbyBlc3RhIGVsIG1lbsO6IGFiaWVydG8uXG5cdFx0XHQmLm1lbnVPcGVuICN7JG1lbnVPcGVuQ29udGFpbmVyfSB7XG5cdFx0XHRcdHRvcDogNzVweDtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG5cdFx0XHRcdGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7XG5cdFx0XHRcdC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycyBsaW5lYXI7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuMnMgbGluZWFyO1xuXHRcdFx0XHRvdmVyZmxvdzogYXV0bztcblx0XHRcdFx0Y29sb3I6ICRwcm94aWEtbGlua3MtY29sb3I7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDogJGhhbGZHdXR0ZXI7XG5cdFx0XHRcdC5jbU1lbnVMaW5rIHtcblx0XHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHRcdCY6Zm9jdXMsXG5cdFx0XHRcdFx0JjphY3RpdmV7XG5cdFx0XHRcdFx0XHRjb2xvcjogJHByb3hpYS1saW5rcy1jb2xvci1ob3Zlcjtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHR9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIHVsLmNtTWVudUxldmVsMXtcbiAgICAgICAgICAgICAgICA+IGxpIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0XHQmLmhhc1N1YmVsZW1lbnRzID4gZGl2IHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQvLyBRdWl0YW1vcyBlbCBlZmVjdG8gOmhvdmVyLCBwYXJhIHF1ZSBubyBoYWdhIGV4dHJhw7Fvc1xuXHRcdFx0XHRcdCYuaGFzU3ViZWxlbWVudHM6aG92ZXIgPiBkaXYsXG4gICAgICAgICAgICAgICAgICAgICYuaGFzU3ViZWxlbWVudHM6Zm9jdXMtd2l0aGluID4gZGl2e1xuXHRcdFx0XHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0LW1vei10cmFuc2l0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0dHJhbnNpdGlvbjogbm9uZTtcblx0XHRcdFx0XHRcdC13ZWJraXQtYW5pbWF0aW9uOiBub25lO1xuXHRcdFx0XHRcdFx0YW5pbWF0aW9uOiBub25lO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuY21NZW51TGV2ZWwyIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAkaGFsZkd1dHRlcjtcblx0XHRcdFx0XHRcdEBpbmNsdWRlIG1lbnUtY29sdW1ucygxLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdCAgJHN1Ym1lbnUtaWNvbixcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICRzdWJtZW51LWljb24tZm9udCxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQgICRzdWJtZW51LWljb24tcGFkZGluZyk7ICAgICAgICAgICAgICAgIFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQvLyBBw7FhZGltb3MgdW4gbWFyZ2VuIHJlc3BlY3RvIGFsIHByaW1lcm8gZW4gZWwgc2VndW5kbyBlbGVtZW50byBkZSBtZW7Dui5cblx0XHRcdFx0XHQrIGxpIHtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6ICRoYWxmR3V0dGVyO1xuXHRcdFx0XHRcdH1cblxuXHRcdFx0XHR9XG4gICAgICAgICAgICB9XG5cblx0XHRcdC5ob2xkZXIge1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogJGhhbGZHdXR0ZXI7XG5cdFx0XHRcdHJpZ2h0OiAkaGFsZkd1dHRlcjtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRvdXRsaW5lOiBub25lO1xuXHRcdFx0XHRwYWRkaW5nOiAkaGFsZkd1dHRlcjtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG5cdFx0XHRcdHotaW5kZXg6IDE7XG5cdFx0XHRcdC5pY29uLWJhciB7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0d2lkdGg6IDIycHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAzcHg7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMXB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cdFx0XHRcdFx0KyAuaWNvbi1iYXIge1xuXHRcdFx0XHRcdFx0bWFyZ2luOiA0cHggMDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHRcdCY6aG92ZXIsXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vLyBNaXhpbiBwYXJhIGluY2x1aXIgZWwgc29wb3J0ZSBiw6FzaWNvIHBhcmEgZmxleCBlbiB0b2RvcyBsb3MgbmF2ZWdhZG9yZXNcbkBtaXhpbiBmbGV4KCkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIGRpc3BsYXk6IC1tb3otYm94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gTWl4aW4gZGUgdXRpbGlkYWQgcGFyYSBtYXF1ZXRhciBjb24gRkxFWEJPWFxuLy8vXG4vLy8gRmxleGJveCBlcyB1biBzaXN0ZW1hIGRlIGVsZW1lbnRvcyBmbGV4aWJsZXMgcXVlIGxsZWdhIGNvbiBsYSBpZGVhIGRlIG9sdmlkYXIgZXN0b3MgbWVjYW5pc21vcyB5IGFjb3N0dW1icmFybm9zIGFcbi8vLyB1bmEgbWVjw6FuaWNhIG3DoXMgcG90ZW50ZSwgbGltcGlhIHkgcGVyc29uYWxpemFibGUsIGVuIGxhIHF1ZSBsb3MgZWxlbWVudG9zIEhUTUwgc2UgYWRhcHRhbiB5IGNvbG9jYW4gYXV0b23DoXRpY2FtZW50XG4vLy8gZSB5IGVzIG3DoXMgZsOhY2lsIHBlcnNvbmFsaXphciBsb3MgZGlzZcOxb3MuIEVzdMOhIGVzcGVjaWFsbWVudGUgZGlzZcOxYWRvIHBhcmEgY3JlYXIsIG1lZGlhbnRlIENTUywgZXN0cnVjdHVyYXMgZGUgdW5hIHPDs2xhIGRpbWVuc2nDs24uXG4vLy9cbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9ICRhbGlnbiAgLSBVc2FkYSBwYXJhIGFsaW5lYXIgbG9zIMOtdGVtcyBkZWwgZWplIHNlY3VuZGFyaW8gKHBvciBkZWZlY3RvLCBlbCB2ZXJ0aWNhbCkuXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSAkanVzdGlmeSAgLSBTZSB1dGlsaXphIHBhcmEgYWxpbmVhciBsb3Mgw610ZW1zIGRlbCBlamUgcHJpbmNpcGFsIChwb3IgZGVmZWN0bywgZWwgaG9yaXpvbnRhbCkuXG4vLy8gQHBhcmFtZXRlciB7U3RyaW5nfSAkZGlyZWN0aW9uICAtIENhbWJpYSBsYSBvcmllbnRhY2nDs24gZGVsIGVqZSBwcmluY2lwYWwuXG5AbWl4aW4gZmxleGJveCgkYWxpZ246IG5vcm1hbCwgJGp1c3RpZnk6IG5vcm1hbCwgJGRpcmVjdGlvbjogcm93KSB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogICRkaXJlY3Rpb247XG4gICAgYWxpZ24taXRlbXM6ICAgICAkYWxpZ247XG4gICAganVzdGlmeS1jb250ZW50OiAkanVzdGlmeTtcbn1cblxuLy8vIE1peGluIGRlIHV0aWxpZGFkIHBhcmEgZWxpbWluYXIgZWwgYm9yZGVhZG8gbmF0aXZvIGRlbCBuYXZlZ2Fkb3IgZW4gZWwgZm9jdXMgZGUgbG9zIGVsZW1lbnRvcy5cbi8vLyBQb2RlbW9zIGFwbGljYXJsbyBjdWFuZG8gdGVuZW1vcyBlc3RpbG9zIGN1c3RvbSBwYXJhIGVsIGhvdmVyLCBmb2N1cyBvIGFjdGl2ZS5cbkBtaXhpbiByZW1vdmUtZm9jdXMoKSB7XG4gICAgYm9yZGVyOiAgICAgbm9uZTtcbiAgICBvdXRsaW5lOiAgICBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbi8vLyBHZW5lcmEgdW4gY2FyZXQgKHRyaWFuZ3VsbykgcXVlIHB1ZWRlIHNlciBlbXBsZWFkbyBlbiBsb3Mgc2VsZWN0IChwb3IgZGVmZWN0byBzZSBlbXBsZWEgZW4gZWxsb3MpXG4vLy8gbyBlbiBvdHJvcyBlbGVtZW50b3Ncbi8vXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSAkd2lkdGggIC0gTGEgYW5jaHVyYSBkZWwgY2FyZXRcbi8vLyBAcGFyYW1ldGVyIHtTdHJpbmd9ICRjb2xvciAgLSBDb2xvciB2aW5jdWxhZG8gYWwgbWlzbW9cbi8vLyBAcGFyYW1ldGVyIHtCb29sZWFufSAkZGlyZWN0aW9uICAtIENhbWJpYSBsYSBvcmllbnRhY2nDs24sIHNpIGFwdW50YSBoYWNpYSBhYmFqbyAocG9yIGRlZmVjdG8pIG8gc2kgcXVlcmVtb3MgZGFybGUgbGEgdnVlbHRhIGFwdW50YW5kbyBoYWNpYSBhcnJpYmEuXG5AbWl4aW4gY2FyZXQoJHdpZHRoLCRjb2xvciwkcmV2ZXJzZTpmYWxzZSkge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItd2lkdGg6IDAgc3VidHJhY3QoJHdpZHRoLDFweCk7XG5cbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIEBpZigkcmV2ZXJzZSkge1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAkd2lkdGg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGNvbG9yIHRyYW5zcGFyZW50O1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAkd2lkdGg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIH1cbn1cblxuXG4vLy8gTWl4aW4gcXVlIGluY2x1eWUgZWwgdGFtYcOxbyBkZSBmdWVudGUganVudG8gY29uIHN1IGFsdHVyYSBkZSBsaW5lYSBjYWxjdWxhZGFcbi8vLyBAcGFyYW1ldGVyIHtOdW1iZXJ9IHNpemUgLSBFbCB0YW1hw7FvIGRlIGZ1ZW50ZVxuQG1peGluIGZvbnRTaXplKCRzaXplKSB7XG4gIGZvbnQtc2l6ZTogJHNpemU7XG4gIGxpbmUtaGVpZ2h0OiAoKCRzaXplICogJGxpbmUtaGVpZ2h0LWJhc2UpKTtcbn1cblxuLy8vIE1peGluIHBhcmEgYXBsaWNhciBlbCB0aXBvIGRlIGZ1ZW50ZVxuLy8vIEBwYXJhbWV0ZXIgY29sb3IgLSBDb2xvciBkZSBsZXRyYSAoaGV4LCBudW1iZXIsIGxldHJhLi4uKVxuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gZm9udC13ZWlnaHQgLSBmb250LXdlaWdodCBkZSBsYSBsZXRyYVxuLy8vIEBwYXJhbWV0ZXIge051bWJlcn0gZm9udC1zaXplIC0gZm9udC1zaXplIGRlIGxhIGxldHJhXG4vLy8gQHBhcmFtZXRlciB7TnVtYmVyfSBmb250LWZhbWlseSAtIGZhbWlsaWEgZGUgbGEgbGV0cmEgKHBvciBkZWZlY3RvIGVsIGRlIGxhIHdlYiBxdWUgc2UgdmEgYSBkaXNlw7FhcilcbkBtaXhpbiBmb250VHlwZSgkY29sb3IsICRmb250LXdlaWdodCwgJGZvbnQtc2l6ZSwgJGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZSkge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaWYgJGZvbnQtZmFtaWx5ICE9ICRmb250LWZhbWlseS1iYXNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICB9XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XG4gIEBpbmNsdWRlIGZvbnRTaXplKCRmb250LXNpemUpO1xuICBAY29udGVudDtcblxufVxuIiwKCQkiLy8gRXN0aWxvcyBlc3BlY8OtZmljb3MgcGFyYSBsb3MgaWZyYW1lIGRlIGxhIHZlcnNpw7NuIGltcHJpbWlibGVcbi8vIExhIHpvbmEgZGUgaW1wcmVzacOzbiBnZW5lcmEgdW4gaWZyYW1lIHkgZXMgbmVjZXNhcmlvIGNvbmZpZ3VyYXJsbyBhZGVjdWFkYW1lbnRlLlxuLy8gUGFyYSBlbCBjdWVycG8gaW1wcmltaWJsZVxuYm9keS5wcm94aWEtcmVzdGZ1bC1wcmludGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgbWFyZ2luOiAwcHg7XG4gIHBhZGRpbmc6IDBweDtcbn1cblxuLy8gRWwgaWZyYW1lIGNvbnRlbmVkb3JcbmlmcmFtZS5wcm94aWEtcmVzdGZ1bC1wcmludGFibGUge1xuICBoZWlnaHQ6IDQwMHB4O1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gSW5jbHVpbW9zIGZ1bmNpb25hbGlkYWRlcyBnZW7DqXJpY2FzIGRlIHByZXNlbnRhY2nDs24gZGUgc2VydmljaW9zXG5kaXZbZGF0YS1wcm94aWFyZXN0ZnVsPVwidHJ1ZVwiXSB7XG4gIEBpbXBvcnQgXCJyZWFjdC9uYXZpZ2F0aW9uXCI7XG4gIEBpbXBvcnQgXCJyZWFjdC9mb3JtXCI7XG4gIEBpbXBvcnQgXCJyZWFjdC9kYXRlcGlja2VyXCI7XG4gIEBpbXBvcnQgXCJyZWFjdC9hdXRvY29tcGxldGVcIjtcbiAgQGltcG9ydCBcInJlYWN0L2ZpbGVzXCI7XG4gIEBpbXBvcnQgXCJyZWFjdC9jb250ZW50Y29udHJvbFwiO1xuICBAaW1wb3J0IFwicmVhY3QvbWFzdGVyZGV0YWlsXCI7XG4gIEBpbXBvcnQgXCJyZWFjdC9wcmludFwiO1xuICBAaW1wb3J0IFwicmVhY3QvY29yZVwiO1xufVxuQGltcG9ydCBcInJlYWN0L2RpYWxvZ1wiO1xuXG4iLAoJCSIvLyBDb3B5cmlnaHQgKGMpIDIwMjAuIERpdmlzYSBpVCBTQVVcblxuLyoqXG4gKiBBc3BlY3RvIGdlbmVyYWwgZGVsIHNpc3RlbWEgZGUgbmF2ZWdhY2nDs24gZGUgbG9zIGNvbXBvbmVudGVzIFJFQUNUXG4gKlxuICogQGF1dGhvciBEYXZpZCBSb2Ryw61ndWV6IEFsZmF5YXRlIChkcm9kcmlndWV6QGRpdmlzYWl0LmNvbSlcbiAqIEBzaW5jZSBQcm94aWEgQ01TIDEwLjJcbiAqL1xuXG4ubmF2aWdhdGlvbi5uYXZpZ2F0aW9uLXNob3J0LFxuLm5hdmlnYXRpb24ubmF2aWdhdGlvbi1sb25nIHtcbiAgbWFyZ2luLXRvcDogJGdyaWQtZ3V0dGVyLXdpZHRoO1xuXG4gIC50b3RhbFBhZ2VMaXN0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubnVtUGFnZUxpc3Qge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDBweDtcbiAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAmICsgbGkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4ubmF2aWdhdGlvbi5uYXZpZ2F0aW9uLXNob3J0IHtcbiAgLm51bVBhZ2VMaXN0IHtcbiAgICA+KiArICoge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICB9XG4gIH1cbn1cblxuLm5hdmlnYXRpb24ubmF2aWdhdGlvbi1sb25nIHtcbiAgLnRvdGFsUGFnZUxpc3Qge1xuICAgIGRpdiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAmICsgZGl2IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgIH1cbiAgICAgICYuY2hhbmdlUGFnZVNpemUge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgcGFkZGluZzogMHB4ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAvIDI7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGZvcm0tY29udHJvbC1ib3JkZXItY29sb3I7XG4gICAgICAgICAgd2lkdGg6IDgwcHg7XG5cbiAgICAgICAgICAmICsgbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBDb3B5cmlnaHQgKGMpIDIwMjAuIERpdmlzYSBpVCBTQVVcblxuLyoqXG4gKiBBc3BlY3RvIGdlbmVyYWwgZGUgZm9ybXVsYXJpb3MgZGVudHJvIGRlbCBzb3Bhb3J0ZSBkZSBSRUFDVCBjb24gbG9zIGNvbnRyb2xlcyBnZXN0aW9uYWRvc1xuICogcG9yIGVsIHByb3BpbyBzaXN0ZW1hLCBjb250cm9sZXMgdmVyaWZpY2Fkb3MsIGFzcGVjdG8gZGUgcmFkaW8gYnV0dG9uIHkgY2hlY2tzLCBwYWRkaW5nXG4gKiBzb2JyZSBjYW1wb3MgZGUgZm9ybXVsYXJpb1xuICpcbiAqIEBhdXRob3IgRGF2aWQgUm9kcsOtZ3VleiBBbGZheWF0ZVxuICogQHNpbmNlIFByb3hpYSBDTVMgMTAuMlxuICovXG5cbmZvcm0sIC5mb3JtLCAuZm9ybS1maWx0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gID4gLmxvYWRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZ3JheS0yMDAsMC4zKTtcbiAgfVxuICAudG9hc3RyLmZvcm0tZXJyb3Ige1xuICAgIHBhZGRpbmc6ICRoYWxmR3V0dGVyO1xuICAgIG1hcmdpbjogJGhhbGZHdXR0ZXI7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tY29udHJvbC1lcnJvcmFyZWEtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGZvcm0tY29udHJvbC1lcnJvcmFyZWEtY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9ybS1jb250cm9sLWZvbnQtc2l6ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDBweDtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgei1pbmRleDogNDtcbiAgICBvcGFjaXR5OiAwLjg7XG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICBAaW5jbHVkZSBmbGV4KCk7XG4gICAgLnRvYXN0ci1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgoKTtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRoYWxmR3V0dGVyO1xuICAgIH1cbiAgICAudG9hc3RyLWNsb3NlIHtcbiAgICAgIC5idG4ge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgQGluY2x1ZGUgYS1ldmVudHMtaG92ZXIoKSB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1jb250cm9sLnJlYWN0LWRhdGUtcGlja2VyLS1kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICB9XG5cbiAgLy8gQ29udHJvbGFtb3MgZWwgYXNwZWN0byBkZSBsYSBlbnRyYWRhIHN1amV0YSBhIHVuIGNvbXBvbmVudGVcbiAgLy8gUmVhY3QgZGUgdGlwbyBWZXJpZmllZENvbnRyb2xcbiAgLmlucHV0LWdyb3VwLnZlcmlmaWVkLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5mb3JtLWNvbnRyb2xbcmVhZG9ubHldOm5vdCguZGlhbG9nLWlucHV0LWNvbnRyb2wpICsgLmlucHV0LWdyb3VwLWFwcGVuZCxcbiAgICAuZm9ybS1jb250cm9sW3JlYWRvbmx5XTpub3QoLmRpYWxvZy1pbnB1dC1jb250cm9sKSAgKyAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgLmZvcm0tY29udHJvbDpkaXNhYmxlZCArIC5pbnB1dC1ncm91cC1hZGRvbiwgXG4gICAgLmZvcm0tY29udHJvbDpkaXNhYmxlZCArIC5pbnB1dC1ncm91cC1hcHBlbmQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgICAgLy8gaU9TIGZpeCBmb3IgdW5yZWFkYWJsZSBkaXNhYmxlZCBjb250ZW50OyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTY1NS5cbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAkZm9ybS1jb250cm9sLWJvcmRlci13aWR0aCBzb2xpZCAkZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbiAgICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRmb3JtLWNvbnRyb2wtYm94LXNoYWRvdztcbiAgICAgIH1cbiAgICAmW2RhdGEtY29udGFpbnMtZXJyb3I9XCJ0cnVlXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmVkO1xuICAgIH1cbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXI6IDBweDtcbiAgICAgICY6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKSB7XG4gICAgICAgIGhlaWdodDogJGZvcm0tY29udHJvbC1oZWlnaHQtYmFzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmlucHV0LWdyb3VwLXRleHQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDBweDtcbiAgICAgIC5mYS10aW1lcyB7XG4gICAgICAgIGNvbG9yOiByZWQ7XG4gICAgICB9XG4gICAgICAuZmEtY2hlY2sge1xuICAgICAgICBjb2xvcjogZ3JlZW47XG4gICAgICB9XG4gICAgICAuc2hvdyB7XG4gICAgICAgIGNvbG9yOiAjNEU2RkI4O1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUteHNtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgLmlucHV0LWdyb3VwLXRleHQudW5zZXQge1xuICAgICAgKiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5pbnB1dC1ncm91cC1hcHBlbmQsXG4gICAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgbWluLXdpZHRoOiAkaGFsZkd1dHRlciArIDIgKiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgICAgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1ncm91cC5mb3JtLWlubGluZSBsYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gIH1cbiAgLy8gQXNwZWN0byBnZW5lcmFsIGRlIGlucHV0cyB5IHJhZGlvLWJ1dHRvbnMgYXNvY2lhZG9zIGEgY29udHJvbGVzIGRlIGZvcm11bGFyaW9cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICBmb250LXNpemU6ICRmb3JtLWNvbnRyb2wtbGFiZWwtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1jb250cm9sLWxhYmVsLWZvbnQtc2l6ZSAqICRsaW5lLWhlaWdodC1iYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgLnJlcXVpcmVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwuZXJyb3Ige1xuICAgIGNvbG9yOiB1bnNldDtcbiAgfVxuICBsYWJlbCAraW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBsYWJlbCAraW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBtYXJnaW4tbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6ICRmb3JtLWNvbnRyb2wtcmFkaW8tc2l6ZTtcbiAgICBoZWlnaHQ6ICRmb3JtLWNvbnRyb2wtcmFkaW8tc2l6ZTtcbiAgICB0b3A6IDNweDtcbiAgICBib3JkZXI6IDBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IDBweDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAkZm9ybS1jb250cm9sLXJhZGlvLXNpemU7XG4gICAgICBoZWlnaHQ6ICRmb3JtLWNvbnRyb2wtcmFkaW8tc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNvbnRyb2wtYmdjb2xvcjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRwcmltYXJ5O1xuICAgIH1cbiAgICAmOmRpc2FibGVkIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGZvcm0tY29udHJvbC1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuICAgICZbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQ6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAkcHJpbWFyeSAwJSwkcHJpbWFyeSAzNSUsJHByaW1hcnkgMzUlLHRyYW5zcGFyZW50IDQ3JSx0cmFuc3BhcmVudCA0OCUpO1xuICAgIH1cbiAgICAmW3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkcHJpbWFyeSwgJHByaW1hcnkpIDUwJSA1MCUgLyA1MCUgNTAlO1xuICB9XG4gIH1cblxuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTphZnRlciB7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmFmdGVyIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jb250cm9sLXJhZGlvLXNpemU7XG4gIH1cblxuICAvLyBFdml0YW1vcyBlbCByZWRpbWVuc2lvbmFtaWVudG8gZGUgbG9zIHRleHRhcmVhXG4gIHRleHRhcmVhIHtcbiAgICByZXNpemU6IG5vbmU7XG4gIH1cblxuICAvLyBRdWVyZW1vcyBxdWUgdG9kb3MgbG9zIGNvbnRyb2xlcyBkZSBmb3JtdWxhcmlvcyB0ZW5nYW4gdW4gZGV0ZXJtaW5hZG9cbiAgLy8gdGFtYcOxb1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1jb250cm9sLWJvcmRlci1yYWRpdXM7XG4gICAgYm9yZGVyLWNvbG9yOiAkZm9ybS1jb250cm9sLWJvcmRlci1jb2xvcjtcbiAgICBmb250LXNpemU6ICRmb3JtLWNvbnRyb2wtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1jb250cm9sLWxpbmUtaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLWNvbnRyb2wtYmdjb2xvcjtcbiAgICAmLmRpYWxvZy1pbnB1dC1jb250cm9sW3JlYWRvbmx5XTpub3QoOmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1jb250cm9sLWJnY29sb3I7XG4gICAgfVxuICAgICY6bm90KFt0eXBlPVwicmFkaW9cIl0pOm5vdChbdHlwZT1cImNoZWNrYm94XCJdKTpub3QodGV4dGFyZWEpIHtcbiAgICAgICY6bm90KC5yZWFjdC1kYXRlLXBpY2tlcikge1xuICAgICAgICBAaWYgJGZvcm0tY29udHJvbC1wYWRkaW5nIT0nJyB7XG4gICAgICAgICAgcGFkZGluZzogJGZvcm0tY29udHJvbC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBib3JkZXItd2lkdGg6ICRmb3JtLWNvbnRyb2wtYm9yZGVyLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkZm9ybS1jb250cm9sLWhlaWdodDtcbiAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICAgICY6Zm9jdXMge1xuICAgICAgYm94LXNoYWRvdzogJGZvcm0tY29udHJvbC1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wuZXJyb3IsXG4gIC5mb3JtLWNvbnRyb2xbZGF0YS1lcnJvcj1cInRydWVcIl17XG4gICAgYm9yZGVyLWNvbG9yOiByZWQ7XG4gIH1cblxuICAuZXJyb3ItYXJlYS1kZXNjcmlwdGlvbi5lcnJvci1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgPiBzcGFuIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAvLyBUcmFiYWphbW9zIGNvbiBwaXhlbGVzIHBhcmEgbGEgZmxlY2hhLCB0cmFiYWphciBjb24gcmVtcyBkZWphIGNvc2FzIG11eSByYXJhcy5cbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIGxlZnQ6IDEuNSokbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCA1cHggNXB4O1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkZm9ybS1jb250cm9sLWVycm9yYXJlYS1iYWNrZ3JvdW5kO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICBmb250LXNpemU6ICRmb3JtLWNvbnRyb2wtZXJyb3JhcmVhLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1jb250cm9sLWVycm9yYXJlYS1mb250LXNpemUqJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBiYWNrZ3JvdW5kOiAkZm9ybS1jb250cm9sLWVycm9yYXJlYS1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRmb3JtLWNvbnRyb2wtZXJyb3JhcmVhLWNvbG9yO1xuICAgICAgcGFkZGluZzogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLzIgJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZvcm0tY29udHJvbC1lcnJvcmFyZWEtYW55b2YtZmxvYXQgPT0gZmFsc2UpIHtcbiAgICBkaXZbZGF0YS1hbnlvZj10cnVlXSAuZXJyb3IsXG4gICAgbGVnZW5kLmVycm9yLFxuICAgIC5sZWdlbmQuZXJyb3Ige1xuICAgICAgLmVycm9yLWFyZWEtZGVzY3JpcHRpb24uZXJyb3ItYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IGluaXRpYWw7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgPiBzcGFuIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbG9yOiAkZm9ybS1jb250cm9sLWVycm9yYXJlYS1iYWNrZ3JvdW5kO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZm9ybS1ncm91cCAuZXJyb3ItYXJlYS1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBc3BlY3RvIGdlbmVyYWwgZGUgbGFzIGV0aXF1ZXRhc1xuICBsYWJlbCxcbiAgLmxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1sYWJlbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWNvbnRyb2wtbGFiZWwtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIH1cbiAgLmxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgfVxuXG4gIGxhYmVsLmVycm9yLWZpZWxkLFxuICBkaXYuZXJyb3ItZmllbGQge1xuICAgIGNvbG9yOiByZWQ7XG4gIH1cblxuICBsYWJlbC5lcnJvcixcbiAgLmxhYmVsLmVycm9yIHtcbiAgICBjb2xvcjogcmVkO1xuICB9XG4gIGRpdltkYXRhLWFueW9mPXRydWVdIC5lcnJvciB7XG4gICAgY29sb3I6IGluaXRpYWw7XG4gIH1cblxuXG5cbiAgLy8gVW4gYXNwZWN0byBnZW5lcmFsIHBhcmEgdG9kb3MgbG9zIGJvdG9uZXMgcXVlIHRlbmVtb3MsIGFzZWd1cmFuZG9ub3NcbiAgLy8gdW5hIHNlcGFyYWNpw7NuIGVudHJlIGVsbG9zLlxuICAuYnRuIHtcbiAgICBmb250LXNpemU6ICRmb3JtLWNvbnRyb2wtZm9udC1zaXplO1xuICAgIHBhZGRpbmctbGVmdDogJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG4gICAgcGFkZGluZy1yaWdodDogJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tY29udHJvbC1ib3JkZXItcmFkaXVzO1xuXG4gICAgJiArIC5idG4sXG4gICAgJiArIC5idG4tZ3JvdXAge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRoYWxmR3V0dGVyO1xuICAgIH1cbiAgfVxuXG4gIGxlZ2VuZCwgLmxlZ2VuZCwgLnRpdGxlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1sZWdlbmQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZSAqICRmb3JtLWNvbnRyb2wtbGVnZW5kLWZvbnQtc2l6ZTtcbiAgICBib3JkZXItYm90dG9tOiAwcHg7XG4gIH1cblxuICAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgfVxuXG5cbiAgLmhlbHAtaW5mbyB7XG4gICAvKiBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgdG9wOiAkbGluZS1oZWlnaHQtYmFzZSAqICRmb3JtLWNvbnRyb2wtbGVnZW5kLWZvbnQtc2l6ZTsqL1xuICAgIG1hcmdpbi10b3A6ICRsaW5lLWhlaWdodC1iYXNlICogJGZvcm0tY29udHJvbC1sZWdlbmQtZm9udC1zaXplO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS14c207XG4gICAgei1pbmRleDogMztcbiAgICAuY29udGVudCB7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNGMkQxNkI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJGMENGO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIHBhZGRpbmc6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZy8yO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wuc2VsZWN0LW11bHRpcGxlLWhvbGRlciB7XG4gICAgbWluLWhlaWdodDogJGZvcm0tY29udHJvbC1oZWlnaHQ7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAycHggMHB4ICFpbXBvcnRhbnQ7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgPiBkaXYuY2xvc2Utd2luZG93IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBtYXJnaW46IDAgJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLzI7XG4gICAgICBidXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogJGZvcm0tY29udHJvbC1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBkaXYuc2VsZWN0LW11bHRpcGxlLWNvbnRhaW5lci1vcHRpb25zIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE1cHggLSAjeyRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZ30pO1xuICAgICAgJjpub3QoLm5vLXZhbHVlKTpub3QoLm11bHRpcGxlKSB7XG4gICAgICAgIEBpbmNsdWRlIGNvbHVtbml6ZS1hbnkoMik7XG4gICAgICB9XG5cbiAgICAgICY6bm90KC5uby12YWx1ZSkubXVsdGlwbGUge1xuICAgICAgICBAaW5jbHVkZSBjb2x1bW5pemUtYW55KDMpO1xuICAgICAgfVxuXG4gICAgICAmOm5vdCgubm8tdmFsdWUpIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhY2UtY29sdW1uaXplZC1hbnkoJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLCAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcpO1xuICAgICAgfVxuXG4gICAgICA+ICoge1xuICAgICAgICBmb250LXNpemU6ICRmb3JtLWNvbnRyb2wtbXVsdGlwbGUtc2VsZWN0LWZvbnQtc2l6ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1tdWx0aXBsZS1zZWxlY3QtZm9udC1zaXplO1xuICAgICAgICBwYWRkaW5nOiAwcHggMnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAudHh0IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGZvcm0tY29udHJvbC1tdWx0aXBsZS1zZWxlY3QtZm9udC1zaXplfSk7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGhlaWdodDogJGZvcm0tY29udHJvbC1tdWx0aXBsZS1zZWxlY3QtZm9udC1zaXplKiRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24ge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgICYgKyBidXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5wdXQge1xuICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1tdWx0aXBsZS1zZWxlY3QtZm9udC1zaXplO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXBcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3BlY2lhbC1zdmctYnRuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogNHB4IDZweDtcblxuICAgICY6ZW5hYmxlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAuc3ZnLWJ0bl9fYnV0dG9uX19pY29uIHtcbiAgICAgICAgICBzdHJva2U6IHJnYigwLCAxMjAsIDIxNSk7XG4gICAgICAgICAgZmlsbDogcmdiKDAsIDEyMCwgMjE1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgLnN2Zy1idG5fX2J1dHRvbl9faWNvbiB7XG4gICAgICAgIHN0cm9rZTogcmdiKDEwOSwgMTA5LCAxMDkpO1xuICAgICAgICBmaWxsOiByZ2IoMTA5LCAxMDksIDEwOSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cblxufVxuXG4vLyBBc3BlY3RvIGdlbmVyYWwgZGVsIGJ1dHRvbi1vdXRsaW5lLXByaW1hcnlcbi5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1jb2xvcjogJHByaW1hcnk7XG4gIGNvbG9yOiAkcHJpbWFyeTtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7XG4gIHBhZGRpbmctbGVmdDogJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG4gIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1idG4tcGFkZGluZy14O1xufVxuXG4uYnRuLW91dGxpbmUtc2Vjb25kYXJ5IHtcbiAgY29sb3I6ICRzZWNvbmRhcnk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRzZWNvbmRhcnk7XG4gIGJvcmRlci1yYWRpdXM6ICRmb3JtLWNvbnRyb2wtYm9yZGVyLXJhZGl1cztcbiAgcGFkZGluZy1sZWZ0OiAkaW5wdXQtYnRuLXBhZGRpbmcteDtcbiAgcGFkZGluZy1yaWdodDogJGlucHV0LWJ0bi1wYWRkaW5nLXg7XG59XG5cbi5jbVNlYXJjaEZpZWxkLmNob2ljZUNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgIG92ZXJmbG93OiB1bnNldDtcbiAgfVxuXG4gIHNlbGVjdCxcbiAgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgcGFkZGluZy1yaWdodDogYWRkKDEwcHgsJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLHRydWUpO1xuXG4gICAgJjo6LW1zLWV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQoJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLCAkcHJpbWFyeSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogYWRkKDEwcHgsJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxufVxuXG51bC5yYWRpby1ncm91cC1jb250cm9scyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMHB4O1xuICBwYWRkaW5nOiAwcHg7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgJiArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgfVxuICB9XG59XG5cbiIsCgkJIi8vIENvcHlyaWdodCAoYykgMjAyMC4gRGl2aXNhIGlUIFNBVVxuXG4vKipcbiAqIFNvcG9ydGUgZGVsIHNlbGVjdG9yIGRlIGZlY2hhIGEgdHJhdsOpcyBkZWwgY29udHJvbCByZWFjdC1kYXRlLXBpY2tlclxuICpcbiAqIEBhdXRob3IgRGF2aWQgUm9kcsOtZ3VleiBBbGZheWF0ZVxuICogQHNpbmNlIFByb3hpYSBDTVMgMTAuMlxuICovXG5cbi5yZWFjdC1kYXRlLXBpY2tlciB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJiwgJiAqLCAmICo6YmVmb3JlLCAmICo6YWZ0ZXIge1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gICYtLWRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7XG4gICAgY29sb3I6IHJnYigxMDksIDEwOSwgMTA5KTtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJvcmRlcjogdGhpbiBzb2xpZCBncmF5O1xuICB9XG5cbiAgJl9faW5wdXRHcm91cCB7XG4gICAgJGRpZ2l0LXdpZHRoOiAuNTRlbTtcbiAgICAkZG90LXdpZHRoOiAuMjE3ZW07XG4gICAgLy8gb3duIHBhZGRpbmcgKyBpbnB1dHMgcGFkZGluZyArIGRpZ2l0cyB3aWR0aCArIGRvdHMgd2lkdGhcbiAgICBtaW4td2lkdGg6IGNhbGMoMTJweCArICN7JGRpZ2l0LXdpZHRoICogOH0gKyAgI3skZG90LXdpZHRoICogMn0pO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiAwIDJweDtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICZfX2RpdmlkZXIge1xuICAgICAgcGFkZGluZzogMXB4IDA7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIH1cblxuICAgICZfX2lucHV0IHtcbiAgICAgIG1pbi13aWR0aDogJGRpZ2l0LXdpZHRoO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAxcHg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgZm9udDogaW5oZXJpdDtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgICY6aW52YWxpZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTI4LDAsMCwwLjMpO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0taGFzTGVhZGluZ1plcm8ge1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRkaWdpdC13aWR0aDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKCN7JGRpZ2l0LXdpZHRofSArIDFweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogNHB4IDZweDtcblxuICAgICY6ZW5hYmxlZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAucmVhY3QtZGF0ZS1waWNrZXJfX2J1dHRvbl9faWNvbiB7XG4gICAgICAgICAgc3Ryb2tlOiByZ2IoMCwgMTIwLCAyMTUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICAucmVhY3QtZGF0ZS1waWNrZXJfX2J1dHRvbl9faWNvbiB7XG4gICAgICAgIHN0cm9rZTogcmdiKDEwOSwgMTA5LCAxMDkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gICZfX2NhbGVuZGFyIHtcbiAgICB3aWR0aDogMzUwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDB2dztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMztcblxuICAgICYtLWNsb3NlZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5yZWFjdC1jYWxlbmRhciB7XG4gICAgICBib3JkZXItd2lkdGg6IHRoaW47XG4gICAgfVxuICB9XG59XG5cbi5yZWFjdC1kYXRlLXBpY2tlci5mb3JtLWNvbnRyb2wge1xuICBwYWRkaW5nOiAwcHg7XG5cbiAgPiAucmVhY3QtZGF0ZS1waWNrZXJfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAkaGFsZkd1dHRlcjtcbiAgICBib3JkZXI6IDBweDtcbiAgfVxufVxuXG4ucmVhY3QtY2FsZW5kYXIge1xuICB3aWR0aDogMzUwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYigxNjAsIDE2MCwgMTUwKTtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNWVtO1xuXG4gICYtLWRvdWJsZVZpZXcge1xuICAgIHdpZHRoOiA3MDBweDtcblxuICAgIC5yZWFjdC1jYWxlbmRhcl9fdmlld0NvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAtLjVlbTtcblxuICAgICAgPiAqIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAuNWVtO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYsICYgKiwgJiAqOmJlZm9yZSwgJiAqOmFmdGVyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICBidXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcblxuICAgICY6ZW5hYmxlZCB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX25hdmlnYXRpb24ge1xuICAgIGhlaWdodDogNDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG5cbiAgICBidXR0b24ge1xuICAgICAgbWluLXdpZHRoOiA0NHB4O1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICAgJjplbmFibGVkIHtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMCwgMjMwLCAyMzApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MCwgMjQwLCAyNDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX21vbnRoLXZpZXcge1xuICAgICZfX3dlZWtkYXlzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogLjc1ZW07XG5cbiAgICAgICZfX3dlZWtkYXkge1xuICAgICAgICBwYWRkaW5nOiAuNWVtO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3dlZWtOdW1iZXJzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAucmVhY3QtY2FsZW5kYXJfX3RpbGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTtcbiAgICAgICAgcGFkZGluZzogY2FsYyguNzVlbSAvIC43NSkgY2FsYyguNWVtIC8gLjc1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kYXlzIHtcbiAgICAgICZfX2RheSB7XG4gICAgICAgICYtLXdlZWtlbmQge1xuICAgICAgICAgIGNvbG9yOiByZ2IoMjA5LCAwLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW5laWdoYm9yaW5nTW9udGgge1xuICAgICAgICAgIGNvbG9yOiByZ2IoMTE3LCAxMTcsIDExNylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3llYXItdmlldyxcbiAgJl9fZGVjYWRlLXZpZXcsXG4gICZfX2NlbnR1cnktdmlldyB7XG4gICAgLnJlYWN0LWNhbGVuZGFyX190aWxlIHtcbiAgICAgIHBhZGRpbmc6IDJlbSAuNWVtO1xuICAgIH1cbiAgfVxuXG4gICZfX3RpbGUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogLjc1ZW0gLjVlbTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgJjpkaXNhYmxlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQwLCAyNDAsIDI0MCk7XG4gICAgfVxuXG4gICAgJjplbmFibGVkIHtcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMwLCAyMzAsIDIzMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbm93IHtcbiAgICAgICRiZ2NvbG9yOiBsaWdodGVuKHJnYigyMjAsIDIyMCwgMCksIDMwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmdjb2xvcjtcblxuICAgICAgJjplbmFibGVkIHtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkYmdjb2xvciwgMTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtLWhhc0FjdGl2ZSB7XG4gICAgICAkYmdjb2xvcjogbGlnaHRlbihyZ2IoMCwgMTEwLCAyMjApLCAzMCUpO1xuICAgICAgYmFja2dyb3VuZDogJGJnY29sb3I7XG5cbiAgICAgICY6ZW5hYmxlZCB7XG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJGJnY29sb3IsIDEwJSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1hY3RpdmUge1xuICAgICAgJGJnY29sb3I6IHJnYigwLCAxMTAsIDIyMCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmdjb2xvcjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgICAgJjplbmFibGVkIHtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbGlnaHRlbigkYmdjb2xvciwgMTAlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLXNlbGVjdFJhbmdlIHtcbiAgICAucmVhY3QtY2FsZW5kYXJfX3RpbGUge1xuICAgICAgJi0taG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMwLCAyMzAsIDIzMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBDb3B5cmlnaHQgKGMpIDIwMjAuIERpdmlzYSBpVCBTQVVcblxuLyoqXG4gKiBQYXJhIGNvbnRyb2xhciBsYSBhcGFyaWVuY2lhIGRlIGVsZW1lbnRvcyBhdXRvY29tcGxldGFkb3MgcG9yIGVsIHNpc3RlbWEuXG4gKlxuICogQGF1dGhvciBEYXZpZCBSb2Ryw61ndWV6IEFsZmF5YXRlXG4gKiBAc2luY2UgUHJveGlhIENNUyAxMC4yXG4gKi9cblxuLmF1dG9jb21wbGV0ZS1pdGVtcyB7XG4gIHBhZGRpbmc6IDIqJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nIDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIHotaW5kZXg6IDM7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMHB4O1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB3aWR0aDogMTAwJTtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDFweCk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2NjY2M7XG4gID4gbGkgYSxcbiAgPiBsaSBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICBjb2xvcjogJGJvZHktY29sb3I7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAuaGVscCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICB9XG4gIH1cblxuICAmLm11bHRpcGxlIHtcbiAgICA+IGxpIGEsXG4gICAgPiBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBAaW5jbHVkZSBhLWV2ZW50cy1ob3ZlcigpIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICAgID5saTpmb2N1cyBhLFxuICAgID5saTpmb2N1cyBidXR0b24ge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHByaW1hcnk7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLm11bHRpcGxlKSB7XG4gICAgPiBsaSBhLFxuICAgID4gbGkgYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGEtZXZlbnRzLWhvdmVyKCkge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgICA+bGk6Zm9jdXMgYSxcbiAgICA+bGk6Zm9jdXMgYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGEtZXZlbnRzLWhvdmVyKCkge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgPmxpLnNlbGVjdGVkIGEsXG4gID5saS5zZWxlY3RlZCBidXR0b257XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgIC5oZWxwLWluZm8ge1xuICAgICAgY29sb3I6ICRib2R5LWNvbG9yO1xuICAgICAgcGFkZGluZy1sZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgfVxuICB9XG4gIC8vIFBlcXVlw7FvIG1hcmdlbiBzaSBoYXkgZGF0b3MgcHJldmlvcyBhbCBhdXRvY29tcGxldGFkby5cbiAgPiBsaSArIGxpLmFkZC1hdXRvY29tcGxldGUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgIG1hcmdpbjogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgY29udGVudDonJztcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYXV0b2NvbXBsZXRlLWVkaXQtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgfVxuXG4gIC8vIEJvdG9uIGRlIGF1dG9jb21wbGV0YWRvXG4gID5saS5hZGQtYXV0b2NvbXBsZXRlIGEsXG4gID5saS5hZGQtYXV0b2NvbXBsZXRlIGJ1dHRvbiB7XG4gICAgPiBzcGFuLmljb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cbiAgICBtYXJnaW46ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICB3aWR0aDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYXV0b2NvbXBsZXRlLWVkaXQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGF1dG9jb21wbGV0ZS1lZGl0LXRleHQtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGF1dG9jb21wbGV0ZS1lZGl0LWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkYXV0b2NvbXBsZXRlLWVkaXQtYm9yZGVyLXJhZGl1cztcbiAgICB0ZXh0LWFsaWduOiAkYXV0b2NvbXBsZXRlLWVkaXQtdGV4dC1hbGlnbjtcbiAgICBAaW5jbHVkZSBhLWV2ZW50cy1ob3ZlcigpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhdXRvY29tcGxldGUtZWRpdC1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRhdXRvY29tcGxldGUtZWRpdC10ZXh0LWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG4iLAoJCSIvLyBDb3B5cmlnaHQgKGMpIDIwMjAuIERpdmlzYSBpVCBTQVVcblxuLyoqXG4gKiBFc3RpbG9zIENTUyBwYXJhIGVsIHNlbGVjdG9yIGdlbmVyYWwgZGUgZmljaGVyb3MgeSBwYXJhIGVsIGNvbnRyb2wgcXVlIHBlcm1pdGUgdmlzdWFsaXphciBlbCBzZWxlY3RvclxuICogZGUgZmljaGVyb3MgdsOtYSBFeGNlbCBwYXJhIHN1IHByb2Nlc2FkbyBwb3N0ZXJpb3JcbiAqXG4gKiBAYXV0aG9yIERhdmlkIFJvZHLDrWd1ZXogQWxmYXlhdGUgKGRyb2RyaWd1ZXpAZGl2aXNhaXQuY29tKVxuICovXG5cbmRpdi5kcm9wem9uZSB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRoYWxmR3V0dGVyO1xuICBib3JkZXI6IDJweCBkb3R0ZWQgJGRyb3B6b25lLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcHpvbmUtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogJGRyb3B6b25lLWNvbG9yO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2l0aW9uOiBib3JkZXIgLjI0cyBlYXNlLWluLW91dDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5jdXJyZW50SW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6ICRkcm9wem9uZS1jdXJyZW50aW1hZ2Utb3BhY2l0eTtcbiAgfVxuXG4gIC5maWxlQXJlYSB7XG4gICAgei1pbmRleDogMjtcbiAgICBib3JkZXI6IDRweCBkYXNoZWQ7XG4gICAgcGFkZGluZzogJGhhbGZHdXR0ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRoYWxmR3V0dGVyO1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgbWFyZ2luOiAkZ3JpZC1ndXR0ZXItd2lkdGggMHB4O1xuICAgIGNvbG9yOiAkZHJvcHpvbmUtZmlsZWFyZWEtY29sb3I7XG5cbiAgICAuZmEge1xuICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgIH1cbiAgICBwIHtcbiAgICAgIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgICB9XG4gICAgJi5pbWFnZUFyZWEud2l0aC1pbWFnZSBwIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcbiAgICB9XG4gIH1cbiAgLmZpbGVBcmVhLmltYWdlQXJlYSB7XG4gICAgY29sb3I6ICRkcm9wem9uZS1pbWFnZWFyZWEtY29sb3I7XG4gIH1cbn1cblxuLmRlbGV0ZS1idXR0b24tYXJlYSB7XG4gICYud2l0aC1pbWFnZSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gIH1cbn1cblxuLy8gVXBsb2FkcyBkZSBleGNlbFxuZGl2LmV4Y2VsLWNvbnRyb2wge1xuICAuc2FtcGxlRXhjZWwge1xuICAgIG1hcmdpbjogJGhhbGZHdXR0ZXIgMHB4O1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICogJGZvcm0tY29udHJvbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICA+IGEge1xuICAgICAgY29sb3I6ICRkcm9wem9uZS1saW5rLWNvbG9yO1xuICAgICAgQGluY2x1ZGUgZm9udEJsb2NrKCdGb250QXdlc29tZScsJ1xcZjFjMycpIHtcbiAgICAgICAgZm9udC1zaXplOiAkaDItZm9udC1zaXplO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1hcHBpbmdzLWRldGFpbCB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgPmxpLmhlYWRlciB7XG4gICAgICBtYXJnaW46ICRoYWxmR3V0dGVyIDBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgLnlvdXJzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oeHMpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgPmxpIC5mb3JtLWdyb3VwOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMiokbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFjdGlvbnMtYXJlYSB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAucmVzdWx0cy12aWV3IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcHpvbmUtcmVzdWx0cy1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6ICRncmlkLWd1dHRlci13aWR0aDtcbiAgICAucmVzdWx0cyB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGhhbGZHdXR0ZXI7XG4gICAgfVxuICAgIC5idG4tb3V0bGluZS1wcmltYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvcm0tY29udHJvbC1mb250LXNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vIFBhcmEgcGludGFyIGxhIGNhamEgZGUgbG9zIHJlY3Vyc29zIHZpbmN1bGFkb3MgYSB1biBjb250cm9sIGRlIHNlbGVjY2nDs24sIHkgcXVlIGVsIHVzdWFyaW9cbi8vIHB1ZWRhIHZpc3VhbGl6YXJsb3Ncbi5jbVJlc291cmNlc091dGVyQm94IHtcbiAgbWFyZ2luLXRvcDogJGhhbGZHdXR0ZXIgIWltcG9ydGFudDtcbiAgdWwuY21SZXNvdXJjZUxpc3Qge1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC5yZXNvdXJjZURhdGE0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLy8gQ29weXJpZ2h0IChjKSAyMDIwLiBEaXZpc2EgaVQgU0FVXG5cbi8qKlxuICogUGVybWl0ZSBtb3N0cmFyIGVsIGNvbnRyb2wgZGUgc2VsZWNjacOzbiBkZSBjb250ZW5pZG9zIHBhcmEgbGEgYsO6c3F1ZWRhIGRlIGxvcyBtaXNtb3MgZW4gZWwgc2lzdGVtYVxuICpcbiAqIEBhdXRob3IgRGF2aWQgUm9kcsOtZ3VleiBBbGZheWF0ZSAoZHJvZHJpZ3VlekBkaXZpc2FpdC5jb20pXG4gKi9cblxuLmNvbnRlbnQtY29udHJvbCB7XG4gIC5jb250ZW50LWZpbHRlciB7XG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW4tdG9wOiBhZGQoJGZvbnQtc2l6ZS1iYXNlKiRsaW5lLWhlaWdodC1iYXNlLDdweCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgICAgcGFkZGluZzogOXB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29udGVudC1jb250cm9sLWNvbG9yO1xuICAgIH1cbiAgfVxuXG5cblxuICAuY3VycmVudC1jb250ZW50cyB7XG4gICAgbWFyZ2luOiAwcHg7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICA+IGxpIHtcbiAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRlbnQtY29udHJvbC1iYWNrZ3JvdW5kO1xuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICAgICBtYXJnaW46ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAwO1xuICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgQGluY2x1ZGUgY3V0VGV4dCgkZm9udC1zaXplLWJhc2UsNCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgJGdyaWQtZ3V0dGVyLXdpZHRoIDAgJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuXG4gICAgICAub3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRoYWxmR3V0dGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICByaWdodDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICBjb2xvcjogYmxhY2s7XG5cbiAgICAgICAgLmZhIHtcbiAgICAgICAgICBmb250LXNpemU6ICRoNi1mb250LXNpemU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgKyBsaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaC1yZXN1bHRzIHtcbiAgICBtYXJnaW46IDBweDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDBweDtcbiAgICA+IGxpIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMHB4ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAwcHggJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICBAaWYgJGNvbnRlbnQtY29udHJvbC1pdGVtLWljb24gIT0gJycge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICRjb250ZW50LWNvbnRyb2wtaXRlbS1jb2xvcjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgICAgbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICAgIGNvbnRlbnQ6ICRjb250ZW50LWNvbnRyb2wtaXRlbS1pY29uO1xuICAgICAgICAgIEBpZiAkY29udGVudC1jb250cm9sLWl0ZW0taWNvbi1mb250ICE9ICcnIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY29udGVudC1jb250cm9sLWl0ZW0taWNvbi1mb250O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGVudC1kYXRhIHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQtcGF0aCBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRlbnQtY29udHJvbC1jb2xvcjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbnRlbnQtY29udHJvbC1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcvMiAkaGFsZkd1dHRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGhhbGZHdXR0ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBtYXJnaW4tdG9wOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwOGUnO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50LWFkZCAuYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuIiwKCQkiXG51bC5tYXN0ZXItdmlldyB7XG4gIG1hcmdpbjogJGhhbGZHdXR0ZXIgMCAwIDA7XG4gIHBhZGRpbmc6IDBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMHB4ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZyAwcHggJGdyaWQtZ3V0dGVyLXdpZHRoO1xuICAgIG1hcmdpbjogMHB4O1xuICAgIEBpZiAkY29udGVudC1jb250cm9sLWl0ZW0taWNvbiAhPSAnJyB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkY29udGVudC1jb250cm9sLW1hc3RlcmRldGFpbC1pdGVtLWNvbG9yO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgICBsZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgIGNvbnRlbnQ6ICRjb250ZW50LWNvbnRyb2wtaXRlbS1pY29uO1xuICAgICAgICBAaWYgJGNvbnRlbnQtY29udHJvbC1pdGVtLWljb24tZm9udCAhPSAnJyB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRjb250ZW50LWNvbnRyb2wtaXRlbS1pY29uLWZvbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgICYgKyBsaSB7XG4gICAgICBwYWRkaW5nLXRvcDogJGhhbGZHdXR0ZXI7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcDogJGhhbGZHdXR0ZXIgKyAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1hc3Rlci12aWV3LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1hc3Rlci12aWV3LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlICogJG1hc3Rlci12aWV3LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICB9XG4gICAgLm1hc3Rlci12aWV3LWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1hc3Rlci12aWV3LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZSAqICRtYXN0ZXItdmlldy1kZXNjcmlwdGlvbi1mb250LXNpemU7XG4gICAgfVxuXG4gICAgLm1hc3Rlci12aWV3LWZlYXR1cmVzIHtcbiAgICAgIG1hcmdpbi10b3A6ICRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAkbWFzdGVyLXZpZXctZmVhdHVyZXMtZm9udC1zaXplO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb250ZW50LWNvbG9yLWZlYXR1cmVzLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICBjb2xvcjogJGNvbnRlbnQtY29sb3ItZmVhdHVyZXMtY29sb3I7XG4gICAgICAgICAgcGFkZGluZzogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLzIgMyokbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG5cbiAgICAgICAgICAmICsgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRoYWxmR3V0dGVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tZWRpdCB7XG4gICAgICBjb2xvcjogIzRFNkZCODtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0RTZGQjg7XG4gICAgICBwYWRkaW5nOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmcvMS41IDMqJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nO1xuICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAuYnRuLWRlbGV0ZSB7XG4gICAgICBjb2xvcjogcmVkO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICAgICAgcGFkZGluZzogJG1pbi1pbmxpbmUtZWxlbWVudC1zcGFjaW5nLzEuNSAzKiRtaW4taW5saW5lLWVsZW1lbnQtc3BhY2luZztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgfVxuXG4gIH1cblxuICBkaXYubWFzdGVyLXZpZXctb3B0aW9ucy5idG4tZ3JvdXAge1xuICAgID4gdWwuZHJvcGRvd24tbWVudSA+IGxpID4gLmJ0biB7XG4gICAgICBwYWRkaW5nOiAkaW5wdXQtYnRuLXBhZGRpbmcteSAkaW5wdXQtYnRuLXBhZGRpbmcteDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICA+IGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgICB9XG4gICAgICA+IHVsLmRyb3Bkb3duLW1lbnUgPiBsaSA+ICoge1xuICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgLmZhIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYS1ldmVudHMtaG92ZXIoKSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgID4gdWwuZHJvcGRvd24tbWVudSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOjBweDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IGluaXRpYWw7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgJiArIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB9XG5cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLm1hc3Rlci1yZXN1bHRzLXZpZXcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJiA+IC5sb2FkaW5nLFxuICAmICsgLmxvYWRpbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IDUwJTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuIiwKCQkiLy8gRnVuY2lvbmFsaWRhZGVzIHJlbGFjaW9hbmRhcyBjb24gbGEgaW1wcmVzacOzbiwgeSBjb21vIGFmZWN0YSBhIGxvIHF1ZSBzZSBlbmN1ZW50cmEgY29udGVuaWRvIGRlbnRyb1xuLy8gZGVsIHNlcnZpY2lvLlxuXG5AbWVkaWEgc2NyZWVuIHtcbiAgLnByaW50YWJsZS1hcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgaGVpZ2h0OiA5MCU7XG4gIH1cbn1cblxuLnByaW50YWJsZS1idXR0b24gYS5wcmludEJ1dHRvbiB7XG4gIEBleHRlbmQgLmJ0bjtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLnByaW50YWJsZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsCgkJIi8vIENvcHlyaWdodCAoYykgMjAyMC4gRGl2aXNhIGlUIFNBVVxuXG4vKipcbiAqIEVsZW1lbnRvcyBiw6FzaWNvcyBkZSBDT1JFIGRlIFByb3hpYSBSRUFDVCBxdWUgZGFuIGNpZXJ0b3MgZXN0aWxvcyBwcmVkZWZpbmlkb3NcbiAqL1xuXG5hIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmRpc2FibGVkIHtcbiAgb3BhY2l0eTogMC42NTtcbn1cbi5mYWlsZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGltZyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWluLWlubGluZS1lbGVtZW50LXNwYWNpbmc7XG4gIH1cbn1cbi5sb2FkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6ICRoYWxmR3V0dGVyIDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBMYSB6b25hIGRlIGNhcmdhLCBkZWJlIHRlbmVyIHVuYSBjb21wb3NpY2nDs24gZGVsIHRpcG8gLmVkaXQtdmlldyBbLnJlbG9hZGluZyBbLmxvYWRpbmddLCAuLi5dXG4uZWRpdC12aWV3IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAucmVsb2FkaW5nIC5sb2FkaW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDQwcHg7XG5cbiAgICA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBjYWxjKDQwJSAtIDQwcHgpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKHdoaXRlLCAwLjQpO1xuICAgIHotaW5kZXg6IDQ7XG4gIH1cbn1cblxuLm5vLWNvbnRlbnQge1xuICBtYXJnaW46ICRoYWxmR3V0dGVyIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuYnV0dG9uLmVtdWxhdGVkLWxpbmsge1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgJjpub3QoLm5hdi1pdGVtKSB7XG4gICAgY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3I7XG4gICAgQGluY2x1ZGUgYS1ldmVudHMtaG92ZXIoKSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGNvbG9yOiAkcHJveGlhLWxpbmtzLWNvbG9yLWhvdmVyO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgYS1ldmVudHMtaG92ZXIoKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRwcm94aWEtbGlua3MtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubmF2LWl0ZW06Zm9jdXMge1xuICAgIEBpbmNsdWRlIHRhYi1mb2N1cygpO1xuICB9XG59XG5cbmEuZW11bGF0ZWQtbGluay5kaXNhYmxlZCB7XG4gIEBpbmNsdWRlIGEtZXZlbnRzLWhvdmVyKCkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjokcHJveGlhLWxpbmtzLWNvbG9yO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgeEZhZGVJbiB7XG4gIDAlIHtvcGFjaXR5OjAuMzt9XG4gIDEwMCUge29wYWNpdHk6MTt9XG59XG5cbkAtbW96LWtleWZyYW1lcyB4RmFkZUluIHtcbiAgMCUge29wYWNpdHk6MC4zO31cbiAgMTAwJSB7b3BhY2l0eToxO31cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHhGYWRlSW4ge1xuICAwJSB7b3BhY2l0eTowLjM7fVxuICAxMDAlIHtvcGFjaXR5OjE7fVxufVxuXG5ALW8ta2V5ZnJhbWVzIHhGYWRlSW4ge1xuICAwJSB7b3BhY2l0eTowLjM7fVxuICAxMDAlIHtvcGFjaXR5OjE7fVxufVxuXG5ALW1zLWtleWZyYW1lcyB4RmFkZUluIHtcbiAgMCUge29wYWNpdHk6MC4zO31cbiAgMTAwJSB7b3BhY2l0eToxO31cbn1cblxuQGtleWZyYW1lcyB4RmFkZU91dCB7XG4gIDAlIHtvcGFjaXR5OjE7fVxuICAxMDAlIHtvcGFjaXR5OjAuMjt9XG59XG5cbkAtbW96LWtleWZyYW1lcyB4RmFkZU91dCB7XG4gIDAlIHtvcGFjaXR5OjF9XG4gIDEwMCUge29wYWNpdHk6MC4yO31cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHhGYWRlT3V0IHtcbiAgMCUge29wYWNpdHk6MTt9XG4gIDEwMCUge29wYWNpdHk6MC4yO31cbn1cblxuQC1vLWtleWZyYW1lcyB4RmFkZU91dCB7XG4gIDAlIHtvcGFjaXR5OjE7fVxuICAxMDAlIHtvcGFjaXR5OjAuMjt9XG59XG5cbkAtbXMta2V5ZnJhbWVzIHhGYWRlT3V0IHtcbiAgMCUge29wYWNpdHk6MTt9XG4gIDEwMCUge29wYWNpdHk6MC4yO31cbn1cblxuIiwKCQkiLm1vZGFsW2RhdGEtcHJveGlhcmVzdGZ1bD1cInRydWVcIl0ge1xuICAubW9kYWwtdGl0bGUgKyAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRoYWxmR3V0dGVyO1xuICAgIHJpZ2h0OiAkaGFsZkd1dHRlcjtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuIiwKCQkiLy8gQ29weXJpZ2h0IChjKSAyMDIxIC0gRGl2aXNhIEluZm9ybcOhdGljYSB5IFRlbGVjb211bmljYWNpb25lcyBTQVVcblxuLy8gRmljaGVybyBkZSBlamVtcGxvIGVuIGVsIHF1ZSBwdWVkZSBpbnRyb2R1Y2lyIGNvbmZpZ3VyYWNpw7NuIGVzcGVjw61maWNhIFNDU1MgZGUgc3UgcHJveWVjdG9cbi8vIFB1ZWRlIG9wdGFyIHBvciB1dGlsaXphciB1bmEgY29uZmlndXJhY2nDs24gUkVBQ1QgcHVyYSB1dGlsaXphbmRvIGRpc3RpbnRhcyBsaWJyZXLDrWFzXG4vLyBkZSB0cmFuc3BpbGFjacOzbiBkZSBDU1MtSlNcblxuLy8gUG9yIGRlZmVjdG8gZWwgc2lzdGVtYSBpbmNsdXllIGxvcyBzaWd1aWVudGVzIGNvbXBvbmVudGVzIFNBU1Ncbi8vIEJvb3RzdHJhcCAzIFZhcmlhYmxlc1xuLy8gQm9vdHN0cmFwIDMgTWl4aW5zXG4vLyBQcm94aWEgTWl4aW5zXG4vLyBQcm94aWEgVmFyaWFibGVzXG4vLyBWYXJpYWJsZXMgZGUgcHJveWVjdG9cbi8vIEVzdGlsb3MgU0FTUyBwcmVkZWZpbmlkb3MgZW4gUHJveGlhXG4vL1xuLy8gRW4gZWwgY2FzbyBkZSBuZWNlc2l0YXIgZXN0aWxvcyBTQVNTIHF1ZSBhcGxpcXVlbiBhIG11bHRpcGxlcyBjb21wb25lbnRlcyBkZWwgcHJveWVjdG9cbi8vIGRlZmluaXJsb3MgZW4gbGEgaG9qYSBkZSBlc3RpbG9zIGdlbmVyYWwgZGVsIHByb3llY3RvLlxuXG4vLyBQYXJhIGV2aXRhciBwcm9ibGVtYXMgZGUgZGVwZW5kZW5jaWEgZW50cmUgw6FyZWFzIGluY2x1aW1vcyBhcXVpIHRvZG9zIGxvcyBlc3RpbG9zIHJlbGFjaW9uYWRvc1xuLy8gY29uIGVzdGUgc2VydmljaW8gZW4gY29uY3JldG8uXG5kaXZbZGF0YS1zZXJ2aWNlPVwicHJveGlhLXJlc3RmdWwtcHJvZ3JhbWEtYWRvcHRhXCJdIHtcbiAgLy8gQXF1aSBzZSBkZWJlbiBpbnRyb2R1Y2lyIGZ1bmNpb25hbGlkYWRlcyBlc3BlY8OtZmljYXMgZGUgZXN0aWxvc1xuICAvLyBkZWwgY29tcG9uZW50ZS5cbiAgPiBkaXYubG9hZGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuc2FtcGxlRXhjZWw6bm90KC52aXNpYmxlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5zYW1wbGVFeGNlbCBhIHtcbiAgICBjb2xvcjogJHByb3hpYS1saW5rcy1jb2xvciAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIGEtZXZlbnRzLWhvdmVyIHtcbiAgICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcbiAgICB9XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAkaGFsZkd1dHRlciAwICRncmlkLWd1dHRlci13aWR0aDtcbiAgfVxufVxuXG5cbiIKCV0sCgkibmFtZXMiOiBbXSwKCSJtYXBwaW5ncyI6ICI7QUVBQTs7R0FFRztBQ0ZIOzs7OztHQUtHO0FDTEg7OztHQUdHO0FHSEg7O0dBRUc7QUNBSDs7R0FFRztBQThMSCxBQUNFLGlCQURlLEFBQUEsU0FBUyxHQUN0QixTQUFTLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUVYLGFBQWEsRUFBRSxJQUFJLEdBOEJwQjtFQWxDSCxBQU9JLGlCQVBhLEFBQUEsU0FBUyxHQUN0QixTQUFTLEdBTVAsU0FBUyxDQUFDO0lBQ1YsWUFBWSxFQUFFLEdBQUc7SUFDakIsV0FBVyxFSDFJUyxNQUFXO0lHMkkvQixNQUFNLEVBQUUscUJBQXFCO0lBQzdCLGFBQWEsRUg5RlMsR0FBRyxDQUFILEdBQUcsQ0c4RjhCLENBQUMsQ0FBQyxDQUFDLEdBcUIzRDtJQWhDTCxBQWFNLGlCQWJXLEFBQUEsU0FBUyxHQUN0QixTQUFTLEdBTVAsU0FBUyxDQU1QLEtBQUssRUFiYixpQkFBaUIsQUFBQSxTQUFTLEdBQ3RCLFNBQVMsR0FNUCxTQUFTLENBT1AsTUFBTSxFQWRkLGlCQUFpQixBQUFBLFNBQVMsR0FDdEIsU0FBUyxHQU1QLFNBQVMsQ0FRUCxLQUFLLEVBZmIsaUJBQWlCLEFBQUEsU0FBUyxHQUN0QixTQUFTLEdBTVAsU0FBUyxDQVNQLE1BQU0sQ0FBQyxLQUFLLEVBaEJwQixpQkFBaUIsQUFBQSxTQUFTLEdBQ3RCLFNBQVMsR0FNUCxTQUFTLENBVVAsTUFBTSxDQUFD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 */