@charset "UTF-8";
body input[type="text"], body input[type="email"], body input[type="password"], body input[type="telephone"],
body select {
  height: 2.625rem;
  display: block;
  padding-left: .5rem;
  padding-right: .5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 100%;
  font-family: "Barlow", sans-serif;
  font-size: 1rem;
  line-height: 1.625rem;
  border: 2px solid #252525; }
  @media screen and (min-width: 80.25rem) {
    body input[type="text"], body input[type="email"], body input[type="password"], body input[type="telephone"],
    body select {
      font-size: 1rem;
      line-height: 1.625rem; } }
  @media screen and (min-width: 35rem) {
    body input[type="text"], body input[type="email"], body input[type="password"], body input[type="telephone"],
    body select {
      max-width: 18.75rem; } }

body select {
  -webkit-appearance: none;
  -webkit-border-radius: 0px;
  background-color: #ffffff;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAEBAMAAABB42PDAAAAD1BMVEUAAAA0NDQzMzMzMzP///+isCFkAAAAA3RSTlMAgIgilleHAAAAAWJLR0QEj2jZUQAAABxJREFUCB1jUDY2NmJgNDYWYGAQNmRgYGAUYAAAFJEBiN5ZPCIAAAAASUVORK5CYII=");
  background-repeat: no-repeat;
  background-position: calc(100% - .5rem) 50%;
  background-size: 8px 4px;
  padding-right: 1.5rem; }
  body select::-ms-expand {
    display: none; }

body label {
  font-size: 0.875rem;
  line-height: 1.5rem;
  font-family: "Barlow", sans-serif;
  font-weight: bold; }
  @media screen and (min-width: 80.25rem) {
    body label {
      font-size: 0.875rem;
      line-height: 1.5rem; } }

body input[type="submit"] {
  display: block;
  margin: 0;
  line-height: 1; }

.form--inline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  margin-left: -.5rem;
  margin-right: -.5rem;
  margin-bottom: 1rem; }
  .form--inline > * {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    padding-left: .5rem;
    padding-right: .5rem;
    padding-bottom: .5rem;
    margin-bottom: 0 !important; }
  .form--inline input[type="text"] {
    max-width: 15.625rem; }
  .form--inline label {
    display: block; }

.exposed-filters__filter-label {
  min-width: 6.25rem;
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-weight: 600;
  font-style: italic; }
  @media screen and (min-width: 80.25rem) {
    .exposed-filters__filter-label {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

.exposed-filters .chip {
  font-family: "Barlow", sans-serif;
  font-size: 0.875rem;
  line-height: 1.5rem;
  border: none;
  background-color: #dbe9f3;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAMAAAC67D+PAAAAXVBMVEUAAAAAL1cAMVYAMVgAL1YAMVYAMFgAMFcAL1YAMVgAMVcAMFgAL1cAL1YAMVgAMFcAMFgAL1cAMVYAMVcAMVgAMFcAMFcAL1cAMFcAMFcAMFcAMFcAMFcAMFf///+4YRiMAAAAHnRSTlMAUlNUVllaW1xdXmBhYmNkZmdoaW5v0NfY+Pn6+/0xthXlAAAAAWJLR0QecgogKwAAAEdJREFUCB0FwQkCQzAAALAUY9icK9PW/78pcXyA76EvE8zlTZ1/xFxDU2IsDbDe9wJor+sF7CmEtMGeAlXa6PIAQ+78R2A8H8AQA2erRjNyAAAAAElFTkSuQmCC");
  background-size: 10px 10px;
  background-repeat: no-repeat;
  background-position: calc(100% - .5rem) 50%;
  padding: .5rem 1.5rem .5rem .5rem;
  cursor: pointer; }
  @media screen and (min-width: 80.25rem) {
    .exposed-filters .chip {
      font-size: 0.875rem;
      line-height: 1.5rem; } }
  .exposed-filters .chip:hover {
    background-color: #c1c8cf; }

.exposed-filters .form-actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .exposed-filters .form-actions > * {
    margin-right: 0.5rem; }
  .exposed-filters .form-actions input, .exposed-filters .form-actions button {
    height: 2.625rem; }
  .exposed-filters .form-actions[data-drupal-selector="edit-actions"] {
    margin-top: 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -webkit-box-pack: normal;
        -ms-flex-pack: normal;
            justify-content: normal;
    -webkit-column-gap: 1rem;
            column-gap: 1rem;
    row-gap: 0.5rem; }
    .exposed-filters .form-actions[data-drupal-selector="edit-actions"] > * {
      height: auto;
      margin: 0;
      font-size: 1rem;
      line-height: 1.625rem; }

.exposed-filters input[type="submit"] {
  cursor: pointer; }

@media screen and (min-width: 61rem) {
  .exposed-filters {
    margin-bottom: 2.5rem; } }

.webform-submission-form.webform-submission-form label, .webform-submission-form.webform-submission-form legend {
  color: #4A4A4A;
  font-size: 1rem;
  font-style: normal;
  font-weight: 500; }

.webform-submission-form.webform-submission-form legend {
  margin-bottom: 0.5rem; }

.webform-submission-form.webform-submission-form input + label {
  margin-left: 0.5rem; }

.webform-submission-form.webform-submission-form label + input,
.webform-submission-form.webform-submission-form label + select,
.webform-submission-form.webform-submission-form label ~ .select2-container {
  margin-top: 0.25rem; }

.webform-submission-form.webform-submission-form input[type="text"],
.webform-submission-form.webform-submission-form input[type="email"],
.webform-submission-form.webform-submission-form select,
.webform-submission-form.webform-submission-form .select2-selection--single,
.webform-submission-form.webform-submission-form .select2-selection--multiple {
  border-radius: 0.375rem;
  border: 2px solid #A6A6A6;
  height: 2.625rem; }

.webform-submission-form.webform-submission-form .select2-selection--single {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.webform-submission-form.webform-submission-form .select2-selection__arrow {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.webform-submission-form.webform-submission-form textarea {
  border-radius: 0.375rem;
  border: 2px solid #A6A6A6;
  padding: 0.5rem;
  font-size: 1rem;
  font-family: inherit; }

.webform-submission-form.webform-submission-form > * + * {
  margin-top: 1.75rem; }

.webform-submission-form.webform-submission-form > fieldset {
  margin-left: 0;
  margin-right: 0; }

.webform-submission-form.webform-submission-form .form-name-wrapper,
.webform-submission-form.webform-submission-form .form-primary-phone-wrapper,
.webform-submission-form.webform-submission-form .form-secondary-phone-wrapper,
.webform-submission-form.webform-submission-form .webform-address--wrapper .fieldset-wrapper,
.webform-submission-form.webform-submission-form .webform-email-confirm--wrapper .fieldset-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 1rem;
  -webkit-column-gap: 2rem;
          column-gap: 2rem; }

.webform-submission-form.webform-submission-form .form-name-wrapper > *,
.webform-submission-form.webform-submission-form .form-primary-phone-wrapper > *,
.webform-submission-form.webform-submission-form .form-secondary-phone-wrapper > *,
.webform-submission-form.webform-submission-form .webform-address--wrapper .fieldset-wrapper > *,
.webform-submission-form.webform-submission-form .webform-email-confirm--wrapper .fieldset-wrapper > * {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%; }

@media screen and (min-width: 61rem) {
  .webform-submission-form.webform-submission-form .form-name-wrapper > * > *,
  .webform-submission-form.webform-submission-form .form-primary-phone-wrapper > * > *,
  .webform-submission-form.webform-submission-form .form-secondary-phone-wrapper > * > *,
  .webform-submission-form.webform-submission-form .webform-address--wrapper .fieldset-wrapper > * > *,
  .webform-submission-form.webform-submission-form .webform-email-confirm--wrapper .fieldset-wrapper > * > * {
    max-width: 100% !important;
    min-width: 100%; }
  .webform-submission-form.webform-submission-form .form-primary-phone-wrapper > *,
  .webform-submission-form.webform-submission-form .form-secondary-phone-wrapper > *,
  .webform-submission-form.webform-submission-form .webform-address--wrapper .fieldset-wrapper > .form-item-address-address,
  .webform-submission-form.webform-submission-form .webform-address--wrapper .fieldset-wrapper > .form-item-address-address-2,
  .webform-submission-form.webform-submission-form .webform-email-confirm--wrapper .fieldset-wrapper > * {
    min-width: calc((100% - 2rem) / 2);
    max-width: calc((100% - 2rem) / 2); }
  .webform-submission-form.webform-submission-form .form-name-wrapper > *,
  .webform-submission-form.webform-submission-form .webform-address--wrapper .fieldset-wrapper > .form-item-address-city,
  .webform-submission-form.webform-submission-form .webform-address--wrapper .fieldset-wrapper > .form-item-address-state-province,
  .webform-submission-form.webform-submission-form .webform-address--wrapper .fieldset-wrapper > .form-item-address-postal-code {
    min-width: calc((100% - 4rem) / 3);
    max-width: calc((100% - 4rem) / 3); } }

.webform-submission-form.webform-submission-form .js-form-type-radio,
.webform-submission-form.webform-submission-form .js-form-type-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 0.25rem; }

.webform-submission-form.webform-submission-form input[type="radio"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 9999px;
  border: 2px solid #B2B2B2;
  position: relative; }
  .webform-submission-form.webform-submission-form input[type="radio"]::before {
    content: '';
    position: absolute;
    height: 0.7rem;
    width: 0.7rem;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
    background-color: transparent;
    border-radius: 9999px;
    -webkit-transition-property: background-color;
    transition-property: background-color;
    -webkit-transition-duration: 150ms;
            transition-duration: 150ms; }
  .webform-submission-form.webform-submission-form input[type="radio"]:checked::before {
    background-color: #D0021B; }

.webform-submission-form.webform-submission-form input[type="checkbox"] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid #B2B2B2;
  position: relative; }
  .webform-submission-form.webform-submission-form input[type="checkbox"]::before {
    content: '';
    position: absolute;
    height: 1.15rem;
    width: 1.15rem;
    top: 50%;
    left: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
            transform: translateY(-50%) translateX(-50%);
    background-color: transparent;
    -webkit-transition-property: background-color;
    transition-property: background-color;
    -webkit-transition-duration: 150ms;
            transition-duration: 150ms;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 21 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 8.812 2.333-3.015L8.4 10.9 18.2 0 21 2.55 8.633 16 0 8.812Z'/%3E%3C/svg%3E") no-repeat 50% 50%;
            mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 21 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 8.812 2.333-3.015L8.4 10.9 18.2 0 21 2.55 8.633 16 0 8.812Z'/%3E%3C/svg%3E") no-repeat 50% 50%; }
  .webform-submission-form.webform-submission-form input[type="checkbox"]:checked::before {
    background-color: #D0021B; }

/* gets the `_header.scss` styles, and then this file has any needed supplements and overrides */
.community-header-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media screen and (min-width: 61rem) {
  .slab.header.community-header {
    background-color: white; } }

.community-area-label-mobile {
  color: #000;
  font-family: Barlow Condensed;
  font-style: normal;
  font-size: 1rem;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 1;
  margin: 0;
  -ms-flex-item-align: center;
      align-self: center; }
  @media screen and (min-width: 61rem) {
    .community-area-label-mobile {
      display: none; } }
  @media (min-width: 360px) {
    .community-area-label-mobile {
      font-size: 1.3125rem; } }
  @media screen and (min-width: 35rem) {
    .community-area-label-mobile {
      font-size: 2.25rem; } }

.community-header .header__main {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 1rem; }
  .community-header .header__main .header__main-nav {
    padding-top: 0.5rem; }

.community-header .header__main .global-nav__menu .menu-level-0 > ul > li {
  margin-bottom: 0;
  padding: 0.4rem 0; }
  @media screen and (min-width: 61rem) {
    .community-header .header__main .global-nav__menu .menu-level-0 > ul > li {
      padding: 0 .5rem; } }

@media screen and (min-width: 61rem) {
  .community-header-menu-extras {
    display: none; } }

.community-header .header__dropdown.header__dropdown {
  background-color: white;
  margin: -1rem;
  margin-top: 1rem;
  padding: 0 1rem;
  -webkit-transition-property: max-height, padding-bottom;
  transition-property: max-height, padding-bottom;
  -webkit-transition-duration: .3s, .1s;
          transition-duration: .3s, .1s;
  -webkit-transition-delay: 0s, .1s;
          transition-delay: 0s, .1s;
  -webkit-transition-timing-function: ease-in;
          transition-timing-function: ease-in;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  .community-header .header__dropdown.header__dropdown.opened {
    padding-bottom: 1rem;
    -webkit-transition-delay: 0s, 0s;
            transition-delay: 0s, 0s; }
  @media screen and (min-width: 61rem) {
    .community-header .header__dropdown.header__dropdown {
      margin: 0 !important;
      padding: 0 !important;
      background-color: transparent !important;
      -webkit-transition: none;
      transition: none; } }
  .community-header .header__dropdown.header__dropdown > p {
    display: none;
    padding-left: 0.5rem;
    font-family: Barlow Condensed;
    font-size: 2.25rem;
    font-style: normal;
    font-weight: 600;
    line-height: 2.25rem;
    /* 100% */
    text-transform: uppercase;
    margin: 0; }
    @media screen and (min-width: 61rem) {
      .community-header .header__dropdown.header__dropdown > p {
        display: block; } }

.slab.community-header__top-bar {
  display: none;
  background-color: #F0F0F0;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin: 0 !important; }
  @media screen and (min-width: 61rem) {
    .slab.community-header__top-bar {
      display: block; } }
  .slab.community-header__top-bar .top-bar-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 1.5rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .slab.community-header__top-bar .top-bar-links {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0.75rem; }
    .slab.community-header__top-bar .top-bar-links li:not(:last-child) {
      padding-right: 0.75rem;
      position: relative; }
      .slab.community-header__top-bar .top-bar-links li:not(:last-child)::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0.3em;
        width: 1px;
        height: 0.75em;
        background-color: #9E9E9E; }
    .slab.community-header__top-bar .top-bar-links a {
      font-size: 0.875rem;
      font-style: normal;
      font-weight: 400;
      line-height: 1.125rem;
      text-decoration: none;
      color: black; }
      .slab.community-header__top-bar .top-bar-links a:hover, .slab.community-header__top-bar .top-bar-links a:focus-visible {
        color: #D0021B; }
  .slab.community-header__top-bar .profile-links {
    background-color: #4A4A4A;
    border-radius: 1.25rem;
    padding: 0.2rem 1rem 0.3rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0.75rem; }
    .slab.community-header__top-bar .profile-links > :first-child:not(:last-child) {
      padding-right: 0.75rem;
      position: relative; }
      .slab.community-header__top-bar .profile-links > :first-child:not(:last-child)::after {
        content: '';
        position: absolute;
        right: 0;
        top: 0.3em;
        width: 1px;
        height: 0.75em;
        background-color: #9E9E9E; }
      .slab.community-header__top-bar .profile-links > :first-child:not(:last-child) a {
        font-weight: 400; }
    .slab.community-header__top-bar .profile-links a {
      font-size: 0.875rem;
      font-style: normal;
      font-weight: 700;
      line-height: 1.125rem;
      text-decoration: none;
      color: white; }
      .slab.community-header__top-bar .profile-links a:hover, .slab.community-header__top-bar .profile-links a:focus-visible {
        color: #F0F0F0; }

.community-header-menu-extras ul.extra-links {
  margin: 0;
  margin-top: 1.5rem;
  padding: 0;
  list-style-type: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem; }
  .community-header-menu-extras ul.extra-links a {
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 600;
    line-height: 0.4375rem;
    color: #4A4A4A; }
    .community-header-menu-extras ul.extra-links a:hover, .community-header-menu-extras ul.extra-links a:focus-visible {
      color: #D0021B; }

.community-header-menu-extras .profile-links {
  margin-left: auto;
  margin-top: 1rem;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  background-color: #4A4A4A;
  border-radius: 1.25rem;
  padding: 0.2rem 1rem 0.3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem; }
  .community-header-menu-extras .profile-links > :first-child {
    padding-right: 0.75rem;
    position: relative; }
    .community-header-menu-extras .profile-links > :first-child::after {
      content: '';
      position: absolute;
      right: 0;
      top: 0.3em;
      width: 1px;
      height: 0.75em;
      background-color: #9E9E9E; }
    .community-header-menu-extras .profile-links > :first-child a {
      font-weight: 400; }
  .community-header-menu-extras .profile-links a {
    font-size: 0.875rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1.125rem;
    text-decoration: none;
    color: white; }
    .community-header-menu-extras .profile-links a:hover, .community-header-menu-extras .profile-links a:focus-visible {
      color: #F0F0F0; }

.footer {
  background-color: #252525;
  color: #DADADA; }
  .footer a {
    color: #DADADA; }
    .footer a:hover, .footer a:active {
      color: #d0001b; }
  .footer__main {
    padding-bottom: 1rem; }
    .footer__main > * {
      margin: 0 auto; }
  .footer__branding {
    width: 151px; }
  .footer__menu {
    padding: 1rem 1rem; }
    .footer__menu ul {
      list-style: none;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .footer__menu ul li:not(:last-child)::after {
        content: '|';
        padding: 0 .5rem; }
    .footer__menu li, .footer__menu a {
      font-size: 1.25rem;
      line-height: 1.875rem; }
      @media screen and (min-width: 80.25rem) {
        .footer__menu li, .footer__menu a {
          font-size: 1.25rem;
          line-height: 1.875rem; } }
    .footer__menu a {
      font-weight: 600;
      text-decoration: none; }
  .footer__social ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .footer__social ul li {
      margin-bottom: .5rem; }
    @media screen and (min-width: 35rem) {
      .footer__social ul {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }
        .footer__social ul li {
          margin-bottom: 0; } }
  .footer__social a {
    font-size: 1.25rem;
    line-height: 1.875rem; }
    @media screen and (min-width: 80.25rem) {
      .footer__social a {
        font-size: 1.25rem;
        line-height: 1.875rem; } }
  .footer .footer__social__intro {
    text-align: center;
    padding-bottom: 0.5625rem;
    font-weight: 600;
    font-style: italic; }
  @media screen and (min-width: 61rem) {
    .footer__main {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-bottom: 0; }
      .footer__main > * {
        margin: 0 0; }
    .footer__social {
      padding-bottom: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .footer__social li {
        padding-bottom: 0; }
    .footer .footer__social__intro {
      margin-right: 2.1875rem;
      padding-bottom: 0; } }

.footer-sub {
  padding-top: 1rem;
  padding-bottom: 1rem;
  text-align: center;
  background-color: #252525;
  color: #ffffff; }
  .footer-sub p {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.5rem; }
    @media screen and (min-width: 80.25rem) {
      .footer-sub p {
        font-size: 0.875rem;
        line-height: 1.5rem; } }
  @media screen and (min-width: 61rem) {
    .footer-sub {
      text-align: left; } }

.slab.header {
  padding: 0;
  border-bottom: 4px solid #d0001b;
  background-color: #f9f9f9; }

.header__main {
  padding: 1rem; }
  .header__main .header__branding {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .header__main .header__branding a {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 8.9375rem;
              flex: 0 0 8.9375rem; }
    .header__main .header__branding img, .header__main .header__branding svg {
      height: 3.125rem;
      width: auto; }
  .header__main .header__dropdown {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height .3s ease-in;
    transition: max-height .3s ease-in; }
    .header__main .header__dropdown.opened {
      max-height: 700px; }
  .header__main .header__nav-open {
    text-transform: uppercase; }
    .header__main .header__nav-open .close {
      display: none; }
    .header__main .header__nav-open.open .close {
      display: inherit; }
    .header__main .header__nav-open.open .open {
      display: none; }
  .header__main .header__main-nav {
    padding-top: 1.25rem; }
  @media screen and (min-width: 80.25rem) {
    .header__main .back-to-button {
      padding-top: 3rem; } }
  .header__main.header__main--stretched {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  @media screen and (max-width: 60.9375rem) {
    .header__main .header__dropdown .global-nav__menu {
      margin-bottom: 0.875rem; }
      .header__main .header__dropdown .global-nav__menu button {
        padding: 0; }
      .header__main .header__dropdown .global-nav__menu ul li {
        padding: 0.3125rem 0;
        position: relative; }
      .header__main .header__dropdown .global-nav__menu .open-children {
        position: absolute;
        right: 0;
        top: .4rem; }
        .header__main .header__dropdown .global-nav__menu .open-children .close {
          display: none; }
        .header__main .header__dropdown .global-nav__menu .open-children.open .close {
          display: inherit; }
        .header__main .header__dropdown .global-nav__menu .open-children.open .open {
          display: none; }
      .header__main .header__dropdown .global-nav__menu .menu-level-0 > ul > li {
        border-bottom: 1px solid #C3C3C3; }
      .header__main .header__dropdown .global-nav__menu .menu-level-1 {
        overflow: hidden;
        max-height: 0;
        padding-left: 1.25rem; }
        .header__main .header__dropdown .global-nav__menu .menu-level-1 .open-children {
          display: none; }
        .header__main .header__dropdown .global-nav__menu .menu-level-1.opened {
          max-height: 700px;
          margin-bottom: -0.3125rem;
          padding-bottom: 0.3125rem;
          background-color: #F0F0F0;
          border-top: 1px solid #C3C3C3; }
        .header__main .header__dropdown .global-nav__menu .menu-level-1 .is-active .menu-level-2 {
          display: inherit; }
      .header__main .header__dropdown .global-nav__menu .menu-level-2 {
        padding-left: 1.25rem;
        display: none; }
      .header__main .header__dropdown .global-nav__menu .menu-level-3 li::before {
        content: '— '; }
      .header__main .header__dropdown .global-nav__menu .menu-level-3 li, .header__main .header__dropdown .global-nav__menu .menu-level-3 a {
        font-size: 0.875rem;
        line-height: 1.5rem; } }
    @media screen and (max-width: 60.9375rem) and (min-width: 80.25rem) {
      .header__main .header__dropdown .global-nav__menu .menu-level-3 li, .header__main .header__dropdown .global-nav__menu .menu-level-3 a {
        font-size: 0.875rem;
        line-height: 1.5rem; } }
  @media screen and (min-width: 35rem) {
    .header__main .global-nav__menu .menu-level-0 > ul > li {
      padding: 0; } }
  @media screen and (min-width: 61rem) {
    .header__main {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: end;
          -ms-flex-align: end;
              align-items: flex-end; }
      .header__main .header__branding {
        display: block;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 12.625rem;
                flex: 0 1 12.625rem; }
        .header__main .header__branding img, .header__main .header__branding svg {
          height: 4.5rem;
          width: auto; }
      .header__main .header__dropdown {
        overflow: visible;
        max-height: none;
        padding-top: 0;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1 1;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        .header__main .header__dropdown .header__main-nav {
          -webkit-box-flex: 1;
              -ms-flex: 1 1 auto;
                  flex: 1 1 auto; }
        .header__main .header__dropdown .header__utility {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 auto;
                  flex: 0 0 auto; }
      .header__main .header__nav-open {
        display: none; }
      .header__main .global-nav__menu .menu-level-0 > ul > li {
        padding: 0 .5rem; } }
  @media screen and (min-width: 80.25rem) {
    .header__main {
      padding: 0 0 0.9375rem 0; }
      .header__main .header__dropdown {
        padding-left: 2.5rem; } }

.global-nav a, .global-nav button {
  text-decoration: none;
  font-size: 1rem;
  line-height: 1.625rem;
  font-weight: 600;
  color: #151515; }
  @media screen and (min-width: 80.25rem) {
    .global-nav a, .global-nav button {
      font-size: 1rem;
      line-height: 1.625rem; } }
  .global-nav a:hover, .global-nav a:active, .global-nav button:hover, .global-nav button:active {
    color: #d0001b; }

.global-nav__menu ul {
  margin: 0;
  padding: 0;
  list-style: none; }

@media screen and (min-width: 61rem) {
  .global-nav .dropdown {
    padding: 0; }
    .global-nav .dropdown::after {
      font-family: "iconfont";
      font-style: normal;
      font-weight: normal;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      content: "";
      font-size: 9px;
      display: inline-block;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg);
      -webkit-transform-origin: center;
              transform-origin: center;
      -webkit-transition: .3s ease-in;
      transition: .3s ease-in;
      padding: 0 1em; }
    .global-nav .dropdown.open::after {
      -webkit-transform: rotate(0);
              transform: rotate(0); }
  .global-nav .open-children {
    display: none; }
  .global-nav .real-page .submenu {
    display: none; }
  .global-nav__menu {
    padding-right: 1.25rem; }
    .global-nav__menu ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .global-nav__menu ul li {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 auto;
                flex: 1 1 auto;
        margin-bottom: 0.85rem; }
    .global-nav__menu .menu-level-0 > ul > li {
      position: relative;
      padding: 0 1.25rem;
      -webkit-transition-delay: .3s;
              transition-delay: .3s; }
      .global-nav__menu .menu-level-0 > ul > li.children-open {
        background-color: #ffffff;
        -webkit-box-shadow: 0px 12px 12px 0px rgba(0, 0, 0, 0.28);
                box-shadow: 0px 12px 12px 0px rgba(0, 0, 0, 0.28);
        -webkit-transition-delay: 0s;
                transition-delay: 0s; }
    .global-nav__menu .menu-level-1 {
      max-height: 0;
      overflow: hidden;
      -webkit-transition: .3s ease-in;
      transition: .3s ease-in;
      position: absolute;
      top: 100%;
      left: 0;
      width: 15.625rem;
      background-color: #ffffff;
      -webkit-box-shadow: 0px 12px 12px 0px rgba(0, 0, 0, 0.28);
              box-shadow: 0px 12px 12px 0px rgba(0, 0, 0, 0.28);
      z-index: 99; }
      .global-nav__menu .menu-level-1 > ul {
        padding: 1rem 1.25rem 0.625rem 1.25rem;
        display: block; }
      .global-nav__menu .menu-level-1.opened {
        max-height: 700px; }
    .global-nav__menu .menu-level-2 {
      display: none; } }

@media screen and (min-width: 80.25rem) {
  .global-nav a, .global-nav button {
    font-size: 1.25rem;
    line-height: 1.875rem; } }
  @media screen and (min-width: 80.25rem) and (min-width: 80.25rem) {
    .global-nav a, .global-nav button {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

.utility-nav a {
  font-weight: 600;
  color: #4A4A4A;
  font-size: 0.875rem;
  line-height: 1.5rem; }
  .utility-nav a:hover, .utility-nav a:active {
    color: #d0001b; }
  @media screen and (min-width: 80.25rem) {
    .utility-nav a {
      font-size: 0.875rem;
      line-height: 1.5rem; } }

.utility-nav__menu ul {
  margin: 0;
  padding: 0;
  list-style: none; }

.header__dropdown.opened .utility-nav .utility-nav__menu {
  margin-bottom: 1.5rem; }

@media screen and (min-width: 61rem) {
  .utility-nav {
    display: inline-block; }
    .utility-nav a {
      font-size: 1rem;
      line-height: 1.625rem; } }
    @media screen and (min-width: 61rem) and (min-width: 80.25rem) {
      .utility-nav a {
        font-size: 1rem;
        line-height: 1.625rem; } }

@media screen and (min-width: 61rem) {
    .utility-nav__menu {
      padding: 0.8125rem 0; }
      .utility-nav__menu ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .utility-nav__menu ul li:not(:last-child)::after {
          padding: 0 .25rem;
          content: '|'; } }

.site-search {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .site-search #search_q {
    height: 2.75rem;
    border: none;
    background-color: #EBEBEB;
    font-weight: 500;
    text-transform: uppercase;
    font-size: 0.9375rem;
    width: calc(100% - 44px);
    max-width: none; }
  .site-search button {
    display: inline-block;
    padding: 0.75rem;
    margin: 0; }
    .site-search button::before {
      display: none; }

.overlay {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: .5;
  mix-blend-mode: multiply; }
  .overlay div, .overlay picture {
    height: 100%;
    width: 100%; }
  .overlay img {
    width: 100%;
    height: 100%;
    font-family: 'object-fit: contain';
    -o-object-fit: cover;
       object-fit: cover; }
  .overlay.overlay--line-art {
    opacity: .2; }
    .overlay.overlay--line-art img {
      font-family: 'object-fit: cover; object-position: top center';
      -o-object-position: top center;
         object-position: top center; }
  .overlay.overlay--line-art--contain {
    opacity: .2; }
    .overlay.overlay--line-art--contain img {
      width: calc(100% - 4rem);
      height: calc(100% - 4rem);
      padding: 2rem;
      font-family: 'object-fit: contain; object-position: center';
      -o-object-fit: contain;
         object-fit: contain;
      -o-object-position: center;
         object-position: center; }
  @media screen and (min-width: 35rem) {
    .overlay {
      display: inherit; } }

ol.clean {
  margin: 0;
  padding: 0;
  list-style: none; }
  ol.clean li {
    margin-left: 0;
    text-indent: 0; }
    ol.clean li::before {
      display: none; }

ol.styled-counter {
  list-style: none;
  margin-left: 0;
  counter-reset: base-counter; }
  ol.styled-counter > li {
    counter-increment: base-counter;
    padding-left: 2.3em;
    position: relative; }
    ol.styled-counter > li::before {
      display: inline-block;
      width: 2em;
      text-align: right;
      content: counter(base-counter) ")";
      position: absolute;
      font-weight: bold;
      left: 0; }

ul.clean, ul.series, ul.piped {
  margin: 0;
  padding: 0;
  list-style: none; }
  ul.clean li, ul.series li, ul.piped li {
    margin-left: 0;
    text-indent: 0; }
    ul.clean li::before, ul.series li::before, ul.piped li::before {
      display: none; }

ul.clean ul {
  padding-left: 1.5rem;
  list-style: none; }

ul.series li, ul.piped li, ul.inline li {
  display: inline-block; }

ul.series li::after {
  content: ', '; }

ul.series li:last-child::after {
  content: ''; }

ul.piped li::after {
  content: ' | '; }

ul.piped li:last-child::after {
  content: ''; }

ul.arrow {
  list-style: none;
  margin-left: 0;
  padding-left: 2.3em;
  text-indent: 0; }
  ul.arrow:last-child {
    margin-bottom: 0; }
  ul.arrow li {
    position: relative;
    margin-bottom: 1em; }
    ul.arrow li::before {
      font-family: "Barlow", sans-serif;
      content: '⟶';
      position: absolute;
      left: -2.3em;
      display: inline-block;
      width: 2.3em;
      color: #285d76; }

ul.grid {
  padding: 0;
  list-style: none; }
  ul.grid li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

ul.padded li {
  margin-bottom: 1.5rem; }

ul.checkboxes {
  list-style: none;
  padding: 0; }
  ul.checkboxes li {
    vertical-align: middle; }
    ul.checkboxes li::before {
      vertical-align: middle;
      font-family: "iconfont";
      font-style: normal;
      font-weight: normal;
      line-height: 1;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      padding-right: 0.5rem; }
    ul.checkboxes li.checked::before {
      content: ""; }
    ul.checkboxes li.unchecked::before {
      content: ""; }
  ul.checkboxes.inline li:not(:last-child) {
    padding-right: 1rem; }

ul.centered {
  display: table;
  margin: 0 auto; }

ul[data-tabby-tabs] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
  list-style-type: none;
  padding: 0;
  font-size: 1.5rem; }
  ul[data-tabby-tabs] [aria-selected=true] {
    text-decoration: none;
    color: black; }

.community-page-tabs ul[data-tabby-tabs] {
  gap: 0rem;
  border-bottom: 4px solid #d0001b;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content; }
  .community-page-tabs ul[data-tabby-tabs] li {
    font-size: .9rem;
    line-height: 1.4; }
    .community-page-tabs ul[data-tabby-tabs] li a {
      position: relative;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      height: 100%;
      -webkit-box-sizing: border-box;
              box-sizing: border-box;
      max-width: 8rem;
      padding: 1rem;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      text-align: center;
      background-color: black;
      color: white;
      border-right: 1px solid #4A4A4A;
      border-left: 1px solid #4A4A4A;
      text-decoration: none; }
      .community-page-tabs ul[data-tabby-tabs] li a[aria-selected=true] {
        background-color: #d0001b; }
        .community-page-tabs ul[data-tabby-tabs] li a[aria-selected=true]::after {
          content: '';
          position: absolute;
          bottom: 0.5rem;
          left: 1rem;
          right: 1rem;
          height: 1px;
          background-color: white; }
  @media screen and (max-width: 53.75rem) {
    .community-page-tabs ul[data-tabby-tabs] {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      max-width: none; }
      .community-page-tabs ul[data-tabby-tabs] li a {
        min-width: 100%;
        border-top: 1px solid #4A4A4A;
        border-bottom: 1px solid #4A4A4A;
        border-left: none;
        border-right: none; } }

[role=tabpanel][hidden] {
  display: none; }

dl dt {
  font-size: 1.25rem;
  line-height: 1.875rem;
  margin-bottom: 0.5rem;
  font-weight: 500; }
  @media screen and (min-width: 80.25rem) {
    dl dt {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

dl dd {
  margin-bottom: 1rem;
  margin-left: 0; }

dl.invisible-labels dt {
  display: none;
  margin: 0;
  padding-right: .5rem;
  clear: both; }
  dl.invisible-labels dt::after {
    content: ': '; }

dl.invisible-labels dd {
  margin-bottom: 0; }

blockquote {
  background-color: #dbe9f3;
  font-style: italic;
  margin: 1rem;
  padding: 1.25rem; }

button {
  font-family: "Barlow", sans-serif;
  background: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  cursor: pointer; }

.button {
  font-size: 1rem;
  line-height: 1.625rem;
  background: #d0001b;
  display: inline-block;
  position: relative;
  margin: 0 .5rem 0 0;
  padding: 0.5rem 1.5rem;
  -webkit-transition: .2s ease-in-out;
  transition: .2s ease-in-out;
  border-width: 2px;
  border-style: solid;
  font-family: "Barlow Condensed", sans-serif;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase; }
  @media screen and (min-width: 80.25rem) {
    .button {
      font-size: 1rem;
      line-height: 1.625rem; } }
  .button.button--muted {
    background-color: rgba(193, 200, 207, 0.3);
    border-color: rgba(193, 200, 207, 0.3);
    color: #252525; }
    .button.button--muted.button--arrow::after {
      color: #d0001b; }
    .button.button--muted:hover.button--arrow::after, .button.button--muted:active.button--arrow::after, .button.button--muted:focus.button--arrow::after {
      color: #ffffff; }
  .button.button--small {
    padding: 0.0625rem 0.3125rem;
    text-transform: none;
    font-family: "Barlow", sans-serif;
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1.5rem; }
    @media screen and (min-width: 80.25rem) {
      .button.button--small {
        font-size: 0.875rem;
        line-height: 1.5rem; } }
    .button.button--small.button--arrow::after {
      padding-left: 0.25rem; }
  .button.button--large {
    font-size: 1.25rem;
    line-height: 1.875rem;
    padding: 0.8125rem 1.8125rem; }
    @media screen and (min-width: 80.25rem) {
      .button.button--large {
        font-size: 1.25rem;
        line-height: 1.875rem; } }
  .button.button--arrow::after {
    font-family: "iconfont";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 0.75rem;
    line-height: 1.375rem;
    content: "";
    padding-left: 0.5rem; }
    @media screen and (min-width: 80.25rem) {
      .button.button--arrow::after {
        font-size: 0.75rem;
        line-height: 1.375rem; } }
  .button.button--expanded {
    display: block;
    text-align: left;
    padding: 0.8125rem 1.8125rem; }
    .button.button--expanded.button--arrow {
      position: relative;
      padding-right: 3rem; }
      .button.button--expanded.button--arrow::after {
        font-style: normal;
        position: absolute;
        right: 1rem;
        top: 50%;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }
  .button .video-button {
    display: block; }
    .button .video-button .video-button__pause {
      display: block; }
    .button .video-button .video-button__play {
      display: none; }
    .button .video-button.video-button--paused .video-button__pause {
      display: none; }
    .button .video-button.video-button--paused .video-button__play {
      display: block; }

cite .description {
  font-size: 0.875rem;
  line-height: 1.5rem; }
  @media screen and (min-width: 80.25rem) {
    cite .description {
      font-size: 0.875rem;
      line-height: 1.5rem; } }

.icon__glyph {
  display: inline-block;
  width: 1em;
  height: 1em; }

.icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline; }
  .icon .icon__glyph {
    width: auto;
    margin-right: .55em;
    vertical-align: baseline; }
  .icon .icon__label {
    white-space: normal; }

.icon--after {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }
  .icon--after .icon__glyph {
    padding-left: 0.5rem;
    margin-right: 0; }

.icon--no-label .icon__label {
  display: none; }

.icon--no-label .icon__glyph {
  margin-right: 0; }

.icon--stacked {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.1; }
  .icon--stacked .icon__glyph {
    margin-right: 0;
    margin-bottom: .5rem;
    font-size: 2.5em; }

.icon--big {
  font-size: 1.5rem;
  line-height: 2.125rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 500;
  text-transform: uppercase; }
  @media screen and (min-width: 80.25rem) {
    .icon--big {
      font-size: 1.5rem;
      line-height: 2.125rem; } }
  .icon--big .icon__glyph {
    position: relative;
    -ms-flex-item-align: start;
        align-self: flex-start;
    margin-right: .5em;
    font-size: 2em; }
  button .icon--big .icon__label,
  .button .icon--big .icon__label {
    font-size: 1em;
    line-height: 1.1;
    text-align: left; }

.align-icons .icon-label .ic {
  width: 1em; }

.align-icons .icon-label .label {
  margin-left: .5em; }

a {
  -webkit-transition: color .2s ease-in-out;
  transition: color .2s ease-in-out;
  font-weight: 600; }
  a.button {
    font-weight: 700;
    font-style: normal; }

.fancy-links a,
a.link--fancy,
.link--arrow,
.arrow-links a,
a.button {
  background-image: none; }

.link--fancy,
.fancy-links a {
  font-size: 1.25rem;
  line-height: 1.875rem;
  color: #d0001b;
  font-weight: 500;
  display: block;
  position: relative;
  -webkit-transition: color .2s ease-in-out,  margin-right .2s ease-in-out,  padding-left .2s ease-in-out, text-indent .2s ease-in-out;
  transition: color .2s ease-in-out,  margin-right .2s ease-in-out,  padding-left .2s ease-in-out, text-indent .2s ease-in-out;
  padding-left: 16px;
  text-indent: -16px;
  margin-right: 10px; }
  @media screen and (min-width: 80.25rem) {
    .link--fancy,
    .fancy-links a {
      font-size: 1.25rem;
      line-height: 1.875rem; } }
  .link--fancy:hover, .link--fancy:active,
  .fancy-links a:hover,
  .fancy-links a:active {
    color: #285d76; }
  .link--fancy::before,
  .fancy-links a::before {
    content: '';
    display: inline-block;
    position: relative;
    bottom: -1px;
    margin-left: 0;
    margin-right: 6px;
    width: 10px;
    height: .7em;
    background-color: #285d76;
    -webkit-transform: skewX(-10deg);
            transform: skewX(-10deg);
    -webkit-transition: width .2s ease-in-out, margin-left .2s ease-in-out;
    transition: width .2s ease-in-out, margin-left .2s ease-in-out; }
  .link--fancy:hover, .link--fancy:active,
  .fancy-links a:hover,
  .fancy-links a:active {
    margin-right: 0;
    padding-left: 26px;
    text-indent: -26px; }
    .link--fancy:hover::before, .link--fancy:active::before,
    .fancy-links a:hover::before,
    .fancy-links a:active::before {
      width: 20px;
      margin-left: 0; }

.link--arrow,
.arrow-links a {
  font-style: normal;
  display: block;
  text-indent: -1.5rem;
  margin-left: 1.5rem;
  font-size: 1.25rem;
  line-height: 1.875rem; }
  @media screen and (min-width: 80.25rem) {
    .link--arrow,
    .arrow-links a {
      font-size: 1.25rem;
      line-height: 1.875rem; } }
  .link--arrow::before,
  .arrow-links a::before {
    display: inline-block;
    font-family: "iconfont";
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: "";
    padding-right: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5rem;
    text-decoration: none;
    text-indent: 0; }
    @media screen and (min-width: 80.25rem) {
      .link--arrow::before,
      .arrow-links a::before {
        font-size: 0.875rem;
        line-height: 1.5rem; } }

.big-icon .icon {
  display: block; }

.big-icon .icon__glyph, .big-icon svg {
  display: block;
  height: 2.5rem;
  width: auto;
  font-size: 2.5rem;
  padding-bottom: 0.75rem; }

.editorial .link--fancy,
.editorial .link--fancy-reverse {
  font-size: 1.25rem;
  line-height: 1.875rem; }
  @media screen and (min-width: 80.25rem) {
    .editorial .link--fancy,
    .editorial .link--fancy-reverse {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

h1 {
  font-size: 2.75rem;
  line-height: 3.375rem;
  font-family: "Barlow Condensed", sans-serif; }
  @media screen and (min-width: 80.25rem) {
    h1 {
      font-size: 3.375rem;
      line-height: 4rem; } }

h2 {
  font-size: 2.25rem;
  line-height: 2.875rem;
  font-family: "Barlow Condensed", sans-serif; }
  @media screen and (min-width: 80.25rem) {
    h2 {
      font-size: 2.75rem;
      line-height: 3.375rem; } }

h3 {
  font-size: 2rem;
  line-height: 2.625rem;
  font-family: "Barlow Condensed", sans-serif; }
  @media screen and (min-width: 80.25rem) {
    h3 {
      font-size: 2.5rem;
      line-height: 3.125rem; } }

h4 {
  font-size: 1.75rem;
  line-height: 2.375rem;
  font-family: "Barlow Condensed", sans-serif; }
  @media screen and (min-width: 80.25rem) {
    h4 {
      font-size: 2.125rem;
      line-height: 2.75rem; } }

h5 {
  font-size: 1.5rem;
  line-height: 2.125rem;
  font-family: "Barlow Condensed", sans-serif; }
  @media screen and (min-width: 80.25rem) {
    h5 {
      font-size: 1.5rem;
      line-height: 2.125rem; } }

h6 {
  font-size: 1.25rem;
  line-height: 1.875rem;
  font-family: "Barlow Condensed", sans-serif; }
  @media screen and (min-width: 80.25rem) {
    h6 {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

h2 {
  font-size: 2.25rem;
  line-height: 2.875rem;
  margin: 1rem 0; }
  @media screen and (min-width: 80.25rem) {
    h2 {
      font-size: 2.75rem;
      line-height: 3.375rem; } }

h3 {
  font-size: 1.5rem;
  line-height: 2.125rem;
  margin: 1rem 0; }
  @media screen and (min-width: 80.25rem) {
    h3 {
      font-size: 1.5rem;
      line-height: 2.125rem; } }

h4 {
  font-size: 1.25rem;
  line-height: 1.875rem;
  margin: 1rem 0; }
  @media screen and (min-width: 80.25rem) {
    h4 {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

h5 {
  font-size: 1rem;
  line-height: 1.625rem;
  margin: 1rem 0; }
  @media screen and (min-width: 80.25rem) {
    h5 {
      font-size: 1rem;
      line-height: 1.625rem; } }

h6 {
  font-size: 1rem;
  line-height: 1.625rem;
  margin: 1rem 0; }
  @media screen and (min-width: 80.25rem) {
    h6 {
      font-size: 1rem;
      line-height: 1.625rem; } }

h1 {
  margin: 0; }
  h1 + .slab {
    padding-top: 0.5rem; }

.h3-look {
  font-size: 1.5rem;
  line-height: 2.125rem; }
  @media screen and (min-width: 80.25rem) {
    .h3-look {
      font-size: 1.5rem;
      line-height: 2.125rem; } }

p {
  font-size: 1rem;
  line-height: 1.625rem;
  margin-bottom: 1rem; }
  @media screen and (min-width: 80.25rem) {
    p {
      font-size: 1rem;
      line-height: 1.625rem; } }

p.intro,
.intro p {
  font-size: 1.5rem;
  line-height: 2.125rem; }
  @media screen and (min-width: 80.25rem) {
    p.intro,
    .intro p {
      font-size: 1.5rem;
      line-height: 2.125rem; } }

.sep::before {
  content: '•'; }

.sep--dash::before {
  content: '-'; }

.sep--pipe::before {
  content: '|'; }

.contact-info {
  overflow: hidden; }
  .contact-info img {
    display: block;
    width: 100%;
    height: 100%;
    font-family: 'object-fit: contain; object-position: center';
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center; }
  .contact-info .contact-info__photo {
    width: 6.25rem;
    float: right; }
  .contact-info .contact-info__value--name {
    font-size: 1.25rem;
    line-height: 1.875rem;
    font-weight: bold; }
    @media screen and (min-width: 80.25rem) {
      .contact-info .contact-info__value--name {
        font-size: 1.25rem;
        line-height: 1.875rem; } }
  .contact-info .contact-info__value--title {
    font-size: 0.875rem;
    line-height: 1.5rem;
    font-weight: bold; }
    @media screen and (min-width: 80.25rem) {
      .contact-info .contact-info__value--title {
        font-size: 0.875rem;
        line-height: 1.5rem; } }
  .contact-info .contact-info__value--phone {
    font-size: 1.25rem;
    line-height: 1.875rem;
    font-size: 1rem !important;
    line-height: 1.5rem !important; }
    @media screen and (min-width: 80.25rem) {
      .contact-info .contact-info__value--phone {
        font-size: 1.25rem;
        line-height: 1.875rem; } }
  .contact-info .contact-info__value--email {
    font-size: 1.25rem;
    line-height: 1.875rem;
    font-size: 1rem !important;
    line-height: 1.5rem !important; }
    @media screen and (min-width: 80.25rem) {
      .contact-info .contact-info__value--email {
        font-size: 1.25rem;
        line-height: 1.875rem; } }
  .contact-info .contact-info__label--fax {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.625rem;
    float: left; }
    @media screen and (min-width: 80.25rem) {
      .contact-info .contact-info__label--fax {
        font-size: 1rem;
        line-height: 1.625rem; } }
    .contact-info .contact-info__label--fax + dd {
      float: left;
      font-size: 1rem;
      line-height: 1.625rem; }
      @media screen and (min-width: 80.25rem) {
        .contact-info .contact-info__label--fax + dd {
          font-size: 1rem;
          line-height: 1.625rem; } }

.cta h2 {
  font-size: 2rem;
  line-height: 2.625rem; }
  @media screen and (min-width: 80.25rem) {
    .cta h2 {
      font-size: 2.5rem;
      line-height: 3.125rem; } }

.cta .editorial {
  margin-bottom: 0; }

@media screen and (min-width: 35rem) {
  .cta .editorial {
    margin-bottom: 1rem; } }

@media screen and (min-width: 61rem) {
  .cta .editorial {
    margin-bottom: 1.5rem; } }

.feature__header h2 {
  font-family: "Barlow", sans-serif;
  font-size: 2rem;
  line-height: 2.625rem;
  margin-top: 0; }
  @media screen and (min-width: 80.25rem) {
    .feature__header h2 {
      font-size: 2.5rem;
      line-height: 3.125rem; } }

.feature__content p:first-child {
  margin-top: 0; }

.feature__content p:last-child {
  margin-bottom: 0; }

.feature__content .inner-lists ul li:last-child, .feature__content .inner-lists ol li:last-child {
  margin-bottom: 0; }

.feature__actions {
  margin-top: 1rem; }
  .feature__actions .button:not(:last-child) {
    margin-bottom: 1rem; }

.feature__media {
  margin-top: 1rem; }

.feature--media {
  background-color: #F0F0F0;
  padding: 1rem; }

.collection-items--single .feature.feature--media {
  max-width: 100%; }
  @media screen and (min-width: 35rem) {
    .collection-items--single .feature.feature--media {
      padding: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .collection-items--single .feature.feature--media .feature__text,
      .collection-items--single .feature.feature--media .feature__media {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1 1; }
      .collection-items--single .feature.feature--media .feature__media {
        margin-top: 0; }
        .collection-items--single .feature.feature--media .feature__media * {
          height: 100%; }
        .collection-items--single .feature.feature--media .feature__media img {
          -o-object-fit: cover;
             object-fit: cover;
          -o-object-position: center;
             object-position: center;
          width: 100%; }
      .collection-items--single .feature.feature--media .feature__text {
        padding: 2rem; } }
  @media screen and (min-width: 61rem) {
    .collection-items--single .feature.feature--media .feature__text {
      padding: 3.75rem 6.5625rem; } }

@media screen and (min-width: 35rem) {
  .collection-items--single.slab--flip-feature .feature.feature--media {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; } }

.collection-items--multiple .feature.feature--media {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .collection-items--multiple .feature.feature--media > * {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.collection-items--multiple .feature__media {
  margin-bottom: 1rem;
  margin-top: 0; }
  .collection-items--multiple .feature__media * {
    width: 100%; }
  .collection-items--multiple .feature__media img {
    -o-object-fit: cover;
       object-fit: cover; }

.teaser--icon .teaser__text {
  padding: 1rem; }

.teaser__icon {
  background-color: #d0001b;
  height: 5rem;
  padding: 2.5rem;
  text-align: center; }
  .teaser__icon .icon__glyph {
    color: #ffffff;
    margin-bottom: 0.5rem; }
    .teaser__icon .icon__glyph::before {
      font-size: 5rem; }
  .teaser__icon svg {
    margin: 0 auto;
    height: 5rem;
    color: #ffffff; }
    .teaser__icon svg path {
      fill: #ffffff; }

.teaser__icon-links {
  padding-top: 0.5rem; }
  .teaser__icon-links ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .teaser__icon-links ul li {
      margin-bottom: 0.5rem; }

.image-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 2rem 0; }
  .image-list-item__image {
    margin-left: 2rem; }

.image-list__items .image-list-item:not(:last-child) {
  border-bottom: 2px solid #c1c8cf; }

.promo-text[class*='bg--'] {
  padding: 2.375rem 2.5rem; }

.promo-text__content p {
  font-size: 1.5rem;
  line-height: 2.125rem;
  margin-top: 0; }
  @media screen and (min-width: 80.25rem) {
    .promo-text__content p {
      font-size: 1.5rem;
      line-height: 2.125rem; } }

@media screen and (min-width: 35rem) {
  .promo-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .promo-text__media {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 200px;
              flex: 0 0 200px;
      margin-right: 1.875rem; } }

.pulltext p {
  margin-top: 0;
  font-style: italic;
  font-weight: 500; }

.teaser {
  display: block;
  text-decoration: none;
  max-width: 100%; }
  .teaser .teaser__title {
    font-size: 1.5rem;
    line-height: 2.125rem;
    font-weight: 600; }
    @media screen and (min-width: 80.25rem) {
      .teaser .teaser__title {
        font-size: 1.5rem;
        line-height: 2.125rem; } }
  .teaser .teaser__media picture, .teaser .teaser__media img {
    width: 100%;
    height: auto; }
  .teaser--news {
    color: #252525 !important;
    padding: 1.8125rem 1.8125rem 3.75rem 1.8125rem;
    position: relative; }
    .teaser--news:hover {
      color: #252525; }
    .teaser--news::after {
      content: '';
      background-image: url("../images/teaser-decoration.png");
      background-repeat: no-repeat;
      background-size: cover;
      height: 20px;
      width: 91px;
      position: absolute;
      bottom: 0;
      left: 2rem; }
    .teaser--news .teaser__text {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      height: 100%; }
      .teaser--news .teaser__text > * {
        max-width: 100%; }
    .teaser--news .date {
      display: block;
      text-transform: uppercase;
      margin-bottom: 0.6875rem;
      color: #151515;
      font-weight: normal; }
  .teaser--feature {
    position: relative; }
    .teaser--feature .teaser__title a {
      -webkit-text-decoration-style: dotted;
              text-decoration-style: dotted; }
    .teaser--feature[class*="bg--"] .teaser__text {
      padding: 1.25rem; }
    .teaser--feature img {
      display: block; }
    @media screen and (min-width: 35rem) {
      .teaser--feature {
        height: 100%; } }
  .teaser--gallery {
    background-color: #F0F0F0; }
    .teaser--gallery .teaser__title {
      padding: 1rem 1.25rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-line-pack: start;
          align-content: flex-start; }
      .teaser--gallery .teaser__title .icon {
        color: #d0001b; }
        .teaser--gallery .teaser__title .icon .icon__glyph {
          padding-left: 1rem;
          margin-right: 0;
          font-size: 1.25rem;
          line-height: 1.875rem; }
          @media screen and (min-width: 80.25rem) {
            .teaser--gallery .teaser__title .icon .icon__glyph {
              font-size: 1.25rem;
              line-height: 1.875rem; } }
    .teaser--gallery .media__heading {
      font-size: 1.25rem;
      line-height: 1.875rem; }
      @media screen and (min-width: 80.25rem) {
        .teaser--gallery .media__heading {
          font-size: 1.25rem;
          line-height: 1.875rem; } }

a.teaser--news {
  border: 2px solid #dbe9f3; }
  a.teaser--news .teaser__title {
    color: #285d76; }
  a.teaser--news:hover, a.teaser--news:focus, a.teaser--news:active {
    border-color: #d0001b; }
    a.teaser--news:hover .teaser__title, a.teaser--news:focus .teaser__title, a.teaser--news:active .teaser__title {
      color: #d0001b; }

.news-teasers a.teaser--news {
  border: none; }
  .news-teasers a.teaser--news .teaser__title {
    color: inherit; }
  .news-teasers a.teaser--news .date {
    position: relative;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: 700;
    margin-bottom: 2.75rem;
    color: inherit; }
    .news-teasers a.teaser--news .date::before {
      position: absolute;
      left: -29px;
      bottom: 8px;
      width: 20px;
      border-bottom: 2px solid #252525;
      content: ''; }

.block.bg--primary .block__header,
.block.bg--primary .block__footer,
.block.bg--primary .block__content {
  padding: 1rem; }

.block.bg--secondary .block__header,
.block.bg--secondary .block__footer,
.block.bg--secondary .block__content {
  padding: 1rem; }

.block.bg--tertiary .block__header,
.block.bg--tertiary .block__footer,
.block.bg--tertiary .block__content {
  padding: 1rem; }

.block.bg--quaternary .block__header,
.block.bg--quaternary .block__footer,
.block.bg--quaternary .block__content {
  padding: 1rem; }

.block.bg--accent .block__header,
.block.bg--accent .block__footer,
.block.bg--accent .block__content {
  padding: 1rem; }

.block.bg--dark-grey .block__header,
.block.bg--dark-grey .block__footer,
.block.bg--dark-grey .block__content {
  padding: 1rem; }

.block.bg--neutral-grey .block__header,
.block.bg--neutral-grey .block__footer,
.block.bg--neutral-grey .block__content {
  padding: 1rem; }

.block.bg--light-grey .block__header,
.block.bg--light-grey .block__footer,
.block.bg--light-grey .block__content {
  padding: 1rem; }

.block.bg--subtle-grey .block__header,
.block.bg--subtle-grey .block__footer,
.block.bg--subtle-grey .block__content {
  padding: 1rem; }

.block.bg--off-white .block__header,
.block.bg--off-white .block__footer,
.block.bg--off-white .block__content {
  padding: 1rem; }

.block.bg--near-white .block__header,
.block.bg--near-white .block__footer,
.block.bg--near-white .block__content {
  padding: 1rem; }

.block.bg--success .block__header,
.block.bg--success .block__footer,
.block.bg--success .block__content {
  padding: 1rem; }

.block.bg--warning .block__header,
.block.bg--warning .block__footer,
.block.bg--warning .block__content {
  padding: 1rem; }

.block.bg--error .block__header,
.block.bg--error .block__footer,
.block.bg--error .block__content {
  padding: 1rem; }

.block.bg--black .block__header,
.block.bg--black .block__footer,
.block.bg--black .block__content {
  padding: 1rem; }

.block.bg--white .block__header,
.block.bg--white .block__footer,
.block.bg--white .block__content {
  padding: 1rem; }

.block__header {
  padding-bottom: 1rem; }

.block__footer {
  padding-top: 1rem; }

.editorial {
  margin-bottom: 1rem; }
  .editorial:last-child {
    margin-bottom: 0; }
  .editorial::after {
    display: block;
    clear: both;
    content: ''; }
  .editorial aside {
    margin-bottom: 1rem; }

@media screen and (min-width: 35rem) {
  .editorial--aside-right aside {
    width: 20rem;
    max-width: 60%;
    margin: 0 0 1rem 1rem;
    float: right; }
  .editorial--aside-left aside {
    width: 20rem;
    max-width: 60%;
    margin: 0 1rem 1rem 0;
    float: left; } }

.grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: -0.75rem; }
  .grid > * {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-negative: 1;
        flex-shrink: 1;
    width: 100%;
    max-width: calc(100% - 1.5rem);
    margin: 0.75rem 0.75rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box; }
  .grid.grid--no-grow > * {
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
  .grid.grid--tight {
    margin: -0.75rem; }
    .grid.grid--tight > * {
      margin: 0.75rem; }
  .grid.grid--small {
    margin: 0; }
    .grid.grid--small > * {
      -ms-flex-preferred-size: 36.625rem;
          flex-basis: 36.625rem;
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; }
    @media screen and (min-width: 35rem) {
      .grid.grid--small {
        margin: -1rem -1.5rem; }
        .grid.grid--small > * {
          margin: 1rem 1.5rem;
          min-width: 36.625rem; } }
  .grid.grid--centered-items > * {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  @media screen and (min-width: 35rem) {
    .grid.grid--centered-items {
      min-width: 35.125rem; } }
  .grid.grid--align-top {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
  .grid.grid--attached > * {
    margin: 0;
    padding: 3rem; }
  .grid.grid--striped {
    margin: 0; }
    .grid.grid--striped > * {
      margin: 0;
      padding: 1.5rem;
      -ms-flex-preferred-size: 22.91667rem;
          flex-basis: 22.91667rem;
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; }
      @media screen and (min-width: 80.25rem) {
        .grid.grid--striped > *:nth-child(6n - 5), .grid.grid--striped > *:nth-child(6n - 4), .grid.grid--striped > *:nth-child(6n - 3) {
          background-color: #F0F0F0; }
        .grid.grid--striped > *:nth-child(6n - 2), .grid.grid--striped > *:nth-child(6n - 1), .grid.grid--striped > *:nth-child(6n - 0) {
          background-color: #f9f9f9; } }
  .grid.grid--divided > * {
    position: relative; }
    .grid.grid--divided > *::after {
      display: block;
      position: absolute;
      top: 0;
      right: calc(-1.5rem - 1px);
      bottom: 0;
      width: 2px;
      background-color: #979797;
      content: ''; }
    .grid.grid--divided > *:last-child::after {
      display: none; }
  .grid.grid--bordered {
    overflow: hidden;
    padding: 1rem;
    margin: -1rem; }
    .grid.grid--bordered > * {
      position: relative;
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      margin: 1rem; }
      .grid.grid--bordered > *::after {
        content: '';
        position: absolute;
        bottom: calc(-1rem - 2px);
        border-bottom: 1px dotted #4A4A4A;
        left: -1rem;
        right: calc(-1rem + 1px); }
      .grid.grid--bordered > * a {
        font-size: 1.25rem;
        line-height: 1.875rem;
        font-weight: 500; }
        @media screen and (min-width: 80.25rem) {
          .grid.grid--bordered > * a {
            font-size: 1.25rem;
            line-height: 1.875rem; } }
  @media screen and (min-width: 35rem) {
    .grid {
      margin: -1rem; }
      .grid > * {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1 1;
        max-width: 23.41667rem;
        margin: 1rem;
        min-width: 20rem; }
      .grid.grid--large > * {
        min-width: 35.125rem; }
      .grid.grid--small > * {
        -ms-flex-preferred-size: 22.41667rem;
            flex-basis: 22.41667rem;
        min-width: 22.41667rem; } }
  @media screen and (min-width: 61rem) {
    .grid {
      margin: -1.5rem; }
      .grid > * {
        max-width: 23.41667rem;
        margin: 1.5rem; }
      .grid.grid--small > * {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1 1;
        min-width: 12.85rem; } }

.collection-items--single .grid > * {
  max-width: 100%; }

@media screen and (min-width: 35rem) {
  .collection-items--single .grid > * {
    max-width: 50%; } }

ul.grid li > * {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1 1;
  max-width: 100%; }

.grid.grid--major-left,
.grid.grid--major-right {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .grid.grid--major-left > *,
  .grid.grid--major-right > * {
    max-width: calc(100% - 1.5rem); }
  .grid.grid--major-left > .grid__main,
  .grid.grid--major-right > .grid__main {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
    .grid.grid--major-left > .grid__main > .slab.slab--body .slab__content,
    .grid.grid--major-right > .grid__main > .slab.slab--body .slab__content {
      max-width: 100%; }
    .grid.grid--major-left > .grid__main > .slab:not([class*="bg--"]),
    .grid.grid--major-right > .grid__main > .slab:not([class*="bg--"]) {
      padding-left: 0;
      padding-right: 0; }
  .grid.grid--major-left > .grid__sidebar,
  .grid.grid--major-right > .grid__sidebar {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  @media screen and (min-width: 61rem) {
    .grid.grid--major-left,
    .grid.grid--major-right {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
      .grid.grid--major-left > *,
      .grid.grid--major-right > * {
        max-width: initial; }
      .grid.grid--major-left > .grid__main,
      .grid.grid--major-right > .grid__main {
        max-width: 100%; }
      .grid.grid--major-left > .grid__sidebar,
      .grid.grid--major-right > .grid__sidebar {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 32%;
                flex: 0 0 32%; }
      .grid.grid--major-left.grid--smaller-sidebar > .grid__sidebar,
      .grid.grid--major-right.grid--smaller-sidebar > .grid__sidebar {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 20%;
                flex: 0 0 20%; } }

@media screen and (min-width: 61rem) {
  .grid.grid--major-right > .grid__sidebar {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; } }

.slab.slab--body .slab__content {
  max-width: 56.25rem; }

.slab {
  padding: 1rem 1rem;
  position: relative; }
  @media screen and (min-width: 35rem) {
    .slab {
      padding: 1.5rem 2rem; } }
  @media screen and (min-width: 61rem) {
    .slab {
      padding: 1.5rem 2rem; } }
  @media screen and (min-width: 80.25rem) {
    .slab {
      padding: 2.5rem 0; } }
  @media screen and (min-width: 84.25rem) {
    .slab {
      padding: 2.5rem 0; } }
  .slab .slab__wrapper {
    max-width: 76.25rem;
    margin: 0 auto;
    z-index: 1; }
    .slab .slab__wrapper > :first-child {
      margin-top: 0; }
    .slab .slab__wrapper > :last-child {
      margin-bottom: 0; }
  .slab .slab__header {
    padding-bottom: 1rem; }
    .slab .slab__header h2 {
      text-align: center;
      text-transform: uppercase; }
      .slab .slab__header h2 span {
        border-bottom: 6px solid #FDC42E;
        line-height: 130%; }
  .slab .slab__footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
    text-align: center;
    z-index: 20; }
  .slab.slab--narrow .slab__wrapper {
    max-width: 49.25rem; }
  .slab.slab--tight-bottom {
    padding-bottom: 0; }
    .slab.slab--tight-bottom:not([class*="bg--"]) {
      padding-bottom: 1rem; }
  .slab.slab--has-top-border .slab-content {
    padding-top: 1.875rem;
    border-top: 3px dashed #c1c8cf; }
    @media screen and (min-width: 61rem) {
      .slab.slab--has-top-border .slab-content {
        padding-top: 3.75rem; } }
  .slab.slab--bleed .slab__wrapper {
    max-width: none; }
  .slab.body::after {
    content: "";
    clear: both;
    display: table; }
  .slab.body .slab__content h2:first-child {
    margin-top: 0; }
  .slab.body h5 {
    font-size: 1.2rem !important;
    padding-top: 1.25rem; }

.slab--body + .slab--body {
  padding-top: 0; }

.page-header + .slab {
  margin-top: 1rem; }

#main-content .slab:last-child {
  margin-bottom: 1rem; }

@media screen and (min-width: 35rem) {
  .page-header + .slab {
    margin-top: 1.5rem; }
  #main-content .slab:last-child {
    margin-bottom: 1.5rem; } }

@media screen and (min-width: 61rem) {
  .page-header + .slab {
    margin-top: 1.5rem; }
  #main-content .slab:last-child {
    margin-bottom: 1.5rem; } }

@media screen and (min-width: 80.25rem) {
  .page-header + .slab {
    margin-top: 2.5rem; }
  #main-content .slab:last-child {
    margin-bottom: 2.5rem; } }

@media screen and (min-width: 84.25rem) {
  .page-header + .slab {
    margin-top: 2.5rem; }
  #main-content .slab:last-child {
    margin-bottom: 2.5rem; } }

.slab[class*='bg--'] + .slab:not([class*="bg--"]),
.slab[class*='bg--'] + .slab.bg--white {
  margin-top: 1rem; }

.slab:not([class*="bg--"]) + .slab[class*='bg--'],
.slab.bg--white + .slab[class*='bg--'] {
  margin-top: 1rem; }

@media screen and (min-width: 61rem) {
  .slab[class*='bg--'] + .slab:not([class*="bg--"]),
  .slab[class*='bg--'] + .slab.bg--white {
    margin-top: 2.5rem; }
  .slab:not([class*="bg--"]) + .slab[class*='bg--'],
  .slab.bg--white + .slab[class*='bg--'] {
    margin-top: 2.5rem; } }

.slab.bg--white + .slab.bg--white,
.slab:not([class*="bg--"]) + .slab.bg--white {
  margin-top: 0; }

.slab.bg--off-white {
  position: relative; }
  .slab.bg--off-white::after {
    content: '';
    background-image: url("../images/teaser-decoration.png");
    background-repeat: no-repeat;
    background-size: cover;
    height: 20px;
    width: 91px;
    position: absolute;
    top: 0;
    right: 2rem; }

.grid__main .slab[class*='bg--'], .grid__sidebar .slab[class*='bg--'] {
  padding: 3rem; }

@media screen and (min-width: 80.25rem) {
  .slab--overflow {
    overflow: hidden; }
    .slab--overflow .contextual-region {
      position: static; }
    .slab--overflow .contextual {
      position: relative; }
    .slab--overflow .slab__wrapper {
      overflow: visible; }
    .slab--overflow .grid {
      overflow: visible; }
      .slab--overflow .grid > div:first-child picture, .slab--overflow .grid > div:last-child picture {
        position: relative;
        width: calc(50vw - 1.5rem);
        height: auto;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: initial;
           object-position: initial; }
      .slab--overflow .grid > div:first-child picture {
        left: calc(-50vw - 1.5rem + (76.25rem / 2)); } }

.newcity-logo svg {
  width: 10rem;
  height: 16.29rem; }

.newcity-logo-horizontal svg {
  width: 10rem;
  height: 2.944444rem; }

.newcity-logo-vertical svg {
  width: 10rem;
  height: 10.648rem; }

.newcity-logo-wordmark svg {
  width: 10rem;
  height: 1.3rem; }

figure {
  font-size: 1rem;
  line-height: 1.9375rem;
  margin: 0;
  font-family: "Barlow", sans-serif;
  font-style: italic; }
  @media screen and (min-width: 80.25rem) {
    figure {
      font-size: 1rem;
      line-height: 1.9375rem; } }
  figure img {
    display: block;
    width: 100%;
    height: 100%;
    font-family: "object-fit: contain; object-position: top center";
    -o-object-position: top center;
       object-position: top center;
    -o-object-fit: contain;
       object-fit: contain; }
  figure figcaption {
    margin-top: 0.5rem; }

.figure-wrapper figure, .figure-wrapper > article.media {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }
  .figure-wrapper figure.align-left .responsive-embed, .figure-wrapper figure.align-right .responsive-embed, .figure-wrapper > article.media.align-left .responsive-embed, .figure-wrapper > article.media.align-right .responsive-embed {
    padding-top: 0; }
    .figure-wrapper figure.align-left .responsive-embed iframe, .figure-wrapper figure.align-right .responsive-embed iframe, .figure-wrapper > article.media.align-left .responsive-embed iframe, .figure-wrapper > article.media.align-right .responsive-embed iframe {
      position: static; }
  .figure-wrapper figure figcaption, .figure-wrapper > article.media figcaption {
    margin-top: 0.5rem;
    text-align: left;
    font-size: 0.875rem;
    line-height: 1.5rem; }
    @media screen and (min-width: 80.25rem) {
      .figure-wrapper figure figcaption, .figure-wrapper > article.media figcaption {
        font-size: 0.875rem;
        line-height: 1.5rem; } }
  @media screen and (min-width: 35rem) {
    .figure-wrapper figure.partial_content, .figure-wrapper figure.partial_4_3, .figure-wrapper > article.media.partial_content, .figure-wrapper > article.media.partial_4_3 {
      max-width: 50%; }
    .figure-wrapper figure.align-left, .figure-wrapper > article.media.align-left {
      margin-right: 1rem;
      float: left; }
    .figure-wrapper figure.align-right, .figure-wrapper > article.media.align-right {
      margin-left: 1rem;
      float: right; } }

.link-group--invisible-header .headline-group {
  position: absolute;
  left: -999999em; }

/*
.link-group--collapsed {
  display: none;
}

@include rr-break-directive(medium) {
  .link-group--collapsed {
    display: block;
  }
}
*/
.breadcrumbs {
  margin: 0;
  padding: 0;
  list-style: none; }
  .breadcrumbs li {
    margin-left: 0;
    text-indent: 0; }
    .breadcrumbs li::before {
      display: none; }
  .breadcrumbs li {
    display: inline-block; }

.pager__item--first a, .pager__item--previous a, .pager__item--next a, .pager__item--last a, .pager__item.is-active a {
  font-weight: bold; }

.pager__item--first, .pager__item--previous, .pager__item--next, .pager__item.last-page {
  position: relative; }
  .pager__item--first::after, .pager__item--previous::after, .pager__item--next::after, .pager__item.last-page::after {
    position: absolute;
    content: '';
    -webkit-transform: skewX(-10deg);
            transform: skewX(-10deg);
    top: -.3rem;
    bottom: -.3rem;
    right: 0;
    width: 1px;
    background-color: #4A4A4A; }

.pager {
  margin-top: 2rem; }

.pager__item a {
  font-family: "Barlow", sans-serif;
  font-size: 1.25rem;
  line-height: 1.875rem;
  text-transform: uppercase;
  background: none;
  font-weight: normal;
  font-style: normal;
  padding: .5rem .75rem; }
  @media screen and (min-width: 80.25rem) {
    .pager__item a {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

.pager__item.is-active {
  position: relative; }
  .pager__item.is-active::before {
    content: '';
    display: inline-block;
    text-align: center;
    position: absolute;
    z-index: -1;
    left: 0;
    top: -.3rem;
    bottom: -.3rem;
    right: 0;
    background-color: #c1c8cf;
    -webkit-transform: skewX(-10deg);
            transform: skewX(-10deg);
    -webkit-transition: width .2s ease-in-out, margin-left .2s ease-in-out;
    transition: width .2s ease-in-out, margin-left .2s ease-in-out; }

[data-drupal-views-infinite-scroll-pager] {
  list-style: none;
  margin: 0;
  padding: 0; }

.section-nav {
  display: none; }
  .section-nav ul {
    list-style: none;
    margin: 0;
    padding: 0; }
  .section-nav a {
    text-decoration: none; }
  .section-nav .menu-item__inner {
    position: relative; }
  .section-nav .open-children {
    position: absolute;
    right: .5rem;
    top: 1rem; }
    .section-nav .open-children .close {
      display: none; }
    .section-nav .open-children.open .close {
      display: inherit; }
    .section-nav .open-children.open .open {
      display: none; }
  .section-nav .menu-level-0 > ul > li > .menu-item__inner {
    background-color: #d0001b;
    padding: 1rem 1.0625rem 1rem 1.4375rem; }
    .section-nav .menu-level-0 > ul > li > .menu-item__inner a {
      color: #ffffff; }
  .section-nav .menu-level-1 {
    background-color: #F0F0F0; }
    .section-nav .menu-level-1 > ul {
      padding-bottom: 0.9375rem; }
      .section-nav .menu-level-1 > ul > li > .menu-item__inner {
        padding: 0.6875rem 1.0625rem 0.4375rem 1.8125rem; }
      .section-nav .menu-level-1 > ul a {
        color: #252525; }
    .section-nav .menu-level-1 .menu-item.has-children {
      overflow: hidden; }
      .section-nav .menu-level-1 .menu-item.has-children > .menu {
        max-height: 0;
        -webkit-transition: .3s ease-out;
        transition: .3s ease-out; }
        .section-nav .menu-level-1 .menu-item.has-children > .menu.opened {
          max-height: 700px;
          -webkit-transition: .3s ease-in;
          transition: .3s ease-in; }
    .section-nav .menu-level-1 .is-active > .menu-item__inner > a {
      color: #d0001b; }
  .section-nav .menu-level-2 .menu-item__inner {
    padding: 0.375rem 1.0625rem 0.25rem 2.125rem; }
  .section-nav .menu-level-3 ul li a::before {
    content: '– '; }
  @media screen and (min-width: 61rem) {
    .section-nav {
      display: inherit; } }

.skip-nav {
  font-size: 1.5rem;
  line-height: 2.125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: -5rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  background-color: #252525; }
  @media screen and (min-width: 80.25rem) {
    .skip-nav {
      font-size: 1.5rem;
      line-height: 2.125rem; } }
  .skip-nav:link, .skip-nav:visited {
    color: #ffffff; }
  .skip-nav:active, .skip-nav:hover, .skip-nav:focus {
    color: #d0001b; }
  .skip-nav:focus {
    top: 0;
    -webkit-transition: top .5s;
    transition: top .5s; }

.social-media-links__menu a {
  display: block;
  margin-right: 1rem;
  color: #252525;
  background-color: #ffffff;
  border-radius: 50%;
  height: 44px;
  width: 44px;
  line-height: 44px; }
  .social-media-links__menu a span {
    height: 100%; }

.social-media-links__menu .icon {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.social-media-links__menu img {
  height: 44px;
  width: 44px;
  -o-object-fit: contain;
     object-fit: contain; }

.social-media-links--colorize a .icon__glyph {
  -webkit-transition: opacity 0.25s ease-in-out;
  transition: opacity 0.25s ease-in-out; }
  .social-media-links--colorize a .icon__glyph[class*=facebook] {
    color: #1877f2; }
  .social-media-links--colorize a .icon__glyph[class*=twitter] {
    color: #1da1f2; }
  .social-media-links--colorize a .icon__glyph[class*=linkedin] {
    color: #007bb5; }
  .social-media-links--colorize a .icon__glyph[class*=instagram] {
    color: #c32aa3; }
  .social-media-links--colorize a .icon__glyph[class*=youtube] {
    color: #ff0000; }
  .social-media-links--colorize a .icon__glyph[class*=pinterest] {
    color: #cb2027; }
  .social-media-links--colorize a .icon__glyph[class*=snapchat] {
    color: #fffc00;
    text-shadow: 0 0 1px black; }

.social-media-links--colorize a:hover .icon__glyph, .social-media-links--colorize a:active .icon__glyph, .social-media-links--colorize a:focus .icon__glyph {
  opacity: 0.6; }

.headline-group {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  line-height: auto; }
  .headline-group .headline-group__super,
  .headline-group .headline-group__sub {
    display: block; }
  .headline-group .headline-group__super,
  .headline-group .headline-group__sub {
    font-size: 1.25rem;
    line-height: 1.875rem; }
    @media screen and (min-width: 80.25rem) {
      .headline-group .headline-group__super,
      .headline-group .headline-group__sub {
        font-size: 1.25rem;
        line-height: 1.875rem; } }
  h5.headline-group .headline-group__head {
    font-size: 1.5rem;
    line-height: 2.125rem; }
    @media screen and (min-width: 80.25rem) {
      h5.headline-group .headline-group__head {
        font-size: 1.5rem;
        line-height: 2.125rem; } }
  h6.headline-group .headline-group__head {
    font-size: 1.5rem;
    line-height: 2.125rem; }
    @media screen and (min-width: 80.25rem) {
      h6.headline-group .headline-group__head {
        font-size: 1.5rem;
        line-height: 2.125rem; } }

.headline-group--display {
  text-align: center; }
  .headline-group--display .headline-group__super {
    font-size: 2.25rem;
    line-height: 2.875rem;
    font-style: italic;
    font-weight: 200; }
    @media screen and (min-width: 80.25rem) {
      .headline-group--display .headline-group__super {
        font-size: 2.75rem;
        line-height: 3.375rem; } }
  .headline-group--display .headline-group__head {
    font-size: 2.75rem;
    line-height: 3.375rem;
    text-transform: uppercase; }
    @media screen and (min-width: 80.25rem) {
      .headline-group--display .headline-group__head {
        font-size: 3.375rem;
        line-height: 4rem; } }
    @media screen and (min-width: 80.25rem) {
      .headline-group--display .headline-group__head {
        font-size: 4.375rem; } }

.headline-group--bordered {
  padding: 1rem;
  border: 2px #F0F0F0 solid; }
  .headline-group--bordered .headline-group__super {
    font-size: 1rem;
    line-height: 1.625rem;
    color: #285d76;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: bold; }
    @media screen and (min-width: 80.25rem) {
      .headline-group--bordered .headline-group__super {
        font-size: 1rem;
        line-height: 1.625rem; } }
  .headline-group--bordered .headline-group__head {
    font-size: 1.75rem;
    line-height: 2.375rem;
    font-family: "Barlow Condensed", sans-serif;
    font-weight: bold; }
    @media screen and (min-width: 80.25rem) {
      .headline-group--bordered .headline-group__head {
        font-size: 2.125rem;
        line-height: 2.75rem; } }

.described-links {
  margin-bottom: 1.5rem; }
  .described-links dd {
    padding-left: 1rem; }

.content-meta {
  margin-bottom: 0.5rem; }
  .content-meta .byline {
    font-size: 1.25rem;
    line-height: 1.875rem;
    font-weight: 400; }
    @media screen and (min-width: 80.25rem) {
      .content-meta .byline {
        font-size: 1.25rem;
        line-height: 1.875rem; } }
  .content-meta .who-when {
    font-weight: 500; }
  .content-meta .taxonomy-list {
    display: block;
    font-style: italic; }
  .content-meta span + span::before {
    content: ' | '; }

.section-intro :last-child {
  margin-bottom: 0; }

.table-wrapper .wysiwyg-table {
  overflow-x: scroll; }

.table-wrapper table {
  border-collapse: collapse;
  border-bottom: 4px solid #5f5f5f; }
  .table-wrapper table th,
  .table-wrapper table td {
    padding: 1rem; }
    .table-wrapper table th:first-child,
    .table-wrapper table td:first-child {
      border-left-width: 0; }
    .table-wrapper table th:last-child,
    .table-wrapper table td:last-child {
      border-right-width: 0; }
  .table-wrapper table th:first-child {
    text-align: left; }
  .table-wrapper table thead th {
    border-bottom: 10px solid #5f5f5f; }
  .table-wrapper table caption {
    padding-top: 1rem;
    padding-bottom: 1rem;
    font-style: italic;
    caption-side: bottom; }

.table-wrapper.table-wrapper--striped tbody tr:nth-child(odd) th, .table-wrapper.table-wrapper--striped tbody tr:nth-child(odd) td {
  background-color: #F0F0F0; }

.news-teasers__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  .news-teasers__header > * {
    max-width: 100%; }
  .news-teasers__header h2 {
    text-transform: uppercase;
    font-size: 2.75rem;
    line-height: 3.375rem;
    margin: 0; }
    @media screen and (min-width: 80.25rem) {
      .news-teasers__header h2 {
        font-size: 3.375rem;
        line-height: 4rem; } }
    .news-teasers__header h2 span {
      border-bottom: 6px solid #FDC42E;
      line-height: 130%; }

.news-teasers .teaser__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .news-teasers .teaser__wrapper > * {
    max-width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1 1; }

.news-teasers-stacked__header {
  text-transform: uppercase;
  padding-bottom: 1rem; }
  .news-teasers-stacked__header a {
    color: #252525;
    text-decoration: none; }
    .news-teasers-stacked__header a::after {
      color: #d0001b;
      font-size: 1.25rem;
      line-height: 1.875rem; }
      @media screen and (min-width: 80.25rem) {
        .news-teasers-stacked__header a::after {
          font-size: 1.25rem;
          line-height: 1.875rem; } }
  .news-teasers-stacked__header h2 {
    display: inline; }

.toggle-button__demo {
  margin-top: 2rem;
  margin-bottom: 2rem; }
  .toggle-button__demo[aria-hidden='true'] {
    display: none; }

.list-grouping {
  padding-bottom: 1.5rem; }
  .list-grouping__heading {
    background-color: #d0001b;
    color: #ffffff;
    font-size: 1.25rem;
    line-height: 1.875rem;
    font-weight: 600;
    padding: 0.5rem 1rem;
    line-height: 1.875rem;
    margin: 0; }
    @media screen and (min-width: 80.25rem) {
      .list-grouping__heading {
        font-size: 1.25rem;
        line-height: 1.875rem; } }
  .list-grouping li {
    padding-left: 1rem !important; }
  .list-grouping .slab {
    padding: 1rem; }
  .list-grouping__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .list-grouping__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: stretch;
        -ms-flex-pack: stretch;
            justify-content: stretch;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .list-grouping__text > * {
      -ms-flex-preferred-size: 33%;
          flex-basis: 33%;
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      min-width: 9.375rem;
      padding-left: 1rem; }
    .list-grouping__text a {
      display: inline-block; }
  .list-grouping__image {
    -ms-flex-preferred-size: 100px;
        flex-basis: 100px;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0; }
  @media screen and (min-width: 35rem) {
    .list-grouping__text > * {
      min-width: 12.5rem; } }
  @media screen and (min-width: 61rem) {
    .list-grouping__content {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .list-grouping__text {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .list-grouping__text > * {
        padding-left: 0; } }

.views__grouping + .views__grouping {
  margin-top: 3rem; }

.view-content div:last-child .list-grouping {
  padding-bottom: 0; }

.page-header {
  background-image: url("../images/page-header-background.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .page-header--plain h1 {
    text-transform: uppercase; }
    .page-header--plain h1 span {
      border-bottom: 6px solid #FDC42E;
      line-height: 130%; }
  .page-header--plain .page-header__text__inner {
    padding-top: 2rem;
    padding-bottom: 3rem; }
  .page-header--has-media .page-header__media {
    padding: 0; }
  .page-header--has-media .page-header__text {
    -webkit-box-align: inherit;
        -ms-flex-align: inherit;
            align-items: inherit; }
  @media screen and (min-width: 61rem) {
    .page-header--has-media {
      background-size: cover;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
      .page-header--has-media > div {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        -ms-flex-item-align: stretch;
            align-self: stretch; }
      .page-header--has-media .page-header__text__inner {
        padding: 7.5rem 2.5rem 7.5rem 7.5rem; } }
  .page-header__media {
    padding: 1rem 1rem 0 1rem; }
    .page-header__media article, .page-header__media div {
      height: 100%; }
    .page-header__media picture {
      height: 100%; }
      .page-header__media picture img {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center; }
    .page-header__media figcaption {
      margin: 0.5rem 1rem; }
  .page-header__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    max-width: 76.25rem;
    margin: 0 auto; }
    .page-header__text h1 {
      margin: 0; }
  .page-header__text__inner {
    max-width: 100%;
    width: 100%;
    padding: 1rem 1rem;
    overflow: hidden; }
  .page-header--home {
    background: none; }
    .page-header--home .page-header__media {
      padding-left: 0;
      padding-right: 0; }
    .page-header--home .page-header__text {
      background-image: url("../images/page-header-background.jpg");
      background-size: cover;
      background-repeat: no-repeat; }
    .page-header--home h1 {
      font-size: 2.75rem;
      line-height: 3.375rem;
      margin: 0;
      text-transform: uppercase; }
      @media screen and (min-width: 80.25rem) {
        .page-header--home h1 {
          font-size: 3.375rem;
          line-height: 4rem; } }
      .page-header--home h1 .heading__text {
        background-color: #FDC42E;
        display: inline; }
  .page-header--full {
    background: none;
    display: block;
    position: relative; }
    .page-header--full .page-header__media {
      padding-left: 0;
      padding-right: 0;
      width: 100%; }
      .page-header--full .page-header__media img {
        width: 100%;
        -o-object-fit: cover;
           object-fit: cover; }
    .page-header--full .page-header__text {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0; }
    .page-header--full h1 {
      font-size: 2.75rem;
      line-height: 3.375rem;
      margin: 0;
      text-transform: uppercase;
      text-align: left; }
      @media screen and (min-width: 80.25rem) {
        .page-header--full h1 {
          font-size: 3.375rem;
          line-height: 4rem; } }
      .page-header--full h1 .heading__text {
        background-color: #FDC42E;
        display: inline; }
    .page-header--full.flipped .page-header__text {
      left: auto;
      right: 0; }
      .page-header--full.flipped .page-header__text h1 {
        text-align: right; }
    @media screen and (min-width: 35rem) {
      .page-header--full .page-header__text {
        width: 50%; } }
    @media screen and (min-width: 80.25rem) {
      .page-header--full .page-header__text__inner {
        padding-left: calc((100vw - 1220px) / 2); }
      .page-header--full.flipped .page-header__text__inner {
        padding-left: 0;
        padding-right: calc((100vw - 1220px) / 2); } }
  .page-header--landing {
    background: none;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch; }
    .page-header--landing .page-header__media {
      padding: 0;
      position: relative; }
      .page-header--landing .page-header__media::after {
        content: '';
        background-image: url("../images/teaser-decoration.png");
        background-repeat: no-repeat;
        background-size: cover;
        height: 20px;
        width: 91px;
        position: absolute;
        bottom: 0;
        right: 2rem; }
    .page-header--landing h1 {
      text-align: center;
      text-transform: uppercase; }
      .page-header--landing h1 span {
        border-bottom: 6px solid #FDC42E;
        line-height: 130%; }
    .page-header--landing .page-header__text {
      background: #f9f9f9;
      position: relative; }
    .page-header--landing .page-header__text__decoration {
      width: 17.0625rem;
      height: 25rem;
      position: absolute;
      background-image: url("../images/crossing-marker.svg");
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: cover;
      top: 5rem;
      z-index: -1; }
    .page-header--landing .page-header__text__inner {
      position: relative;
      z-index: 1; }
    @media screen and (min-width: 80.25rem) {
      .page-header--landing .page-header__text__inner {
        max-width: 80%;
        padding-left: 0;
        padding-right: 0;
        margin: 0 auto; } }
  .page-header--standard {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; }
    .page-header--standard h1 {
      text-align: center;
      text-transform: uppercase; }
      .page-header--standard h1 span {
        border-bottom: 6px solid #FDC42E;
        line-height: 130%; }
    .page-header--standard .page-header__text__inner {
      padding-top: 2rem;
      padding-bottom: 3rem;
      padding-left: 0;
      padding-right: 0; }
  .page-header--article .page-header__text {
    text-align: left; }
  .page-header--article .news-meta__date > *,
  .page-header--article .news-meta__author > * {
    background-color: #f9f9f9;
    font-weight: 500; }
  .page-header--article .news-meta__date {
    margin-top: 1rem;
    text-transform: uppercase; }

.grid__main .page-header .page-header__text {
  max-width: 100%; }

@media screen and (min-width: 61rem) {
  .grid__main .page-header.page-header--has-media > div {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImJhc2UtcGF0dGVybnMuY3NzIiwiYXRvbXMvZm9ybXMvX2Zvcm1zLnNjc3MiLCIuLi9hc3NldHMvc2Nzcy9pbmNsdWRlcy9fcmVtLnNjc3MiLCIuLi9hc3NldHMvc2Nzcy9pbmNsdWRlcy9fZm9udHMuc2NzcyIsIi4uL2Fzc2V0cy9zY3NzL3JoeXRobS9fcnItYmFzZWxpbmUuc2NzcyIsIi4uL2Fzc2V0cy9zY3NzL2luY2x1ZGVzL19kZXNpZ24tdmFyaWFibGVzLnNjc3MiLCIuLi9hc3NldHMvc2Nzcy9yaHl0aG0vX3JyLXV0aWwuc2NzcyIsIi4uL2Fzc2V0cy9zY3NzL2luY2x1ZGVzL19taXhpbnMuc2NzcyIsIndyYXBwZXIvY29tbXVuaXR5LWhlYWRlci9fY29tbXVuaXR5LWhlYWRlci5zY3NzIiwid3JhcHBlci9mb290ZXIvX2Zvb3Rlci5zY3NzIiwid3JhcHBlci9oZWFkZXIvX2hlYWRlci5zY3NzIiwiLi4vaW50ZXJtZWRpYXRlL3Njc3MvX2ljb25mb250LXZhcnMuc2NzcyIsImF0b21zL21lZGlhL292ZXJsYXkvX292ZXJsYXkuc2NzcyIsImF0b21zL2xpc3RzL29sL19vbC5zY3NzIiwiYXRvbXMvbGlzdHMvdWwvX3VsLnNjc3MiLCJhdG9tcy9saXN0cy9kbC9fZGwuc2NzcyIsImF0b21zL3RleHQvYmxvY2txdW90ZS9fYmxvY2txdW90ZS5zY3NzIiwiYXRvbXMvdGV4dC9idXR0b24vX2J1dHRvbi5zY3NzIiwiYXRvbXMvdGV4dC9jaXRlL19jaXRlLnNjc3MiLCJhdG9tcy90ZXh0L2ljb24vX2ljb24uc2NzcyIsImF0b21zL3RleHQvbGluay9fbGluay5zY3NzIiwiYXRvbXMvdGV4dC9oZWFkaW5nL19oZWFkaW5nLnNjc3MiLCJhdG9tcy90ZXh0L3AvX3Auc2NzcyIsImF0b21zL3RleHQvc2VwL19zZXAuc2NzcyIsIm1vbGVjdWxlcy9ibG9ja3MvY29udGFjdC1pbmZvL19jb250YWN0LWluZm8uc2NzcyIsIm1vbGVjdWxlcy9ibG9ja3MvY3RhL19jdGEuc2NzcyIsIm1vbGVjdWxlcy9ibG9ja3MvZmVhdHVyZS9fZmVhdHVyZS5zY3NzIiwibW9sZWN1bGVzL2Jsb2Nrcy9pY29uLWxpbmtzL19pY29uLWxpbmtzLnNjc3MiLCJtb2xlY3VsZXMvYmxvY2tzL2ltYWdlLWxpc3QtaXRlbS9faW1hZ2UtbGlzdC1pdGVtLnNjc3MiLCJtb2xlY3VsZXMvYmxvY2tzL3Byb21vLXRleHQvX3Byb21vLXRleHQuc2NzcyIsIm1vbGVjdWxlcy9ibG9ja3MvcHVsbHRleHQvX3B1bGx0ZXh0LnNjc3MiLCJtb2xlY3VsZXMvYmxvY2tzL3RlYXNlci9fdGVhc2VyLnNjc3MiLCJtb2xlY3VsZXMvbGF5b3V0cy9ibG9jay9fYmxvY2suc2NzcyIsIm1vbGVjdWxlcy9sYXlvdXRzL2VkaXRvcmlhbC9fZWRpdG9yaWFsLnNjc3MiLCJtb2xlY3VsZXMvbGF5b3V0cy9ncmlkL19ncmlkLnNjc3MiLCJtb2xlY3VsZXMvbGF5b3V0cy9zaWRlYmFyL19zaWRlYmFyLnNjc3MiLCJtb2xlY3VsZXMvbGF5b3V0cy9zbGFiL19zbGFiLnNjc3MiLCIuLi9hc3NldHMvc2Nzcy9yaHl0aG0vX3JyLWdyaWQuc2NzcyIsIi4uL2Fzc2V0cy9zY3NzL3JoeXRobS9fcnItY29uZmlnLnNjc3MiLCJtb2xlY3VsZXMvbGF5b3V0cy9zbGFiLW92ZXJmbG93L19zbGFiLW92ZXJmbG93LnNjc3MiLCJtb2xlY3VsZXMvbWVkaWEvYXN2Zy9fYXN2Zy5zY3NzIiwibW9sZWN1bGVzL21lZGlhL2ZpZ3VyZS9fZmlndXJlLnNjc3MiLCJtb2xlY3VsZXMvbmF2aWdhdGlvbi9saW5rLWdyb3VwL19saW5rLWdyb3VwLnNjc3MiLCJtb2xlY3VsZXMvbmF2aWdhdGlvbi9icmVhZGNydW1icy9fYnJlYWRjcnVtYnMuc2NzcyIsIm1vbGVjdWxlcy9uYXZpZ2F0aW9uL3BhZ2VyL19wYWdlci5zY3NzIiwibW9sZWN1bGVzL25hdmlnYXRpb24vc2VjdGlvbi1uYXYvX3NlY3Rpb24tbmF2LnNjc3MiLCJtb2xlY3VsZXMvbmF2aWdhdGlvbi9za2lwLW5hdi9fc2tpcC1uYXYuc2NzcyIsIm1vbGVjdWxlcy9uYXZpZ2F0aW9uL3NvY2lhbC1tZWRpYS1saW5rcy9fc29jaWFsLW1lZGlhLWxpbmtzLnNjc3MiLCJtb2xlY3VsZXMvdGV4dC9oZy9faGcuc2NzcyIsIm1vbGVjdWxlcy90ZXh0L2Rlc2NyaWJlZC1saW5rcy9fZGVzY3JpYmVkLWxpbmtzLnNjc3MiLCJtb2xlY3VsZXMvdGV4dC9tZXRhL19tZXRhLnNjc3MiLCJtb2xlY3VsZXMvdGV4dC9zZWN0aW9uLWludHJvL19zZWN0aW9uLWludHJvLnNjc3MiLCJtb2xlY3VsZXMvdGV4dC90YWJsZS9fdGFibGUuc2NzcyIsIm9yZ2FuaXNtcy9jb2xsZWN0aW9ucy9uZXdzLXRlYXNlcnMvX25ld3MtdGVhc2Vycy5zY3NzIiwib3JnYW5pc21zL2NvbGxlY3Rpb25zL25ld3MtdGVhc2Vycy1zdGFja2VkL19uZXdzLXRlYXNlcnMtc3RhY2tlZC5zY3NzIiwib3JnYW5pc21zL2ludGVyYWN0aXZlL3RvZ2dsZS1idXR0b24vX3RvZ2dsZS1idXR0b24uc2NzcyIsIm9yZ2FuaXNtcy9saXN0aW5ncy9saXN0LWdyb3VwaW5nL19saXN0LWdyb3VwaW5nLnNjc3MiLCJvcmdhbmlzbXMvcGFnZS1oZWFkZXJzL3BhZ2UtaGVhZGVyL19wYWdlLWhlYWRlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQjs7RUFHQSxpQkMrQjREO0VEOUI1RCxlQUFBO0VBQ0Esb0JBQUE7RUFDQSxxQkFBQTtFQUNBLCtCQUFBO1VBQUEsdUJBQUE7RUFDQSxnQkFBQTtFQUNBLGtDRVRrQztFQ3NCeEIsZ0JGWWtEO0VFVmhELHNCRlVnRDtFRHZCNUQsMEJJMkhnQixFSnRIaEI7RUtxREk7SUxyRUo7O01Hc0JVLGdCRllrRDtNRVZoRCxzQkZVZ0QsRURsQjVELEVBQUE7RUtxREk7SUxyRUo7O01BY0Esb0JDb0I0RCxFRGxCNUQsRUFBQTs7QUFoQkE7RU0wS0UseUJBQXdCO0VBQ3hCLDJCQUEw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QUFBLEVBQ0E7O0FBSUE7O0VBRUEsbUJBQUE7RUFDQSxlQUFBO0VBQ0EscUJkOUI2QjtFYytCN0Isb0JkL0I2QjtFRlpuQixtQkZZa0Q7RUVWaEQsc0JGVWdELEVrQjBDNUQ7RWRQSTtJY1RKOztNaEJ0Q1UsbUJGWWtEO01FVmhELHNCRlVnRCxFa0IwQzVELEVBQUE7RUFoQkE7O0lBUUEsc0JBQUE7SVRsRUksd0JBQXVCO0lBQ3ZCLG1CQUFrQjtJQUNsQixvQkFBbUI7SUFDbkIsZUFBYztJQUNkLG9DQUFtQztJQUNuQyxtQ0FBa0M7SVMrRHRDLGFUekQ4QjtJUzBEOUIsc0JkckM2QjtJRlpuQixvQkZZa0Q7SUVWaEQsb0JGVWdEO0lrQnVDNUQsc0JBQUE7SUFDQSxlQUFBLEVBQ0E7SWROSTtNY1RKOztRaEJ0Q1Usb0JGWWtEO1FFVmhELG9CRlVnRCxFa0J5QzVELEVBQUE7O0FBR0E7RUFFQSxlQUFBLEVBQ0E7O0FBSEE7RUFLQSxlQUFBO0VBQ0EsZWxCbEQ0RDtFa0JtRDVELFlBQUE7RUFDQSxrQmxCcEQ0RDtFa0JxRDVELHdCZHJENkIsRWNzRDdCOztBQUlBOztFaEJ0RVUsbUJGWWtEO0VFVmhELHNCRlVnRCxFa0I2RDVEO0VkMUJJO0ljdUJKOztNaEJ0RVUsbUJGWWtEO01FVmhELHNCRlVnRCxFa0I2RDVELEVBQUE7O0FDeEZBO0VqQmVVLG1CRllrRDtFRVZoRCxzQkZVZ0Q7RW1CekI1RCw0Q2xCUnNELEVrQlN0RDtFZjJESTtJZTlESjtNakJlVSxvQkZZa0Q7TUVWaEQsa0JGVWdELEVtQnhCNUQsRUFBQTs7QUFIQTtFakJlVSxtQkZZa0Q7RUVWaEQsc0JGVWdEO0VtQnpCNUQsNENsQlJzRCxFa0JTdEQ7RWYyREk7SWU5REo7TWpCZVUsbUJGWWtEO01FVmhELHNCRlVnRCxFbUJ4QjVELEVBQUE7O0FBSEE7RWpCZVUsZ0JGWWtEO0VFVmhELHNCRlVnRDtFbUJ6QjVELDRDbEJSc0QsRWtCU3REO0VmMkRJO0llOURKO01qQmVVLGtCRllrRDtNRVZoRCxzQkZVZ0QsRW1CeEI1RCxFQUFBOztBQUhBO0VqQmVVLG1CRllrRDtFRVZoRCxzQkZVZ0Q7RW1CekI1RCw0Q2xCUnNELEVrQlN0RDtFZjJESTtJZTlESjtNakJlVSxvQkZZa0Q7TUVWaEQscUJGVWdELEVtQnhCNUQsRUFBQTs7QUFIQTtFakJlVSxrQkZZa0Q7RUVWaEQsc0JGVWdEO0VtQnpCNUQsNENsQlJzRCxFa0JTdEQ7RWYyREk7SWU5REo7TWpCZVUsa0JGWWtEO01FVmhELHNCRlVnRCxFbUJ4QjVELEVBQUE7O0FBSEE7RWpCZVUsbUJGWWtEO0VFVmhELHNCRlVnRDtFbUJ6QjVELDRDbEJSc0QsRWtCU3REO0VmMkRJO0llOURKO01qQmVVLG1CRllrRDtNRVZoRCxzQkZVZ0QsRW1CeEI1RCxFQUFBOztBQUhBO0VqQmVVLG1CRllrRDtFRVZoRCxzQkZVZ0Q7RW1CaEI1RCxlQUFBLEVBQ0E7RWZrREk7SWU5REo7TWpCZVUsbUJGWWtEO01FVmhELHNCRlVnRCxFbUJmNUQsRUFBQTs7QUFaQTtFakJlVSxrQkZZa0Q7RUVWaEQsc0JGVWdEO0VtQmhCNUQsZUFBQSxFQUNBO0Vma0RJO0llOURKO01qQmVVLGtCRllrRDtNRVZoRCxzQkZVZ0QsRW1CZjVELEVBQUE7O0FBWkE7RWpCZVUsbUJGWWtEO0VFVmhELHNCRlVnRDtFbUJoQjVELGVBQUEsRUFDQTtFZmtESTtJZTlESjtNakJlVSxtQkZZa0Q7TUVWaEQsc0JGVWdELEVtQmY1RCxFQUFBOztBQVpBO0VqQmVVLGdCRllrRDtFRVZoRCxzQkZVZ0Q7RW1CaEI1RCxlQUFBLEVBQ0E7RWZrREk7SWU5REo7TWpCZVUsZ0JGWWtEO01FVmhELHNCRlVnRCxFbUJmNUQsRUFBQTs7QUFaQTtFakJlVSxnQkZZa0Q7RUVWaEQsc0JGVWdEO0VtQmhCNUQsZUFBQSxFQUNBO0Vma0RJO0llOURKO01qQmVVLGdCRllrRDtNRVZoRCxzQkZVZ0QsRW1CZjVELEVBQUE7O0FBWkE7RUFnQkEsVUFBQSxFQUlBO0VBTEE7SUFHQSxvQmZTNkIsRWVSN0I7O0FBR0E7RWpCUFUsa0JGWWtEO0VFVmhELHNCRlVnRCxFbUJINUQ7RWZzQ0k7SWV4Q0o7TWpCUFUsa0JGWWtEO01FVmhELHNCRlVnRCxFbUJINUQsRUFBQTs7QUMvQkE7RWxCc0JVLGdCRllrRDtFRVZoRCxzQkZVZ0Q7RW9CaEM1RCxvQmhCZ0M2QixFZ0IvQjdCO0VoQmtFSTtJZ0JyRUo7TWxCc0JVLGdCRllrRDtNRVZoRCxzQkZVZ0QsRW9CL0I1RCxFQUFBOztBQUVBOztFbEJpQlUsa0JGWWtEO0VFVmhELHNCRlVnRCxFb0IxQjVEO0VoQjZESTtJZ0JoRUo7O01sQmlCVSxrQkZZa0Q7TUVWaEQsc0JGVWdELEVvQjFCNUQsRUFBQTs7QUNSQTtFQUVBLGFBQUEsRUFBQTs7QUFJQTtFQUVBLGFBQUEsRUFDQTs7QUFHQTtFQUVBLGFBQUEsRUFDQTs7QUNmQTtFQUNBLGlCQUFBLEVBK0NBO0VBaERBO0lBSUEsZUFBQTtJQUNBLFlBQUE7SUFDQSxhQUFBO0lBQ0EsNERBQUE7SUFDQSx1QkFBQTtPQUFBLG9CQUFBO0lBQ0EsMkJBQUE7T0FBQSx3QkFBQSxFQUNBO0VBVkE7SUFhQSxldEJxQjREO0lzQnBCNUQsYUFBQSxFQUNBO0VBZkE7SXBCc0JVLG1CRllrRDtJRVZoRCxzQkZVZ0Q7SXNCZjVELGtCQUFBLEVBQ0E7SWxCaURJO01rQnJFSjtRcEJzQlUsbUJGWWtEO1FFVmhELHNCRlVnRCxFc0JkNUQsRUFBQTtFQXBCQTtJcEJzQlUsb0JGWWtEO0lFVmhELG9CRlVnRDtJc0JWNUQsa0JBQUEsRUFDQTtJbEI0Q0k7TWtCckVKO1FwQnNCVSxvQkZZa0Q7UUVWaEQsb0JGVWdELEVzQlQ1RCxFQUFBO0VBekJBO0lwQnNCVSxtQkZZa0Q7SUVWaEQsc0JGVWdEO0lzQkw1RCwyQkFBQTtJQUNBLCtCQUFBLEVBQ0E7SWxCc0NJO01rQnJFSjtRcEJzQlUsbUJGWWtEO1FFVmhELHNCRlVnRCxFc0JINUQsRUFBQTtFQS9CQTtJcEJzQlUsbUJGWWtEO0lFVmhELHNCRlVnRDtJc0JDNUQsMkJBQUE7SUFDQSwrQkFBQSxFQUNBO0lsQmdDSTtNa0JyRUo7UXBCc0JVLG1CRllrRDtRRVZoRCxzQkZVZ0QsRXNCRzVELEVBQUE7RUFyQ0E7SUF3Q0Esc0JBQUE7SXBCbEJVLGdCRllrRDtJRVZoRCxzQkZVZ0Q7SXNCUTVELFlBQUEsRUFLQTtJbEJzQkk7TWtCckVKO1FwQnNCVSxnQkZZa0Q7UUVWaEQsc0JGVWdELEVzQmE1RCxFQUFBO0lBL0NBO01BNENBLFlBQUE7TXBCdEJVLGdCRllrRDtNRVZoRCxzQkZVZ0QsRXNCWTVEO01sQnVCSTtRa0JyRUo7VXBCc0JVLGdCRllrRDtVRVZoRCxzQkZVZ0QsRXNCWTVELEVBQUE7O0FDOUNBO0VyQnNCVSxnQkZZa0Q7RUVWaEQsc0JGVWdELEV1Qi9CNUQ7RW5Ca0VJO0ltQnJFSjtNckJzQlUsa0JGWWtEO01FVmhELHNCRlVnRCxFdUIvQjVELEVBQUE7O0FBSEE7RUFNQSxpQkFBQSxFQUNBOztBbkI4REk7RW1CckVKO0lBV0Esb0JuQnVCNkIsRW1CdEI3QixFQUFBOztBbkJ5REk7RW1CckVKO0lBaUJBLHNCbkJpQjZCLEVtQmhCN0IsRUFBQTs7QWxCd0dVO0VtQnRIVixrQ3ZCSmtDO0VDc0J4QixnQkZZa0Q7RUVWaEQsc0JGVWdEO0V3QjVCNUQsY0FBQSxFQUNBO0VwQjhESTtJQ3FETTtNSHBHQSxrQkZZa0Q7TUVWaEQsc0JGVWdELEV3QjNCNUQsRUFBQTs7QW5CbUhVO0VtQjdHVixjQUFBLEVBQ0E7O0FuQjRHVTtFbUJ6R1YsaUJBQUEsRUFDQTs7QW5Cd0dVO0VtQnJHVixpQkFBQSxFQUNBOztBbkJvR1U7RW1CaEdWLGlCcEJRNkIsRUMwRjFCO0VBRk87SW1COUZWLG9CQUFBLEVBQ0E7O0FuQjZGVTtFbUJ6RlYsaUJwQkM2QixFQzBGMUI7O0FBVFM7RW1COUVaLDBCckI0Rm9CO0VxQjNGcEIsY0FBQSxFbkIrRUs7O0FtQjFFTDtFQUVBLGdCQUFBLEVBOEJBO0VwQk5JO0lvQjFCSjtNQUlBLFdBQUE7TUFDQSxxQkFBQTtNQUFBLHFCQUFBO01BQUEsY0FBQSxFQTJCQTtNQWhDQTs7UUFTQSxvQkFBQTtZQUFBLFlBQUE7Z0JBQUEsVUFBQSxFQUNBO01BVkE7UUFZQSxjQUFBLEVB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QUE7VUFBQSx1QkFBQTtjQUFBLCtCQUFBO01BQ0EsYUFBQSxFQUlBO014QmtGWTtRd0JwRlosZ0JBQUEsRUFDQTtJeEJtRlk7TXdCaEZaLGVBQUE7TUFDQSwwQkFBQTtNQUNBLHlCN0JINEQ7TTZCSTVELGUxQnVGb0I7TTBCdEZwQixvQkFBQSxFQUNBO0V4QjJFWTtJd0J2RVosbUJBQUEsRXhCeUVLO0lBRk87TXdCcEVaLHNDQUFBO2NBQUEsOEJBQUEsRUFDQTtJeEJtRVk7TXdCOURaLGlCN0JuQjRELEU2Qm9CNUQ7SXhCNkRZO013QnpEWixlQUFBLEVBQ0E7SXpCVUk7TUM4Q1E7UXdCckRaLGFBQUEsRXhCdURLLEVBQUE7RUFGTztJd0JoRFosMEIxQjhEb0IsRUVaZjtJQUZPO013QjlDWixzQkFBQTtNQUNBLHFCQUFBO01BQUEscUJBQUE7TUFBQSxjQUFBO01BQ0EsMEJBQUE7VUFBQSx1QkFBQTtjQUFBLCtCQUFBO01BQ0EsMEJBQUE7VUFBQSwwQkFBQSxFQVNBO014QmtDWTtRd0J6Q1osZTFCOENrQixFMEJ4Q2xCO1F4Qm1DWTtVd0J2Q1osbUJBQUE7VUFDQSxnQkFBQTtVM0J2RFUsbUJGWWtEO1VFVmhELHNCRlVnRCxFNkI2QzVEO1V6QlZJO1lDOENRO2NIN0ZGLG1CRllrRDtjRVZoRCxzQkZVZ0QsRTZCNkM1RCxFQUFBO0l4Qm9DWTtNSDdGRixtQkZZa0Q7TUVWaEQsc0JGVWdELEU2QmtENUQ7TXpCZkk7UUM4Q1E7VUg3RkYsbUJGWWtEO1VFVmhELHNCRlVnRCxFNkJrRDVELEVBQUE7O0F4QitCWTtFd0J4QlosMEIxQnFDc0IsRUVYakI7RUFGTztJd0J0QlosZTFCNEJvQixFMEIzQnBCO0V4QnFCWTtJd0JqQlosc0IxQnNCa0IsRTBCbEJsQjtJeEJhWTtNd0JmWixlMUJvQmtCLEUwQm5CbEI7O0F4QmNZO0V3QlBaLGFBQUEsRXhCU0s7RUFGTztJd0JMWixlQUFBLEVBQ0E7RXhCSVk7SXdCRlosbUJBQUE7SUFDQSw0QzVCakhzRDtJNEJrSHRELGlCQUFBO0lBQ0EsdUI3QmxGNEQ7STZCbUY1RCxl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NEJBQUE7SUFBQSxvQkFBQSxFQUNBOztBdkNtR1U7RXdDdkhWLGVBQUE7RUFDQSxtQnpDOEI2QjtFeUM3QjdCLGUxQ2lJZ0I7RTBDaEloQiwwQjFDaUlnQjtFMENoSWhCLG1CQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQSxFQUlBO0V4QzRHVTtJd0M5R1YsYUFBQSxFQUNBOztBeEM2R1U7RXdDMUdWLHlCQUFBO01BQUEsc0JBQUE7VUFBQSx3QkFBQSxFQUNBOztBeEN5R1U7RXdDdkdWLGFBQUE7RUFDQSxZQUFBO0VBQ0EsdUJBQUE7S0FBQSxvQkFBQSxFQUNBOztBeEM2Rlk7RXdDdkZaLDhDMUNsQitCO0UwQ2tCL0Isc0MxQ2xCK0IsRTBDeUMvQjtFeENnRVk7SXdDckZaLGVBQUEsRUFDQTtFeENvRlk7SXdDbEZaLGVBQUEsRUFDQTtFeENpRlk7SXdDL0VaLGVBQUEsRUFDQTtFeEM4RVk7SXdDNUVaLGVBQUEsRUFDQTtFeEMyRVk7SXdDekVaLGVBQUEsRUFDQTtFeEN3RVk7SXdDdEVaLGVBQUEsRUFDQTtFeENxRVk7SXdDbkVaLGVBQUE7SUFDQSwyQkFBQSxFQUNBOztBeENpRVk7RXdDM0RaLGFBQUEsRUFDQTs7QUN2REE7RUFHQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLG9CMUMyQjZCO0UwQzFCN0Isa0JBQUEsRUFtQ0E7RUF6Q0E7O0lBVUEsZUFBQSxFQUNBO0VBWEE7O0k1Q29CVSxtQkZZa0Q7SUVWaEQsc0JGVWdELEU4Q2Q1RDtJMUNpREk7TTBDbkVKOztRNUNvQlUsbUJGWWtEO1FFVmhELHNCRlVnRCxFOENkNUQsRUFBQTtFQVlBO0k1Q1ZVLGtCRllrRDtJRVZoRCxzQkZVZ0QsRThDTTVEO0kxQzZCSTtNMENyQ0o7UTVDVlUsa0JGWWtEO1FFVmhELHNCRlVnRCxFOENNNUQsRUFBQTtFQVJBO0k1Q1ZVLGtCRllrRDtJRVZoRCxzQkZVZ0QsRThDTTVEO0kxQzZCSTtNMENyQ0o7UTVDVlUsa0JGWWtEO1FFVmhELHNCRlVnRCxFOENNNUQsRUFBQTs7QUFLQTtFQUNBLG1CQUFBLEVBZ0JBO0VBakJBO0k1Q3ZCVSxtQkZZa0Q7SUVWaEQsc0JGVWdEO0k4Q2dCNUQsbUJBQUE7SUFDQSxpQkFBQSxFQUNBO0kxQ2lCSTtNMEN4Qko7UTVDdkJVLG1CRllrRDtRRVZoRCxzQkZVZ0QsRThDa0I1RCxFQUFBO0VBUEE7STVDdkJVLG1CRllrRDtJRVZoRCxzQkZVZ0Q7SThDc0I1RCwwQkFBQSxFQUtBO0kxQ1FJO00wQ3hCSjtRNUN2QlUsb0JGWWtEO1FFVmhELGtCRlVnRCxFOEMyQjVELEVBQUE7STFDUUk7TTBDeEJKO1FBY0Esb0I5Q3pCNEQsRThDMkI1RCxFQUFBOztBQUdBO0VBQ0EsYzFDL0I2QjtFMENnQzdCLDBCQUFBLEVBY0E7RUFoQkE7STVDMUNVLGdCRllrRDtJRVZoRCxzQkZVZ0Q7SThDb0M1RCxlM0NtRG9CO0kyQ2xEcEIsNEM3Q3RFc0Q7STZDdUV0RCxrQkFBQSxFQUNBO0kxQ0pJO00wQ0xKO1E1QzFDVSxnQkZZa0Q7UUVWaEQsc0JGVWdELEU4Q3VDNUQsRUFBQTtFQVRBO0k1QzFDVSxtQkZZa0Q7SUVWaEQsc0JGVWdEO0k4QzJDNUQsNEM3QzVFc0Q7STZDNkV0RCxrQkFBQSxFQUNBO0kxQ1ZJO00wQ0xKO1E1QzFDVSxvQkZZa0Q7UUVWaEQscUJGVWdELEU4QzZDNUQsRUFBQTs7QUMvRUE7RUFDQSxzQjNDaUM2QixFMkN4QjdCO0VBVkE7SUFRQSxtQjNDMEI2QixFMkN6QjdCOztBQ1RBO0VBQ0Esc0I1Q2lDNkIsRTRDUjdCO0VBMUJBO0k5Q3NCVSxtQkZZa0Q7SUVWaEQsc0JGVWdEO0lnRDdCNUQsaUJBQUEsRUFDQTtJNUMrREk7TTRDckVKO1E5Q3NCVSxtQkZZa0Q7UUVWaEQsc0JGVWdELEVnRDVCNUQsRUFBQTtFQU5BO0lBYUEsaUJBQUEsRUFDQTtFQWRBO0lBaUJBLGVBQUE7SUFDQSxtQkFBQSxFQUNBO0VBbkJBO0lBdUJBLGVBQUEsRUFDQTs7QUN4QkE7RUFFQSxpQkFBQSxFQUNBOztBQ0hBO0VBR0EsbUJBQUEsRUFDQTs7QUFKQTtFQU9BLDBCQUFBO0VBQ0EsaUNBQUEsRUFvQ0E7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LEVBQ0E7O0FuRHZLSTtFbURtS0o7SUFRQSxvQkFBQTtRQUFBLG1CQUFBO1lBQUEsZUFBQSxFQUNBLEVBQUEiLCJmaWxlIjoiYmFzZS1wYXR0ZXJucy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG5ib2R5IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBib2R5IGlucHV0W3R5cGU9XCJlbWFpbFwiXSwgYm9keSBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sIGJvZHkgaW5wdXRbdHlwZT1cInRlbGVwaG9uZVwiXSxcbmJvZHkgc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogLjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvd1wiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgYm9yZGVyOiAycHggc29saWQgIzI1MjUyNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIGJvZHkgaW5wdXRbdHlwZT1cInRleHRcIl0sIGJvZHkgaW5wdXRbdHlwZT1cImVtYWlsXCJdLCBib2R5IGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgYm9keSBpbnB1dFt0eXBlPVwidGVsZXBob25lXCJdLFxuICAgIGJvZHkgc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1cmVtKSB7XG4gICAgYm9keSBpbnB1dFt0eXBlPVwidGV4dFwiXSwgYm9keSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGJvZHkgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLCBib2R5IGlucHV0W3R5cGU9XCJ0ZWxlcGhvbmVcIl0sXG4gICAgYm9keSBzZWxlY3Qge1xuICAgICAgbWF4LXdpZHRoOiAxOC43NXJlbTsgfSB9XG5cbmJvZHkgc2VsZWN0IHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFFQkFNQUFBQkI0MlBEQUFBQUQxQk1WRVVBQUFBME5EUXpNek16TXpQLy8vK2lzQ0ZrQUFBQUEzUlNUbE1BZ0lnaWxsZUhBQUFBQVdKTFIwUUVqMmpaVVFBQUFCeEpSRUZVQ0IxalVEWTJObUpnTkRZV1lHQVFObVJnWUdBVVlBQUFGSkVCaU41WlBDSUFBQUFBU1VWT1JLNUNZSUk9XCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAuNXJlbSkgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDhweCA0cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICBib2R5IHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG5ib2R5IGxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgYm9keSBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfSB9XG5cbmJvZHkgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5mb3JtLS1pbmxpbmUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAtLjVyZW07XG4gIG1hcmdpbi1yaWdodDogLS41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5mb3JtLS1pbmxpbmUgPiAqIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gIC5mb3JtLS1pbmxpbmUgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIG1heC13aWR0aDogMTUuNjI1cmVtOyB9XG4gIC5mb3JtLS1pbmxpbmUgbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5leHBvc2VkLWZpbHRlcnNfX2ZpbHRlci1sYWJlbCB7XG4gIG1pbi13aWR0aDogNi4yNXJlbTtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIC5leHBvc2VkLWZpbHRlcnNfX2ZpbHRlci1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH0gfVxuXG4uZXhwb3NlZC1maWx0ZXJzIC5jaGlwIHtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RiZTlmMztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFLQ0FNQUFBQzY3RCtQQUFBQVhWQk1WRVVBQUFBQUwxY0FNVllBTVZnQUwxWUFNVllBTUZnQU1GY0FMMVlBTVZnQU1WY0FNRmdBTDFjQUwxWUFNVmdBTUZjQU1GZ0FMMWNBTVZZQU1WY0FNVmdBTUZjQU1GY0FMMWNBTUZjQU1GY0FNRmNBTUZjQU1GY0FNRmYvLy8rNFlSaU1BQUFBSG5SU1RsTUFVbE5VVmxsYVcxeGRYbUJoWW1Oa1ptZG9hVzV2ME5mWStQbjYrLzB4dGhYbEFBQUFBV0pMUjBRZWNnb2dLd0FBQUVkSlJFRlVDQjBGd1FrQ1F6QUFBTEFVWTlpY0s5UFcvNzhwY1h5QTc2RXZFOHpsVFoxL3hGeERVMklzRGJEZTl3Sm9yK3NGN0NtRXRNR2VBbFhhNlBJQVErNzhSMkE4SDhBUUEyZXJSak55QUFBQUFFbEZUa1N1UW1DQ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMHB4IDEwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIC41cmVtKSA1MCU7XG4gIHBhZGRpbmc6IC41cmVtIDEuNXJlbSAuNXJlbSAuNXJlbTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgLmV4cG9zZWQtZmlsdGVycyAuY2hpcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfSB9XG4gIC5leHBvc2VkLWZpbHRlcnMgLmNoaXA6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMWM4Y2Y7IH1cblxuLmV4cG9zZWQtZmlsdGVycyAuZm9ybS1hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuZXhwb3NlZC1maWx0ZXJzIC5mb3JtLWFjdGlvbnMgPiAqIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuICAuZXhwb3NlZC1maWx0ZXJzIC5mb3JtLWFjdGlvbnMgaW5wdXQsIC5leHBvc2VkLWZpbHRlcnMgLmZvcm0tYWN0aW9ucyBidXR0b24ge1xuICAgIGhlaWdodDogMi42MjVyZW07IH1cbiAgLmV4cG9zZWQtZmlsdGVycyAuZm9ybS1hY3Rpb25zW2RhdGEtZHJ1cGFsLXNlbGVjdG9yPVwiZWRpdC1hY3Rpb25zXCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogbm9ybWFsO1xuICAgIGNvbHVtbi1nYXA6IDFyZW07XG4gICAgcm93LWdhcDogMC41cmVtOyB9XG4gICAgLmV4cG9zZWQtZmlsdGVycyAuZm9ybS1hY3Rpb25zW2RhdGEtZHJ1cGFsLXNlbGVjdG9yPVwiZWRpdC1hY3Rpb25zXCJdID4gKiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07IH1cblxuLmV4cG9zZWQtZmlsdGVycyBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxcmVtKSB7XG4gIC5leHBvc2VkLWZpbHRlcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG5cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBsYWJlbCwgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGxlZ2VuZCB7XG4gIGNvbG9yOiAjNEE0QTRBO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gbGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dCArIGxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gbGFiZWwgKyBpbnB1dCxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBsYWJlbCArIHNlbGVjdCxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBsYWJlbCB+IC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDAuMjVyZW07IH1cblxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBzZWxlY3QsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUsXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjQTZBNkE2O1xuICBoZWlnaHQ6IDIuNjI1cmVtOyB9XG5cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB0ZXh0YXJlYSB7XG4gIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjQTZBNkE2O1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtID4gKiArICoge1xuICBtYXJnaW4tdG9wOiAxLjc1cmVtOyB9XG5cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSA+IGZpZWxkc2V0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZvcm0tbmFtZS13cmFwcGVyLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5mb3JtLXByaW1hcnktcGhvbmUtd3JhcHBlcixcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuZm9ybS1zZWNvbmRhcnktcGhvbmUtd3JhcHBlcixcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAud2ViZm9ybS1hZGRyZXNzLS13cmFwcGVyIC5maWVsZHNldC13cmFwcGVyLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWVtYWlsLWNvbmZpcm0tLXdyYXBwZXIgLmZpZWxkc2V0LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHJvdy1nYXA6IDFyZW07XG4gIGNvbHVtbi1nYXA6IDJyZW07IH1cblxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5mb3JtLW5hbWUtd3JhcHBlciA+ICosXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZvcm0tcHJpbWFyeS1waG9uZS13cmFwcGVyID4gKixcbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuZm9ybS1zZWNvbmRhcnktcGhvbmUtd3JhcHBlciA+ICosXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLndlYmZvcm0tYWRkcmVzcy0td3JhcHBlciAuZmllbGRzZXQtd3JhcHBlciA+ICosXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLndlYmZvcm0tZW1haWwtY29uZmlybS0td3JhcHBlciAuZmllbGRzZXQtd3JhcHBlciA+ICoge1xuICBmbGV4LWJhc2lzOiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxcmVtKSB7XG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuZm9ybS1uYW1lLXdyYXBwZXIgPiAqID4gKixcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5mb3JtLXByaW1hcnktcGhvbmUtd3JhcHBlciA+ICogPiAqLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZvcm0tc2Vjb25kYXJ5LXBob25lLXdyYXBwZXIgPiAqID4gKixcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWFkZHJlc3MtLXdyYXBwZXIgLmZpZWxkc2V0LXdyYXBwZXIgPiAqID4gKixcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWVtYWlsLWNvbmZpcm0tLXdyYXBwZXIgLmZpZWxkc2V0LXdyYXBwZXIgPiAqID4gKiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMDAlOyB9XG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuZm9ybS1wcmltYXJ5LXBob25lLXdyYXBwZXIgPiAqLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLmZvcm0tc2Vjb25kYXJ5LXBob25lLXdyYXBwZXIgPiAqLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLndlYmZvcm0tYWRkcmVzcy0td3JhcHBlciAuZmllbGRzZXQtd3JhcHBlciA+IC5mb3JtLWl0ZW0tYWRkcmVzcy1hZGRyZXNzLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLndlYmZvcm0tYWRkcmVzcy0td3JhcHBlciAuZmllbGRzZXQtd3JhcHBlciA+IC5mb3JtLWl0ZW0tYWRkcmVzcy1hZGRyZXNzLTIsXG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAud2ViZm9ybS1lbWFpbC1jb25maXJtLS13cmFwcGVyIC5maWVsZHNldC13cmFwcGVyID4gKiB7XG4gICAgbWluLXdpZHRoOiBjYWxjKCgxMDAlIC0gMnJlbSkgLyAyKTtcbiAgICBtYXgtd2lkdGg6IGNhbGMoKDEwMCUgLSAycmVtKSAvIDIpOyB9XG4gIC53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuZm9ybS1uYW1lLXdyYXBwZXIgPiAqLFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLndlYmZvcm0tYWRkcmVzcy0td3JhcHBlciAuZmllbGRzZXQtd3JhcHBlciA+IC5mb3JtLWl0ZW0tYWRkcmVzcy1jaXR5LFxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gLndlYmZvcm0tYWRkcmVzcy0td3JhcHBlciAuZmllbGRzZXQtd3JhcHBlciA+IC5mb3JtLWl0ZW0tYWRkcmVzcy1zdGF0ZS1wcm92aW5jZSxcbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC53ZWJmb3JtLWFkZHJlc3MtLXdyYXBwZXIgLmZpZWxkc2V0LXdyYXBwZXIgPiAuZm9ybS1pdGVtLWFkZHJlc3MtcG9zdGFsLWNvZGUge1xuICAgIG1pbi13aWR0aDogY2FsYygoMTAwJSAtIDRyZW0pIC8gMyk7XG4gICAgbWF4LXdpZHRoOiBjYWxjKCgxMDAlIC0gNHJlbSkgLyAzKTsgfSB9XG5cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSAuanMtZm9ybS10eXBlLXJhZGlvLFxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5qcy1mb3JtLXR5cGUtY2hlY2tib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG5cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybS53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMS41cmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjQjJCMkIyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAwLjdyZW07XG4gICAgd2lkdGg6IDAuN3JlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7IH1cbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEMDAyMUI7IH1cblxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBib3JkZXI6IDJweCBzb2xpZCAjQjJCMkIyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjE1cmVtO1xuICAgIHdpZHRoOiAxLjE1cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICAgIG1hc2s6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0Nzdmcgdmlld0JveD0nMCAwIDIxIDE2JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBkPSdtMCA4LjgxMiAyLjMzMy0zLjAxNUw4LjQgMTAuOSAxOC4yIDAgMjEgMi41NSA4LjYzMyAxNiAwIDguODEyWicvJTNFJTNDL3N2ZyUzRVwiKSBuby1yZXBlYXQgNTAlIDUwJTsgfVxuICAud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0QwMDIxQjsgfVxuXG4vKiBnZXRzIHRoZSBgX2hlYWRlci5zY3NzYCBzdHlsZXMsIGFuZCB0aGVuIHRoaXMgZmlsZSBoYXMgYW55IG5lZWRlZCBzdXBwbGVtZW50cyBhbmQgb3ZlcnJpZGVzICovXG4uY29tbXVuaXR5LWhlYWRlci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxcmVtKSB7XG4gIC5zbGFiLmhlYWRlci5jb21tdW5pdHktaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfSB9XG5cbi5jb21tdW5pdHktYXJlYS1sYWJlbC1tb2JpbGUge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1mYW1pbHk6IEJhcmxvdyBDb25kZW5zZWQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwO1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgICAuY29tbXVuaXR5LWFyZWEtbGFiZWwtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzYwcHgpIHtcbiAgICAuY29tbXVuaXR5LWFyZWEtbGFiZWwtbW9iaWxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVyZW0pIHtcbiAgICAuY29tbXVuaXR5LWFyZWEtbGFiZWwtbW9iaWxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTsgfSB9XG5cbi5jb21tdW5pdHktaGVhZGVyIC5oZWFkZXJfX21haW4ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMXJlbTsgfVxuICAuY29tbXVuaXR5LWhlYWRlciAuaGVhZGVyX19tYWluIC5oZWFkZXJfX21haW4tbmF2IHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG5cbi5jb21tdW5pdHktaGVhZGVyIC5oZWFkZXJfX21haW4gLmdsb2JhbC1uYXZfX21lbnUgLm1lbnUtbGV2ZWwtMCA+IHVsID4gbGkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjRyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MXJlbSkge1xuICAgIC5jb21tdW5pdHktaGVhZGVyIC5oZWFkZXJfX21haW4gLmdsb2JhbC1uYXZfX21lbnUgLm1lbnUtbGV2ZWwtMCA+IHVsID4gbGkge1xuICAgICAgcGFkZGluZzogMCAuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxcmVtKSB7XG4gIC5jb21tdW5pdHktaGVhZGVyLW1lbnUtZXh0cmFzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmNvbW11bml0eS1oZWFkZXIgLmhlYWRlcl9fZHJvcGRvd24uaGVhZGVyX19kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBtYXJnaW46IC0xcmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG1heC1oZWlnaHQsIHBhZGRpbmctYm90dG9tO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuM3MsIC4xcztcbiAgdHJhbnNpdGlvbi1kZWxheTogMHMsIC4xcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5jb21tdW5pdHktaGVhZGVyIC5oZWFkZXJfX2Ryb3Bkb3duLmhlYWRlcl9fZHJvcGRvd24ub3BlbmVkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgMHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgICAuY29tbXVuaXR5LWhlYWRlciAuaGVhZGVyX19kcm9wZG93bi5oZWFkZXJfX2Ryb3Bkb3duIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH0gfVxuICAuY29tbXVuaXR5LWhlYWRlciAuaGVhZGVyX19kcm9wZG93bi5oZWFkZXJfX2Ryb3Bkb3duID4gcCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBmb250LWZhbWlseTogQmFybG93IENvbmRlbnNlZDtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgLyogMTAwJSAqL1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgICAgIC5jb21tdW5pdHktaGVhZGVyIC5oZWFkZXJfX2Ryb3Bkb3duLmhlYWRlcl9fZHJvcGRvd24gPiBwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uc2xhYi5jb21tdW5pdHktaGVhZGVyX190b3AtYmFyIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MXJlbSkge1xuICAgIC5zbGFiLmNvbW11bml0eS1oZWFkZXJfX3RvcC1iYXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuc2xhYi5jb21tdW5pdHktaGVhZGVyX190b3AtYmFyIC50b3AtYmFyLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMS41cmVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuc2xhYi5jb21tdW5pdHktaGVhZGVyX190b3AtYmFyIC50b3AtYmFyLWxpbmtzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAwLjc1cmVtOyB9XG4gICAgLnNsYWIuY29tbXVuaXR5LWhlYWRlcl9fdG9wLWJhciAudG9wLWJhci1saW5rcyBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5zbGFiLmNvbW11bml0eS1oZWFkZXJfX3RvcC1iYXIgLnRvcC1iYXItbGlua3MgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwLjNlbTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5RTlFOUU7IH1cbiAgICAuc2xhYi5jb21tdW5pdHktaGVhZGVyX190b3AtYmFyIC50b3AtYmFyLWxpbmtzIGEge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogYmxhY2s7IH1cbiAgICAgIC5zbGFiLmNvbW11bml0eS1oZWFkZXJfX3RvcC1iYXIgLnRvcC1iYXItbGlua3MgYTpob3ZlciwgLnNsYWIuY29tbXVuaXR5LWhlYWRlcl9fdG9wLWJhciAudG9wLWJhci1saW5rcyBhOmZvY3VzLXZpc2libGUge1xuICAgICAgICBjb2xvcjogI0QwMDIxQjsgfVxuICAuc2xhYi5jb21tdW5pdHktaGVhZGVyX190b3AtYmFyIC5wcm9maWxlLWxpbmtzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE0QTRBO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuMjVyZW07XG4gICAgcGFkZGluZzogMC4ycmVtIDFyZW0gMC4zcmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwLjc1cmVtOyB9XG4gICAgLnNsYWIuY29tbXVuaXR5LWhlYWRlcl9fdG9wLWJhciAucHJvZmlsZS1saW5rcyA+IDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5zbGFiLmNvbW11bml0eS1oZWFkZXJfX3RvcC1iYXIgLnByb2ZpbGUtbGlua3MgPiA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwLjNlbTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5RTlFOUU7IH1cbiAgICAgIC5zbGFiLmNvbW11bml0eS1oZWFkZXJfX3RvcC1iYXIgLnByb2ZpbGUtbGlua3MgPiA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5zbGFiLmNvbW11bml0eS1oZWFkZXJfX3RvcC1iYXIgLnByb2ZpbGUtbGlua3MgYSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLnNsYWIuY29tbXVuaXR5LWhlYWRlcl9fdG9wLWJhciAucHJvZmlsZS1saW5rcyBhOmhvdmVyLCAuc2xhYi5jb21tdW5pdHktaGVhZGVyX190b3AtYmFyIC5wcm9maWxlLWxpbmtzIGE6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGNvbG9yOiAjRjBGMEYwOyB9XG5cbi5jb21tdW5pdHktaGVhZGVyLW1lbnUtZXh0cmFzIHVsLmV4dHJhLWxpbmtzIHtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwLjc1cmVtOyB9XG4gIC5jb21tdW5pdHktaGVhZGVyLW1lbnUtZXh0cmFzIHVsLmV4dHJhLWxpbmtzIGEge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDAuNDM3NXJlbTtcbiAgICBjb2xvcjogIzRBNEE0QTsgfVxuICAgIC5jb21tdW5pdHktaGVhZGVyLW1lbnUtZXh0cmFzIHVsLmV4dHJhLWxpbmtzIGE6aG92ZXIsIC5jb21tdW5pdHktaGVhZGVyLW1lbnUtZXh0cmFzIHVsLmV4dHJhLWxpbmtzIGE6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBjb2xvcjogI0QwMDIxQjsgfVxuXG4uY29tbXVuaXR5LWhlYWRlci1tZW51LWV4dHJhcyAucHJvZmlsZS1saW5rcyB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE0QTRBO1xuICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjJyZW0gMXJlbSAwLjNyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMC43NXJlbTsgfVxuICAuY29tbXVuaXR5LWhlYWRlci1tZW51LWV4dHJhcyAucHJvZmlsZS1saW5rcyA+IDpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY29tbXVuaXR5LWhlYWRlci1tZW51LWV4dHJhcyAucHJvZmlsZS1saW5rcyA+IDpmaXJzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMC4zZW07XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOUU5RTlFOyB9XG4gICAgLmNvbW11bml0eS1oZWFkZXItbWVudS1leHRyYXMgLnByb2ZpbGUtbGlua3MgPiA6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5jb21tdW5pdHktaGVhZGVyLW1lbnUtZXh0cmFzIC5wcm9maWxlLWxpbmtzIGEge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogd2hpdGU7IH1cbiAgICAuY29tbXVuaXR5LWhlYWRlci1tZW51LWV4dHJhcyAucHJvZmlsZS1saW5rcyBhOmhvdmVyLCAuY29tbXVuaXR5LWhlYWRlci1tZW51LWV4dHJhcyAucHJvZmlsZS1saW5rcyBhOmZvY3VzLXZpc2libGUge1xuICAgICAgY29sb3I6ICNGMEYwRjA7IH1cblxuLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7XG4gIGNvbG9yOiAjREFEQURBOyB9XG4gIC5mb290ZXIgYSB7XG4gICAgY29sb3I6ICNEQURBREE7IH1cbiAgICAuZm9vdGVyIGE6aG92ZXIsIC5mb290ZXIgYTphY3RpdmUge1xuICAgICAgY29sb3I6ICNkMDAwMWI7IH1cbiAgLmZvb3Rlcl9fbWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgICAuZm9vdGVyX19tYWluID4gKiB7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuZm9vdGVyX19icmFuZGluZyB7XG4gICAgd2lkdGg6IDE1MXB4OyB9XG4gIC5mb290ZXJfX21lbnUge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbTsgfVxuICAgIC5mb290ZXJfX21lbnUgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmZvb3Rlcl9fbWVudSB1bCBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgcGFkZGluZzogMCAuNXJlbTsgfVxuICAgIC5mb290ZXJfX21lbnUgbGksIC5mb290ZXJfX21lbnUgYSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAgIC5mb290ZXJfX21lbnUgbGksIC5mb290ZXJfX21lbnUgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gICAgLmZvb3Rlcl9fbWVudSBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmZvb3Rlcl9fc29jaWFsIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5mb290ZXJfX3NvY2lhbCB1bCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1cmVtKSB7XG4gICAgICAuZm9vdGVyX19zb2NpYWwgdWwge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgICAuZm9vdGVyX19zb2NpYWwgdWwgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuZm9vdGVyX19zb2NpYWwgYSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAuZm9vdGVyX19zb2NpYWwgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgLmZvb3RlciAuZm9vdGVyX19zb2NpYWxfX2ludHJvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNTYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MXJlbSkge1xuICAgIC5mb290ZXJfX21haW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLmZvb3Rlcl9fbWFpbiA+ICoge1xuICAgICAgICBtYXJnaW46IDAgMDsgfVxuICAgIC5mb290ZXJfX3NvY2lhbCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAuZm9vdGVyX19zb2NpYWwgbGkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIC5mb290ZXIgLmZvb3Rlcl9fc29jaWFsX19pbnRybyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMTg3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cblxuLmZvb3Rlci1zdWIge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjUyNTtcbiAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmZvb3Rlci1zdWIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAuZm9vdGVyLXN1YiBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxcmVtKSB7XG4gICAgLmZvb3Rlci1zdWIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5zbGFiLmhlYWRlciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZDAwMDFiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbi5oZWFkZXJfX21haW4ge1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5oZWFkZXJfX21haW4gLmhlYWRlcl9fYnJhbmRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19icmFuZGluZyBhIHtcbiAgICAgIGZsZXg6IDAgMCA4LjkzNzVyZW07IH1cbiAgICAuaGVhZGVyX19tYWluIC5oZWFkZXJfX2JyYW5kaW5nIGltZywgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19icmFuZGluZyBzdmcge1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5oZWFkZXJfX21haW4gLmhlYWRlcl9fZHJvcGRvd24ge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC4zcyBlYXNlLWluOyB9XG4gICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93bi5vcGVuZWQge1xuICAgICAgbWF4LWhlaWdodDogNzAwcHg7IH1cbiAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19uYXYtb3BlbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5oZWFkZXJfX21haW4gLmhlYWRlcl9fbmF2LW9wZW4gLmNsb3NlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuaGVhZGVyX19tYWluIC5oZWFkZXJfX25hdi1vcGVuLm9wZW4gLmNsb3NlIHtcbiAgICAgIGRpc3BsYXk6IGluaGVyaXQ7IH1cbiAgICAuaGVhZGVyX19tYWluIC5oZWFkZXJfX25hdi1vcGVuLm9wZW4gLm9wZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyX19tYWluIC5oZWFkZXJfX21haW4tbmF2IHtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIC5oZWFkZXJfX21haW4gLmJhY2stdG8tYnV0dG9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgLmhlYWRlcl9fbWFpbi5oZWFkZXJfX21haW4tLXN0cmV0Y2hlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAuOTM3NXJlbSkge1xuICAgIC5oZWFkZXJfX21haW4gLmhlYWRlcl9fZHJvcGRvd24gLmdsb2JhbC1uYXZfX21lbnUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC44NzVyZW07IH1cbiAgICAgIC5oZWFkZXJfX21haW4gLmhlYWRlcl9fZHJvcGRvd24gLmdsb2JhbC1uYXZfX21lbnUgYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biAuZ2xvYmFsLW5hdl9fbWVudSB1bCBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5oZWFkZXJfX21haW4gLmhlYWRlcl9fZHJvcGRvd24gLmdsb2JhbC1uYXZfX21lbnUgLm9wZW4tY2hpbGRyZW4ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IC40cmVtOyB9XG4gICAgICAgIC5oZWFkZXJfX21haW4gLmhlYWRlcl9fZHJvcGRvd24gLmdsb2JhbC1uYXZfX21lbnUgLm9wZW4tY2hpbGRyZW4gLmNsb3NlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5oZWFkZXJfX21haW4gLmhlYWRlcl9fZHJvcGRvd24gLmdsb2JhbC1uYXZfX21lbnUgLm9wZW4tY2hpbGRyZW4ub3BlbiAuY2xvc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7IH1cbiAgICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biAuZ2xvYmFsLW5hdl9fbWVudSAub3Blbi1jaGlsZHJlbi5vcGVuIC5vcGVuIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuaGVhZGVyX19tYWluIC5oZWFkZXJfX2Ryb3Bkb3duIC5nbG9iYWwtbmF2X19tZW51IC5tZW51LWxldmVsLTAgPiB1bCA+IGxpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDM0MzQzM7IH1cbiAgICAgIC5oZWFkZXJfX21haW4gLmhlYWRlcl9fZHJvcGRvd24gLmdsb2JhbC1uYXZfX21lbnUgLm1lbnUtbGV2ZWwtMSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICAgICAgICAuaGVhZGVyX19tYWluIC5oZWFkZXJfX2Ryb3Bkb3duIC5nbG9iYWwtbmF2X19tZW51IC5tZW51LWxldmVsLTEgLm9wZW4tY2hpbGRyZW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biAuZ2xvYmFsLW5hdl9fbWVudSAubWVudS1sZXZlbC0xLm9wZW5lZCB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNzAwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTAuMzEyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEYwRjA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNDM0MzQzM7IH1cbiAgICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biAuZ2xvYmFsLW5hdl9fbWVudSAubWVudS1sZXZlbC0xIC5pcy1hY3RpdmUgLm1lbnUtbGV2ZWwtMiB7XG4gICAgICAgICAgZGlzcGxheTogaW5oZXJpdDsgfVxuICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biAuZ2xvYmFsLW5hdl9fbWVudSAubWVudS1sZXZlbC0yIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuaGVhZGVyX19tYWluIC5oZWFkZXJfX2Ryb3Bkb3duIC5nbG9iYWwtbmF2X19tZW51IC5tZW51LWxldmVsLTMgbGk6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICfigJQgJzsgfVxuICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biAuZ2xvYmFsLW5hdl9fbWVudSAubWVudS1sZXZlbC0zIGxpLCAuaGVhZGVyX19tYWluIC5oZWFkZXJfX2Ryb3Bkb3duIC5nbG9iYWwtbmF2X19tZW51IC5tZW51LWxldmVsLTMgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwLjkzNzVyZW0pIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biAuZ2xvYmFsLW5hdl9fbWVudSAubWVudS1sZXZlbC0zIGxpLCAuaGVhZGVyX19tYWluIC5oZWFkZXJfX2Ryb3Bkb3duIC5nbG9iYWwtbmF2X19tZW51IC5tZW51LWxldmVsLTMgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNXJlbSkge1xuICAgIC5oZWFkZXJfX21haW4gLmdsb2JhbC1uYXZfX21lbnUgLm1lbnUtbGV2ZWwtMCA+IHVsID4gbGkge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxcmVtKSB7XG4gICAgLmhlYWRlcl9fbWFpbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgICAuaGVhZGVyX19tYWluIC5oZWFkZXJfX2JyYW5kaW5nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMSAxMi42MjVyZW07IH1cbiAgICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19icmFuZGluZyBpbWcsIC5oZWFkZXJfX21haW4gLmhlYWRlcl9fYnJhbmRpbmcgc3ZnIHtcbiAgICAgICAgICBoZWlnaHQ6IDQuNXJlbTtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biAuaGVhZGVyX19tYWluLW5hdiB7XG4gICAgICAgICAgZmxleDogMSAxIGF1dG87IH1cbiAgICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biAuaGVhZGVyX191dGlsaXR5IHtcbiAgICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19uYXYtb3BlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5oZWFkZXJfX21haW4gLmdsb2JhbC1uYXZfX21lbnUgLm1lbnUtbGV2ZWwtMCA+IHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAwIC41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAuaGVhZGVyX19tYWluIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAwLjkzNzVyZW0gMDsgfVxuICAgICAgLmhlYWRlcl9fbWFpbiAuaGVhZGVyX19kcm9wZG93biB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtOyB9IH1cblxuLmdsb2JhbC1uYXYgYSwgLmdsb2JhbC1uYXYgYnV0dG9uIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMxNTE1MTU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAuZ2xvYmFsLW5hdiBhLCAuZ2xvYmFsLW5hdiBidXR0b24ge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9IH1cbiAgLmdsb2JhbC1uYXYgYTpob3ZlciwgLmdsb2JhbC1uYXYgYTphY3RpdmUsIC5nbG9iYWwtbmF2IGJ1dHRvbjpob3ZlciwgLmdsb2JhbC1uYXYgYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICNkMDAwMWI7IH1cblxuLmdsb2JhbC1uYXZfX21lbnUgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgLmdsb2JhbC1uYXYgLmRyb3Bkb3duIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmdsb2JhbC1uYXYgLmRyb3Bkb3duOjphZnRlciB7XG4gICAgICBmb250LWZhbWlseTogXCJpY29uZm9udFwiO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgY29udGVudDogXCLuqIdcIjtcbiAgICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlLWluO1xuICAgICAgcGFkZGluZzogMCAxZW07IH1cbiAgICAuZ2xvYmFsLW5hdiAuZHJvcGRvd24ub3Blbjo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgLmdsb2JhbC1uYXYgLm9wZW4tY2hpbGRyZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmdsb2JhbC1uYXYgLnJlYWwtcGFnZSAuc3VibWVudSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZ2xvYmFsLW5hdl9fbWVudSB7XG4gICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuICAgIC5nbG9iYWwtbmF2X19tZW51IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIC5nbG9iYWwtbmF2X19tZW51IHVsIGxpIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuODVyZW07IH1cbiAgICAuZ2xvYmFsLW5hdl9fbWVudSAubWVudS1sZXZlbC0wID4gdWwgPiBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAuM3M7IH1cbiAgICAgIC5nbG9iYWwtbmF2X19tZW51IC5tZW51LWxldmVsLTAgPiB1bCA+IGxpLmNoaWxkcmVuLW9wZW4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMTJweCAxMnB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjgpO1xuICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwczsgfVxuICAgIC5nbG9iYWwtbmF2X19tZW51IC5tZW51LWxldmVsLTEge1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZS1pbjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTUuNjI1cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAxMnB4IDEycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yOCk7XG4gICAgICB6LWluZGV4OiA5OTsgfVxuICAgICAgLmdsb2JhbC1uYXZfX21lbnUgLm1lbnUtbGV2ZWwtMSA+IHVsIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDAuNjI1cmVtIDEuMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuZ2xvYmFsLW5hdl9fbWVudSAubWVudS1sZXZlbC0xLm9wZW5lZCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwMHB4OyB9XG4gICAgLmdsb2JhbC1uYXZfX21lbnUgLm1lbnUtbGV2ZWwtMiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgLmdsb2JhbC1uYXYgYSwgLmdsb2JhbC1uYXYgYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIC5nbG9iYWwtbmF2IGEsIC5nbG9iYWwtbmF2IGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH0gfVxuXG4udXRpbGl0eS1uYXYgYSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNEE0QTRBO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtOyB9XG4gIC51dGlsaXR5LW5hdiBhOmhvdmVyLCAudXRpbGl0eS1uYXYgYTphY3RpdmUge1xuICAgIGNvbG9yOiAjZDAwMDFiOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgLnV0aWxpdHktbmF2IGEge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH0gfVxuXG4udXRpbGl0eS1uYXZfX21lbnUgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmhlYWRlcl9fZHJvcGRvd24ub3BlbmVkIC51dGlsaXR5LW5hdiAudXRpbGl0eS1uYXZfX21lbnUge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgLnV0aWxpdHktbmF2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAudXRpbGl0eS1uYXYgYSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxcmVtKSBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgIC51dGlsaXR5LW5hdiBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MXJlbSkge1xuICAgIC51dGlsaXR5LW5hdl9fbWVudSB7XG4gICAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMDsgfVxuICAgICAgLnV0aWxpdHktbmF2X19tZW51IHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAudXRpbGl0eS1uYXZfX21lbnUgdWwgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDAgLjI1cmVtO1xuICAgICAgICAgIGNvbnRlbnQ6ICd8JzsgfSB9XG5cbi5zaXRlLXNlYXJjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnNpdGUtc2VhcmNoICNzZWFyY2hfcSB7XG4gICAgaGVpZ2h0OiAyLjc1cmVtO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJFQkVCO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDRweCk7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5zaXRlLXNlYXJjaCBidXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5zaXRlLXNlYXJjaCBidXR0b246OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG9wYWNpdHk6IC41O1xuICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbiAgLm92ZXJsYXkgZGl2LCAub3ZlcmxheSBwaWN0dXJlIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm92ZXJsYXkgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb250YWluJztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAub3ZlcmxheS5vdmVybGF5LS1saW5lLWFydCB7XG4gICAgb3BhY2l0eTogLjI7IH1cbiAgICAub3ZlcmxheS5vdmVybGF5LS1saW5lLWFydCBpbWcge1xuICAgICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiB0b3AgY2VudGVyJztcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGNlbnRlcjsgfVxuICAub3ZlcmxheS5vdmVybGF5LS1saW5lLWFydC0tY29udGFpbiB7XG4gICAgb3BhY2l0eTogLjI7IH1cbiAgICAub3ZlcmxheS5vdmVybGF5LS1saW5lLWFydC0tY29udGFpbiBpbWcge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDRyZW0pO1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0cmVtKTtcbiAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvbnRhaW47IG9iamVjdC1wb3NpdGlvbjogY2VudGVyJztcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG4gICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNXJlbSkge1xuICAgIC5vdmVybGF5IHtcbiAgICAgIGRpc3BsYXk6IGluaGVyaXQ7IH0gfVxuXG5vbC5jbGVhbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBvbC5jbGVhbiBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgdGV4dC1pbmRlbnQ6IDA7IH1cbiAgICBvbC5jbGVhbiBsaTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxub2wuc3R5bGVkLWNvdW50ZXIge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgY291bnRlci1yZXNldDogYmFzZS1jb3VudGVyOyB9XG4gIG9sLnN0eWxlZC1jb3VudGVyID4gbGkge1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBiYXNlLWNvdW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAyLjNlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBvbC5zdHlsZWQtY291bnRlciA+IGxpOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDJlbTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgY29udGVudDogY291bnRlcihiYXNlLWNvdW50ZXIpIFwiKVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBsZWZ0OiAwOyB9XG5cbnVsLmNsZWFuLCB1bC5zZXJpZXMsIHVsLnBpcGVkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIHVsLmNsZWFuIGxpLCB1bC5zZXJpZXMgbGksIHVsLnBpcGVkIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB0ZXh0LWluZGVudDogMDsgfVxuICAgIHVsLmNsZWFuIGxpOjpiZWZvcmUsIHVsLnNlcmllcyBsaTo6YmVmb3JlLCB1bC5waXBlZCBsaTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxudWwuY2xlYW4gdWwge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG51bC5zZXJpZXMgbGksIHVsLnBpcGVkIGxpLCB1bC5pbmxpbmUgbGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxudWwuc2VyaWVzIGxpOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcsICc7IH1cblxudWwuc2VyaWVzIGxpOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgY29udGVudDogJyc7IH1cblxudWwucGlwZWQgbGk6OmFmdGVyIHtcbiAgY29udGVudDogJyB8ICc7IH1cblxudWwucGlwZWQgbGk6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICBjb250ZW50OiAnJzsgfVxuXG51bC5hcnJvdyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDIuM2VtO1xuICB0ZXh0LWluZGVudDogMDsgfVxuICB1bC5hcnJvdzpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIHVsLmFycm93IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgdWwuYXJyb3cgbGk6OmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJCYXJsb3dcIiwgc2Fucy1zZXJpZjtcbiAgICAgIGNvbnRlbnQ6ICfin7YnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTIuM2VtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDIuM2VtO1xuICAgICAgY29sb3I6ICMyODVkNzY7IH1cblxudWwuZ3JpZCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgdWwuZ3JpZCBsaSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuXG51bC5wYWRkZWQgbGkge1xuICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cblxudWwuY2hlY2tib3hlcyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cbiAgdWwuY2hlY2tib3hlcyBsaSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIHVsLmNoZWNrYm94ZXMgbGk6OmJlZm9yZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiaWNvbmZvbnRcIjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTsgfVxuICAgIHVsLmNoZWNrYm94ZXMgbGkuY2hlY2tlZDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qiOXCI7IH1cbiAgICB1bC5jaGVja2JveGVzIGxpLnVuY2hlY2tlZDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qiPXCI7IH1cbiAgdWwuY2hlY2tib3hlcy5pbmxpbmUgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuXG51bC5jZW50ZXJlZCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG51bFtkYXRhLXRhYmJ5LXRhYnNdIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDFyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgZm9udC1zaXplOiAxLjVyZW07IH1cbiAgdWxbZGF0YS10YWJieS10YWJzXSBbYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBibGFjazsgfVxuXG4uY29tbXVuaXR5LXBhZ2UtdGFicyB1bFtkYXRhLXRhYmJ5LXRhYnNdIHtcbiAgZ2FwOiAwcmVtO1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2QwMDAxYjtcbiAgbWF4LXdpZHRoOiBtYXgtY29udGVudDsgfVxuICAuY29tbXVuaXR5LXBhZ2UtdGFicyB1bFtkYXRhLXRhYmJ5LXRhYnNdIGxpIHtcbiAgICBmb250LXNpemU6IC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgICAuY29tbXVuaXR5LXBhZ2UtdGFicyB1bFtkYXRhLXRhYmJ5LXRhYnNdIGxpIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWF4LXdpZHRoOiA4cmVtO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzRBNEE0QTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzRBNEE0QTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNvbW11bml0eS1wYWdlLXRhYnMgdWxbZGF0YS10YWJieS10YWJzXSBsaSBhW2FyaWEtc2VsZWN0ZWQ9dHJ1ZV0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAwMDFiOyB9XG4gICAgICAgIC5jb21tdW5pdHktcGFnZS10YWJzIHVsW2RhdGEtdGFiYnktdGFic10gbGkgYVthcmlhLXNlbGVjdGVkPXRydWVdOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMC41cmVtO1xuICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTMuNzVyZW0pIHtcbiAgICAuY29tbXVuaXR5LXBhZ2UtdGFicyB1bFtkYXRhLXRhYmJ5LXRhYnNdIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgICAgLmNvbW11bml0eS1wYWdlLXRhYnMgdWxbZGF0YS10YWJieS10YWJzXSBsaSBhIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzRBNEE0QTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0QTRBNEE7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH0gfVxuXG5bcm9sZT10YWJwYW5lbF1baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuZGwgZHQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogNTAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgZGwgZHQge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9IH1cblxuZGwgZGQge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG5kbC5pbnZpc2libGUtbGFiZWxzIGR0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgZGwuaW52aXNpYmxlLWxhYmVscyBkdDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICc6ICc7IH1cblxuZGwuaW52aXNpYmxlLWxhYmVscyBkZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkYmU5ZjM7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbWFyZ2luOiAxcmVtO1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG5cbmJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvd1wiLCBzYW5zLXNlcmlmO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uYnV0dG9uIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gIGJhY2tncm91bmQ6ICNkMDAwMWI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgLjVyZW0gMCAwO1xuICBwYWRkaW5nOiAwLjVyZW0gMS41cmVtO1xuICB0cmFuc2l0aW9uOiAuMnMgZWFzZS1pbi1vdXQ7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBmb250LWZhbWlseTogXCJCYXJsb3cgQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgLmJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07IH0gfVxuICAuYnV0dG9uLmJ1dHRvbi0tbXV0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTkzLCAyMDAsIDIwNywgMC4zKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTkzLCAyMDAsIDIwNywgMC4zKTtcbiAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1tdXRlZC5idXR0b24tLWFycm93OjphZnRlciB7XG4gICAgICBjb2xvcjogI2QwMDAxYjsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1tdXRlZDpob3Zlci5idXR0b24tLWFycm93OjphZnRlciwgLmJ1dHRvbi5idXR0b24tLW11dGVkOmFjdGl2ZS5idXR0b24tLWFycm93OjphZnRlciwgLmJ1dHRvbi5idXR0b24tLW11dGVkOmZvY3VzLmJ1dHRvbi0tYXJyb3c6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5idXR0b24uYnV0dG9uLS1zbWFsbCB7XG4gICAgcGFkZGluZzogMC4wNjI1cmVtIDAuMzEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LWZhbWlseTogXCJCYXJsb3dcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAuYnV0dG9uLmJ1dHRvbi0tc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtOyB9IH1cbiAgICAuYnV0dG9uLmJ1dHRvbi0tc21hbGwuYnV0dG9uLS1hcnJvdzo6YWZ0ZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtOyB9XG4gIC5idXR0b24uYnV0dG9uLS1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMS44MTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgIC5idXR0b24uYnV0dG9uLS1sYXJnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgLmJ1dHRvbi5idXR0b24tLWFycm93OjphZnRlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbmZvbnRcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gICAgY29udGVudDogXCLuqIRcIjtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAuYnV0dG9uLmJ1dHRvbi0tYXJyb3c6OmFmdGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07IH0gfVxuICAuYnV0dG9uLmJ1dHRvbi0tZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMC44MTI1cmVtIDEuODEyNXJlbTsgfVxuICAgIC5idXR0b24uYnV0dG9uLS1leHBhbmRlZC5idXR0b24tLWFycm93IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07IH1cbiAgICAgIC5idXR0b24uYnV0dG9uLS1leHBhbmRlZC5idXR0b24tLWFycm93OjphZnRlciB7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAuYnV0dG9uIC52aWRlby1idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmJ1dHRvbiAudmlkZW8tYnV0dG9uIC52aWRlby1idXR0b25fX3BhdXNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmJ1dHRvbiAudmlkZW8tYnV0dG9uIC52aWRlby1idXR0b25fX3BsYXkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5idXR0b24gLnZpZGVvLWJ1dHRvbi52aWRlby1idXR0b24tLXBhdXNlZCAudmlkZW8tYnV0dG9uX19wYXVzZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJ1dHRvbiAudmlkZW8tYnV0dG9uLnZpZGVvLWJ1dHRvbi0tcGF1c2VkIC52aWRlby1idXR0b25fX3BsYXkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuY2l0ZSAuZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgY2l0ZSAuZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH0gfVxuXG4uaWNvbl9fZ2x5cGgge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxZW07XG4gIGhlaWdodDogMWVtOyB9XG5cbi5pY29uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gIC5pY29uIC5pY29uX19nbHlwaCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAuNTVlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgLmljb24gLmljb25fX2xhYmVsIHtcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyB9XG5cbi5pY29uLS1hZnRlciB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAuaWNvbi0tYWZ0ZXIgLmljb25fX2dseXBoIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLmljb24tLW5vLWxhYmVsIC5pY29uX19sYWJlbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmljb24tLW5vLWxhYmVsIC5pY29uX19nbHlwaCB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uaWNvbi0tc3RhY2tlZCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7IH1cbiAgLmljb24tLXN0YWNrZWQgLmljb25fX2dseXBoIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgZm9udC1zaXplOiAyLjVlbTsgfVxuXG4uaWNvbi0tYmlnIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIC5pY29uLS1iaWcge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07IH0gfVxuICAuaWNvbi0tYmlnIC5pY29uX19nbHlwaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMmVtOyB9XG4gIGJ1dHRvbiAuaWNvbi0tYmlnIC5pY29uX19sYWJlbCxcbiAgLmJ1dHRvbiAuaWNvbi0tYmlnIC5pY29uX19sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5hbGlnbi1pY29ucyAuaWNvbi1sYWJlbCAuaWMge1xuICB3aWR0aDogMWVtOyB9XG5cbi5hbGlnbi1pY29ucyAuaWNvbi1sYWJlbCAubGFiZWwge1xuICBtYXJnaW4tbGVmdDogLjVlbTsgfVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjJzIGVhc2UtaW4tb3V0O1xuICBmb250LXdlaWdodDogNjAwOyB9XG4gIGEuYnV0dG9uIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4uZmFuY3ktbGlua3MgYSxcbmEubGluay0tZmFuY3ksXG4ubGluay0tYXJyb3csXG4uYXJyb3ctbGlua3MgYSxcbmEuYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4ubGluay0tZmFuY3ksXG4uZmFuY3ktbGlua3MgYSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICBjb2xvcjogI2QwMDAxYjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjJzIGVhc2UtaW4tb3V0LCAgbWFyZ2luLXJpZ2h0IC4ycyBlYXNlLWluLW91dCwgIHBhZGRpbmctbGVmdCAuMnMgZWFzZS1pbi1vdXQsIHRleHQtaW5kZW50IC4ycyBlYXNlLWluLW91dDtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICB0ZXh0LWluZGVudDogLTE2cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIC5saW5rLS1mYW5jeSxcbiAgICAuZmFuY3ktbGlua3MgYSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH0gfVxuICAubGluay0tZmFuY3k6aG92ZXIsIC5saW5rLS1mYW5jeTphY3RpdmUsXG4gIC5mYW5jeS1saW5rcyBhOmhvdmVyLFxuICAuZmFuY3ktbGlua3MgYTphY3RpdmUge1xuICAgIGNvbG9yOiAjMjg1ZDc2OyB9XG4gIC5saW5rLS1mYW5jeTo6YmVmb3JlLFxuICAuZmFuY3ktbGlua3MgYTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvdHRvbTogLTFweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICB3aWR0aDogMTBweDtcbiAgICBoZWlnaHQ6IC43ZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NWQ3NjtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMGRlZyk7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2UtaW4tb3V0LCBtYXJnaW4tbGVmdCAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmxpbmstLWZhbmN5OmhvdmVyLCAubGluay0tZmFuY3k6YWN0aXZlLFxuICAuZmFuY3ktbGlua3MgYTpob3ZlcixcbiAgLmZhbmN5LWxpbmtzIGE6YWN0aXZlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xuICAgIHRleHQtaW5kZW50OiAtMjZweDsgfVxuICAgIC5saW5rLS1mYW5jeTpob3Zlcjo6YmVmb3JlLCAubGluay0tZmFuY3k6YWN0aXZlOjpiZWZvcmUsXG4gICAgLmZhbmN5LWxpbmtzIGE6aG92ZXI6OmJlZm9yZSxcbiAgICAuZmFuY3ktbGlua3MgYTphY3RpdmU6OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5saW5rLS1hcnJvdyxcbi5hcnJvdy1saW5rcyBhIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1pbmRlbnQ6IC0xLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgLmxpbmstLWFycm93LFxuICAgIC5hcnJvdy1saW5rcyBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gIC5saW5rLS1hcnJvdzo6YmVmb3JlLFxuICAuYXJyb3ctbGlua3MgYTo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbmZvbnRcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGNvbnRlbnQ6IFwi7qiEXCI7XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1pbmRlbnQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgLmxpbmstLWFycm93OjpiZWZvcmUsXG4gICAgICAuYXJyb3ctbGlua3MgYTo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfSB9XG5cbi5iaWctaWNvbiAuaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5iaWctaWNvbiAuaWNvbl9fZ2x5cGgsIC5iaWctaWNvbiBzdmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHdpZHRoOiBhdXRvO1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cblxuLmVkaXRvcmlhbCAubGluay0tZmFuY3ksXG4uZWRpdG9yaWFsIC5saW5rLS1mYW5jeS1yZXZlcnNlIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAuZWRpdG9yaWFsIC5saW5rLS1mYW5jeSxcbiAgICAuZWRpdG9yaWFsIC5saW5rLS1mYW5jeS1yZXZlcnNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMy4zNzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdyBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMy4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogNHJlbTsgfSB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMi44NzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdyBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjM3NXJlbTsgfSB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMi42MjVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdyBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjM3NXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93IENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgaDQge1xuICAgICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjc1cmVtOyB9IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtO1xuICBmb250LWZhbWlseTogXCJCYXJsb3cgQ29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTsgfSB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIkJhcmxvdyBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIGg2IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAyLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMi44NzVyZW07XG4gIG1hcmdpbjogMXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiAyLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMzc1cmVtOyB9IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtO1xuICBtYXJnaW46IDFyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtOyB9IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgbWFyZ2luOiAxcmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICBoNCB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH0gfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICBtYXJnaW46IDFyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfSB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gIG1hcmdpbjogMXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgaDYge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9IH1cblxuaDEge1xuICBtYXJnaW46IDA7IH1cbiAgaDEgKyAuc2xhYiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuXG4uaDMtbG9vayB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMi4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAuaDMtbG9vayB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTsgfSB9XG5cbnAge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9IH1cblxucC5pbnRybyxcbi5pbnRybyBwIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIHAuaW50cm8sXG4gICAgLmludHJvIHAge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07IH0gfVxuXG4uc2VwOjpiZWZvcmUge1xuICBjb250ZW50OiAn4oCiJzsgfVxuXG4uc2VwLS1kYXNoOjpiZWZvcmUge1xuICBjb250ZW50OiAnLSc7IH1cblxuLnNlcC0tcGlwZTo6YmVmb3JlIHtcbiAgY29udGVudDogJ3wnOyB9XG5cbi5jb250YWN0LWluZm8ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jb250YWN0LWluZm8gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb250YWluOyBvYmplY3QtcG9zaXRpb246IGNlbnRlcic7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjsgfVxuICAuY29udGFjdC1pbmZvIC5jb250YWN0LWluZm9fX3Bob3RvIHtcbiAgICB3aWR0aDogNi4yNXJlbTtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1pbmZvX192YWx1ZS0tbmFtZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAuY29udGFjdC1pbmZvIC5jb250YWN0LWluZm9fX3ZhbHVlLS1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH0gfVxuICAuY29udGFjdC1pbmZvIC5jb250YWN0LWluZm9fX3ZhbHVlLS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaW5mb19fdmFsdWUtLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfSB9XG4gIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaW5mb19fdmFsdWUtLXBob25lIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAuY29udGFjdC1pbmZvIC5jb250YWN0LWluZm9fX3ZhbHVlLS1waG9uZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1pbmZvX192YWx1ZS0tZW1haWwge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaW5mb19fdmFsdWUtLWVtYWlsIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH0gfVxuICAuY29udGFjdC1pbmZvIC5jb250YWN0LWluZm9fX2xhYmVsLS1mYXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgIC5jb250YWN0LWluZm8gLmNvbnRhY3QtaW5mb19fbGFiZWwtLWZheCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9IH1cbiAgICAuY29udGFjdC1pbmZvIC5jb250YWN0LWluZm9fX2xhYmVsLS1mYXggKyBkZCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgICAgLmNvbnRhY3QtaW5mbyAuY29udGFjdC1pbmZvX19sYWJlbC0tZmF4ICsgZGQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS42MjVyZW07IH0gfVxuXG4uY3RhIGgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMi42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAuY3RhIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuLmN0YSAuZWRpdG9yaWFsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNXJlbSkge1xuICAuY3RhIC5lZGl0b3JpYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MXJlbSkge1xuICAuY3RhIC5lZGl0b3JpYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfSB9XG5cbi5mZWF0dXJlX19oZWFkZXIgaDIge1xuICBmb250LWZhbWlseTogXCJCYXJsb3dcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAycmVtO1xuICBsaW5lLWhlaWdodDogMi42MjVyZW07XG4gIG1hcmdpbi10b3A6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAuZmVhdHVyZV9faGVhZGVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuLmZlYXR1cmVfX2NvbnRlbnQgcDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmZlYXR1cmVfX2NvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmVhdHVyZV9fY29udGVudCAuaW5uZXItbGlzdHMgdWwgbGk6bGFzdC1jaGlsZCwgLmZlYXR1cmVfX2NvbnRlbnQgLmlubmVyLWxpc3RzIG9sIGxpOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mZWF0dXJlX19hY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAuZmVhdHVyZV9fYWN0aW9ucyAuYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmZlYXR1cmVfX21lZGlhIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4uZmVhdHVyZS0tbWVkaWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwO1xuICBwYWRkaW5nOiAxcmVtOyB9XG5cbi5jb2xsZWN0aW9uLWl0ZW1zLS1zaW5nbGUgLmZlYXR1cmUuZmVhdHVyZS0tbWVkaWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVyZW0pIHtcbiAgICAuY29sbGVjdGlvbi1pdGVtcy0tc2luZ2xlIC5mZWF0dXJlLmZlYXR1cmUtLW1lZGlhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuY29sbGVjdGlvbi1pdGVtcy0tc2luZ2xlIC5mZWF0dXJlLmZlYXR1cmUtLW1lZGlhIC5mZWF0dXJlX190ZXh0LFxuICAgICAgLmNvbGxlY3Rpb24taXRlbXMtLXNpbmdsZSAuZmVhdHVyZS5mZWF0dXJlLS1tZWRpYSAuZmVhdHVyZV9fbWVkaWEge1xuICAgICAgICBmbGV4OiAxOyB9XG4gICAgICAuY29sbGVjdGlvbi1pdGVtcy0tc2luZ2xlIC5mZWF0dXJlLmZlYXR1cmUtLW1lZGlhIC5mZWF0dXJlX19tZWRpYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbXMtLXNpbmdsZSAuZmVhdHVyZS5mZWF0dXJlLS1tZWRpYSAuZmVhdHVyZV9fbWVkaWEgKiB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW1zLS1zaW5nbGUgLmZlYXR1cmUuZmVhdHVyZS0tbWVkaWEgLmZlYXR1cmVfX21lZGlhIGltZyB7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5jb2xsZWN0aW9uLWl0ZW1zLS1zaW5nbGUgLmZlYXR1cmUuZmVhdHVyZS0tbWVkaWEgLmZlYXR1cmVfX3RleHQge1xuICAgICAgICBwYWRkaW5nOiAycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgICAuY29sbGVjdGlvbi1pdGVtcy0tc2luZ2xlIC5mZWF0dXJlLmZlYXR1cmUtLW1lZGlhIC5mZWF0dXJlX190ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDMuNzVyZW0gNi41NjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVyZW0pIHtcbiAgLmNvbGxlY3Rpb24taXRlbXMtLXNpbmdsZS5zbGFiLS1mbGlwLWZlYXR1cmUgLmZlYXR1cmUuZmVhdHVyZS0tbWVkaWEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfSB9XG5cbi5jb2xsZWN0aW9uLWl0ZW1zLS1tdWx0aXBsZSAuZmVhdHVyZS5mZWF0dXJlLS1tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuY29sbGVjdGlvbi1pdGVtcy0tbXVsdGlwbGUgLmZlYXR1cmUuZmVhdHVyZS0tbWVkaWEgPiAqIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uY29sbGVjdGlvbi1pdGVtcy0tbXVsdGlwbGUgLmZlYXR1cmVfX21lZGlhIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAuY29sbGVjdGlvbi1pdGVtcy0tbXVsdGlwbGUgLmZlYXR1cmVfX21lZGlhICoge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb2xsZWN0aW9uLWl0ZW1zLS1tdWx0aXBsZSAuZmVhdHVyZV9fbWVkaWEgaW1nIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuXG4udGVhc2VyLS1pY29uIC50ZWFzZXJfX3RleHQge1xuICBwYWRkaW5nOiAxcmVtOyB9XG5cbi50ZWFzZXJfX2ljb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAwMDFiO1xuICBoZWlnaHQ6IDVyZW07XG4gIHBhZGRpbmc6IDIuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC50ZWFzZXJfX2ljb24gLmljb25fX2dseXBoIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICAudGVhc2VyX19pY29uIC5pY29uX19nbHlwaDo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogNXJlbTsgfVxuICAudGVhc2VyX19pY29uIHN2ZyB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaGVpZ2h0OiA1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRlYXNlcl9faWNvbiBzdmcgcGF0aCB7XG4gICAgICBmaWxsOiAjZmZmZmZmOyB9XG5cbi50ZWFzZXJfX2ljb24tbGlua3Mge1xuICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG4gIC50ZWFzZXJfX2ljb24tbGlua3MgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAudGVhc2VyX19pY29uLWxpbmtzIHVsIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uaW1hZ2UtbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAycmVtIDA7IH1cbiAgLmltYWdlLWxpc3QtaXRlbV9faW1hZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAycmVtOyB9XG5cbi5pbWFnZS1saXN0X19pdGVtcyAuaW1hZ2UtbGlzdC1pdGVtOm5vdCg6bGFzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2MxYzhjZjsgfVxuXG4ucHJvbW8tdGV4dFtjbGFzcyo9J2JnLS0nXSB7XG4gIHBhZGRpbmc6IDIuMzc1cmVtIDIuNXJlbTsgfVxuXG4ucHJvbW8tdGV4dF9fY29udGVudCBwIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIC5wcm9tby10ZXh0X19jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNXJlbSkge1xuICAucHJvbW8tdGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5wcm9tby10ZXh0X19tZWRpYSB7XG4gICAgICBmbGV4OiAwIDAgMjAwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtOyB9IH1cblxuLnB1bGx0ZXh0IHAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnRlYXNlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICAudGVhc2VyIC50ZWFzZXJfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAudGVhc2VyIC50ZWFzZXJfX3RpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTsgfSB9XG4gIC50ZWFzZXIgLnRlYXNlcl9fbWVkaWEgcGljdHVyZSwgLnRlYXNlciAudGVhc2VyX19tZWRpYSBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAudGVhc2VyLS1uZXdzIHtcbiAgICBjb2xvcjogIzI1MjUyNSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDEuODEyNXJlbSAxLjgxMjVyZW0gMy43NXJlbSAxLjgxMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRlYXNlci0tbmV3czpob3ZlciB7XG4gICAgICBjb2xvcjogIzI1MjUyNTsgfVxuICAgIC50ZWFzZXItLW5ld3M6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3RlYXNlci1kZWNvcmF0aW9uLnBuZ1wiKTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDkxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAycmVtOyB9XG4gICAgLnRlYXNlci0tbmV3cyAudGVhc2VyX190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAudGVhc2VyLS1uZXdzIC50ZWFzZXJfX3RleHQgPiAqIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLnRlYXNlci0tbmV3cyAuZGF0ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjY4NzVyZW07XG4gICAgICBjb2xvcjogIzE1MTUxNTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgLnRlYXNlci0tZmVhdHVyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRlYXNlci0tZmVhdHVyZSAudGVhc2VyX190aXRsZSBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1zdHlsZTogZG90dGVkOyB9XG4gICAgLnRlYXNlci0tZmVhdHVyZVtjbGFzcyo9XCJiZy0tXCJdIC50ZWFzZXJfX3RleHQge1xuICAgICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgIC50ZWFzZXItLWZlYXR1cmUgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVyZW0pIHtcbiAgICAgIC50ZWFzZXItLWZlYXR1cmUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAudGVhc2VyLS1nYWxsZXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwOyB9XG4gICAgLnRlYXNlci0tZ2FsbGVyeSAudGVhc2VyX190aXRsZSB7XG4gICAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgLnRlYXNlci0tZ2FsbGVyeSAudGVhc2VyX190aXRsZSAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjZDAwMDFiOyB9XG4gICAgICAgIC50ZWFzZXItLWdhbGxlcnkgLnRlYXNlcl9fdGl0bGUgLmljb24gLmljb25fX2dseXBoIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgICAgICAgLnRlYXNlci0tZ2FsbGVyeSAudGVhc2VyX190aXRsZSAuaWNvbiAuaWNvbl9fZ2x5cGgge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gICAgLnRlYXNlci0tZ2FsbGVyeSAubWVkaWFfX2hlYWRpbmcge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgICAudGVhc2VyLS1nYWxsZXJ5IC5tZWRpYV9faGVhZGluZyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG5cbmEudGVhc2VyLS1uZXdzIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2RiZTlmMzsgfVxuICBhLnRlYXNlci0tbmV3cyAudGVhc2VyX190aXRsZSB7XG4gICAgY29sb3I6ICMyODVkNzY7IH1cbiAgYS50ZWFzZXItLW5ld3M6aG92ZXIsIGEudGVhc2VyLS1uZXdzOmZvY3VzLCBhLnRlYXNlci0tbmV3czphY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogI2QwMDAxYjsgfVxuICAgIGEudGVhc2VyLS1uZXdzOmhvdmVyIC50ZWFzZXJfX3RpdGxlLCBhLnRlYXNlci0tbmV3czpmb2N1cyAudGVhc2VyX190aXRsZSwgYS50ZWFzZXItLW5ld3M6YWN0aXZlIC50ZWFzZXJfX3RpdGxlIHtcbiAgICAgIGNvbG9yOiAjZDAwMDFiOyB9XG5cbi5uZXdzLXRlYXNlcnMgYS50ZWFzZXItLW5ld3Mge1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLm5ld3MtdGVhc2VycyBhLnRlYXNlci0tbmV3cyAudGVhc2VyX190aXRsZSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLm5ld3MtdGVhc2VycyBhLnRlYXNlci0tbmV3cyAuZGF0ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtZmFtaWx5OiBcIkJhcmxvdyBDb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAubmV3cy10ZWFzZXJzIGEudGVhc2VyLS1uZXdzIC5kYXRlOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTI5cHg7XG4gICAgICBib3R0b206IDhweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMyNTI1MjU7XG4gICAgICBjb250ZW50OiAnJzsgfVxuXG4uYmxvY2suYmctLXByaW1hcnkgLmJsb2NrX19oZWFkZXIsXG4uYmxvY2suYmctLXByaW1hcnkgLmJsb2NrX19mb290ZXIsXG4uYmxvY2suYmctLXByaW1hcnkgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLXNlY29uZGFyeSAuYmxvY2tfX2hlYWRlcixcbi5ibG9jay5iZy0tc2Vjb25kYXJ5IC5ibG9ja19fZm9vdGVyLFxuLmJsb2NrLmJnLS1zZWNvbmRhcnkgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLXRlcnRpYXJ5IC5ibG9ja19faGVhZGVyLFxuLmJsb2NrLmJnLS10ZXJ0aWFyeSAuYmxvY2tfX2Zvb3Rlcixcbi5ibG9jay5iZy0tdGVydGlhcnkgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLXF1YXRlcm5hcnkgLmJsb2NrX19oZWFkZXIsXG4uYmxvY2suYmctLXF1YXRlcm5hcnkgLmJsb2NrX19mb290ZXIsXG4uYmxvY2suYmctLXF1YXRlcm5hcnkgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLWFjY2VudCAuYmxvY2tfX2hlYWRlcixcbi5ibG9jay5iZy0tYWNjZW50IC5ibG9ja19fZm9vdGVyLFxuLmJsb2NrLmJnLS1hY2NlbnQgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLWRhcmstZ3JleSAuYmxvY2tfX2hlYWRlcixcbi5ibG9jay5iZy0tZGFyay1ncmV5IC5ibG9ja19fZm9vdGVyLFxuLmJsb2NrLmJnLS1kYXJrLWdyZXkgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLW5ldXRyYWwtZ3JleSAuYmxvY2tfX2hlYWRlcixcbi5ibG9jay5iZy0tbmV1dHJhbC1ncmV5IC5ibG9ja19fZm9vdGVyLFxuLmJsb2NrLmJnLS1uZXV0cmFsLWdyZXkgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLWxpZ2h0LWdyZXkgLmJsb2NrX19oZWFkZXIsXG4uYmxvY2suYmctLWxpZ2h0LWdyZXkgLmJsb2NrX19mb290ZXIsXG4uYmxvY2suYmctLWxpZ2h0LWdyZXkgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLXN1YnRsZS1ncmV5IC5ibG9ja19faGVhZGVyLFxuLmJsb2NrLmJnLS1zdWJ0bGUtZ3JleSAuYmxvY2tfX2Zvb3Rlcixcbi5ibG9jay5iZy0tc3VidGxlLWdyZXkgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLW9mZi13aGl0ZSAuYmxvY2tfX2hlYWRlcixcbi5ibG9jay5iZy0tb2ZmLXdoaXRlIC5ibG9ja19fZm9vdGVyLFxuLmJsb2NrLmJnLS1vZmYtd2hpdGUgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLW5lYXItd2hpdGUgLmJsb2NrX19oZWFkZXIsXG4uYmxvY2suYmctLW5lYXItd2hpdGUgLmJsb2NrX19mb290ZXIsXG4uYmxvY2suYmctLW5lYXItd2hpdGUgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLXN1Y2Nlc3MgLmJsb2NrX19oZWFkZXIsXG4uYmxvY2suYmctLXN1Y2Nlc3MgLmJsb2NrX19mb290ZXIsXG4uYmxvY2suYmctLXN1Y2Nlc3MgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLXdhcm5pbmcgLmJsb2NrX19oZWFkZXIsXG4uYmxvY2suYmctLXdhcm5pbmcgLmJsb2NrX19mb290ZXIsXG4uYmxvY2suYmctLXdhcm5pbmcgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLWVycm9yIC5ibG9ja19faGVhZGVyLFxuLmJsb2NrLmJnLS1lcnJvciAuYmxvY2tfX2Zvb3Rlcixcbi5ibG9jay5iZy0tZXJyb3IgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLWJsYWNrIC5ibG9ja19faGVhZGVyLFxuLmJsb2NrLmJnLS1ibGFjayAuYmxvY2tfX2Zvb3Rlcixcbi5ibG9jay5iZy0tYmxhY2sgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2suYmctLXdoaXRlIC5ibG9ja19faGVhZGVyLFxuLmJsb2NrLmJnLS13aGl0ZSAuYmxvY2tfX2Zvb3Rlcixcbi5ibG9jay5iZy0td2hpdGUgLmJsb2NrX19jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTsgfVxuXG4uYmxvY2tfX2hlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtOyB9XG5cbi5ibG9ja19fZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDFyZW07IH1cblxuLmVkaXRvcmlhbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmVkaXRvcmlhbDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5lZGl0b3JpYWw6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJzsgfVxuICAuZWRpdG9yaWFsIGFzaWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1cmVtKSB7XG4gIC5lZGl0b3JpYWwtLWFzaWRlLXJpZ2h0IGFzaWRlIHtcbiAgICB3aWR0aDogMjByZW07XG4gICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgbWFyZ2luOiAwIDAgMXJlbSAxcmVtO1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAuZWRpdG9yaWFsLS1hc2lkZS1sZWZ0IGFzaWRlIHtcbiAgICB3aWR0aDogMjByZW07XG4gICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgbWFyZ2luOiAwIDFyZW0gMXJlbSAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLmdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgbWFyZ2luOiAtMC43NXJlbTsgfVxuICAuZ3JpZCA+ICoge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMS41cmVtKTtcbiAgICBtYXJnaW46IDAuNzVyZW0gMC43NXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5ncmlkLmdyaWQtLW5vLWdyb3cgPiAqIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLmdyaWQuZ3JpZC0tdGlnaHQge1xuICAgIG1hcmdpbjogLTAuNzVyZW07IH1cbiAgICAuZ3JpZC5ncmlkLS10aWdodCA+ICoge1xuICAgICAgbWFyZ2luOiAwLjc1cmVtOyB9XG4gIC5ncmlkLmdyaWQtLXNtYWxsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZ3JpZC5ncmlkLS1zbWFsbCA+ICoge1xuICAgICAgZmxleC1iYXNpczogMzYuNjI1cmVtO1xuICAgICAgZmxleC1ncm93OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVyZW0pIHtcbiAgICAgIC5ncmlkLmdyaWQtLXNtYWxsIHtcbiAgICAgICAgbWFyZ2luOiAtMXJlbSAtMS41cmVtOyB9XG4gICAgICAgIC5ncmlkLmdyaWQtLXNtYWxsID4gKiB7XG4gICAgICAgICAgbWFyZ2luOiAxcmVtIDEuNXJlbTtcbiAgICAgICAgICBtaW4td2lkdGg6IDM2LjYyNXJlbTsgfSB9XG4gIC5ncmlkLmdyaWQtLWNlbnRlcmVkLWl0ZW1zID4gKiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1cmVtKSB7XG4gICAgLmdyaWQuZ3JpZC0tY2VudGVyZWQtaXRlbXMge1xuICAgICAgbWluLXdpZHRoOiAzNS4xMjVyZW07IH0gfVxuICAuZ3JpZC5ncmlkLS1hbGlnbi10b3Age1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIC5ncmlkLmdyaWQtLWF0dGFjaGVkID4gKiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDNyZW07IH1cbiAgLmdyaWQuZ3JpZC0tc3RyaXBlZCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmdyaWQuZ3JpZC0tc3RyaXBlZCA+ICoge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMS41cmVtO1xuICAgICAgZmxleC1iYXNpczogMjIuOTE2NjdyZW07XG4gICAgICBmbGV4LWdyb3c6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAgIC5ncmlkLmdyaWQtLXN0cmlwZWQgPiAqOm50aC1jaGlsZCg2biAtIDUpLCAuZ3JpZC5ncmlkLS1zdHJpcGVkID4gKjpudGgtY2hpbGQoNm4gLSA0KSwgLmdyaWQuZ3JpZC0tc3RyaXBlZCA+ICo6bnRoLWNoaWxkKDZuIC0gMykge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGMEYwRjA7IH1cbiAgICAgICAgLmdyaWQuZ3JpZC0tc3RyaXBlZCA+ICo6bnRoLWNoaWxkKDZuIC0gMiksIC5ncmlkLmdyaWQtLXN0cmlwZWQgPiAqOm50aC1jaGlsZCg2biAtIDEpLCAuZ3JpZC5ncmlkLS1zdHJpcGVkID4gKjpudGgtY2hpbGQoNm4gLSAwKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfSB9XG4gIC5ncmlkLmdyaWQtLWRpdmlkZWQgPiAqIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZ3JpZC5ncmlkLS1kaXZpZGVkID4gKjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogY2FsYygtMS41cmVtIC0gMXB4KTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5Nzk3O1xuICAgICAgY29udGVudDogJyc7IH1cbiAgICAuZ3JpZC5ncmlkLS1kaXZpZGVkID4gKjpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ncmlkLmdyaWQtLWJvcmRlcmVkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgbWFyZ2luOiAtMXJlbTsgfVxuICAgIC5ncmlkLmdyaWQtLWJvcmRlcmVkID4gKiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBtYXJnaW46IDFyZW07IH1cbiAgICAgIC5ncmlkLmdyaWQtLWJvcmRlcmVkID4gKjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IGNhbGMoLTFyZW0gLSAycHgpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICM0QTRBNEE7XG4gICAgICAgIGxlZnQ6IC0xcmVtO1xuICAgICAgICByaWdodDogY2FsYygtMXJlbSArIDFweCk7IH1cbiAgICAgIC5ncmlkLmdyaWQtLWJvcmRlcmVkID4gKiBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgICAgICAuZ3JpZC5ncmlkLS1ib3JkZXJlZCA+ICogYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNXJlbSkge1xuICAgIC5ncmlkIHtcbiAgICAgIG1hcmdpbjogLTFyZW07IH1cbiAgICAgIC5ncmlkID4gKiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1heC13aWR0aDogMjMuNDE2NjdyZW07XG4gICAgICAgIG1hcmdpbjogMXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAyMHJlbTsgfVxuICAgICAgLmdyaWQuZ3JpZC0tbGFyZ2UgPiAqIHtcbiAgICAgICAgbWluLXdpZHRoOiAzNS4xMjVyZW07IH1cbiAgICAgIC5ncmlkLmdyaWQtLXNtYWxsID4gKiB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDIyLjQxNjY3cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDIyLjQxNjY3cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgICAuZ3JpZCB7XG4gICAgICBtYXJnaW46IC0xLjVyZW07IH1cbiAgICAgIC5ncmlkID4gKiB7XG4gICAgICAgIG1heC13aWR0aDogMjMuNDE2NjdyZW07XG4gICAgICAgIG1hcmdpbjogMS41cmVtOyB9XG4gICAgICAuZ3JpZC5ncmlkLS1zbWFsbCA+ICoge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtaW4td2lkdGg6IDEyLjg1cmVtOyB9IH1cblxuLmNvbGxlY3Rpb24taXRlbXMtLXNpbmdsZSAuZ3JpZCA+ICoge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVyZW0pIHtcbiAgLmNvbGxlY3Rpb24taXRlbXMtLXNpbmdsZSAuZ3JpZCA+ICoge1xuICAgIG1heC13aWR0aDogNTAlOyB9IH1cblxudWwuZ3JpZCBsaSA+ICoge1xuICBmbGV4OiAxO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmdyaWQuZ3JpZC0tbWFqb3ItbGVmdCxcbi5ncmlkLmdyaWQtLW1ham9yLXJpZ2h0IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLmdyaWQuZ3JpZC0tbWFqb3ItbGVmdCA+ICosXG4gIC5ncmlkLmdyaWQtLW1ham9yLXJpZ2h0ID4gKiB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxLjVyZW0pOyB9XG4gIC5ncmlkLmdyaWQtLW1ham9yLWxlZnQgPiAuZ3JpZF9fbWFpbixcbiAgLmdyaWQuZ3JpZC0tbWFqb3ItcmlnaHQgPiAuZ3JpZF9fbWFpbiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICAgIC5ncmlkLmdyaWQtLW1ham9yLWxlZnQgPiAuZ3JpZF9fbWFpbiA+IC5zbGFiLnNsYWItLWJvZHkgLnNsYWJfX2NvbnRlbnQsXG4gICAgLmdyaWQuZ3JpZC0tbWFqb3ItcmlnaHQgPiAuZ3JpZF9fbWFpbiA+IC5zbGFiLnNsYWItLWJvZHkgLnNsYWJfX2NvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLmdyaWQuZ3JpZC0tbWFqb3ItbGVmdCA+IC5ncmlkX19tYWluID4gLnNsYWI6bm90KFtjbGFzcyo9XCJiZy0tXCJdKSxcbiAgICAuZ3JpZC5ncmlkLS1tYWpvci1yaWdodCA+IC5ncmlkX19tYWluID4gLnNsYWI6bm90KFtjbGFzcyo9XCJiZy0tXCJdKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5ncmlkLmdyaWQtLW1ham9yLWxlZnQgPiAuZ3JpZF9fc2lkZWJhcixcbiAgLmdyaWQuZ3JpZC0tbWFqb3ItcmlnaHQgPiAuZ3JpZF9fc2lkZWJhciB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MXJlbSkge1xuICAgIC5ncmlkLmdyaWQtLW1ham9yLWxlZnQsXG4gICAgLmdyaWQuZ3JpZC0tbWFqb3ItcmlnaHQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgLmdyaWQuZ3JpZC0tbWFqb3ItbGVmdCA+ICosXG4gICAgICAuZ3JpZC5ncmlkLS1tYWpvci1yaWdodCA+ICoge1xuICAgICAgICBtYXgtd2lkdGg6IGluaXRpYWw7IH1cbiAgICAgIC5ncmlkLmdyaWQtLW1ham9yLWxlZnQgPiAuZ3JpZF9fbWFpbixcbiAgICAgIC5ncmlkLmdyaWQtLW1ham9yLXJpZ2h0ID4gLmdyaWRfX21haW4ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5ncmlkLmdyaWQtLW1ham9yLWxlZnQgPiAuZ3JpZF9fc2lkZWJhcixcbiAgICAgIC5ncmlkLmdyaWQtLW1ham9yLXJpZ2h0ID4gLmdyaWRfX3NpZGViYXIge1xuICAgICAgICBmbGV4OiAwIDAgMzIlOyB9XG4gICAgICAuZ3JpZC5ncmlkLS1tYWpvci1sZWZ0LmdyaWQtLXNtYWxsZXItc2lkZWJhciA+IC5ncmlkX19zaWRlYmFyLFxuICAgICAgLmdyaWQuZ3JpZC0tbWFqb3ItcmlnaHQuZ3JpZC0tc21hbGxlci1zaWRlYmFyID4gLmdyaWRfX3NpZGViYXIge1xuICAgICAgICBmbGV4OiAwIDAgMjAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgLmdyaWQuZ3JpZC0tbWFqb3ItcmlnaHQgPiAuZ3JpZF9fc2lkZWJhciB7XG4gICAgb3JkZXI6IC0xOyB9IH1cblxuLnNsYWIuc2xhYi0tYm9keSAuc2xhYl9fY29udGVudCB7XG4gIG1heC13aWR0aDogNTYuMjVyZW07IH1cblxuLnNsYWIge1xuICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzNXJlbSkge1xuICAgIC5zbGFiIHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgICAuc2xhYiB7XG4gICAgICBwYWRkaW5nOiAxLjVyZW0gMnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgLnNsYWIge1xuICAgICAgcGFkZGluZzogMi41cmVtIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4NC4yNXJlbSkge1xuICAgIC5zbGFiIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAwOyB9IH1cbiAgLnNsYWIgLnNsYWJfX3dyYXBwZXIge1xuICAgIG1heC13aWR0aDogNzYuMjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5zbGFiIC5zbGFiX193cmFwcGVyID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuc2xhYiAuc2xhYl9fd3JhcHBlciA+IDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNsYWIgLnNsYWJfX2hlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgICAuc2xhYiAuc2xhYl9faGVhZGVyIGgyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5zbGFiIC5zbGFiX19oZWFkZXIgaDIgc3BhbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjRkRDNDJFO1xuICAgICAgICBsaW5lLWhlaWdodDogMTMwJTsgfVxuICAuc2xhYiAuc2xhYl9fZm9vdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDIwOyB9XG4gIC5zbGFiLnNsYWItLW5hcnJvdyAuc2xhYl9fd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiA0OS4yNXJlbTsgfVxuICAuc2xhYi5zbGFiLS10aWdodC1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgLnNsYWIuc2xhYi0tdGlnaHQtYm90dG9tOm5vdChbY2xhc3MqPVwiYmctLVwiXSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgLnNsYWIuc2xhYi0taGFzLXRvcC1ib3JkZXIgLnNsYWItY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDEuODc1cmVtO1xuICAgIGJvcmRlci10b3A6IDNweCBkYXNoZWQgI2MxYzhjZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxcmVtKSB7XG4gICAgICAuc2xhYi5zbGFiLS1oYXMtdG9wLWJvcmRlciAuc2xhYi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuNzVyZW07IH0gfVxuICAuc2xhYi5zbGFiLS1ibGVlZCAuc2xhYl9fd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5zbGFiLmJvZHk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zbGFiLmJvZHkgLnNsYWJfX2NvbnRlbnQgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnNsYWIuYm9keSBoNSB7XG4gICAgZm9udC1zaXplOiAxLjJyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfVxuXG4uc2xhYi0tYm9keSArIC5zbGFiLS1ib2R5IHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLnBhZ2UtaGVhZGVyICsgLnNsYWIge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbiNtYWluLWNvbnRlbnQgLnNsYWI6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVyZW0pIHtcbiAgLnBhZ2UtaGVhZGVyICsgLnNsYWIge1xuICAgIG1hcmdpbi10b3A6IDEuNXJlbTsgfVxuICAjbWFpbi1jb250ZW50IC5zbGFiOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDYxcmVtKSB7XG4gIC5wYWdlLWhlYWRlciArIC5zbGFiIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgI21haW4tY29udGVudCAuc2xhYjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAucGFnZS1oZWFkZXIgKyAuc2xhYiB7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gICNtYWluLWNvbnRlbnQgLnNsYWI6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODQuMjVyZW0pIHtcbiAgLnBhZ2UtaGVhZGVyICsgLnNsYWIge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuICAjbWFpbi1jb250ZW50IC5zbGFiOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG5cbi5zbGFiW2NsYXNzKj0nYmctLSddICsgLnNsYWI6bm90KFtjbGFzcyo9XCJiZy0tXCJdKSxcbi5zbGFiW2NsYXNzKj0nYmctLSddICsgLnNsYWIuYmctLXdoaXRlIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4uc2xhYjpub3QoW2NsYXNzKj1cImJnLS1cIl0pICsgLnNsYWJbY2xhc3MqPSdiZy0tJ10sXG4uc2xhYi5iZy0td2hpdGUgKyAuc2xhYltjbGFzcyo9J2JnLS0nXSB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgLnNsYWJbY2xhc3MqPSdiZy0tJ10gKyAuc2xhYjpub3QoW2NsYXNzKj1cImJnLS1cIl0pLFxuICAuc2xhYltjbGFzcyo9J2JnLS0nXSArIC5zbGFiLmJnLS13aGl0ZSB7XG4gICAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gIC5zbGFiOm5vdChbY2xhc3MqPVwiYmctLVwiXSkgKyAuc2xhYltjbGFzcyo9J2JnLS0nXSxcbiAgLnNsYWIuYmctLXdoaXRlICsgLnNsYWJbY2xhc3MqPSdiZy0tJ10ge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfSB9XG5cbi5zbGFiLmJnLS13aGl0ZSArIC5zbGFiLmJnLS13aGl0ZSxcbi5zbGFiOm5vdChbY2xhc3MqPVwiYmctLVwiXSkgKyAuc2xhYi5iZy0td2hpdGUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5zbGFiLmJnLS1vZmYtd2hpdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNsYWIuYmctLW9mZi13aGl0ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90ZWFzZXItZGVjb3JhdGlvbi5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogOTFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAycmVtOyB9XG5cbi5ncmlkX19tYWluIC5zbGFiW2NsYXNzKj0nYmctLSddLCAuZ3JpZF9fc2lkZWJhciAuc2xhYltjbGFzcyo9J2JnLS0nXSB7XG4gIHBhZGRpbmc6IDNyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgLnNsYWItLW92ZXJmbG93IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLnNsYWItLW92ZXJmbG93IC5jb250ZXh0dWFsLXJlZ2lvbiB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgLnNsYWItLW92ZXJmbG93IC5jb250ZXh0dWFsIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zbGFiLS1vdmVyZmxvdyAuc2xhYl9fd3JhcHBlciB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIC5zbGFiLS1vdmVyZmxvdyAuZ3JpZCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgICAgLnNsYWItLW92ZXJmbG93IC5ncmlkID4gZGl2OmZpcnN0LWNoaWxkIHBpY3R1cmUsIC5zbGFiLS1vdmVyZmxvdyAuZ3JpZCA+IGRpdjpsYXN0LWNoaWxkIHBpY3R1cmUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwdncgLSAxLjVyZW0pO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGluaXRpYWw7IH1cbiAgICAgIC5zbGFiLS1vdmVyZmxvdyAuZ3JpZCA+IGRpdjpmaXJzdC1jaGlsZCBwaWN0dXJlIHtcbiAgICAgICAgbGVmdDogY2FsYygtNTB2dyAtIDEuNXJlbSArICg3Ni4yNXJlbSAvIDIpKTsgfSB9XG5cbi5uZXdjaXR5LWxvZ28gc3ZnIHtcbiAgd2lkdGg6IDEwcmVtO1xuICBoZWlnaHQ6IDE2LjI5cmVtOyB9XG5cbi5uZXdjaXR5LWxvZ28taG9yaXpvbnRhbCBzdmcge1xuICB3aWR0aDogMTByZW07XG4gIGhlaWdodDogMi45NDQ0NDRyZW07IH1cblxuLm5ld2NpdHktbG9nby12ZXJ0aWNhbCBzdmcge1xuICB3aWR0aDogMTByZW07XG4gIGhlaWdodDogMTAuNjQ4cmVtOyB9XG5cbi5uZXdjaXR5LWxvZ28td29yZG1hcmsgc3ZnIHtcbiAgd2lkdGg6IDEwcmVtO1xuICBoZWlnaHQ6IDEuM3JlbTsgfVxuXG5maWd1cmUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjkzNzVyZW07XG4gIG1hcmdpbjogMDtcbiAgZm9udC1mYW1pbHk6IFwiQmFybG93XCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgIGZpZ3VyZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS45Mzc1cmVtOyB9IH1cbiAgZmlndXJlIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGNvbnRhaW47IG9iamVjdC1wb3NpdGlvbjogdG9wIGNlbnRlclwiO1xuICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICBvYmplY3QtZml0OiBjb250YWluOyB9XG4gIGZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07IH1cblxuLmZpZ3VyZS13cmFwcGVyIGZpZ3VyZSwgLmZpZ3VyZS13cmFwcGVyID4gYXJ0aWNsZS5tZWRpYSB7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5maWd1cmUtd3JhcHBlciBmaWd1cmUuYWxpZ24tbGVmdCAucmVzcG9uc2l2ZS1lbWJlZCwgLmZpZ3VyZS13cmFwcGVyIGZpZ3VyZS5hbGlnbi1yaWdodCAucmVzcG9uc2l2ZS1lbWJlZCwgLmZpZ3VyZS13cmFwcGVyID4gYXJ0aWNsZS5tZWRpYS5hbGlnbi1sZWZ0IC5yZXNwb25zaXZlLWVtYmVkLCAuZmlndXJlLXdyYXBwZXIgPiBhcnRpY2xlLm1lZGlhLmFsaWduLXJpZ2h0IC5yZXNwb25zaXZlLWVtYmVkIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5maWd1cmUtd3JhcHBlciBmaWd1cmUuYWxpZ24tbGVmdCAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsIC5maWd1cmUtd3JhcHBlciBmaWd1cmUuYWxpZ24tcmlnaHQgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLCAuZmlndXJlLXdyYXBwZXIgPiBhcnRpY2xlLm1lZGlhLmFsaWduLWxlZnQgLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLCAuZmlndXJlLXdyYXBwZXIgPiBhcnRpY2xlLm1lZGlhLmFsaWduLXJpZ2h0IC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gIC5maWd1cmUtd3JhcHBlciBmaWd1cmUgZmlnY2FwdGlvbiwgLmZpZ3VyZS13cmFwcGVyID4gYXJ0aWNsZS5tZWRpYSBmaWdjYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgLmZpZ3VyZS13cmFwcGVyIGZpZ3VyZSBmaWdjYXB0aW9uLCAuZmlndXJlLXdyYXBwZXIgPiBhcnRpY2xlLm1lZGlhIGZpZ2NhcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVyZW0pIHtcbiAgICAuZmlndXJlLXdyYXBwZXIgZmlndXJlLnBhcnRpYWxfY29udGVudCwgLmZpZ3VyZS13cmFwcGVyIGZpZ3VyZS5wYXJ0aWFsXzRfMywgLmZpZ3VyZS13cmFwcGVyID4gYXJ0aWNsZS5tZWRpYS5wYXJ0aWFsX2NvbnRlbnQsIC5maWd1cmUtd3JhcHBlciA+IGFydGljbGUubWVkaWEucGFydGlhbF80XzMge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgICAuZmlndXJlLXdyYXBwZXIgZmlndXJlLmFsaWduLWxlZnQsIC5maWd1cmUtd3JhcHBlciA+IGFydGljbGUubWVkaWEuYWxpZ24tbGVmdCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5maWd1cmUtd3JhcHBlciBmaWd1cmUuYWxpZ24tcmlnaHQsIC5maWd1cmUtd3JhcHBlciA+IGFydGljbGUubWVkaWEuYWxpZ24tcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4ubGluay1ncm91cC0taW52aXNpYmxlLWhlYWRlciAuaGVhZGxpbmUtZ3JvdXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC05OTk5OTllbTsgfVxuXG4vKlxuLmxpbmstZ3JvdXAtLWNvbGxhcHNlZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbkBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShtZWRpdW0pIHtcbiAgLmxpbmstZ3JvdXAtLWNvbGxhcHNlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiovXG4uYnJlYWRjcnVtYnMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB0ZXh0LWluZGVudDogMDsgfVxuICAgIC5icmVhZGNydW1icyBsaTo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnBhZ2VyX19pdGVtLS1maXJzdCBhLCAucGFnZXJfX2l0ZW0tLXByZXZpb3VzIGEsIC5wYWdlcl9faXRlbS0tbmV4dCBhLCAucGFnZXJfX2l0ZW0tLWxhc3QgYSwgLnBhZ2VyX19pdGVtLmlzLWFjdGl2ZSBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnBhZ2VyX19pdGVtLS1maXJzdCwgLnBhZ2VyX19pdGVtLS1wcmV2aW91cywgLnBhZ2VyX19pdGVtLS1uZXh0LCAucGFnZXJfX2l0ZW0ubGFzdC1wYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wYWdlcl9faXRlbS0tZmlyc3Q6OmFmdGVyLCAucGFnZXJfX2l0ZW0tLXByZXZpb3VzOjphZnRlciwgLnBhZ2VyX19pdGVtLS1uZXh0OjphZnRlciwgLnBhZ2VyX19pdGVtLmxhc3QtcGFnZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMGRlZyk7XG4gICAgdG9wOiAtLjNyZW07XG4gICAgYm90dG9tOiAtLjNyZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDFweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNEE0QTRBOyB9XG5cbi5wYWdlciB7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuLnBhZ2VyX19pdGVtIGEge1xuICBmb250LWZhbWlseTogXCJCYXJsb3dcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgcGFkZGluZzogLjVyZW0gLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgLnBhZ2VyX19pdGVtIGEge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9IH1cblxuLnBhZ2VyX19pdGVtLmlzLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZXJfX2l0ZW0uaXMtYWN0aXZlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAtLjNyZW07XG4gICAgYm90dG9tOiAtLjNyZW07XG4gICAgcmlnaHQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2MxYzhjZjtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMGRlZyk7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2UtaW4tb3V0LCBtYXJnaW4tbGVmdCAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuW2RhdGEtZHJ1cGFsLXZpZXdzLWluZmluaXRlLXNjcm9sbC1wYWdlcl0ge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLnNlY3Rpb24tbmF2IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuc2VjdGlvbi1uYXYgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnNlY3Rpb24tbmF2IGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuc2VjdGlvbi1uYXYgLm1lbnUtaXRlbV9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VjdGlvbi1uYXYgLm9wZW4tY2hpbGRyZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLjVyZW07XG4gICAgdG9wOiAxcmVtOyB9XG4gICAgLnNlY3Rpb24tbmF2IC5vcGVuLWNoaWxkcmVuIC5jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNlY3Rpb24tbmF2IC5vcGVuLWNoaWxkcmVuLm9wZW4gLmNsb3NlIHtcbiAgICAgIGRpc3BsYXk6IGluaGVyaXQ7IH1cbiAgICAuc2VjdGlvbi1uYXYgLm9wZW4tY2hpbGRyZW4ub3BlbiAub3BlbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZWN0aW9uLW5hdiAubWVudS1sZXZlbC0wID4gdWwgPiBsaSA+IC5tZW51LWl0ZW1fX2lubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDAwMDFiO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4wNjI1cmVtIDFyZW0gMS40Mzc1cmVtOyB9XG4gICAgLnNlY3Rpb24tbmF2IC5tZW51LWxldmVsLTAgPiB1bCA+IGxpID4gLm1lbnUtaXRlbV9faW5uZXIgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuc2VjdGlvbi1uYXYgLm1lbnUtbGV2ZWwtMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDsgfVxuICAgIC5zZWN0aW9uLW5hdiAubWVudS1sZXZlbC0xID4gdWwge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgICAgLnNlY3Rpb24tbmF2IC5tZW51LWxldmVsLTEgPiB1bCA+IGxpID4gLm1lbnUtaXRlbV9faW5uZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMS4wNjI1cmVtIDAuNDM3NXJlbSAxLjgxMjVyZW07IH1cbiAgICAgIC5zZWN0aW9uLW5hdiAubWVudS1sZXZlbC0xID4gdWwgYSB7XG4gICAgICAgIGNvbG9yOiAjMjUyNTI1OyB9XG4gICAgLnNlY3Rpb24tbmF2IC5tZW51LWxldmVsLTEgLm1lbnUtaXRlbS5oYXMtY2hpbGRyZW4ge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLnNlY3Rpb24tbmF2IC5tZW51LWxldmVsLTEgLm1lbnUtaXRlbS5oYXMtY2hpbGRyZW4gPiAubWVudSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlLW91dDsgfVxuICAgICAgICAuc2VjdGlvbi1uYXYgLm1lbnUtbGV2ZWwtMSAubWVudS1pdGVtLmhhcy1jaGlsZHJlbiA+IC5tZW51Lm9wZW5lZCB7XG4gICAgICAgICAgbWF4LWhlaWdodDogNzAwcHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2UtaW47IH1cbiAgICAuc2VjdGlvbi1uYXYgLm1lbnUtbGV2ZWwtMSAuaXMtYWN0aXZlID4gLm1lbnUtaXRlbV9faW5uZXIgPiBhIHtcbiAgICAgIGNvbG9yOiAjZDAwMDFiOyB9XG4gIC5zZWN0aW9uLW5hdiAubWVudS1sZXZlbC0yIC5tZW51LWl0ZW1fX2lubmVyIHtcbiAgICBwYWRkaW5nOiAwLjM3NXJlbSAxLjA2MjVyZW0gMC4yNXJlbSAyLjEyNXJlbTsgfVxuICAuc2VjdGlvbi1uYXYgLm1lbnUtbGV2ZWwtMyB1bCBsaSBhOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfigJMgJzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MXJlbSkge1xuICAgIC5zZWN0aW9uLW5hdiB7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0OyB9IH1cblxuLnNraXAtbmF2IHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC01cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAuc2tpcC1uYXYge1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07IH0gfVxuICAuc2tpcC1uYXY6bGluaywgLnNraXAtbmF2OnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5za2lwLW5hdjphY3RpdmUsIC5za2lwLW5hdjpob3ZlciwgLnNraXAtbmF2OmZvY3VzIHtcbiAgICBjb2xvcjogI2QwMDAxYjsgfVxuICAuc2tpcC1uYXY6Zm9jdXMge1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2l0aW9uOiB0b3AgLjVzOyB9XG5cbi5zb2NpYWwtbWVkaWEtbGlua3NfX21lbnUgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gIGNvbG9yOiAjMjUyNTI1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogNDRweDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4OyB9XG4gIC5zb2NpYWwtbWVkaWEtbGlua3NfX21lbnUgYSBzcGFuIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLnNvY2lhbC1tZWRpYS1saW5rc19fbWVudSAuaWNvbiB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5zb2NpYWwtbWVkaWEtbGlua3NfX21lbnUgaW1nIHtcbiAgaGVpZ2h0OiA0NHB4O1xuICB3aWR0aDogNDRweDtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4uc29jaWFsLW1lZGlhLWxpbmtzLS1jb2xvcml6ZSBhIC5pY29uX19nbHlwaCB7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNvY2lhbC1tZWRpYS1saW5rcy0tY29sb3JpemUgYSAuaWNvbl9fZ2x5cGhbY2xhc3MqPWZhY2Vib29rXSB7XG4gICAgY29sb3I6ICMxODc3ZjI7IH1cbiAgLnNvY2lhbC1tZWRpYS1saW5rcy0tY29sb3JpemUgYSAuaWNvbl9fZ2x5cGhbY2xhc3MqPXR3aXR0ZXJdIHtcbiAgICBjb2xvcjogIzFkYTFmMjsgfVxuICAuc29jaWFsLW1lZGlhLWxpbmtzLS1jb2xvcml6ZSBhIC5pY29uX19nbHlwaFtjbGFzcyo9bGlua2VkaW5dIHtcbiAgICBjb2xvcjogIzAwN2JiNTsgfVxuICAuc29jaWFsLW1lZGlhLWxpbmtzLS1jb2xvcml6ZSBhIC5pY29uX19nbHlwaFtjbGFzcyo9aW5zdGFncmFtXSB7XG4gICAgY29sb3I6ICNjMzJhYTM7IH1cbiAgLnNvY2lhbC1tZWRpYS1saW5rcy0tY29sb3JpemUgYSAuaWNvbl9fZ2x5cGhbY2xhc3MqPXlvdXR1YmVdIHtcbiAgICBjb2xvcjogI2ZmMDAwMDsgfVxuICAuc29jaWFsLW1lZGlhLWxpbmtzLS1jb2xvcml6ZSBhIC5pY29uX19nbHlwaFtjbGFzcyo9cGludGVyZXN0XSB7XG4gICAgY29sb3I6ICNjYjIwMjc7IH1cbiAgLnNvY2lhbC1tZWRpYS1saW5rcy0tY29sb3JpemUgYSAuaWNvbl9fZ2x5cGhbY2xhc3MqPXNuYXBjaGF0XSB7XG4gICAgY29sb3I6ICNmZmZjMDA7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxcHggYmxhY2s7IH1cblxuLnNvY2lhbC1tZWRpYS1saW5rcy0tY29sb3JpemUgYTpob3ZlciAuaWNvbl9fZ2x5cGgsIC5zb2NpYWwtbWVkaWEtbGlua3MtLWNvbG9yaXplIGE6YWN0aXZlIC5pY29uX19nbHlwaCwgLnNvY2lhbC1tZWRpYS1saW5rcy0tY29sb3JpemUgYTpmb2N1cyAuaWNvbl9fZ2x5cGgge1xuICBvcGFjaXR5OiAwLjY7IH1cblxuLmhlYWRsaW5lLWdyb3VwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiBhdXRvOyB9XG4gIC5oZWFkbGluZS1ncm91cCAuaGVhZGxpbmUtZ3JvdXBfX3N1cGVyLFxuICAuaGVhZGxpbmUtZ3JvdXAgLmhlYWRsaW5lLWdyb3VwX19zdWIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5oZWFkbGluZS1ncm91cCAuaGVhZGxpbmUtZ3JvdXBfX3N1cGVyLFxuICAuaGVhZGxpbmUtZ3JvdXAgLmhlYWRsaW5lLWdyb3VwX19zdWIge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgLmhlYWRsaW5lLWdyb3VwIC5oZWFkbGluZS1ncm91cF9fc3VwZXIsXG4gICAgICAuaGVhZGxpbmUtZ3JvdXAgLmhlYWRsaW5lLWdyb3VwX19zdWIge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gIGg1LmhlYWRsaW5lLWdyb3VwIC5oZWFkbGluZS1ncm91cF9faGVhZCB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgIGg1LmhlYWRsaW5lLWdyb3VwIC5oZWFkbGluZS1ncm91cF9faGVhZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07IH0gfVxuICBoNi5oZWFkbGluZS1ncm91cCAuaGVhZGxpbmUtZ3JvdXBfX2hlYWQge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICBoNi5oZWFkbGluZS1ncm91cCAuaGVhZGxpbmUtZ3JvdXBfX2hlYWQge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtOyB9IH1cblxuLmhlYWRsaW5lLWdyb3VwLS1kaXNwbGF5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5oZWFkbGluZS1ncm91cC0tZGlzcGxheSAuaGVhZGxpbmUtZ3JvdXBfX3N1cGVyIHtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuODc1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogMjAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgIC5oZWFkbGluZS1ncm91cC0tZGlzcGxheSAuaGVhZGxpbmUtZ3JvdXBfX3N1cGVyIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4zNzVyZW07IH0gfVxuICAuaGVhZGxpbmUtZ3JvdXAtLWRpc3BsYXkgLmhlYWRsaW5lLWdyb3VwX19oZWFkIHtcbiAgICBmb250LXNpemU6IDIuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgLmhlYWRsaW5lLWdyb3VwLS1kaXNwbGF5IC5oZWFkbGluZS1ncm91cF9faGVhZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4zNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgLmhlYWRsaW5lLWdyb3VwLS1kaXNwbGF5IC5oZWFkbGluZS1ncm91cF9faGVhZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNC4zNzVyZW07IH0gfVxuXG4uaGVhZGxpbmUtZ3JvdXAtLWJvcmRlcmVkIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAycHggI0YwRjBGMCBzb2xpZDsgfVxuICAuaGVhZGxpbmUtZ3JvdXAtLWJvcmRlcmVkIC5oZWFkbGluZS1ncm91cF9fc3VwZXIge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42MjVyZW07XG4gICAgY29sb3I6ICMyODVkNzY7XG4gICAgZm9udC1mYW1pbHk6IFwiQmFybG93IENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgIC5oZWFkbGluZS1ncm91cC0tYm9yZGVyZWQgLmhlYWRsaW5lLWdyb3VwX19zdXBlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9IH1cbiAgLmhlYWRsaW5lLWdyb3VwLS1ib3JkZXJlZCAuaGVhZGxpbmUtZ3JvdXBfX2hlYWQge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4zNzVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiQmFybG93IENvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgIC5oZWFkbGluZS1ncm91cC0tYm9yZGVyZWQgLmhlYWRsaW5lLWdyb3VwX19oZWFkIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNzVyZW07IH0gfVxuXG4uZGVzY3JpYmVkLWxpbmtzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5kZXNjcmliZWQtbGlua3MgZGQge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuXG4uY29udGVudC1tZXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5jb250ZW50LW1ldGEgLmJ5bGluZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgIC5jb250ZW50LW1ldGEgLmJ5bGluZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgLmNvbnRlbnQtbWV0YSAud2hvLXdoZW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmNvbnRlbnQtbWV0YSAudGF4b25vbXktbGlzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIC5jb250ZW50LW1ldGEgc3BhbiArIHNwYW46OmJlZm9yZSB7XG4gICAgY29udGVudDogJyB8ICc7IH1cblxuLnNlY3Rpb24taW50cm8gOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi50YWJsZS13cmFwcGVyIC53eXNpd3lnLXRhYmxlIHtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsOyB9XG5cbi50YWJsZS13cmFwcGVyIHRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICM1ZjVmNWY7IH1cbiAgLnRhYmxlLXdyYXBwZXIgdGFibGUgdGgsXG4gIC50YWJsZS13cmFwcGVyIHRhYmxlIHRkIHtcbiAgICBwYWRkaW5nOiAxcmVtOyB9XG4gICAgLnRhYmxlLXdyYXBwZXIgdGFibGUgdGg6Zmlyc3QtY2hpbGQsXG4gICAgLnRhYmxlLXdyYXBwZXIgdGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgICAudGFibGUtd3JhcHBlciB0YWJsZSB0aDpsYXN0LWNoaWxkLFxuICAgIC50YWJsZS13cmFwcGVyIHRhYmxlIHRkOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC50YWJsZS13cmFwcGVyIHRhYmxlIHRoOmZpcnN0LWNoaWxkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC50YWJsZS13cmFwcGVyIHRhYmxlIHRoZWFkIHRoIHtcbiAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICM1ZjVmNWY7IH1cbiAgLnRhYmxlLXdyYXBwZXIgdGFibGUgY2FwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGNhcHRpb24tc2lkZTogYm90dG9tOyB9XG5cbi50YWJsZS13cmFwcGVyLnRhYmxlLXdyYXBwZXItLXN0cmlwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgdGgsIC50YWJsZS13cmFwcGVyLnRhYmxlLXdyYXBwZXItLXN0cmlwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjBGMEYwOyB9XG5cbi5uZXdzLXRlYXNlcnNfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLm5ld3MtdGVhc2Vyc19faGVhZGVyID4gKiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5uZXdzLXRlYXNlcnNfX2hlYWRlciBoMiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDIuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMzc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAubmV3cy10ZWFzZXJzX19oZWFkZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDMuMzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNHJlbTsgfSB9XG4gICAgLm5ld3MtdGVhc2Vyc19faGVhZGVyIGgyIHNwYW4ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNGREM0MkU7XG4gICAgICBsaW5lLWhlaWdodDogMTMwJTsgfVxuXG4ubmV3cy10ZWFzZXJzIC50ZWFzZXJfX3dyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5uZXdzLXRlYXNlcnMgLnRlYXNlcl9fd3JhcHBlciA+ICoge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmbGV4OiAxOyB9XG5cbi5uZXdzLXRlYXNlcnMtc3RhY2tlZF9faGVhZGVyIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cbiAgLm5ld3MtdGVhc2Vycy1zdGFja2VkX19oZWFkZXIgYSB7XG4gICAgY29sb3I6ICMyNTI1MjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm5ld3MtdGVhc2Vycy1zdGFja2VkX19oZWFkZXIgYTo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNkMDAwMWI7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwLjI1cmVtKSB7XG4gICAgICAgIC5uZXdzLXRlYXNlcnMtc3RhY2tlZF9faGVhZGVyIGE6OmFmdGVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgLm5ld3MtdGVhc2Vycy1zdGFja2VkX19oZWFkZXIgaDIge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuXG4udG9nZ2xlLWJ1dHRvbl9fZGVtbyB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLnRvZ2dsZS1idXR0b25fX2RlbW9bYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ubGlzdC1ncm91cGluZyB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgLmxpc3QtZ3JvdXBpbmdfX2hlYWRpbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMDAwMWI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgLmxpc3QtZ3JvdXBpbmdfX2hlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG4gIC5saXN0LWdyb3VwaW5nIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW0gIWltcG9ydGFudDsgfVxuICAubGlzdC1ncm91cGluZyAuc2xhYiB7XG4gICAgcGFkZGluZzogMXJlbTsgfVxuICAubGlzdC1ncm91cGluZ19fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5saXN0LWdyb3VwaW5nX190ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3RyZXRjaDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGlzdC1ncm91cGluZ19fdGV4dCA+ICoge1xuICAgICAgZmxleC1iYXNpczogMzMlO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtaW4td2lkdGg6IDkuMzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gICAgLmxpc3QtZ3JvdXBpbmdfX3RleHQgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmxpc3QtZ3JvdXBpbmdfX2ltYWdlIHtcbiAgICBmbGV4LWJhc2lzOiAxMDBweDtcbiAgICBmbGV4LWdyb3c6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVyZW0pIHtcbiAgICAubGlzdC1ncm91cGluZ19fdGV4dCA+ICoge1xuICAgICAgbWluLXdpZHRoOiAxMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgICAubGlzdC1ncm91cGluZ19fY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgIC5saXN0LWdyb3VwaW5nX190ZXh0IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubGlzdC1ncm91cGluZ19fdGV4dCA+ICoge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG4udmlld3NfX2dyb3VwaW5nICsgLnZpZXdzX19ncm91cGluZyB7XG4gIG1hcmdpbi10b3A6IDNyZW07IH1cblxuLnZpZXctY29udGVudCBkaXY6bGFzdC1jaGlsZCAubGlzdC1ncm91cGluZyB7XG4gIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5wYWdlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9wYWdlLWhlYWRlci1iYWNrZ3JvdW5kLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAucGFnZS1oZWFkZXItLXBsYWluIGgxIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnBhZ2UtaGVhZGVyLS1wbGFpbiBoMSBzcGFuIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjRkRDNDJFO1xuICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7IH1cbiAgLnBhZ2UtaGVhZGVyLS1wbGFpbiAucGFnZS1oZWFkZXJfX3RleHRfX2lubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICAucGFnZS1oZWFkZXItLWhhcy1tZWRpYSAucGFnZS1oZWFkZXJfX21lZGlhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdlLWhlYWRlci0taGFzLW1lZGlhIC5wYWdlLWhlYWRlcl9fdGV4dCB7XG4gICAgYWxpZ24taXRlbXM6IGluaGVyaXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjFyZW0pIHtcbiAgICAucGFnZS1oZWFkZXItLWhhcy1tZWRpYSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgICAucGFnZS1oZWFkZXItLWhhcy1tZWRpYSA+IGRpdiB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cbiAgICAgIC5wYWdlLWhlYWRlci0taGFzLW1lZGlhIC5wYWdlLWhlYWRlcl9fdGV4dF9faW5uZXIge1xuICAgICAgICBwYWRkaW5nOiA3LjVyZW0gMi41cmVtIDcuNXJlbSA3LjVyZW07IH0gfVxuICAucGFnZS1oZWFkZXJfX21lZGlhIHtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMCAxcmVtOyB9XG4gICAgLnBhZ2UtaGVhZGVyX19tZWRpYSBhcnRpY2xlLCAucGFnZS1oZWFkZXJfX21lZGlhIGRpdiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAucGFnZS1oZWFkZXJfX21lZGlhIHBpY3R1cmUge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAucGFnZS1oZWFkZXJfX21lZGlhIHBpY3R1cmUgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9XG4gICAgLnBhZ2UtaGVhZGVyX19tZWRpYSBmaWdjYXB0aW9uIHtcbiAgICAgIG1hcmdpbjogMC41cmVtIDFyZW07IH1cbiAgLnBhZ2UtaGVhZGVyX190ZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogNzYuMjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAucGFnZS1oZWFkZXJfX3RleHQgaDEge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5wYWdlLWhlYWRlcl9fdGV4dF9faW5uZXIge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucGFnZS1oZWFkZXItLWhvbWUge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAucGFnZS1oZWFkZXItLWhvbWUgLnBhZ2UtaGVhZGVyX19tZWRpYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLnBhZ2UtaGVhZGVyLS1ob21lIC5wYWdlLWhlYWRlcl9fdGV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcGFnZS1oZWFkZXItYmFja2dyb3VuZC5qcGdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgIC5wYWdlLWhlYWRlci0taG9tZSBoMSB7XG4gICAgICBmb250LXNpemU6IDIuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy4zNzVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgICAucGFnZS1oZWFkZXItLWhvbWUgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMy4zNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDRyZW07IH0gfVxuICAgICAgLnBhZ2UtaGVhZGVyLS1ob21lIGgxIC5oZWFkaW5nX190ZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZEQzQyRTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5wYWdlLWhlYWRlci0tZnVsbCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucGFnZS1oZWFkZXItLWZ1bGwgLnBhZ2UtaGVhZGVyX19tZWRpYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5wYWdlLWhlYWRlci0tZnVsbCAucGFnZS1oZWFkZXJfX21lZGlhIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAgIC5wYWdlLWhlYWRlci0tZnVsbCAucGFnZS1oZWFkZXJfX3RleHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgIC5wYWdlLWhlYWRlci0tZnVsbCBoMSB7XG4gICAgICBmb250LXNpemU6IDIuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy4zNzVyZW07XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAuMjVyZW0pIHtcbiAgICAgICAgLnBhZ2UtaGVhZGVyLS1mdWxsIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDMuMzc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0cmVtOyB9IH1cbiAgICAgIC5wYWdlLWhlYWRlci0tZnVsbCBoMSAuaGVhZGluZ19fdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGREM0MkU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5wYWdlLWhlYWRlci0tZnVsbC5mbGlwcGVkIC5wYWdlLWhlYWRlcl9fdGV4dCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIC5wYWdlLWhlYWRlci0tZnVsbC5mbGlwcGVkIC5wYWdlLWhlYWRlcl9fdGV4dCBoMSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzVyZW0pIHtcbiAgICAgIC5wYWdlLWhlYWRlci0tZnVsbCAucGFnZS1oZWFkZXJfX3RleHQge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgLnBhZ2UtaGVhZGVyLS1mdWxsIC5wYWdlLWhlYWRlcl9fdGV4dF9faW5uZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gMTIyMHB4KSAvIDIpOyB9XG4gICAgICAucGFnZS1oZWFkZXItLWZ1bGwuZmxpcHBlZCAucGFnZS1oZWFkZXJfX3RleHRfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKCgxMDB2dyAtIDEyMjBweCkgLyAyKTsgfSB9XG4gIC5wYWdlLWhlYWRlci0tbGFuZGluZyB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAgIC5wYWdlLWhlYWRlci0tbGFuZGluZyAucGFnZS1oZWFkZXJfX21lZGlhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5wYWdlLWhlYWRlci0tbGFuZGluZyAucGFnZS1oZWFkZXJfX21lZGlhOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdGVhc2VyLWRlY29yYXRpb24ucG5nXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiA5MXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDJyZW07IH1cbiAgICAucGFnZS1oZWFkZXItLWxhbmRpbmcgaDEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgLnBhZ2UtaGVhZGVyLS1sYW5kaW5nIGgxIHNwYW4ge1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI0ZEQzQyRTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEzMCU7IH1cbiAgICAucGFnZS1oZWFkZXItLWxhbmRpbmcgLnBhZ2UtaGVhZGVyX190ZXh0IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucGFnZS1oZWFkZXItLWxhbmRpbmcgLnBhZ2UtaGVhZGVyX190ZXh0X19kZWNvcmF0aW9uIHtcbiAgICAgIHdpZHRoOiAxNy4wNjI1cmVtO1xuICAgICAgaGVpZ2h0OiAyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jcm9zc2luZy1tYXJrZXIuc3ZnXCIpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB0b3A6IDVyZW07XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgIC5wYWdlLWhlYWRlci0tbGFuZGluZyAucGFnZS1oZWFkZXJfX3RleHRfX2lubmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MC4yNXJlbSkge1xuICAgICAgLnBhZ2UtaGVhZGVyLS1sYW5kaW5nIC5wYWdlLWhlYWRlcl9fdGV4dF9faW5uZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5wYWdlLWhlYWRlci0tc3RhbmRhcmQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuICAgIC5wYWdlLWhlYWRlci0tc3RhbmRhcmQgaDEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgLnBhZ2UtaGVhZGVyLS1zdGFuZGFyZCBoMSBzcGFuIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNGREM0MkU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMzAlOyB9XG4gICAgLnBhZ2UtaGVhZGVyLS1zdGFuZGFyZCAucGFnZS1oZWFkZXJfX3RleHRfX2lubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5wYWdlLWhlYWRlci0tYXJ0aWNsZSAucGFnZS1oZWFkZXJfX3RleHQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnBhZ2UtaGVhZGVyLS1hcnRpY2xlIC5uZXdzLW1ldGFfX2RhdGUgPiAqLFxuICAucGFnZS1oZWFkZXItLWFydGljbGUgLm5ld3MtbWV0YV9fYXV0aG9yID4gKiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5wYWdlLWhlYWRlci0tYXJ0aWNsZSAubmV3cy1tZXRhX19kYXRlIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmdyaWRfX21haW4gLnBhZ2UtaGVhZGVyIC5wYWdlLWhlYWRlcl9fdGV4dCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MXJlbSkge1xuICAuZ3JpZF9fbWFpbiAucGFnZS1oZWFkZXIucGFnZS1oZWFkZXItLWhhcy1tZWRpYSA+IGRpdiB7XG4gICAgZmxleDogMSAxIGF1dG87IH0gfVxuIiwiYm9keSB7XG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCBpbnB1dFt0eXBlPVwiZW1haWxcIl0sIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSwgaW5wdXRbdHlwZT1cInRlbGVwaG9uZVwiXSwgXG4gIHNlbGVjdCB7XG4gICAgaGVpZ2h0OiByZW0oNDJweCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYmFybG93O1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShtKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcihibGFjayk7XG5cbiAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobSkge1xuICAgICAgbWF4LXdpZHRoOiByZW0oMzAwcHgpO1xuICAgIH1cbiAgfVxuXG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgc2VsZWN0LWJhY2tncm91bmQ7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB9XG5cbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShzKTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYmFybG93O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgXG59XG5cbi5mb3JtIHtcbiAgQGluY2x1ZGUgbW9kaWZpZXIoJ2lubGluZScpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogLS41cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgPiAqIHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgcGFkZGluZy1sZWZ0OiAuNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IC41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgIG1heC13aWR0aDogcmVtKDI1MHB4KTtcbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbi5leHBvc2VkLWZpbHRlcnMge1xuICBAaW5jbHVkZSBlbGVtZW50KCdmaWx0ZXItbGFiZWwnKSB7XG4gICAgbWluLXdpZHRoOiByZW0oMTAwcHgpO1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShsKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIC5jaGlwIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYmFybG93O1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShzKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Ioc3VidGxlLWdyZXkpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBb0FBQUFLQ0FNQUFBQzY3RCtQQUFBQVhWQk1WRVVBQUFBQUwxY0FNVllBTVZnQUwxWUFNVllBTUZnQU1GY0FMMVlBTVZnQU1WY0FNRmdBTDFjQUwxWUFNVmdBTUZjQU1GZ0FMMWNBTVZZQU1WY0FNVmdBTUZjQU1GY0FMMWNBTUZjQU1GY0FNRmNBTUZjQU1GY0FNRmYvLy8rNFlSaU1BQUFBSG5SU1RsTUFVbE5VVmxsYVcxeGRYbUJoWW1Oa1ptZG9hVzV2ME5mWStQbjYrLzB4dGhYbEFBQUFBV0pMUjBRZWNnb2dLd0FBQUVkSlJFRlVDQjBGd1FrQ1F6QUFBTEFVWTlpY0s5UFcvNzhwY1h5QTc2RXZFOHpsVFoxL3hGeERVMklzRGJEZTl3Sm9yK3NGN0NtRXRNR2VBbFhhNlBJQVErNzhSMkE4SDhBUUEyZXJSak55QUFBQUFFbEZUa1N1UW1DQycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCAxMHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gLjVyZW0pIDUwJTtcbiAgICBwYWRkaW5nOiAuNXJlbSAxLjVyZW0gLjVyZW0gLjVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobGlnaHQtZ3JleSk7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgPiAqIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcnItZ3JpZGJhc2UoMSk7XG4gICAgfVxuICAgIGlucHV0LCBidXR0b24ge1xuICAgICAgaGVpZ2h0OiByZW0oNDJweCk7XG4gICAgfVxuXG4gICAgJltkYXRhLWRydXBhbC1zZWxlY3Rvcj1cImVkaXQtYWN0aW9uc1wiXSB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcbiAgICAgIGNvbHVtbi1nYXA6IDFyZW07XG4gICAgICByb3ctZ2FwOiAwLjVyZW07XG5cbiAgICAgID4gKiB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobCkge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MHB4KTtcbiAgfVxufVxuXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0ge1xuICBsYWJlbCwgbGVnZW5kIHtcbiAgICBjb2xvcjogIzRBNEE0QTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgfVxuXG4gIGlucHV0ICsgbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIH1cblxuICBsYWJlbCArIGlucHV0LFxuICBsYWJlbCArIHNlbGVjdCxcbiAgbGFiZWwgfiAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDAuMjVyZW07XG4gIH1cblxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICBzZWxlY3QsXG4gIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLFxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwLjM3NXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjQTZBNkE2O1xuICAgIGhlaWdodDogMi42MjVyZW07XG4gIH1cblxuICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgdGV4dGFyZWEge1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzc1cmVtO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNBNkE2QTY7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gICYgPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMS43NXJlbTtcbiAgfVxuXG4gICYgPiBmaWVsZHNldCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmZvcm0tbmFtZS13cmFwcGVyLFxuICAuZm9ybS1wcmltYXJ5LXBob25lLXdyYXBwZXIsXG4gIC5mb3JtLXNlY29uZGFyeS1waG9uZS13cmFwcGVyLFxuICAud2ViZm9ybS1hZGRyZXNzLS13cmFwcGVyIC5maWVsZHNldC13cmFwcGVyLFxuICAud2ViZm9ybS1lbWFpbC1jb25maXJtLS13cmFwcGVyIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICByb3ctZ2FwOiAxcmVtO1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gIH1cblxuICAuZm9ybS1uYW1lLXdyYXBwZXIgPiAqLFxuICAuZm9ybS1wcmltYXJ5LXBob25lLXdyYXBwZXIgPiAqLFxuICAuZm9ybS1zZWNvbmRhcnktcGhvbmUtd3JhcHBlciA+ICosXG4gIC53ZWJmb3JtLWFkZHJlc3MtLXdyYXBwZXIgLmZpZWxkc2V0LXdyYXBwZXIgPiAqLFxuICAud2ViZm9ybS1lbWFpbC1jb25maXJtLS13cmFwcGVyIC5maWVsZHNldC13cmFwcGVyID4gKiB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShsKSB7XG4gICAgLmZvcm0tbmFtZS13cmFwcGVyID4gKiA+ICosXG4gICAgLmZvcm0tcHJpbWFyeS1waG9uZS13cmFwcGVyID4gKiA+ICosXG4gICAgLmZvcm0tc2Vjb25kYXJ5LXBob25lLXdyYXBwZXIgPiAqID4gKixcbiAgICAud2ViZm9ybS1hZGRyZXNzLS13cmFwcGVyIC5maWVsZHNldC13cmFwcGVyID4gKiA+ICosXG4gICAgLndlYmZvcm0tZW1haWwtY29uZmlybS0td3JhcHBlciAuZmllbGRzZXQtd3JhcHBlciA+ICogPiAqIHtcbiAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLXByaW1hcnktcGhvbmUtd3JhcHBlciA+ICosXG4gICAgLmZvcm0tc2Vjb25kYXJ5LXBob25lLXdyYXBwZXIgPiAqLFxuICAgIC53ZWJmb3JtLWFkZHJlc3MtLXdyYXBwZXIgLmZpZWxkc2V0LXdyYXBwZXIgPiAuZm9ybS1pdGVtLWFkZHJlc3MtYWRkcmVzcyxcbiAgICAud2ViZm9ybS1hZGRyZXNzLS13cmFwcGVyIC5maWVsZHNldC13cmFwcGVyID4gLmZvcm0taXRlbS1hZGRyZXNzLWFkZHJlc3MtMixcbiAgICAud2ViZm9ybS1lbWFpbC1jb25maXJtLS13cmFwcGVyIC5maWVsZHNldC13cmFwcGVyID4gKiB7XG4gICAgICBtaW4td2lkdGg6IGNhbGMoKDEwMCUgLSAycmVtKSAvIDIpO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKCgxMDAlIC0gMnJlbSkgLyAyKTtcbiAgICB9XG5cbiAgICAuZm9ybS1uYW1lLXdyYXBwZXIgPiAqLFxuICAgIC53ZWJmb3JtLWFkZHJlc3MtLXdyYXBwZXIgLmZpZWxkc2V0LXdyYXBwZXIgPiAuZm9ybS1pdGVtLWFkZHJlc3MtY2l0eSxcbiAgICAud2ViZm9ybS1hZGRyZXNzLS13cmFwcGVyIC5maWVsZHNldC13cmFwcGVyID4gLmZvcm0taXRlbS1hZGRyZXNzLXN0YXRlLXByb3ZpbmNlLFxuICAgIC53ZWJmb3JtLWFkZHJlc3MtLXdyYXBwZXIgLmZpZWxkc2V0LXdyYXBwZXIgPiAuZm9ybS1pdGVtLWFkZHJlc3MtcG9zdGFsLWNvZGUge1xuICAgICAgbWluLXdpZHRoOiBjYWxjKCgxMDAlIC0gNHJlbSkgLyAzKTtcbiAgICAgIG1heC13aWR0aDogY2FsYygoMTAwJSAtIDRyZW0pIC8gMyk7XG4gICAgfVxuICB9XG5cbiAgLmpzLWZvcm0tdHlwZS1yYWRpbyxcbiAgLmpzLWZvcm0tdHlwZS1jaGVja2JveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIH1cblxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0IyQjJCMjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDAuN3JlbTtcbiAgICAgIHdpZHRoOiAwLjdyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMTUwbXM7XG4gICAgfVxuXG4gICAgJjpjaGVja2VkOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0QwMDIxQjtcbiAgICB9XG4gIH1cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjQjJCMkIyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGhlaWdodDogMS4xNXJlbTtcbiAgICAgIHdpZHRoOiAxLjE1cmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDE1MG1zO1xuICAgICAgbWFzazogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB2aWV3Qm94PScwIDAgMjEgMTYnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIGQ9J20wIDguODEyIDIuMzMzLTMuMDE1TDguNCAxMC45IDE4LjIgMCAyMSAyLjU1IDguNjMzIDE2IDAgOC44MTJaJy8lM0UlM0Mvc3ZnJTNFXCIpIG5vLXJlcGVhdCA1MCUgNTAlO1xuICAgIH1cblxuICAgICY6Y2hlY2tlZDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEMDAyMUI7XG4gICAgfVxuICB9XG59IiwiJHJlbS1iYXNlbGluZTogMTZweCAhZGVmYXVsdDtcbiRyZW0tZmFsbGJhY2s6IGZhbHNlICFkZWZhdWx0O1xuJHJlbS1weC1vbmx5OiBmYWxzZSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHJlbS1zZXBhcmF0b3IoJGxpc3QsICRzZXBhcmF0b3I6IGZhbHNlKSB7XG4gIEBpZiAkc2VwYXJhdG9yID09IFwiY29tbWFcIiBvciAkc2VwYXJhdG9yID09IFwic3BhY2VcIiB7XG4gICAgQHJldHVybiBhcHBlbmQoJGxpc3QsIG51bGwsICRzZXBhcmF0b3IpO1xuICB9IFxuICBcbiAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhcImxpc3Qtc2VwYXJhdG9yXCIpID09IHRydWUge1xuICAgIEByZXR1cm4gbGlzdC1zZXBhcmF0b3IoJGxpc3QpO1xuICB9XG5cbiAgLy8gbGlzdC1zZXBhcmF0b3IgcG9seWZpbGwgYnkgSHVnbyBHaXJhdWRlbCAoaHR0cHM6Ly9zYXNzLWNvbXBhdGliaWxpdHkuZ2l0aHViLmlvLyNsaXN0X3NlcGFyYXRvcl9mdW5jdGlvbilcbiAgJHRlc3QtbGlzdDogKCk7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICAkdGVzdC1saXN0OiBhcHBlbmQoJHRlc3QtbGlzdCwgJGl0ZW0sIHNwYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gaWYoJHRlc3QtbGlzdCA9PSAkbGlzdCwgc3BhY2UsIGNvbW1hKTtcbn1cblxuQG1peGluIHJlbS1iYXNlbGluZSgkem9vbTogMTAwJSkge1xuICBmb250LXNpemU6ICR6b29tIC8gMTZweCAqICRyZW0tYmFzZWxpbmU7XG59XG5cbkBmdW5jdGlvbiByZW0tY29udmVydCgkdG8sICR2YWx1ZXMuLi4pIHtcbiAgJHJlc3VsdDogKCk7XG4gICRzZXBhcmF0b3I6IHJlbS1zZXBhcmF0b3IoJHZhbHVlcyk7XG4gIFxuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlcyB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiIGFuZCB1bml0KCR2YWx1ZSkgPT0gXCJyZW1cIiBhbmQgJHRvID09IFwicHhcIiB7XG4gICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgJHZhbHVlIC8gMXJlbSAqICRyZW0tYmFzZWxpbmUsICRzZXBhcmF0b3IpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIHVuaXQoJHZhbHVlKSA9PSBcInB4XCIgYW5kICR0byA9PSBcInJlbVwiIHtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUgLyAkcmVtLWJhc2VsaW5lICogMXJlbSwgJHNlcGFyYXRvcik7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gXCJsaXN0XCIge1xuICAgICAgJHZhbHVlLXNlcGFyYXRvcjogcmVtLXNlcGFyYXRvcigkdmFsdWUpO1xuICAgICAgJHZhbHVlOiByZW0tY29udmVydCgkdG8sICR2YWx1ZS4uLik7XG4gICAgICAkdmFsdWU6IHJlbS1zZXBhcmF0b3IoJHZhbHVlLCAkdmFsdWUtc2VwYXJhdG9yKTtcbiAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCAkdmFsdWUsICRzZXBhcmF0b3IpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsICR2YWx1ZSwgJHNlcGFyYXRvcik7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZihsZW5ndGgoJHJlc3VsdCkgPT0gMSwgbnRoKCRyZXN1bHQsIDEpLCAkcmVzdWx0KTtcbn1cblxuQGZ1bmN0aW9uIHJlbSgkdmFsdWVzLi4uKSB7XG4gIEBpZiAkcmVtLXB4LW9ubHkge1xuICAgIEByZXR1cm4gcmVtLWNvbnZlcnQocHgsICR2YWx1ZXMuLi4pO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuIHJlbS1jb252ZXJ0KHJlbSwgJHZhbHVlcy4uLik7XG4gIH1cbn1cblxuQG1peGluIHJlbSgkcHJvcGVydGllcywgJHZhbHVlcy4uLikge1xuICBAaWYgdHlwZS1vZigkcHJvcGVydGllcykgPT0gXCJtYXBcIiB7XG4gICAgQGVhY2ggJHByb3BlcnR5IGluIG1hcC1rZXlzKCRwcm9wZXJ0aWVzKSB7XG4gICAgICBAaW5jbHVkZSByZW0oJHByb3BlcnR5LCBtYXAtZ2V0KCRwcm9wZXJ0aWVzLCAkcHJvcGVydHkpKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlYWNoICRwcm9wZXJ0eSBpbiAkcHJvcGVydGllcyB7XG4gICAgICBAaWYgJHJlbS1mYWxsYmFjayBvciAkcmVtLXB4LW9ubHkge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IHJlbS1jb252ZXJ0KHB4LCAkdmFsdWVzLi4uKTtcbiAgICAgIH1cbiAgICAgIEBpZiBub3QgJHJlbS1weC1vbmx5IHtcbiAgICAgICAgI3skcHJvcGVydHl9OiByZW0tY29udmVydChyZW0sICR2YWx1ZXMuLi4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiRmb250LWJhcmxvdzogJ0JhcmxvdycsIHNhbnMtc2VyaWY7XG4kZm9udC1iYXJsb3ctY29uZGVuc2VkOiAnQmFybG93IENvbmRlbnNlZCcsIHNhbnMtc2VyaWY7IiwiLy8gRXh0cmFjdCBhbGwgdGhlIHBvc3NpYmxlIGZvbnQgc2l6ZXMgb3V0IG9mIGEgZm9udCBzaXplIGNvbmZpZy4gXG4vLyB0aGlzIGlzIG1vcmUgY29tcGxpY2F0ZWQgdGhhbiB5b3VyIHR5cGljYWwga2V5d29yZHMoKSBvcCBiZWNhdXNlXG4vLyBmb250IGNvbmZpZyBpcyBvcmdhbml6ZWQgYnkgYnJlYWtwb2ludCwgdGhlbiBzaXplLlxuQGZ1bmN0aW9uIHJyLWZvbnQtc2l6ZXMoJGZvbnQtY29uZmlnOiAkcnItZm9udHMpIHtcbiAgJHdvcmtpbmctbWFwOiAoKTtcbiAgQGVhY2ggJGJyZWFrLCAkZm9udG1hcCBpbiAkZm9udC1jb25maWcge1xuICAgICR3b3JraW5nLW1hcDogbWFwLW1lcmdlKCR3b3JraW5nLW1hcCwgJGZvbnRtYXApO1xuICB9XG4gIEByZXR1cm4gbWFwLWtleXMoJHdvcmtpbmctbWFwKTtcbn1cblxuLy8gUGFzcyBhIGZvbnQgdGFnIGFuZCBhIGxpbmVoZWlnaHQgdGFnIGFuZCByci1mb250LWNvbmZpZyByZXR1cm5zIGZvbnQgc2l6ZSBhbmRcbi8vIGxpbmUgaGVpZ2h0IHByb3BlcnRpZXMgZm9yIGVhY2ggYnJlYWtwb2ludC5cbkBtaXhpbiByci1mb250LWNvbXB1dGUoJHNpemU6IG0sICRsaW5laGVpZ2h0OiBtZWRpdW0sICRmb250LWNvbmZpZzogJHJyLWZvbnRzLCAkbGluZWhlaWdodC1jb25maWc6ICRyci1saW5laGVpZ2h0cykge1xuICAkYnJlYWtzOiByci1icmVha3BvaW50LWxpc3QoKTtcbiAgJGxpbmVncmlkaGVpZ2h0OiBtYXAtZ2V0KCRsaW5laGVpZ2h0LWNvbmZpZywgJGxpbmVoZWlnaHQpO1xuICBAZWFjaCAkYnJlYWsgaW4gJGJyZWFrcyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRmb250LWNvbmZpZywgJGJyZWFrKSB7XG4gICAgICAkZm9udC1zaXplLXNldDogbWFwLWdldCgkZm9udC1jb25maWcsICRicmVhayk7XG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJGZvbnQtc2l6ZS1zZXQsICRzaXplKSB7XG4gICAgICAgICRmb250c2l6ZTogbWFwLWdldCgkZm9udC1zaXplLXNldCwgJHNpemUpO1xuICAgICAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUoJGJyZWFrKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkZm9udHNpemU7XG4gICAgICAgICAgQGlmICRsaW5lZ3JpZGhlaWdodCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKChzdHJpcF91bml0KCRmb250c2l6ZSkgKiAxNnB4KSArICRsaW5lZ3JpZGhlaWdodCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1aWxkcyBhIGxpc3Qgb2Ygc3R5bGUgcnVsZXMgd2l0aCB0aGUgc3BlY2lmaWVkIHByZWZpeCwgc2l6ZSB0YWcsIGFuZFxuLy8gbGluZWhlaWdodCB0YWcuIFVzZWZ1bCBmb3IgYnVpbGRpbmcgcGF0dGVybiBsaWJyYXJpZXMgb3IgaWYgeW91IGludGVuZFxuLy8gdG8gZXhwb3NlIGRlc2lnbiBjYXBhYmlsaXRpZXMgdGhyb3VnaCBjc3MuXG5AbWl4aW4gcnItZm9udC1zYW1wbGVzKCRwcmVmaXg6ICd0ZXh0JywgJGZvbnQtY29uZmlnOiAkcnItZm9udHMsICRsaW5laGVpZ2h0LWNvbmZpZzogJHJyLWxpbmVoZWlnaHRzKSB7XG4gICRmb250LXNpemVzOiByci1mb250LXNpemVzKCRmb250LWNvbmZpZyk7XG4gIEBlYWNoICRmcyBpbiAkZm9udC1zaXplcyB7XG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRmcyB7XG4gICAgICBAZWFjaCAkbGluZW5hbWUsICRsaW5laGVpZ2h0IGluICRsaW5laGVpZ2h0LWNvbmZpZyB7XG4gICAgICAgIC4jeyRwcmVmaXh9LSN7JG5hbWV9LSN7JGxpbmVuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsIDI1NSwgMjAwLCAuMyk7XG4gICAgICAgICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKCRuYW1lLCAkbGluZW5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1aWxkcyBiYXNpYyBoZWFkaW5nIGxheW91dCB1c2luZyB0aGUgaGVhZGluZyBzdHlsZSBjb25maWd1cmF0aW9uLCBpbmNsdWRpbmdcbi8vIG1lZGlhIHF1ZXJpZXMuXG5AbWl4aW4gcnItaGVhZGluZygkY29uZmlnLW1hcC10YWcsICRoZWFkaW5nLWNvbmZpZzogJHJyLWhlYWRpbmdzKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkaGVhZGluZy1jb25maWcsICRjb25maWctbWFwLXRhZykge1xuICAgICRjb25maWc6IG1hcC1nZXQoJG1hcDogJGhlYWRpbmctY29uZmlnLCAka2V5OiAkY29uZmlnLW1hcC10YWcpO1xuICAgICRzaXplOiBtO1xuICAgIEBpZiBtYXAtaGFzLWtleSgkY29uZmlnLCBzaXplKSB7XG4gICAgICAkc2l6ZTogbWFwLWdldCgkY29uZmlnLCBzaXplKTtcbiAgICB9XG4gICAgJGxpbmVoZWlnaHQ6IG1lZGl1bTtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGNvbmZpZywgbGluZWhlaWdodCkge1xuICAgICAgJGxpbmVoZWlnaHQ6IG1hcC1nZXQoJGNvbmZpZywgbGluZWhlaWdodCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZSgkc2l6ZSwgJGxpbmVoZWlnaHQpO1xuICAgICRmb250OiBzYW5zLXNlcmlmO1xuICAgIEBpZiBtYXAtaGFzLWtleSgkY29uZmlnLCBmb250KSB7XG4gICAgICAkZm9udDogbWFwLWdldCgkY29uZmlnLCBmb250KTtcbiAgICB9XG4gICAgZm9udC1mYW1pbHk6ICRmb250O1xuICAgIEBpZiBtYXAtaGFzLWtleSgkY29uZmlnLCB3ZWlnaHQpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjb25maWcsIHdlaWdodCk7XG4gICAgfVxuICAgIEBpZiBtYXAtaGFzLWtleSgkY29uZmlnLCBzdHlsZSkge1xuICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY29uZmlnLCBzdHlsZSk7XG4gICAgfVxuICB9XG59XG5cbiIsIiRpbWFnZS11cmwtcGF0aDogJy4uL2ltYWdlcy8nO1xuJGFycm93LXJpZ2h0OiAnXFwyNzllJztcbiRnbG9iYWwtd2lkdGg6IDc2LjI1cmVtO1xuJHJyLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRncmlkLWdhcDogM3JlbTtcbiRncmlkLW1pbjogMjByZW07XG4kcnItZ3JpZC1kaXZpc2lvbnM6IDI7XG4kcnItYmxlbmQtbW9kZTogbXVsdGlwbHk7XG5cbiR0cmFuc2l0aW9uLXRpbWU6IDAuMjVzO1xuJHRyYW5zaXRpb24tZWFzaW5nOiBlYXNlLWluLW91dDtcblxuJHJlbS1iYXNlbGluZTogMTZweDtcblxuJHJyLWdyaWQtc2V0dGluZ3M6IChcbiAgczogKFxuICAgIG1xOiBtYXgtd2lkdGgsXG4gICAgc2l6ZTogMzVyZW0sXG4gICAgY29sdW1uczogNCxcbiAgICBndXR0ZXI6IDFyZW0gLyAkcnItZ3JpZC1kaXZpc2lvbnMsXG4gICAgb2Zmc2V0OiAxcmVtLFxuICAgIHZzcGFjZTogMixcbiAgICBjb2x1bW5fY29sb3I6IHJnYmEoMjAwLCAyMDAsIDI1NSwgLjIpLFxuICAgIGJhc2VsaW5lX2NvbG9yOiByZ2JhKDEyOCwgMTI4LCAyMDAsIC4yKVxuICApLFxuICBtOiAoXG4gICAgbXE6IG1pbi13aWR0aCxcbiAgICBzaXplOiAzNXJlbSxcbiAgICBndXR0ZXI6IDFyZW0sXG4gICAgY29sdW1uczogOCxcbiAgICBvZmZzZXQ6IDJyZW0sXG4gICAgdnNwYWNlOiAzLCAvLyAgMjFweCAvIDQycHhcbiAgICBjb2x1bW5fY29sb3I6IHJnYmEoMjU1LCAyMDAsIDIwMCwgLjIpLFxuICAgIGJhc2VsaW5lX2NvbG9yOiByZ2JhKDEyOCwgMTI4LCAyMDAsIC4yKVxuICApLFxuICBsOiAoXG4gICAgc2l6ZTogNjFyZW0sXG4gICAgY29sdW1uczogMTIsXG4gICAgY29sdW1uX2NvbG9yOiByZ2JhKDEyOCwgMjU1LCAyMDAsIC4yKSxcbiAgICBiYXNlbGluZV9jb2xvcjogcmdiYSgxMjgsIDEyOCwgMjAwLCAuMilcbiAgKSxcbiAgeGw6IChcbiAgICBzaXplOiAkZ2xvYmFsLXdpZHRoICsgNHJlbSxcbiAgICBvZmZzZXQ6IDAsXG4gICAgZ3V0dGVyOiAycmVtLCAvLzM2cHggXG4gICAgdnNwYWNlOiA1LCAvLyAoMzZweCAvIDcycHgpXG4gICAgY29sdW1uX2NvbG9yOiByZ2JhKDIwMCwgMTI4LCAyNTUsIC4yKSxcbiAgICBiYXNlbGluZV9jb2xvcjogcmdiYSgxMjgsIDEyOCwgMjAwLCAuMilcbiAgKSxcbiAgeGxwOiAoXG4gICAgc2l6ZTogJGdsb2JhbC13aWR0aCArIDhyZW1cbiAgKVxuKTtcblxuJHJyLWdyaWRzOiAoXG4gIG1ham9yLWxlZnQ6IChcbiAgICBtOiAoXG4gICAgICBjb2x1bW5zOiAyLFxuICAgICAgYXJlYXM6IG1ham9yIG1pbm9yLFxuICAgICAgZmxleC1jb2x1bW5zOiAyXG4gICAgKSxcbiAgICBsOiAoXG4gICAgICBjb2x1bW5zOiAzLFxuICAgICAgYXJlYXM6IG1ham9yIG1ham9yIG1pbm9yLFxuICAgIClcbiAgKSxcbiAgbWFqb3ItcmlnaHQ6IChcbiAgICBtOiAoXG4gICAgICBjb2x1bW5zOiAyLFxuICAgICAgYXJlYXM6IG1pbm9yIG1ham9yLFxuICAgICAgZmxleC1jb2x1bW5zOiAyXG4gICAgKSxcbiAgICBsOiAoXG4gICAgICBjb2x1bW5zOiAzLFxuICAgICAgYXJlYXM6IG1pbm9yIG1ham9yIG1ham9yLFxuICAgIClcbiAgKVxuKTtcblxuJGxpbmVoZWlnaHRzOiAoXG4gIHNxdWlzaGVkOiAuNXB4LFxuICBzcXVlZXplOiAtMnB4LFxuICB0aWdodDogMCxcbiAgbWVkaXVtOiAxMHB4LFxuICB3aWRlOiAxNXB4LFxuICBodWdlOiAyMHB4LFxuICByZWRpYzogNDBweFxuKTtcblxuJGZvbnRzOiAoXG4gIHM6IChcbiAgICB4czogcmVtKDEycHgpLFxuICAgIHM6IHJlbSgxNHB4KSxcbiAgICBtOiByZW0oMTZweCksXG4gICAgbDogcmVtKDIwcHgpLFxuICAgIHhsOiByZW0oMjRweCksXG4gICAgMmw6IHJlbSgyOHB4KSxcbiAgICAzbDogcmVtKDMycHgpLFxuICAgIDRsOiByZW0oMzZweCksXG4gICAgNWw6IHJlbSg0MHB4KSxcbiAgICA2bDogcmVtKDQ0cHgpXG4gICksXG4gIHhsOiAoXG4gICAgeHM6IHJlbSgxMnB4KSxcbiAgICBzOiByZW0oMTRweCksXG4gICAgbTogcmVtKDE2cHgpLFxuICAgIGw6IHJlbSgyMHB4KSxcbiAgICB4bDogcmVtKDI0cHgpLFxuICAgIDJsOiByZW0oMzRweCksXG4gICAgM2w6IHJlbSg0MHB4KSxcbiAgICA0bDogcmVtKDQ0cHgpLFxuICAgIDVsOiByZW0oNDhweCksXG4gICAgNmw6IHJlbSg1NHB4KVxuICApXG4pO1xuXG4kZm9udC1zaXplczogcnItZm9udC1zaXplcygpO1xuXG5cbiRjb2xvcnM6IChcbiAgcHJpbWFyeTogI2QwMDAxYixcbiAgc2Vjb25kYXJ5OiAjMjg1ZDc2LFxuICB0ZXJ0aWFyeTogIzY1YjRmYyxcbiAgcXVhdGVybmFyeTogIzFlMjczZixcbiAgYWNjZW50OiAjRkRDNDJFLFxuICBkYXJrLWdyZXk6ICMxNTE1MTUsXG4gIG5ldXRyYWwtZ3JleTogIzRBNEE0QSxcbiAgbGlnaHQtZ3JleTogI2MxYzhjZixcbiAgc3VidGxlLWdyZXk6ICNkYmU5ZjMsXG4gIG9mZi13aGl0ZTogI0YwRjBGMCxcbiAgbmVhci13aGl0ZTogI2Y5ZjlmOSxcbiAgc3VjY2VzczogIzU1YjM3YyxcbiAgd2FybmluZzogI2ZmYmYwMCxcbiAgZXJyb3I6ICNlYjAzMDMsXG4gIGJsYWNrOiAjMjUyNTI1LFxuICB3aGl0ZTogI2ZmZmZmZlxuKTtcblxuLy8gc3Vic2V0IG9mIGNvbG9ycyB0byBnZW5lcmF0ZSB0aGVtZSBzY2hlbWVzIGZvclxuJHRoZW1lczogKFxuICBwcmltYXJ5LFxuICBzZWNvbmRhcnksXG4gIHRlcnRpYXJ5LFxuICBhY2NlbnQsXG4gIHN1YnRsZS1ncmV5LFxuICBvZmYtd2hpdGUsXG4gIGJsYWNrXG4pO1xuXG4vLyBEZWZhdWx0IGNvbG9ycywgZm9yIGxpZ2h0IGJhY2tncm91bmRzXG4kdGV4dC1jb2xvcnM6IChcbiAgbGluazogY29sb3Ioc2Vjb25kYXJ5KSxcbiAgbGluay1hY3RpdmU6IGNvbG9yKHByaW1hcnkpLFxuICB0ZXh0OiBjb2xvcihibGFjayksXG4gIGxhYmVsOiBjb2xvcihwcmltYXJ5KSxcbiAgYWNjZW50OiBjb2xvcihlcnJvciksXG4gIGJ1dHRvbi1ib3JkZXI6IGNvbG9yKHByaW1hcnkpLFxuICBidXR0b24tYmFja2dyb3VuZDogY29sb3IocHJpbWFyeSksXG4gIGJ1dHRvbi10ZXh0OiBjb2xvcih3aGl0ZSksXG4gIGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI6IGNvbG9yKGxpZ2h0LWdyZXkpLFxuICBidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDogY29sb3IobGlnaHQtZ3JleSksXG4gIGJ1dHRvbi1kaXNhYmxlZC10ZXh0OiBjb2xvcihuZXV0cmFsLWdyZXkpLFxuICBidXR0b24taG92ZXItYm9yZGVyOiBjb2xvcihxdWF0ZXJuYXJ5KSxcbiAgYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGNvbG9yKHF1YXRlcm5hcnkpLFxuICBidXR0b24taG92ZXItdGV4dDogY29sb3Iod2hpdGUpLFxuICBidXR0b24tYWN0aXZlLWJvcmRlcjogY29sb3IocXVhdGVybmFyeSksXG4gIGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogY29sb3IocXVhdGVybmFyeSksXG4gIGJ1dHRvbi1hY3RpdmUtdGV4dDogY29sb3Iod2hpdGUpLFxuICBidXR0b24tZm9jdXMtYm9yZGVyOiBjb2xvcihxdWF0ZXJuYXJ5KSxcbiAgYnV0dG9uLWZvY3VzLWJhY2tncm91bmQ6IGNvbG9yKHF1YXRlcm5hcnkpLFxuICBidXR0b24tZm9jdXMtdGV4dDogY29sb3Iod2hpdGUpLFxuICBoZWFkbGluZS1ncm91cC1zdXBlcjogY29sb3IoYmxhY2spLFxuICBoZWFkbGluZS1ncm91cC1zdWI6IGNvbG9yKGJsYWNrKSxcbiAgbWVkaWEtY2l0YXRpb246IGNvbG9yKG5ldXRyYWwtZ3JleSksXG4gIGNhcm91c2VsLXNpbmdsZS1idXR0b246IGNvbG9yKG5ldXRyYWwtZ3JleSksXG4gIGNhcm91c2VsLXNpbmdsZS1idXR0b24tYXJ0OiBjb2xvcih3aGl0ZSksXG4gIGNhcm91c2VsLWNlbnRlci1idXR0b246IHRyYW5zcGFyZW50LFxuICBjYXJvdXNlbC1jZW50ZXItYnV0dG9uLWFydDogY29sb3Iod2hpdGUpLFxuICBjYXJvdXNlbC1kb3Q6IGNvbG9yKGxpZ2h0LWdyZXkpLFxuICBjYXJvdXNlbC1kb3QtYWN0aXZlOiBjb2xvcihibGFjayksXG4gIGNhcm91c2VsLWNlbnRlci1jYXB0aW9uOiBjb2xvcihibGFjayksXG4gIG1lZGlhLWJhY2tncm91bmQ6IGNvbG9yKHByaW1hcnkpLFxuICB0YWJsZS1oZWFkZXItYmFja2dyb3VuZDogY29sb3Iod2hpdGUpLFxuICB0YWJsZS1oZWFkZXItdGV4dDogY29sb3IoYmxhY2spLFxuICB0YWJsZS1iYWNrZ3JvdW5kLW9kZDogY29sb3Iob2ZmLXdoaXRlKSxcbiAgdGFibGUtYmFja2dyb3VuZC1ldmVuOiBjb2xvcih3aGl0ZSksXG4gIHRhYmxlLXRleHQtb2RkOiBjb2xvcihibGFjayksXG4gIHRhYmxlLXRleHQtZXZlbjogY29sb3IoYmxhY2spXG4pO1xuXG4vLyBBbHRlcm5hdGUgY29sb3JzIGZvciBkYXJrIGJhY2tncm91bmRzXG4kdGV4dC1jb2xvcnMtZGFyazogKFxuICBsaW5rOiBjb2xvcihsaWdodC1ncmV5KSxcbiAgbGluay1hY3RpdmU6IGNvbG9yKHdoaXRlKSxcbiAgdGV4dDogY29sb3Iod2hpdGUpLFxuICBsYWJlbDogY29sb3Iod2hpdGUpLFxuICBhY2NlbnQ6IGNvbG9yKHN1Y2Nlc3MpLFxuICBidXR0b24tYm9yZGVyOiByZ2JhKGNvbG9yKHdoaXRlKSwgLjY2KSxcbiAgYnV0dG9uLWJhY2tncm91bmQ6IHJnYmEoY29sb3Iod2hpdGUpLCAuNjYpLFxuICBidXR0b24tdGV4dDogY29sb3IocXVhdGVybmFyeSksXG4gIGJ1dHRvbi1kaXNhYmxlZC1ib3JkZXI6IHJnYmEoI2VkZWRlZCwgLjY2KSxcbiAgYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6IHJnYmEoI2VkZWRlZCwgLjY2KSxcbiAgYnV0dG9uLWRpc2FibGVkLXRleHQ6IGNvbG9yKHByaW1hcnkpLFxuICBidXR0b24taG92ZXItYm9yZGVyOiBjb2xvcihxdWF0ZXJuYXJ5KSxcbiAgYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6IGNvbG9yKHF1YXRlcm5hcnkpLFxuICBidXR0b24taG92ZXItdGV4dDogY29sb3Iod2hpdGUpLFxuICBidXR0b24tYWN0aXZlLWJvcmRlcjogY29sb3IocXVhdGVybmFyeSksXG4gIGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogY29sb3IocXVhdGVybmFyeSksXG4gIGJ1dHRvbi1hY3RpdmUtdGV4dDogY29sb3Iod2hpdGUpLFxuICBidXR0b24tZm9jdXMtYm9yZGVyOiBjb2xvcihxdWF0ZXJuYXJ5KSxcbiAgYnV0dG9uLWZvY3VzLWJhY2tncm91bmQ6IGNvbG9yKHF1YXRlcm5hcnkpLFxuICBidXR0b24tZm9jdXMtdGV4dDogY29sb3Iod2hpdGUpLFxuICBoZWFkbGluZS1ncm91cC1zdXBlcjogY29sb3IoYWNjZW50KSxcbiAgaGVhZGxpbmUtZ3JvdXAtc3ViOiBjb2xvcihhY2NlbnQpLFxuICBtZWRpYS1jaXRhdGlvbjogY29sb3Iod2hpdGUpLFxuICBjYXJvdXNlbC1zaW5nbGUtYnV0dG9uOiBjb2xvcihuZXV0cmFsLWdyZXkpLFxuICBjYXJvdXNlbC1zaW5nbGUtYnV0dG9uLWFydDogY29sb3Iod2hpdGUpLFxuICBjYXJvdXNlbC1jZW50ZXItYnV0dG9uOiB0cmFuc3BhcmVudCxcbiAgY2Fyb3VzZWwtY2VudGVyLWJ1dHRvbi1hcnQ6IGNvbG9yKHdoaXRlKSxcbiAgY2Fyb3VzZWwtZG90OiBjb2xvcihsaWdodC1ncmV5KSxcbiAgY2Fyb3VzZWwtZG90LWFjdGl2ZTogY29sb3IobmV1dHJhbC1ncmV5KSxcbiAgY2Fyb3VzZWwtY2VudGVyLWNhcHRpb246IGNvbG9yKGJsYWNrKSxcbiAgbWVkaWEtYmFja2dyb3VuZDogY29sb3IoYmxhY2spLFxuICB0YWJsZS1oZWFkZXItYmFja2dyb3VuZDogY29sb3Iod2hpdGUpLFxuICB0YWJsZS1oZWFkZXItdGV4dDogY29sb3IoYmxhY2spLFxuICB0YWJsZS1oZWFkZXItYm9yZGVyOiBjb2xvcihibGFjayksXG4gIHRhYmxlLWJhY2tncm91bmQtb2RkOiBjb2xvcihvZmYtd2hpdGUpLFxuICB0YWJsZS1iYWNrZ3JvdW5kLWV2ZW46IGNvbG9yKHdoaXRlKSxcbiAgdGFibGUtdGV4dC1vZGQ6IGNvbG9yKGJsYWNrKSxcbiAgdGFibGUtdGV4dC1ldmVuOiBjb2xvcihibGFjayksXG4pO1xuXG4vLyBjb252ZW5pZW5jZSBhbGlhc2VzXG4kd2hpdGU6IGNvbG9yKHdoaXRlKTtcbiRibGFjazogY29sb3IoYmxhY2spO1xuJGNvbG9yLXRleHQ6IGNvbG9yKGJsYWNrKTtcbiRjb2xvci1saW5rOiBjb2xvcihsaW5rKTtcbi8vIFNldCByciBkZWZhdWx0c1xuJHJyLWZvbnRzOiAkZm9udHM7XG4kcnItbGluZWhlaWdodHM6ICRsaW5laGVpZ2h0cztcblxuJG5hcnJvdy13aWR0aDogcmVtKDc4OHB4KTsiLCIvLyBHZXRzIHRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzOyB2ZXJ5IHVzZWZ1bCBmb3Igd2Fsa2luZ1xuLy8gdGhlIGNvbmZpZ3VyYXRpb24uXG5AZnVuY3Rpb24gcnItYnJlYWtwb2ludC1saXN0KCRjb25maWc6ICRyci1ncmlkLXNldHRpbmdzKSB7XG4gIEByZXR1cm4gbWFwLWtleXMoJGNvbmZpZyk7XG59XG5cbi8vIFJldHVybiBhIGJyZWFrcG9pbnQgY29uZmlndXJhdGlvbiBmb3IgdGhlIHNwZWNpZmllZCB0YWcuIFxuLy8gVGhlIHRhZyBpcyB0aGUgZmlyc3QtbGV2ZWwgdmFsdWUgaW4gdGhlIGAkcnItZ3JpZC1zZXR0aW5nc2AgbWFwLlxuLy8gVGhpcyBkb2VzIG5vdCBjb21wdXRlIG1vYmlsZS1maXJzdCBjYXNjYWRlOyB5b3UgbmVlZCB0byBcbi8vIHVzZSBgJHJyLWNvbWJpbmVkLWJyZWFrcG9pbnRgIGluc3RlYWQuIFxuQGZ1bmN0aW9uIHJyLWJyZWFrcG9pbnQoJHRhZykge1xuICAkY29uZmlnOiAkcnItZ3JpZC1zZXR0aW5ncztcbiAgQGlmIG1hcC1oYXMta2V5KCRjb25maWcsICR0YWcpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGNvbmZpZywgJHRhZyk7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkY29uZmlnLCBudGgobWFwLWtleXMoJGNvbmZpZyksIDEpKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gcnItZmlyc3QtYnJlYWtwb2ludCgkYnJlYWssICRjb25maWc6ICRyci1ncmlkLXNldHRpbmdzKSB7XG4gICRicmVha3M6IHJyLWJyZWFrcG9pbnQtbGlzdCgkY29uZmlnKTtcbiAgQHJldHVybiAkYnJlYWsgPT0gbnRoKCRicmVha3MsIDEpO1xufVxuXG4vLyBSZXR1cm5zIHRoZSBmaXJzdCBicmVha3BvaW50IGNvbmZpZyBzZXR0aW5ncy5cbi8vIFJlbWVtYmVyIG1hcHMgYXJlIDEtaW5kZXhlZC5cbkBmdW5jdGlvbiByci1icmVha3BvaW50LWZpcnN0KCkge1xuICBAcmV0dXJuIHJyLWJyZWFrcG9pbnQobnRoKHJyLWJyZWFrcG9pbnQtbGlzdCgpLCAxKSk7XG59XG5cbi8vIENvbXB1dGUgdGhlIHNpemUgb2YgYSBncmlkIHNxdWFyZSwgY29tcHV0ZWQgaW4gdGhlIHVuaXQgb2YgdGhlXG4vLyBsaW5lIGhlaWdodC4gWW91IGNhbiBwYXNzIGFuIG9wdGlvbmFsIG11bHRpcGxpZXIuXG5AZnVuY3Rpb24gcnItZ3JpZGJhc2UoJG11bHRpcGxpZXI6IDEsJHZ3OiBmYWxzZSkge1xuICAkYmFzZTogaWYoJHZ3LC43ODEyNXZ3LC41cmVtKTtcbiAgQHJldHVybiAkYmFzZSAqICRtdWx0aXBsaWVyO1xufVxuXG4vLyBkZXByZWNhdGVkXG5AZnVuY3Rpb24gcnItZ3JpZC11bml0cygkc3RlcHMpIHtcbiAgQHJldHVybiByci1ncmlkYmFzZSgkc3RlcHMpO1xufVxuXG4vLyBUYWtlcyBhbiBvZmZzZXQgdmFsdWUgKGxpa2UgdGhlIHdpZHRoIG9mIGEgYm9yZGVyKSBhbmQgYSBudW1iZXIgb2YgXG4vLyBncmlkIHN0ZXBzOyByZXR1cm5zIHRoZSBzaXplIG9mIHRoZSByZW1haW5pbmcgZ3JpZCBzdGVwIGFyZWEuXG4vLyBVc2VmdWwgcHJpbWFyaWx5IGZvciBhZGRpbmcgYm9yZGVycyBhcm91bmQgdGhpbmdzLiBcbkBmdW5jdGlvbiByci1ncmlkLXJlbWFpbmRlcigkb2Zmc2V0LCAkc3RlcHM6IDEpIHtcbiAgJHJlc3VsdDogMDtcbiAgQGlmICRzdGVwcyA8IDEge1xuICAgICRyZXN1bHQ6IDA7XG4gIH0gQGVsc2Uge1xuICAgICRzdGVwc2l6ZTogcnItZ3JpZGJhc2UoJHN0ZXBzKTtcbiAgICBAaWYgY29tcGFyYWJsZSgkb2Zmc2V0LCAkc3RlcHNpemUpIHtcbiAgICAgICRyZXN1bHQ6ICRzdGVwc2l6ZSAtICRvZmZzZXQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkcmVzdWx0OiBjYWxjKCN7JHN0ZXBzaXplfSAtICN7JG9mZnNldH0pO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vIENvbnZlbmllbmNlIG1peGluIGZvciBidWlsZGluZyBicmVha3BvaW50cyBhcm91bmQgdGhlIG1lZGlhIHF1ZXJpZXMuIFxuQG1peGluIHJyLWJyZWFrLWRpcmVjdGl2ZSgkYnJlYWssICRjb25maWc6ICRyci1ncmlkLXNldHRpbmdzKSB7XG4gIEBpZiByci1maXJzdC1icmVha3BvaW50KCRicmVhaywgJGNvbmZpZykge1xuICAgIC8vIEJhc2UgQnJlYWtwb2ludFxuICAgIEBjb250ZW50O1xuICAgIC8vIEVuZCBiYXNlIGJyZWFrcG9pbnRcbiAgfSBAZWxzZSB7XG4gICAgJG1xOiByci1wcm9wLWZvci1icmVha3BvaW50KCRicmVhaywgbXEpO1xuICAgICRzaXplOiByci1wcm9wLWZvci1icmVha3BvaW50KCRicmVhaywgc2l6ZSk7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRtcTogJHNpemUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBSZXR1cm4gYSBicmVha3BvaW50IGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBzcGVjaWZpZWQgdGFnLiBcbi8vIFRoZSB0YWcgaXMgdGhlIGZpcnN0LWxldmVsIHZhbHVlIGluIHRoZSBgJHJyLWdyaWQtc2V0dGluZ3NgIG1hcC4gXG4vLyBVbmxpa2UgYHJyLWJyZWFrcG9pbnRgLCB0aGlzIHdpbGwgbG9vayB1cCB2YWx1ZXMgZnJvbSBlYXJsaWVyIFxuLy8gYnJlYWtwb2ludHMuIFxuQGZ1bmN0aW9uIHJyLWNvbWJpbmVkLWJyZWFrcG9pbnQoJGJyZWFrOiBzKSB7XG4gICRicmVha3M6IHJyLWJyZWFrcG9pbnQtbGlzdCgpO1xuICAkd29yay1tYXA6IHJyLWJyZWFrcG9pbnQtZmlyc3QoKTtcbiAgJHN0b3A6IGluZGV4KCRicmVha3MsICRicmVhayk7XG4gIEBpZiBub3QgJHN0b3Age1xuICAgIEByZXR1cm4gJHdvcmstbWFwO1xuICB9IC8vIEJvdW5kcy1jaGVjayB0aGUgc3RvcFxuICBAaWYgKCRzdG9wID4gMSkge1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJHN0b3Age1xuICAgICAgJHRhZzogbnRoKCRicmVha3MsICRpKTtcbiAgICAgICR3b3JrLW1hcDogbWFwLW1lcmdlKCR3b3JrLW1hcCwgcnItYnJlYWtwb2ludCgkdGFnKSk7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJHdvcmstbWFwO1xufVxuXG4vLyBHaXZlbiBhIGJyZWFrcG9pbnQgdGFnIGFuZCBhIHByb3BlcnR5IG5hbWUsIHJldHVybiB0aGUgcHJvcGVydHkgdmFsdWUuIFxuLy8gVGhpcyBsb29rcyBmb3IgdGhlIHByb3BlcnR5IGluIHRoZSBjb21iaW5lZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIHJyLXByb3AtZm9yLWJyZWFrcG9pbnQoJGJyZWFrLCAkcHJvcCkge1xuICAkYnA6IHJyLWNvbWJpbmVkLWJyZWFrcG9pbnQoJGJyZWFrKTtcbiAgQGlmIG1hcC1oYXMta2V5KCRicCwgJHByb3ApIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGJwLCAkcHJvcCk7XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLyBHaXZlbiBhIGJyZWFrcG9pbnQgdGFnIGFuZCBhIHByb3BlcnR5IG5hbWUsIHJldHVybiB0aGUgcHJvcGVydHkgdmFsdWUuIFxuLy8gVGhpcyBsb29rcyBmb3IgdGhlIHByb3BlcnR5IG9ubHkgaW4gdGhlIHNwZWNpZmllZCBicmVha3BvaW50LlxuQGZ1bmN0aW9uIHJyLXN0cmljdC1wcm9wLWZvci1icmVha3BvaW50KCRicmVhaywgJHByb3ApIHtcbiAgJGJwOiByci1icmVha3BvaW50KCRicmVhayk7XG4gIEBpZiBtYXAtaGFzLWtleSgkYnAsICRwcm9wKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRicCwgJHByb3ApO1xuICB9XG4gIEByZXR1cm4gbnVsbDtcbn1cbiIsIi8vIFN0cmlwIGRlY29yYXRpb25zIGZyb20gdW5vcmRlcmVkLCBvcmRlcmVkIGxpc3RzXG5AbWl4aW4gY2xlYW4ge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHRleHQtaW5kZW50OiAwO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibG9jay1oZWFkZXItZm9udCB7XG4gIGgyLFxuICBoMyxcbiAgaDQge1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZSgzeGwpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbn1cblxuLy8gVE9ETzogRG9jdW1lbnRcbkBtaXhpbiBibG9jay1zcGFjaW5nKCRib3JkZXItY29sb3I6IHByaW1hcnkpIHtcbiAgbWFyZ2luLXJpZ2h0OiByci1ncmlkYmFzZSgtMik7XG4gIG1hcmdpbi1sZWZ0OiByci1ncmlkYmFzZSgtMik7XG4gIHBhZGRpbmc6IHJyLWdyaWQtcmVtYWluZGVyKDNweCwgMik7XG4gIGJvcmRlcjogM3B4IGNvbG9yKCRib3JkZXItY29sb3IpIHNvbGlkO1xuXG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZSgnbScpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZzogcnItZ3JpZC1yZW1haW5kZXIoM3B4LCAzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZSgnbCcpIHtcbiAgICBwYWRkaW5nOiByci1ncmlkLXJlbWFpbmRlcig2cHgsIDUpO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICB9XG59XG5cbi8vIFRoaXMgbWl4aW4gaXMgYSBjb252ZW5pZW5jZSB0b29sIGZvciBzZXR0aW5nIGxpbmsgY29sb3JzXG4vLyBvbiB0aGUgbGluay92aXNpdGVkIHN0YXRlIGFuZCB0aGUgaG92ZXIvYWN0aXZlIHN0YXRlLlxuLy8gVXNlIGluc2lkZSBhbiBhbmNob3IgdGFnLlxuLy9cbi8vIEl0J3Mgbm90IG5lY2Vzc2FyeSB0byB1c2UgdGhpcy5cbkBtaXhpbiBsaW5rLWNvbG9ycygkZDogY29sb3IoYmxhY2spLCAkaDogY29sb3IocHJpbWFyeSkpIHtcbiAgY29sb3I6ICRkO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBjb2xvcjogJGg7XG4gIH1cbn1cblxuLy8gU3RyaXAgb2ZmIGJyb3dzZXIgZGVmYXVsdCBidXR0b24gc3R5bGluZyBmb3IgZnVuY3Rpb25hbCBidXR0b25zXG4vLyB0aGF0IGRvbid0IGxvb2sgbGlrZSBcImJ1dHRvbnNcIlxuQG1peGluIGJhcmUtYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUoKTtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJhcmxvdy1jb25kZW5zZWQ7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyBBZGp1c3QgaWNvbiBsYWJlbHMgc28gdGhlIGljb25zIGFuZCBsYWJlbHMgXG4vLyBsaW5lIHVwXG5AbWl4aW4gaWNvbi1sYWJlbC1hbGlnbiB7XG4gIC5pY29uLWxhYmVsIHtcbiAgICAuaWMge1xuICAgICAgd2lkdGg6IDFlbTtcbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgbWFyZ2luLWxlZnQ6IC41ZW07XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBkaXZpZGVyKCRjZW50ZXJlZDogZmFsc2UsICRjb2xvcjogcHJpbWFyeSkge1xuICAmOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCRjb2xvcik7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNTBweDtcblxuICAgIEBpZiAkY2VudGVyZWQge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gZ2VuZXJhdGUgdGhlIGltYWdlIHVybCBieSBwcmVmaXhpbmcgdGhlIGxheW91dCBpbWFnZSBwYXRoXG5AZnVuY3Rpb24gaW1hZ2UtdXJsKCR1cmwpIHtcbiAgQHJldHVybiB1cmwoJyN7JGltYWdlLXVybC1wYXRofSN7JHVybH0nKTtcbn1cblxuXG4vLyBCRU0gaGVscGVyc1xuLy8gZm9yIGJsb2NrLS1tb2RpZmllclxuQG1peGluIG1vZGlmaWVyKCRzZWxlY3RvciwgJGZvcmNlX292ZXJyaWRlOiBmYWxzZSkge1xuICBAaWYgKCRmb3JjZV9vdmVycmlkZSkge1xuICAgICYjeyZ9LS0jeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCAjeyZ9LS0jeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4vLyBmb3IgYmxvY2tfX2VsZW1lbnRcbkBtaXhpbiBlbGVtZW50KCRzZWxlY3Rvcikge1xuICBAYXQtcm9vdCAjeyZ9X18jeyRzZWxlY3Rvcn0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIEEgaGFjayBmb3IgRHJ1cGFsIGNvbnRleHR1YWwgcmVnaW9uc1xuQG1peGluIHN0YXRpYy1jb250ZXh0dWFsIHtcbiAgLmNvbnRleHR1YWwtcmVnaW9uIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICB9XG4gIC5jb250ZXh0dWFsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbn1cblxuQG1peGluIGhlYWRpbmctdW5kZXJsaW5lIHtcbiAgc3BhbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIGNvbG9yKGFjY2VudCk7XG4gICAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtZGFzaGVkIHtcbiAgcGFkZGluZy10b3A6IHJlbSgzMHB4KTtcbiAgYm9yZGVyLXRvcDogM3B4IGRhc2hlZCBjb2xvcihsaWdodC1ncmV5KTtcbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDYwcHgpO1xuICB9XG59XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG5cbkBtaXhpbiB2aXN1YWxseS1oaWRkZW4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC05OTk5OTllbTtcbiAgbGVmdDogLTk5OTk5OWVtO1xufVxuXG5cblxuQG1peGluIHNlbGVjdC1iYWNrZ3JvdW5kIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBZ0FBQUFFQkFNQUFBQkI0MlBEQUFBQUQxQk1WRVVBQUFBME5EUXpNek16TXpQLy8vK2lzQ0ZrQUFBQUEzUlNUbE1BZ0lnaWxsZUhBQUFBQVdKTFIwUUVqMmpaVVFBQUFCeEpSRUZVQ0IxalVEWTJObUpnTkRZV1lHQVFObVJnWUdBVVlBQUFGSkVCaU41WlBDSUFBQUFBU1VWT1JLNUNZSUk9Jyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIC41cmVtKSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogOHB4IDRweDtcblxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiB0ZWV0aC1kZWNvcmF0aW9uKCRzaWRlOiBsZWZ0LCAkc2lkZV92ZXJ0aWNhbDogYm90dG9tKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybCgndGVhc2VyLWRlY29yYXRpb24ucG5nJyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogOTFweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGlmICgkc2lkZV92ZXJ0aWNhbCA9PSAnYm90dG9tJykge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICAgIEBpZiAoJHNpZGUgPT0gJ2xlZnQnKSB7XG4gICAgICBsZWZ0OiByZW0oMzJweCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHJpZ2h0OiByZW0oMzJweCk7XG4gICAgfVxuICB9XG59IiwiLyogZ2V0cyB0aGUgYF9oZWFkZXIuc2Nzc2Agc3R5bGVzLCBhbmQgdGhlbiB0aGlzIGZpbGUgaGFzIGFueSBuZWVkZWQgc3VwcGxlbWVudHMgYW5kIG92ZXJyaWRlcyAqL1xuXG4uY29tbXVuaXR5LWhlYWRlci13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xufVxuXG4uc2xhYi5oZWFkZXIuY29tbXVuaXR5LWhlYWRlciB7XG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShsKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLmNvbW11bml0eS1hcmVhLWxhYmVsLW1vYmlsZSB7XG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShsKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGNvbG9yOiAjMDAwO1xuICBmb250LWZhbWlseTogQmFybG93IENvbmRlbnNlZDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDA7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogMzYwcHgpIHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShtKSB7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICB9XG59XG5cbi5jb21tdW5pdHktaGVhZGVyIC5oZWFkZXJfX21haW4ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMXJlbTtcblxuICAuaGVhZGVyX19tYWluLW5hdiB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgfVxufVxuXG4uY29tbXVuaXR5LWhlYWRlciAuaGVhZGVyX19tYWluIC5nbG9iYWwtbmF2X19tZW51IC5tZW51LWxldmVsLTAgPiB1bCA+IGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC40cmVtIDA7XG5cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgICBwYWRkaW5nOiAwIC41cmVtO1xuICB9XG59XG5cbi5jb21tdW5pdHktaGVhZGVyLW1lbnUtZXh0cmFzIHtcbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5jb21tdW5pdHktaGVhZGVyIC5oZWFkZXJfX2Ryb3Bkb3duLmhlYWRlcl9fZHJvcGRvd24ge1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBtYXJnaW46IC0xcmVtO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuICBwYWRkaW5nOiAwIDFyZW07XG5cbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbWF4LWhlaWdodCwgcGFkZGluZy1ib3R0b207XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4zcywgLjFzO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwcywgLjFzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblxuICAmLm9wZW5lZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHMsIDBzO1xuICB9XG5cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICB9XG5cbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgPiBwIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShsKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICBmb250LWZhbWlseTogQmFybG93IENvbmRlbnNlZDtcbiAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07IC8qIDEwMCUgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogMDsgICAgICAgIFxuICB9XG59XG5cbi5zbGFiLmNvbW11bml0eS1oZWFkZXJfX3RvcC1iYXIge1xuICBkaXNwbGF5OiBub25lO1xuICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcblxuICAudG9wLWJhci1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEuNXJlbTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAudG9wLWJhci1saW5rcyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMC43NXJlbTtcblxuICAgIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwLjNlbTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5RTlFOUU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiBibGFjaztcblxuICAgICAgJjpob3ZlciwgJjpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgY29sb3I6ICNEMDAyMUI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb2ZpbGUtbGlua3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0QTRBNEE7XG4gICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjJyZW0gMXJlbSAwLjNyZW07XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC43NXJlbTtcblxuICAgID4gOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwLjNlbTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgaGVpZ2h0OiAwLjc1ZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5RTlFOUU7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogd2hpdGU7XG5cbiAgICAgICY6aG92ZXIsICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIGNvbG9yOiAjRjBGMEYwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29tbXVuaXR5LWhlYWRlci1tZW51LWV4dHJhcyB7XG4gIHVsLmV4dHJhLWxpbmtzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDAuNzVyZW07XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuNDM3NXJlbTtcbiAgICAgIGNvbG9yOiAjNEE0QTRBO1xuXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBjb2xvcjogI0QwMDIxQjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1saW5rcyB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICBtYXgtd2lkdGg6IG1heC1jb250ZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0QTRBNEE7XG4gICAgYm9yZGVyLXJhZGl1czogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjJyZW0gMXJlbSAwLjNyZW07XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMC43NXJlbTtcblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMC4zZW07XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGhlaWdodDogMC43NWVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOUU5RTlFO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IHdoaXRlO1xuXG4gICAgICAmOmhvdmVyLCAmOmZvY3VzLXZpc2libGUge1xuICAgICAgICBjb2xvcjogI0YwRjBGMDtcbiAgICAgIH1cbiAgICB9XG4gIH0gXG59IiwiLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNTI1MjU7XG4gIGNvbG9yOiAjREFEQURBO1xuXG4gIGEge1xuICAgIEBpbmNsdWRlIGxpbmstY29sb3JzKCNEQURBREEpO1xuICB9XG4gIEBpbmNsdWRlIGVsZW1lbnQoJ21haW4nKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgPiAqIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBlbGVtZW50KCdicmFuZGluZycpIHtcbiAgICB3aWR0aDogMTUxcHg7XG4gIH1cbiAgQGluY2x1ZGUgZWxlbWVudCgnbWVudScpIHtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGxpIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnfCc7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIC41cmVtO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBsaSwgYSB7XG4gICAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUobCk7XG4gICAgfVxuICAgIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZWxlbWVudCgnc29jaWFsJykge1xuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobSkge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUobCk7XG4gICAgfVxuICB9XG5cbiAgLmZvb3Rlcl9fc29jaWFsX19pbnRybyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0oOXB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShsKSB7XG4gICAgQGluY2x1ZGUgZWxlbWVudCgnbWFpbicpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICA+ICoge1xuICAgICAgICBtYXJnaW46IDAgMDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgZWxlbWVudCgnc29jaWFsJykge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5mb290ZXJfX3NvY2lhbF9faW50cm8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMzVweCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLmZvb3Rlci1zdWIge1xuICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoYmxhY2spO1xuICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKHMpO1xuICB9XG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShsKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufSIsIiRib3R0b20tcm93LWhlaWdodDogcmVtKDQ0cHgpO1xuXG4uc2xhYi5oZWFkZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgY29sb3IocHJpbWFyeSk7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKG5lYXItd2hpdGUpO1xufVxuXG4uaGVhZGVyX19tYWluIHtcbiAgcGFkZGluZzogMXJlbTtcblxuICAuaGVhZGVyX19icmFuZGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYSB7XG4gICAgICBmbGV4OiAwIDAgcmVtKDE0M3B4KTtcbiAgICB9XG4gICAgaW1nLCBzdmcge1xuICAgICAgaGVpZ2h0OiByZW0oNTBweCk7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbiAgLmhlYWRlcl9fZHJvcGRvd24ge1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC4zcyBlYXNlLWluO1xuICAgICYub3BlbmVkIHtcbiAgICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xuICAgIH1cbiAgfVxuICAuaGVhZGVyX19uYXYtb3BlbiB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAuY2xvc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi5vcGVuIHtcbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgICAub3BlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5oZWFkZXJfX21haW4tbmF2IHtcbiAgICBwYWRkaW5nLXRvcDogcmVtKDIwcHgpO1xuICB9XG5cbiAgLmJhY2stdG8tYnV0dG9uIHtcbiAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUoeGwpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIH1cbiAgfVxuXG4gICYuaGVhZGVyX19tYWluLS1zdHJldGNoZWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogI3tyci1wcm9wLWZvci1icmVha3BvaW50KGwsIHNpemUpIC0gKDEvMTYpfSkge1xuICAgIC5oZWFkZXJfX2Ryb3Bkb3duIHtcbiAgICAgIC5nbG9iYWwtbmF2X19tZW51IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE0cHgpO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbSg1cHgpIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5vcGVuLWNoaWxkcmVuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgdG9wOiAuNHJlbTtcbiAgICAgICAgICAuY2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgIC5jbG9zZSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAub3BlbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZW51LWxldmVsLTAge1xuICAgICAgICAgID4gdWwgPiBsaSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0MzQzNDMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1lbnUtbGV2ZWwtMSB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDIwcHgpO1xuICAgICAgICAgIC5vcGVuLWNoaWxkcmVuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICYub3BlbmVkIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKC01cHgpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSg1cHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YwRjBGMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjQzNDM0MzO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIC5tZW51LWxldmVsLTIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWVudS1sZXZlbC0yIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgyMHB4KTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIC5tZW51LWxldmVsLTMge1xuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICfigJQgJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgbGksIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShtKSB7XG4gICAgLmdsb2JhbC1uYXZfX21lbnUgLm1lbnUtbGV2ZWwtMCA+IHVsID4gbGkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIC5oZWFkZXJfX2JyYW5kaW5nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleDogMCAxIHJlbSgyMDJweCk7XG4gICAgICBpbWcsIHN2ZyB7XG4gICAgICAgIGhlaWdodDogcmVtKDcycHgpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlcl9fZHJvcGRvd24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgLmhlYWRlcl9fbWFpbi1uYXYge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgIH1cbiAgICAgIC5oZWFkZXJfX3V0aWxpdHkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyX19uYXYtb3BlbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5nbG9iYWwtbmF2X19tZW51IC5tZW51LWxldmVsLTAgPiB1bCA+IGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgLjVyZW07XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKHhsKSB7XG4gICAgcGFkZGluZzogMCAwIHJlbSgxNXB4KSAwO1xuICAgIC5oZWFkZXJfX2Ryb3Bkb3duIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtKDQwcHgpO1xuICAgIH1cbiAgfVxufVxuXG4uZ2xvYmFsLW5hdiB7XG4gIGEsIGJ1dHRvbiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShtKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIEBpbmNsdWRlIGxpbmstY29sb3JzKGNvbG9yKGRhcmstZ3JleSkpO1xuICB9XG4gIEBpbmNsdWRlIGVsZW1lbnQoJ21lbnUnKSB7XG4gICAgdWwge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShsKSB7XG4gICAgLmRyb3Bkb3duIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGljb25mb250O1xuICAgICAgICBjb250ZW50OiAkaWNvbi1hcnJvdy11cDtcbiAgICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3MgZWFzZS1pbjtcbiAgICAgICAgcGFkZGluZzogMCAxZW07XG4gICAgICB9XG4gICAgICAmLm9wZW4ge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm9wZW4tY2hpbGRyZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLnJlYWwtcGFnZSAuc3VibWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBlbGVtZW50KCdtZW51Jykge1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtKDIwcHgpO1xuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRib3R0b20tcm93LWhlaWdodCAtIDEuOXJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1lbnUtbGV2ZWwtMCB7XG4gICAgICAgID4gdWwgPiBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmc6IDAgcmVtKDIwcHgpO1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IC4zcztcbiAgICAgICAgICAmLmNoaWxkcmVuLW9wZW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDEycHggMTJweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI4KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLm1lbnUtbGV2ZWwtMSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlLWluO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vIHRvcDogJGJvdHRvbS1yb3ctaGVpZ2h0O1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiByZW0oMjUwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAxMnB4IDEycHggMHB4IHJnYmEoMCwgMCwgMCwgMC4yOCk7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICA+IHVsIHsgXG4gICAgICAgICAgLy8gcGFkZGluZzogMCByZW0oMjBweCkgcmVtKDEwcHgpIHJlbSgyMHB4KTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0oMTZweCkgcmVtKDIwcHgpIHJlbSgxMHB4KSByZW0oMjBweCk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJi5vcGVuZWQge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDcwMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubWVudS1sZXZlbC0yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKHhsKSB7XG4gICAgYSwgYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShsKTtcbiAgICB9XG4gIH1cbn1cblxuLnV0aWxpdHktbmF2IHtcbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBAaW5jbHVkZSBsaW5rLWNvbG9ycyhjb2xvcihuZXV0cmFsLWdyZXkpKTtcbiAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUocyk7XG4gIH1cbiAgQGluY2x1ZGUgZWxlbWVudCgnbWVudScpIHtcbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG4gIH1cbiAgLmhlYWRlcl9fZHJvcGRvd24ub3BlbmVkICYge1xuICAgIC51dGlsaXR5LW5hdl9fbWVudSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjRweCk7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShsKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGEge1xuICAgICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKG0pO1xuICAgIH1cbiAgICBAaW5jbHVkZSBlbGVtZW50KCdtZW51Jykge1xuICAgICAgcGFkZGluZzogcmVtKDEzcHgpIDA7XG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIC4yNXJlbTtcbiAgICAgICAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1zZWFyY2gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAjc2VhcmNoX3Ege1xuICAgIGhlaWdodDogJGJvdHRvbS1yb3ctaGVpZ2h0O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUJFQkVCO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDRweCk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IHJlbSgxMnB4KTtcbiAgICBtYXJnaW46IDA7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKG0pIHtcbiAgICBidXR0b24ge1xuXG4gICAgfVxuICB9XG59IiwiLy8gT25seSBtaXhpbnMgYW5kIHZhcmlhYmxlcyBhbGxvd2VkIGluIHRoaXMgZmlsZS5cbkBtaXhpbiBpY29uZm9udCB7XG4gICAgZm9udC1mYW1pbHk6IFwiaWNvbmZvbnRcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4kaWNvbi1hbGVydDogXCJcXEVBMDFcIjtcbiAgICAkaWNvbi1hbmdsZS1kb3duOiBcIlxcRUEwMlwiO1xuICAgICRpY29uLWFuZ2xlLWxlZnQ6IFwiXFxFQTAzXCI7XG4gICAgJGljb24tYW5nbGUtcmlnaHQ6IFwiXFxFQTA0XCI7XG4gICAgJGljb24tYW5nbGUtdXA6IFwiXFxFQTA1XCI7XG4gICAgJGljb24tYXJyb3ctZG93bjogXCJcXEVBMDZcIjtcbiAgICAkaWNvbi1hcnJvdy11cDogXCJcXEVBMDdcIjtcbiAgICAkaWNvbi1hdWRpbzogXCJcXEVBMDhcIjtcbiAgICAkaWNvbi1ib2x0OiBcIlxcRUEwOVwiO1xuICAgICRpY29uLWJyaWVmY2FzZTogXCJcXEVBMEFcIjtcbiAgICAkaWNvbi1jYWxjdWxhdG9yOiBcIlxcRUEwQlwiO1xuICAgICRpY29uLWNhbWVyYTogXCJcXEVBMENcIjtcbiAgICAkaWNvbi1jYXA6IFwiXFxFQTBEXCI7XG4gICAgJGljb24tY2hlY2tib3gtY2hlY2tlZDogXCJcXEVBMEVcIjtcbiAgICAkaWNvbi1jaGVja2JveC1lbXB0eTogXCJcXEVBMEZcIjtcbiAgICAkaWNvbi1jbGlwYm9hcmQ6IFwiXFxFQTEwXCI7XG4gICAgJGljb24tY2xvY2s6IFwiXFxFQTExXCI7XG4gICAgJGljb24tY2xvc2U6IFwiXFxFQTEyXCI7XG4gICAgJGljb24tY29nLWJveDogXCJcXEVBMTNcIjtcbiAgICAkaWNvbi1jb2x1bW5zOiBcIlxcRUExNFwiO1xuICAgICRpY29uLWV2ZW50OiBcIlxcRUExNVwiO1xuICAgICRpY29uLWZhY2Vib29rLWJsb2NrOiBcIlxcRUExNlwiO1xuICAgICRpY29uLWZhY2Vib29rOiBcIlxcRUExN1wiO1xuICAgICRpY29uLWZpbGUtZG93bmxvYWQ6IFwiXFxFQTE4XCI7XG4gICAgJGljb24taGFtYnVyZ2VyOiBcIlxcRUExOVwiO1xuICAgICRpY29uLWhvbWU6IFwiXFxFQTFBXCI7XG4gICAgJGljb24taW5mbzogXCJcXEVBMUJcIjtcbiAgICAkaWNvbi1pbnN0YWdyYW0tYmxvY2s6IFwiXFxFQTFDXCI7XG4gICAgJGljb24taW5zdGFncmFtOiBcIlxcRUExRFwiO1xuICAgICRpY29uLWxpbmtlZGluLWJsb2NrOiBcIlxcRUExRVwiO1xuICAgICRpY29uLWxpbmtlZGluOiBcIlxcRUExRlwiO1xuICAgICRpY29uLW1hZ25pZnk6IFwiXFxFQTIwXCI7XG4gICAgJGljb24tcGF1c2U6IFwiXFxFQTIxXCI7XG4gICAgJGljb24tcGluOiBcIlxcRUEyMlwiO1xuICAgICRpY29uLXBpbnRlcmVzdC1ibG9jazogXCJcXEVBMjNcIjtcbiAgICAkaWNvbi1waW50ZXJlc3Q6IFwiXFxFQTI0XCI7XG4gICAgJGljb24tcGxheS10cmlhbmdsZTogXCJcXEVBMjVcIjtcbiAgICAkaWNvbi1wb3B1cDogXCJcXEVBMjZcIjtcbiAgICAkaWNvbi1xdW90ZS1jbG9zZTogXCJcXEVBMjdcIjtcbiAgICAkaWNvbi1xdW90ZS1vcGVuOiBcIlxcRUEyOFwiO1xuICAgICRpY29uLXJzczogXCJcXEVBMjlcIjtcbiAgICAkaWNvbi1zbmFwY2hhdC1ibG9jazogXCJcXEVBMkFcIjtcbiAgICAkaWNvbi1zbmFwY2hhdDogXCJcXEVBMkJcIjtcbiAgICAkaWNvbi10d2l0dGVyLWJsb2NrOiBcIlxcRUEyQ1wiO1xuICAgICRpY29uLXR3aXR0ZXI6IFwiXFxFQTJEXCI7XG4gICAgJGljb24tdmlkZW86IFwiXFxFQTJFXCI7XG4gICAgJGljb24tdmlkZW9jb25mZXJlbmNlOiBcIlxcRUEyRlwiO1xuICAgICRpY29uLXlvdXR1YmUtYmxvY2s6IFwiXFxFQTMwXCI7XG4gICAgJGljb24teW91dHViZTogXCJcXEVBMzFcIjtcbiAgICAiLCIub3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAuNTtcbiAgbWl4LWJsZW5kLW1vZGU6IG11bHRpcGx5O1xuXG4gIGRpdiwgcGljdHVyZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgLy8gUG9seWZpbGwgZm9yIG9iamVjdC1maXQgdXNlcyB0aGlzLlxuICAgIGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogY29udGFpbic7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gIH1cblxuICAvLyBUaGlzIHVzZXMgdGhlIGltYWdlIHRvIGZpbGwgdGhlIHNwYWNlLCBhbGlnbmluZyBhdCB0aGUgdG9wXG4gICYjeyZ9LS1saW5lLWFydCB7XG4gICAgb3BhY2l0eTogLjI7XG5cbiAgICBpbWcge1xuICAgICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiB0b3AgY2VudGVyJztcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGNvbnRhaW5zIHRoZSBpbWFnZSBpbiB0aGUgYXZhaWxhYmxlIHNwYWNlIGV4Y2VwdCBmb3IgYSBcbiAgLy8gbWFyZ2luIG9mIDIgcmVtIGF0IHRoZSB0b3AgYW5kIHRoZSBib3R0b20uIFRoZSBpbWFnZSB3aWxsIHNjYWxlXG4gIC8vIGRvd24gdG8gZml0IHdpdGhpbiB0aGF0IHJlY3RhbmdsZVxuICAmI3smfS0tbGluZS1hcnQtLWNvbnRhaW4ge1xuICAgIG9wYWNpdHk6IC4yO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0cmVtKTtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNHJlbSk7XG4gICAgICBwYWRkaW5nOiAycmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb250YWluOyBvYmplY3QtcG9zaXRpb246IGNlbnRlcic7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKG0pIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG59XG5cbiIsIm9sIHtcbiAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKHIsbWVkaXVtKTtcbiAgXG4gICYuY2xlYW4ge1xuICAgIEBpbmNsdWRlIGNsZWFuO1xuICB9XG5cbiAgJi5zdHlsZWQtY291bnRlciB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBjb3VudGVyLXJlc2V0OiBiYXNlLWNvdW50ZXI7XG5cbiAgICA+IGxpIHtcbiAgICAgIGNvdW50ZXItaW5jcmVtZW50OiBiYXNlLWNvdW50ZXI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIuM2VtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBjb250ZW50OiBjb3VudGVyKGJhc2UtY291bnRlcikgJyknO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsZWZ0OiAwOyAgXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJ1bCB7XG4gIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShyLCBtZWRpdW0pO1xuXG4gICYuY2xlYW4sXG4gICYuc2VyaWVzLFxuICAmLnBpcGVkIHtcbiAgICBAaW5jbHVkZSBjbGVhbjtcbiAgfVxuXG4gICYuY2xlYW4ge1xuICAgIHVsIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcnItZ3JpZC11bml0cygzKTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5zZXJpZXMsXG4gICYucGlwZWQsXG4gICYuaW5saW5lIHtcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi5zZXJpZXMge1xuICAgIGxpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnLCAnO1xuICAgIH1cbiAgICBsaTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJ1xuICAgIH1cbiAgfVxuXG4gICYucGlwZWQge1xuICAgIGxpOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnIHwgJztcbiAgICB9XG5cbiAgICBsaTpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJ1xuICAgIH1cbiAgfVxuXG4gICYuYXJyb3cge1xuICAgICRhcnJvdy1pbmRlbnQ6IDIuM2VtO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAkYXJyb3ctaW5kZW50O1xuICAgIHRleHQtaW5kZW50OiAwO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtYmFybG93O1xuICAgICAgICBjb250ZW50OiAn4p+2JztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtJGFycm93LWluZGVudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogJGFycm93LWluZGVudDtcbiAgICAgICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5ncmlkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gIH1cblxuICAmLnBhZGRlZCB7XG4gICAgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcnItZ3JpZGJhc2UoMyk7XG4gICAgfVxuICB9XG5cbiAgJi5jaGVja2JveGVzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGkge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIEBpbmNsdWRlIGljb25mb250O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByci1ncmlkLXVuaXRzKDEpO1xuICAgICAgfVxuICAgICAgJi5jaGVja2VkIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAkaWNvbi1jaGVja2JveC1jaGVja2VkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnVuY2hlY2tlZCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJGljb24tY2hlY2tib3gtZW1wdHk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5pbmxpbmUge1xuICAgICAgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJyLWdyaWQtdW5pdHMoMik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5jZW50ZXJlZCB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAmW2RhdGEtdGFiYnktdGFic10ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMXJlbTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcblxuICAgIFthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiBibGFjaztcbiAgICB9XG4gIH1cbn1cblxuLmNvbW11bml0eS1wYWdlLXRhYnMgdWxbZGF0YS10YWJieS10YWJzXSB7XG4gIGdhcDogMHJlbTtcbiAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNkMDAwMWI7XG4gIG1heC13aWR0aDogbWF4LWNvbnRlbnQ7XG5cbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogLjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICAgIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWF4LXdpZHRoOiA4cmVtO1xuICAgICAgcGFkZGluZzogMXJlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzRBNEE0QTtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzRBNEE0QTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJlthcmlhLXNlbGVjdGVkPXRydWVdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2QwMDAxYjtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMC41cmVtO1xuICAgICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1My43NXJlbSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgbGkge1xuICBcbiAgICAgIGEge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNEE0QTRBO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzRBNEE0QTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgIH1cbiAgICB9ICBcbiAgfVxufVxuXG5bcm9sZT10YWJwYW5lbF1baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiZGwge1xuICBkdCB7XG4gICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKGwsIG1lZGl1bSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcnItZ3JpZGJhc2UoMSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIGRkIHtcbiAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUociwgbWVkaXVtKTtcbiAgICBtYXJnaW4tYm90dG9tOiByci1ncmlkYmFzZSgyKTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gICYuaW52aXNpYmxlLWxhYmVscyB7XG4gICAgZHQgeyBcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAuNXJlbTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnOiAnO1xuICAgICAgfVxuICAgIH1cbiAgICBkZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiYmxvY2txdW90ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHN1YnRsZS1ncmV5KTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBtYXJnaW46IDFyZW07XG4gIHBhZGRpbmc6IHJlbSgyMHB4KTtcbn0iLCIkYnV0dG9uLWJvcmRlcjogcmVtKDNweCk7XG5cbi8vIFJlc2V0LlxuYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJhcmxvdztcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5idXR0b24ge1xuICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUobSk7XG5cbiAgYmFja2dyb3VuZDogY29sb3IocHJpbWFyeSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgLjVyZW0gMCAwO1xuICBwYWRkaW5nOiByci1ncmlkYmFzZSgxKSByci1ncmlkYmFzZSgzKTtcbiAgdHJhbnNpdGlvbjogLjJzIGVhc2UtaW4tb3V0O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgZm9udC1mYW1pbHk6ICRmb250LWJhcmxvdy1jb25kZW5zZWQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICYuYnV0dG9uLS1tdXRlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcihsaWdodC1ncmV5KSwgLjMpO1xuICAgIGJvcmRlci1jb2xvcjogcmdiYShjb2xvcihsaWdodC1ncmV5KSwgLjMpO1xuICAgIGNvbG9yOiBjb2xvcihibGFjayk7XG4gICAgJi5idXR0b24tLWFycm93IHtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgJi5idXR0b24tLWFycm93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYXJpYW50c1xuICAmLmJ1dHRvbi0tc21hbGwge1xuICAgIHBhZGRpbmc6ICN7cnItZ3JpZGJhc2UoLjUpIC0gJGJ1dHRvbi1ib3JkZXJ9ICN7cnItZ3JpZGJhc2UoMSkgLSAkYnV0dG9uLWJvcmRlcn07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWJhcmxvdztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShzKTtcbiAgICAmLmJ1dHRvbi0tYXJyb3cge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJyLWdyaWRiYXNlKC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmJ1dHRvbi0tbGFyZ2Uge1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShsKTtcbiAgICBwYWRkaW5nOiAje3JyLWdyaWRiYXNlKDIpIC0gJGJ1dHRvbi1ib3JkZXJ9ICN7cnItZ3JpZGJhc2UoNCkgLSAkYnV0dG9uLWJvcmRlcn07XG4gIH1cblxuICAmLmJ1dHRvbi0tYXJyb3cge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGljb25mb250O1xuICAgICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKHhzKTtcbiAgICAgIGNvbnRlbnQ6ICRpY29uLWFuZ2xlLXJpZ2h0O1xuICAgICAgcGFkZGluZy1sZWZ0OiByci1ncmlkYmFzZSgxKTtcbiAgICB9XG4gIH1cblxuICAmLmJ1dHRvbi0tZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogI3tyci1ncmlkYmFzZSgyKSAtICRidXR0b24tYm9yZGVyfSAje3JyLWdyaWRiYXNlKDQpIC0gJGJ1dHRvbi1ib3JkZXJ9O1xuICAgICYuYnV0dG9uLS1hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZpZGVvLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAudmlkZW8tYnV0dG9uX19wYXVzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAudmlkZW8tYnV0dG9uX19wbGF5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi52aWRlby1idXR0b24tLXBhdXNlZCB7XG4gICAgICAudmlkZW8tYnV0dG9uX19wYXVzZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC52aWRlby1idXR0b25fX3BsYXkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiY2l0ZSB7XG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKHMpO1xuICB9XG59IiwiLmljb25fX2dseXBoIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMWVtO1xuICBoZWlnaHQ6IDFlbTtcbn1cblxuLmljb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgLmljb25fX2dseXBoIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IC41NWVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC5pY29uX19sYWJlbCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuXG4uaWNvbi0tYWZ0ZXIge1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIC5pY29uX19nbHlwaCB7XG4gICAgcGFkZGluZy1sZWZ0OiByci1ncmlkYmFzZSgxKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmljb24tLW5vLWxhYmVsIHtcbiAgLmljb25fX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5pY29uX19nbHlwaCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG59XG5cbi5pY29uLS1zdGFja2VkIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcblxuICAuaWNvbl9fZ2x5cGgge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgICBmb250LXNpemU6IDIuNWVtO1xuICB9XG59XG5cbi5pY29uLS1iaWcge1xuICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUoeGwpO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gIC5pY29uX19nbHlwaCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAuNWVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICB9XG5cbiAgQGF0LXJvb3QgYnV0dG9uICN7Jn0sXG4gIC5idXR0b24gI3smfSB7XG4gICAgLmljb25fX2xhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEp1c3QgdG8gbGV0IHlvdSBrbm93IHRoaXMgaXMgYW4gb3B0aW9uLlxuLy8gVGhpcyB0d2Vha3MgdGhlIGljb24tbGFiZWwgc3R5bGVzIHNvIHRoZVxuLy8gbGFiZWwgYW5kIHRoZSBpY29ucyBsaW5lIHVwXG4uYWxpZ24taWNvbnMge1xuICBAaW5jbHVkZSBpY29uLWxhYmVsLWFsaWduO1xufVxuIiwiYSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIC4ycyBlYXNlLWluLW91dDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAmLmJ1dHRvbiB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gIH1cbn1cblxuLmZhbmN5LWxpbmtzIGEsXG5hLmxpbmstLWZhbmN5LFxuLmxpbmstLWFycm93LFxuLmFycm93LWxpbmtzIGEsXG5hLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5saW5rLS1mYW5jeSxcbi5mYW5jeS1saW5rcyBhIHtcbiAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKGwpO1xuICBAaW5jbHVkZSBsaW5rLWNvbG9ycygkZDogY29sb3IocHJpbWFyeSksICRoOiBjb2xvcihzZWNvbmRhcnkpKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgLjJzIGVhc2UtaW4tb3V0LCBcbiAgICBtYXJnaW4tcmlnaHQgLjJzIGVhc2UtaW4tb3V0LCBcbiAgICBwYWRkaW5nLWxlZnQgLjJzIGVhc2UtaW4tb3V0LFxuICAgIHRleHQtaW5kZW50IC4ycyBlYXNlLWluLW91dDtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICB0ZXh0LWluZGVudDogLTE2cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3R0b206IC0xcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAuN2VtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTBkZWcpO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIC4ycyBlYXNlLWluLW91dCwgbWFyZ2luLWxlZnQgLjJzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgdGV4dC1pbmRlbnQ6IC0yNnB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi5saW5rLS1hcnJvdyxcbi5hcnJvdy1saW5rcyBhIHtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1pbmRlbnQ6IHJyLWdyaWQtdW5pdHMoLTMpO1xuICBtYXJnaW4tbGVmdDogcnItZ3JpZC11bml0cygzKTtcbiAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKGwpO1xuICAmOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSBpY29uZm9udDtcbiAgICBjb250ZW50OiAkaWNvbi1hbmdsZS1yaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiByci1ncmlkLXVuaXRzKDEpO1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gIH1cbn1cblxuLmJpZy1pY29uIHtcbiAgLmljb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5pY29uX19nbHlwaCwgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IHJlbSg0MHB4KTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmb250LXNpemU6IHJlbSg0MHB4KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcnItZ3JpZGJhc2UoMS41KTtcbiAgfVxufVxuXG4vLyBUd2VhayB0aGUgZm9udCBzaXplXG4uZWRpdG9yaWFsIC5saW5rLS1mYW5jeSxcbi5lZGl0b3JpYWwgLmxpbmstLWZhbmN5LXJldmVyc2Uge1xuICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUobCk7XG59XG4iLCIvLyBOb3JtYWxpemUgaGVhZGluZyBzaXplczsgaGVhZGluZ3MgaW4gYSBcbi8vIGRpc3BsYXkgY29udGV4dCBzaG91bGQgaGF2ZSBhbiBhZGRpdGlvbmFsIFxuLy8gZm9udCBzdHlsZSBhcHBsaWVkIHRvIHRoZW0uXG5cbiRoZWFkaW5nLXNpemVzOiA2bCwgNGwsIDNsLCAybCwgeGwsIGw7XG5cbkBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gIGgjeyRpfSB7XG4gICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKG50aCgkaGVhZGluZy1zaXplcywgJGkpKTtcbiAgICBmb250LWZhbWlseTogJGZvbnQtYmFybG93LWNvbmRlbnNlZDsgXG4gIH1cbn1cblxuJGVkLWhlYWRpbmctc2l6ZXM6IDZsLCA0bCwgeGwsIGwsIG0sIG0sIHM7XG5cbkBmb3IgJGkgZnJvbSAyIHRocm91Z2ggNiB7XG4gIGgjeyRpfSB7XG4gICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKG50aCgkZWQtaGVhZGluZy1zaXplcywgJGkpKTtcbiAgICBtYXJnaW46IHJyLWdyaWRiYXNlKDIpIDA7XG4gIH1cbn1cblxuaDEge1xuICBtYXJnaW46IDA7XG4gICYgKyAuc2xhYiB7XG4gICAgcGFkZGluZy10b3A6IHJyLWdyaWRiYXNlKDEpO1xuICB9XG59XG5cbi5oMy1sb29rIHtcbiAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKHhsKTtcbn0iLCJwIHtcbiAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKG0pO1xuICBtYXJnaW4tYm90dG9tOiByci1ncmlkYmFzZSgyKTtcbn1cblxucC5pbnRybyxcbi5pbnRybyBwIHtcbiAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKHhsKTtcbn0iLCIuc2VwIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn4oCiJztcbiAgfVxufVxuXG4uc2VwLS1kYXNoIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnLSc7XG4gIH1cbn1cblxuLnNlcC0tcGlwZSB7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ3wnO1xuICB9XG59XG4iLCIuY29udGFjdC1pbmZvIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvbnRhaW47IG9iamVjdC1wb3NpdGlvbjogY2VudGVyJztcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG5cbiAgLmNvbnRhY3QtaW5mb19fcGhvdG8ge1xuICAgIHdpZHRoOiByZW0oMTAwcHgpO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5jb250YWN0LWluZm9fX3ZhbHVlLS1uYW1lIHtcbiAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUobCwgbWVkaXVtKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC5jb250YWN0LWluZm9fX3ZhbHVlLS10aXRsZSB7XG4gICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKHMsIG1lZGl1bSk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cblxuICAuY29udGFjdC1pbmZvX192YWx1ZS0tcGhvbmUge1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShsKTtcbiAgICBmb250LXNpemU6IDFyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuY29udGFjdC1pbmZvX192YWx1ZS0tZW1haWwge1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShsLCBtZWRpdW0pO1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW0gIWltcG9ydGFudDtcbiAgfVxuXG4gIC5jb250YWN0LWluZm9fX2xhYmVsLS1mYXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUobSk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgKyBkZCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShtKTtcbiAgICB9XG4gIH0gIFxufVxuIiwiLmN0YSB7XG4gIGgyIHtcbiAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUoM2wsIG1lZGl1bSk7XG4gIH1cbiAgXG4gIC5lZGl0b3JpYWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobSkge1xuICAgIC5lZGl0b3JpYWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcnItZ3JpZGJhc2UoMik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgICAuZWRpdG9yaWFsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJyLWdyaWRiYXNlKDMpO1xuICAgIH1cbiAgfVxufVxuIiwiLmZlYXR1cmUge1xuXG4gIEBpbmNsdWRlIGVsZW1lbnQoJ2hlYWRlcicpIHtcbiAgICBoMiB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtYmFybG93O1xuICAgICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKDNsKTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgZWxlbWVudCgnY29udGVudCcpIHtcbiAgICBwIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAuaW5uZXItbGlzdHMgdWwgbGk6bGFzdC1jaGlsZCwgLmlubmVyLWxpc3RzIG9sIGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBlbGVtZW50KCdhY3Rpb25zJykge1xuICAgIG1hcmdpbi10b3A6IHJyLWdyaWRiYXNlKDIpO1xuICAgIC5idXR0b246bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGVsZW1lbnQoJ21lZGlhJykge1xuICAgIG1hcmdpbi10b3A6IHJyLWdyaWRiYXNlKDIpO1xuICB9XG5cbiAgQGluY2x1ZGUgbW9kaWZpZXIoJ21lZGlhJykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKG9mZi13aGl0ZSk7XG4gICAgcGFkZGluZzogMXJlbTtcbiAgfVxufVxuXG4vLyBGbGV4IGxheW91dCBpZiBvbmx5IG9uZSBpbiBhIHBhbmVsXG4uY29sbGVjdGlvbi1pdGVtcy0tc2luZ2xlIHtcbiAgLmZlYXR1cmUuZmVhdHVyZS0tbWVkaWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobSkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgIC5mZWF0dXJlX190ZXh0LFxuICAgICAgLmZlYXR1cmVfX21lZGlhIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgIH1cbiAgICAgIC5mZWF0dXJlX19tZWRpYSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICoge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmVhdHVyZV9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDJyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgICAgIC5mZWF0dXJlX190ZXh0IHtcbiAgICAgICAgcGFkZGluZzogcmVtKDYwcHgpIHJlbSgxMDVweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQXV0b21hdGljIGZsaXAgYmFzZWQgb24gc2VxdWVudGlhbCBwYXJhZ3JhcGhzXG4gICYuc2xhYi0tZmxpcC1mZWF0dXJlIHtcbiAgICAuZmVhdHVyZS5mZWF0dXJlLS1tZWRpYSB7XG4gICAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobSkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5jb2xsZWN0aW9uLWl0ZW1zLS1tdWx0aXBsZSB7XG4gIC5mZWF0dXJlLmZlYXR1cmUtLW1lZGlhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgID4gKiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgLmZlYXR1cmVfX21lZGlhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgKiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxufSIsIi50ZWFzZXItLWljb24ge1xuICAudGVhc2VyX190ZXh0IHtcbiAgICBwYWRkaW5nOiByci1ncmlkYmFzZSgyKTtcbiAgfVxufVxuXG4udGVhc2VyX19pY29uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IocHJpbWFyeSk7XG4gIGhlaWdodDogcmVtKDgwcHgpO1xuICBwYWRkaW5nOiByZW0oNDBweCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuaWNvbl9fZ2x5cGgge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogcnItZ3JpZGJhc2UoMSk7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDgwcHgpO1xuICAgIH1cbiAgfVxuICBzdmcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGhlaWdodDogcmVtKDgwcHgpO1xuICBcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIHBhdGgge1xuICAgICAgZmlsbDogY29sb3Iod2hpdGUpO1xuICAgIH1cbiAgfVxufVxuXG4udGVhc2VyX19pY29uLWxpbmtzIHtcbiAgcGFkZGluZy10b3A6IHJyLWdyaWRiYXNlKDEpO1xuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByci1ncmlkYmFzZSgxKTtcbiAgICB9XG4gIH1cbn0iLCIuaW1hZ2UtbGlzdC1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiByci1ncmlkYmFzZSg0KSAwO1xuXG4gIEBpbmNsdWRlIGVsZW1lbnQoJ2ltYWdlJykge1xuICAgIG1hcmdpbi1sZWZ0OiByci1ncmlkYmFzZSg0KTtcbiAgfVxufVxuXG4uaW1hZ2UtbGlzdCB7XG4gIEBpbmNsdWRlIGVsZW1lbnQoJ2l0ZW1zJykge1xuICAgIC5pbWFnZS1saXN0LWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY29sb3IobGlnaHQtZ3JleSk7XG4gICAgfVxuICB9XG59IiwiXG4ucHJvbW8tdGV4dCB7XG5cbiAgJltjbGFzcyo9J2JnLS0nXSB7XG4gICAgcGFkZGluZzogcmVtKDM4cHgpIHJlbSg0MHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIGVsZW1lbnQoJ2NvbnRlbnQnKSB7XG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUoeGwpO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBlbGVtZW50KCdtZWRpYScpIHtcbiAgICAgIGZsZXg6IDAgMCAyMDBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtKDMwcHgpO1xuICAgIH1cbiAgfVxufVxuIiwiLnB1bGx0ZXh0IHtcbiAgcCB7XG4gICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKDR4bCwgbWVkaXVtKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG59XG5cbiIsIi50ZWFzZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgLnRlYXNlcl9fdGl0bGUge1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZSh4bCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIC50ZWFzZXJfX21lZGlhIHtcbiAgICBwaWN0dXJlLCBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbW9kaWZpZXIoJ25ld3MnKSB7XG4gICAgY29sb3I6IGNvbG9yKGJsYWNrKSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IHJlbSgyOXB4KSByZW0oMjlweCkgcmVtKDYwcHgpIHJlbSgyOXB4KTtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBjb2xvcihibGFjayk7XG4gICAgfVxuICAgIEBpbmNsdWRlIHRlZXRoLWRlY29yYXRpb247XG5cbiAgICAudGVhc2VyX190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgPiAqIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgICAuZGF0ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTFweCk7XG4gICAgICBjb2xvcjogY29sb3IoZGFyay1ncmV5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbW9kaWZpZXIoJ2ZlYXR1cmUnKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC50ZWFzZXJfX3RpdGxlIHtcbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IGRvdHRlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmW2NsYXNzKj1cImJnLS1cIl0ge1xuICAgICAgLnRlYXNlcl9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgyMHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKG0pIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtb2RpZmllcignZ2FsbGVyeScpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihvZmYtd2hpdGUpO1xuICAgIC50ZWFzZXJfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgLmljb24ge1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XG4gICAgICAgIC5pY29uX19nbHlwaCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUobCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLm1lZGlhX19oZWFkaW5nIHtcbiAgICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShsKTtcbiAgICB9XG4gICAgXG4gIH1cbn1cblxuYS50ZWFzZXIge1xuICBAaW5jbHVkZSBtb2RpZmllcignbmV3cycpIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvcihzdWJ0bGUtZ3JleSk7XG4gICAgLnRlYXNlcl9fdGl0bGUge1xuICAgICAgY29sb3I6IGNvbG9yKHNlY29uZGFyeSk7XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBib3JkZXItY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgICAgLnRlYXNlcl9fdGl0bGUge1xuICAgICAgICBjb2xvcjogY29sb3IocHJpbWFyeSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5uZXdzLXRlYXNlcnMgYS50ZWFzZXIge1xuICBAaW5jbHVkZSBtb2RpZmllcignbmV3cycpIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLnRlYXNlcl9fdGl0bGUge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgIC5kYXRlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iYXJsb3ctY29uZGVuc2VkO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0NHB4KTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMjlweDtcbiAgICAgICAgYm90dG9tOiA4cHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY29sb3IoYmxhY2spO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuYmxvY2sge1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRjb2xvcnMge1xuICAgIEBpZiAoJG5hbWUgIT0gJ3doaXRlJykge1xuICAgICAgJi5iZy0tI3skbmFtZX0ge1xuICAgICAgICAuYmxvY2tfX2hlYWRlcixcbiAgICAgICAgLmJsb2NrX19mb290ZXIsXG4gICAgICAgIC5ibG9ja19fY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogcnItZ3JpZGJhc2UoMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmJsb2NrX19oZWFkZXIge1xuICBwYWRkaW5nLWJvdHRvbTogcnItZ3JpZGJhc2UoMik7XG59XG5cbi5ibG9ja19fZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IHJyLWdyaWRiYXNlKDIpO1xufVxuXG5cbiIsIi5lZGl0b3JpYWwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIGFzaWRlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG5cbkBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShtKSB7XG4gIC5lZGl0b3JpYWwtLWFzaWRlLXJpZ2h0IHtcbiAgICBhc2lkZSB7XG4gICAgICB3aWR0aDogMjByZW07XG4gICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW0gMXJlbTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuZWRpdG9yaWFsLS1hc2lkZS1sZWZ0IHtcbiAgICBhc2lkZSB7XG4gICAgICB3aWR0aDogMjByZW07XG4gICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgIG1hcmdpbjogMCAxcmVtIDFyZW0gMDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxufVxuXG5cblxuXG4iLCIuZ3JpZCB7XG4gICR0aWdodC1ncmlkLWdhcDogJGdyaWQtZ2FwICogKDIvMyk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogKCRncmlkLWdhcCAvIC00KTtcblxuICA+ICoge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gI3skZ3JpZC1nYXAgLyAyfSk7XG4gICAgbWFyZ2luOiAoJGdyaWQtZ2FwIC8gNCkgKCRncmlkLWdhcCAvIDQpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAmLmdyaWQtLW5vLWdyb3cge1xuICAgID4gKiB7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gIH1cblxuICAmLmdyaWQtLXRpZ2h0IHtcbiAgICBtYXJnaW46ICgkZ3JpZC1nYXAgLyAtNCk7XG4gICAgPiAqIHtcbiAgICAgIG1hcmdpbjogKCRncmlkLWdhcCAvIDQpO1xuICAgIH1cbiAgfVxuXG4gICYuZ3JpZC0tc21hbGwge1xuICAgIG1hcmdpbjogMDtcbiAgICA+ICoge1xuICAgICAgZmxleC1iYXNpczogI3soKCRnbG9iYWwtd2lkdGggKyAkZ3JpZC1nYXApIC8gMikgLSAkZ3JpZC1nYXB9O1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobSkge1xuICAgICAgbWFyZ2luOiAoJHRpZ2h0LWdyaWQtZ2FwIC8gLTIpICgkZ3JpZC1nYXAgLyAtMik7XG4gICAgICA+ICoge1xuICAgICAgICBtYXJnaW46ICgkdGlnaHQtZ3JpZC1nYXAgLyAyKSAoJGdyaWQtZ2FwIC8gMik7XG4gICAgICAgIG1pbi13aWR0aDogI3soKCRnbG9iYWwtd2lkdGggKyAkZ3JpZC1nYXApIC8gMikgLSAkZ3JpZC1nYXB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZ3JpZC0tY2VudGVyZWQtaXRlbXMge1xuICAgID4gKiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShtKSB7XG4gICAgICBtaW4td2lkdGg6ICN7JGdsb2JhbC13aWR0aCAvIDIgLSAkZ3JpZC1nYXB9O1xuICAgIH1cbiAgfVxuXG4gICYuZ3JpZC0tYWxpZ24tdG9wIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgfVxuICBcbiAgJi5ncmlkLS1hdHRhY2hlZCB7XG4gICAgPiAqIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6ICRncmlkLWdhcDtcbiAgICB9XG4gIH1cblxuICAmLmdyaWQtLXN0cmlwZWQge1xuICAgIG1hcmdpbjogMDtcbiAgICA+ICoge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogKCRncmlkLWdhcCAvIDIpO1xuICAgICAgZmxleC1iYXNpczogI3soJGdsb2JhbC13aWR0aCAtICgkZ3JpZC1nYXAgKiAyLjUpKSAvIDN9O1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKHhsKSB7XG4gICAgICAgICY6bnRoLWNoaWxkKDZuIC0gNSksICY6bnRoLWNoaWxkKDZuIC0gNCksICY6bnRoLWNoaWxkKDZuIC0gMykge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKG9mZi13aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoNm4gLSAyKSwgJjpudGgtY2hpbGQoNm4gLSAxKSwgJjpudGgtY2hpbGQoNm4gLSAwKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobmVhci13aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmdyaWQtLWRpdmlkZWQge1xuICAgID4gKiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogY2FsYygtI3skZ3JpZC1nYXAgLyAyfSAtIDFweCk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzk3OTc5NztcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5ncmlkLS1ib3JkZXJlZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiByci1ncmlkYmFzZSgyKTtcbiAgICBtYXJnaW46ICgkdGlnaHQtZ3JpZC1nYXAgLyAtMik7XG4gICAgPiAqIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIG1hcmdpbjogKCR0aWdodC1ncmlkLWdhcCAvIDIpO1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IGNhbGMoI3skdGlnaHQtZ3JpZC1nYXAgLyAtMn0gLSAycHgpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIGNvbG9yKG5ldXRyYWwtZ3JleSk7XG4gICAgICAgIGxlZnQ6ICR0aWdodC1ncmlkLWdhcCAvIC0yO1xuICAgICAgICByaWdodDogY2FsYygjeyR0aWdodC1ncmlkLWdhcCAvIC0yfSArIDFweCk7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUobCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKG0pIHtcbiAgICBtYXJnaW46ICgkdGlnaHQtZ3JpZC1nYXAgLyAtMik7XG4gIFxuICAgID4gKiB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWF4LXdpZHRoOiAjeygkZ2xvYmFsLXdpZHRoIC8gMykgLSAkdGlnaHQtZ3JpZC1nYXB9O1xuICAgICAgbWFyZ2luOiAoJHRpZ2h0LWdyaWQtZ2FwIC8gMik7XG4gICAgICBtaW4td2lkdGg6ICRncmlkLW1pbjtcbiAgICB9XG5cbiAgICAmLmdyaWQtLWxhcmdlIHtcbiAgICAgID4gKiB7XG4gICAgICAgIG1pbi13aWR0aDogI3soJGdsb2JhbC13aWR0aCAvIDIpIC0gJGdyaWQtZ2FwfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmdyaWQtLXNtYWxsIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGZsZXgtYmFzaXM6ICN7KCRnbG9iYWwtd2lkdGggLyAzKSAtICRncmlkLWdhcH07XG4gICAgICAgIG1pbi13aWR0aDogI3soJGdsb2JhbC13aWR0aCAvIDMpIC0gJGdyaWQtZ2FwfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobCkge1xuICAgIG1hcmdpbjogKCRncmlkLWdhcCAvIC0yKTtcbiAgXG4gICAgPiAqIHtcbiAgICAgIG1heC13aWR0aDogI3soJGdsb2JhbC13aWR0aCAvIDMpIC0gKCRncmlkLWdhcCAqICgyLzMpKX07XG4gICAgICBtYXJnaW46ICgkZ3JpZC1nYXAgLyAyKTtcbiAgICB9XG5cbiAgICAmLmdyaWQtLXNtYWxsIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogI3soKCRnbG9iYWwtd2lkdGggKyAkZ3JpZC1nYXApIC8gNSkgLSAkZ3JpZC1nYXB9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uY29sbGVjdGlvbi1pdGVtcy0tc2luZ2xlIHtcbiAgLmdyaWQge1xuICAgID4gKiB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShtKSB7XG4gICAgLmdyaWQge1xuICAgICAgPiAqIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnVsLmdyaWQge1xuICBsaSB7XG4gICAgPiAqIHtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59IiwiLmdyaWQuZ3JpZC0tbWFqb3ItbGVmdCxcbi5ncmlkLmdyaWQtLW1ham9yLXJpZ2h0IHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgPiAqIHtcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdyaWQtZ2FwIC8gMn0pO1xuICB9XG5cbiAgPiAuZ3JpZF9fbWFpbiB7XG4gICAgZmxleC1iYXNpczogYXV0bztcblxuICAgID4gLnNsYWIuc2xhYi0tYm9keSB7XG4gICAgICAuc2xhYl9fY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IC5zbGFiOm5vdChbY2xhc3MqPVwiYmctLVwiXSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICA+IC5ncmlkX19zaWRlYmFyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgPiAqIHtcbiAgICAgIG1heC13aWR0aDogaW5pdGlhbDtcbiAgICB9XG5cbiAgICA+IC5ncmlkX19tYWluIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgPiAuZ3JpZF9fc2lkZWJhciB7XG4gICAgICBmbGV4OiAwIDAgMzIlO1xuICAgIH1cblxuICAgICYuZ3JpZC0tc21hbGxlci1zaWRlYmFyIHtcbiAgICAgID4gLmdyaWRfX3NpZGViYXIge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgLmdyaWQuZ3JpZC0tbWFqb3ItcmlnaHQge1xuICAgID4gLmdyaWRfX3NpZGViYXIge1xuICAgICAgb3JkZXI6IC0xO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIExpbWl0IHNsYWIgd2lkdGggd2hlbiBOT1QgaW4gc2lkZWJhciBjb250ZXh0LlxuLnNsYWIuc2xhYi0tYm9keSB7XG4gIC5zbGFiX19jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IHJlbSg5MDBweCk7XG4gIH1cbn1cbiIsIi5zbGFiIHtcbiAgQGluY2x1ZGUgcnItc2xhYjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5zbGFiX193cmFwcGVyIHtcbiAgICBAaW5jbHVkZSByci1zbGFiLXdyYXBwZXI7XG4gICAgLy8gTWFrZSBzdXJlIHRoaXMgZ2V0cyBzZXQgb3ZlciB0aGUgdG9wIG9mIGFuIG92ZXJsYXksIGlmIHByZXNlbnRcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLnNsYWJfX2hlYWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206IHJyLWdyaWRiYXNlKDIpO1xuXG4gICAgaDIge1xuICAgICAgQGluY2x1ZGUgaGVhZGluZy11bmRlcmxpbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIC5zbGFiX19mb290ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNTAlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMjA7XG4gIH1cblxuICAmLnNsYWItLW5hcnJvdyAge1xuICAgIC5zbGFiX193cmFwcGVyIHtcbiAgICAgIG1heC13aWR0aDogJG5hcnJvdy13aWR0aDtcbiAgICB9XG4gIH1cblxuICAvLyB1c2VkIHdoZW4gY29tcG9uZW50IGVsZW1lbnRzIChpbiBncmlkKSBoYXZlIHRoZWlyIG93biBwYWRkaW5nXG4gICYuc2xhYi0tdGlnaHQtYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAvLyBzcGVjaWFsIGNhc2Ugd2hlbiB0aGUgYWJvdmUgaXMgdHJ1ZSArIG5vIGJhY2tncm91bmQgb24gdGhlIHNsYWItLWFkZCBiYWNrIGEgbGl0dGxlIHNwYWNpbmdcbiAgICAmOm5vdChbY2xhc3MqPVwiYmctLVwiXSkge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJyLWdyaWRiYXNlKDIpO1xuICAgIH1cbiAgfVxuXG4gICYuc2xhYi0taGFzLXRvcC1ib3JkZXIge1xuICAgIC5zbGFiLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1kYXNoZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gZ28gZnVsbCB3aWR0aFxuICAmLnNsYWItLWJsZWVkIHtcbiAgICAuc2xhYl9fd3JhcHBlciB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi5ib2R5IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgIC5zbGFiX19jb250ZW50IHtcbiAgICAgIGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxLjJyZW0gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICAgIH1cbiAgfVxuXG5cbn1cblxuLnNsYWItLWJvZHkgKyAuc2xhYi0tYm9keSB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuXG4vLyBMb29wIHRoZSBicmVha3BvaW50c1xuJGJyZWFrczogcnItYnJlYWtwb2ludC1saXN0KCk7XG5AZWFjaCAkYnJlYWsgaW4gJGJyZWFrcyB7XG4gICR2c3BhY2U6IHJyLWdyaWRiYXNlKHJyLXByb3AtZm9yLWJyZWFrcG9pbnQoJGJyZWFrLCB2c3BhY2UpKTtcbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKCRicmVhaykge1xuICAgIC8vIEVxdWFsaXplIHZlcnRpY2FsIHNwYWNpbmcgYWZ0ZXIgcGFnZSBoZWFkZXJcbiAgICAucGFnZS1oZWFkZXIgKyAuc2xhYiB7XG4gICAgICBtYXJnaW4tdG9wOiAkdnNwYWNlXG4gICAgfVxuXG4gICAgLy8gRXh0cmEgc3BhY2luZyBmb3IgbGFzdCBzbGFiXG4gICAgI21haW4tY29udGVudCAuc2xhYjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR2c3BhY2U7XG4gICAgfVxuICB9XG59XG5cbi8vIGV4dHJhIHNwYWNpbmcgZm9yIGEgYmctY29sb3JlZCBzbGFiIGZvbGxvd2VkIGJ5IGEgd2hpdGUgc2xhYlxuLnNsYWJbY2xhc3MqPSdiZy0tJ10gKyAuc2xhYjpub3QoW2NsYXNzKj0nYmctLSddKSxcbi5zbGFiW2NsYXNzKj0nYmctLSddICsgLnNsYWIuYmctLXdoaXRlIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbi5zbGFiOm5vdChbY2xhc3MqPSdiZy0tJ10pICsgLnNsYWJbY2xhc3MqPSdiZy0tJ10sXG4uc2xhYi5iZy0td2hpdGUgKyAuc2xhYltjbGFzcyo9J2JnLS0nXSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5AaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobCkge1xuICAuc2xhYltjbGFzcyo9J2JnLS0nXSArIC5zbGFiOm5vdChbY2xhc3MqPSdiZy0tJ10pLFxuICAuc2xhYltjbGFzcyo9J2JnLS0nXSArIC5zbGFiLmJnLS13aGl0ZSB7XG4gICAgbWFyZ2luLXRvcDogcmVtKDQwcHgpO1xuICB9XG4gIC5zbGFiOm5vdChbY2xhc3MqPSdiZy0tJ10pICsgLnNsYWJbY2xhc3MqPSdiZy0tJ10sXG4gIC5zbGFiLmJnLS13aGl0ZSArIC5zbGFiW2NsYXNzKj0nYmctLSddIHtcbiAgICBtYXJnaW4tdG9wOiByZW0oNDBweCk7XG4gIH1cbn1cbi5zbGFiLmJnLS13aGl0ZSArIC5zbGFiLmJnLS13aGl0ZSxcbi5zbGFiOm5vdChbY2xhc3MqPSdiZy0tJ10pICsgLnNsYWIuYmctLXdoaXRlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnNsYWIuYmctLW9mZi13aGl0ZSB7XG4gIEBpbmNsdWRlIHRlZXRoLWRlY29yYXRpb24ocmlnaHQsIHRvcCk7XG59XG5cbi8vIHNsYWJzIHdpdGggYmFja2dyb3VuZHMgaW4gc2lkZWJhciBjb250ZXh0XG4uZ3JpZF9fbWFpbiwgLmdyaWRfX3NpZGViYXIge1xuICAuc2xhYltjbGFzcyo9J2JnLS0nXSB7XG4gICAgcGFkZGluZzogJGdyaWQtZ2FwO1xuICB9XG59IiwiLy8gQ3JlYXRlcyBhIHNsYWIgZm9yIGEgc2xhYiBsYXlvdXQuIFxuLy8gTGF5b3V0IG9wdGlvbnMgYXJlIHByb3ZpZGVkIGluIG90aGVyIG1peGluc1xuLy8gQWxsIG9wdGlvbnMgYXJlIGRyaXZlbiBieSB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbi8vIFNsYWJzIGJyaW5nIHRoZWlyIG93biBwYWRkaW5nIHRvIHRoZSBwYXJ0eSB3aGljaCBcbi8vIHdlIHdpbGwgb3ZlcnJpZGUgaW4gc29tZSBzcGVjaWFsIGNpcmN1bXN0YW5jZXMuXG5AbWl4aW4gcnItc2xhYiB7XG4gICRicmVha3M6IHJyLWJyZWFrcG9pbnQtbGlzdCgpO1xuICBAZWFjaCAkYnJlYWsgaW4gJGJyZWFrcyB7XG4gICAgJHZzcGFjZTogcnItZ3JpZGJhc2UocnItcHJvcC1mb3ItYnJlYWtwb2ludCgkYnJlYWssIHZzcGFjZSkpO1xuICAgIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZSgkYnJlYWspIHtcbiAgICAgIHBhZGRpbmc6ICR2c3BhY2UgcnItcHJvcC1mb3ItYnJlYWtwb2ludCgkYnJlYWssIG9mZnNldCk7XG4gICAgfVxuICB9XG59XG5cbi8vIFRoaXMgY3JlYXRlcyBhIHNsYWIgd3JhcHBlciBjb25zdHJhaW5lZCB0byB0aGUgbWFpbiBjb250ZW50IHdpZHRoXG5AbWl4aW4gcnItc2xhYi13cmFwcGVyKCRtYXJnaW5zOiBmYWxzZSkge1xuICBtYXgtd2lkdGg6ICRyci1tYXh3aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgQGlmIG5vdCAkbWFyZ2lucyB7XG5cbiAgICAvLyBHZXQgcmlkIG9mIHRvcCBtYXJnaW5zIG9uIHRoZSBmaXJzdCBjaGlsZCxcbiAgICAvLyBib3R0b20gbWFyZ2lucyBvbiB0aGUgc2Vjb25kIHNvIHRob3NlXG4gICAgLy8gbWFyZ2lucyBkb24ndCBwb3Agb3V0IG9mIHRoZSB3cmFwcGVyLlxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGlzIGNyZWF0ZXMgYSBmdWxsLWJsZWVkIHNsYWIgd3JhcHBlclxuQG1peGluIHJyLXNsYWItZnVsbC1mdWxsYmxlZWQge1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbjogMDtcblxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gUGFzcyB0aGlzIGEgbGlzdCBvZiBjbGFzcyBuYW1lcyAod2l0aG91dCB0aGUgJy4nIHByZWZpeCkgYW5kIFxuLy8gYWRqYWNlbmN5IGNsYXNzZXMgdGhhdCBjb2xsYXBzZSBwYWRkaW5nIGJldHdlZW4gdGhlIFxuQG1peGluIHJyLXNsYWItYWRqYWNlbmN5KCRzdHlsZS1saXN0KSB7XG4gIEBlYWNoICRzdHlsZSBpbiAkc3R5bGUtbGlzdCB7XG4gICAgLiN7JHN0eWxlfSsuI3skc3R5bGV9IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG5AZnVuY3Rpb24gcnItY29sdW1ucy1mb3ItdGVtcGxhdGUoJHRlbXBsYXRlLCAkYnJlYWspIHtcbiAgQGlmIG1hcC1oYXMta2V5KCR0ZW1wbGF0ZSwgJGJyZWFrKSB7XG4gICAgJGJyZWFrLXRlbXBsYXRlOiBtYXAtZ2V0KCR0ZW1wbGF0ZSwgJGJyZWFrKTtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrLXRlbXBsYXRlLCBjb2x1bW5zKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrLXRlbXBsYXRlLCBjb2x1bW5zKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG5AZnVuY3Rpb24gcnItYXJlYXMtZm9yLXRlbXBsYXRlKCR0ZW1wbGF0ZSwgJGJyZWFrKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkdGVtcGxhdGUsICRicmVhaykge1xuICAgICRicmVhay10ZW1wbGF0ZTogbWFwLWdldCgkdGVtcGxhdGUsICRicmVhayk7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVhay10ZW1wbGF0ZSwgYXJlYXMpIHtcbiAgICAgIEByZXR1cm4gbWFwLWdldCgkYnJlYWstdGVtcGxhdGUsIGFyZWFzKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG5AZnVuY3Rpb24gcnItZmxleC1hcmVhcy1mb3ItdGVtcGxhdGUoJHRlbXBsYXRlLCAkYnJlYWspIHtcbiAgQGlmIG1hcC1oYXMta2V5KCR0ZW1wbGF0ZSwgJGJyZWFrKSB7XG4gICAgJGJyZWFrLXRlbXBsYXRlOiBtYXAtZ2V0KCR0ZW1wbGF0ZSwgJGJyZWFrKTtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrLXRlbXBsYXRlLCBmbGV4LWFyZWFzKSB7XG4gICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrLXRlbXBsYXRlLCBmbGV4LWFyZWFzKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG5AZnVuY3Rpb24gcnItZmxleC1jb2x1bW5zLWZvci10ZW1wbGF0ZSgkdGVtcGxhdGUsICRicmVhaykge1xuICBAaWYgbWFwLWhhcy1rZXkoJHRlbXBsYXRlLCAkYnJlYWspIHtcbiAgICAkYnJlYWstdGVtcGxhdGU6IG1hcC1nZXQoJHRlbXBsYXRlLCAkYnJlYWspO1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWstdGVtcGxhdGUsIGZsZXgtY29sdW1ucykge1xuICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVhay10ZW1wbGF0ZSwgZmxleC1jb2x1bW5zKTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBudWxsO1xufVxuXG4vLyBDb2RlIGJlbG93IGlzIGJ5IEplc3NlIEphbm93aWFrIG9mIE5ld0NpdHk7IGN1cnJlbnRseSBcbi8vIHdvcmtpbmcgb24gaW50ZWdyYXRpbmcgaXQgd2l0aCB0aGUgZXhpc3RpbmcgY29kZS5cbi8vIENTUyBHUklEIE1JWElOU1xuLy8gIGBjc3MtZ3JpZC1jb2x1bW5zKCAkY291bnQsICRndXR0ZXIsICRndXR0ZXItcywgJGNsYXNzLXByZWZpeCwgJGJyZWFrcG9pbnQsICRyci1zdXBwb3J0LWllKWBcbi8vICBgY29udGVudC13aWR0aCggJGNvdW50LCAkY2xhc3MtcHJlZml4LCAkYnJlYWtwb2ludCwgJHJyLXN1cHBvcnQtaWUgKWBcbi8vICBgcmV2ZXJzZS1ncmlkLWNvbHVtbnMoICRjb3VudCwgJGNsYXNzLXByZWZpeCwgJGJyZWFrcG9pbnQsICRyci1zdXBwb3J0LWllIClgXG4vLyBERVBFTkRFTkNJRVNcbi8vIFRoZXNlIG1peGlucyBjdXJyZW50bHkgcmVseSBvbiBadXJiJ3MgRm91bmRhdGlvbiA2IGZvciBTaXRlcyBTYXNzIGxpYnJhcmllcyxcbi8vIHNwZWNpZmljYWxseSB0aGUgYGJyZWFrcG9pbnRgIG1peGluIGFuZCBicmVha3BvaW50IHZhbHVlcyBzZXQgaW4gYGZvdW5kYXRpb24tc2V0dGluZ3NgXG4vLyBTSEFSRUQgVkFSSUFCTEVTXG4kZ2xvYmFsLXdpZHRoOiAkcnItbWF4d2lkdGggIWRlZmF1bHQ7XG4vLyBgY3NzLWdyaWQtY29sdW1uc2AgbWl4aW5cbi8vIEJ1aWxkcyBhIGJhc2ljIG11bHRpLWNvbHVtbiBsYXlvdXQgdXNpbmcgcHVyZSBDU1MgR3JpZC5cbi8vIEJlc3QgdXNlZCB3aXRoIGNvbnRlbnQgdGhhdCBkaXZpZGVzIGV2ZW5seSBpbnRvIGZ1bGwgcm93cyBvZiB0aGUgc3BlY2lmaWVkIGNvbHVtbiBjb3VudC5cbi8vXG4vLyBTdXBwb3J0cyB0aGUgZm9sbG93aW5nIHNldHRpbmdzOlxuLy9cbi8vICRjb3VudDogICAgICAgICBUaGUgbnVtYmVyIG9mIGNvbHVtbnMgZWFjaCByb3c7IGRlZmF1bHRzIHRvIDNcbi8vICRndXR0ZXI6ICAgICAgICBUaGUgc3BhY2UgYmV0d2VlbiBjb2x1bW5zOyBkZWZhdWx0cyB0byBGb3VuZGF0aW9uJ3Ncbi8vICAgICAgICAgICAgICAgICBnbG9iYWwgJGdyaWQtY29sdW1uLWd1dHRlci5cbi8vICAgICAgICAgICAgICAgICBOT1RFOiBSb3cgZ2FwcyBhcmUgbm90IHN1cHBvcnRlZCBpbiBJRS4gSW4gdGhpcyBtaXhpbiwgdGhleSBhcmUgc2ltdWxhdGVkXG4vLyAgICAgICAgICAgICAgICAgd2l0aCBib3R0b20gbWFyZ2lucyB3aGVuIHRoZSBsYXlvdXQgc3dpdGNoZXMgdG8gc2luZ2xlIGNvbHVtbi5cbi8vICAgICAgICAgICAgICAgICBJZiBgJHJyLXN1cHBvcnQtaWVgIGlzIGRpc2FibGVkLCBgJGd1dHRlcmAgY2FuIGJlIGVpdGhlciBhIHNpbmdsZSB2YWx1ZSBhcHBsaWVkXG4vLyAgICAgICAgICAgICAgICAgdG8gYm90aCByb3cgYW5kIGNvbHVtbiBndXR0ZXJzLCBvciB0d28gdmFsdWVzIG9mIHRoZSBmb3JtYXRcbi8vICAgICAgICAgICAgICAgICBgcm93LWd1dHRlciBjb2x1bW4tZ3V0dGVyYFxuLy8gJGd1dHRlci1zOiAgICAgIElmIHlvdXIgZ3JpZCBicmVha3BvaW50IGlzIHNldCB0byAnc21hbGwnIHNvIHRoYXQgdGhlIGxheW91dCByZW1haW5zIGNvbHVtbmVkIGV2ZW5cbi8vICAgICAgICAgICAgICAgICBhdCB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgeW91IG1heSB3YW50IHRvIHVzZSBhIG5hcnJvd2VyIGNvbHVtbiBndXR0ZXIgYXQgdGhhdCBicmVha3BvaW50LlxuLy8gICAgICAgICAgICAgICAgIFNldCB0aGUgc21hbGwgZ3V0dGVyIHZhbHVlIGhlcmUuXG4vLyAkY2xhc3MtcHJlZml4OiAgQnkgZGVmYXVsdCwgYWxsIHN0eWxlcyBhcHBsaWVkIHRvIGNoaWxkIGNvbHVtbnMgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBjbGFzc1xuLy8gICAgICAgICAgICAgICAgIGAmX19jb2x1bW5gLiBJZiB5b3Ugd2FudCB0byB1c2UgYSBkaWZmZXJlbnQgcHJlZml4IGZvciBjb2x1bW5zIHRoYW4gZm9yIHRoZSBwYXJlbnRcbi8vICAgICAgICAgICAgICAgICAgY2xhc3MsIHNldCB0aGlzIHZhbHVlLiBETyBpbmNsdWRlIHRoZSBsZWFkaW5nIGAuYFxuLy8gJGJyZWFrcG9pbnQ6ICAgIFRoZSBicmVha3BvaW50IGFib3ZlIHdoaWNoIHRoZSBsYXlvdXQgc3dpdGNoZXMgZnJvbSBhIHNpbmdsZSBjb2x1bW4gdG9cbi8vICAgICAgICAgICAgICAgICB0aGUgc3BlY2lmaWVkIGNvbHVtbiBjb3VudC4gQWNjZXB0cyBhIHByZWRlZmluZWQgYnJlYWtwb2ludFxuLy8gICAgICAgICAgICAgICAgIGRlZmluaXRpb24gKGUuZy4gJ21lZGl1bScpIG9yIGEgdW5pdGxlc3MgcGl4ZWwgd2lkdGguXG4vLyAgICAgICAgICAgICAgICAgUmVxdWlyZXMgRm91bmRhdGlvbidzIGBicmVha3BvaW50YCBtaXhpbiBvciBhbm90aGVyIGJyZWFrcG9pbnQgbWl4aW5cbi8vICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHN5bnRheC5cbi8vICRyZXZlcnNlOiAgICAgICBBcHBsaWVzIHRoZSBgcmV2ZXJzZS1ncmlkLWNvbHVtbnNgIG1peGluIGluc3RlYWQgb2YgdGhlIHN0YW5kYXJkIGNvbHVtbiBwbGFjZW1lbnQuXG4vLyAkcnItc3VwcG9ydC1pZTogICAgSWYgc2V0IHRvIGBmYWxzZWAsIHRoZSBmYWxsYmFjayBjb2RlIGZvciBJRSAxMCBhbmQgMTEgd2lsbCBiZSBvbWl0dGVkLlxuLy8gICAgICAgICAgICAgICAgIFRoaXMgcmVzdWx0cyBpbiBjbGVhbmVyIHN0eWxlc2hlZXQgY29kZSBpZiB5b3UgZG9uJ3QgbmVlZCB0byBzdXBwb3J0IHRob3NlXG4vLyAgICAgICAgICAgICAgICAgYnJvd3NlcnMuXG4vL1xuLy8gUmVxdWlyZWQgaHRtbCBtYXJrdXAgKGlmIHRoaXMgbWl4aW4gaXMgYXBwbGllZCB0byBhIGNsYXNzIGNhbGxlZCBgLnJvdy1jb250YWluZXJgKTpcbi8vIDxkaXYgY2xhc3M9XCJyb3ctY29udGFpbmVyXCI+XG4vL1xuLy8gICAgPGRpdiBjbGFzcz1cInJvdy1jb250YWluZXJfX2NvbHVtblwiPlxuLy8gICAgICBDb2x1bW4gQ29udGVudFxuLy8gICAgPC9kaXY+XG4vL1xuLy8gICAgPGRpdiBjbGFzcz1cInJvdy1jb250YWluZXJfX2NvbHVtblwiPlxuLy8gICAgICBDb2x1bW4gQ29udGVudFxuLy8gICAgPC9kaXY+XG4vL1xuLy8gICAgPGRpdiBjbGFzcz1cInJvdy1jb250YWluZXJfX2NvbHVtblwiPlxuLy8gICAgICBDb2x1bW4gQ29udGVudFxuLy8gICAgPC9kaXY+XG4vL1xuLy8gPC9kaXY+XG5AbWl4aW4gY3NzLWdyaWQtY29sdW1ucygkdGVtcGxhdGVzLCAkY29uZmlnOiAkcnItZ3JpZC1zZXR0aW5ncywgJGNsYXNzLXByZWZpeDogbnVsbCwgJHJldmVyc2U6IGZhbHNlKSB7XG4gICRtZWRpdW0tc2l6ZTogcnItcHJvcC1mb3ItYnJlYWtwb2ludChtLCBzaXplKTtcbiAgQGlmIG5vdCAkY2xhc3MtcHJlZml4IHtcbiAgICAkY2xhc3MtcHJlZml4OiAjeyZ9O1xuICB9XG5cbiAgJGJyZWFrczogcnItYnJlYWtwb2ludC1saXN0KCk7XG4gICRmbGV4LWluaXRpYWxpemVkOiBmYWxzZTtcblxuICAjeyRjbGFzcy1wcmVmaXh9X19jb2x1bW4ge1xuICAgIG1hcmdpbi1ib3R0b206IHJyLWdyaWRiYXNlKDIpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgQGVhY2ggJGJyZWFrIGluICRicmVha3Mge1xuICAgICRudW0tY29sdW1uczogcnItY29sdW1ucy1mb3ItdGVtcGxhdGUoJHRlbXBsYXRlcywgJGJyZWFrKTtcbiAgICAkZ3JpZC1nYXA6IHJyLXByb3AtZm9yLWJyZWFrcG9pbnQoJGJyZWFrLCBndXR0ZXIpO1xuICAgICRncmlkLWFyZWFzOiByci1hcmVhcy1mb3ItdGVtcGxhdGUoJHRlbXBsYXRlcywgJGJyZWFrKTtcbiAgICAkZmxleC1hcmVhczogcnItZmxleC1hcmVhcy1mb3ItdGVtcGxhdGUoJHRlbXBsYXRlcywgJGJyZWFrKTtcbiAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUoJGJyZWFrKSB7XG4gICAgICBAaWYgJG51bS1jb2x1bW5zIHtcbiAgICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKDEgLyAkbnVtLWNvbHVtbnMpO1xuICAgICAgICBAaWYgKG5vdCAkZmxleC1pbml0aWFsaXplZCkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAkZmxleC1pbml0aWFsaXplZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgKG5vdCAkZmxleC1hcmVhcykge1xuICAgICAgICAgICN7JGNsYXNzLXByZWZpeH1fX2NvbHVtbiB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7JHdpZHRofSAtICN7JGdyaWQtZ2FwfSk7XG4gICAgICAgICAgICBAaWYgJGdyaWQtZ2FwIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgKCRncmlkLWdhcCAqIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICRmbGV4LWFyZWFzIHtcbiAgICAgICAgQGVhY2ggJGFyZWEsXG4gICAgICAgICR3aWR0aCBpbiAkZmxleC1hcmVhcyB7XG4gICAgICAgICAgLy8gdHJ5IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE0LzAxLzI3L2Nhc3RpbmctdHlwZXMtaW4tc2Fzcy9cbiAgICAgICAgICAjeyRjbGFzcy1wcmVmaXh9X19jb2x1bW4tLSN7JGFyZWF9IHtcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3skd2lkdGh9IC0gI3skZ3JpZC1nYXB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQHN1cHBvcnRzICggZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxcHgpIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgI3skY2xhc3MtcHJlZml4fV9fY29sdW1uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICBAZWFjaCAkYnJlYWsgaW4gJGJyZWFrcyB7XG4gICAgICAkbnVtLWNvbHVtbnM6IHJyLWNvbHVtbnMtZm9yLXRlbXBsYXRlKCR0ZW1wbGF0ZXMsICRicmVhayk7XG4gICAgICAkZ3JpZC1nYXA6IHJyLXN0cmljdC1wcm9wLWZvci1icmVha3BvaW50KCRicmVhaywgZ3V0dGVyKTtcbiAgICAgICRncmlkLWFyZWFzOiByci1hcmVhcy1mb3ItdGVtcGxhdGUoJHRlbXBsYXRlcywgJGJyZWFrKTtcbiAgICAgIGdyaWQtYXV0by1yb3dzOiBhdXRvO1xuICAgICAgQGlmICRudW0tY29sdW1ucyBvciAkZ3JpZC1nYXAge1xuICAgICAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUoJGJyZWFrKSB7XG4gICAgICAgICAgQGlmICRncmlkLWdhcCB7XG4gICAgICAgICAgICBncmlkLWdhcDogcnItcHJvcC1mb3ItYnJlYWtwb2ludCgkYnJlYWssIGd1dHRlcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkbnVtLWNvbHVtbnMge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoI3skbnVtLWNvbHVtbnN9LCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAkZ3JpZC1hcmVhcyB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOiAnI3skZ3JpZC1hcmVhc30nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIGByZXZlcnNlLWdyaWQtY29sdW1uc2AgbWl4aW5cbi8vICBDaGFuZ2VzIHRoZSBjb2x1bW4gb3JkZXIgb2YgYSByb3cgY3JlYXRlZCB3aXRoIHRoZSBgY3NzLWdyaWQtY29sdW1uc2AgZnJvbSBsZWZ0LXRvLXJpZ2h0XG4vLyAgdG8gcmlnaHQtdG8tbGVmdC4gSXQgY2FuIGJlIHNldCBhcyB0aGUgZGVmYXVsdCBsYXlvdXQgZm9yIGEgc3BlY2lmaWMgY2xhc3MgYnkgcGFzc2luZyBgJHJldmVyc2U6IHRydWVgXG4vLyAgdG8gYGNzcy1ncmlkLWNvbHVtbnNgLCBvciBpdCBjYW4gYmUgdXNlZCBhcyBhIHN0YW5kLWFsb25lIG1peGluIGZvciByZXZlcnNpbmcgdGhlIGNvbHVtbnMgb2Zcbi8vICBhbiBleGlzdGluZyBncmlkIGxheW91dC5cbi8vICBOT1RFOiBJZiBhcHBsaWVkIHRvIGEgcm93IHRoYXQgaXMgYWxyZWFkeSByaWdodC10by1sZWZ0LCB0aGlzIG1peGluIHdpbGwgTk9UIHN3aXRjaCBpdCBiYWNrIHRvXG4vLyAgICAgICAgbGVmdC10by1yaWdodC4gSXQgb25seSB3b3JrcyBpbiBvbmUgZGlyZWN0aW9uLlxuLy9cbi8vIFN1cHBvcnRzIHRoZSBmb2xsb3dpbmcgc2V0dGluZ3M6XG4vL1xuLy8gJGNvdW50OiAgICAgICAgIFRoZSBudW1iZXIgb2YgY29sdW1ucyBlYWNoIHJvdzsgZGVmYXVsdHMgdG8gM1xuLy8gJGNsYXNzLXByZWZpeDogIEJ5IGRlZmF1bHQsIGFsbCBzdHlsZXMgYXBwbGllZCB0byBjaGlsZCBjb2x1bW5zIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgY2xhc3Ncbi8vICAgICAgICAgICAgICAgICBgJl9fY29sdW1uYC4gSWYgeW91IHdhbnQgdG8gdXNlIGEgZGlmZmVyZW50IHByZWZpeCBmb3IgY29sdW1ucyB0aGFuIGZvciB0aGUgcGFyZW50XG4vLyAgICAgICAgICAgICAgICAgIGNsYXNzLCBzZXQgdGhpcyB2YWx1ZS4gRE8gaW5jbHVkZSB0aGUgbGVhZGluZyBgLmBcbi8vICRicmVha3BvaW50OiAgICBUaGUgYnJlYWtwb2ludCBhYm92ZSB3aGljaCB0aGUgbGF5b3V0IHN3aXRjaGVzIGZyb20gYSBzaW5nbGUgY29sdW1uIHRvXG4vLyAgICAgICAgICAgICAgICAgdGhlIHNwZWNpZmllZCBjb2x1bW4gY291bnQuIEFjY2VwdHMgYSBwcmVkZWZpbmVkIGJyZWFrcG9pbnRcbi8vICAgICAgICAgICAgICAgICBkZWZpbml0aW9uIChlLmcuICdtZWRpdW0nKSBvciBhIHVuaXRsZXNzIHBpeGVsIHdpZHRoLlxuLy8gICAgICAgICAgICAgICAgIFJlcXVpcmVzIEZvdW5kYXRpb24ncyBgYnJlYWtwb2ludGAgbWl4aW4gb3IgYW5vdGhlciBicmVha3BvaW50IG1peGluXG4vLyAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSBzeW50YXguXG4vLyAkcnItc3VwcG9ydC1pZTogICAgSWYgc2V0IHRvIGBmYWxzZWAsIHRoZSBmYWxsYmFjayBjb2RlIGZvciBJRSAxMCBhbmQgMTEgd2lsbCBiZSBvbWl0dGVkLlxuLy8gICAgICAgICAgICAgICAgIFRoaXMgcmVzdWx0cyBpbiBjbGVhbmVyIHN0eWxlc2hlZXQgY29kZSBpZiB5b3UgZG9uJ3QgbmVlZCB0byBzdXBwb3J0IHRob3NlXG4vLyAgICAgICAgICAgICAgICAgYnJvd3NlcnMuXG5AbWl4aW4gcmV2ZXJzZS1ncmlkLWNvbHVtbnMoJGNvdW50OiAzLCAkY2xhc3MtcHJlZml4OiAnJywgJGJyZWFrcG9pbnQ6ICdtZWRpdW0nLCAkcnItc3VwcG9ydC1pZTogdHJ1ZSkge1xuICBAaWYgJGNsYXNzLXByZWZpeCA9PSAnJyB7XG4gICAgJGNsYXNzLXByZWZpeDogI3smfTtcbiAgfVxuICAkY2xhc3MtcHJlZml4OiAjeycuJyArICRjbGFzcy1wcmVmaXh9O1xuXG4gICN7JGNsYXNzLXByZWZpeH1fX2NvbHVtbiB7XG4gICAgJG1zLWNvbHVtbnM6ICRjb3VudCArICRjb3VudCAtIDE7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY291bnQgLSAxIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgJjpudGgtY2hpbGQoI3skaSArIDF9KSB7XG4gICAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAkbXMtY29sdW1ucyAtICgoJGkgKyAxKSAqIDIgLSAxKSArIDE7XG4gICAgICAgICAgQHN1cHBvcnRzICggZ3JpZC1jb2x1bW4tc3RhcnQ6IDEpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uLXN0YXJ0OiAkY291bnQgLSAkaTtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBgY29udGVudC13aWR0aGAgbWl4aW5cbi8vICBGb3IgdGhlIGNvbW1vbiB1c2UtY2FzZSBvZiBhIGNvbnRlbnQgY29sdW1uIHRoYXQgbmVlZHMgdG8gYmUgcmVzdHJpY3RlZCB0byBhIG1heGltdW0gd2lkdGggYW5kIGNlbnRlcmVkXG4vLyAgaG9yaXpvbnRhbGx5IGluIHRoZSB2aWV3cG9ydC4gQ2FuIG9wdGlvbmFsbHkgaW5jbHVkZSBhIGxlZnQgYW5kIHJpZ2h0IGd1dHRlciB2YWx1ZSBzbyB0aGF0IGEgc3BlY2lmaWNcbi8vICBhbW91bnQgb2YgdmVydGljYWwgc3BhY2UgaXMgYWx3YXlzIHJlc2VydmVkIGJldHdlZW4gdGhlIGNvbnRlbnQgYW5kIHRoZSB2aWV3cG9ydCBlZGdlcy5cbi8vXG4vLyAgU3VwcG9ydHMgdGhlIGZvbGxvd2luZyBzZXR0aW5nczpcbi8vXG4vLyAgJG1heC13aWR0aDogICAgICAgICAgVGhlIG1heGltdW0gd2lkdGggb2YgdGhlIGNvbnRlbnQgaW5zaWRlIHRoaXMgY29udGFpbmVyXG4vLyAgJGd1dHRlcjogICAgICAgICAgICAgTWluaW11bSBkaXN0YW5jZSBiZXR3ZWVuIHRoZSBjb250ZW50IGFuZCB0aGUgbGVmdCBhbmQgcmlnaHQgdmlld3BvcnQgZWRnZXMuXG4vLyAgICAgICAgICAgICAgICAgICAgICAgRGVmYXVsdHMgdG8gdGhlIGAkZ3V0dGVyLW1lZGl1bWAgdmFsdWUgc2V0IGFib3ZlIG9yIGluaGVyaXRlZCBmcm9tIGFub3RoZXIgc2V0dGluZ3MgZmlsZS5cbi8vICAkY29udGFpbmVyLXNlbGVjdG9yOiBTZWxlY3RvciBmb3IgdGhlIGNvbnRlbnQgYXJlYS4gRGVmYXVsdHMgdG8gYCZfX2NvbnRhaW5lcmAuIERPIGluY2x1ZGUgdGhlIGxlYWRpbmcgYC5gXG4vLyAgJHJyLXN1cHBvcnQtaWU6ICAgICAgICAgSWYgc2V0IHRvIGBmYWxzZWAsIHRoZSBmYWxsYmFjayBjb2RlIGZvciBJRSAxMCBhbmQgMTEgd2lsbCBiZSBvbWl0dGVkLlxuLy8gICAgICAgICAgICAgICAgICAgICAgIFRoaXMgcmVzdWx0cyBpbiBjbGVhbmVyIHN0eWxlc2hlZXQgY29kZSBpZiB5b3UgZG9uJ3QgbmVlZCB0byBzdXBwb3J0IHRob3NlXG4vLyAgICAgICAgICAgICAgICAgICAgICAgYnJvd3NlcnMuXG4vL1xuLy8gUmVxdWlyZWQgaHRtbCBtYXJrdXAgKGlmIHRoaXMgbWl4aW4gaXMgYXBwbGllZCB0byBhIGNsYXNzIGNhbGxlZCBgLnNsYWJgIGFuZCBgJGNvbnRhaW5lci1zZWxlY3RvcmAgaXMgbm90IHNldCk6XG4vLyA8ZGl2IGNsYXNzPVwic2xhYlwiPlxuLy8gICAgPGRpdiBjbGFzcz1cInNsYWJfX2NvbnRhaW5lclwiPlxuLy8gICAgICBDb25zdHJhaW5lZCBDb250ZW50IEFyZWFcbi8vICAgIDwvZGl2PlxuLy8gPC9kaXY+XG5AbWl4aW4gY29udGVudC13aWR0aCgkbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoLCAkZ3V0dGVyOiBmYWxzZSwgJGNvbnRhaW5lci1zZWxlY3RvcjogJycsICRyci1zdXBwb3J0LWllOiB0cnVlKSB7XG4gIEBpZiAoICRndXR0ZXIgPT0gZmFsc2UpIHtcbiAgICAkZ3V0dGVyOiAkZ3V0dGVyLW1lZGl1bTtcbiAgfVxuICBAaWYgKCAkY29udGFpbmVyLXNlbGVjdG9yID09ICcnKSB7XG4gICAgJGNvbnRhaW5lci1zZWxlY3RvcjogJyN7Jn1fX2NvbnRhaW5lcic7XG4gIH1cbiAgQGlmICggJHJyLXN1cHBvcnQtaWUpIHtcbiAgICBkaXNwbGF5OiAtbXMtZ3JpZDtcbiAgICAtbXMtZ3JpZC1jb2x1bW5zOiBtaW5tYXgoJGd1dHRlciwgMWZyKSBtaW5tYXgoMCwgJG1heC13aWR0aCkgbWlubWF4KCRndXR0ZXIsIDFmcik7XG4gICAgLW1zLWdyaWQtcm93czogYXV0bztcblxuICAgICN7JGNvbnRhaW5lci1zZWxlY3Rvcn0ge1xuICAgICAgLW1zLWdyaWQtY29sdW1uOiAyO1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAtbXMtZ3JpZC1jb2x1bW4tc3BhbjogMTtcbiAgICAgIC1tcy1ncmlkLXJvdzogYXV0bztcbiAgICAgIGdyaWQtcm93OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAc3VwcG9ydHMgKCBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFweCkge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBbbGVmdC1tYXJnaW5dIG1pbm1heCgkZ3V0dGVyLCAxZnIpIFtjb250ZW50LWNvbHVtbl0gbWlubWF4KDAsICRtYXgtd2lkdGgpIFtyaWdodC1tYXJnaW5dIG1pbm1heCgkZ3V0dGVyLCAxZnIpIFt2aWV3cG9ydC1lbmRdO1xuXG4gICAgI3skY29udGFpbmVyLXNlbGVjdG9yfSB7XG4gICAgICBncmlkLWNvbHVtbi1zdGFydDogY29udGVudC1jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBtYXhpbXVtIGNvbnRlbnQgd2lkdGhcbi8vIElmIHlvdSBhcmUgZ29pbmcgZm9yIGEgZnVsbCBmbHVpZCBkZXNpZ24sIHNldCB0aGlzXG4vLyB2YWx1ZSB0byAxMDAlLlxuJHJyLW1heHdpZHRoOiA3Ni4yNXJlbSAhZGVmYXVsdDtcblxuLy8gRGl2aXNpb25zIG9mIHRoZSBiYXNlIGdyaWQgc2l6ZS5cbiRyci1saW5lLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8gSG93IG1hbnkgZ3JpZCBzcXVhcmVzIHdpbGwgZml0IGluIHRoZSBkZWZhdWx0IGxpbmVcbi8vIGhlaWdodC4gVGhlIGxhcmdlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgb3B0aW9uc1xuLy8geW91IGhhdmUgYnV0IHRoZSBtb3JlIGRpZmZpY3VsdCBpdCBiZWNvbWVzIHRvIGVzdGFibGlzaFxuLy8gYSB2ZXJ0aWNhbCByaHl0aG0uXG4kcnItZ3JpZC1kaXZpc2lvbnM6IDIgIWRlZmF1bHQ7XG5cbi8vIEJ5IGRlZmF1bHQsIHRoZSBsYXN0IGJyZWFrcG9pbnQgaXMgc2V0IHRvIGAkcnItbWF4d2lkdGhgXG4vLyArIGAkcnItbWF4d2lkdGgtbWFyZ2luYCB0byBwcmV2ZW50IGEgY2FzZSB3aGVyZSB0aGVcbi8vIG1heCBjb250ZW50IHdpZHRoIHNpdHMgYWdhaW5zdCBsZWZ0IGFuZCByaWdodCBtYXJnaW5zLi8vIFxuLy8gSWYgeW91IGFyZSBnb2luZyBmb3IgYSBmdWxsIGZsdWlkIGRlc2lnbiwgc2V0IHRoaXMgdmFsdWVcbi8vIHRvIDAuXG4kcnItbWF4d2lkdGgtbWFyZ2luOiA0cmVtICFkZWZhdWx0O1xuXG4vLyBCbGVuZCBtb2RlIGZvciB0aGUgZ3JpZC9jb2x1bW5zIG92ZXJsYXkuIFRoaXMgbWlnaHQgbm90XG4vLyB3b3JrIG9uIGFsbCBicm93c2Vycy4gKExvb2tpbmcgYXQgeW91LCBFZGdlLilcbiRyci1ibGVuZC1tb2RlOiBleGNsdXNpb24gIWRlZmF1bHQ7XG5cbi8vIElFIHN1cHBvcnQgZmxhZzsgc2hvdWxkIGJlIGB0cnVlYCBpZiB5b3UgbmVlZCB0byBzdXBwb3J0XG4vLyBJRSAxMSBhbmQgcGxhbiB0byB1c2UgQ1NTIGdyaWQgbGF5b3V0cy4gKFdlIGRvLilcbiRyci1zdXBwb3J0LWllOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBEZWZhdWx0IHJlc3BvbnNpdmUgc2V0dGluZ3MsIGFzc3VtaW5nIGEgbW9iaWxlLWZpcnN0XG4vLyBhcHByb2FjaC4gVGhlIGZpcnN0IGJyZWFrcG9pbnQgd2lsbCBiZSB1c2VkIGFzIHRoZSBcbi8vIGRlZmF1bHQgc2V0dGluZ3Mgb3V0c2lkZSBvZiBhIG1lZGlhIHF1ZXJ5LiBJZiB5b3UgZG9cbi8vIG5vdCByZWRlZmluZSBhIHNldHRpbmcgaW4gYSBsYXJnZXIgYnJlYWtwb2ludCBpdCBcbi8vIHdpbGwgaW5oZXJpdCBmcm9tIG9uZSBvZiB0aGUgc21hbGxlciBicmVha3BvaW50cyxcbi8vIGp1c3QgYXMgeW91IHdvdWxkIGV4cGVjdC5cblxuJHJyLWdyaWQtc2V0dGluZ3M6IChcbiAgczogKFxuICAgIG1xOiBtYXgtd2lkdGgsXG4gICAgc2l6ZTogMzVyZW0sXG4gICAgY29sdW1uczogNCxcbiAgICBndXR0ZXI6IDFyZW0gLyAkcnItZ3JpZC1kaXZpc2lvbnMsXG4gICAgb2Zmc2V0OiAxcmVtLFxuICAgIHZzcGFjZTogMixcbiAgICBjb2x1bW5fY29sb3I6IHJnYmEoMTI4LCAxMjgsIDEyOCwgLjIpLFxuICAgIGJhc2VsaW5lX2NvbG9yOiByZ2JhKDEyOCwgMTI4LCAxMjgsIC4yKVxuICApLFxuICBtOiAoXG4gICAgbXE6IG1pbi13aWR0aCxcbiAgICBzaXplOiAzNXJlbSxcbiAgICBjb2x1bW5zOiA4LFxuICAgIGd1dHRlcjogMXJlbSxcbiAgICBvZmZzZXQ6IDJyZW0sXG4gICAgdnNwYWNlOiAzXG4gICksXG4gIGw6IChcbiAgICBzaXplOiA0OHJlbSxcbiAgICBjb2x1bW5zOiAxMlxuICApLFxuICB4bDogKFxuICAgIHNpemU6ICRyci1tYXh3aWR0aCArIDRyZW0sXG4gICAgZ3V0dGVyOiAycmVtLFxuICAgIG9mZnNldDogMCxcbiAgICB2c3BhY2U6IDRcbiAgKVxuKSAhZGVmYXVsdDtcblxuJHJyLWdyaWRzOiAoXG4gIDItdXA6IChcbiAgICBtOiAoXG4gICAgICBjb2x1bW5zOiAyLFxuICAgIClcbiAgKSxcbiAgMy11cDogKFxuICAgIG06IChcbiAgICAgIGNvbHVtbnM6IDMsXG4gICAgKVxuICApLFxuICA0LXVwOiAoXG4gICAgbTogKFxuICAgICAgY29sdW1uczogMixcbiAgICApLFxuICAgIGw6IChcbiAgICAgIGNvbHVtbnM6IDQsXG4gICAgKVxuICApLFxuICA1LXVwOiAoXG4gICAgbTogKFxuICAgICAgY29sdW1uczogMyxcbiAgICApLFxuICAgIGw6IChcbiAgICAgIGNvbHVtbnM6IDUsXG4gICAgKVxuICApLFxuICA2LXVwOiAoXG4gICAgbTogKFxuICAgICAgY29sdW1uczogMyxcbiAgICApLFxuICAgIGw6IChcbiAgICAgIGNvbHVtbnM6IDYsXG4gICAgKVxuICApLFxuICBzaWRlYmFyLWxlZnQ6IChcbiAgICBtOiAoXG4gICAgICBjb2x1bW5zOiAzLFxuICAgICAgYXJlYXM6IHNpZGUgbWFpbiBtYWluLFxuICAgICAgZmxleC1hcmVhczogKFxuICAgICAgICBhcnRpY2xlOiA2Ni42JSxcbiAgICAgICAgc2lkZWJhcjogMzMuMyVcbiAgICAgIClcbiAgICApLFxuICAgIGw6IChcbiAgICAgIGNvbHVtbnM6IDQsXG4gICAgICBhcmVhczogc2lkZSBtYWluIG1haW4gbWFpbixcbiAgICAgIGZsZXgtYXJlYXM6IChcbiAgICAgICAgYXJ0aWNsZTogNzUlLFxuICAgICAgICBzaWRlYmFyOiAyNSVcbiAgICAgIClcbiAgICApXG4gICksXG4gIHNpZGViYXItcmlnaHQ6IChcbiAgICBtOiAoXG4gICAgICBjb2x1bW5zOiAzLFxuICAgICAgYXJlYXM6IG1haW4gbWFpbiBzaWRlLFxuICAgICAgZmxleC1hcmVhczogKFxuICAgICAgICBhcnRpY2xlOiA2Ni42JSxcbiAgICAgICAgc2lkZWJhcjogMzMuMyVcbiAgICAgIClcbiAgICApLFxuICAgIGw6IChcbiAgICAgIGNvbHVtbnM6IDQsXG4gICAgICBhcmVhczogbWFpbiBtYWluIG1haW4gc2lkZSxcbiAgICAgIGZsZXgtYXJlYXM6IChcbiAgICAgICAgYXJ0aWNsZTogNzUlLFxuICAgICAgICBzaWRlYmFyOiAyNSVcbiAgICAgIClcbiAgICApXG4gICksXG4gIG1ham9yLWxlZnQ6IChcbiAgICBtOiAoXG4gICAgICBjb2x1bW5zOiAyLFxuICAgICAgYXJlYXM6IG1ham9yIG1pbm9yLFxuICAgICksXG4gICAgbDogKFxuICAgICAgY29sdW1uczogMyxcbiAgICAgIGFyZWFzOiBtYWpvciBtYWpvciBtaW5vcixcbiAgICAgIGZsZXgtYXJlYXM6IChcbiAgICAgICAgbWFqb3I6IDY2LjYlLFxuICAgICAgICBtaW5vcjogMzMuMyVcbiAgICAgIClcbiAgICApXG4gICksXG4gIG1ham9yLXJpZ2h0OiAoXG4gICAgbTogKFxuICAgICAgY29sdW1uczogMixcbiAgICAgIGFyZWFzOiBtaW5vciBtYWpvcixcbiAgICApLFxuICAgIGw6IChcbiAgICAgIGNvbHVtbnM6IDMsXG4gICAgICBhcmVhczogbWlub3IgbWFqb3IgbWFqb3IsXG4gICAgICBmbGV4LWFyZWFzOiAoXG4gICAgICAgIG1ham9yOiA2Ni42JSxcbiAgICAgICAgbWlub3I6IDMzLjMlXG4gICAgICApXG4gICAgKVxuICApXG4pICFkZWZhdWx0O1xuXG4kcnItZm9udHM6IChcbiAgczogKFxuICAgIHhzOiAuNzVyZW0sXG4gICAgczogLjg3NXJlbSxcbiAgICBtOiAxcmVtLFxuICAgIGw6IDEuMTI1cmVtLFxuICAgIHhsOiAxLjI1cmVtLFxuICAgIDJ4bDogMS40NXJlbSxcbiAgICAzeGw6IDEuNjdyZW0sXG4gICAgNHhsOiAxLjkycmVtLFxuICAgIDV4bDogMi4yNHJlbVxuICApLFxuICBsOiAoXG4gICAgMnhsOiAxLjVyZW0sXG4gICAgM3hsOiAyLjI1cmVtLFxuICAgIDR4bDogM3JlbSxcbiAgICA1eGw6IDQuNXJlbVxuICApXG4pICFkZWZhdWx0O1xuXG4kcnItaGVhZGluZ3M6IChcbiAgaDE6IChcbiAgICBzaXplOiA1eGwsXG4gICAgbGluZWhlaWdodDogdGlnaHQsXG4gICAgZm9udDogc2VyaWYsXG4gICAgd2VpZ2h0OiBub3JtYWxcbiAgKSxcbiAgaDI6IChcbiAgICBzaXplOiA0eGwsXG4gICAgbGluZWhlaWdodDogdGlnaHQsXG4gICAgZm9udDogc2VyaWYsXG4gICAgd2VpZ2h0OiBub3JtYWwsXG4gICksXG4gIGgzOiAoXG4gICAgc2l6ZTogM3hsLFxuICAgIHdlaWdodDogbm9ybWFsLFxuICApLFxuICBoNDogKFxuICAgIHNpemU6IDJ4bCxcbiAgICB3ZWlnaHQ6IG5vcm1hbCxcbiAgKSxcbiAgaDU6IChcbiAgICBzaXplOiB4bCxcbiAgICB3ZWlnaHQ6IG5vcm1hbCxcbiAgICBzdHlsZTogaXRhbGljXG4gICksXG4gIGg2OiAoXG4gICAgc2l6ZTogbCxcbiAgICB3ZWlnaHQ6IGJvbGRcbiAgKVxuKSAhZGVmYXVsdDtcblxuJHJyLWxpbmVoZWlnaHRzOiAoXG4gIHRpZ2h0OiAwLFxuICBtZWRpdW06IDEsXG4gIHdpZGU6IDIsXG4gIGh1Z2U6IDMsXG4gIHJlZGljOiA0XG4pICFkZWZhdWx0O1xuIiwiQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKHhsKSB7XG4gIC5zbGFiLS1vdmVyZmxvdyB7XG4gICAgQGluY2x1ZGUgc3RhdGljLWNvbnRleHR1YWw7XG4gICAgLy8gVHVybiBvZmYgb3ZlcmZsb3cgb24gdGhlIHNsYWIgc28gaXQgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIHBhZ2UgYXJlYVxuICAgIC8vIGNhdXNpbmcgYSBob3Jpem9udGFsIHNjcm9sbFxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIFxuICAgIC5zbGFiX193cmFwcGVyIHtcbiAgICAgIC8vIFR1cm4gb24gb3ZlcmZsb3cgdmlzaWJpbGl0eSBvbiB0aGUgc2xhYiB3cmFwcGVyIHNvIHRoZSBpbWFnZSBjYW4gYmxlZWRcbiAgICAgIC8vIG91dCBvZiB0aGUgY29udGFpbmVyLlxuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuICBcbiAgICAuZ3JpZCB7XG4gICAgICAvLyBTYW1lIGZvciBvdmVyZmxvdyBvZiB0aGUgZ3JpZCBpdGVtc1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIFxuICAgICAgLy8gTW9zdCBpdGVtcyBzaG91bGQgbm90IG92ZXJmbG93LCBidXQgdGhlXG4gICAgICAvLyBpbWFnZSBvZiBhIGZpZ3VyZSBzaG91bGQuIChDYXB0aW9ucyBuZWVkXG4gICAgICAvLyB0byBzdGF5IGluIHRoZSBjb250YWluZWQgYXJlYS5cbiAgICAgID4gZGl2IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCxcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIC8vIFdpZHRoIHNob3VsZCBiZSBhcHByb3hpbWF0ZWx5IDUwJSBcbiAgICAgICAgICAgIC8vIG9mIHRoZSB2aWV3cG9ydCwgZ2l2ZSBvciB0YWtlXG4gICAgICAgICAgICB3aWR0aDogY2FsYyg1MHZ3IC0gI3skZ3JpZC1nYXAgLyAyfSk7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgXG4gICAgICAgIC8vIElmIHRoaXMgbmVlZHMgdG8gYmxlZWQgaW50byB0aGUgbGVmdCBzaWRlLFxuICAgICAgICAvLyB3ZSBoYXZlIHNvbWUgZmFuY3kgc3RlcHBpbmcgdG8gZG8gdG8gbWFrZSBzdXJlXG4gICAgICAgIC8vIHRoZSBpbWFnZSBob2xkcyB2ZXJ0aWNhbCBzcGFjZSBidXQgaWdub3JlcyB0aGVcbiAgICAgICAgLy8gbmF0dXJhbCBsZWZ0IG1hcmdpbi4gXG4gICAgICAgIC8vIFdlIHdpbGwgbW92ZSB0aGUgbGVmdCBtYXJnaW4gYSByZWxhdGl2ZSA1MHZ3IFxuICAgICAgICAvLyAoNTAlIG9mIHdpbmRvdykgKyBoYWxmIHRoZSBncmlkIGdhcC4gU2luY2UgdGhhdCdzXG4gICAgICAgIC8vIGFib3V0IHRoZSBzaXplIG9mIHRoZSBpbWFnZSAoZnJvbSBhYm92ZSkgdGhhdCBzaG91bGQgcHV0XG4gICAgICAgIC8vIHRoZSByaWdodCBtYXJnaW4gYXQgYGxlZnQ6MGAgb2YgdGhlIGdyaWQgY2VsbC4gXG4gICAgICAgIC8vIE1vdmluZyBpdCBiYWNrIGFib3V0IGhhbGYgdGhlIHdpZHRoIG9mIHRoZSBjb250YWluZWRcbiAgICAgICAgLy8gYXJlYSBzaG91bGQgZ2V0IGl0IGJhY2sgaW4gYWxpZ25tZW50LlxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwaWN0dXJlIHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoLTUwdncgLSAjeyRncmlkLWdhcCAvIDJ9ICsgKCN7JGdsb2JhbC13aWR0aH0gLyAyKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIFxuICAgICAgICAvLyBXZSBkb24ndCBoYW5kbGUgJjpsYXN0LWNoaWxkIGhlcmUgYmVjYXVzZSBibGVlZGluZyB0byB0aGVcbiAgICAgICAgLy8gcmlnaHQgc2hvdWxkIGhhcHBlbiBuYXR1cmFsbHkuIFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIuYXN2ZyB7XG4gIFxufVxuXG4ubmV3Y2l0eS1sb2dvIHN2ZyB7XG4gIC8vIE5ld2NpdHkgTG9nbyBpcyA2MiB4IDEwMSwgc28gdGhlIGhlaWdodCBpcyAxLjYyOTAzMjI1OCB0aGUgd2lkdGhcbiAgd2lkdGg6IDEwcmVtO1xuICBoZWlnaHQ6IDE2LjI5cmVtO1xufVxuXG4ubmV3Y2l0eS1sb2dvLWhvcml6b250YWwgc3ZnIHtcbiAgLy8gTmV3Y2l0eSBWZXJ0aWNhbCBsb2cgaXMgMTU5IHggNTQsIHNvIHRoZSBoZWlnaHQgaXMgMi45NDQ0NDQ0IHRoZSB3aWR0aFxuICB3aWR0aDogMTByZW07XG4gIGhlaWdodDogMi45NDQ0NDRyZW07XG59XG5cbi5uZXdjaXR5LWxvZ28tdmVydGljYWwgc3ZnIHtcbiAgLy8gTmV3Y2l0eSBWZXJ0aWNhbCBsb2cgaXMgMTE1IHggMTA4LCBzbyB0aGUgaGVpZ2h0IGlzIDEuMDY0ODE0ODE1IHRoZSB3aWR0aFxuICB3aWR0aDogMTByZW07XG4gIGhlaWdodDogMTAuNjQ4cmVtO1xufVxuXG4ubmV3Y2l0eS1sb2dvLXdvcmRtYXJrIHN2ZyB7XG4gIC8vIE5ld2NpdHkgTG9nbyBpcyAxMTUgeCAxNSwgc28gdGhlIGhlaWdodCBpcyAuMTMwNDM0NzgzIHRoZSB3aWR0aFxuICB3aWR0aDogMTByZW07XG4gIGhlaWdodDogMS4zcmVtO1xufSIsImZpZ3VyZSB7XG4gIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShtLHdpZGUpO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1iYXJsb3c7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb250YWluOyBvYmplY3QtcG9zaXRpb246IHRvcCBjZW50ZXJcIjtcbiAgICBvYmplY3QtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgfVxuXG4gIGZpZ2NhcHRpb24ge1xuICAgIG1hcmdpbi10b3A6IHJyLWdyaWRiYXNlKDEpO1xuICB9XG59XG5cbi8vIEluIHd5c2l3eWdcbi5maWd1cmUtd3JhcHBlciBmaWd1cmUsIC5maWd1cmUtd3JhcHBlciA+IGFydGljbGUubWVkaWEge1xuICBtYXJnaW4tdG9wOiByci1ncmlkYmFzZSgzKTtcbiAgbWFyZ2luLWJvdHRvbTogcnItZ3JpZGJhc2UoMyk7XG5cbiAgLy8gUmVzZXQgcmVzcG9uc2l2ZSBlbWJlZHMgaWYgdGhleSdyZSBmbG9hdGVkXG4gICYuYWxpZ24tbGVmdCwgJi5hbGlnbi1yaWdodCB7XG4gICAgLnJlc3BvbnNpdmUtZW1iZWQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBpZnJhbWUge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBmaWdjYXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiByci1ncmlkYmFzZSgxKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShzKTtcbiAgfVxuXG4gIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShtKSB7XG4gICAgJi5wYXJ0aWFsX2NvbnRlbnQsXG4gICAgJi5wYXJ0aWFsXzRfMyB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgJi5hbGlnbi1sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogcnItZ3JpZGJhc2UoMik7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBtYXJnaW4tbGVmdDogcnItZ3JpZGJhc2UoMik7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59IiwiLmxpbmstZ3JvdXAge1xuXG59XG5cbi5saW5rLWdyb3VwLS1pbnZpc2libGUtaGVhZGVyIHtcbiAgLmhlYWRsaW5lLWdyb3VwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTk5OTk5OWVtO1xuICB9XG59XG5cbi8qXG4ubGluay1ncm91cC0tY29sbGFwc2VkIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKG1lZGl1bSkge1xuICAubGluay1ncm91cC0tY29sbGFwc2VkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuKi8iLCIuYnJlYWRjcnVtYnMge1xuICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUociwgbWVkaXVtKTtcbiAgQGluY2x1ZGUgY2xlYW47XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuIiwiJXBhZ2VyLWhpZ2hsaWdodGVkIHtcbiAgYSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cbiVwYWdlci1kZWxpbWl0ZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogJyc7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTBkZWcpO1xuICAgIHRvcDogLS4zcmVtO1xuICAgIGJvdHRvbTogLS4zcmVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IobmV1dHJhbC1ncmV5KTtcbiAgfVxufVxuXG4ucGFnZXIge1xuICBtYXJnaW4tdG9wOiByci1ncmlkYmFzZSg0KTtcbn1cblxuLnBhZ2VyX19pdGVtIHtcbiAgYSB7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWJhcmxvdztcbiAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUobCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHBhZGRpbmc6IC41cmVtIC43NXJlbTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1vZGlmaWVyKCdmaXJzdCcpIHtcbiAgICBAZXh0ZW5kICVwYWdlci1oaWdobGlnaHRlZDtcbiAgICBAZXh0ZW5kICVwYWdlci1kZWxpbWl0ZWQ7XG4gIH1cbiAgQGluY2x1ZGUgbW9kaWZpZXIoJ3ByZXZpb3VzJykge1xuICAgICBAZXh0ZW5kICVwYWdlci1oaWdobGlnaHRlZDtcbiAgICAgQGV4dGVuZCAlcGFnZXItZGVsaW1pdGVkO1xuICB9XG4gIEBpbmNsdWRlIG1vZGlmaWVyKCduZXh0Jykge1xuICAgIEBleHRlbmQgJXBhZ2VyLWhpZ2hsaWdodGVkO1xuICAgIEBleHRlbmQgJXBhZ2VyLWRlbGltaXRlZDtcbiAgfVxuICBAaW5jbHVkZSBtb2RpZmllcignbGFzdCcpIHtcbiAgICBAZXh0ZW5kICVwYWdlci1oaWdobGlnaHRlZDtcbiAgfVxuICAmLmxhc3QtcGFnZSB7XG4gICAgQGV4dGVuZCAlcGFnZXItZGVsaW1pdGVkO1xuICB9XG4gICYuaXMtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVwYWdlci1oaWdobGlnaHRlZDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDonJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogLS4zcmVtO1xuICAgICAgYm90dG9tOiAtLjNyZW07XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGxpZ2h0LWdyZXkpO1xuICAgICAgdHJhbnNmb3JtOiBza2V3WCgtMTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjJzIGVhc2UtaW4tb3V0LCBtYXJnaW4tbGVmdCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICB9XG59XG5cbltkYXRhLWRydXBhbC12aWV3cy1pbmZpbml0ZS1zY3JvbGwtcGFnZXJdIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufSIsIi5zZWN0aW9uLW5hdiB7XG4gICRvcGVuLW1heC1oZWlnaHQ6IDcwMHB4O1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLm1lbnUtaXRlbV9faW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5vcGVuLWNoaWxkcmVuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC41cmVtO1xuICAgIHRvcDogMXJlbTtcbiAgICAuY2xvc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi5vcGVuIHtcbiAgICAgIC5jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgICAub3BlbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtbGV2ZWwtMCB7XG4gICAgPiB1bCB7XG4gICAgICA+IGxpID4gLm1lbnUtaXRlbV9faW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihwcmltYXJ5KTtcbiAgICAgICAgcGFkZGluZzogcmVtKDE2cHgpIHJlbSgxN3B4KSByZW0oMTZweCkgcmVtKDIzcHgpO1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5tZW51LWxldmVsLTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKG9mZi13aGl0ZSk7XG4gICAgPiB1bCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtKDE1cHgpO1xuICAgICAgPiBsaSA+IC5tZW51LWl0ZW1fX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDExcHgpIHJlbSgxN3B4KSByZW0oN3B4KSByZW0oMjlweCk7XG4gICAgICB9XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKGJsYWNrKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS1pdGVtLmhhcy1jaGlsZHJlbiB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgPiAubWVudSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcyBlYXNlLW91dDtcbiAgICAgICAgJi5vcGVuZWQge1xuICAgICAgICAgIG1heC1oZWlnaHQ6ICRvcGVuLW1heC1oZWlnaHQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2UtaW47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlIHtcbiAgICAgID4gLm1lbnUtaXRlbV9faW5uZXIgPiBhIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWVudS1sZXZlbC0yIHtcbiAgICAubWVudS1pdGVtX19pbm5lciB7XG4gICAgICBwYWRkaW5nOiByZW0oNnB4KSByZW0oMTdweCkgcmVtKDRweCkgcmVtKDM0cHgpO1xuICAgIH1cbiAgICBcbiAgfVxuICAubWVudS1sZXZlbC0zIHtcbiAgICB1bCB7XG4gICAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAn4oCTICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICB9XG59XG5cbiIsIi5za2lwLW5hdiB7XG4gIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZSh4bCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihibGFjayk7XG5cbiAgJjpsaW5rLFxuICAmOnZpc2l0ZWQge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IHRvcCAuNXM7XG4gIH1cbn1cbiIsIi5zb2NpYWwtbWVkaWEtbGlua3Mge1xuICBAaW5jbHVkZSBlbGVtZW50KCdtZW51Jykge1xuICAgIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJyLWdyaWQtdW5pdHMoMik7XG4gICAgICBjb2xvcjogY29sb3IoYmxhY2spO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDRweDtcbiAgICAgIHNwYW4ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC5pY29uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgd2lkdGg6IDQ0cHg7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1vZGlmaWVyKCdjb2xvcml6ZScpIHtcbiAgICBhIHtcbiAgICAgIC5pY29uX19nbHlwaCB7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb24tdGltZSAkdHJhbnNpdGlvbi1lYXNpbmc7XG4gICAgICAgICZbY2xhc3MqPWZhY2Vib29rXSB7XG4gICAgICAgICAgY29sb3I6ICMxODc3ZjI7XG4gICAgICAgIH1cbiAgICAgICAgJltjbGFzcyo9dHdpdHRlcl0ge1xuICAgICAgICAgIGNvbG9yOiAjMWRhMWYyO1xuICAgICAgICB9XG4gICAgICAgICZbY2xhc3MqPWxpbmtlZGluXSB7XG4gICAgICAgICAgY29sb3I6ICMwMDdiYjU7XG4gICAgICAgIH1cbiAgICAgICAgJltjbGFzcyo9aW5zdGFncmFtXSB7XG4gICAgICAgICAgY29sb3I6ICNjMzJhYTM7XG4gICAgICAgIH1cbiAgICAgICAgJltjbGFzcyo9eW91dHViZV0ge1xuICAgICAgICAgIGNvbG9yOiAjZmYwMDAwO1xuICAgICAgICB9XG4gICAgICAgICZbY2xhc3MqPXBpbnRlcmVzdF0ge1xuICAgICAgICAgIGNvbG9yOiAjY2IyMDI3O1xuICAgICAgICB9XG4gICAgICAgICZbY2xhc3MqPXNuYXBjaGF0XSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZjMDA7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMCAxcHggYmxhY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAuaWNvbl9fZ2x5cGgge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIiRzaXplbGlzdDogNHhsIDN4bCAyeGwgMnhsIHhsIHhsO1xuXG4uaGVhZGxpbmUtZ3JvdXAge1xuICAvLyBTaW5jZSB0aGUgbWVhbmluZyBvZiAmIGNoYW5nZXMgZGVwZW5kaW5nIG9uIG5lc3RpbmcuXG4gICRiZW0tcm9vdDogI3smfTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IHJyLWdyaWRiYXNlKDIpO1xuICBsaW5lLWhlaWdodDogYXV0bztcblxuICAjeyRiZW0tcm9vdH1fX3N1cGVyLFxuICAjeyRiZW0tcm9vdH1fX3N1YiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBEZWZhdWx0IG5vbi1zZW1hbnRpYyBoZWFkbGluZSBncm91cFxuICBAYXQtcm9vdCAjeyRiZW0tcm9vdH0ge1xuICAgICN7JGJlbS1yb290fV9fc3VwZXIsXG4gICAgI3skYmVtLXJvb3R9X19zdWIge1xuICAgICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKGwpO1xuICAgIH1cblxuICAgICN7JGJlbS1yb290fV9faGVhZCB7XG4gICAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUoMnhsKTtcbiAgICB9XG4gIH1cblxuICAvLyBTZW1hbnRpYyBoZWFkbGluZSBncm91cHNcbiAgLy8gZWcgaDEuaGVhZGxpbmUtZ3JvdXAsIGgyLmhlYWRsaW5lLWdyb3VwXG4gIEBmb3IgJHBvcyBmcm9tIDEgdGhyb3VnaCA2IHtcbiAgICAkc2l6ZTogbnRoKCRzaXplbGlzdCwgJHBvcyk7XG4gICAgJHN1YnNpemU6IG1hcC1vZmZzZXQtZnJvbSgkZm9udC1zaXplcywgJHNpemUsIC0yKTtcbiAgICBAYXQtcm9vdCBoI3skcG9zfSN7Jn0ge1xuICAgICAgI3skYmVtLXJvb3R9X19zdXBlcixcbiAgICAgICN7JGJlbS1yb290fV9fc3ViIHtcbiAgICAgICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKCRzdWJzaXplKTtcbiAgICAgIH1cblxuICAgICAgI3skYmVtLXJvb3R9X19oZWFkIHtcbiAgICAgICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmhlYWRsaW5lLWdyb3VwLS1kaXNwbGF5IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5oZWFkbGluZS1ncm91cF9fc3VwZXIge1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZSg0bCk7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7XG4gIH1cblxuICAuaGVhZGxpbmUtZ3JvdXBfX2hlYWQge1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZSg2bCwgbWVkaXVtKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKHhsKSB7XG4gICAgICBmb250LXNpemU6IHJlbSg3MHB4KTtcbiAgICB9XG4gIH1cbn1cblxuLmhlYWRsaW5lLWdyb3VwLS1ib3JkZXJlZCB7XG4gIHBhZGRpbmc6IHJyLWdyaWRiYXNlKDIpO1xuICBib3JkZXI6IDJweCBjb2xvcihvZmYtd2hpdGUpIHNvbGlkO1xuXG4gIC5oZWFkbGluZS1ncm91cF9fc3VwZXIge1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShtLCBtZWRpdW0pO1xuICAgIGNvbG9yOiBjb2xvcihzZWNvbmRhcnkpO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1iYXJsb3ctY29uZGVuc2VkO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLmhlYWRsaW5lLWdyb3VwX19oZWFkIHtcbiAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUoMmwsIG1lZGl1bSk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWJhcmxvdy1jb25kZW5zZWQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIH1cbn1cbiIsIi5kZXNjcmliZWQtbGlua3Mge1xuICBtYXJnaW4tYm90dG9tOiByci1ncmlkYmFzZSgzKTtcblxuICAuZWRpdG9yaWFsIHAge1xuICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZShyLCBtZWRpdW0pO1xuICB9XG5cbiAgZGQge1xuICAgIHBhZGRpbmctbGVmdDogcnItZ3JpZGJhc2UoMik7IC8vIG1hdGNoZXMgcGFkZGluZyBvbiBmYW5jeSBsaW5rc1xuICB9XG59XG4iLCIuY29udGVudC1tZXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogcnItZ3JpZGJhc2UoMSk7XG5cbiAgLmJ5bGluZSB7XG4gICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKGwsIG1lZGl1bSk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuXG4gIC5kYXRlIHtcbiAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUociwgbWVkaXVtKTtcbiAgfVxuXG4gIC53aG8td2hlbiB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIC50YXhvbm9teS1saXN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICBzcGFuICsgc3BhbiB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcgfCAnO1xuICAgIH1cbiAgfVxufVxuIiwiLnNlY3Rpb24taW50cm8ge1xuICA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufSIsIi50YWJsZS13cmFwcGVyIHtcblxuICAud3lzaXd5Zy10YWJsZSB7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICM1ZjVmNWY7XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiByci1ncmlkYmFzZSgyKTtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGgge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhlYWQge1xuICAgICAgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICM1ZjVmNWY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nOiB7XG4gICAgICAgIHRvcDogcnItZ3JpZGJhc2UoMik7XG4gICAgICAgIGJvdHRvbTogcnItZ3JpZGJhc2UoMik7XG4gICAgICB9XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbiAgICB9XG5cbiAgfVxuXG4gICYudGFibGUtd3JhcHBlci0tc3RyaXBlZCB7XG4gICAgdGJvZHkge1xuICAgICAgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICB0aCwgdGQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKG9mZi13aGl0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIubmV3cy10ZWFzZXJzX19oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gID4gKiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgaDIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKDZsKTtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgaGVhZGluZy11bmRlcmxpbmU7XG4gIH1cbn1cblxuLm5ld3MtdGVhc2VycyB7XG4gIC50ZWFzZXJfX3dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgPiAqIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGZsZXg6IDE7XG4gICAgfVxuICB9XG59IiwiLm5ld3MtdGVhc2Vycy1zdGFja2VkIHtcbiAgQGluY2x1ZGUgZWxlbWVudCgnaGVhZGVyJykge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZy1ib3R0b206IHJyLWdyaWRiYXNlKDIpO1xuICAgIGEge1xuICAgICAgY29sb3I6IGNvbG9yKGJsYWNrKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgICAgICBAaW5jbHVkZSByci1mb250LWNvbXB1dGUobCk7XG4gICAgICB9XG4gICAgfVxuICAgIGgyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gIH1cbn0iLCIudG9nZ2xlLWJ1dHRvbl9fZGVtbyB7XG4gIG1hcmdpbi10b3A6IHJyLWdyaWRiYXNlKDQpO1xuICBtYXJnaW4tYm90dG9tOiByci1ncmlkYmFzZSg0KTtcblxuICAmW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5saXN0LWdyb3VwaW5nIHtcbiAgJHBhZDogcnItZ3JpZGJhc2UoMik7XG4gIHBhZGRpbmctYm90dG9tOiByci1ncmlkYmFzZSgzKTtcblxuICBAaW5jbHVkZSBlbGVtZW50KCdoZWFkaW5nJykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHByaW1hcnkpO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgQGluY2x1ZGUgcnItZm9udC1jb21wdXRlKGwpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogcnItZ3JpZGJhc2UoMSkgJHBhZDtcbiAgICBsaW5lLWhlaWdodDogcmVtKDMwcHgpO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zbGFiIHtcbiAgICBwYWRkaW5nOiAxcmVtO1xuICB9XG5cbiAgQGluY2x1ZGUgZWxlbWVudCgnY29udGVudCcpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG5cbiAgfVxuICBAaW5jbHVkZSBlbGVtZW50KCd0ZXh0Jykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICA+ICoge1xuICAgICAgZmxleC1iYXNpczogMzMlO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtaW4td2lkdGg6IHJlbSgxNTBweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgfVxuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBlbGVtZW50KCdpbWFnZScpIHtcbiAgICBmbGV4LWJhc2lzOiAxMDBweDtcbiAgICBmbGV4LWdyb3c6IDA7XG4gIH1cblxuICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobSkge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQoJ3RleHQnKSB7XG4gICAgICA+ICoge1xuICAgICAgICBtaW4td2lkdGg6IHJlbSgyMDBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50KCdjb250ZW50Jykge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuICAgIEBpbmNsdWRlIGVsZW1lbnQoJ3RleHQnKSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgID4gKiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gYWRkIHNvbWUgc3BhY2luZyBiZXR3ZWVuIHZpZXdzIGdyb3VwaW5nc1xuLnZpZXdzX19ncm91cGluZyB7XG4gICsgLnZpZXdzX19ncm91cGluZyB7XG4gICAgbWFyZ2luLXRvcDogcnItZ3JpZGJhc2UoNik7XG4gIH1cbn1cblxuLnZpZXctY29udGVudCB7XG4gIGRpdjpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cGluZyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn0iLCIucGFnZS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoJ3BhZ2UtaGVhZGVyLWJhY2tncm91bmQuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbW9kaWZpZXIoJ3BsYWluJykge1xuICAgIGgxIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBAaW5jbHVkZSBoZWFkaW5nLXVuZGVybGluZTtcbiAgICB9XG4gICAgLnBhZ2UtaGVhZGVyX190ZXh0X19pbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogcnItZ3JpZGJhc2UoNCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcnItZ3JpZGJhc2UoNik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbW9kaWZpZXIoJ2hhcy1tZWRpYScpIHtcbiAgICAucGFnZS1oZWFkZXJfX21lZGlhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIC5wYWdlLWhlYWRlcl9fdGV4dCB7XG4gICAgICBhbGlnbi1pdGVtczogaW5oZXJpdDtcbiAgICB9XG4gICAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKGwpIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICA+IGRpdiB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICB9XG4gICAgICAucGFnZS1oZWFkZXJfX3RleHRfX2lubmVyIHtcbiAgICAgICAgcGFkZGluZzogcmVtKDEyMHB4KSByZW0oNDBweCkgcmVtKDEyMHB4KSByZW0oMTIwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGVsZW1lbnQoJ21lZGlhJykge1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAwIDFyZW07XG4gICAgYXJ0aWNsZSwgZGl2IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gICAgcGljdHVyZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgIGZpZ2NhcHRpb24ge1xuICAgICAgbWFyZ2luOiByci1ncmlkYmFzZSgxKSAxcmVtO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGVsZW1lbnQoJ3RleHQnKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgaDEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGVsZW1lbnQoJ3RleHRfX2lubmVyJykge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIG1vZGlmaWVyKCdob21lJykge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgLnBhZ2UtaGVhZGVyX19tZWRpYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAucGFnZS1oZWFkZXJfX3RleHQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKCdwYWdlLWhlYWRlci1iYWNrZ3JvdW5kLmpwZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgfVxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZSg2bCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAuaGVhZGluZ19fdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGFjY2VudCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtb2RpZmllcignZnVsbCcpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAucGFnZS1oZWFkZXJfX21lZGlhIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLnBhZ2UtaGVhZGVyX190ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICAgIGgxIHtcbiAgICAgIEBpbmNsdWRlIHJyLWZvbnQtY29tcHV0ZSg2bCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgLmhlYWRpbmdfX3RleHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihhY2NlbnQpO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYuZmxpcHBlZCB7XG4gICAgICAucGFnZS1oZWFkZXJfX3RleHQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgaDEge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIHJyLWJyZWFrLWRpcmVjdGl2ZShtKSB7XG4gICAgICAucGFnZS1oZWFkZXJfX3RleHQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUoeGwpIHtcbiAgICAgIC5wYWdlLWhlYWRlcl9fdGV4dF9faW5uZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoKDEwMHZ3IC0gMTIyMHB4KSAvIDIpO1xuICAgICAgfVxuICAgICAgJi5mbGlwcGVkIHtcbiAgICAgICAgLnBhZ2UtaGVhZGVyX190ZXh0X19pbm5lciB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoKDEwMHZ3IC0gMTIyMHB4KSAvIDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbW9kaWZpZXIoJ2xhbmRpbmcnKSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAucGFnZS1oZWFkZXJfX21lZGlhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBAaW5jbHVkZSB0ZWV0aC1kZWNvcmF0aW9uKHJpZ2h0KTtcbiAgICB9XG4gICAgaDEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIEBpbmNsdWRlIGhlYWRpbmctdW5kZXJsaW5lO1xuICAgIH1cbiAgICAucGFnZS1oZWFkZXJfX3RleHQge1xuICAgICAgYmFja2dyb3VuZDogY29sb3IobmVhci13aGl0ZSk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIC5wYWdlLWhlYWRlcl9fdGV4dF9fZGVjb3JhdGlvbiB7XG4gICAgICB3aWR0aDogcmVtKDI3M3B4KTtcbiAgICAgIGhlaWdodDogcmVtKDQwMHB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybCgnY3Jvc3NpbmctbWFya2VyLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB0b3A6IHJlbSg4MHB4KTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cbiAgICAucGFnZS1oZWFkZXJfX3RleHRfX2lubmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgcnItYnJlYWstZGlyZWN0aXZlKHhsKSB7XG4gICAgICAucGFnZS1oZWFkZXJfX3RleHRfX2lubmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbW9kaWZpZXIoJ3N0YW5kYXJkJykge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBoMSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQGluY2x1ZGUgaGVhZGluZy11bmRlcmxpbmU7XG4gICAgfVxuICAgIC5wYWdlLWhlYWRlcl9fdGV4dF9faW5uZXIge1xuICAgICAgcGFkZGluZy10b3A6IHJyLWdyaWRiYXNlKDQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJyLWdyaWRiYXNlKDYpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtb2RpZmllcignYXJ0aWNsZScpIHtcbiAgICAucGFnZS1oZWFkZXJfX3RleHQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAubmV3cy1tZXRhX19kYXRlLFxuICAgIC5uZXdzLW1ldGFfX2F1dGhvciB7XG4gICAgICA+ICoge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihuZWFyLXdoaXRlKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm5ld3MtbWV0YV9fZGF0ZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cbn1cblxuLmdyaWRfX21haW4ge1xuICAucGFnZS1oZWFkZXIge1xuICAgIC5wYWdlLWhlYWRlcl9fdGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICYucGFnZS1oZWFkZXItLWhhcy1tZWRpYSB7XG4gICAgICBAaW5jbHVkZSByci1icmVhay1kaXJlY3RpdmUobCkge1xuICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0= */
